Pourquoi choisir le framework Symfony ?

Par Jonathan,
dans Création de site web

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é.

Jonathan Montet
par Jonathan

Commentaire(s) sur : "Pourquoi choisir le framework Symfony ?"

  1. Bonjour,
    Je surf dans vos avis à propos de symfony. C’est un outil à prendre en main quand on a un site ou un blog à faire évoluer. La prise en main n’est pas très difficile pour les débutants, il suffit d’avoir la tête sur les épaules. C’est le framework que j’utilise depuis trois ans environ. Et je suis très satisfait. Mais je me demandais s’il y a un autre outil concurrent de symfony?

    1. acti dit :

      Bonjour,
      Symfony étant un framework PHP, il existe de nombreuses solutions concurrentes tel que ZendFramework et CakePHP, pour les plus connues. Ces 2 frameworks ont été développés environ au même moment que Symfony, ils proposent une architecture très proche mais des approches et fonctionnalités différentes. Zendframework dans sa version 2 est le plus proche de Symfony de part son ensemble de possibilité et ses fonctionnalités. CakePHP, plus léger, est tout indiqué pour des projets simples et courts.
      -Jonathan

  2. Ichigo dit :

    symfony est un bon outil en terme de productivité mais cela s’arrête là.

    Si l’on compare aux autres frameworks PHP du marché, symfony a la courbe d’apprentissage la plus longue et la performance la plus faible.

    Quand on connait cet outil en profondeur, on se rend compte que c’est un mastodonte; utile pour les projets de moyenne et grande envergure nécessitant la collaboration de plusieurs personnes mais un mauvais choix pour le développement de sites vitrines et/ou évènementiel par exemple. Si on devait comparer, ce serait comme utiliser un éléphant pour casser un oeuf… efficace certes mais pas du tout un choix pertinent et réfléchi.

    A chaque projet le bon outil, et bien que symfony soit populaire, s’en contenter est une bien mauvaise pratique pour un développeur, ou bien est-ce là le confort de la facilité ?

    1. acti dit :

      Bonjour,
      Je suis tout à fait d’accord avec vous sur le fait que la typologie de projet importe énormément quand au choix de la technologie. Au sein de l’agence acti, diverses technologies sont proposées en fonction des coûts, des besoins, comprendre par là des fonctionnalités, et aussi des contraintes de temps ou de maintenance (externe, interne).
      Symfony étant un outil très complet, il est évident qu’il s’oriente plus vers des projets de moyenne ou grande envergure comme vous le faites remarquer.
      Des solutions alternatives existent, le framework Silex, basé sur Symfony, est plus orienté projet court, il peut être utilisé pour de événementiel par exemple. Dans le même domaine, Laravel, basé également sur Symfony, propose une approche plus simple que ce dernier et peut se révéler un bon choix pour des projets de taille moyenne.
      Il est également possible qu’un projet corresponde parfaitement aux fonctionnalités proposées par un CMS, WordPress par exemple, peut s’avérer un choix judicieux pour un site qui se veut blog.
      L’agence acti propose un panel de solutions pour répondre aux besoins des projets sur lesquels elle travaille.
      -Jonathan

  3. Kambro dit :

    Bonsoir,

    Connaissez-vous un bon créateur web qui travaille avec Sonata Symphony; je cherche quelqu’un qui pourrait mettre mon site en ligne et ce site a été réalisé avec ce Sonata.

    Je vous remercie d’avance,

    Kambro

    1. Alexandre Belkowski dit :

      Bonjour Kambro,

      Nous n’avons personne en tête, désolé !

      Bonne journée à vous

      Alexandre

  4. Merci d’avoir publier cette article! Je suis votre site depuis
    longtemps mais je n’avais jamais songé à laisser un commentaire.Je me suis
    inscrit à votre blog et j’ai partager votre article sur mon compte Facebook.
    Merci encore pour cet article! Il est très bien rédigé et l’information est
    complète :-)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Rechercher