Technique5 min de lecture

La commande /fix est magique (mais dangereuse)

Illustration de l'article : La commande /fix est magique (mais dangereuse)

Il est 23h. Tu codes depuis 3 heures sur une feature. Et là, PAF. Une erreur. Un message cryptique en rouge dans ton terminal (cette fenêtre noire où s'affichent les commandes et leurs résultats). Tu ne comprends rien. C'est du charabia.

Avant, tu aurais passé une heure sur Stack Overflow à chercher ce que ça veut dire. Maintenant ? Tu copies l'erreur, tu la colles à Claude, et 30 secondes plus tard, c'est corrigé.

Magique ? Absolument. Mais attention : cette magie cache des pièges que j'ai appris à mes dépens. Je te raconte tout.

Le Super Pouvoir du Debug Automatique

Imagine : tu as une erreur. Au lieu de la comprendre, de chercher sur Google, de lire des docs, tu dis simplement à Claude :

Prompt à donner à Claude

J'ai cette erreur : [colle l'erreur]. Corrige-la.

Et Claude fait tout le travail :

  1. Analyse l'erreur : Il comprend ce que le message veut dire (même quand c'est obscur)
  2. Trouve le fichier concerné : Il identifie où se situe le problème
  3. Comprend la cause : Il diagnostique pourquoi ça ne marche pas
  4. Propose une correction : Il suggère comment réparer
  5. Applique le fix : Si tu lui as donné les permissions d'écriture, il modifie directement le code

J'ai gagné des dizaines d'heures grâce à cette technique. Des erreurs qui m'auraient bloqué toute une soirée sont résolues en quelques secondes.

Mais voilà le problème...

Pourquoi Je Dis Que C'est "Dangereux"

Le danger, ce n'est pas que Claude fasse n'importe quoi. C'est que tu arrêtes de réfléchir.

Quand Claude corrige quelque chose automatiquement, plusieurs choses se passent (ou plutôt ne se passent pas) :

  • Tu ne lis pas forcément ce qu'il a changé : Le code marche maintenant, tu passes à autre chose
  • Tu ne comprends pas pourquoi ça marche : Tu n'as pas appris de cette erreur
  • Tu ne vérifies pas les effets secondaires : Peut-être qu'il a créé d'autres problèmes en corrigeant celui-ci

L'histoire du as any qui m'a hanté

Laisse-moi te raconter ma mésaventure. J'avais une erreur TypeScript (TypeScript, c'est un langage qui ajoute des vérifications de types à JavaScript pour éviter les bugs). Le message était incompréhensible, un truc sur des types incompatibles.

Je copie l'erreur, je la colle à Claude. Il "corrige" en ajoutant as any.

Pour les non-initiés : as any, c'est comme dire à TypeScript "fais-moi confiance, je sais ce que je fais". Sauf que TypeScript est là justement pour te dire quand tu te trompes.

Techniquement, l'erreur a disparu. Victoire ? Non. J'avais mis du scotch sur une fuite d'eau. Le vrai problème, c'était que je passais les mauvaises données à ma fonction. Le as any a juste masqué le symptôme.

Deux semaines plus tard, un bug bizarre en production. J'ai mis 4 heures à trouver la cause : ce fameux as any qui laissait passer des données invalides.

Leçon apprise : une erreur qui "disparaît" n'est pas forcément une erreur "corrigée".

La Règle d'Or du Debug avec Claude

Toujours regarder ce que Claude a changé avant de continuer.

Après chaque correction, prends 30 secondes pour comprendre. Demande :

Prompt à donner à Claude

Explique-moi ce que tu viens de changer et pourquoi ça corrige l'erreur. Parle-moi comme si j'étais débutant.

Si l'explication te semble logique, parfait. Si tu ne comprends pas, c'est un signal d'alarme. Soit l'explication est trop technique et tu dois demander des clarifications, soit Claude a fait un raccourci douteux.

Les Situations à Haut Risque

