Guide · Développement logiciel × IA · Octobre 2026

Comprendre Claude Code et l’utiliser efficacement

Même outil, même modèle : certains développeurs en tirent des fonctionnalités entières, d’autres du code à jeter. La différence n’est pas dans le prompt. Elle est dans la méthode, et dans ce que vous écrivez avant que Claude écrive la première ligne.

Écrit pour
  • les devs

Mardi, 10 h. Deux développeurs de la même équipe ouvrent Claude Code sur le même dépôt, avec le même modèle et le même abonnement. À midi, le premier a livré sa fonctionnalité, tests compris, et il a eu le temps de relire chaque ligne. Le second regarde un diff de quatorze fichiers pour ce qui devait être un simple export CSV, et Claude lui assure, avec un enthousiasme intact, que tout est terminé.

Personne ne lui avait demandé un service générique. Personne ne lui avait interdit non plus. Et c’est tout le sujet de cet article.

J’utilise Claude Code dans mes projets personnels comme professionnels, et j’ai vécu les deux versions de ce mardi. J’en retiens une conclusion simple :

Avec un agent comme Claude Code, le prompt compte moins que l’organisation.L’organisation, ce sont quatre choses, et l’article les reprend une à une.
Ce qu’il sait

avant de commencer : le contexte, la mémoire, la spec.

Ce qu’il a le droit de faire

seul, avec votre accord, ou jamais.

Comment il vérifie

son travail : tests, types, rendu.

Qui relit

à la fin, et ce qui est poussé.

La question qu’on pose partout Quel est le meilleur prompt pour Claude Code ?
La question que je vous propose Quelle façon de travailler pour quel besoin, et que dois-je écrire, moi, pour que le code qu’il écrit soit le bon ?

Dans l’article « L’IA va-t-elle remplacer les développeurs ? Mauvaise question. », je défendais l’idée que le développeur passe du rôle d’auteur à celui d’éditeur, et que le cahier des charges redevient le vrai code. L’article « Comprendre l’IA et maîtriser son jargon » posait le vocabulaire : le contexte, l’agent, le harnais, MCP, les skills. Celui-ci passe à la pratique, avec l’outil qui m’a fait changer de façon de travailler.

Comme on parle à des développeurs, l’article est construit comme une branche Git : un commit par partie, et un merge à la fin. On commence par ouvrir le capot, parce qu’on ne pilote bien que ce qu’on comprend. Viennent ensuite les sept façons de travailler avec Claude Code, sans jugement, puis la mienne, avec mes raisons. On termine à l’atelier, avec des fichiers de configuration que vous pourrez copier, et un programme pour votre première semaine.

Cet article décrit Claude Code tel qu’il est fin octobre 2026. L’outil évolue chaque semaine : les principes tiendront, les commandes et les options bougeront. Pour le détail à jour, la référence reste la documentation officielle. Je mettrai l’article à jour quand l’essentiel changera.
Partie 1

Sous le capot

On ne pilote bien que ce qu’on comprend. Avant de parler méthode, ouvrons le capot : ce que Claude Code est vraiment, ce qu’il voit, ce qu’il retient, et qui tient le volant. Deux images nous y aideront, et nous suivront jusqu’à la fin de l’article : un nouveau collègue, pour sa façon de travailler, et une voiture, pour la façon dont il est construit et conduit.

Un harnais, pas une autocomplétion

Définition

Claude Code n’est pas un modèle. C’est un harnais : un programme qui tourne sur votre machine et qui entoure un modèle d’Anthropic (Opus, Sonnet, Haiku ou Fable) d’outils, de permissions, d’une mémoire et d’une boucle.

Le mot vient de l’article « Comprendre l’IA et maîtriser son jargon ». Le modèle, lui, ne touche jamais votre disque. Il demande à lire un fichier ou à lancer une commande ; Claude Code vérifie qu’il en a le droit, exécute, et lui rend le résultat. Puis le modèle décide de la suite.

La boucle de Claude Code. Votre message rejoint le contexte (instructions, CLAUDE.md et mémoire, descriptions des skills, outils, conversation). Le modèle lit tout le contexte et soit répond, soit demande un outil. La demande passe par les permissions, l’outil s’exécute sur votre machine, et son résultat rejoint le contexte. La boucle recommence jusqu’à la réponse finale. Vous un message Le contexte tout ce que le modèle voit instructions du harnais CLAUDE.md et mémoire descriptions des skills définitions des outils, MCP la conversationmessages, fichiers lus, sorties Le modèle lit tout, décide répond quand c’est fini demande Permissions autorisé ? refusé ? on vous demande ? L’outil s’exécute sur votre machine lire · chercher · modifier · lancer · web · déléguer le résultat rejoint le contexte
La boucle : une demande simple en fait quelques tours, une fonctionnalité plusieurs dizaines.
À retenir

À chaque tour de boucle, tout ce qui est lu ou affiché s’ajoute au contexte. Ce détail explique la moitié des conseils de cet article.

Image n° 1 · le collègue

Un nouveau collègue, chaque matin

Conséquence directe de la boucle : Claude Code ne « connaît » pas votre projet. Il le découvre à chaque session, en lisant. Imaginez un nouveau collègue, brillant et très rapide, qui arriverait chaque matin sans aucun souvenir de la veille. Pour bien travailler avec lui, il faut savoir ce qu’il a dans la tête, ce qu’il peut faire de ses mains, ce qu’il pose sur son bureau, et ce qu’il note dans son carnet.

Claude Codele collègue qui arrive chaque matin sans souvenir de la veille
Son cerveau= le modèle

Il comprend, raisonne et décide. C’est aussi le moteur de la voiture, plus bas.

Ses mains= les outils

Lire, chercher, modifier, lancer une commande. Sans outil, il ne peut que parler.

Son bureau= le contexte

Tout ce qu’il a sous les yeux pendant qu’il travaille. Grand, mais pas infini.

Son carnet= la mémoire

Ce qui survit à la nuit : uniquement ce qui est écrit dans des fichiers.

Son équipement (le badge, la fiche d’accueil, le classeur de procédures, les spécialistes à qui il délègue) attend en partie 4, à l’atelier.

Avant de commencer, il ne sait donc que trois choses : ce que vous lui avez écrit, ce qu’il a noté lui-même, et ce qu’il trouve en cherchant. Tout le reste, il le devine. Voyons chaque trait de plus près.

Le collègue · ses mains

Les outils intégrés

Un outil, c’est une action que le modèle peut demander. Claude Code en fournit une dizaine, et vous pouvez en ajouter d’autres (on y vient en partie 4). Vous les verrez défiler dans le terminal sous leur nom anglais.

Lire et chercherRead, Glob, Grep : ouvrir un fichier, trouver des fichiers par leur nom, chercher dans leur contenu.
ModifierEdit, Write : remplacer un passage précis, ou écrire un fichier entier.
ExécuterBash : tests, build, git, n’importe quelle commande. Le plus utile, et le plus dangereux.
Le webWebSearch, WebFetch : chercher, lire une page de documentation.
DéléguerAgent : confier une sous-tâche à un sous-agent, qui travaille dans son propre contexte.
S’organiserUne liste de tâches qu’il tient à jour pendant le travail (Ctrl+T pour l’afficher).
Vous demanderDes questions à choix multiple quand une décision vous revient.
Les extensionsLes outils des serveurs MCP et les skills, que vous ajoutez vous-même.
Le collègue · son bureau

Le contexte, sa mémoire de travail

L’article « Comprendre l’IA et maîtriser son jargon » comparait le contexte à un bureau : tout ce que le modèle doit avoir sous les yeux pour travailler y est posé, et sa taille est limitée. Sur les modèles récents, Claude Code dispose d’un bureau immense, un million de tokens, de quoi poser plusieurs milliers de pages.

Ce qui est déjà posé quand vous tapez votre premier message : les instructions du harnais, vos fichiers CLAUDE.md, l’index de sa mémoire automatique, une ligne de description par skill, la définition des outils (pour les serveurs MCP, seuls les noms sont chargés au départ, le détail vient à la demande). Ensuite, tout s’accumule : vos messages, chaque fichier lu, chaque sortie de commande, chaque réponse.

Premier message
Une heure plus tard
Trois tâches plus tard
Après le résumé
Posé au départ (instructions, CLAUDE.md, outils)Vos messages et ses réponsesFichiers lus, sorties de commandesRésumé automatique

Proportions illustratives. Pour voir les vôtres, tapez /context.

Quand le bureau approche de la limite, Claude Code le compacte : il remplace l’historique par un résumé, puis recharge vos CLAUDE.md, sa mémoire et le plan en cours. C’est pratique, et c’est une perte.

L’image

Le compactage, c’est le compte rendu d’une longue réunion : les décisions restent, les nuances que vous aviez mis vingt minutes à expliquer disparaissent.

Surtout, un grand bureau n’est pas un bureau rangé. Anthropic le reconnaît elle-même dans ses publications sur le context engineering : plus le contexte est chargé, moins l’attention du modèle est précise. Les spécialistes parlent de context rot, le contexte qui « pourrit ». Une consigne donnée au début d’une longue session pèse moins lourd que les 300 lignes de logs qui ont suivi. D’où la règle la plus rentable de cet article :

