Retour aux Guides
Builders

Bonnes pratiques de Claude Code : les habitudes qui donnent de meilleurs résultats

14 min de lecture


Quand une session de Claude Code se passe mal, la cause est presque toujours l’une de ces deux-là. Claude a construit autre chose que ce que tu avais en tête, ou il a dit « terminé » alors que le travail ne l’était pas. Aucune des deux n’est une faiblesse de l’outil. Toutes deux viennent d’informations que Claude n’avait pas.

Dis à Claude ce qu’il ne peut pas voir, et donne-lui un moyen de vérifier son propre travail.

Les habitudes ci-dessous sont celles qui comptent le plus, dans l’ordre où tu t’en serviras. Elles supposent que tu as déjà installé Claude Code et lancé une session. Sinon, commence par Claude Code pour débutants.

Comment se déroule une bonne session

Claude Code travaille en boucle : il rassemble du contexte, agit et vérifie le résultat. Tu fais partie de cette boucle toi aussi. Tu peux l’interrompre à tout moment pour le guider. Chaque habitude de ce guide améliore une partie de la boucle.

Habitude 1 : ne dis à Claude que ce qu’il ne peut pas voir

Claude commence chaque tâche en lisant ton code, et il le fait bien. Il trouve l’organisation de tes dossiers, ton framework de test et la façon dont les composants existants sont construits, en général plus vite que tu ne saurais les expliquer. Cela veut dire que la plupart de ce que tu es tenté de noter est déjà connu.

Ce qu’il ne peut pas trouver, c’est l’information qui n’a jamais été dans le dépôt : une décision prise en réunion, un processus de déploiement qui n’existe que dans la tête d’une personne, la variable d’environnement dont tes tests d’intégration ont besoin. Pose-toi deux questions avant d’ajouter une ligne à un prompt ou à CLAUDE.md :

  • Claude pourrait-il trouver ça en lisant le code ?

  • Irait-il vraiment regarder ?

Si les deux réponses sont oui, laisse la ligne de côté. De longues listes de faits évidents enterrent le seul fait qui compte. Le guide suivant, CLAUDE.md expliqué, montre où placer ceux qui doivent durer.

Habitude 2 : écris un prompt précis

Un prompt précis marche pour la même raison : il donne à Claude une information qu’il n’a pas. Nomme le fichier ou la zone, décris le symptôme, et dis à quoi ressemble « corrigé ». Si tu préfères l’une de deux approches raisonnables, dis laquelle, car Claude ne peut pas le lire dans le code.

Au lieu deEssaie
corrige le bug de connexiondes utilisateurs signalent que la connexion échoue après l’expiration de la session. regarde le renouvellement du jeton dans src/auth/, écris un test qui échoue et le reproduit, puis corrige
ajoute un widget calendriersuis le modèle de HotDogWidget.php et construis un widget calendrier qui permet de choisir un mois et de naviguer entre les années. aucune nouvelle bibliothèque
nettoie ce fichierdécoupe utils.ts en un fichier par responsabilité. garde le nom de chaque export identique pour qu’aucun import ne casse

Les meilleurs prompts nomment l’endroit, la preuve et les limites. Ils ne sont pas plus longs pour le plaisir. Chaque ajout supprime une supposition.

Prompt
“

Le paiement échoue pour les utilisateurs dont la carte a expiré. Le code concerné est dans src/payments/. Enquête d’abord et dis-moi ce que tu trouves. Ne modifie rien tant que je ne l’ai pas dit.

”

Remarque la délégation dans ce prompt. Tu donnes le contexte et la direction, puis tu laisses Claude déterminer quels fichiers lire et quelles commandes lancer.

Les mots magiques n’existent pas

Des expressions comme « réfléchis étape par étape » ou « sois minutieux » sont du texte de prompt ordinaire, pas des interrupteurs. L’intensité de réflexion de Claude est fixée par le niveau d’effort, que tu changes dans les réglages du modèle, pas par la formulation.

Habitude 3 : donne la chose au lieu de la décrire

Si tu as déjà ce dont Claude a besoin, donne-le directement. Taper la description d’une erreur est plus lent et moins précis que l’erreur elle-même.

  1. 1

    Référence un fichier avec @

    Tape @ et le chemin, comme @src/auth/session.ts, pour mettre le contenu de ce fichier dans ton message.

  2. 2

    Colle une image

    Colle une capture d’écran de la maquette voulue ou de l’erreur que tu vois. Claude lit les images.

  3. 3

    Envoie la sortie d’une commande

    Envoie la sortie directement depuis ton shell, par exemple cat error.log | claude -p "que se passe-t-il ici".

Habitude 4 : laisse Claude t’interviewer quand tu n’es pas sûr

Tu n’as pas à établir tout le plan avant de rédiger ton prompt. Quand une idée est encore floue, demande à Claude de t’interroger jusqu’à pouvoir écrire la spécification :

Prompt
“

Je veux ajouter une limitation de débit à l’API publique mais je n’y ai pas encore réfléchi à fond. Interviewe-moi jusqu’à pouvoir écrire la spécification, puis écris-la dans SPEC.md.

