Glossaire

Symfony un framework PHP moderne et puissant

Symfony est notre framwork de prédilection pour réacliser vos projets web !

Qu'est-ce que le framework Symfony ?

Présentation de Symfony

Symfony est un framework PHP français open-source éditée par la société SensioLabs.

Complètement refondu lors de sa version 2.0 en 2011, Symfony est un framework PHP professionnel qui apporte un socle technique robuste pour développer des applications web et logiciels métier complexes.

Depuis le départ, son créateur a choisi de travailler sur une architecture modulaire et découplée structurée en composants dans le but d'intégrer facilement des briques techniques tierces et faciliter l'interopérabilité avec d'autres plateformes.

Lors de sa version 4, le framework a évolué pour proposer une approche permettant de l'adapté au plus petits projets type "microservices". À présent, c'est vous qui choisissiez exactement les briques dont vous avez besoin pour votre projet à l'aide de Symfony flex.

Historique rapide des versions de Symfony

Version Date de sortie Description
Symfony 1 2005

Première version du framework dans les années où PHP n'avait pas encore atteint le niveau professionnel d'aujourd'hui.

Symfony 1 se fait une place surtout grâce au fameux tutoriel Jobeet et à sa documentation.

Cependant, cette version ne nous a pas totalement convaincus à cause de la duplication de code notamment dans les templates et l'usage des helpers ! Zend Framework était plus un empilage de librairies techniques ! À cette époque, nous préférions Copix et attendions Symfony 2.

Symfony 2 Juillet 2011

Symfony 2 est une réécriture complète du framework ! Fabien Potencier est aller cherchER son inspirant dans des frameworks de langages de programmation plus mature à l'époque. Java notamment avec Spring pour l'injection de dépendances et le container de service, mais aussi Ruby on Rails pour faciliter la vie des développeurs.

Sensio à profiter de l'essor de Git et Github pour donner à son outil une approche communautaire. Il faudra cependant attendre la sortie de composer et Packagist pour résoudre le sujet de l'installation des dépendances pour que Symfony2 connaisse un succès rapide et international.

Symfony 3 Novembre 2015

Lors de la sortie de Symfony 2, SensioLabs a fait une erreur : suggérer de découper son code en bundle réutilisable. L'objectif était initialement de créer des bundles installable en dépendance, mais de nombreux développeurs ont sur découpé le code source interne à leurs applications ce qui a entrainé une complexité inutile.

Avec Symfony 3, Fabien Potencier propose la solution du bundle unique nommé AppBundle

Symfony 4 Novembre 2017

Symfony 4 marque la sortie de Symfony Flex.

Avant Flex, le framework était installé en fullstack ce qui était assez lourds pour les petits projets. Avec Flex, vous n'installez que ce que vous avez besoin ! Ce changement majeur permet de réduire le code, mais également force les développeurs a mieux connaitre les composants techniques qu'ils utilisent.

Tout se fait facilement par la ligne de commande grâce aux recettes de Symfony flex (recipes).

Symfony est à présent prêt pour faire du microservices.

Symfony 5 Novembre 2019 Symfony 5 apporte de nombreuses évolutions au niveau des composants internes en apportant plus de possibilités. Une dépréciation de l'usage de PHPUnit en direct pour passer par le bridge, mais rien de révolutionnant pour le développeur Symfony qui se contente de fonctionnalités de base.
Symfony 6 Novembre 2021

Comme le décrit Nicolas Grekas :

Symfony 6, c’est tout simplement Symfony 5, sans tout le code qui a été déprécié depuis deux ans.

Symfony 6 fonctionne sous PHP 8, il repart sur un code épuré et modernisé pour profiter des améliorations du langage PHP.

Si vous souhaitez vous lancez ou vous mettre à jour sur Symfony 6, une nouvelle version du livre "Symfony: The Fast Track" est disponible.

Historique des versions du framework Symfony
En savoir plus sur le process de releases de Symfony !

Avantages : Pourquoi développer votre projet web avec Symfony ?

Symfony apporte un cadre de travail professionnel et stable

  • Une structure claire

    Le framework propose une arborescence de répertoire et de classes qui permet de produire un code propre et correctement organisé. Un découpage des couches MVC, des conventions de nommages, de l'autoloading automatique, tout est fait pour que vous puissiez vous concentrer sur les parties du code à forte valeur ajoutée.

  • Un code sécurisé

    Le framework contient un composant de sécurité Guard pour assurer l'authentification et les autorisations et dispose d'un firewall applicatif. L'ORM nous protège des injections SQL, les formulaires bloquent les attaques de types XSS Cross-site scripting. Tout est fait pour que vos applications soient sécurisées.

  • Un code maintenable et évolutif

    Si les développeurs ont respecté les bonnes pratiques du framework, votre code sera maintenable et évolutif pour suivre la vie de votre projet. Nous vous suggérons simplement de suivre les mises à jour comme pour tout programme informatique.

Un framework pensé pour les développeurs

Symfony embarque toutes les bonnes pratiques et outils pour permettre aux développeurs professionnels de faire leur travail dans les meilleures conditions avec une liste de composants performants.

  • Console
  • PHPUnit Bridge
  • Ligne de commande avec maker
  • Formulaire

Nos Bundles Symfony

Chez SmartBooster, nous sommes spécialisés dans le développement de projet web que nous réalisons exclusivement avec le framework Symfony.

Vous pouvez retrouver sur notre profil Github nos projets open-source, n'hésitez pas à les tester et à nous faire un retour ou une Merge Request !

smartbooster/core-bundle

Ce bundle regroupe nos utilitaires générique que nous déployons sur l'intégralité de nos projets.

smartbooster/core-bundle

smartbooster/standard-bundle

Le Standard Bundle nous permet de mettre en place nos outils de validation de code et nos standards de développement pour nous assurer une bonne qualité sur l'ensemble de nos projets.

smartbooster/standard-bundle

smartbooster/sonata-bundle

Nous utilisons Sonata-project depuis les toutes premières versions pour mettre en place des backoffices rapides.

Au fil des années, nous avons regroupé nos extensions dans un bundle dédié.

smartbooster/sonata-bundle