▶ Structure technique dédiée — Expertise web & mobile — Basée en France

Comment mettre à jour une ancienne version de Symfony ?

Passer d’une ancienne version de Symfony à une version maintenue sans casser l’application : versions LTS, dépréciations, PHP, dépendances, outils et tests.

Une ancienne version de Symfony ne reçoit plus de correctifs de sécurité et bloque peu à peu les mises à jour de PHP et des dépendances. La mise à niveau se fait progressivement, version majeure par version majeure, en corrigeant les dépréciations avant chaque saut. C’est plus sûr et souvent plus rapide qu’une réécriture.

Ne pas sauter les étapes

Passer directement d’une très ancienne version à la dernière multiplie les erreurs en même temps. On avance d’une version majeure à la suivante, en s’appuyant sur les versions de support à long terme (LTS), celles qui se terminent en .4.

Commencer par la dernière version mineure

Avant de changer de version majeure, l’application passe à la dernière version mineure de sa branche. Cette version signale toutes les fonctionnalités qui disparaîtront à la version suivante.

Corriger les dépréciations

Les dépréciations sont visibles dans le profiler Symfony, les journaux et la sortie des tests. Une fois toutes corrigées, le passage à la version majeure suivante devient en grande partie mécanique.

Mettre à niveau PHP et les dépendances

Chaque version majeure exige une version minimale de PHP, par exemple PHP 8.2 pour Symfony 7. Il faut aussi vérifier que chaque bundle tiers existe pour la version cible, et prévoir un remplacement pour ceux qui ne sont plus maintenus.

S’aider des bons outils

  • Rector automatise une partie des modifications de code
  • PHPStan repère les erreurs avant l’exécution
  • la commande composer recipes:update met à jour les fichiers de configuration
  • composer why-not explique ce qui bloque une montée de version

Tester avant de déployer

Les tests automatisés et une préproduction identique à la production permettent de vérifier les parcours critiques à chaque étape. Sans tests, il faut commencer par couvrir les fonctionnalités essentielles.

→ Audit Symfony : évaluer le code avant une mise à niveau

→ Guide : mise à jour PHP obligatoire

→ Reprise de projet technique

← Retour à la FAQ