Toutes les corrections ne se valent pas. Voici les cas où tu dois être particulièrement vigilant.

1. Les corrections de sécurité

Claude peut "corriger" une erreur d'authentification en... désactivant l'authentification. Ou en relaxant des validations qui étaient là pour une bonne raison.

Prompt à donner à Claude

Attention, cette erreur concerne l'authentification. Propose une correction qui ne compromet pas la sécurité. Explique-moi les implications de chaque option.

Toujours vérifier quand la correction touche à :

  • L'authentification (login, mots de passe, tokens)
  • Les permissions (qui peut voir/modifier quoi)
  • Les données utilisateur (RGPD, données sensibles)
  • Les requêtes SQL (risque d'injection)
  • Les appels API (clés secrètes, rate limiting)

2. Les suppressions de code

Parfois, Claude supprime du code "inutile" pour corriger une erreur. Mais ce code avait peut-être une raison d'être que Claude ne connaît pas.

Prompt à donner à Claude

Tu as supprimé du code pour corriger l'erreur. Pourquoi ce code était-il problématique ? Est-ce qu'il avait une fonction que j'ai perdue maintenant ?

3. Les installations de packages

Claude adore proposer d'installer de nouvelles librairies pour résoudre des problèmes. Mais chaque package que tu ajoutes :

  • Augmente la taille de ton projet
  • Crée une dépendance que tu devras maintenir
  • Peut avoir des failles de sécurité
  • Peut devenir obsolète
Prompt à donner à Claude

Tu proposes d'installer [nom du package]. Est-ce vraiment nécessaire ? Je ne peux pas faire la même chose avec ce que j'ai déjà ? Ce package est-il bien maintenu et populaire ?

Vérifie sur npm : regarde le nombre de téléchargements hebdomadaires, la date de dernière mise à jour, et le nombre d'issues ouvertes sur GitHub.

4. Les modifications de configuration

Les fichiers de config (comme .env, package.json, tsconfig.json) sont sensibles. Une petite modification peut avoir des effets en cascade.

Prompt à donner à Claude

Tu as modifié la configuration. Quels effets cette modification va-t-elle avoir sur le reste du projet ? Y a-t-il des risques ?

Comment Bien Debugger avec Claude : Les 3 Niveaux

J'ai développé un système en 3 niveaux selon la criticité de l'erreur.

Niveau 1 : Le Quick Fix (confiance maximale)

Pour les petites erreurs sans conséquence :

  • Typos (fautes de frappe dans le code)
  • Imports manquants
  • Points-virgules oubliés
  • Variables mal nommées
Prompt à donner à Claude

Corrige cette erreur : [erreur]

Tu peux faire confiance à Claude pour ces corrections. C'est mécanique, il n'y a pas de piège.

Niveau 2 : Comprendre avant de corriger (confiance modérée)

Pour les erreurs que tu ne comprends pas :

Prompt à donner à Claude

J'ai cette erreur : [erreur]. Avant de la corriger, explique-moi : 1. Qu'est-ce que cette erreur signifie en termes simples ? 2. Pourquoi elle se produit dans mon code ? 3. Comment ta correction va résoudre le problème ? Ensuite seulement, propose la correction.

Tu comprends le problème AVANT de le corriger. Tu apprends quelque chose. Et tu peux valider que la correction a du sens.

Niveau 3 : Explorer les options (confiance minimale)

Pour les erreurs critiques ou de sécurité :

Prompt à donner à Claude

J'ai cette erreur : [erreur]. C'est dans un contexte sensible (authentification / paiement / données utilisateur). Donne-moi 2-3 façons différentes de la corriger. Pour chaque option : - Explique ce que tu modifies - Les avantages de cette approche - Les risques ou inconvénients potentiels - Le niveau de sécurité maintenu Je choisirai ensuite quelle option appliquer.

Tu gardes le contrôle. Tu fais un choix éclairé. Tu ne laisses pas Claude décider seul sur des sujets critiques.

Mon Workflow de Debug Quotidien

Voici comment je gère les erreurs maintenant :

  1. Erreur simple (syntaxe, import) → Je laisse Claude corriger directement
  2. Erreur que je ne comprends pas → Je demande d'abord une explication
  3. Erreur dans du code sensible → Je demande les options et je choisis
  4. Après CHAQUE correction → Je relis le diff (les changements)

La commande magique pour voir les changements

Si Claude a les permissions d'écriture et fait des modifications, utilise Git (le système de versionnement qui sauvegarde l'historique de ton code) pour voir ce qui a changé :

