← Vibecoding · Vibecoding avec OpenCode RU EN Cours 30/70 →

Module 07 — Pratique : migrer sans tests rouges

Temps : 210 minutes · Livrable : labs/07-refactor/


Tâche 1. Carte des dépendances (25 min)

Choisissez une fonction/classe que vous voulez remplacer. Construisez une carte :

grep -rn "old_name" --include=*.py .

Remplissez un tableau :

Fichier Ligne Ce qu'elle fait Risque

Critère d'acceptation : la carte est complète (recoupez une fois de plus avec grep), les risques sont classés.


Tâche 2. Plan de migration (25 min)

Écrivez un plan en 5 à 7 étapes, où chaque étape :

  • touche ≤ 2 fichiers ;
  • se termine par ./scripts/check.sh ;
  • a son propre commit.

Critère d'acceptation : le plan a été validé par vous avant de commencer le travail (notez-le dans le rapport).


Tâche 3. Migration pas à pas (90 min)

Exécutez les étapes selon le plan. Après chacune :

./scripts/check.sh
git add -A && git commit -m "step N: <what was done>"

Règles pour l'agent :

We work one plan step at a time. After the step, stop and show the diff.
Don't touch files outside <path>. Don't change public signatures.

Critère d'acceptation : au moins 3 étapes, chacune avec des tests verts et un commit. Dans le rapport — git log --oneline et git diff --stat pour toute la migration.


Tâche 4. Test de rollback (25 min)

Cassez volontairement une étape (dites à l'agent : « essaie de faire l'étape 4 en même temps que l'étape 5, tout de suite »). Regardez combien de fichiers ont été touchés et combien de tests ont échoué. Revenez en arrière :

git reset --hard HEAD~1

Critère d'acceptation : dans le rapport — une comparaison « une par une » vs « tout d'un coup » : nombre de fichiers, nombre d'échecs, temps passé à démêler.


Tâche 5. Suppression du code mort (45 min)

Après la migration :

The old code is no longer used. Find all references to <old_name>,
delete them and the code itself. If something still uses it — stop and show me the list.

Critère d'acceptation : tests verts, grep sur l'ancien nom vide, diff relu.


Critères de rendu

  • La carte des dépendances est complète.
  • Un plan de 5+ étapes, validé avant le travail.
  • ≥ 3 étapes avec tests verts et commits.
  • L'expérience « tout d'un coup » + rollback.
  • Code mort supprimé, dépôt vert.