Migrer une application Symfony sans arrêter le service : la méthode en cinq étapes
Comment passer d'une version de Symfony ou de PHP non maintenue à une version actuelle, par lots, à iso-fonctionnalités, sans interruption pour les utilisateurs.
Par l'équipe Synapsea · · 1 min de lecture

Une application Symfony qui tourne encore sur une version non maintenue n'est pas condamnée. Elle est migrable, par lots, sans que ses utilisateurs s'en aperçoivent. Voici la méthode que nous appliquons, de Symfony 1 à Symfony 7.4.
1. Auditer avant de toucher
Code, base de données, interfaces avec les systèmes partenaires, dépendances, vulnérabilités connues. L'audit produit un plan par lots : quels modules, dans quel ordre, avec quels risques.
2. Construire le filet de tests
Avant de changer une ligne, nous écrivons des tests de caractérisation qui décrivent le comportement actuel, défauts compris. Ils deviennent la preuve que la migration n'a rien changé.
3. Migrer lot par lot
Chaque lot est livré en production. L'ancienne et la nouvelle version coexistent ; les interfaces partenaires restent stables. Sur un système national récent, 45 tables et une trajectoire PostgreSQL 16 → 19 ont été traitées ainsi, avec 550 tests automatisés.
4. Industrialiser
Pipeline d'intégration continue, déploiements reproductibles (Ansible, Docker), analyse statique et contrôles de sécurité. C'est ce qui empêche la dette de revenir.
5. Transmettre
Documentation, formation de l'équipe, suivi après mise en production. L'objectif est que vos développeurs n'aient plus besoin de nous pour la suite.
À retenir : une migration réussie se mesure à ce que les utilisateurs n'ont pas vu.