Qu'est ce que Synfony ?
Symfony est un puissant framework PHP utilisé pour développer des applications web ou des sites web complexes, et haut de gamme.
Relativement simple d’accès, Symfony est un ensemble de composants (ou « bibliothèques ») qui facilitent le développement web en réduisant de façon considérable le temps et l’effort requis pour créer des composants génériques.
Le framework PHP de Symfony se caractérise par une grande facilité d’utilisation grâce à sa méthode de programmation, sa conception propre et la lisibilité de son code.
Symfony offre également des aides Ajax (Javascript asynchrone et XML), des plugins ainsi qu’une interface de générateur d’admin, ce qui rend la programmation d’applications complètes vraiment accessible.
Grâce à Symfony, les développeurs peuvent se concentrer sur la logique applicative sans perdre du temps à écrire des fichiers de configuration XML infinis.
Pourquoi choisir Symfony
Flexible
Symfony est complètement configurable. Il est d’ailleurs souvent considéré comme le meilleur framework pour la création d’applications web hautement sécurisées.
Avec son gestionnaire d’évènements et l’injecteur de dépendances, Symfony suit l’architecture avancée orientée Service qui facilite la construction de projets évolutifs.
Le framework offre également tous les outils nécessaires pour améliorer la productivité et accélérer le développement web, tels que le support natif pour les environnements de développement, la barre d’outils de débogage web, les URL conviviales pour les moteurs de recherche, etc.
Modulable
De la plus petite brique à la version noyau, le framework Symfony se présente sous la forme d’un bundle complet. Chaque bundle (brique) fournit des fonctionnalités à l’infrastructure.
Vous avez l’opportunité d’utiliser ces bundles indépendament dans différents projets selon vos besoins.
Vous pouvez même tout personnaliser à l’intérieur du framework sans avoir à reconfigurer l’ensemble de la structure.
En effet, il est très simple de modifier le comportement des bundles. Afin d’ajouter une nouvelle fonctionnalité, vous pouvez créer une offre groupée qui peut également être utilisée à des fins spécifiques dans d’autres projets.
Structure de projet

Architecture MVC (Modèle Vue Contrôleur)
Elle permet de découper le code représentant la logique métier de l’application et le code de présentation des vues. Ainsi, un intégrateur web voir même un webdesigner n’aura aucun mal à intervenir sur la partie présentation (vues) du projet, sans avoir à intervenir sur des fichiers PHP complexes.
Sécurisé

Symfony embarque systématiquement ces mécanismes de sécurité, sans avoir à les implémenter à chaque fois.
Communauté
Symfony est un framework reconnu dans le monde et présent dans le TOP 3 mondial des frameworks PHP open source. Une des grandes forces du framework est sans aucun doute sa forte communauté internationale.
Une forte communauté autour d’un framework va apporter :
- Une fiabilité du code des composants du socle: La communauté fait un réel travail de qualité et d’amélioration du code notamment à travers les pull request du projet Github..
- La création et mise à disposition de Bundles (plugins) open source permettant de gagner du temps dans le développement. On retrouve plus de 3000 bundles open source actifs sur Symfony (en 2016).
- Une documentation complète et à jour
- Des personnes qui peuvent vous dépanner en cas de problème sur votre projet Symfony via des plateformes comme Stackoverflow, Slack, forums de développeurs …
- De nombreux articles présentant des astuces et retours d’expérience intéressants pour faire les bons choix d’architecture ou techniques.