ENFR
8news

Tech • IA • Crypto

Aujourd'huiMa veilleVidéosTop articles 24hArchivesFavorisMes topics

Le truc qui change tout sur Claude Code (les hooks)

Ingénierie IABen BK12 mai 2026 à 15:1410:45
0:00 / 0:00

INTRO

Les hooks personnalisés dans les flux de travail de codage assisté par IA peuvent automatiser les notifications, imposer des garde-fous et standardiser le formatage du code, améliorant fortement la fiabilité et la productivité.

POINTS CLÉS

Les hooks comme déclencheurs d’exécution

Les hooks sont de petits scripts qui s’exécutent à des moments précis du flux de travail d’un assistant IA, par exemple avant ou après l’exécution d’une commande ou à la fin d’une tâche. Ils s’intègrent directement aux environnements de développement et sont configurés via un fichier settings.json au niveau du projet ou de l’utilisateur. Cela permet d’adapter le comportement globalement ou par projet.

Contrôle critique avec les hooks pre-tool

Le hook pre-tool use est la seule étape où des actions peuvent être bloquées avant exécution. Il permet d’imposer des garde-fous stricts contre des commandes destructrices comme rm -rf, un git push forcé ou des requêtes de suppression de base de données telles que DROP TABLE. En interceptant les motifs risqués, il agit comme une barrière ferme plutôt qu’une simple suggestion, évitant des erreurs irréversibles.

Automatisation et formatage post-tool

Le hook post-tool use s’exécute après une action et sert généralement à des tâches d’automatisation comme le formatage du code ou la journalisation. Un cas courant consiste à lancer Prettier automatiquement après des modifications de fichiers, garantissant un formatage cohérent sans intervention manuelle.

Notifications en temps réel et alertes de fin

Les hooks liés aux événements notification et stop fournissent un retour en temps réel. Des signaux sonores peuvent indiquer quand une action utilisateur est requise ou quand une tâche est terminée, réduisant les temps d’attente et améliorant la visibilité du flux de travail. Des sons distincts peuvent différencier confirmations en attente et opérations terminées.

Protection des fichiers sensibles

Les hooks peuvent appliquer des règles empêchant la modification ou la suppression de fichiers critiques comme .env ou les configurations .git. Même avec des commandes explicites, des motifs protégés bloquent l’accès, garantissant l’intégrité des identifiants et configurations sensibles.

Initialisation de session avec injection de contexte

Le hook session start injecte un contexte à jour au début de chaque session. Cela peut inclure la branche Git actuelle, les commits récents, l’état des tests ou les tâches actives. En fournissant automatiquement ces informations, il réduit le temps de préparation et améliore la prise de décision.

Distinction entre règles et suggestions

Contrairement aux fichiers consultatifs comme cloud.md, qui donnent des indications pouvant être ignorées, les hooks imposent des règles strictes. Cette distinction est essentielle pour les équipes nécessitant un comportement déterministe, notamment en production ou en collaboration.

Implications de sécurité et d’équipe

Les hooks s’exécutent avec toutes les permissions utilisateur et peuvent lancer n’importe quel script, rendant une mauvaise configuration potentiellement dangereuse. Des hooks mal conçus peuvent exposer des secrets ou modifier des systèmes critiques. De plus, les fichiers de configuration partagés se propagent à toute l’équipe, chaque hook devant être traité comme du code de production.

CONCLUSION

Les hooks introduisent une automatisation contraignante et des garde-fous dans le développement assisté par IA, apportant à la fois des gains d’efficacité et une meilleure protection contre les erreurs s’ils sont bien conçus.

Transcription complète

