L'écran blanc
Je travaillais sur ce blog, sur la page qui génère l'avant/après d'une pièce. J'avais demandé à Claude Code de modifier l'affichage des résultats pour que l'image générée apparaisse à côté de la photo d'origine. Claude avait fait le changement, confirmé que tout était en place. J'ai rafraîchi la page. Rien. Blanc. Pas une image, pas un bouton, pas un texte. Juste le fond de la page et le menu de navigation en haut, flottant au-dessus du vide.
Le ventre se serre un peu dans ces moments-là. On ne sait pas ce qui s'est passé. On ne sait pas si c'est grave. On ne sait pas si tout ce qu'on a construit depuis trois jours vient de disparaître ou si c'est juste un truc d'affichage. Le cerveau fait un calcul rapide entre "je ferme tout et je vais promener Crapule (le petit chien, ndlr)" et "je reste et j'essaie de comprendre". Souvent, Crapule gagne à ce jeu, enfin souvent Crapule gagne tout court, mais nous ne sommes pas là pour parler de mes qualités douteuses d'éducatrice canine.
La panique ne répare rien
Mon ancien réflexe, c'était la fuite organisée. Je fermais l'onglet. Je fermais le terminal. Parfois je fermais le Mac, comme si éteindre l'ordinateur allait remettre le code dans l'état d'avant. Puis je revenais vingt minutes plus tard, je relançais tout, et je retrouvais exactement le même écran blanc. Avec vingt minutes de moins et un niveau d'agacement en plus.
Quand ça ne marchait toujours pas, je passais au niveau suivant : tout refaire. Supprimer le composant, en recréer un, redemander à Claude Code de repartir de zéro. Trente minutes de travail pour arriver au même point qu'avant, sauf que cette fois je ne savais même plus ce que j'avais changé entre la version qui marchait et celle qui ne marchait plus.
J'ai fait ça pendant des semaines avant de comprendre un truc simple. Quand quelque chose fonctionnait il y a dix minutes et ne fonctionne plus maintenant, c'est qu'une seule chose a changé entre les deux. Pas dix. Pas le projet entier. Une. Trouver laquelle prend deux minutes. Tout reconstruire en prend trente. Le calcul est vite fait, mais la panique ne sait pas compter.
L'app te parle
Le truc que j'aurais aimé qu'on me dise plus tôt : quand quelque chose casse, l'application ne fait pas la grève en silence. Elle dit quelque chose. Toujours. Le problème, c'est qu'elle le dit dans des endroits qu'on ne regarde pas, ou dans un langage qu'on ne reconnaît pas comme du langage.
Il y a trois endroits où chercher. J'ai mis du temps à les repérer tous les trois, et maintenant c'est un automatisme.
Ce que Claude Code a écrit
Le premier endroit est le plus évident, et c'est celui que je ratais le plus souvent. Quand Claude Code exécute une modification et que quelque chose ne se passe pas comme prévu, il écrit un message en bas de la conversation. En français, lisible, souvent assez clair. Du type "Je n'ai pas pu modifier ce fichier parce qu'il n'existe pas" ou "L'import a échoué, le module n'est pas installé".
Je le ratais parce que je ne lisais pas jusqu'en bas. Claude Code avait terminé son message, je voyais que le texte s'arrêtait, et je passais directement au navigateur pour vérifier le résultat. Le message d'erreur était là, trois lignes au-dessus du curseur, et je ne le voyais pas. C'est comme recevoir un SMS qui dit "ta porte est ouverte" et se demander pourquoi il fait froid dans la maison.
Ce que le terminal affiche
Le deuxième endroit, c'est le terminal où tourne le serveur de développement. Ce terminal que j'ai appris à lancer dans les premiers articles de cette série et que j'oublie régulièrement de regarder. Quand quelque chose plante, il affiche du texte. Parfois beaucoup de texte. Des lignes entières de caractères qui ressemblent à du code, en rouge ou en jaune.
Au début, ce mur de texte me faisait fermer la fenêtre. Trop technique, trop dense, pas pour moi. Puis j'ai remarqué que dans ce mur, il y a presque toujours une ligne en langage humain. Quelque chose comme "Cannot find module" ou "TypeError: undefined is not a function". C'est de l'anglais, pas du français, mais c'est de l'anglais simple. Et surtout, c'est la seule ligne qui compte. Le reste, c'est le chemin que la machine a pris pour arriver à cette ligne. Le reste, je n'ai pas besoin de le comprendre.
Ce que la page montre
Le troisième endroit, c'est la page web elle-même, vue à travers l'inspecteur dont j'ai parlé à l'article 7. Parfois l'écran est blanc, mais l'inspecteur, lui, affiche un message. Un texte rouge dans l'onglet "Console" qui dit ce qui a coincé au moment où la page a essayé de se construire.
Sur Pimpela, mon écran blanc de la page avant/après venait de là. La page essayait d'afficher un composant qui faisait référence à une variable que Claude Code avait renommée sans mettre à jour partout. L'inspecteur disait exactement ça, en une ligne. J'avais juste besoin de la lire.
Copier-coller est une compétence sous estimée
La première fois que j'ai copié un message d'erreur brut dans Claude, je me suis sentie un peu ridicule. Le message faisait quatre lignes de charabia technique. Je ne comprenais pas un mot. J'ai tapé en dessous : "Je vois ça dans le terminal. J'étais en train de modifier l'affichage des articles du blog." Et j'ai envoyé.
Claude a répondu en trente secondes. Il a expliqué ce qui se passait, pourquoi, et ce qu'il fallait corriger. Pas en jargon. En phrases que je pouvais suivre. Le problème était un import manquant, un fichier qui appelait un autre fichier qui n'existait plus parce qu'il avait été déplacé lors de la modification précédente.
J'ai compris ce jour-là que la compétence, ce n'est pas de lire le message d'erreur soi-même. C'est de savoir qu'il existe, de savoir où il se trouve, et de savoir le donner à quelqu'un qui peut le lire. Claude est ce quelqu'un. Mon travail, c'est de faire le lien entre ce que je vois et ce que Claude sait interpréter.
Un détail qui change tout dans la qualité de la réponse : dire ce qu'on était en train de faire quand c'est apparu. "J'ai ce message d'erreur" donne une réponse générique. "J'ai ce message d'erreur, j'étais en train de modifier le composant qui affiche les résultats, et ça marchait avant que je te demande de déplacer le fichier utils" donne une réponse précise. Le contexte, c'est moi qui l'ai. Claude a la capacité de diagnostic, mais il a besoin de mes yeux.
Ce que ça change de savoir ça
Plus tard, j'ai voulu ajouter un filtre sur la page où les utilisatrices de Pimpela choisissent leur style déco. J'ai demandé la modification à Claude Code, il l'a faite, j'ai rafraîchi. La page s'affichait, mais le filtre n'apparaissait pas. Pas d'écran blanc cette fois, juste un élément manquant.
J'ai regardé le terminal. Rien de spécial. J'ai regardé ce que Claude Code avait écrit en fin de conversation. Il mentionnait qu'il avait créé le composant mais qu'il n'avait pas pu l'ajouter à la page principale parce que le fichier était verrouillé par un autre processus. C'était écrit noir sur blanc, en français, dans la dernière ligne de sa réponse.
J'ai copié cette ligne, je l'ai collée dans un nouveau message avec "le filtre ne s'affiche pas, je pense que c'est lié à ça". Claude Code a déverrouillé le fichier, ajouté le composant, et le filtre est apparu. Cinq minutes entre le moment où j'ai vu le problème et le moment où il était résolu.
Deux semaines plus tôt, j'aurais fermé l'onglet, promené Crapule, relancé le projet, redemandé la modification depuis le début, et perdu quarante minutes pour le même résultat. La différence entre les deux scénarios, ce n'est pas une compétence technique. C'est un réflexe. Regarder avant de fuir. Chercher la ligne qui parle. La copier. Dire ce qu'on faisait. Envoyer.
Les choses vont continuer à casser. Sur ce blog, sur Pimpela, sur les projets que je lancerai après, sur les projets que tu lanceras toi. Ce n'est pas la preuve que quelque chose a été mal fait, ou que le code est fragile, ou qu'on n'est pas faites pour ça. C'est le fonctionnement normal d'un projet qui bouge. Un projet qui ne casse jamais est un projet qui ne change pas.