Trace 9 - Migration projet Symfony legacy
Adaptation d'un projet Symfony ancien a un environnement plus moderne.
Adaptation a un environnement logiciel existant
Organisation et pilotage d'un chantier technique
Trace 9
Migrer un projet ancien sans perdre le fonctionnement
Trace 9 - Extrait du diff composer.json : passage de PHP 7 vers PHP 8.3, ajout de composer-patches et mise a jour de dependances compatibles.
Cette trace correspond au travail realise sur un projet Symfony developpe en 2018. Le projet utilisait des versions anciennes de PHP, Composer, Node et Webpack. L'objectif etait de pouvoir le faire tourner localement puis de preparer une migration pour rendre le developpement plus simple.
- Passage de PHP 7 vers PHP 8.3 et de Composer 1 vers Composer 2.
- Passage de Node ancien vers Node 24, remplacement de
node-sassparsasset migration Webpack 3 vers 5. - Correction de points de casse :
Doctrine\Persistence\ObjectManager, routes sans page par defaut, options elFinder et patch Composer.
Changements principaux
| Partie | Ancien etat | Nouveau travail |
|---|---|---|
| PHP | PHP 7 | PHP 8.3 |
| Composer | Composer 1 | Composer 2 |
| Node | ancienne version | Node 24 |
| Front build | Webpack 3 + node-sass | Webpack 5 + sass |
| Doctrine | Doctrine\Common\Persistence | Doctrine\Persistence |
| Compatibilite | warnings et options obsoletes | patchs et corrections ciblees |
Analyse des savoir-faire
Le savoir-faire principal est lire et respecter un existant fragile. Sur un projet legacy, il ne suffit pas de mettre toutes les dependances a jour : chaque changement peut casser une route, un bundle ou une integration.
Le savoir-faire projet est isoler les changements et tester progressivement. J'ai du creer des branches, stasher, recuperer les bonnes bases, resoudre des conflits et verifier que les routes importantes fonctionnaient encore.
Cette trace montre une competence differente de l'export Cockpit : ici, la difficulte vient moins du volume de donnees que de la compatibilite et de la preservation du comportement existant.