Ajouter une sonnerie quand Claude a terminé son travail. Empêcher la destruction de fichiers super important. Formater automatiquement ton code avec pretiurer dès que Cloud Code a terminé quelque chose. Tout ça c'est possible grâce au hook cloud code. Et dans cette vidéo, je te montre exactement ce que c'est et les cinq hooks que j'utilise sur tous mes projets. Et tous les codes sont disponibles en description. C'est parti. Si tu as jamais entendu parler des hooks, voici le truc à comprendre. Quand tu travailles avec l'autre code, il utilise constamment des outils dans le terminal. Il édite des fichiers, il lance des commandes bâche, il fait aussi des recherches dans ton code. Et chaque action de Claude, bah c'est un outil qu'il vient appeler. Et un hook, c'est un petit script qui vient s'appeler à un moment précis. par exemple juste avant que Claude utilise un outil, juste après ou quand il termine sa réponse et toi tu décides de quand il vient s'exécuter. Concrètement ce hook, tu le configures dans un fichier settings.gon. Soit dans ton projet et là ça ne s'applique qu'à ton projet, soit dans ton dossier utilisateur et là ça vient s'appliquer à tous tes projets. Et le truc super puissant, c'est que ces hook empêchent Claude de faire des bêtises. Tu vois Claude qui s'apprête à supprimer un fichier super important. à pousser sur main en force à toucher ton point enve. Bah le hook vient intercepter ça et dire tu fais pas ça et c'est pas une suggestion poli comme le cloud.md. Là c'est vraiment un mur et c'est ça qui change tout. Il y a une vingtaine de moments où un hook peut s'exécuter mais en pratique tu vas en utiliser quatre dans 90 % des cas. Déjà avant un outil pretool use et c'est le seul moment où tu peux bloquer Cloud. Après un outil post tool use pour formater le code loguer vérifier quand Claude a fini avec stop ça permettra de jouer un son pour savoir quand Claude a terminé une tâche quand Claude a besoin de toi avec notification si par exemple Claude te demande une validation en plein milieu de tâche et un 5ème très utile au démarrage de la session avec session start parfait pour donner du contexte frais à Claude à chaque fois que tu reprends ton travail alors ce premier hook C'est vraiment celui qui change la vie. J'en avais marre que Claude me pose des questions et en fait moi pendant 20 minutes j'étais ailleurs à faire complètement autre chose. Je reviens 20 minutes après et il y a toujours cette question et au final Claude n'a rien fait. Donc c'est ça qui m'a donné envie de créer le premier hook ici. Donc on a vraiment alors tous les hooks seront disponibles en description sur mon GitHub. Mais là, j'ai vraiment un hook qui me permet d'avoir une notification sonore quand il se passe quelque chose, déjà quand il a terminer quelque chose ou aussi quand il attend tout simplement une confirmation. Alors pour créer un hook, vous allez créer un dossier pointcloud et vous pourrez créer un fichier settings.gison à l'intérieur. Et le format est assez simple, on a hooks et on a ici un hook pour les notifications et un hook pour le stop. Au niveau des notifications, ben c'est ici euh un bruit qui est émis grâce au PowerShell. Et au niveau du stop, on a un autre bruit qui a été mis grâce au Power Shell. Donc si je lance ici mon clou, alors il faudra aussi que je mette le casque pour entendre le son. Si je lui demande quelque chose de tout bête ici. Là on va entendre un bruit. Voilà. Donc là c'est la notification. Si je valide qu'il me fait en effet le changement, normalement voilà, à la fin, on va avoir le bruit du stop. Donc je sais que le bruit assez grave, c'est plutôt pour une notification. Donc il demande que je dise oui, non ou autre chose. Et le bruit un peu plus aigu, c'est pour le stop, il a terminé de travailler. Deuxième hook, c'est celui qui t'évite de pleurer un samedi soir. Tu fais confiance à Claude et Claude fait par exemple un RM- RF. Mince, c'est absolument dramatique, il a tout supprimé. J'ai envie d'éviter ça ainsi que d'autres commandes qui peuvent être destructrices. Donc ici pour l'exemple, j'ai créé un dossier mon test et dans ce dossier, j'ai créé un fichier mon test.txt avec juste un petit texte ici et je lui demande fait un RM- RF de mon test. Allez, c'est parti. Et vous allez voir que ça ne va pas fonctionner. Voilà. Et là, on voit que la commande est bloquée. Bloquée. La commande contient le pattern dangereux RM- RF. Alors, comment j'ai fait ça? Donc, déjà ici dans un hook dans settings.gison, j'ai ici un proole. Donc, qu'est-ce qu'il se passe avant d'utiliser un outil? Il vient ici détecter différentes commandes grâce au script garde- b. Donc on a vraiment pas mal de commandes RM- et RF de différentes choses. Les guit push euh ti- et ti- force reset drop table, ça empêchera de supprimer des bases de données entières avec le drop database. Voilà, pas mal de choses ici que je n'ai pas envie que Cloue me fasse. Donc ça c'est aussi pas mal et c'est super utile. Un autre hook que j'aime vraiment beaucoup, c'est le format automatique. Donc ici on voit très bien que la fermeture de la balise H1 est complètement décalée. Il faudrait reformater ça. Donc quand je vais par exemple demander à Claude de d'ajouter ici ajoute un titre H2 à page tsx, ben ici par conséquent quand il va faire quelque chose bah après il va lancer prétier. Donc voilà, là il ajoute le titre H2 et puis ensuite regardez, on a le H1 qui revient à la bonne position parce que ça a été bien formaté. Encore une fois, le code sera directement en description sur GitHub. Et ici, le 4è hook, toujours un hook qui empêche à Claude de toucher au fichier qu'on ne veut pas qu'il touche. Par exemple, le point Enve. Rien de pire qu'avoir un point ENV avec énormément de clés et puis tout d'un coup, tout disparaît parce que Claude a décidé de le supprimer. ou encore le point guit d'ailleurs qu'il faudrait aussi protéger à ce niveau-là. Il faudrait créer quelque chose pour que Cloud ait en effet accès potentiellement à ces fichiers mais qu'il ne puisse pas les modifier ou les supprimer. Et encore une fois ici, j'ai créé quelque chose qui vient contrôler différents patterns. Donc il vient contrôler si Claude fait des bêtises. Et ben si j'ai un point ENV là, je vais lancer Claude. On va essayer de supprimer ce fichier point. Supprime le fichier point. Ben, on voit qu'il ne peut pas le faire. Bloquer la commande touche un fichier protégé. Et on voit le pattern ici. Claude se rend bien sur compte que la suppression est bloquée par un hook de protection. Il nous indique exactement le hook ici présent qui empêche toute commande touchant un fichier point même avec validation explicite. Donc voilà encore un hook que personnellement j'utilise dans tous mes projets. Un dernier hook qui est intéressant c'est le session start. Celui-là, peu de gens l'utilisent et c'est dommage. À chaque fois que tu démarres une session ou ici que ta session est compactée ou reprise, tu peux injecter du contexte frais. Par exemple, la branche guit actuelle, les derniers commits, tout doux en cours, statut des tests. Et là, Cloud vient reprendre ce contexte en plus du cloud.md. Donc si je lance mon cloud ici désormais al je pense qu'on va peut-être oui on va peut-être pas voir les choses vraiment de façon évidente. On va lui demander si le hook a fonctionné. D'ailleurs, n'hésitez pas à demander à Claude aussi de créer les hook. Il peut aussi le faire. Et on voit très bien que le hook a bien fonctionné au démarrage de cette session. Le hook session start a exécuté ce script.sh et injecter ce contexte dans la conversation. Très bien. Et on pourrait aller encore plus loin injecter le statut de la C mais aussi les issues GitHub qui me sont assignés ou encore le dernier état des tests. Mais bon, on va commencer ici un peu simple. Encore une fois, on aura tout ça qui sera disponible dans la description de la vidéo. Et ensuite, bon là, j'ai présenté les outils un à un, mais on peut mettre bien entendu les cinq en même temps, il y a pas de souci à ce niveau-là. Donc, on aura différents hooks. Session start et on a un hook ici. Prê tools. Voilà. Et là, on fait plusieurs choses au niveau du préoole. On a le post tools, notification et enfin le stop. Alors, juste quelques informations, le post tools, il y a pas mal de gens en ligne qui confondent des choses à ce niveau-là, c'est que ça ne vient pas bloquer des éléments. Post tool use, c'est post, c'est après. Donc c'est après qu'un outil est tourné. Donc si tu veux empêcher quelque chose, le mieux c'est d'utiliser prê tooluse. C'est fait pour ça. C'est un peu le seul moment où cloud peut être interrompu avant d'agir. Par contre si tu veux réagir à quelque chose là plus cohérent c'est de faire quelque chose mais après donc le post tools sera ici vraiment cohérent. Al il y a un autre piège c'est que on voit souvent des gens qui confondent un peu les mémories et les règles ici principalement au niveau de cloud.md. MD. Alors là, j'ai pas grand-chose mais des fois on peut dire dans le cloud. Mais il commite quand même. Faut savoir que le cloud.md, c'est une suggestion. Cloud essaie en soi de le suivre mais il peut des fois un peu passer à autre chose entre deux tâches et un peu se planter. Donc si tu voulais bah par exemple empêcher les commits dans ton settings.gison, tu pourrais faire au niveau de lolo list, tu pourrais enlever le guit commit ou bah tu peux mettre aussi un pretool use qui vient bloquer les commandes git commit. Tout ce qui est markdown, c'est plutôt du conseil et tout ce qui est hook c'est plutôt des règles aussi. Et ensuite, autre chose, je vois sur Redit des gens qui créent 100 hook pour un projet. De mon côté, je préfère avoir quelques hook que je connais bien et qui fonctionne que sans éléments encore une fois qui viennent s'entasser et qui viennent faire ralentir mon cloud aussi. Ensuite, ben soyez prudent avec les hooks parce qu'au final, il faut pas oublier que tous les hooks ont tous bah tes droits à toi. Les hooks, s'ils viennent tourner avec tes permissions complètes, il y a pas ici de soundbox ou de protection. Donc un hook mal configuré, ben ça peut être un peu chaud. Ça peut exposer des secrets, ça peut supprimer des fichiers, ça peut faire totalement n'importe quoi. Donc faites attention, il faut vraiment traiter les scripts ici comme du code en production. Et surtout ne pas oublier que le pointcloud settings.gison, si tu travailles en équipe, il sera partagé à ton équipe. C'est du code qui va tourner chez tout le monde. Donc attention avec cela. Voilà, si vous avez aimé cette vidéo, n'hésitez pas à liker, commenter et à partager. et on se retrouve très bientôt dans la prochaine vidéo.

Sur le même sujet : Ingénierie IA