L’essentiel sur Symfony 6 : l’interview avec Nicolas Grekas

Pour la sortie de Symfony 6, SensioLabs a interviewé Nicolas Grekas, l’un des membres les plus actifs de la core team de Symfony. Nicolas revient pour nous sur les principales nouveautés de cette nouvelle version majeure du framework et nous explique la meilleure façon de préparer sa montée de version.

nicolas-grekas-symfony

Crédit photo: Christopher Hertel, Twitter.

Jules Daunay : La sortie de Symfony 6, ça veut dire quoi pour un développeur Symfony ?

Nicolas Grekas : Symfony 6, c’est tout simplement Symfony 5, sans tout le code qui a été déprécié depuis deux ans. Il n’y a pas de nouvelle fonctionnalité, ni de changement majeur qui soit propre à la version 6, car tout est déjà dans Symfony 5.

Symfony 6, c’est l’aboutissement de deux ans de travail de la communauté et de la core team sur Symfony 5. Avec la version 6 de Symfony démarre aussi un nouveau cycle d’innovations qui va durer deux ans lui aussi, sur une base de code modernisée (PHP 8) et nettoyée des scories du passé. Ce système de gestion des versions assure à Symfony une grande stabilité. Il permet à ses utilisateurs de gérer les montées de versions à leur rythme, et surtout sans avoir à tout réécrire.

JD : Pour utiliser Symfony 6, il faudra donc être sur PHP 8 ?

NG : Oui, absolument. La grande nouveauté de Symfony 6, c’est PHP 8.0 qui est désormais la version minimale requise.

Le code de la version 6 de Symfony est modernisé pour utiliser au mieux toutes les nouvelles fonctionnalités du langage. Il utilise par exemple les attributs PHP 8, des déclarations de type plus expressives et plus rigoureuses, etc.

Évidement, pour installer Symfony 6, il faudra d’abord migrer son applicatif vers PHP 8.0.

baseline-symfony6-grekas

JD : Quelles sont les autres nouveautés de Symfony 6 ?

Pour ceux qui ont suivi les nouveautés dans Symfony 5.1, 5.2 et 5.3, il n’y aura pas de grande surprise. Parmi ces nouveaux composants ou ces améliorations, on retrouve :

  • Uid pour la gestion des identifiants uniques.
  • RateLimiter qui permet de limiter le nombre de tentatives de connexion avec un mot de passe erroné.
  • PasswordHasher, fonctionnalité sur la couche de sécurité et d’authentification (sous-système extrait du composant Security).
  • Translation Providers qui fournit une interface permettant d’intégrer des services de traduction en ligne.
  • Runtime pour rendre plus flexible la séquence de démarrage des applications PHP et donc des applications Symfony.

Enfin, Symfony 6.0 permet une intégration renforcée des fournisseurs de services de notification. Beaucoup de bridges ont été ajoutés au composant Notifier (pour l’envoi de SMS, de messages sur des chats, etc.).

JD : Quels sont tes conseils pour préparer la montée de version ?

NG : Là encore, Symfony favorise la stabilité. Ma réponse ne va pas beaucoup changer par rapport à Symfony 5. Il y a toujours deux piliers pour préparer sa montée de version.

Le premier pilier, c’est la promesse de rétrocompatibilité, qui s’applique au sein d’une même version majeure (Symfony 5.x). Par exemple, entre Symfony 5.0, 5.1, 5.2, 5.3 et 5.4, les mises à jour se font de façon transparente : une application continuera à fonctionner sans qu’il soit nécessaire d’intervenir dessus même après une mise à jour de Symfony.

Le deuxième pilier, c’est le chemin de migration continue, qui correspond au souhait du projet de faciliter au maximum la montée d’une version majeure à une autre. Symfony met en place un chemin balisé pour accompagner la montée de version, sous forme des notices de dépréciation principalement. Ces indications permettent aux développeurs de faire la mise à jour à moindre coût.


Merci Nicolas pour toutes ces précieuses informations sur Symfony 6 !

Le meilleur moyen pour se plonger dans Symfony 6, c’est de s’inscrire à la conférence Symfony World Winter Edition 2021 qui aura lieu les 9 et 10 décembre.

Un livre Symfony 6: The Fast Track sera publié au moment de la sortie de la nouvelle version et disponible en ligne. Et si vous souhaitez soutenir le projet Symfony, une autre façon de contribuer, c’est de le financer. Grâce au programme Backers de Symfony, vous bénéficiez d’une excellente visibilité dans la communauté et vous donnez à un projet qui a du sens pour vos équipes.