Littéralement “cadre de travail” en anglais, un framework est une sorte de boîte à outils destinée à simplifier le travail du développeur informatique.
Généralement spécifique à un langage de programmation, un framework propose l’accès à une architecture préétablie et des composants génériques, permettant au développeur de ne pas partir de zéro à chaque nouveau projet.
Le framework fait donc gagner du temps tout en offrant la certitude de coder en conformité avec les conventions du langage utilisé. Ce cadre standardisé favorise également la maintenance et l’évolutivité des projets développés, qu’il s’agisse d’applications ou de sites web.
Il est intéressant de noter aussi qu’un framework s’enrichit constamment de l’expérience des développements antérieurs.
L’environnement Symfony est utilisé pour gérer le développement PHP d’applications web et de sites Internet dynamiques complexes.
Le PHP est de loin le langage de programmation le plus utilisé pour le développement web et les scripts de commande en ligne. Par exemple, le CMS WordPress est un outil écrit en PHP. Le PHP est connu cependant pour avoir une syntaxe assez “permissive”, et c’est là que le framework Symfony vient jouer un rôle d’infrastructure déterminant, comme on va le voir dans la suite de cet article.
Développé en 2005 par Fabien Potencier, le fondateur de l’agence interactive SensioLabs, Symfony est un framework français libre. Sa performance est plébiscitée par les développeurs PHP orientés programmation objet. C’est l’un des frameworks les plus utilisés en France. Il est aussi connu et reconnu internationalement. Son concurrent Laravel, framework très utilisé à l’étranger, est lui-même basé sur des composants Symfony.
Symfony est basé sur le modèle MVC (Model View Controller), qui permet de découper le code par bloc de fonctionnalité :
Ce modèle facilite l’intervention des différents métiers du web sur un projet. Un intégrateur web ou un webdesigner pourront par exemple intervenir sur la partie visuelle sans avoir à s’immiscer dans des fichiers complexes de code PHP.
Gagner en rapidité de création, c’est le premier atout du framework Symfony. Les modules préexistants, appelés bundles, permettent d’ajouter des fonctionnalités sans avoir à tout recréer, ce qui réduit considérablement le temps de développement des projets web complexes.
Comme tout langage, Symfony doit bien sûr s’apprendre ! Contrairement aux apparences, le framework ne cible pas nécessairement en premier lieu les codeurs débutants. Sa prise en main demande de l’expérience et quelques efforts, mais une fois que l’on sait utiliser Symfony, développer en PHP devient infiniment plus facile et moins répétitif. Le framework devient même vite indispensable à tous ceux qui l’ont apprivoisé !
L’utilisation de Symfony rend le travail d’équipe et la maintenance extrêmement confortables, parce que tout le monde utilise la même organisation claire et standardisée du code. Quand un intervenant récupère un code Symfony, il va pouvoir le lire facilement, parce que ce code sera très rigoureusement structuré.
Symfony offre un outil de débug très performant : le Profiler. Il permet de repérer rapidement les erreurs et les temps de chargement trop longs, en fournissant des informations détaillées sur l’exécution de chaque requête.
L’outil Maker de Symfony est également très puissant : il permet de générer toutes sortes de fonctionnalités modulables et adaptables (développer des formulaires automatiquement, des accès…).
La communauté Symfony compte des milliers de membres dans le monde entier, qui enrichissent l’outil en permanence et le rendent toujours plus performant. Les utilisateurs peuvent aussi compter sur la vitalité de cette communauté pour se faire aider en cas de besoin, via de nombreux forums et blogs dédiés.
PrestaShop, une solution complète et efficace pour créer et développer un business en ligne.
Drupal, utilisé par des dizaines de milliers de personnes et d’organisations pour propulser des sites de toutes tailles et fonctions.
Joomla, un CMS open source accessible qui permet de créer des sites Internet de qualité professionnelle.
Grav, un CMS rapide et flexible grâce en partie à une architecture de fichiers plats hautement optimisée.
Sylius, une solution e-commerce offrant des fonctionnalités standard prête à l’emploi mais aussi des fonctionnalités personnalisées, pouvant remplacer ou intégrer les briques applicatives (PIM, CRM, Marketing Automation) dont on a besoin.
BlaBlaCar, le fameux site de covoiturage : c’est le 44ème site le plus visité en France.
Spotify, le site suédois d’écoute de musiques en streaming, qui gère plus de 600 000 requêtes utilisateurs par seconde.
Yahoo, l’annuaire web proposant de nombreux de services gratuits et payants, tels qu’un moteur de recherche, des boîtes à courrier électronique, de la messagerie instantanée ou encore des portails (actualités, finances, etc.).
Dailymotion, le célèbre site français de partage, d’hébergement et de visionnage de vidéos en ligne. C’est le 148ème site le plus visité dans le monde, avec près de 400 millions de visiteurs uniques par mois.
… Quelques exemples parmi tant d’autres !