”

Claude revient avec des questions sur les points que tu n’as pas fixés : par utilisateur ou par clé, ce qui arrive aux requêtes au-delà de la limite, ce qui est hors périmètre. Quand les réponses concordent, il écrit SPEC.md. Démarre une nouvelle session pour construire à partir de ce fichier, afin que la construction commence avec un contexte propre et une définition écrite de « terminé ».

Pour tout ce qui présente un vrai risque, ajoute l’étape de plan du guide sur les permissions. Modes de permission et mode plan de Claude Code, expliqués montre comment faire explorer et proposer Claude avant qu’il modifie.

Habitude 5 : donne à Claude une vérification à lancer

C’est l’habitude qui a le plus d’effet. Claude s’arrête quand le travail a l’air terminé. S’il n’a rien à lancer qui lui dise si le travail est vraiment terminé, « a l’air terminé » est tout ce qu’il a. En pratique, tu deviens la suite de tests, et chaque erreur attend que tu la remarques.

Donne-lui quelque chose qui revient en réussite ou en échec, et Claude peut boucler la boucle tout seul : il fait le changement, lance la vérification, lit l’échec, le corrige et relance la vérification.

La vérification peut être presque n’importe quoi dont Claude sait lire le résultat :

  • un fichier de test
  • le code de sortie d’un build
  • un linter ou une vérification de types
  • un script qui compare la sortie à un exemple enregistré
  • une capture d’écran du navigateur placée à côté de la maquette

Si ton projet en a déjà une, la ligne la plus utile de ton CLAUDE.md est la commande qui la lance. À toi de choisir son niveau de rigueur :

NiveauCommentUtile pour
Dans le promptlance les tests d'auth ensuite, et continue jusqu'à ce qu'ils passentToute tâche, sans réglage
Comme objectif/goal all tests in tests/auth pass and lint is clean définit une condition qu’un modèle distinct vérifie après chaque tourLongues exécutions que personne ne surveille
Comme hook StopUn script qui s’exécute quand Claude essaie de terminer et le renvoie travailler s’il échoueUne règle qui doit toujours tenir
Par un relecteur neuf/code-review vérifie le diff dans un nouveau sous-agent qui n’a jamais vu ta conversationUn second avis

La vérification par laquelle commencer

Ajoute la commande de test exacte à CLAUDE.md, puis termine tes prompts par « lance-la et montre-moi la sortie ». Cela suffit à régler la plupart des problèmes du type « il a dit que c’était terminé ».

Habitude 6 : demande des preuves, pas du réconfort

« Tous les tests passent » tout seul ne t’apprend presque rien. Demande à Claude de montrer la commande qu’il a lancée et la sortie, ou la capture d’écran. Lire la sortie est plus rapide que lancer la vérification toi-même, et pour une session que tu n’as pas suivie, c’est la seule preuve que tu as.

Quand Claude dit que c’est terminé, tu peux aussi lancer /verify, qui lui fait compiler et exécuter l’appli puis regarder le résultat. Cela attrape le genre de problème que les tests et les vérifications de types ratent, comme une page qui se charge techniquement mais qui est visiblement cassée.

Dans Claude Tutorial

Vérifier le travail fait partie de la compétence

Savoir quoi vérifier et demander des preuves s’applique à tous les types de travail avec Claude, et l’appli s’y entraîne avec de vraies tâches, pas seulement du code.

Bientôt disponible
Télécharger dans l’App Store
DISPONIBLE SURGoogle Play

Habitude 7 : surveille la première minute et pilote tôt

Aucun réglage ne remplace le fait de regarder le début d’une tâche et d’intervenir quand Claude part dans une direction que tu n’avais pas prévue. Apprends ces commandes par cœur :

  • Esc arrête Claude en pleine action et garde tout ce qui a été fait jusque-là, pour que tu puisses le rediriger sans perdre de travail.
  • Tape puis appuie sur Entrée pendant que Claude travaille pour mettre une correction en file d’attente. Claude la lit dès que ses appels d’outils en cours sont terminés et s’ajuste.
  • /rewind, ou Esc deux fois sur une invite vide, ouvre un menu où tu ramènes le code, la conversation ou les deux à un point antérieur. Cela rend peu risqué d’essayer d’abord l’approche plus audacieuse.
  • /btw pose une petite question annexe sans l’ajouter à l’historique de la conversation.

Rewind couvre les fichiers modifiés par Claude, pas tout

Les fichiers modifiés uniquement par une commande shell ne sont pas restaurés, ni les bases de données ni les déploiements. Rewind fonctionne avec git. Il ne le remplace pas.

Habitude 8 : après deux corrections ratées, repars de zéro

Si tu as corrigé deux fois la même chose et que c’est toujours faux, une troisième correction s’ajoute à une conversation qui contient déjà deux tentatives ratées que Claude continue de relire. Lance /clear et écris un seul nouveau prompt qui inclut ce que tu as appris.

On a l’impression de perdre du terrain. Ça marche presque toujours mieux. Faire /clear entre des tâches sans rapport est aussi une bonne habitude en soi, car un contexte ciblé donne de meilleures réponses et coûte moins cher.

