Un module de planification critique tournait sur un framework historique. Il fallait le migrer vers React 19, et le produit ne pouvait pas s'arrêter trois mois.
La solution évidente, c'est de tout reconstruire puis de basculer d'un coup. C'est aussi la plus risquée : si quelque chose casse le jour J, il n'y a pas de retour en arrière.
On a fait autre chose. Les deux versions sont restées utilisables en parallèle pendant trois mois. On pouvait passer un utilisateur sur la nouvelle, puis le ramener sur l'ancienne, sans qu'il perde son contexte.
Le vrai sujet technique, c'était l'état. Filtres, période, position dans l'écran : tout ça devait suivre l'utilisateur dans les deux sens, de l'ancienne version vers la nouvelle et inversement. Si l'état ne passe pas, l'utilisateur voit la couture, et il ne fait plus confiance à la nouvelle version.
Ça demande de faire vivre ce transfert pendant toute la migration. En échange, il n'y a pas de bascule unique à risque, et aucune livraison n'est gelée.
Le chantier incluait aussi les actions de masse et neuf langues. On était huit sur le chantier, qui a duré trois mois.
Un utilisateur qui change de version sans perdre ses filtres n'a rien à se demander. C'était l'objectif.
Amine Affif, développeur full-stack à Paris. amineaffif.com
Top comments (0)