Prompt à donner à Claude

Montre-moi ce que tu as changé avec git diff

Le git diff te montre exactement quelles lignes ont été ajoutées (en vert) et supprimées (en rouge). C'est ton filet de sécurité.

Si le changement ne te plaît pas :

Prompt à donner à Claude

Annule les changements avec git checkout -- [nom du fichier]

Ou pour tout annuler :

Prompt à donner à Claude

Annule tous les changements non commités avec git checkout .

Si tu n'es pas à l'aise avec Git, j'ai écrit un article complet : Git pour les nuls : sauvegarder votre travail.

Les Erreurs de Debug Que Je Vois Souvent

Voici les pièges dans lesquels tombent beaucoup de débutants avec Claude.

Piège 1 : Empiler les corrections

Tu as une erreur. Claude corrige. Une nouvelle erreur apparaît. Claude corrige. Encore une erreur. Et ainsi de suite.

Si tu te retrouves dans une boucle de corrections, STOP. C'est le signe que quelque chose de fondamental ne va pas. Demande :

Prompt à donner à Claude

On tourne en rond avec ces erreurs. Prends du recul : quel est le vrai problème sous-jacent ? Est-ce que mon approche est la bonne ?

Piège 2 : Ne jamais relire le code

Le code qui "marche" n'est pas forcément du bon code. Après une session de debug intense avec Claude, prends le temps de relire ce qui a été modifié :

Prompt à donner à Claude

Résume toutes les modifications qu'on a faites pendant cette session de debug. Est-ce que le code est propre et maintenable ? Y a-t-il des choses à améliorer maintenant que ça marche ?

Piège 3 : Ignorer les warnings

Les erreurs bloquent ton code. Les warnings (avertissements) le laissent tourner mais signalent des problèmes potentiels. Ne les ignore pas :

Prompt à donner à Claude

Mon code a ces warnings : [warnings]. Sont-ils importants ? Comment les résoudre proprement ?

L'Art de Formuler l'Erreur

La qualité de la correction dépend aussi de comment tu présentes l'erreur à Claude.

Mauvais :

"Mon code marche pas"

Moyen :

"J'ai cette erreur : TypeError: Cannot read property 'name' of undefined"

Excellent :

"J'ai cette erreur : TypeError: Cannot read property 'name' of undefined

>

Elle apparaît quand j'essaie d'afficher la page de profil utilisateur. Le code est dans components/UserProfile.tsx. Je pense que ça vient du fait que l'utilisateur n'est pas encore chargé quand le composant s'affiche."

Plus tu donnes de contexte, plus la correction sera pertinente et sûre.


Pour Aller Plus Loin

Le debug avec Claude, c'est 3 mots : rapide, mais vigilant.

Claude est un assistant de debug extraordinaire. J'ai résolu des bugs en 30 secondes qui m'auraient pris des heures. Mais comme tout outil puissant, il demande du discernement. La règle : fais confiance, mais vérifie.

Plus tu deviens à l'aise avec le code, plus tu sauras quand vérifier en détail et quand laisser Claude gérer. C'est une compétence qui se développe avec la pratique.

Pour ceux qui veulent aller plus loin : on a créé le Workshop "Bâtir avec l'IA".

Articles connexes pour aller plus loin :

— Charles

Photo de Charles Krzentowski

Écrit par

Charles Krzentowski

Passionné par l'IA et le développement, j'explore les nouvelles façons de coder avec les assistants intelligents.

Voir tous ses articles →