Vibe Coding — ton premier app sans savoir coder — 4. Construire & corriger

18 min read min de lecture
Chapitre 04

Construire & corriger

Chapitre 4 sur 10 · 40%

Objectifs de ce chapitre

  • Tester chaque étape avant d’avancer
  • Déboguer en dialoguant avec l’IA
  • Fournir les bonnes informations pour corriger vite

La boucle construire-tester-corriger

Tu as envoyé ton mini-PRD, l'IA a généré la base de ton app. Commence maintenant la phase la plus longue — et la plus formatrice — du projet : la construction itérative. Le rythme est toujours le même : tu demandes une chose, l'IA la fait, tu testes immédiatement, et selon le résultat tu valides ou tu corriges. Puis tu recommences avec la chose suivante.

Ce rythme peut sembler lent comparé à la tentation de tout demander d'un coup. Il est en réalité beaucoup plus rapide sur la durée, pour une raison simple : quand un bug apparaît, tu sais exactement quelle demande l'a introduit — la dernière. Sans cette discipline, un bug peut venir de n'importe laquelle de tes cinq dernières demandes, et tu passeras plus de temps à chercher le coupable qu'à le corriger.

flowchart LR
  D["Demande UNE chose"] --> G["L'IA génère"]
  G --> T["Teste immédiatement"]
  T -->|"Ça marche"| V["Valide et passe à la suite"]
  T -->|"Ça casse"| E["Copie l'erreur exacte"]
  E --> C["Demande la correction"]
  C --> T
  V --> D
La boucle de construction : un seul changement entre deux tests, toujours.

Tester chaque étape : ta checklist

Après chaque génération, ouvre l'app et essaie réellement la fonctionnalité. Ne te contente pas de regarder l'écran : utilise l'app comme le ferait un utilisateur. Pour la fonction « ajouter une habitude » de Tom, ça veut dire : taper un nom, cliquer sur le bouton, vérifier que l'habitude apparaît, en ajouter une deuxième, puis recharger la page pour vérifier que tout est encore là.

Prends aussi l'habitude de tester les cas limites — c'est là que se cachent les bugs : que se passe-t-il si tu ajoutes une habitude au nom vide ? Si tu en ajoutes vingt ? Si tu cliques deux fois très vite ? Tu n'as pas besoin d'être exhaustif, mais deux ou trois essais « hors des clous » par fonctionnalité révèlent les fragilités avant tes utilisateurs.

  • Tester le cas normal : l'action principale fonctionne-t-elle ?
  • Recharger la page : les données sont-elles toujours là ?
  • Tester un cas limite : champ vide, valeur bizarre, double clic.
  • Vérifier sur mobile (ou en rétrécissant la fenêtre) si ton app est mobile-first.

La console du navigateur : ton meilleur allié

Quand quelque chose casse sans explication visible, la réponse se trouve presque toujours dans la console du navigateur. Appuie sur F12 (ou clic droit → « Inspecter »), puis ouvre l'onglet « Console ». C'est là que le navigateur écrit les erreurs : des lignes rouges, souvent en anglais, qui indiquent ce qui a échoué et où.

Tu n'as pas besoin de comprendre ces messages — tu as juste besoin de les copier. Voici à quoi ressemble une erreur typique :

text
Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
    at app.js:24:18

Traduction libre : « à la ligne 24 du fichier app.js, le code essaie d'utiliser quelque chose qui n'existe pas ». C'est exactement le genre d'indice dont l'IA a besoin pour corriger en un message au lieu de cinq. Erreurs fréquentes que tu croiseras : TypeError (le code manipule une valeur du mauvais type), ReferenceError (il utilise un nom qui n'existe pas), SyntaxError (le code lui-même est mal formé), et 404 Not Found (un fichier est introuvable).

Apprends à ouvrir la console du navigateur (F12) dès maintenant, avant d'en avoir besoin. C'est là que se cachent les messages d'erreur les plus utiles — et la copie d'une seule ligne rouge peut économiser une heure de débogage à l'aveugle.

