YOAT Lab
16 · Section 2 · Claude Code et l'écosystème

Automatisation Hooks

Scripts qui s'exécutent automatiquement
à des moments clés d'une session Claude Code.

8 minutessettings.jsonATTENTION sécurité
§ 01 · Qu'est-ce qu'un hook

Un script lancé à un événement précis

Trigger sur événement

PreToolUse, PostToolUse, OnSessionStart, OnSessionEnd. Le hook se déclenche automatiquement au bon moment.

Configuration JSON

Dans .claude/settings.json à la racine du projet. Configuration versionable, partageable avec l'équipe.

Script bash ou node

Le hook exécute un script de votre choix. Linting auto, log, notification, validation, génération de doc.

Code arbitraire

ATTENTION : un hook peut exécuter n'importe quel code. Ne pas activer aveuglément des hooks venant d'ailleurs sans audit.

§ 02 · Les événements disponibles

Quatre moments-clés

Avant

PreToolUse

Juste avant qu'un tool soit appelé (Write, Edit, Bash...). Permet de valider, bloquer, logger. Retourne false pour empêcher l'action.

Après

PostToolUse

Juste après qu'un tool a été exécuté. Idéal pour formatter automatiquement, lancer un linter, déclencher des tests.

Début

OnSessionStart

Au démarrage de la session Claude Code. Pour précharger du contexte, vérifier les dépendances, afficher un rappel.

Fin

OnSessionEnd

À la fin de la session. Pour archiver les logs, créer un résumé de session, envoyer une notification.

§ 03 · Démo — créer un hook auto-format
1

Éditer settings.json

Dans .claude/settings.json à la racine du projet.

2

Hook PostToolUse

Sur Write et Edit, lance prettier sur le fichier modifié.

3

Tester

Demander une modification de fichier → prettier se déclenche.

4

Vérifier le log

Le hook a tourné, le fichier est formatté.

.claude/settings.json 📁 🔍 EXPLORER ▾ MON-PROJET 📄 CLAUDE.md 📄 README.md ▸ src/ ▸ public/ 📄 package.json 📄 CLAUDE.md × { "hooks": { "PostToolUse": [ { "tools": ["Write", "Edit"], "command": "npx prettier --write \"$FILE\"", "description": "Auto-format on save" } ] }} ⎇ main · Claude UTF-8 · LF · Markdown Hook actif 📁 🔍 EXPLORER ▾ MON-PROJET 📄 CLAUDE.md 📄 README.md ▸ src/ ▸ public/ 📄 package.json 📄 CLAUDE.md × ✓ Hook PostToolUse configuré Sur Write : prettier --writeSur Edit : prettier --write Le hook se déclencheraautomatiquement à la prochainemodification de fichier par Claude. ⎇ main · Claude UTF-8 · LF · Markdown Terminal — Claude Code ⚡ ~/projets/mon-projet Ajoute une fonction sayHello dans hello.js✓ hello.js modified→ PostToolUse hook triggered $ npx prettier --write hello.js ✓ hello.js formatted hello.js 📁 🔍 EXPLORER ▾ MON-PROJET 📄 CLAUDE.md 📄 README.md ▸ src/ ▸ public/ 📄 package.json 📄 CLAUDE.md × // Auto-formatted by prettier hook function sayHello() { console.log("Hello!");} sayHello(); ⎇ main · Claude UTF-8 · LF · Markdown
§ 04 · Cas d'usage utiles

Quatre exemples concrets

Qualité

Auto-format + lint

PostToolUse sur Write/Edit. Prettier + ESLint à chaque modification. Le code reste propre sans effort.

Tests

Run tests on Edit

PostToolUse sur les fichiers src/. Lance npm test ciblé. Vous détectez les régressions immédiatement.

Audit

Logging d'actions

PostToolUse sur Bash. Log de chaque commande shell exécutée par Claude dans un fichier d'audit.

Garde-fous

Bloquer écriture sensible

PreToolUse sur Write. Refuse l'écriture sur certains chemins (production config, secrets). Retourne false.

§ 05 · Avertissement sécurité

Pouvoir = responsabilité

Code arbitraire = risque

Un hook PostToolUse peut exécuter n'importe quoi. C'est puissant et dangereux. Ne copiez jamais aveuglément un settings.json trouvé en ligne.

Audit avant activation

Lisez chaque commande du hook. Comprenez ce qu'elle fait. Si quelque chose vous échappe, n'activez pas.

Versionner = partager

Le settings.json est dans Git. Quand vous le partagez à l'équipe, vous partagez aussi les hooks. L'équipe doit auditer.

Pas de secrets dans le JSON

Les hooks accèdent à l'environnement. Tokens, mots de passe : variables d'environnement, jamais dans le settings.json.

Fin · Leçon 16 acquise

À tout de suite en leçon 17

Vous savez ce qu'est un hook, les 4 événements disponibles, comment créer un settings.json. Et vous avez intégré l'avertissement sécurité.

Exercice — appropriation

Choisissez un projet où vous utilisez Claude Code. Si vous écrivez du code : ajoutez un hook auto-format (prettier ou équivalent) sur PostToolUse. Si vous travaillez sur des documents Markdown : ajoutez un hook qui logge chaque édition dans un fichier d'audit. Vérifiez qu'il se déclenche sur 2-3 actions.

Quiz · Validation des acquis

Quiz · Automatisation avec Hooks

8 questions · une seule bonne réponse par question · vous pouvez recommencer autant de fois que nécessaire.

1 / 8
Question à choix multiple

Qu'est-ce qu'un hook dans Claude Code ?

Cliquez sur lecture pour démarrer.
§00 · Intro 0:00 / 8:00 Voix activée