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.
Jules Daunay : Que signifie le lancement de Symfony 6 pour un développeur ?
Nicolas Grekas : Symfony 6 est essentiellement Symfony 5, sans tout le code qui a été déprécié depuis deux ans. Il n'y a pas de nouvelles fonctionnalités ni de grands changements spécifiques à la version 6, car tout est déjà dans Symfony 5.
Symfony 6 représente deux années d'efforts de la communauté et de l'équipe principale sur Symfony 5. Avec Symfony 6, un nouveau cycle d'innovations commence, qui durera également deux ans, sur une base de code modernisée (PHP 8) qui a été nettoyée du poids mort du passé. Ce système de gestion des versions garantit la stabilité de Symfony. Grâce à cela, les utilisateurs peuvent gérer les mises à niveau à leur propre rythme sans avoir à tout réécrire.
JD : Donc, pour exécuter Symfony 6, vous devrez installer PHP 8 ?
NG : Oui, absolument. La grande nouvelle de Symfony 6 est que PHP 8.0 est désormais la version minimale requise.
Le code de Symfony 6 a été mis à jour. Vous pouvez profiter de toutes les nouvelles fonctionnalités de PHP. Par exemple, le code comprend des attributs PHP 8, des déclarations de type plus expressives et rigoureuses, etc.
Pour installer cette nouvelle version de Symfony, vous devrez d'abord mettre à jour votre application vers PHP 8.0.
JD : Quoi d'autre de nouveau dans Symfony 6 ?
Il n'y aura pas de réelle surprise pour ceux qui ont suivi les nouvelles fonctionnalités de Symfony 5.1, 5.2 et 5.3. Parmi ces nouveaux composants ou améliorations, vous pouvez trouver :
Uid pour gérer les identifiants uniques.
RateLimiter pour limiter le nombre de tentatives de connexion incorrectes.
PasswordHasher, fonctionnalité de la couche de sécurité et d'authentification (un sous-système extrait du composant de sécurité).
Fournisseurs de traduction pour fournir une interface d'incorporation des services de traduction en ligne.
Runtime pour rendre la séquence de démarrage des applications PHP et ainsi des applications Symfony plus flexible.
Enfin, Symfony 6.0 offre une intégration plus étroite des fournisseurs de services de notification. De nombreux ponts ont été introduits dans le composant Notifier (pour l'envoi de SMS, messages de chat, etc.).
JD : Quels sont vos conseils pour se préparer à la mise à niveau ?
NG : Là encore, Symfony concerne la stabilité. Ma réponse ne va pas changer beaucoup par rapport à ce que j'ai dit sur Symfony 5. Il existe toujours deux piliers pour se préparer à votre mise à niveau.
Le premier pilier est la promesse de compatibilité ascendante, applicable au sein de la même version majeure (Symfony 5.x). Par exemple, toutes les mises à niveau sont transparentes entre Symfony 5.0, 5.1, 5.2, 5.3 et 5.4. Votre application continuera à fonctionner sans intervention, même après une mise à niveau de Symfony.
Le second pilier est le chemin de migration continue. Il correspond à l'ambition du projet : rendre aussi facile que possible la mise à jour d'une version majeure à une autre. Symfony fournit un chemin clair pour vous aider à mettre à niveau, principalement à travers des avis de dépréciation. Ces lignes directrices permettent aux développeurs de mettre à jour à moindre coût.
Merci, Nicolas, pour toutes ces informations utiles !
Le meilleur moyen de se familiariser avec Symfony 6 est de s'inscrire à la conférence Symfony World Winter Edition 2021. Elle se déroulera en ligne les 9 et 10 décembre.
Un livre Symfony 6 : The Fast Track sera bientôt publié et disponible en ligne. Et si vous souhaitez soutenir le projet Symfony, vous pouvez également contribuer en le finançant. Grâce au programme de soutien Symfony, vous bénéficiez d'une excellente visibilité dans la communauté, et vous faites un don à un projet qui a du sens pour vos équipes.