Aller au contenu principal
Leçon 19 sur 20 · Claude Code en action

Testez vos connaissances

Leçon 19 sur 20 Mis à jour le 5 novembre 2026 Développeur
Sur cette page
  1. Testez vos connaissances
  2. À vous de jouer
  3. Points clés à retenir

Testez vos connaissances

Avant de conclure, prenez un moment pour vérifier votre compréhension des concepts clés. Formulez votre réponse, à voix haute ou par écrit, puis dépliez la question pour comparer. Une réponse approximative signale un point à relire, pas un échec.

1. Boucle agentique — Quelles sont les trois phases que Claude Code enchaîne pour traiter une tâche, et pourquoi un modèle seul ne peut-il pas les accomplir ?

Réponse : Collecter le contexte, agir, vérifier le résultat, en boucle jusqu’à la fin de la tâche. Un modèle de langage seul ne fait que recevoir et renvoyer du texte ; c’est le tool use, l’appel d’outils structuré que le harnais exécute à sa place, qui lui permet de lire des fichiers, de modifier du code et de lancer des commandes. Chaque résultat d’outil décide de l’action suivante.

2. Installation — Quelle méthode d'installation se met à jour seule, et comment vérifier qu'une installation fonctionne ?

Réponse : L’installeur natif (install.sh, install.ps1 ou install.cmd) se met à jour en arrière-plan ; Homebrew et WinGet exigent brew upgrade ou winget upgrade. On vérifie avec claude --version dans un nouveau terminal, puis claude doctor pour un diagnostic, et enfin une question de bout en bout comme claude "Dis bonjour".

3. Permissions — Dans quel mode démarre une session en terminal, et que fait `Maj+Tab` ?

Réponse : Depuis la version 2.1.283, en mode Auto : un classifieur examine les actions en arrière-plan et bloque celles qui sortent de la demande. Maj+Tab fait défiler les modes : Auto, puis Manual (tout demande confirmation sauf les lectures), Accept edits (modifications de fichiers acceptées), Plan (exploration sans modification). Les chemins critiques et les fichiers protégés restent soumis à confirmation dans tous les modes sauf bypassPermissions.

4. CLAUDE.md — Quelle est la différence entre `CLAUDE.md`, `CLAUDE.local.md`, `~/.claude/CLAUDE.md` et la mémoire automatique ?

Réponse : Le CLAUDE.md de projet est commité et partagé avec l’équipe ; CLAUDE.local.md reste personnel et hors Git ; ~/.claude/CLAUDE.md s’applique à tous vos projets. Tous trois sont écrits par vous et lus à chaque session comme du contexte. La mémoire automatique, elle, est écrite par Claude dans ~/.claude/projects/<projet>/memory/ : préférences, corrections, décisions, références ; « retiens que… » y va, « ajoute au CLAUDE.md » va dans le fichier.

5. Plan et effort — Quand utiliser le mode plan plutôt qu'un niveau d'effort élevé ?

Réponse : Le mode plan répond à un manque de largeur : une tâche qui touche plusieurs fichiers et demande un inventaire avant d’agir. L’effort (/effort low à max) répond à un manque de profondeur : un bug subtil ou un problème algorithmique dans peu de code. Ils se combinent. Le mot ultrathink élève un seul tour ; « think hard » n’est plus un mot-clé.

6. Contexte — Quelle est la différence entre `/compact`, `/clear`, `/rewind` et `/branch` ?

Réponse : /compact résume l’historique en préservant l’essentiel, pour enchaîner des tâches connexes. /clear repart d’une conversation vide, la précédente restant reprenable. /rewind (ou Échap deux fois) restaure le code, la conversation ou les deux à un checkpoint, ou résume une partie de l’historique. /branch copie la conversation dans une nouvelle session pour essayer une autre approche sans perdre celle en cours.

7. Skills — Comment créer une commande `/audit`, et que fait `disable-model-invocation: true` ?

Réponse : Créez .claude/skills/audit/SKILL.md avec un en-tête YAML (description) et le prompt en corps ; le nom du dossier devient la commande, sans redémarrage. L’ancien fichier .claude/commands/audit.md fonctionne encore. disable-model-invocation: true réserve le déclenchement à vous : Claude ne lance pas la skill de lui-même, et sa description ne consomme plus de contexte.

8. MCP — Comment ajouter le serveur Playwright, et comment autoriser tous ses outils sans confirmation ?