Pour un travail qui s’étale sur plusieurs jours, nomme la session avec /rename oauth-migration, puis reprends-la plus tard avec claude --resume oauth-migration. claude --continue reprend la plus récente.

Habitude 9 : garde des règles courtes, et sors les règles strictes de la prose

Tout ce que tu dis à Claude dans un prompt ou dans CLAUDE.md est une demande que le modèle lit et suit en général. Un hook, une règle de refus ou un réglage géré, c’est différent : Claude Code l’applique à chaque fois, quoi que décide le modèle.

Utilise le premier type pour presque tout, car Claude sait bien juger quand une consigne s’applique. Utilise le second pour les quelques règles qui ne souffrent aucune exception, comme « ne jamais modifier le client généré » ou « toujours lancer le formateur après avoir créé un fichier ».

Un signal à remarquer

Si tu continues d’ajouter de l’emphase à une ligne de CLAUDE.md et que Claude la rate toujours, la ligne a sa place dans un hook. L’inverse vaut aussi : si tu as construit des hooks pour de simples préférences, supprime-les.

Si ta session devient longue, regarde /context pour voir ce qui occupe la place. Claude compacte la conversation automatiquement, et un résumé peut perdre des instructions détaillées du début. Les règles permanentes vont dans CLAUDE.md, relu depuis le disque après /compact. Tu peux aussi guider le résumé : /compact focus on the API changes.

Des conseils que tu peux arrêter de suivre

Certains anciens conseils contournaient des choses que les modèles précédents ne savaient pas faire. Les modèles actuels ont rattrapé leur retard, et ces contournements coûtent maintenant plus qu’ils ne rapportent.

Ancien conseilPourquoi tu peux l’abandonner
Gérer la fenêtre de contexte de façon agressiveLa plupart des modèles actuels ont une très grande fenêtre et le compactage est automatique. /clear entre deux tâches reste utile.
Ajouter IMPORTANT ou des MAJUSCULES aux règlesUne formulation simple est suivie, et l’emphase pousse Claude à appliquer la règle à l’excès. Une règle qui ne peut pas fléchir est un hook.
Dire « réfléchis fort » ou « sois minutieux »L’effort est le vrai réglage. Ces expressions ne font que pousser un peu à l’intérieur.
Dire à Claude de continuer et de ne pas être paresseuxLes modèles poursuivent une tâche convenue. Donner à Claude une vérification à réussir est différent, et reste utile.
Décrire ton architecture dans CLAUDE.mdClaude lit le dépôt. N’écris que ce qu’il ne peut pas trouver.
Utiliser un sous-agent pour avoir une meilleure réponseDéléguer la même tâche ne l’améliore pas. Un relecteur neuf aide parce qu’il n’a pas vu ton raisonnement, et c’est autre chose.

Questions fréquentes

Comment obtenir de meilleurs résultats avec Claude Code ?

Donne-lui l’information qu’il ne peut pas voir, écris des prompts précis, fournis les fichiers et les erreurs au lieu de les décrire, et donne-lui une vérification qui réussit ou échoue. Pilote ensuite tôt avec Esc, et lance /clear quand les corrections ne marchent pas.

Pourquoi Claude Code dit-il que c’est terminé alors que ça ne l’est pas ?

Il s’arrête quand le travail a l’air terminé. Si rien qu’il puisse lancer ne prouve le contraire, « a l’air terminé » est tout ce qu’il a. Donne-lui un test, un build ou un linter à lancer, et demande-lui d’afficher la sortie.

Dois-je utiliser le mode plan à chaque fois ?

Non. Utilise-le quand un changement touche beaucoup de fichiers, quand tu ne comprends pas encore le code, ou quand une erreur coûterait cher. Pour un changement qui tient en une phrase, demande-le directement.

Quand dois-je utiliser /clear ?

Entre des tâches sans rapport, et après deux corrections ratées du même problème. Commence le nouveau prompt par ce que tu as appris.

Quelle différence entre CLAUDE.md et un hook ?

CLAUDE.md contient des instructions que Claude lit et suit en général. Un hook est un script que Claude Code exécute à un moment fixe, donc il s’exécute quoi que décide le modèle. Utilise un hook pour une règle sans exception.

Comment reprendre la session Claude Code d’hier ?

Lance claude --continue pour la conversation la plus récente, ou claude --resume pour en choisir une. Si tu as nommé une session avec /rename, utilise claude --resume <nom>.

Ta checklist des habitudes

  • Ton prompt nomme l’endroit, le symptôme ou l’objectif, et à quoi ressemble « terminé »

  • Claude a une commande à lancer qui revient en réussite ou en échec, et tu as demandé à voir sa sortie

  • Tu as surveillé la première minute et tu connais Esc, /rewind et /clear

  • CLAUDE.md ne contient que ce que Claude ne peut pas trouver dans le code, et les règles qui ne doivent jamais fléchir sont des hooks

  • Tu lis le diff avant de commiter, comme tu le ferais pour la pull request d’un collègue

Pour aller plus loin