Automatisation Hooks
Scripts qui s'exécutent automatiquement
à des moments clés d'une session Claude Code.
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.
Quatre moments-clés
PreToolUse
Juste avant qu'un tool soit appelé (Write, Edit, Bash...). Permet de valider, bloquer, logger. Retourne false pour empêcher l'action.
PostToolUse
Juste après qu'un tool a été exécuté. Idéal pour formatter automatiquement, lancer un linter, déclencher des tests.
OnSessionStart
Au démarrage de la session Claude Code. Pour précharger du contexte, vérifier les dépendances, afficher un rappel.
OnSessionEnd
À la fin de la session. Pour archiver les logs, créer un résumé de session, envoyer une notification.
Éditer settings.json
Dans .claude/settings.json à la racine du projet.
Hook PostToolUse
Sur Write et Edit, lance prettier sur le fichier modifié.
Tester
Demander une modification de fichier → prettier se déclenche.
Vérifier le log
Le hook a tourné, le fichier est formatté.
Quatre exemples concrets
Auto-format + lint
PostToolUse sur Write/Edit. Prettier + ESLint à chaque modification. Le code reste propre sans effort.
Run tests on Edit
PostToolUse sur les fichiers src/. Lance npm test ciblé. Vous détectez les régressions immédiatement.
Logging d'actions
PostToolUse sur Bash. Log de chaque commande shell exécutée par Claude dans un fichier d'audit.
Bloquer écriture sensible
PreToolUse sur Write. Refuse l'écriture sur certains chemins (production config, secrets). Retourne false.
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.
À 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 · Automatisation avec Hooks
8 questions · une seule bonne réponse par question · vous pouvez recommencer autant de fois que nécessaire.
Qu'est-ce qu'un hook dans Claude Code ?
Un hook est un script qui s'exécute automatiquement à un événement précis : avant une commande, après une édition, avant un commit, etc. Permet automatisation et garde-fous.
Quels sont les principaux types d'événements (hooks) ?
Hooks principaux : PreToolUse (avant utilisation d'un outil), PostToolUse (après), UserPromptSubmit (à chaque prompt utilisateur), Stop (fin de session). Plus quelques événements spécialisés.
Un hook PostToolUse peut formater automatiquement le code après chaque édition.
Vrai. Cas d'usage très courant : PostToolUse + prettier (ou équivalent) → chaque fichier modifié par Claude est reformaté immédiatement selon les conventions du projet.
Où sont définis les hooks ?
Configuration dans settings.json : niveau utilisateur (~/.claude/) ou niveau projet (.claude/ à la racine, versionné dans Git).
Quel hook peut servir de garde-fou anti-secret ?
Hook PreToolUse + script de détection de secrets (regex API keys, tokens) → si détection, le hook retourne un code d'erreur et Claude refuse l'action. Garde-fou avant toute fuite.
Les hooks s'exécutent à chaque fois que Claude utilise un outil, ce qui peut ralentir une session si mal calibrés.
Vrai. Hook PostToolUse trop lourd (linter complet à chaque édition) = sessions ralenties. Discipline : un hook doit être rapide ou ciblé sur un type de fichier précis.
Quel format de retour un hook doit-il respecter ?
Convention Unix : exit code 0 = succès, autre = échec. La sortie standard sert à passer un message d'information ou d'erreur à Claude. Simple, robuste, scriptable.
Modifier .claude/settings.json sur un projet d'équipe doit passer en revue de code comme tout autre changement.
Vrai. Un hook = un effet automatique sur tous les développeurs du projet. Modifier les hooks = modifier le comportement de tout le monde. Donc revue de code obligatoire.