

Propos liminaire
Cet article traite de la cassification d’une application Grails. Ce néologisme pas très catholique, plus souvent employé dans la langue Shakespearienne, est synonyme d’intégration d’une application avec le système d’authentification centralisée Open Source le plus stylé au monde, j’ai nommé : CAS.
Lire la suite…
L’habit fait le moine
Bienvenue dans le troisième épisode de la série “symfony, sex and fun”. Si vous arrivez en cours de route, vous pouvez consulter les articles précédents. Pour l’instant nous disposons d’un module bookmark fonctionnel (ajout, suppression etc.) mais qui n’est pas très joli. Voyons comment symfony permet de gérer les vues.
Note : à partir de maintenant, nous allons faire pas mal de modifications dans les fichiers. Je vous suggère de vous munir d’un bon éditeur PHP si vous souhaitez refaire la démarche chez vous. Pourquoi pas Netbeans et son très bon support de symfony, par exemple ?
L’affichage des vues dans symfony suit le design pattern decorator : chaque application dispose d’un layout global, dans lequel on va injecter le rendu du template de l’action appelée (il va venir le décorer). L’approche généralement utilisée dans d’autres projets suit le chemin inverse : on concatène un en-tête, puis le contenu, et enfin un pied de page, mais ni le header ni le footer ne représentent un document HTML valide.
Lire la suite…
Cet article est la suite de Android pour l’entreprise – 4 – Injection de dépendances. Il appartient à la série Android pour l’entreprise, dont le fil conducteur est la réalisation d’une application Android d’annuaire d’entreprise : YMCA.
Dans cet article, nous allons étudier comment consommer facilement des services REST JSON au sein d’une application Android, à l’aide du framework Gson.
Lire la suite…
Introduction
Dans cet article, je vous propose de mettre en place un environnement de développement complet n’utilisant que des solutions Open Source (entièrement gratuit, donc totalement pas cher
) pour faire du Flex. J’espère qu’il permettra aux personnes souhaitant démarrer un nouveau projet d’avoir une idée des différents outils existants, ainsi que de leur intégration dans un système d’informations déjà existant (au niveau du backend, notamment).
Les exemples qui vont être présentés dans la suite sont volontairement simplistes, le but n’est pas de faire la prochaine killer app, mais bien de voir comment mettre en place simplement et rapidement une “development stack” utilisant un frontend Flex et un backend Java ou PHP.
La plupart des technologies utilisées ici sont disponibles aussi bien sous Windows que Linux ou MacOS. Lire la suite…
Résumé de l’épisode 1
Dans l’article précédent, nous avons rapidement vu que des solutions intéressantes apparaissent au sein du monde PHP. Parmi l’un des nombreux frameworks émergeants, nous avons choisi d’étudier symfony à travers la création d’une application web de gestion de bookmarks, Plum. Nous avons pour l’instant créé une application par défaut. Il reste maintenant à lui faire faire son “vrai” travail…
Nous manipulons pour l’instant peu de types de données : les bookmarks et les tags. Voici un diagramme UML les représentant :

Diagramme de classes de notre modèle
(Ce magnifique diagramme a été réalisé en ligne sur le site de yuml.me. Publicité gratuite
).
Pour facilement manipuler les données en base, symfony gère de base deux Object-Relational Mappers (ORM) : Doctrine et Propel. Cependant, comme Doctrine est devenu l’ORM par défaut depuis la version 1.3 du framework, c’est lui que nous utiliserons. Doctrine propose une solution élégante d’accès aux données via le langage DQL, inspiré du HQL d’Hibernate, ainsi qu’une API d’accès aux données. Propel se base de son côté sur une API semblable aux Criteria. Que l’on utilise Doctrine ou Propel, symfony fonctionne de manière semblable. Dans la suite de cet article, je vais détailler pas à pas les étapes suivantes :
- configuration de l’accès à la BDD (hôte, port etc.),
- définition du modèle de données dans un fichier au format YAML : config/doctrine/schema.yml,
- appel de la commande responsable de la génération des classes du modèle, du code SQL, de la création de la BDD et chargement des données de test en BDD,
- éventuelle génération de modules dans une application pour faire du CRUD basique,
- adaptation du code et utilisation de l’API Doctrine… Lire la suite…
Categories: symfony Tags: auto-génération, doctrine, domain model, entreprise, environnements, mapping, mvc, php, scaffold, series-symfony-plum, symfony, test, tutoriel, urlMapping