Le prompt de débogage parfait

Quand ça casse, ne dis pas « ça marche pas ». L'IA n'a aucun moyen de deviner ce que tu vois à l'écran. Un bon rapport de bug contient quatre éléments : ce que tu faisais, ce que tu attendais, ce qui s'est passé à la place, et le message d'erreur exact de la console. Avec ces quatre informations, le diagnostic est presque toujours immédiat.

PROMPT
Bug à corriger.
Ce que je faisais : je clique sur « ajouter une habitude » après avoir tapé « Lecture » dans le champ.
Ce que j'attendais : l'habitude apparaît dans la liste.
Ce qui se passe : rien ne s'affiche, le champ se vide.
Erreur dans la console : Uncaught TypeError: Cannot read properties of null (reading 'addEventListener') at app.js:24:18
Diagnostique la cause et corrige, en m'expliquant simplement ce qui n'allait pas.

Remarque la dernière phrase : « en m'expliquant simplement ce qui n'allait pas ». C'est elle qui transforme chaque bug en leçon. Au bout de dix corrections, tu reconnaîtras toi-même les erreurs courantes — et tu écriras des demandes qui les évitent d'emblée.

Quand l’IA tourne en rond

Cela arrive : tu signales un bug, l'IA « corrige », le bug est toujours là, elle « corrige » encore, et rien ne change — ou pire, autre chose casse. Au bout de deux ou trois tentatives infructueuses, arrête d'insister sur la même voie. Trois stratégies efficaces : demande à l'IA de repartir de zéro sur cette fonctionnalité (« supprime tout le code du calendrier et refais-le plus simplement »), demande-lui d'ajouter des messages de diagnostic (« ajoute des console.log pour qu'on voie où ça bloque »), ou reformule complètement ta demande initiale, qui était peut-être ambiguë.

Garde aussi en tête l'option nucléaire : revenir à la dernière version qui marchait et reprendre depuis là. C'est exactement à ça que sert Git, dont on parle tout de suite — un filet de sécurité qui rend les expérimentations sans risque.

Si l'IA propose de réécrire la moitié de ton app pour corriger un petit bug, méfie-toi : demande d'abord « peux-tu corriger ça avec un changement minimal ? ». Les grosses réécritures non sollicitées introduisent souvent de nouveaux bugs.

Sauvegarder avec Git : ton filet de sécurité

Git est l'outil que tous les développeurs utilisent pour sauvegarder l'historique d'un projet. L'idée tient en une image : à chaque étape qui marche, tu prends une « photo » (un commit) de ton projet. Si une expérimentation tourne mal, tu reviens à la dernière photo en un instant. Plus besoin d'avoir peur de casser : tout est réversible.

Si tu es sur un outil navigateur (Lovable, v0, Bolt), bonne nouvelle : la plupart gèrent l'historique des versions pour toi — cherche un menu « History » ou « Versions » et repère comment restaurer un état précédent. Si tu es sur Cursor ou Claude Code, demande simplement à l'IA de faire les commits pour toi, ou apprends les trois commandes essentielles :

bash
# À chaque étape qui marche, prends une photo du projet :
git add .
git commit -m "Ajout d'habitude fonctionne"

# Pour voir l'historique de tes photos :
git log --oneline

Le bon rythme : un commit après chaque fonctionnalité testée et validée. Le message du commit décrit ce qui marche (« cochage quotidien OK », « calendrier affiché »). Tom prend cette habitude dès la première soirée — et le jour où une expérimentation de design casse toute sa mise en page, il revient en arrière en trente secondes au lieu de tout reconstruire.

Avancer par petits pas sûrs

Une fonctionnalité testée et qui marche = un point d'appui solide. Tu construis sur du stable, pas sur du sable. C'est ce qui évite l'effet « tout est cassé et je ne sais pas pourquoi » qui décourage tant de débutants. La séquence complète de Tom pour chaque fonctionnalité : demander → tester → corriger si besoin → committer → passer à la suivante.

Cette méthode a un effet secondaire précieux : la confiance. Chaque petit pas validé est une victoire concrète, et la motivation se nourrit de victoires. À la fin du chapitre, l'app de Tom fait tout ce que prévoyait sa v1 — ajout, suppression, cochage quotidien, streak — et chaque brique a été vérifiée. Il est prêt pour la mise en ligne.

🛠️ À toi de jouer

Contexte

Tom a ajouté la fonction « cocher une habitude » mais quelque chose ne marche pas : le clic sur la case ne change rien à l'écran, et le streak reste à zéro. Plutôt que de paniquer ou d'envoyer « ça marche pas » à l'IA, il va appliquer la méthode complète de débogage — console, rapport de bug en quatre points, correction, re-test, et commit de sauvegarde. Reproduis cette méthode sur ta propre app, sur un vrai bug ou en suivant les étapes à vide pour t'entraîner.

Consignes

  1. Teste la nouvelle fonctionnalité immédiatement après génération, comme un vrai utilisateur.
  2. Recharge la page pour vérifier que les données persistent.
  3. Ouvre la console (F12) et repère la ou les lignes rouges éventuelles.
  4. Rédige un rapport de bug en 4 points : ce que tu faisais, ce que tu attendais, ce qui s’est passé, l’erreur exacte copiée-collée.
  5. Envoie le rapport à l’IA en demandant une correction minimale et une explication simple.
  6. Applique la correction et re-teste le cas normal ET un cas limite.
  7. Quand tout marche, sauvegarde : un commit Git ou un point de restauration dans ton outil.
Indice — « ça marche pas » ne suffit jamais : donne l'erreur exacte et le contexte. Et si l'IA échoue deux fois de suite sur la même correction, change de stratégie — refais la fonctionnalité de zéro ou demande des console.log de diagnostic.

En résumé

  • Le rythme : demander UNE chose, tester immédiatement, corriger, sauvegarder, recommencer.
  • Teste comme un utilisateur : cas normal, rechargement de page, cas limites.
  • La console du navigateur (F12) révèle les vrais messages d’erreur — copie-les tels quels.
  • Le rapport de bug parfait : ce que tu faisais, ce que tu attendais, ce qui s’est passé, l’erreur exacte.
  • Demande toujours une explication simple avec la correction : chaque bug devient une leçon.
  • Si l’IA tourne en rond : refais la fonctionnalité de zéro, ajoute du diagnostic, ou reformule.
  • Git (ou l’historique de ton outil) rend tout réversible : un commit après chaque étape validée.
  • Avancer par petits pas testés évite l’effet « tout est cassé et je ne sais pas pourquoi ».

Quiz — vérifie ta compréhension

1. Que fournir pour déboguer efficacement ?

L'erreur littérale de la console plus les quatre points du rapport de bug permettent un diagnostic immédiat.

2. Pourquoi tester à chaque étape ?

Avec un seul changement entre deux tests, le coupable d'un bug est toujours la dernière demande.

3. Comment ouvrir la console du navigateur ?

La console est intégrée à tous les navigateurs : F12 et l'onglet Console suffisent pour voir les erreurs en rouge.

4. L’IA échoue deux fois de suite à corriger le même bug. Que fais-tu ?

Insister sur une voie qui échoue fait tourner en rond. Repartir proprement sur la fonctionnalité est souvent plus rapide.

5. À quel moment faire un commit Git (ou un point de restauration) ?

Un commit par étape qui marche = un filet de sécurité permanent. Si une expérimentation casse tout, tu reviens en arrière en trente secondes.

Auteur(s)

R

REHOUMA Haythem

Haythem Rehouma est un ingénieur et architecte IA et cloud, formateur et enseignant technique, avec un profil orienté IA médicale, AWS, MLOps, LLM/RAG et vision par ordinateur.