Applied AI · AvancĂ© 🔮 · Session 6
📝 Guide du professeur
← Retour au programme 📄 Source .md

Guide Professeur — Session 6 : Claude Code & CI/CD

Programme : Applied AI — Niveau AvancĂ© (prĂ©paration certification Claude Certified Architect) Instructeur : Yann Isola DurĂ©e : 2 heures 30 (150 minutes) Modules couverts : Chapitres 5 et 13 du guide de rĂ©fĂ©rence — Claude Code, outils intĂ©grĂ©s, intĂ©gration continue


1. Vue d’ensemble de la session

Objectifs pédagogiques

À la fin de cette session, chaque participant doit ĂȘtre capable de :

  1. DĂ©finir Claude Code : un assistant de codage agentique (agentic coding assistant) qui s’exĂ©cute dans le terminal, capable de lire, modifier et exĂ©cuter du code de maniĂšre autonome dans un pĂ©rimĂštre de permissions contrĂŽlĂ©.
  2. Structurer un fichier CLAUDE.md efficace : vue d’ensemble du projet, conventions, commandes courantes, piĂšges connus (gotchas) — et expliquer pourquoi ce fichier est le levier n°1 de la qualitĂ© des sorties.
  3. Configurer le répertoire .claude/ : settings.json (outils autorisés via allowedTools), commandes personnalisées (.claude/commands/), hooks.
  4. MaĂźtriser le modĂšle de permissions : allow/deny par outil, motifs d’auto-acceptation (auto-accept patterns), principe du moindre privilĂšge appliquĂ© Ă  un agent de codage.
  5. Concevoir un systĂšme de hooks : Ă©vĂ©nements de cycle de vie (PreToolCall, PostToolCall, Notification, Stop) pour l’automatisation personnalisĂ©e — audit, garde-fous, notifications.
  6. ExĂ©cuter Claude Code en mode headless (sans interface, non interactif) avec --print / -p pour l’intĂ©grer dans un pipeline CI/CD (Continuous Integration / Continuous Deployment, intĂ©gration et dĂ©ploiement continus).
  7. Concevoir trois patterns d’intĂ©gration CI/CD : revue automatique de PR (Pull Request, demande de fusion), gĂ©nĂ©ration de tests, mise Ă  jour de documentation.
  8. Cartographier les outils intĂ©grĂ©s (Chapitre 13) : Read, Write, Edit, MultiEdit, Bash, Glob, Grep, LS, TodoRead, TodoWrite, WebFetch, mcp__* — et associer chaque outil Ă  son niveau de risque et son besoin de permission.
  9. Gérer les coûts : commande /cost, mise en cache des prompts (prompt caching) dans les sessions longues, /compact pour compresser le contexte.

Prérequis

Positionnement certification

Cette session couvre un domaine fortement pondĂ©rĂ© dans l’examen Claude Certified Architect : la configuration d’environnements agentiques et leur industrialisation. Les questions d’examen types portent sur :

Insistez auprĂšs des participants : l’examen teste le jugement d’architecte, pas la mĂ©morisation de flags. Chaque partie du cours se termine par une « question type certification » — utilisez-les.

Matériel nécessaire

Message central de la session

« Claude Code n’est pas un chatbot qui parle de code : c’est un agent qui agit sur votre dĂ©pĂŽt, dans un pĂ©rimĂštre que vous dĂ©finissez. Le fichier CLAUDE.md est son cerveau contextuel, settings.json est sa cage, les hooks sont vos camĂ©ras de surveillance, et le mode headless en fait un employĂ© de votre pipeline. »

RĂ©pĂ©tez cette mĂ©taphore en quatre temps (cerveau / cage / camĂ©ras / employĂ©) — elle structure toute la session.

Fil conducteur narratif

Toute la session s’appuie sur un projet fil rouge unique : facturation-api, une API de facturation fictive en Python avec des tests pytest. Chaque concept est illustrĂ© sur ce mĂȘme projet :