Réponse : claude mcp add playwright -- npx @playwright/mcp@latest dans le terminal (le double tiret sépare les options de la commande du serveur). Pour un service en ligne, claude mcp add --transport http <nom> <url>. Les outils s’appellent mcp__playwright__<outil> ; une règle allow avec mcp__playwright__*, deux underscores, les pré-approuve.

9. Hooks — Quelle est la différence entre un hook PreToolUse et PostToolUse, et que signifient les codes de sortie 0 et 2 ?

Réponse : PreToolUse s’exécute avant l’outil et peut bloquer, autoriser, demander confirmation ou réécrire les arguments ; PostToolUse s’exécute après et ne peut que donner du feedback ou modifier ce que Claude voit du résultat. Exit 0 signifie « pas d’objection » (le flux de permission normal s’applique) ; exit 2 bloque l’action et transmet stderr à Claude. Un hook qui plante laisse passer l’action, sauf avec onFailure: "block".

10. Hooks partagés — Comment écrire un hook qui fonctionne chez tous les membres de l'équipe sans chemin absolu propre à une machine ?

Réponse : Avec la forme exec ("command": "node", "args": ["${CLAUDE_PROJECT_DIR}/.claude/hooks/script.js"]) : Claude Code remplace ${CLAUDE_PROJECT_DIR} par la racine du projet. Le hook commité dans .claude/settings.json fonctionne chez chacun, une fois le dossier marqué comme de confiance.

11. Protection de fichiers — Pourquoi un hook sur `Read|Edit|Write` ne suffit-il pas à protéger `.env`, et que faire ?

Réponse : Parce que cat .env passe par l’outil Bash, que le matcher ne surveille pas. Une règle de permission deny Read(./.env) couvre les outils de fichiers, les mentions @, Edit et Write, et les commandes de lecture reconnues dans Bash ; le bac à sable donne la garantie au niveau du système. Le hook reste utile quand la décision demande de la logique.

12. Agent SDK — Quelles sont les permissions par défaut d'un agent écrit avec le SDK ?

Réponse : Depuis la version 2.1.302, le mode default (Manual) : tout appel qui exigerait une confirmation est refusé tant qu’aucune règle allowedTools, aucun mode (acceptEdits, auto), aucun hook ni rappel canUseTool ne l’approuve. Les lectures passent ; l’écriture et les commandes se nomment explicitement.

13. GitHub Actions — Comment l'action choisit-elle entre répondre aux mentions `@claude` et s'exécuter automatiquement ?

Réponse : D’après la présence de l’entrée prompt : sans elle, mode interactif (Claude attend @claude dans une issue ou une PR) ; avec elle, mode automatique sur l’événement du workflow, y compris un cron. Dans les deux cas, l’auteur doit avoir un accès en écriture et les bots sont refusés sauf listés dans allowed_bots. Un prompt n’a aucun outil tant que claude_args --allowedTools ou une skill ne lui en donne.

À vous de jouer

Votre bilan. Notez les questions auxquelles vous avez mal répondu et relisez la leçon correspondante. Puis choisissez, pour votre projet, une habitude par partie du cours : un réglage de contexte, un geste de pilotage, une skill ou un serveur MCP, et un hook à installer cette semaine.

Cours officiel — Ce cours a été bâti sur le programme d’origine de Claude Code in Action (Claude Academy) et rédigé en français d’après la documentation officielle. Claude Academy a depuis refondu son cours en neuf leçons et un quiz, centrés sur les longues sessions peu supervisées : piloter, configurer, automatiser, vérifier et partager. Pour valider le cours officiel, suivez Claude Code in action sur Claude Academy et passez son quiz.

Sources officielles : Claude Code in action (Claude Academy) · Choose a permission mode (documentation Claude Code) · Hooks reference · Agent SDK overview · Claude Code GitHub Actions

Points clés à retenir

  • Claude Code enchaîne collecter, agir, vérifier, grâce au tool use exécuté par le harnais
  • Le contexte se donne par CLAUDE.md, les règles, la mémoire automatique et les mentions @
  • Les sessions démarrent en mode Auto ; Maj+Tab change de mode, le mode plan explore sans modifier
  • Les skills, les serveurs MCP et l’action GitHub étendent Claude ; les hooks imposent des règles déterministes
  • L’Agent SDK démarre en mode Manual : nommez les outils que vous lui confiez