Guide · Développement logiciel × IA · Octobre 2026
~/votre-projet $ claude
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.
RBPar Rivel BabindamanaEnviron 55 minutes de lecture
É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é.
claude — ~/boutique
> ajoute un export CSV des commandes● Je commence par explorer la structure du projet…● Read src/orders/ · Grep "Order" · Read src/admin/…● J’ai créé un service d’export générique, réutilisable pour
toutes les entités, avec un système de colonnes configurables,
et j’en ai profité pour harmoniser le format des dates. 14 fichiers modifiés, +612 −88✓ Terminé ! L’export CSV est prêt.
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 partoutQuel est le meilleur prompt pour Claude Code ?
La question que je vous proposeQuelle façon de travailler pour quel besoin, et que dois-je écrire, moi, pour que le code qu’il écrit soit le bon ?
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 : 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émoire
L’image
Qui l’écrit
Où
Quand elle est lue
CLAUDE.md
La fiche d’accueil qu’on lui remet chaque matin
Vous (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 besoin
Au lancement ; ceux des sous-dossiers, quand Claude y lit un fichier. Un @chemin importe un autre fichier.
Règles
La note collée sur une armoire précise
Vous
.claude/rules/*.md, limitables à certains fichiers (paths:)
Au lancement, ou quand Claude touche aux fichiers concernés
Mémoire automatique
Son carnet personnel
Claude, de lui-même
~/.claude/projects/<projet>/memory/, avec un index MEMORY.md
Le début de l’index à chaque session ; le reste à la demande. /memory pour la consulter ou la couper.
Sessions et points de retour
L’enregistrement de la réunion, et la touche « annuler »
Claude Code
L’historique de chaque conversation
Quand 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.
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.
Surface
Ce qu’elle apporte
Pour qui, pour quoi
Le terminal
Toutes les fonctionnalités, en premier. Scriptable.
La référence. C’est là que tout arrive d’abord.
VS Code, JetBrains
Les diffs dans l’éditeur, la sélection courante comme contexte.
Le binôme, quand on veut voir chaque modification à sa place.
L’application de bureau
Relecture 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 mobile
Lancer 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, GitLab
On mentionne @claude dans un fil, une issue, une pull request.
L’équipe, et l’intégration continue.
claude -p et l’Agent SDK
Sans 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 empirique
Le moteur
Le régime
Planifier, concevoir, déboguer un problème retors
Le plus capable
Par défaut, plus haut si le premier essai échoue
Exécuter un plan clair
Un modèle plus rapide
Par défaut
Les sous-agents qui fouillent le code
Le plus léger
Par 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.
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.
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
Ma recommandationRépondez aux questions ci-dessus.
Et pour garder une vue d’ensemble, voici les sept côte à côte :
Façon
Mode de départ
Votre place
Ce qu’il faut écrire
Le risque principal
1L’explorateur
Plan
Vous enquêtez
Des questions précises
Croire une explication fausse
2Le binôme
Manuel
Sur chaque ligne
Une étape à la fois
Valider sans lire
3Plan, puis code
Plan, puis modifier sans demander
Le plan et le diff
L’objectif et le contexte
Un plan survolé
4Piloté par la spec
Plan, puis auto
La spec et le diff
Un fichier de spec complet
Une spec morte ou trop longue
5Le prototype
Auto, hors de la branche principale
Le résultat visible
L’effet voulu
Qu’il parte en production
6L’orchestre
Auto, un worktree par agent
Répartir et fusionner
Des tâches bien séparées
Être débordé par la relecture
7Le robot
dontAsk, outils listés
Le livrable
La consigne et les garde-fous
L’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.
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é.
À 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’assembleur
Hier : Java
Aujourd’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 source
imul 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’outil
l’assembleur : une ligne donne une instruction
le compilateur : une ligne donne plusieurs instructions, toujours les mêmes
Claude Code : une phrase donne plusieurs lignes, jamais tout à fait les mêmes
Le dérivé
0F AF 05 …, le binaire
le bytecode, Boutique.class, que plus personne n’écrit
total = prix * qte;, la source d’hier
L’action
on l’exécute
on l’exécute, sans le relire
on le relit, on le questionne, on le teste, puis on le valide
Si c’est faux
on corrige boutique.asm
on corrige Boutique.java et on recompile ; jamais le bytecode
on 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.
RBRivel 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 planle 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 :
claude — ~/boutique
> step 2 du fichier docs/chantier-export-csv/PLAN.md● Read docs/chantier-export-csv/PLAN.md · Read docs/ARCHITECTURE.md● Étape 2 : service d’export en flux et droits « compta ».● Update src/admin/orders/export.ts · Update src/auth/roles.ts● Bash npm test48 réussis, 0 échec● Bash npm run lintok● Update docs/chantier-export-csv/PLAN.mdétape 2 : ✅✓ Étape 2 commitée en local, prête pour ta revue.
Point d’attention : les filtres de date sont en heure locale,
la spec ne dit rien du fuseau. On tranche avant l’étape 3 ?
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 questionneClaude explique, ou propose autre choseje tranchela décision entre dans la specClaude régénèreje validegit push
claude — ~/boutique · revue de l’étape 2
> Pourquoi csv-stringify ? Les règles communes disent
« aucune nouvelle dépendance ».● Exact. Je l’ai ajoutée pour l’échappement des champs. Je peux
écrire un générateur en flux d’une trentaine de lignes, testé.> Fais-le. Et renomme exportOrders en streamOrdersCsv : dans ce
projet, les fonctions de flux commencent par stream. Ajoute
cette convention aux règles communes du plan.● Update src/admin/orders/export.ts · Update package.json● Update docs/chantier-export-csv/PLAN.mdrègle ajoutée● Bash npm test51 réussis, 0 échec✓ Dépendance retirée, fonction renommée, convention dans le plan.
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.
Situation
Ce que je fais
Pourquoi
Une coquille, un bug évident, un renommage
2Le binôme, directement, sans plan
Écrire un plan prendrait plus de temps que la correction.
Choisir un design
5Le prototype : trois maquettes jetables, puis je choisis
On juge mieux sur pièce.
Un code que je ne connais pas
1L’explorateur, avant toute chose
On ne spécifie bien que ce qu’on comprend.
Une tâche répétitive et vérifiable
7Le robot
Si 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.
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.mdla fiche d’accueil du projet, versionnée
├── CLAUDE.local.md vos notes perso, hors Git
├── .mcp.jsonles serveurs MCP de l’équipe
├── .worktreeinclude les fichiers à copier dans chaque worktree (.env)
├── .claude/
│ ├── settings.jsonpermissions 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.
Brique
C’est…
Chargé quand
Pour
Exemple
CLAUDE.md
un conseil permanent
au lancement
ce qu’il doit savoir à chaque session
les commandes de test, les interdits
Règle
un conseil ciblé
quand il touche aux fichiers visés
les conventions d’une partie du code
« les tests n’utilisent pas de mocks »
Skill
un savoir-faire
la description toujours, le contenu à l’usage
une procédure qui revient
publier une version
Sous-agent
un spécialiste, avec son propre contexte
quand Claude lui délègue
lire beaucoup, ou porter un regard neuf
un relecteur
Hook
une loi
à un événement précis
ce qui ne doit jamais être oublié
formater après chaque modification
Permission
un droit
à chaque appel d’outil
ce qu’il peut faire seul, ou jamais
autoriser les tests, interdire .env
Serveur MCP
un branchement
les noms au départ, le détail à l’usage
parler aux outils de l’équipe
GitHub, Sentry, un navigateur
Plugin
un paquet de tout ça
à l’installation
partager une configuration
une 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).
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.
#!/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 ;;
esacexit 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 :
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-managementhookify
Entretenir son CLAUDE.md, et créer des hooks en les décrivant en langage courant.
Navigationtypescript-lsppyright-lspgopls-lsp…
Les plugins LSP : Claude navigue dans le code comme votre éditeur (définitions, références, erreurs).
Pour aller plus loinskill-creatorplugin-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.
Commande
Ce qu’elle fait
Démarrer
claudeclaude "tâche"
Ouvre une session, avec ou sans première consigne.
claude -cclaude -r
Reprend la dernière session, ou en choisit une dans la liste. /resume depuis une session.
claude -w nom
Ouvre la session dans un nouveau worktree Git, sur sa propre branche.
/init
Écrit un premier CLAUDE.md à partir du projet.
Piloter
Maj+Tab/plan
Change de mode de permission ; entre en mode plan avec une tâche.
Échap
Interrompt Claude, sans perdre le travail fait.
ÉchapÉchap/rewind
Revient à un point précédent : le code, la conversation, ou les deux.
@fichier!commande
Mentionne un fichier ; lance une commande shell dont la sortie rejoint la session.
Ctrl+VCtrl+G
Colle une image (une capture d’écran) ; ouvre votre éditeur pour un long message.
Ctrl+B/tasks
Passe une commande ou un agent en arrière-plan ; liste ce qui tourne.
/btw
Pose une question annexe sans l’ajouter à l’historique.
Contexte et coût
/context
Montre ce qui occupe le contexte, par catégorie.
/clear/compact
Repart de zéro ; ou résume, avec une consigne sur ce qu’il faut garder.
/model/effort/fast
Choisit le modèle, l’intensité de réflexion, le mode rapide.
/usage
Votre consommation et vos limites.
Configurer
/memory
Ouvre les fichiers CLAUDE.md et la mémoire automatique.
/permissions/status/config
Les droits en vigueur ; d’où vient chaque réglage ; les préférences.
/hooks/agents/mcp/plugin
L’état des hooks, des sous-agents, des serveurs MCP, des plugins.
/statusline/keybindings
Personnalise la ligne d’état (modèle, contexte, coût) et les raccourcis.
Relire et livrer
/code-review
Revue du travail en cours ou d’une pull request, du niveau low à ultra ; --fix applique les corrections.
/security-review
Analyse de sécurité des changements de la branche.
/install-github-app
Installe l’action GitHub qui répond à @claude.
Automatiser
claude -p
Mode sans interface, pour les scripts et l’intégration continue.
/schedule/loop
Une tâche planifiée dans le cloud ; une consigne répétée à intervalle dans la session.
claude --cloud/remote-control
Lance une session dans le cloud ; pilote la session locale depuis le web ou le mobile.
claude doctor
Diagnostique 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.
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, 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.
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.
$ git merge --no-ff ma-methode
Merge made by the 'ort' strategy.
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.
RBRivel 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.