La rĂ©pĂ©tition du mĂȘme contexte ancre les concepts et prĂ©pare aux questions de scĂ©nario de la certification.


2. Déroulé minute par minute

Horaire Durée Séquence Support
0:00 – 0:05 5 min Accueil, rappel Session 5, objectifs, enjeu certification Slides 1–3
0:05 – 0:25 20 min Partie A — Claude Code : anatomie d’un agent de terminal Slides 4–8 + dĂ©mo live
0:25 – 0:45 20 min Partie B — CLAUDE.md : le cerveau contextuel Slides 9–12 + constructeur web
0:45 – 1:05 20 min Exercice 1 : RĂ©diger un CLAUDE.md Feuille d’exercices + constructeur web
1:05 – 1:10 5 min ☕ Pause courte —
1:10 – 1:30 20 min Partie C — Permissions & outils intĂ©grĂ©s : la cage Slides 13–18 + configurateur web
1:30 – 1:45 15 min Partie D — Hooks : les camĂ©ras de surveillance Slides 19–22
1:45 – 2:00 15 min Exercice 3 (dĂ©marrage) : Concevoir un systĂšme de hooks Feuille d’exercices
2:00 – 2:15 15 min Partie E — Mode headless & CI/CD : l’employĂ© du pipeline Slides 23–27 + concepteur de pipeline web
2:15 – 2:25 10 min Exercice 2 (cadrage) : Pipeline CI/CD avec Claude Code — lancement, finition à la maison Feuille d’exercices
2:25 – 2:30 5 min Quiz Ă©clair + Exit Tickets + annonce Session 7 Slides 28–30

Note de flexibilitĂ© : l’Exercice 2 (CI/CD complet) est le plus long — il est conçu pour ĂȘtre cadrĂ© en sĂ©ance et terminĂ© Ă  la maison. Si vous prenez du retard, compressez la Partie D Ă  10 minutes (montrez uniquement PreToolCall et Stop), mais ne sacrifiez jamais la Partie C (permissions) : c’est le cƓur du modĂšle de sĂ©curitĂ© et le sujet le plus piĂ©geux Ă  l’examen.


3. Notes pédagogiques détaillées par séquence

0:00 – 0:05 | Accueil et cadrage

Quoi dire :

« Jusqu’ici, vous avez conçu des agents dans des applications. Aujourd’hui, on retourne la table : l’agent, c’est votre collĂšgue de terminal. Il lit votre code, le modifie, lance vos tests. Et Ă  la fin de la session, il travaillera tout seul dans votre pipeline CI/CD, la nuit, pendant que vous dormez. La question de la session n’est pas “est-ce que c’est possible ?” — c’est “comment garder le contrĂŽle ?”. »

Annoncez l’enjeu certification : ce chapitre pùse lourd à l’examen. Distribuez le plan.


0:05 – 0:25 | Partie A — Claude Code : anatomie d’un agent de terminal

