Synapsea
Modernisation · Symfony

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

Illustration : modules d'une application migrés un à un

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.

Une question sur ce sujet dans votre contexte ?

Un premier échange de 30 minutes, réponse sous 48 h ouvrées.

Parlons de votre projet