Développement de projet Symfony
Symfony, c’est quoi ?
Symfony est un framework qui a été développé par une société française, entièrement open source, ce qui signifie que tous les développeurs qui l'utilisent peuvent l'enrichir pour en améliorer le code. Symfony dispose d’une communauté de plus de 2000 contributeurs. Il est testé et mis à jour régulièrement, ce qui en fait un outil stable, sécurisé et robuste.
Ce framework est réalisé avec un ensemble de composants et de briques fonctionnelles PHP (qu’on appelle aussi des librairies) qui sont autonomes et que l’on peut intégrer individuellement dans un site web, une API ou des micro-services.
Lors de la création d’une plateforme, on va aller piocher et faire des associations entre plusieurs briques fonctionnelles génériques autonomes issues de ce framework, qui vont définir le squelette et l’architecture du produit, et permettront de proposer des fonctionnalités clé en main pour le développement de projets.
Ces plugins réutilisables sont un atout indéniable puisqu’ils permettent aux développeurs de gagner en productivité, et de créer des plateformes structurées tout en restreignant les risques de bugs.
Dans quels cas on l’utilise ?
La modularité et la flexibilité de Symfony permettent de créer des applications web de toutes tailles et complexité.
Il peut être utilisé de manière complètement autonome pour des projets légers, ou bien relié à d’autres technologies telles que le CMS Drupal, et le framework Sylius, pour des projets plus complexes, plus lourds et fonctionnellement plus riches.
Symfony est la base qui sert à développer des fonctionnalités spécifiques et donc à réaliser des projets entièrement personnalisés.
Quelques points que l’équipe apprécie particulièrement avec le framework Symfony :
- Il dispose d’un nombre important de composants qui permettent à l’équipe de gagner en temps et en productivité
- Il permet d’organiser facilement le projet de manière structurée
- C’est un outil open source qui dispose d’une communauté active
- Symfony accorde beaucoup d’importance aux tests et dispose d’une documentation complète et détaillée, ce qui le rend robuste et fiable
- Il permet de créer des plateformes agiles grâce à sa modularité