Avec SymfonyFramework PHP permettant de développer des applications web., chaque version majeure supprime les méthodes et les classes dépréciées dans les versions précédentes de ces packages. Ce qui signifie que si l'on utilise encore une de ces méthodes ou classes, il faudra la remplacer. Pour cela, 2 options :
Dans le second cas, les travaux seront plus lourds, il faut donc bien vérifier cela en amont. Une première méthode simple est d'utiliser la commande :
composer outdated
qui liste les mises à jour disponibles pour les dépendances du projet, et indique celles qui ne sont plus maintenues, avec son alternative si elle est définie.
À noter qu'il n'y a aucun breaking changes entre les versions mineures de Symfony, seules les versions majeures peuvent nécessiter des changements de classes ou de dépendances.
Les LTS, pour Long-Term Support, sont des versions maintenues plus longtemps que les autres. De nombreux langages et frameworks utilisent ce système afin d'éviter aux utilisateurs de devoir faire des mises à jour trop souvent.
En Symfony, les LTS sont facilement identifiables, car il s'agit de la version (X.4.X) de chaque version majeure et correspond à la dernière version mineure avant la prochaine version majeure.
Sur ces versions, la maintenance des bugs est assurée pour 3 ans après leur déploiement, et la correction des problèmes de sécurité pour 4 ans. À titre de comparaison, une version mineure standard de Symfony est maintenue pour 8 mois, à la fois pour les bugs et pour les correctifs de sécurité.
Il n'est donc pas nécessaire de cibler systématiquement la dernière version, on privilégiera toujours la dernière LTS. À l'heure où nous écrivons cet article, la dernière LTS de Symfony est donc la 6.4, et la prochaine, prévue pour 2025, sera la 7.4.
Les mises à jour de PHP devront être réalisées en parallèle de la migration de Symfony.
Chaque version de Symfony est compatible avec un ensemble de versions de PHPLangage de programmation s’exécutant côté serveur et permettant la création dynamique de pages web ou d'APIs.. La version minimale nécessaire au fonctionnement d'une version majeure de Symfony est définie par la core team du framework.
Tout au long de la durée de vie du support de chaque version de Symfony, toutes les versions publiées de PHP, y compris les nouvelles versions majeures, seront prises en charge. De cette façon, la version maximale prise en charge de PHP pour une version Symfony maintenue est la dernière version disponible publiquement.
Lors de la migration d'un projet Symfony, si la version de départ a plusieurs années de retard, il ne sera pas forcément possible de passer directement à la dernière version de PHP. Il faut donc prendre en considération à la fois la dernière version de Symfony qu'il est possible d'atteindre avec votre version actuelle de PHP et la dernière version de PHP qu'il est possible d'atteindre avec votre version de Symfony.
Nous vous suggérons de d'abord mettre à jour Symfony, dans la limite de votre version de PHP, puis monter la version de PHP et continuer les montées de version de Symfony, et ainsi de suite jusqu'à atteindre la dernière version de PHP et la dernière LTS de Symfony.
À noter que les versions de PHP ne possèdent pas de système de LTS, mais un support constant pour chaque version (2 ans de correction de bugs et 2 années additionnelles pour la correction des problèmes de sécurité).
Effectuer une migration est aussi l'occasion de revoir la pertinence de certains outils, dépendances ou méthodes en place dans l'application.
Est-ce que ma dépendance est réellement utile et ne pourrait pas être remplacée par quelque chose de plus performant ou carrément supprimée ? Est-ce que mes requêtes sont correctement construites et ne pourraient pas être améliorées ? Est-ce que mon modèle de données est toujours pertinent ?
Toutes ces questions doivent être posées à ce moment-là, car c'est l'occasion de simplifier votre code, de gagner en performance et en lisibilité !
Au-delà des dépréciations, Symfony apporte de nouvelles bonnes pratiques et de nouveaux outils pour gagner en performance. Il est donc important de faire de la veille informatique pour suivre les nouveautés de chaque version afin de pouvoir les intégrer au fil de l'eau.
Parmi les grandes nouveautées des dernières versions majeures, on trouve :
Et beaucoup d'autres nouveautés...
Concernant la sécurité, il s'agit d'un domaine qui évolue très vite et change constamment. Il est par exemple très courant d'avoir dans nos applications une partie authentification, et les méthodes pour le faire évoluent sans cesse, il s'agit donc d'un point à prendre en considération.
En conclusion, sans surprise, nous conseillons fortement le suivi des mises à jour de vos applications Symfony, pour la sécurité, la stabilité et la performance. Les mises à jour de Symfony étant très planifiées, il est facile de pouvoir les intégrer dans les développements.
Nous pouvons également vous accompagner dans cette migration ou réaliser un audit de code afin de vous permettre d'estimer la dette technique de vos applications.
Pourquoi choisir Symfony pour un projet de développement web ? Avantages et fonctionnalités incontournables du framework.
Comment installer et structurer un projet avec le framework PHP incontournable Symfony !
Configuration des packages et début des développements d’un projet Symfony