Pourquoi choisir le framework Symfony ?

Vous êtes-vous déjà demandé ce que signifiait framework, Symfony, back-end ou PHP ? Aujourd’hui, l’équipe technique d’acti vulgarise pour vous les rouages d’un outil très utilisé dans de nombreux sites web : Symfony.

tumblr_mx3tpto69r1st5lhmo1_1280

Un peu d’histoire

Symfony est un framework français lancé en 2007 par l’agence web Sensio Labs.

Le terme framework signifie littéralement “cadre de travail” en anglais : il apporte un ensemble d’éléments permettant de structurer un projet de site web. Il n’est pas indispensable, mais, de par son large panel d’outils proposés, le framework permet d’améliorer la rapidité du développement ainsi que la qualité de ce dernier (si vous êtes perdu(e), lisez notre dernier article sur la différence entre CMS et framework).

Historiquement, Symfony est une évolution d’un framework interne à l’agence Sensio, qui a été ouvert à la communauté PHP (un langage informatique) : cela signifie que son utilisation a été rendue accessible par tous, gratuitement. On appelle ce modèle propriétaire : « open-source ».

Pour l’anecdote, le logo représente les lettres SF, selon la volonté des créateurs de garder les initiales du projet de base : Sensio Framework.

 

Le pouvoir du réseau

Symfony est basé sur le système d’architecture logicielle bien connu qu’est MVC (Modèle-Vue-Contrôleur). Synonyme de structuration du code, il apporte un potentiel évolutif certain au projet associé.

En découle un framework constitué à base de composants logiciels externes apportant des fonctionnalités spécifiques, appelés communément bundles (comme des briques, en quelque sorte).

Par exemple, vous pourriez avoir un bundle qui gère pour vous les utilisateurs de votre site.

Symfony, en se rendant accessible à tous, connaît un véritable succès. La communauté très active de programmeurs utilisant le PHP (langage informatique sur lequel se base Symfony) l’adopte rapidement et l’enrichit d’idées et de solutions à tous les problèmes que peut rencontrer un développeur web. Des milliers de bundles voient le jour grâce au travail acharné des ouvriers du web.

 

Quand plusieurs briques s’assemblent

Ainsi, un projet comme Sonata permit d’accélerer et de complèter considérablement le framework de base.

Sonata est un ensemble de bundles (briques) améliorant grandement les fonctionnalités de base du framework. En effet, il permet de générer un back-office, de gérer des contenus évolués et des médias (images, vidéos), ou encore de créer une plateforme eCommerce.

De nombreux développements coûteux en temps peuvent ainsi être simplifiés et accélérés, comme par exemple la gestion de bases de données, un élément incontournable dans tout développement web. Très concrètement, Symfony facilite la récupération des données.

À la liste des fonctionnalités intéressantes, ce framework permet également une gestion multilingue de votre site facile et intuitive, ou encore un système d’amélioration des performances globales du site, grâce à une intégration avancée de diverses tactiques de cache et d’optimisation de requêtes.

 

Devrais-je utiliser Symfony pour mon site web ?

Symfony est un outil capable de répondre à n’importe lequel de vos besoins pour un site web.

Là où un CMS plus traditionnel répondra à 70% de vos besoins, apportant des fonctionnalités parfois superflues ou demandant un travail supplémentaire de personnalisation, Symfony répondra à 95% de vos besoins : hautement personnalisable, votre site sera unique et offrira exactement les fonctionnalités que vous désirez. Cette customisation très poussée nécessite cependant un certain temps de développement, puisque contrairement à un CMS, déjà « packagé », Symfony s’apparente aux fondations de votre site, tout est à construire.

Il est également, de par sa nature, tout disposé à des projets au long cours grâce à une forte capacité d’évolution, une communauté toujours plus grande et une bonne solidité.