Concepts clés :

  1. DĂ©finition. Claude Code est un assistant de codage agentique en ligne de commande. « Agentique » signifie : il ne se contente pas de rĂ©pondre, il boucle — lit des fichiers, propose des modifications, exĂ©cute des commandes, observe les rĂ©sultats, corrige. C’est la boucle agentique de la Session 3, incarnĂ©e dans le terminal.

  2. DĂ©marrage d’un projet. La commande /init inspecte le dĂ©pĂŽt et gĂ©nĂšre un premier CLAUDE.md automatiquement. Insistez : c’est un brouillon — un bon architecte le retravaille toujours (transition vers la Partie B).

  3. Interaction en langage naturel. On ne tape pas des commandes rigides : « corrige le bug de calcul de TVA dans invoice.py et ajoute un test » est une instruction valide. Claude Code planifie, ouvre les bons fichiers (via Glob/Grep), édite (via Edit/MultiEdit), teste (via Bash).

  4. Éditions multi-fichiers. Contrairement Ă  l’autocomplĂ©tion classique, Claude Code raisonne Ă  l’échelle du dĂ©pĂŽt : un renommage de fonction peut toucher 12 fichiers en une seule tĂąche.

  5. Slash commands intégrées :

    • /init — gĂ©nĂšre le CLAUDE.md initial ;
    • /compact — compresse l’historique de conversation pour libĂ©rer du contexte (rĂ©sumĂ© automatique) ;
    • /cost — affiche la consommation de tokens et le coĂ»t de la session ;
    • /review — lance une revue de code ;
    • commandes personnalisĂ©es dans .claude/commands/*.md — un fichier Markdown = une commande (ex. .claude/commands/deploy-check.md devient /deploy-check).

DĂ©mo live (8 min) : sur le projet facturation-api, lancez claude, puis /init, montrez le CLAUDE.md gĂ©nĂ©rĂ©. Demandez ensuite en langage naturel : « liste les fichiers de test et dis-moi ce qui n’est pas couvert ». Montrez les demandes de permission qui apparaissent — c’est le teaser parfait de la Partie C.

PiĂšge pĂ©dagogique : certains participants penseront que Claude Code « voit » tout le dĂ©pĂŽt en permanence. Faux : il explore Ă  la demande (via Glob, Grep, Read). Le contexte est construit incrĂ©mentalement — d’oĂč l’importance du CLAUDE.md qui, lui, est chargĂ© systĂ©matiquement.

Question type certification : « Un dĂ©veloppeur constate que Claude Code ignore les conventions de nommage de l’équipe. Quelle est la premiĂšre action corrective ? » → Documenter les conventions dans CLAUDE.md (pas : rĂ©pĂ©ter l’instruction Ă  chaque prompt, ni : changer de modĂšle).


0:25 – 0:45 | Partie B — CLAUDE.md : le cerveau contextuel

Concepts clés :

  1. Ce que c’est. Un fichier Markdown Ă  la racine du projet, chargĂ© automatiquement au dĂ©but de chaque session. C’est l’équivalent projet du message systĂšme : des instructions permanentes, versionnĂ©es avec le code, partagĂ©es par toute l’équipe.

  2. Structure canonique (Ă  faire noter) :

    • Vue d’ensemble du projet — quoi, pour qui, stack technique. 3 Ă  5 lignes.
    • Conventions — style de code, nommage, structure des dossiers, langue des commentaires.
    • Commandes courantes — comment lancer les tests, le linter, le build, le serveur local. Exactes et copiables.
    • PiĂšges connus (gotchas) — « le module X a une API trompeuse », « ne jamais toucher au dossier migrations/ Ă  la main », « les tests d’intĂ©gration exigent Docker ».
  3. Pourquoi ça marche. Chaque instruction dans CLAUDE.md Ă©conomise des dizaines de corrections en aval. Analogie : c’est le document d’onboarding d’un nouveau dĂ©veloppeur — sauf que ce dĂ©veloppeur le relit Ă  chaque session, intĂ©gralement, sans jamais l’oublier.

  4. Anti-patterns à dénoncer :

    • Le CLAUDE.md de 800 lignes : il consomme du contexte Ă  chaque session et dilue les instructions critiques. Cible : moins de 150 lignes, dense.
    • Les gĂ©nĂ©ralitĂ©s (« Ă©cris du code propre ») : zĂ©ro valeur. Chaque ligne doit ĂȘtre spĂ©cifique au projet.
    • Le fichier pĂ©rimĂ© : commandes qui ne marchent plus = l’agent perd confiance
 non, correction : vous perdez du temps, car l’agent exĂ©cute des commandes cassĂ©es. Traitez CLAUDE.md comme du code : revue, mise Ă  jour, responsabilitĂ©.
  5. Hiérarchie. Il peut exister un CLAUDE.md global (niveau utilisateur, ~/.claude/CLAUDE.md) et des CLAUDE.md par sous-dossier pour les monorepos. Le plus spécifique complÚte le plus général.

ActivitĂ© (5 min) : projetez le constructeur de CLAUDE.md de la page web. Remplissez-le en direct avec la salle pour facturation-api. GĂ©nĂ©rez le fichier, critiquez-le ensemble : qu’est-ce qui manque ? Qu’est-ce qui est trop vague ?

Question type certification : « Quelle section de CLAUDE.md a le plus d’impact sur la rĂ©duction des erreurs d’exĂ©cution de commandes ? » → Les commandes courantes exactes (l’agent n’a pas Ă  deviner npm test vs pnpm test vs make test).


0:45 – 1:05 | Exercice 1 — RĂ©diger un CLAUDE.md

Voir feuille d’exercices. Les participants rĂ©digent un CLAUDE.md complet pour un projet dĂ©crit dans l’énoncĂ© (ou leur propre projet s’ils en ont un). Le constructeur web peut servir d’échafaudage, mais exigez une passe manuelle de densification.

CritĂšres de correction (annoncez-les) :

Circulation : repĂ©rez les fichiers « gĂ©nĂ©riques » (qui pourraient dĂ©crire n’importe quel projet) et challengez : « si je donne ce fichier Ă  un autre binĂŽme, saura-t-il que ce n’est pas son projet ? Si non, tout est Ă  réécrire. »


1:10 – 1:30 | Partie C — Permissions & outils intĂ©grĂ©s : la cage

C’est la partie la plus importante de la session. Ralentissez.

Concepts clés :

  1. Le catalogue d’outils intĂ©grĂ©s (Chapitre 13). Faites construire le tableau avec la salle, par niveau de risque croissant :

    Outil Fonction Risque Permission typique
    Read Lire un fichier Faible (fuite d’info possible) Souvent auto-acceptĂ©
    LS Lister un répertoire Faible Auto-accepté
    Glob Trouver des fichiers par motif Faible Auto-accepté
    Grep Chercher dans les contenus Faible Auto-accepté
    TodoRead / TodoWrite Gérer la liste de tùches interne Négligeable Auto-accepté
    WebFetch Récupérer une page web Moyen (exfiltration, contenu non fiable) Validation recommandée
    Write CrĂ©er/Ă©craser un fichier ÉlevĂ© Validation
    Edit / MultiEdit Modifier un/plusieurs fichiers ÉlevĂ© Validation ou motifs ciblĂ©s
    Bash Exécuter une commande shell Critique Validation systématique ou liste blanche fine
    mcp__* Outils MCP externes (serveurs Model Context Protocol) Variable — dĂ©pend du serveur Au cas par cas
  2. Le modĂšle allow/deny. Dans .claude/settings.json, la clĂ© allowedTools dĂ©finit ce qui est autorisĂ© sans confirmation. La granularitĂ© descend jusqu’au motif de commande : Bash(npm test) autorise exactement npm test, Bash(git diff:*) autorise les variantes de git diff. Tout ce qui n’est pas explicitement permis dĂ©clenche une demande de confirmation interactive — ou un refus en mode headless (point crucial pour la Partie E).

  3. Exemple canonique Ă  projeter :

{
  "permissions": {
    "allow": [
      "Read", "Glob", "Grep", "LS",
      "Bash(npm test:*)",
      "Bash(git diff:*)",
      "Bash(git log:*)",
      "Edit"
    ],
    "deny": [
      "Bash(rm:*)",
      "Bash(git push:*)",
      "WebFetch"
    ]
  }
}

⚠ La syntaxe exacte du fichier de settings Ă©volue avec les versions de Claude Code — vĂ©rifiez la documentation officielle avant la session et adaptez la slide si nĂ©cessaire. La logique (allow explicite, deny prioritaire, motifs par prĂ©fixe) est stable et c’est elle qui est testĂ©e en certification.

  1. Principe d’architecte : le deny l’emporte toujours sur le allow. On raisonne en trois cercles : lecture libre (explorer ne coĂ»te rien), Ă©criture surveillĂ©e (modifications validĂ©es ou ciblĂ©es), exĂ©cution verrouillĂ©e (le shell est une surface d’attaque totale — Bash non contraint Ă©quivaut Ă  donner un accĂšs SSH).

  2. Ce que Claude Code ne peut PAS faire : sortir du rĂ©pertoire de travail sans permission, exĂ©cuter quoi que ce soit sans passer par ses outils dĂ©clarĂ©s, masquer une action (tout appel d’outil est visible et journalisable via hooks). Mais rappelez le vecteur d’attaque n°1 : l’injection de prompt via le contenu lu (un commentaire de code malveillant, une page WebFetch piĂ©gĂ©e peuvent contenir des instructions). Les permissions sont la dĂ©fense : mĂȘme manipulĂ©, l’agent ne peut pas exĂ©cuter ce qui est refusĂ©.

Activité (5 min) : configurateur de permissions de la page web. Scénario : « Claude Code doit faire de la revue de code en CI, lecture seule + commentaires ». La salle choisit les outils, la page génÚre le settings.json. Réponse attendue : Read/Glob/Grep/LS seulement, tout le reste en deny.

Question type certification : « Un pipeline CI utilise Claude Code en headless pour gĂ©nĂ©rer des tests. Quel ensemble minimal d’outils faut-il autoriser ? » → Read, Glob, Grep, LS (exploration), Write ou Edit (crĂ©er les fichiers de test), Bash(pytest:*) ou Ă©quivalent (vĂ©rifier que les tests passent). Rien d’autre. Chaque outil superflu est un point perdu.


1:30 – 1:45 | Partie D — Hooks : les camĂ©ras de surveillance

Concepts clés :

  1. DĂ©finition. Un hook est un script Ă  vous que Claude Code exĂ©cute automatiquement Ă  des moments prĂ©cis du cycle de vie. Contrairement au prompt (que le modĂšle peut mal interprĂ©ter), un hook est dĂ©terministe : il s’exĂ©cute toujours, exactement comme Ă©crit.

  2. Les quatre événements :

    • PreToolCall — avant chaque appel d’outil. Peut bloquer l’appel (garde-fou). Ex. : refuser tout Bash contenant DROP TABLE.
    • PostToolCall — aprĂšs chaque appel d’outil. Ne bloque pas, mais observe et rĂ©agit. Ex. : lancer le formateur de code aprĂšs chaque Edit.
    • Notification — quand Claude Code a besoin d’une attention humaine (demande de permission, question). Ex. : envoyer un message Slack.
    • Stop — quand l’agent termine sa rĂ©ponse/sa tĂąche. Ex. : jouer un son, dĂ©clencher la suite du pipeline, archiver le journal de session.
  3. Cas d’usage d’architecte (les trois familles) :

    • Garde-fous (PreToolCall) : politiques de sĂ©curitĂ© inviolables, complĂ©mentaires aux permissions — les permissions disent quels outils, les hooks disent quelles utilisations de ces outils.
    • Automatisation qualitĂ© (PostToolCall) : lint/format automatique, vĂ©rification que les fichiers modifiĂ©s compilent.
    • ObservabilitĂ© (tous) : journal d’audit complet de chaque action de l’agent — exigence frĂ©quente en environnement rĂ©gulĂ©. Reliez au contexte des participants : dans une banque, ce journal est ce que l’auditeur demandera.
  4. SĂ©mantique de blocage : un hook PreToolCall qui sort avec un code d’échec (et/ou un message) empĂȘche l’appel et renvoie l’explication au modĂšle, qui peut ajuster sa stratĂ©gie. C’est un dialogue, pas juste un mur.

À dire :

« Retenez la division du travail : CLAUDE.md = ce que l’agent devrait faire (persuasion). Permissions = ce qu’il peut faire (capacitĂ©). Hooks = ce qui se passe quand il agit (contrĂŽle et rĂ©action). Un architecte certifiĂ© sait choisir le bon niveau : on ne met pas dans le prompt ce qui doit ĂȘtre un hook, et on ne met pas dans un hook ce qui doit ĂȘtre une permission. »

Question type certification : « L’équipe sĂ©curitĂ© exige qu’aucune commande contenant curl vers un domaine externe ne soit jamais exĂ©cutĂ©e, mĂȘme si l’utilisateur l’approuve. Prompt, permission ou hook ? » → Hook PreToolCall (inspection du contenu de la commande + blocage inconditionnel). Une permission deny Bash(curl:*) est aussi dĂ©fendable — excellente occasion de dĂ©battre : la permission bloque tout curl, le hook permet une logique fine (curl interne OK, externe non).


1:45 – 2:00 | Exercice 3 (dĂ©marrage) — Concevoir un systĂšme de hooks

Voir feuille d’exercices. Travail sur papier/Ă©diteur : concevoir les hooks d’un environnement rĂ©gulĂ©. Pas besoin d’exĂ©cuter — l’exercice Ă©value le design : choix de l’évĂ©nement, logique de filtrage, action.

Circulation : l’erreur classique est de tout mettre en PreToolCall. Poussez Ă  justifier : « pourquoi ce contrĂŽle avant plutĂŽt qu’aprĂšs ? Qu’est-ce que ça coĂ»te en latence ? »


2:00 – 2:15 | Partie E — Mode headless & CI/CD : l’employĂ© du pipeline

Concepts clés :

  1. Le mode headless. claude -p "instruction" (ou --print) exĂ©cute la tĂąche sans interface interactive : Claude Code reçoit l’instruction, agit, imprime le rĂ©sultat, se termine. Code de sortie exploitable par le pipeline.

  2. ConsĂ©quence critique : en headless, personne ne clique sur “autoriser”. Toutes les permissions doivent ĂȘtre prĂ©-accordĂ©es dans settings.json (ou via les flags de permission en ligne de commande). Un outil non autorisĂ© = action refusĂ©e = tĂąche potentiellement incomplĂšte. D’oĂč la rĂšgle d’or : calibrer les permissions headless au strict nĂ©cessaire de la tĂąche, et rien de plus — c’est un agent sans surveillance humaine.

  3. Les trois patterns d’intĂ©gration Ă  connaĂźtre pour la certification :

    a) Revue automatique de PR. DĂ©clencheur : ouverture/mise Ă  jour d’une PR. Le job checkout le code, lance claude -p "RĂ©vise ce diff : bugs, sĂ©curitĂ©, conventions du CLAUDE.md. Formate en Markdown." avec des permissions lecture seule + Bash(git diff:*). La sortie est postĂ©e en commentaire de PR via l’API de la forge (GitHub/GitLab). Point d’architecte : la revue IA complĂšte la revue humaine, elle ne la remplace pas — configurez-la comme non bloquante au dĂ©but.

    b) GĂ©nĂ©ration de tests. DĂ©clencheur : baisse de couverture ou demande manuelle. Permissions : lecture + Write (limitĂ© au dossier tests/ si possible via hook !) + Bash(pytest:*). Le job commit les tests sur une branche et ouvre une PR — jamais de push direct sur main. VoilĂ  un mariage parfait permission + hook : Write autorisĂ©, hook PreToolCall qui vĂ©rifie que le chemin commence par tests/.

    c) Mise à jour de documentation. Déclencheur : merge sur main. Claude Code compare le code et la doc, met à jour les sections périmées, ouvre une PR de doc. Permissions : lecture + Edit sur docs/.

  4. Gestion des coûts en CI :

    • Chaque run consomme des tokens : suivez /cost en interactif, et en CI, plafonnez (limite de tours, timeout du job).
    • Le prompt caching (mise en cache des prĂ©fixes de prompt) rĂ©duit fortement le coĂ»t des sessions longues : le CLAUDE.md et le contexte stable sont mis en cache, seul le nouveau contenu est facturĂ© au tarif plein. ⚠ Les tarifs et taux de rĂ©duction du cache Ă©voluent — donnez l’ordre de grandeur (« le token en cache coĂ»te une fraction du token normal ») et renvoyez Ă  la grille tarifaire du jour.
    • /compact en session interactive longue : rĂ©sume l’historique pour Ă©viter l’engorgement du contexte (et la dĂ©gradation de qualitĂ© qui va avec).
  5. Anti-pattern Ă  clouer au mur : --dangerously-skip-permissions (ou tout Ă©quivalent « autorise tout ») dans un pipeline connectĂ© Ă  des secrets de production. Si vous devez l’utiliser, c’est dans un conteneur jetable, sans rĂ©seau sortant, sans secrets. Un architecte qui met « autorise tout » dans un runner CI avec des credentials AWS a ratĂ© sa certification et son audit de sĂ©curitĂ©.

ActivitĂ© (5 min) : concepteur de pipeline de la page web. Construisez en direct le flux PR → revue Claude → tests → dĂ©ploiement, en configurant chaque Ă©tape (permissions, blocant/non-blocant).

Question type certification : « En mode headless, Claude Code s’arrĂȘte sans terminer car un outil est refusĂ©. Cause la plus probable ? » → Permission manquante dans settings.json : en headless il n’y a pas de confirmation interactive possible.


2:15 – 2:25 | Exercice 2 (cadrage) — Pipeline CI/CD

Lancez l’exercice 2 : lecture de l’énoncĂ© ensemble, choix du pattern par binĂŽme, Ă©criture du squelette de workflow. La finition (workflow YAML complet + settings.json + hook) se fait Ă  la maison. Annoncez que les productions seront relues en dĂ©but de Session 7.


2:25 – 2:30 | Clîture


4. Questions fréquentes des participants (et réponses)

« Claude Code peut-il dĂ©truire mon dĂ©pĂŽt ? » Avec des permissions par dĂ©faut : non — les actions d’écriture et d’exĂ©cution demandent confirmation, et Git vous protĂšge (tout est rĂ©versible avant push). Avec « autorise tout » et sans Git : oui, comme n’importe quel script auquel vous donnez les clĂ©s. La rĂ©ponse d’architecte : ce n’est pas une question de confiance dans le modĂšle, c’est une question de pĂ©rimĂštre de permissions.

« Pourquoi ne pas tout mettre dans CLAUDE.md plutĂŽt que dans des hooks ? » Parce que CLAUDE.md est de la persuasion : le modĂšle suit les instructions avec une trĂšs haute probabilitĂ©, mais pas une garantie. Un hook est du code : il s’exĂ©cute Ă  100 %. Les politiques de sĂ©curitĂ© vont dans les hooks/permissions ; les prĂ©fĂ©rences et conventions vont dans CLAUDE.md.

« Le mode headless est-il le mĂȘme binaire ? » Oui — mĂȘme outil, flag -p/--print. Ce qui change : pas d’interactivitĂ©, donc pas de confirmations, donc prĂ©-configuration obligatoire.

« Que valent les revues de PR par IA ? » Excellentes pour : bugs Ă©vidents, incohĂ©rences de convention, oublis (gestion d’erreur, cas limites), fautes de documentation. LimitĂ©es pour : pertinence mĂ©tier, choix d’architecture de fond. D’oĂč la recommandation : non bloquantes, en complĂ©ment de l’humain.

« Et les outils MCP (mcp__*) ? » Chaque serveur MCP connectĂ© expose ses outils sous le prĂ©fixe mcp__nomserveur__nomoutil. Ils entrent dans le mĂȘme modĂšle allow/deny. RĂšgle d’architecte : auditer chaque serveur MCP comme une dĂ©pendance de sĂ©curitĂ© (qui l’a Ă©crit ? que fait-il vraiment ?) avant de l’autoriser — c’était l’objet de la Session 5.


5. BarÚme et corrigés synthétiques


6. Pour aller plus loin (Ă  mentionner en clĂŽture)