Écrit en PHP, orienté objet, implémentant le design pattern Moèle-Vue-Controlleur, doté de nombreuses fonctionnalités et soutenu par Yahoo! : Symfony, le framework web développé par Sensio Labs, à tout pour plaire.
L’une des forces de ce framework est la disponibilité de nombreux plugins qui permettent d’étendre ses fonctionnalités. On y trouve du bon et du moins bon, de l’utile comme du futile. Pour vous aider à bien démarré vos projets Symfony et vous faire gagner du temps lors de vos développement, j’ai sélectionné pour vous quelques plugins indispensables, que vous devriez installé dès les prémices du développement.
sfGuard
C’est le plus connu de tous les plugins Symfony. Il permet une gestion fine des utilisateurs ainsi leur authentification. Son utilisation est quasi-indispensable à tout déploiement de Symfony. De plus, c’est une dépendance d’autres plugins populaires tel que sfSimpleCMSPlugin ou sfSimpleForumPlugin.
sfThumbnailPlugin
Ce plugin permet tout simplement de générer des miniatures d’images uploadées. Indispensable !
A voir aussi, ce bout de code qui permet d’utiliser sfThumbnailPlugin avec le générateur d’admin.
sfFeed2Plugin
Avec sfFeed2Plugin générés des flux RSS et Atom à partir de vos modèle. Rapide à mettre en œuvre, il offre un service utile à vos visiteurs et qui ravie les robots des moteurs de recherche qui indexent votre site.
sfPropelActAsSluggableBehaviorPlugin
Ce plugin est destiné à l’ORM Propel qui est fourni par défaut avec Symfony. Il permet la génération automatique de slugs, c’est à dire d’identifiants descriptifs. Ces slugs sont très utiles au référencement car ajoutent à vos URLs des mots clefs pertinents. Autre avantage : ils masquent les IDs numériques de vos éléments et rend plus difficile à un pirate de découvrir l’architecture interne de votre application.
sfYzAjaxValidationPlugin
sfYzAjaxValidationPlugin ajoute une validation des formulaires côté client via AJAX. Il utilise les fichiers YAML définis côté serveur. Pas de code à écrire pour vous mais un gain de temps appréciable pour le visiteur (aucun rechargement de la page pour valider le formulaire) et une charge serveur réduite.
sfPropelSqlDiffPlugin
Avec Ruby On Rails et Django lorsque vous modifiez votre modèle, les changements sont répercutés sur la base de données. Ce n’est pas le cas par défaut avec Symfony, il faut effectuer les modifications à la main sur la base de données ou perde toutes nos données de test et ça devient vite très agaçant. Heureusement sfPropelSqlDiffPlugin est la ! Ce plugin ajoute quelques options à l’utilitaire en ligne de commande de Symfony et permet de répercuter uniquement les changements effectués dans le modèle sur la base de données.
Des choses à savoir sur Symphonie que je ne connaissais pas. Très utiles, je ne vais pas manquer de m’y intéresser.
"Django lorsque vous modifiez votre modèle, les changements sont répercutés sur la base de données. " ah bon ? je ne pense pas, dans mon cas j'utilise South qui à la manière de "SqlDiff…" permet de mettre à jour la base lorsque le modèle est modifié. Dans tous les cas la migration/ modification d'un modèle est pénible à gérer.