Quels sont les autres types de hooks disponibles dans Claude Code au-delà de PreToolUse et PostToolUse ?	Notification, Stop, SubagentStop, PreCompact, UserPromptSubmit, SessionStart et SessionEnd.
À quel moment le hook Notification s'exécute-t-il ?	Lors de l'envoi d'une notification par Claude Code, c'est-à-dire lors d'une demande d'autorisation pour un outil ou après 60 secondes d'inactivité.
Quand le hook Stop se déclenche-t-il ?	Lorsque Claude Code a terminé de générer sa réponse.
Pourquoi la structure de l'entrée stdin varie-t-elle entre les hooks ?	Elle dépend du type de hook exécuté et, pour PreToolUse/PostToolUse, de l'outil appelé ou du filtre (matcher) spécifié.
Quel est le principal défi technique lors du développement de hooks ?	L'imprévisibilité de la structure exacte des données stdin reçues, ce qui rend difficile la conception des commandes associées.
Comment créer un hook auxiliaire pour inspecter l'entrée stdin brute ?	En utilisant un matcher `"*"` et une commande comme `jq . > post-log.json` pour rediriger l'entrée vers un fichier de journalisation.
Quel est l'utilité de la configuration `"matcher": "*"` dans un hook ?	Elle permet de capturer tous les événements sans filtrage, facilitant ainsi le débogage et l'analyse de la structure des données entrantes.
Quels champs principaux compose l'exemple de stdin d'un hook PostToolUse ?	session_id, transcriptpath, hookeventname, tool_name, tool_input et tool_response.
À quel moment le hook SessionStart s'exécute-t-il ?	Au démarrage ou à la reprise d'une session de travail.
Que contient le champ `tool_response` dans un hook PostToolUse ?	Le résultat retourné par l'outil après son exécution, incluant souvent l'état précédent et l'état mis à jour (ex: anciens et nouveaux todos).