Une tâche, une session./clear entre deux sujets sans rapport. /compact suivi d’une consigne (« garde les décisions sur le format des dates ») pour continuer en allégeant. /btw pour une question en passant, qui ne s’ajoute pas à l’historique. Et les sous-agents pour les recherches larges : ils lisent cinquante fichiers sur leur propre bureau, et ne vous rapportent que leur conclusion.
Le collègue · son carnet

Ce dont il se souvient

Puisque le bureau est vidé chaque soir, tout ce qui doit durer passe par des fichiers. Claude Code en connaît quatre sortes, et les confondre est une source classique de déception.

MémoireL’imageQui l’écritOùQuand elle est lue
CLAUDE.mdLa fiche d’accueil qu’on lui remet chaque matinVous (et l’équipe)~/.claude/CLAUDE.md pour vous, ./CLAUDE.md pour le projet (versionné), CLAUDE.local.md pour vos notes perso (hors Git), un par sous-dossier si besoinAu lancement ; ceux des sous-dossiers, quand Claude y lit un fichier. Un @chemin importe un autre fichier.
RèglesLa note collée sur une armoire préciseVous.claude/rules/*.md, limitables à certains fichiers (paths:)Au lancement, ou quand Claude touche aux fichiers concernés
Mémoire automatiqueSon carnet personnelClaude, de lui-même~/.claude/projects/<projet>/memory/, avec un index MEMORY.mdLe début de l’index à chaque session ; le reste à la demande. /memory pour la consulter ou la couper.
Sessions et points de retourL’enregistrement de la réunion, et la touche « annuler »Claude CodeL’historique de chaque conversationQuand vous reprenez (claude -c, /resume) ou revenez en arrière (/rewind, Échap deux fois)
Un conseil, pas une contrainte

Claude lit le CLAUDE.md, le suit presque toujours, et peut l’oublier dans une session chargée.

Ce qui ne doit jamais arriver se verrouille avec une permission ou un hook (partie 4).

Pas un substitut à Git

Les points de retour suivent les fichiers que Claude modifie lui-même, pas les effets de ses commandes.

Un rm ou une migration ne se « rembobinent » pas.

Votre équipe utilise plusieurs agents ? Claude Code lit aussi un fichier AGENTS.md, le format partagé par d’autres outils, quand aucun CLAUDE.md n’est présent. Et rien ne vous empêche d’écrire @AGENTS.md dans votre CLAUDE.md pour ne maintenir qu’un seul fichier.
Image n° 2 · la voiture

Un moteur, une voiture, plusieurs carrosseries

Le collègue dit comment Claude Code travaille. Pour comprendre comment il est construit, et qui le conduit, changeons d’image. L’article « Comprendre l’IA et maîtriser son jargon » distinguait le modèle et le produit comme on distingue le moteur et la voiture. Claude Code est une voiture construite autour d’un moteur d’Anthropic. Chaque pièce correspond à un réglage que vous allez croiser.

La voiture Claude Code. La voiture elle-même est le harnais : la boucle, les outils, la mémoire. Le moteur est le modèle, et son régime l’effort. Le volant, ce sont les modes de permission : qui conduit. La carrosserie, c’est la surface : terminal, éditeur, application de bureau, web, mobile ou intégration continue. Les glissières de sécurité, ce sont le bac à sable et les interdictions, qui tiennent quel que soit le conducteur. La voiture = le harnais Claude Code : la boucle, les outils, la mémoire La carrosserie = la surface terminal, éditeur, bureau, web, mobile, CI Le volant = les modes de permission qui conduit : vous, lui, ou les deux Le moteur = le modèle Opus, Sonnet, Haiku, Fable son régime = l’effort Les glissières = le bac à sable et les interdictions elles tiennent quel que soit le conducteur
Le même moteur peut équiper plusieurs carrosseries, et chaque voiture se conduit de plusieurs façons. C’est ce que détaillent les trois sections suivantes.
La voiture · la carrosserie

Les surfaces : terminal, éditeur, web…

Le même harnais existe sous plusieurs formes. Elles partagent vos réglages et vos fichiers de configuration ; ce qui change, c’est l’endroit où tourne la boucle et la façon dont vous la regardez.

SurfaceCe qu’elle apportePour qui, pour quoi
Le terminalToutes les fonctionnalités, en premier. Scriptable.La référence. C’est là que tout arrive d’abord.
VS Code, JetBrainsLes diffs dans l’éditeur, la sélection courante comme contexte.Le binôme, quand on veut voir chaque modification à sa place.
L’application de bureauRelecture visuelle des diffs, plusieurs sessions côte à côte, aperçu du navigateur.Mener plusieurs chantiers en parallèle sans jongler entre les terminaux.
Le web (claude.ai/code)Des sessions dans le cloud, qui continuent quand vous fermez l’ordinateur. claude --cloud en lance une, claude --teleport la rapatrie.Les tâches longues, ou lancées depuis une autre machine.
Le mobileLancer et suivre des tâches ; piloter une session locale à distance (/remote-control).Débloquer une question de l’agent depuis le métro.
Slack, GitHub, GitLabOn mentionne @claude dans un fil, une issue, une pull request.L’équipe, et l’intégration continue.
claude -p et l’Agent SDKSans interface : une commande pour les scripts, une bibliothèque Python et TypeScript pour vos propres agents.L’automatisation, et ceux qui construisent leurs propres outils.
Installation (macOS, Linux, WSL), puis lancement dans un projet
$ curl -fsSL https://claude.ai/install.sh | bash   # Windows : irm https://claude.ai/install.ps1 | iex
$ cd ~/mon-projet && claude                       # et claude doctor si quelque chose coince

Il faut un abonnement Claude payant (Pro, Max, Team ou Enterprise) ou un compte API. Les tarifs changent souvent : la page officielle fait foi, et /usage vous dit où vous en êtes.

La voiture · le volant

Qui conduit : les modes de permission

C’est le réglage le plus important, et le moins regardé. Il décide de ce que Claude peut faire sans vous demander, autrement dit de qui tient le volant. Maj+Tab fait défiler les modes en cours de session, et le mode actif s’affiche sous la zone de saisie.

Planplan

On étudie la carte, moteur coupé.

Lecture seule. Claude explore, réfléchit et propose un plan, sans rien modifier. /plan suivi de la tâche y entre directement.

Pour comprendre, concevoir, préparer.
Manueldefault

L’auto-école : il conduit, vous gardez la pédale de frein.

Claude demande votre accord avant chaque modification de fichier et chaque commande. Vous voyez tout passer.

Pour le code sensible, le binôme pas à pas.
Modifier sans demanderacceptEdits

Il conduit seul en ville ; pour prendre l’autoroute, il vous demande.

Les modifications de fichiers passent seules, les commandes demandent encore. Vous relisez le diff à la fin.

Pour exécuter un plan déjà validé.
Autoauto

Il conduit, et un copilote freine dès qu’il sort de l’itinéraire.

Un second modèle, un classifieur, examine chaque action qui n’est ni une lecture ni une modification du dossier de travail, et bloque ce qui sort de votre demande : une escalade, une infrastructure inconnue, une consigne hostile lue dans un fichier. Après trois blocages d’affilée, il recommence à vous demander.

Le mode de départ des nouvelles sessions dans le terminal et VS Code.
Sans opérateurdontAsk

La navette sans chauffeur : seulement les trajets autorisés.

Personne pour répondre : tout ce qui n’est pas explicitement autorisé est refusé, sans question.

Pour les scripts et l’intégration continue.
Tout permisbypassPermissions

Le circuit fermé : pied au plancher, mais sur piste.

Plus aucune question. Seules les règles d’interdiction (deny) tiennent encore, dans ce mode comme dans tous les autres.

Uniquement dans un conteneur jetable, sans secrets.
À savoir

Le mode auto est devenu le mode par défaut des nouvelles sessions.

Pour travailler en binôme, il faut repasser en manuel, une fois par session ou une fois pour toutes dans vos réglages.

Les permissions ne sont pas la seule barrière. /sandbox active une isolation au niveau du système d’exploitation pour les commandes shell : écriture limitée au dossier du projet, réseau filtré par une liste de domaines. Ce sont les glissières de notre voiture : la permission décide si une commande peut partir, le bac à sable limite ce qu’elle peut abîmer.

La voiture · le moteur

Modèles, effort, réflexion

/model choisit le moteur (Option+P sur Mac, Alt+P ailleurs). Les alias opus, sonnet, haiku et fable pointent toujours vers la dernière version de chaque famille, et opusplan utilise Opus pour planifier puis Sonnet pour exécuter.

/effort règle le régime, c’est-à-dire l’intensité de la réflexion, de low à max : plus d’effort, c’est une meilleure réponse sur un problème difficile, et plus de temps et de tokens sur un problème facile. Le mot ultrathink dans un message pousse la réflexion pour ce tour seulement. /fast active un mode rapide sur Opus, plus cher, en préversion.

Ma règle empiriqueLe moteurLe régime
Planifier, concevoir, déboguer un problème retorsLe plus capablePar défaut, plus haut si le premier essai échoue
Exécuter un plan clairUn modèle plus rapidePar défaut
Les sous-agents qui fouillent le codeLe plus légerPar défaut

4e1b0d2partie 1 : un harnais, une boucle, un contexte qui se remplit

Vous connaissez maintenant le collègue et sa voiture : une boucle qui lit, agit et vérifie, un bureau qui se remplit, un carnet fait de fichiers, et des modes qui décident qui tient le volant. Avec ces mêmes pièces, on peut conduire de sept façons très différentes.

Partie 2 · Sept façons de travailler
Partie 2

Sept façons de travailler

Dans l’article « L’IA va-t-elle remplacer les développeurs ? », je classais les outils d’IA pour développeurs sur une échelle d’autonomie, de N0 (sans IA) à N5 (de la phrase à l’application). Claude Code y figurait en N4, parmi les agents. C’était vrai, et incomplet : selon la façon dont on s’en sert, il couvre presque toute l’échelle. Voici les sept usages que je rencontre, classés selon qui tient le volant. Aucun n’est le bon dans l’absolu.

Vous tenez le volantClaude tient le volant

Chaque fiche suit le même format : le principe, un exemple de demande, les réglages qui vont avec, et le piège. Lisez en diagonale celles qui ne vous concernent pas encore, et faites le test de l’aiguilleur à la fin.

1

L’explorateur

Comprendre avant de toucher
Autonomie

Vous posez des questions, Claude lit le code, l’historique Git, la documentation, et vous explique. Il ne modifie rien. C’est l’usage le plus sous-estimé de l’outil, et souvent le plus rentable : une base de code inconnue se lit en une heure au lieu d’une semaine.

Idéal pour
Arriver sur un projet, reprendre du code ancien, préparer une estimation, comprendre un bug avant de le corriger.
Votre place
Aux commandes. Vous menez l’enquête, il fouille.
Réglages
Mode plan (lecture seule). Pour les questions larges, il déléguera la fouille à son sous-agent Explore, qui ne rapporte que sa conclusion.
Le piège
Une explication fluide n’est pas une explication juste. Exigez des références (fichier:ligne) et vérifiez-en une ou deux.
Exemple de demande
> Explique-moi comment une commande passe de « panier »
  à « payée ». Trace le chemin dans le code, avec
  fichier:ligne à chaque étape. Ne modifie rien.

> Pourquoi ce test est-il désactivé ? Cherche dans
  l’historique Git qui l’a fait, quand, et pourquoi.
2

Le binôme

Pas à pas, chaque modification validée
Autonomie

Du pair programming, au sens propre. Vous découpez en petites étapes, Claude propose chaque modification, vous l’acceptez, la refusez ou la corrigez. Vous restez dans le code, et vous l’interrompez dès que ça dérive.

Idéal pour
Le code sensible (paiement, sécurité, données personnelles), les petites corrections, apprendre un langage ou une base de code.
Votre place
À côté de lui, sur chaque ligne.
Réglages
Mode manuel (default). L’extension VS Code ou JetBrains, pour voir chaque diff à sa place. Échap pour l’arrêter, Échap deux fois pour revenir à un point précédent.
Le piège
La fatigue de validation. Au trentième « oui », on ne lit plus. Si vous validez sans lire, changez de méthode plutôt que de faire semblant.
Exemple de demande
> Dans src/pricing/discount.ts, la remise fidélité
  s’applique avant la TVA. Elle doit s’appliquer après.
  Écris d’abord le test qui le prouve, montre-le-moi,
  puis propose la correction.
3

Plan, puis code

S’accorder avant d’écrire
Autonomie

Claude explore et propose un plan en lecture seule ; vous l’amendez ; il l’exécute d’une traite ; vous relisez le diff et vous commitez. C’est le cycle « explorer, planifier, coder, commiter » qu’Anthropic recommandait dès ses premières bonnes pratiques, en 2025. Il reste la meilleure porte d’entrée pour qui débute avec un agent.

Idéal pour
Une fonctionnalité de quelques fichiers, un bug non trivial, un refactoring localisé.
Votre place
En amont (le plan) et en aval (le diff).
Réglages
/plan ou Maj+Tab pour planifier, puis « modifier sans demander » pour exécuter. L’alias de modèle opusplan est fait pour ça. Ctrl+G ouvre votre éditeur pour rédiger un long message confortablement.
Le piège
Valider un plan survolé. Un plan de dix lignes pour cinq fichiers cache des décisions que Claude prendra seul. Lisez-le comme une revue de code.
Exemple de demande
> /plan Ajoute la pagination à l’API /orders, par
  curseur et pas par offset. Regarde d’abord comment
  /products le fait. Propose un plan, et pose-moi
  tes questions avant de coder.
4

Piloté par la spec

Le fichier fait foi, pas la conversation
Autonomie

Le plan ne reste pas dans la conversation : il devient un fichier du dépôt, avec le besoin, les critères d’acceptation, ce qui est hors sujet, les étapes et un tableau de suivi. Chaque étape se joue dans une session neuve, tests d’abord, et le fichier survit à toutes les sessions. C’est ma méthode, détaillée en partie 3.

Idéal pour
Tout ce qui dure plus d’une session, tout ce qui part en production, et le travail en équipe.
Votre place
Auteur de la spec, éditeur du code.
Réglages
Mode plan pour écrire la spec avec Claude, puis « modifier sans demander » ou auto pour chaque étape. /clear entre deux étapes. Une règle dans CLAUDE.md qui dit comment lire le fichier.
Le piège
La spec-roman et la spec morte. Trop longue, personne ne la lit, Claude non plus. Et une décision prise dans la conversation sans être reportée dans le fichier n’existe plus à la session suivante.
Exemple de demande
> J’ai décrit le besoin dans docs/chantier-export-csv/
  BESOIN.md. Interroge-moi sur ce qui manque, puis écris
  PLAN.md : critères, hors sujet, étapes, suivi.

  … (quelques échanges plus tard, nouvelle session)

> step 2 du fichier docs/chantier-export-csv/PLAN.md
5

Le prototype

Du vibe coding, assumé
Autonomie

Vous décrivez, Claude produit, vous jugez sur le résultat visible, sans lire le code. C’est le vibe coding décrit dans l’article « L’IA va-t-elle remplacer les développeurs ? », et il est parfait pour ce pour quoi il a été inventé : explorer vite, puis jeter. Le collage d’une capture d’écran (Ctrl+V) suffit souvent à dire ce qui ne va pas.

Idéal pour
Tester une idée, une démo, un outil personnel, comparer plusieurs pistes de design.
Votre place
Client exigeant : vous jugez l’écran, pas le code.
Réglages
Mode auto. Dans un dossier ou une branche à part, idéalement un worktree (claude -w maquettes), pour ne rien polluer.
Le piège
Le prototype qui part en production. Écrivez « jetable » dans le nom du dossier. Si l’idée est bonne, on repart d’une spec, pas du prototype.
Exemple de demande
> Fais trois maquettes très différentes de la page
  d’accueil, dans jetable/accueil-a.html, -b et -c.
  Code jetable : vise l’effet, pas la qualité.

> [Image #1] La B, mais avec le titre de la A et
  moins de couleurs.
6

L’orchestre

Plusieurs agents, en parallèle
Autonomie

Plusieurs sessions travaillent en même temps, chacune dans son propre worktree Git (une copie de travail sur sa propre branche), ou bien une session principale distribue des sous-tâches à des sous-agents. Variante utile : un agent écrit, un autre relit, sans partager le même contexte, donc sans les mêmes angles morts.

Idéal pour
Des tâches vraiment indépendantes, une migration découpable, une recherche large, une revue croisée.
Votre place
Chef d’orchestre : vous répartissez, vous arbitrez, vous fusionnez.
Réglages
claude -w <nom> crée le worktree et sa branche, .worktreeinclude y copie vos fichiers non versionnés (.env). Ctrl+B ou claude --bg pour l’arrière-plan, claude agents pour tout voir. L’application de bureau affiche les sessions côte à côte.
Le piège
Le goulot, c’est vous. Trois agents, ce sont trois diffs à relire, et des tâches « indépendantes » qui touchent finalement les mêmes fichiers. Commencez à deux.
Exemple
$ claude -w migration-auth     # terminal 1
$ claude -w tests-paiement     # terminal 2

> Lance trois sous-agents en parallèle pour auditer
  orders/, billing/ et shipping/ : dépendances mortes,
  code dupliqué. Puis fais-moi une synthèse classée.
7

Le robot

Personne devant l’écran
Autonomie

Claude Code tourne sans interface : dans un script avec claude -p, dans votre intégration continue, sur une tâche planifiée, ou quand quelqu’un écrit @claude dans une issue GitHub. Il travaille seul et livre un résultat : une pull request, un commentaire, un rapport.

Idéal pour
Les tâches répétitives et vérifiables : avertissements de lint, mises à jour de dépendances, tri des issues, première revue des pull requests, documentation.
Votre place
Relecteur du livrable, et auteur des garde-fous.
Réglages
Mode dontAsk et une liste d’outils autorisés au plus juste. --max-turns et --max-budget-usd comme limites. --bare dans les scripts, pour ignorer la configuration locale. Côté GitHub, /install-github-app installe l’action officielle. /schedule crée une tâche planifiée dans le cloud.
Le piège
L’injection de prompt. Un robot qui lit des issues lit du texte écrit par n’importe qui. Il livre une pull request, jamais un push sur la branche principale, et n’a jamais accès aux secrets de production (partie 5).
Exemple, dans un script
$ claude -p "Corrige les avertissements de lint sans
  changer le comportement, puis résume tes changements." \
    --permission-mode dontAsk \
    --allowedTools "Read,Edit,Bash(npm run lint *)" \
    --max-turns 20 \
    --output-format json

Laquelle choisir ?

Le choix dépend moins de la taille du projet que de trois questions : ce que vous cherchez à obtenir, ce que deviendra le code, et le prix d’une erreur. L’aiguilleur ci-dessous les pose dans l’ordre.

L’aiguilleur

1. Vous voulez…
2. Ce code partira-t-il en production ?
3. Quelle ampleur ?
4. Une erreur coûterait-elle cher (paiement, sécurité, données personnelles) ?
Ma recommandation Répondez aux questions ci-dessus.

Et pour garder une vue d’ensemble, voici les sept côte à côte :

FaçonMode de départVotre placeCe qu’il faut écrireLe risque principal
1L’explorateurPlanVous enquêtezDes questions précisesCroire une explication fausse
2Le binômeManuelSur chaque ligneUne étape à la foisValider sans lire
3Plan, puis codePlan, puis modifier sans demanderLe plan et le diffL’objectif et le contexteUn plan survolé
4Piloté par la specPlan, puis autoLa spec et le diffUn fichier de spec completUne spec morte ou trop longue
5Le prototypeAuto, hors de la branche principaleLe résultat visibleL’effet vouluQu’il parte en production
6L’orchestreAuto, un worktree par agentRépartir et fusionnerDes tâches bien séparéesÊtre débordé par la relecture
7Le robotdontAsk, outils listésLe livrableLa consigne et les garde-fousL’injection de prompt

9c27f5apartie 2 : sept façons, de l’explorateur au robot

J’ai présenté ces sept façons sans prendre parti. Vous avez sans doute remarqué qu’une seule d’entre elles met un fichier au centre plutôt qu’une conversation. C’est la mienne. Voici pourquoi, et comment je m’y prends, concrètement.

Partie 3 · Ma méthode : la spec est le code
Partie 3

Ma méthode : la spec est le code

Les sept façons de travailler ont toutes leur place, et j’utilise chacune à un moment ou à un autre. Mais pour tout ce qui part en production, j’en ai une, et une seule. Elle découle directement de ce que je défendais dans l’article « L’IA va-t-elle remplacer les développeurs ? ».

De l’éditeur au cahier des charges

J’y écrivais que le développeur passe du rôle d’auteur à celui d’éditeur, et que le cahier des charges redevient le vrai code. À l’usage, je vais un cran plus loin, et c’est le cœur de cet article. Pas une image : une organisation concrète du dépôt et des journées.

Le vrai code, c’est le cahier des charges.La spec est la source. Le code en est dérivé.

L’histoire du métier a déjà connu ce glissement. Quand les développeurs sont passés de l’assembleur à des langages comme Java, le code source a changé de langue. Le code compilé n’a pas disparu : il est devenu un produit dérivé, régénéré à chaque compilation, que plus personne n’écrit à la main. Avec Claude Code, je vis un glissement du même ordre. La source, c’est la spécification, écrite en français dans un fichier du dépôt. Le code en est dérivé.

Trois chaînes de production, avec les mêmes étapes : vous, la source, l’outil, le dérivé, l’action, et ce qu’on fait si c’est faux. Avant, avec l’assembleur : vous écrivez chaque instruction dans boutique.asm, l’assembleur traduit ligne à ligne, on exécute le binaire boutique ; si c’est faux, on corrige boutique.asm. Hier, avec Java : vous écrivez la logique dans Boutique.java, le compilateur, déterministe et sans initiative, produit le bytecode, qu’on exécute sans le relire ; si c’est faux, on corrige Boutique.java, jamais le bytecode. Aujourd’hui, avec Claude Code : vous écrivez l’intention dans PLAN.md, Claude Code, rapide et plein d’imagination, produit le code source, que vous relisez, testez et validez ; si c’est faux, on corrige d’abord la spec, puis on régénère. VOUS LA SOURCE L’OUTIL LE DÉRIVÉ L’ACTION AVANT · L’ASSEMBLEUR écrivez chaque instruction boutique.asm des instructions machine L’assembleur traduit ligne à ligne boutique le programme, en binaire on l’exécute si c’est faux : on corrige boutique.asm HIER · JAVA écrivez la logique Boutique.java le code source Le compilateur déterministe, sans initiative Boutique.class toujours le même bytecode on l’exécute, sans le relire si c’est faux : on corrige Boutique.java, jamais le bytecode AUJOURD’HUI · CLAUDE CODE écrivez l’intention PLAN.md la spec, en français Claude Code rapide, et plein d’imagination src/… le code source d’hier vous le relisez, testez, validez si c’est faux : on corrige d’abord la spec, puis on régénère
À chaque saut, on écrit un cran plus haut, et l’ancienne source devient le dérivé : le code source d’hier est ce que Claude Code produit aujourd’hui. Une seule colonne change vraiment de nature, celle de l’action.

La même intention, à trois époques. Le tableau reprend les colonnes du schéma, avec une ligne de code à chaque fois :

Avant : l’assembleurHier : JavaAujourd’hui : Claude Code
Vousécrivez chaque instruction pour le processeurécrivez la logique, dans un langage lisibleécrivez l’intention et les règles, en français
La sourceimul eax, [qte]
dans boutique.asm
total = prix * qte;
dans Boutique.java
Le total vaut le prix fois la quantité, en centimes.
dans PLAN.md
L’outill’assembleur : une ligne donne une instructionle compilateur : une ligne donne plusieurs instructions, toujours les mêmesClaude Code : une phrase donne plusieurs lignes, jamais tout à fait les mêmes
Le dérivé0F AF 05 …, le binairele bytecode, Boutique.class, que plus personne n’écrittotal = prix * qte;, la source d’hier
L’actionon l’exécuteon l’exécute, sans le relireon le relit, on le questionne, on le teste, puis on le valide
Si c’est fauxon corrige boutique.asmon corrige Boutique.java et on recompile ; jamais le bytecodeon corrige d’abord la spec, puis on régénère

Hier, on écrivait en Java. Aujourd’hui, on écrit en français, et on relit le Java.

Rivel Babindamana
Développeur
La différence qui change tout

Ce compilateur-là a de l’imagination. Un compilateur comme javac produit le même bytecode à chaque fois et ne prend jamais d’initiative. Claude, si.

Deux conséquences. La spec doit être précise partout où l’imagination coûterait cher. Et la sortie doit être relue, ce qu’on ne fait jamais avec du bytecode : c’est là que l’éditeur reprend du service.

Coder à deux : qui fait quoi

Je n’ai pas arrêté de coder. Je code à deux, et chacun a ses lignes. La répartition n’a rien de théorique : c’est celle que je retrouve dans chaque chantier.

Moi

  • l’intention, et le pourquoi
  • les contraintes et les interdits
  • ce qui est hors sujet
  • le découpage en étapes
  • les critères d’acceptation
  • les arbitrages en cours de route
  • la revue : questionner, trancher, valider avant de pousser
Le plan le seul fichier qu’on écrit vraiment ensemble. C’est pour ça qu’il fait foi.

Claude

  • explorer le code existant
  • me poser les questions que j’ai oubliées
  • proposer un plan, et ses variantes
  • écrire le code et les tests
  • lancer les vérifications
  • expliquer ses choix quand je les questionne
  • mettre à jour le suivi et la documentation
  • me signaler ce qui ne colle pas

Le cycle d’un chantier

Définition

J’appelle chantier tout travail qui dépasse une session : une fonctionnalité, une refonte, une migration.

Chaque chantier suit le même cycle en six temps.

MoiL’intention

J’écris le besoin en dix lignes, comme à un collègue : le problème, pour qui, ce qui est hors sujet. Puis je demande à Claude de m’interroger avant d’écrire quoi que ce soit. Ses questions révèlent toujours un trou.

À deuxL’exploration et le plan

En mode plan, Claude lit le code sans rien modifier et propose une approche. Je l’amende, je tranche les variantes, je retire ce qui dépasse.

À deuxLe plan devient un fichier

Le plan validé est écrit dans docs/chantier-<nom>/PLAN.md : le besoin, les étapes, les règles communes, un tableau de suivi. Il est versionné comme du code.

ClaudeUne étape, une session

Je lance une étape à la fois, dans une session propre. Claude l’exécute, la vérifie (tests, types, rendu), la commite en local et coche le suivi. Rien ne part encore sur le dépôt partagé.

MoiLa revueLe plus gros du travail

Je relis le diff et je questionne. D’abord la spec, puis tout le reste : les bibliothèques, l’approche, l’architecture, le nommage. Toute décision approuvée va dans la spec. Et je ne pousse que ce que j’ai validé.

À deuxLa clôture

Les décisions durables partent dans la documentation permanente (architecture, conception). Le dossier du chantier est supprimé : l’historique Git le garde.

Voici à quoi ressemble le fichier, sur l’export CSV de notre mardi matin :

docs/chantier-export-csv/PLAN.md
# Chantier : export CSV des commandes

> Dossier provisoire. Les décisions durables iront dans docs/ARCHITECTURE.md,
> puis ce dossier sera supprimé.

## Besoin
La compta rapproche chaque fin de mois les commandes payées et les virements.
Aujourd’hui, elle copie-colle depuis l’admin, page par page.

## Critères d’acceptation
- Bouton « Exporter » sur /admin/commandes ; les filtres de la liste s’appliquent.
- Colonnes : n°, date (AAAA-MM-JJ), client, total TTC, statut.
- Séparateur point-virgule, UTF-8 avec BOM (sinon Excel casse les accents).
- 50 000 lignes sans saturer la mémoire : écriture en flux.
- Réservé au rôle `compta` ; chaque export est journalisé.

## Hors sujet
- Pas d’export générique pour les autres entités. Pas de PDF.

## Règles communes
- Suivre docs/ARCHITECTURE.md § Admin. Aucune nouvelle dépendance.
- Tests d’abord. `npm test` et `npm run lint` au vert avant chaque commit.
- Ne jamais modifier une migration existante.

## Suivi
| Étape | Contenu                                      | État |
|-------|----------------------------------------------|------|
| 1     | Tests du format (en-têtes, dates, BOM)       | ✅   |
| 2     | Service d’export en flux + droits `compta`   | ⬜   |
| 3     | Bouton dans l’admin + journalisation         | ⬜   |
| 4     | Essai sur 50 000 lignes, documentation       | ⬜   |

Avec ce fichier, le service générique du mardi n’aurait jamais existé : il est écrit noir sur blanc dans « Hors sujet ». Pour que Claude sache quoi faire du fichier, une seule règle suffit dans le CLAUDE.md du projet :

CLAUDE.md (extrait)
Quand l’utilisateur écrit « step X du fichier … », exécuter exactement cette
étape en suivant les « Règles communes » du fichier, puis mettre à jour
son tableau « Suivi ».

Et la séance de travail tient alors en une ligne :

La dernière ligne est ma préférée. Un bon binôme ne se contente pas d’exécuter : il remonte les trous de la spec. Et la réponse, quelle qu’elle soit, ira dans le fichier, pas dans la conversation.

La revue, le plus gros du travail

Relire un diff, ce n’est pas chercher les fautes de frappe. C’est là que l’expérience du développeur pèse le plus, et c’est là que je passe le plus de temps. Elle se fait dans un ordre précis.

1
D’abord, la spec

Le code fait-il ce que dit la spec ? Et la spec dit-elle ce que je veux ? Si l’erreur vient d’une spec floue, c’est elle que je corrige en premier, avant le code. C’est la correction la plus importante : elle vaut pour toutes les sessions suivantes.

2 · Ensuite, tout ce qu’un développeur expérimenté sait questionner
Les bibliothèques

Pourquoi celle-ci ? Fallait-il une dépendance de plus ?

L’approche

Pourquoi un service générique plutôt qu’une fonction de vingt lignes ?

L’architecture

Le code est-il au bon endroit ? Les couches sont-elles respectées ?

Le langage et le framework

Est-ce l’idiome ? Le framework ne le fait-il pas déjà ?

Le nommage

Le nom dit-il ce que fait le code ? Suit-il les conventions du projet ?

Les tests

Testent-ils le comportement, ou seulement l’implémentation ?

Chaque question suit le même chemin. Ce qui compte, c’est l’avant-dernière étape : une modification approuvée qui ne rejoint pas la spec sera oubliée à la session suivante.

je questionne Claude explique, ou propose autre chose je tranche la décision entre dans la spec Claude régénère je valide git push
On ne pousse que ce qui a été validé.Claude peut commiter en local autant qu’il veut. Le push, lui, vient après la revue, jamais avant.

Ce n’est pas une méthode de laboratoire. Je l’ai expérimentée.

Les cinq règles que je ne négocie pas

règle 1

Corriger la spec, pas seulement le code

Quand Claude se trompe, je me demande d’abord si la spec permettait de se tromper. Si oui, je corrige la spec, puis je relance. C’est la première correction, et la plus importante. Corriger le code à la main, c’est patcher un binaire : ça marche jusqu’à la prochaine compilation.

règle 2

Ce qui n’est pas écrit n’existe pas

Une décision prise dans une conversation disparaît avec elle, ou se dilue au premier résumé automatique. Sa mémoire automatique n’y change pas grand-chose : il y note ce qu’il juge utile, pas forcément ce que vous avez décidé. Tout ce qui doit survivre à la session va dans un fichier : le plan, le CLAUDE.md, la documentation.

règle 3

Une étape, un commit vérifiable

Chaque étape se termine par une vérification que Claude peut lancer seul : des tests, un contrôle de types, une capture d’écran. Une étape qu’on ne peut pas vérifier est une étape mal découpée. Et une étape « tout le reste » n’est pas une étape.

règle 4

Je valide avant de pousser

C’est le métier d’éditeur, et le plus gros de mon travail. Je ne relis pas chaque ligne avec la même intensité, mais je questionne tout ce qui engage la suite : une dépendance, une approche, un nom. Rien n’est poussé sans que je l’aie validé. Le jour où je valide sans lire, je fais du vibe coding sans l’assumer.

règle 5

La production passe par moi

Déployer, migrer une base de production, toucher aux secrets : Claude peut préparer, jamais lancer seul. Le CLAUDE.md du projet l’écrit en toutes lettres, et les permissions le verrouillent.

Pourquoi ça marche

Cette méthode n’a rien de magique. Elle répond point par point aux limites du collègue décrites en partie 1 :

Ce que fait la machineCe que fait la méthode
Son bureau se dégrade quand il se remplit.Une étape par session le garde petit.
Son carnet ne garde que ce qu’il choisit de noter.Le plan garde ce qu’on a décidé ensemble.
Il travaille mieux quand il peut vérifier son travail.Chaque étape finit par une vérification.
Il a de l’imagination.Le « hors sujet » et la revue la canalisent.

Je ne suis pas seul à converger vers cette forme. Anthropic décrit, pour ses agents qui travaillent sur de longues durées, un dispositif voisin : une liste de fonctionnalités et un fichier de progression que l’agent relit à chaque nouvelle session, et un travail mené une fonctionnalité à la fois. Les outils de développement piloté par les spécifications cités dans l’article « L’IA va-t-elle remplacer les développeurs ? », comme Spec Kit chez GitHub ou Kiro chez AWS, vont dans le même sens. Le nom changera. Le principe, lui, tient :

Plus l’IA écrit de code, plus ce qui est écrit avant compte.

Quand je m’écarte de ma méthode

Une méthode qu’on applique partout devient un dogme. Voici quand je fais autrement.

SituationCe que je faisPourquoi
Une coquille, un bug évident, un renommage2Le binôme, directement, sans planÉcrire un plan prendrait plus de temps que la correction.
Choisir un design5Le prototype : trois maquettes jetables, puis je choisisOn juge mieux sur pièce.
Un code que je ne connais pas1L’explorateur, avant toute choseOn ne spécifie bien que ce qu’on comprend.
Une tâche répétitive et vérifiable7Le robotSi la vérification est automatique, ma relecture peut se concentrer sur le résultat.

b81e04cpartie 3 : la spec fait foi, le code en est dérivé

Une méthode, c’est bien. Des fichiers qui la portent, c’est mieux. Il est temps de passer à l’atelier : où mettre quoi, comment l’écrire, et quels outils ajouter à la boîte.

Partie 4 · L’atelier
Partie 4

L’atelier

Une bonne méthode s’appuie sur un atelier bien rangé. Claude Code offre une demi-douzaine de briques de configuration, qui se ressemblent assez pour qu’on les confonde. Reprenons notre collègue : en partie 1, on a vu sa tête, ses mains, son bureau et son carnet. Il est temps de l’équiper. Cette partie dit où va quoi, à quoi sert chaque brique, et donne des fichiers prêts à adapter.

Le collègue · son équipement

Équiper le collègue

Chaque brique de configuration correspond à un objet qu’on remettrait à un nouveau collègue pour qu’il travaille bien, et longtemps. Les couleurs de ce portrait sont celles des étiquettes de toute la partie.

Claude Codele même collègue, équipé pour durer
La fiche d’accueil= le CLAUDE.md

Ce qu’il doit savoir en arrivant, chaque matin.

La note sur l’armoire= une règle ciblée

Une consigne qu’il ne lit qu’en ouvrant cette armoire-là.

Le classeur de procédures= les skills

Il lit l’étiquette sur la tranche, et n’ouvre la fiche qu’au besoin.

Les spécialistes= les sous-agents

Envoyés en mission avec leur propre bureau, ils reviennent avec une page.

Le portique= les hooks

Il se déclenche à coup sûr, quoi que le collègue ait décidé.

Le badge= les permissions

Les portes qu’il ouvre seul, celles où il sonne, celles qui restent fermées.

Les prises= les serveurs MCP

Pour se brancher sur les outils de l’entreprise : tickets, erreurs, navigateur.

La mallette= les plugins

Un équipement complet, prêt à l’emploi, qu’on installe d’un coup.

Le plan de l’atelier

Voici où ranger tout cela, dans l’arborescence d’un projet bien équipé. Tout n’est pas nécessaire le premier jour : un CLAUDE.md et un fichier de réglages suffisent pour commencer. Le reste s’ajoute quand un besoin revient.

mon-projet/
├── CLAUDE.md                  la fiche d’accueil du projet, versionnée
├── CLAUDE.local.md            vos notes perso, hors Git
├── .mcp.json                  les serveurs MCP de l’équipe
├── .worktreeinclude           les fichiers à copier dans chaque worktree (.env)
├── .claude/
│   ├── settings.json          permissions et hooks de l’équipe, versionnés
│   ├── settings.local.json    vos réglages pour ce projet, hors Git
│   ├── rules/                 règles ciblées : tests.md, api.md…
│   ├── hooks/                 les scripts appelés par les hooks
│   ├── skills/                un dossier par savoir-faire
│   │   └── release/SKILL.md
│   └── agents/                un fichier par spécialiste
│       └── relecteur.md
├── docs/
│   ├── ARCHITECTURE.md        la carte : le quoi et le comment
│   ├── CONCEPTION.md          les décisions : le pourquoi
│   └── chantier-export-csv/   provisoire : PLAN.md
└── src/ …

~/.claude/                     vos réglages, valables dans tous vos projets
├── CLAUDE.md                  vos préférences : langue, style, habitudes
├── settings.json
├── skills/  agents/  rules/
└── keybindings.json

Quand utiliser quoi

Toutes ces briques modifient le comportement de Claude, mais pas de la même manière. La distinction la plus importante tient en deux mots :

CLAUDE.md, c’est un conseil.

Claude le lit et le suit presque toujours. Presque. Dans une session chargée, une consigne peut passer à la trappe, et la documentation officielle le dit elle-même.

Un hook, c’est une loi.

Un script qui s’exécute à coup sûr, à un moment précis, quoi que le modèle ait « décidé ». Même chose pour une règle de permission. Ce qui ne doit jamais arriver se verrouille là.

L’image

Le panneau « Interdit de fumer » ne détecte pas la fumée. Le détecteur, si. Écrivez le panneau dans le CLAUDE.md, posez le détecteur avec un hook.

BriqueC’est…Chargé quandPourExemple
CLAUDE.mdun conseil permanentau lancementce qu’il doit savoir à chaque sessionles commandes de test, les interdits
Règleun conseil cibléquand il touche aux fichiers visésles conventions d’une partie du code« les tests n’utilisent pas de mocks »
Skillun savoir-fairela description toujours, le contenu à l’usageune procédure qui revientpublier une version
Sous-agentun spécialiste, avec son propre contextequand Claude lui délèguelire beaucoup, ou porter un regard neufun relecteur
Hookune loià un événement précisce qui ne doit jamais être oubliéformater après chaque modification
Permissionun droità chaque appel d’outilce qu’il peut faire seul, ou jamaisautoriser les tests, interdire .env
Serveur MCPun branchementles noms au départ, le détail à l’usageparler aux outils de l’équipeGitHub, Sentry, un navigateur
Pluginun paquet de tout çaà l’installationpartager une configurationune revue de code clés en main
Le collègue · sa fiche d’accueil

CLAUDE.md : court, précis, vivant

/init écrit un premier jet de CLAUDE.md en lisant votre projet. C’est un bon point de départ, et un mauvais point d’arrivée : il décrit souvent ce que Claude pourrait trouver seul. Un bon CLAUDE.md dit ce que le code ne dit pas. La documentation conseille de rester sous les 200 lignes ; un bon fichier tient souvent en bien moins.

Le CLAUDE.md qui ne sert à rien
# Mon projet

Ce projet est une application web moderne
et performante.

Écris du code propre et maintenable.
Respecte les bonnes pratiques.
Fais attention à la sécurité.

Le code est dans src/. Les composants sont
dans src/components/. Les tests sont dans
tests/.

[suivent 400 lignes copiées du wiki]
  • des conseils génériques, que le modèle applique déjà
  • une description que ls donne en une seconde
  • une longueur qui noie les deux lignes importantes
Celui qui change tout
# Boutique : API et admin
Node 24, Fastify, PostgreSQL.

## Commandes
- `npm test` : unitaires, rapides
- `npm run test:e2e` : lents, seulement si demandé
- `npm run check` : types + lint, après chaque modif

## Règles
- SQL uniquement dans src/db/queries/.
- Montants en centimes (entiers), jamais en float.
- Nouvelle table = nouvelle migration. Ne jamais
  modifier une migration existante.
- Ne jamais lancer `npm run deploy`.

## Repères
- Architecture : @docs/ARCHITECTURE.md
- « step X du fichier … » : exécuter cette étape,
  suivre ses règles communes, cocher le suivi.
  • les commandes exactes, et quand les lancer
  • les règles qu’aucun modèle ne peut deviner
  • des renvois plutôt que des copies (@ importe un fichier)

Traitez-le comme du code : il se relit en pull request, et il s’enrichit d’une ligne chaque fois que Claude refait la même erreur. C’est la règle 1 de la partie 3 appliquée à la configuration.

Le collègue · son badge

Les permissions : écrire les droits une fois pour toutes

Plutôt que de répondre cinquante fois « oui » à npm test, écrivez-le dans les permissions. Chaque règle vise un outil, et éventuellement un motif : Bash(npm run check) pour une commande exacte, Bash(git diff *) pour toutes celles qui commencent ainsi, Read(./.env) pour un fichier. Les interdictions (deny) passent avant les questions (ask), qui passent avant les autorisations (allow).

.claude/settings.json, partagé par l’équipe
{
  "permissions": {
    "allow": [
      "Bash(npm test)", "Bash(npm run check)",
      "Bash(git status)", "Bash(git diff *)", "Bash(git log *)"
    ],
    "ask": [ "Bash(git push *)" ],
    "deny": [
      "Read(./.env)", "Read(./.env.*)", "Read(./secrets/**)",
      "Bash(npm run deploy *)"
    ]
  }
}

Les réglages s’empilent : les vôtres (~/.claude/settings.json), ceux de l’équipe (.claude/settings.json), les vôtres pour ce projet (.claude/settings.local.json), et, en entreprise, des réglages gérés par l’administrateur, qui priment sur tout. /permissions montre le résultat, /status d’où vient chaque réglage. Une limite à connaître : une interdiction sur une commande shell est un filet, pas un mur, car il existe mille façons d’écrire la même commande. Pour les fichiers vraiment sensibles, ajoutez le bac à sable (/sandbox), qui filtre au niveau du système.

Le collègue · le portique

Les hooks : la loi

Un hook est une commande que Claude Code lance à un événement précis : avant ou après l’usage d’un outil, à l’envoi d’un message, à la fin d’un tour, au démarrage d’une session, quand Claude attend votre réponse. Il en existe une trentaine. Le hook reçoit les détails de l’événement en JSON sur son entrée standard. S’il se termine avec le code 2, l’action est bloquée, et son message d’erreur est renvoyé à Claude comme explication.

Dans .claude/settings.json
{
  "hooks": {
    "PostToolUse": [{
      "matcher": "Edit|Write",
      "hooks": [{ "type": "command",
        "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write" }]
    }],
    "PreToolUse": [{
      "matcher": "Edit|Write",
      "hooks": [{ "type": "command",
        "command": ".claude/hooks/protege.sh" }]
    }]
  }
}
.claude/hooks/protege.sh
#!/usr/bin/env bash
# Refuse les modifications des fichiers sensibles.
fichier=$(jq -r '.tool_input.file_path // empty')

case "$fichier" in
  *.env|*.env.*|*package-lock.json)
    echo "Fichier protégé : $fichier" >&2
    exit 2 ;;
  */migrations/*)
    if [ -e "$fichier" ]; then
      echo "Migration existante : crée-en une nouvelle." >&2
      exit 2
    fi ;;
esac
exit 0

Le premier hook formate chaque fichier modifié : plus jamais de « pense à lancer Prettier » dans le CLAUDE.md. Le second transforme la règle « ne jamais modifier une migration existante » de conseil en loi. Autre usage que je recommande : un hook sur l’événement Stop, qui lance les tests quand Claude pense avoir fini, et le renvoie au travail s’ils échouent. /hooks liste ceux qui sont actifs. Et souvenez-vous qu’un hook est un programme qui tourne avec vos droits : celui d’un dépôt cloné se relit comme n’importe quel script.

Le collègue · son classeur de procédures

Les skills : le savoir-faire

Un skill est un dossier qui contient un fichier SKILL.md : un nom, une description, puis des instructions, et éventuellement des scripts ou des modèles à côté. Seule la description est chargée au démarrage, une ligne par skill. Le contenu n’arrive dans le contexte que lorsque le skill sert, soit parce que vous tapez /release, soit parce que Claude reconnaît la situation dans la description. Comme le classeur dont on ne lit que les tranches, vous pouvez en avoir des dizaines sans encombrer le bureau. Les anciennes commandes personnalisées (.claude/commands/) fonctionnent toujours, mais les skills les remplacent.

.claude/skills/release/SKILL.md
---
name: release
description: Prépare une nouvelle version (changelog, numéro, tag).
  À utiliser quand on demande de publier, sortir ou livrer une version.
disable-model-invocation: true
---

# Publier une version

1. Vérifie qu’on est sur main, à jour, et que `npm test` passe.
2. Liste les commits depuis le dernier tag et classe-les
   (ajouts, corrections, changements cassants).
3. Propose le numéro de version (semver) et attends ma validation.
4. Mets à jour CHANGELOG.md, puis lance `npm version <numéro>`.
5. Ne pousse rien : affiche la commande `git push --follow-tags`.

La ligne disable-model-invocation: true réserve le déclenchement à vous seul : pour une procédure qui a des effets, je ne veux pas que Claude décide seul que c’est le moment. Les skills suivent un standard ouvert, Agent Skills, que d’autres outils lisent aussi. Anthropic publie des exemples dans le dépôt anthropics/skills (dont ceux qui manipulent les fichiers Word, Excel, PowerPoint et PDF), et un plugin officiel, skill-creator, aide à écrire les vôtres.

Le collègue · ses spécialistes

Les sous-agents : les spécialistes

Un sous-agent est une instance de Claude avec son propre prompt, ses propres outils, son propre modèle, et surtout son propre contexte. Claude Code en fournit trois : Explore (fouiller le code, en lecture seule), Plan (préparer un plan) et un agent généraliste. Ils servent à trois choses : protéger le bureau principal d’une recherche qui lirait cinquante fichiers (le spécialiste les lit sur son propre bureau et revient avec une page), porter un regard neuf sur un travail, et paralléliser. Les vôtres s’écrivent en Markdown :

.claude/agents/relecteur.md
---
name: relecteur
description: Relit un diff avec un regard neuf. À utiliser à la fin
  de chaque étape d’un chantier, avant le commit.
tools: Read, Grep, Glob, Bash
model: opus
---

Tu es un relecteur exigeant. On te donne une étape de PLAN.md et un diff.
Vérifie, dans cet ordre :
1. Le diff fait ce que dit l’étape, et rien de plus (lis « Hors sujet »).
2. Les cas limites : valeurs vides, gros volumes, fuseaux horaires.
3. La sécurité : droits, données personnelles, injections.
Réponds par une liste classée : bloquant, à corriger, suggestion.
Ne modifie aucun fichier.

Ce relecteur n’a pas vu la conversation qui a produit le code. C’est précisément ce qui le rend utile : il ne partage pas les angles morts de l’auteur. Il prépare votre revue, il ne la remplace pas. D’autres options existent, comme isolation: worktree pour qu’un sous-agent travaille sur sa propre copie du dépôt, ou background pour qu’il tourne pendant que vous continuez.

Le collègue · ses prises

MCP : brancher l’atelier sur le reste de l’entreprise

Le Model Context Protocol, présenté dans l’article « Comprendre l’IA et maîtriser son jargon » comme une prise standard, permet de brancher Claude Code sur vos outils grâce aux serveurs MCP : tickets, erreurs de production, base de données, navigateur, documentation. Un serveur MCP s’ajoute en une commande :

$ claude mcp add --transport http github https://api.githubcopilot.com/mcp/
$ claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
$ claude mcp add --scope project playwright -- npx @playwright/mcp@latest

Trois portées : local (par défaut, vous seul, ce projet), project (dans .mcp.json, versionné, approuvé par chacun à la première utilisation) et user (vous, tous vos projets). /mcp affiche leur état et gère l’authentification. Depuis que Claude Code ne charge que le nom des outils au départ, brancher plusieurs serveurs coûte peu de contexte. Le vrai coût est ailleurs : chaque serveur est une porte. Traitez-le comme une dépendance : une source que vous connaissez, et des droits minimaux, par exemple un jeton en lecture seule.

Le code et les tickets

GitHub, GitLab, Linear, Jira, Asana : lire une issue, ouvrir une pull request.

La production

Sentry pour les erreurs, une base de données en lecture seule pour vérifier une hypothèse.

Le navigateur

Playwright pour que Claude ouvre la page, clique, et vérifie lui-même son travail.

La documentation

Notion pour vos documents, Context7 pour la documentation à jour des bibliothèques, Figma pour les maquettes.

Le collègue · sa mallette

Les plugins : la mallette toute prête

Un plugin regroupe des skills, des sous-agents, des hooks, des serveurs MCP ou des serveurs de langage (LSP) dans un paquet qu’on installe d’une commande. /plugin ouvre le catalogue. La place de marché officielle d’Anthropic, claude-plugins-official, est ajoutée automatiquement ; une place de marché communautaire existe à côté. Attention, « officielle » désigne le catalogue : la plupart des plugins qu’il contient viennent de partenaires, et Anthropic en maintient elle-même une sélection plus restreinte. Voici ceux de cette sélection que je trouve les plus utiles :

> /plugin install code-review@claude-plugins-official
Revuecode-review

Une revue de pull request menée par plusieurs agents, qui ne garde que les problèmes confirmés.

Revuepr-review-toolkit

Des relecteurs spécialisés : tests, gestion des erreurs, commentaires, types.

Méthodefeature-dev

Un parcours guidé pour une fonctionnalité : exploration, architecture, implémentation, revue.

Gitcommit-commands

Commiter, pousser et ouvrir une pull request en une commande.

Sécuritésecurity-guidance

Signale les motifs dangereux pendant l’écriture, relit le diff en fin de tour, et vérifie les commits (injections, XSS, secrets en dur…).

Qualitécode-simplifier

Un agent qui simplifie le code qu’on vient de modifier, sans changer son comportement.

Interfacefrontend-design

Un skill pour des interfaces qui ne ressemblent pas à toutes les autres.

Configurationclaude-md-management hookify

Entretenir son CLAUDE.md, et créer des hooks en les décrivant en langage courant.

Navigationtypescript-lsp pyright-lsp gopls-lsp…

Les plugins LSP : Claude navigue dans le code comme votre éditeur (définitions, références, erreurs).

Pour aller plus loinskill-creator plugin-dev

Écrire vos propres skills et plugins, avec l’aide de Claude.

Autonomieralph-loop

Relance la même consigne en boucle jusqu’à ce que le travail soit fini. À réserver au robot, avec des garde-fous.

Apprendrelearning-output-style

Claude vous laisse écrire les morceaux clés vous-même, et explique ses choix.

Claude Code embarque aussi des skills prêts à l’emploi : /simplify pour nettoyer un diff, /verify pour vérifier un changement dans l’application réelle, /loop pour répéter une tâche à intervalle. Et la commande /code-review fait une revue locale à plusieurs niveaux d’exigence, jusqu’à ultra, une revue multi-agents dans le cloud. Pour le reste, une règle : un plugin peut contenir des hooks et des serveurs MCP, donc du code qui s’exécute chez vous. Installez-le comme vous installeriez une dépendance.

Quatre configurations types

Pour fixer les idées, voici quatre ateliers types, du plus léger au plus outillé. Prenez celui qui ressemble au vôtre et retirez ce qui ne sert pas.

Le projet perso

Un développeur, un dépôt, l’envie d’aller vite
  • Un CLAUDE.md de vingt lignes : la pile, les commandes, trois règles.
  • Mode auto par défaut, plan pour les fonctionnalités.
  • Le plugin LSP de votre langage et commit-commands.
  • Un dossier jetable/ dans le .gitignore pour les prototypes.

L’équipe produit

Plusieurs développeurs, du code en production
  • CLAUDE.md et .claude/settings.json versionnés, relus en pull request comme du code.
  • Des hooks de formatage et de protection ; les secrets et le déploiement en deny.
  • Deux ou trois skills maison (release, migration, nouvel écran) et un sous-agent relecteur.
  • .mcp.json avec GitHub, Sentry et l’outil de tickets ; l’action GitHub pour @claude.
  • Des réglages gérés par l’entreprise pour les règles non négociables.

Le vieux monolithe

Beaucoup de code, peu de documentation, aucune envie de tout casser
  • Deux semaines d’explorateur avant toute modification.
  • Un docs/ARCHITECTURE.md rédigé par Claude, corrigé par vous, puis importé dans CLAUDE.md.
  • Des règles par zone (.claude/rules/ avec paths:) plutôt qu’un fichier géant.
  • Des tests de caractérisation (qui figent le comportement actuel) avant chaque refactoring ; le binôme sur les zones critiques.

La salle des robots

Des agents qui tournent sans vous
  • Un conteneur de développement, sur le modèle de celui publié par Anthropic, avec un pare-feu sortant.
  • Aucun secret de production, pas de ~/.ssh monté.
  • claude -p --bare, mode dontAsk, outils listés un par un, budget plafonné.
  • Une seule sortie possible : une pull request, relue par un humain.

Les commandes à connaître

Il en existe bien plus, et la liste s’allonge chaque mois. Voici celles que j’utilise vraiment, rangées par moment. Tapez / dans une session pour voir toutes celles qui sont disponibles chez vous, et consultez la liste officielle des commandes, celle des raccourcis clavier et celle des options de la ligne de commande.

CommandeCe qu’elle fait
Démarrer
claude claude "tâche"Ouvre une session, avec ou sans première consigne.
claude -c claude -rReprend la dernière session, ou en choisit une dans la liste. /resume depuis une session.
claude -w nomOuvre la session dans un nouveau worktree Git, sur sa propre branche.
/initÉcrit un premier CLAUDE.md à partir du projet.
Piloter
Maj+Tab /planChange de mode de permission ; entre en mode plan avec une tâche.
ÉchapInterrompt Claude, sans perdre le travail fait.
Échap Échap /rewindRevient à un point précédent : le code, la conversation, ou les deux.
@fichier !commandeMentionne un fichier ; lance une commande shell dont la sortie rejoint la session.
Ctrl+V Ctrl+GColle une image (une capture d’écran) ; ouvre votre éditeur pour un long message.
Ctrl+B /tasksPasse une commande ou un agent en arrière-plan ; liste ce qui tourne.
/btwPose une question annexe sans l’ajouter à l’historique.
Contexte et coût
/contextMontre ce qui occupe le contexte, par catégorie.
/clear /compactRepart de zéro ; ou résume, avec une consigne sur ce qu’il faut garder.
/model /effort /fastChoisit le modèle, l’intensité de réflexion, le mode rapide.
/usageVotre consommation et vos limites.
Configurer
/memoryOuvre les fichiers CLAUDE.md et la mémoire automatique.
/permissions /status /configLes droits en vigueur ; d’où vient chaque réglage ; les préférences.
/hooks /agents /mcp /pluginL’état des hooks, des sous-agents, des serveurs MCP, des plugins.
/statusline /keybindingsPersonnalise la ligne d’état (modèle, contexte, coût) et les raccourcis.
Relire et livrer
/code-reviewRevue du travail en cours ou d’une pull request, du niveau low à ultra ; --fix applique les corrections.
/security-reviewAnalyse de sécurité des changements de la branche.
/install-github-appInstalle l’action GitHub qui répond à @claude.
Automatiser
claude -pMode sans interface, pour les scripts et l’intégration continue.
/schedule /loopUne tâche planifiée dans le cloud ; une consigne répétée à intervalle dans la session.
claude --cloud /remote-controlLance une session dans le cloud ; pilote la session locale depuis le web ou le mobile.
claude doctorDiagnostique l’installation quand quelque chose ne marche pas.

d3f6a19partie 4 : un atelier rangé, des briques à leur place

L’atelier est en ordre. Reste à fusionner tout ça dans votre quotidien sans casser la production : les erreurs que tout le monde fait, la sécurité qu’on oublie, et un programme pour la première semaine.

Partie 5 · Merge dans main
Partie 5

Merge dans main

Tout ce qui précède ne vaut que s’il passe dans vos journées. Cette dernière partie rassemble les erreurs que je vois le plus souvent (et que j’ai toutes faites), ce que les agents changent à la sécurité, et un programme d’une semaine pour démarrer sans se brûler.

Les dix erreurs que tout le monde fait

La session fleuve« Il a oublié ce que je lui ai dit tout à l’heure. »

Une tâche, une session. /clear entre deux sujets, et ce qui doit durer va dans un fichier.

La demande en une phrase« Quatorze fichiers pour un export CSV ? »

Dites ce qui est hors sujet, montrez l’existant à imiter, et donnez le critère qui dit que c’est fini.

Corriger dans la conversation« Il refait la même erreur que lundi. »

Corrigez la source : une ligne dans CLAUDE.md, une précision dans la spec.

Aucune vérification« Il a dit “terminé”, rien ne marche. »

Donnez-lui de quoi vérifier seul : une commande de test, un contrôle de types, une capture d’écran. Un hook Stop s’il le faut.

Les tests complaisants« Les tests passent… parce qu’il les a modifiés. »

Écrivez les tests d’abord, validez-les, puis interdisez d’y toucher pendant l’implémentation. Relisez toujours les tests en premier.

L’acharnement« Quatrième tentative, et c’est pire qu’au début. »

Après deux corrections ratées, revenez en arrière (Échap deux fois) ou repartez de zéro avec ce que vous avez appris. Un contexte pollué par des échecs en produit d’autres.

Le CLAUDE.md roman« C’est pourtant écrit, ligne 312. »

Court, spécifique, avec des renvois. Ce qui ne doit jamais arriver passe dans un hook ou une permission.

Tout autoriser pour aller plus vite« J’en avais marre de cliquer sur oui. »

Le mode auto, des autorisations écrites et le bac à sable. Le mode « tout permis », seulement dans un conteneur jetable.

Le prototype promu« Ça marchait en démo, on l’a gardé. »

Un prototype sert à décider. Pour la production, on repart d’une spec, en reprenant ce que le prototype a appris.

Mesurer son impression« Je vais deux fois plus vite, j’en suis sûr. »

L’étude METR citée dans l’article « L’IA va-t-elle remplacer les développeurs ? » l’a montré : l’impression ment. Mesurez le temps jusqu’à la fusion, et ce qu’il faut reprendre ensuite.

Sécurité : ce qu’un agent change

Un assistant qui suggère du code ne fait rien par lui-même. Un agent, si : il exécute des commandes avec vos droits, sur votre machine, et il lit beaucoup de texte qu’il n’a pas choisi. Le README d’une dépendance, une issue GitHub, une page web, un commentaire dans un fichier : chacun peut contenir des instructions écrites pour lui. C’est l’injection de prompt, et aucun modèle n’y est totalement immunisé. La documentation de Claude Code le dit sans détour.

Le développeur britannique Simon Willison a donné un nom au cas le plus dangereux : le lethal trifecta, le trio mortel. Un agent qui réunit les trois capacités ci-dessous peut être manipulé pour faire sortir vos données. La parade est simple à énoncer : retirez-lui toujours au moins une des trois.

Le trio dangereux : accès à des données privées, exposition à du contenu non fiable, et capacité de communiquer vers l’extérieur. Quand les trois sont réunis, un texte malveillant peut faire sortir vos données. Retirer une des trois capacités suffit : refuser la lecture des secrets, ne pas exposer l’agent à du contenu non fiable, ou filtrer le réseau. les trois réunis = vos données peuvent sortir Données privées code, .env, base, mails Contenu non fiable issues, pages web, dépendances Sortie vers l’extérieur réseau, push, API, messages ✂ deny sur les secrets ✂ ne pas lire de contenu externe ✂ réseau filtré (bac à sable)
Le trio dangereux, d’après Simon Willison (2025). Un robot qui lit des issues publiques touche forcément au « contenu non fiable » : il faut donc lui retirer l’accès aux secrets ou la sortie vers l’extérieur, et idéalement les deux.

En pratique, six habitudes couvrent l’essentiel :

Les secrets hors de portée

deny sur .env et les dossiers de clés, et aucune clé de production sur la machine où tourne l’agent.

Le bac à sable

/sandbox limite l’écriture au projet et le réseau à une liste de domaines. Le mode auto ajoute un classifieur qui repère les consignes hostiles.

Les extensions sont des dépendances

Serveurs MCP, plugins, hooks d’un dépôt cloné : du code qui tourne chez vous. On vérifie la source.

Lire avant d’approuver

Une commande avec curl, un push, une modification de la CI : c’est là que l’attention doit se concentrer.

L’autonomie en conteneur

Plus l’agent est autonome, plus son environnement doit être isolé. Anthropic publie un conteneur de développement de référence pour ça.

En entreprise

Des réglages gérés, imposés à tous, pour ce qui ne se négocie pas : serveurs MCP autorisés, interdictions, modes désactivés.

Votre première semaine

Si vous débutez, ne lisez pas tout ceci comme une liste à cocher d’un coup. Voici la progression que je conseille, un jour par façon de travailler.

lundi1L’explorateur
  • Installez, lancez dans un projet que vous connaissez par cœur.
  • En mode plan, posez dix questions dont vous connaissez la réponse.
  • Notez où il se trompe : c’est votre étalon de confiance.
mardi2Le binôme
  • /init, puis coupez le CLAUDE.md de moitié et ajoutez vos commandes et trois règles.
  • Corrigez un petit bug en mode manuel, pas à pas.
mercredi3Plan, puis code
  • Une vraie fonctionnalité, avec /plan.
  • Lisez le plan comme une revue de code, amendez-le.
  • /context avant et après : regardez ce qui se remplit.
jeudiL’atelier
  • Les permissions : les tests en allow, les secrets en deny.
  • Un hook de formatage, le plugin LSP de votre langage.
  • Un prototype jetable dans un worktree, pour voir.
vendredi4Piloté par la spec
  • Écrivez avec Claude le PLAN.md du chantier de la semaine prochaine.
  • Ajoutez un sous-agent relecteur.
  • Reportez dans CLAUDE.md ce que la semaine vous a appris.

Le robot et l’orchestre attendront la deuxième semaine. On ne délègue bien que ce qu’on a d’abord fait soi-même avec l’outil.

À vous de jouer

Comme dans l’article « L’IA va-t-elle remplacer les développeurs ? », je termine par les questions que je me pose encore. Vos réponses m’intéressent.

Si la spec devient le code source, faudra-t-il la tester comme du code ? Et comment teste-t-on une phrase ?

Combien d’agents en parallèle un développeur peut-il vraiment relire, avant de devenir un tampon à diffs ?

Les débutants apprendront-ils le métier en écrivant du code, en lisant celui de Claude, ou en écrivant des specs ?

Et vous, laquelle des sept façons utilisez-vous le plus ? Laquelle avez-vous abandonnée, et pourquoi ?

Pour me répondre, écrivez-moi par e-mail ou sur LinkedIn. Je réponds avec plaisir, selon mon agenda, parfois avec un peu de retard, mais je réponds toujours.

Mon livre sur l’IA

Si vous avez aimé cet article, suivez-moi sur X, Facebook, LinkedIn et Instagram pour être informé de la sortie de mon livre sur l’IA. Il ira au-delà de mes articles, avec la même rigueur, la même méthode et le même esprit de rédaction.

Le mot de la fin
Claude Code écrit plus vite que moi, lit plus vite que moi, et ne se lasse jamais. Mais il ne sait pas ce que je veux tant que je ne l’ai pas écrit. Mon code commence désormais par une phrase en français. Et c’est toujours moi qui la signe.
Rivel Babindamana
Développeur, octobre 2026

PS : cet article a été préparé avec Claude Code, en suivant la méthode qu’il décrit : un dossier de chantier, un plan, des étapes, et une relecture humaine avant publication.