Ressource — Weve

Reprendre une application Laravel sans tout réécrire

Comment auditer le métier, les données, les dépendances et les risques avant de choisir entre reprise progressive et réécriture.

Auteur
Équipe Weve
Publié le
Mis à jour le
Architecture modulaire représentant la reprise progressive d’une application Laravel.

Une application Laravel existante n’est pas seulement un dépôt de code. Elle contient des règles métier, des données, des habitudes de travail et des connexions parfois absentes de toute documentation. La bonne première décision consiste donc à comprendre ce capital avant de choisir ce qui doit être conservé, sécurisé ou remplacé.

Le premier livrable n’est pas du code

Commencer immédiatement par une montée de version ou une refonte d’interface donne une impression de mouvement, mais laisse les risques les plus importants dans l’ombre. Une reprise sérieuse débute par une cartographie lisible du système et de ses usages.

Cette cartographie relie les écrans aux personnes qui les utilisent, aux règles qui déclenchent une décision, aux données qui circulent et aux services externes dont dépend l’activité. Elle doit notamment identifier :

  • les rôles, droits et parcours réellement utilisés ;
  • les règles de calcul, statuts et validations métier ;
  • les imports, exports, tâches planifiées et files d’attente ;
  • les API, webhooks, e-mails transactionnels et services partenaires ;
  • les opérations manuelles qui compensent aujourd’hui une limite de l’application.

Le résultat attendu n’est pas un inventaire abstrait. C’est une vue commune qui permet de distinguer ce qui est critique, ce qui est fragile et ce qui peut attendre.

Stabiliser avant de transformer

Avant une évolution importante, il faut pouvoir observer le système et revenir en arrière. Cela suppose de vérifier les sauvegardes et leur restauration, de documenter le déploiement, de rendre les journaux exploitables et de reproduire l’environnement de façon suffisamment fiable.

Les tests ne sont pas nécessairement nombreux au départ. Ils doivent d’abord protéger les parcours qui portent le plus de risque : authentification, permissions, facturation, imports, changements de statut, génération de documents ou synchronisations externes. Un test ciblé autour d’une règle métier critique vaut mieux qu’une couverture globale qui ignore les vrais usages.

Reprise progressive ou réécriture ?

La reprise progressive est pertinente si

  • le métier fonctionne et reste compréhensible ;
  • les données peuvent être fiabilisées sans migration totale ;
  • l’architecture permet d’isoler les zones à risque ;
  • l’activité ne peut pas supporter une longue bascule.

Une réécriture peut se justifier si

  • le modèle actuel empêche les évolutions essentielles ;
  • les dépendances ne sont plus maintenables ou sécurisables ;
  • les règles métier ont profondément changé ;
  • une coexistence et une migration contrôlée sont possibles.

La décision n’est pas idéologique. Elle dépend du coût du risque, de la connaissance disponible et de la capacité à vérifier chaque étape. Dans de nombreux cas, la meilleure trajectoire combine les deux approches : sécuriser le cœur existant, extraire progressivement certains services et remplacer seulement les parties qui bloquent réellement.

Découper la reprise par risque métier

Une feuille de route utile n’est pas une liste de technologies à mettre à jour. Elle ordonne des changements observables, chacun avec un périmètre, une méthode de validation et un retour arrière possible.

  1. sécuriser l’accès, les sauvegardes et le déploiement ;
  2. protéger les parcours métier prioritaires avec des tests ciblés ;
  3. corriger les erreurs et dépendances qui exposent l’exploitation ;
  4. réduire les couplages autour des prochaines évolutions ;
  5. mettre à niveau le framework et l’infrastructure par étapes compatibles.

Ce séquencement évite de mélanger urgence opérationnelle, dette technique et nouvelle fonctionnalité. Il rend aussi chaque arbitrage compréhensible par les responsables métier.

Les données et intégrations décident souvent du projet

Une nouvelle base de code ne répare pas automatiquement des doublons, des statuts incohérents ou des identifiants externes mal documentés. Les migrations doivent être répétables, contrôlables et rapprochées de totaux métier compréhensibles. Les API doivent être testées avec leurs erreurs, leurs limites et leurs mécanismes de reprise, pas seulement avec le scénario nominal.

Avant la mise en production, l’équipe doit savoir comment vérifier qu’une migration est complète, comment relancer un traitement interrompu et qui intervient lorsqu’un service tiers ne répond plus.

Une reprise réussie laisse un système plus lisible

Le progrès ne se mesure pas uniquement à une version récente de Laravel. À la fin d’une première séquence de reprise, les responsabilités doivent être plus claires, les déploiements reproductibles, les erreurs observables et les évolutions prioritaires moins risquées. La documentation doit expliquer les décisions et les opérations utiles, sans chercher à décrire chaque ligne de code.

Vous avez un existant à reprendre ou un processus à clarifier ?