6 6
7> Ajoutez des volets, des commandes et des règles d'appel d'outils à Claude Code avec un mod. Découvrez ce qu'un mod peut faire, comment en créer ou en installer un, et où les mods s'exécutent.7> Ajoutez des volets, des commandes et des règles d'appel d'outils à Claude Code avec un mod. Découvrez ce qu'un mod peut faire, comment en créer ou en installer un, et où les mods s'exécutent.
8 8
9Un mod est un [plugin](/docs/fr/plugins/overview.md) qui change l'apparence et le comportement de Claude Code. Il est composé de gestionnaires d'événements JavaScript ou TypeScript : Claude Code en appelle un quand un événement se produit, comme un appel d'outil, une invite soumise, ou une partie de l'interface en cours de dessin, et le gestionnaire peut observer l'événement, le modifier, ou le reprendre. Utilisez un mod pour ajouter votre propre fonctionnalité à Claude Code, comme un volet qui affiche le graphique de la saturation de votre contexte après chaque requête. Pour les fichiers d'un mod et un exemple complet, voir [Comment fonctionne un mod](#how-a-mod-works).9Un mod est un [plugin](https://code.claude.com/docs/fr/plugins/overview.md) qui change l'apparence et le comportement de Claude Code. Il est composé de gestionnaires d'événements JavaScript ou TypeScript : Claude Code en appelle un quand un événement se produit, comme un appel d'outil, une invite soumise, ou une partie de l'interface en cours de dessin, et le gestionnaire peut observer l'événement, le modifier, ou le reprendre. Utilisez un mod pour ajouter votre propre fonctionnalité à Claude Code, comme un volet qui affiche le graphique de la saturation de votre contexte après chaque requête. Pour les fichiers d'un mod et un exemple complet, voir [Comment fonctionne un mod](#how-a-mod-works).
10 10
11> [!NOTE]11> [!NOTE]
12>12>
13> Les [hooks](/docs/fr/hooks.md) existants de Claude Code s'exécutent également sur des événements, en tant que commande shell, requête HTTP ou invite que vous configurez dans un fichier de paramètres. Les gestionnaires d'un mod sont des fonctions qui s'exécutent à l'intérieur de Claude Code à la place. Claude Code appelle les deux types de hooks : sur ces pages, « hook » signifie le gestionnaire d'un mod, et le type de fichier de paramètres est un « settings hook ».13> Les [hooks](https://code.claude.com/docs/fr/hooks.md) existants de Claude Code s'exécutent également sur des événements, en tant que commande shell, requête HTTP ou invite que vous configurez dans un fichier de paramètres. Les gestionnaires d'un mod sont des fonctions qui s'exécutent à l'intérieur de Claude Code à la place. Claude Code appelle les deux types de hooks : sur ces pages, « hook » signifie le gestionnaire d'un mod, et le type de fichier de paramètres est un « settings hook ».
14 14
15## Ce qu'un mod peut faire15## Ce qu'un mod peut faire
16 16
17Les settings hooks, les skills, les lignes d'état et les serveurs MCP fonctionnent en dehors de Claude Code : chacun exécute un script, ou donne à Claude du texte ou des outils. Un mod s'exécute à l'intérieur de Claude Code, il peut donc faire des choses qu'ils ne peuvent pas :17Les settings hooks, les skills, les lignes d'état et les serveurs MCP fonctionnent en dehors de Claude Code : chacun exécute un script, ou donne à Claude du texte ou des outils. Un mod s'exécute à l'intérieur de Claude Code, il peut donc faire des choses qu'ils ne peuvent pas :
18 18
19* **Dessiner une interface que vous pouvez utiliser** : un volet à côté de la transcription ou une bande au-dessus de l'invite, avec des onglets, des boutons et des champs de texte. Voir [Dessiner dans l'interface](/docs/fr/plugins/mods/interface.md).19* **Dessiner une interface que vous pouvez utiliser** : un volet à côté de la transcription ou une bande au-dessus de l'invite, avec des onglets, des boutons et des champs de texte. Voir [Dessiner dans l'interface](https://code.claude.com/docs/fr/plugins/mods/interface.md).
20* **Redessiner la propre interface de Claude Code** : remplacer ou remodeler les parties que Claude Code dessine lui-même, comme la ligne d'un appel d'outil, le spinner, ou la boîte de dialogue dans laquelle Claude pose des questions. Voir [Modifier ce que Claude Code dessine déjà](/docs/fr/plugins/mods/interface.md#change-what-claude-code-already-draws).20* **Redessiner la propre interface de Claude Code** : remplacer ou remodeler les parties que Claude Code dessine lui-même, comme la ligne d'un appel d'outil, le spinner, ou la boîte de dialogue dans laquelle Claude pose des questions. Voir [Modifier ce que Claude Code dessine déjà](https://code.claude.com/docs/fr/plugins/mods/interface.md#change-what-claude-code-already-draws).
21* **Intervenir dans un appel d'outil ou une requête** : par exemple, maintenir un appel d'outil pendant que vous posez une question à l'utilisateur, y répondre sans exécuter l'outil, ou envoyer une requête à un modèle différent. Voir [Garder ou modifier un appel d'outil](/docs/fr/plugins/mods/events.md#guard-or-change-a-tool-call) et [Suivre un tour](/docs/fr/plugins/mods/events.md#follow-a-turn).21* **Intervenir dans un appel d'outil ou une requête** : par exemple, maintenir un appel d'outil pendant que vous posez une question à l'utilisateur, y répondre sans exécuter l'outil, ou envoyer une requête à un modèle différent. Voir [Garder ou modifier un appel d'outil](https://code.claude.com/docs/fr/plugins/mods/events.md#guard-or-change-a-tool-call) et [Suivre un tour](https://code.claude.com/docs/fr/plugins/mods/events.md#follow-a-turn).
22* **Exécuter votre propre code sur une commande** : une `/command` qui exécute votre fonction immédiatement, sans tour Claude, même pendant que Claude travaille. Voir [Ajouter une commande ou un outil](/docs/fr/plugins/mods/api.md#add-a-command-or-a-tool).22* **Exécuter votre propre code sur une commande** : une `/command` qui exécute votre fonction immédiatement, sans tour Claude, même pendant que Claude travaille. Voir [Ajouter une commande ou un outil](https://code.claude.com/docs/fr/plugins/mods/api.md#add-a-command-or-a-tool).
23* **Partager des données entre les hooks** : les hooks d'un mod partagent les variables de son fichier, donc ce qu'un hook enregistre, un autre peut l'afficher. Par exemple, un hook peut compter les appels d'outils tandis qu'un autre affiche le compte à côté du spinner, ou l'un peut lire l'utilisation des tokens de chaque requête tandis qu'un autre la représente graphiquement dans un volet. Voir [Réagir aux événements](/docs/fr/plugins/mods/events.md).23* **Partager des données entre les hooks** : les hooks d'un mod partagent les variables de son fichier, donc ce qu'un hook enregistre, un autre peut l'afficher. Par exemple, un hook peut compter les appels d'outils tandis qu'un autre affiche le compte à côté du spinner, ou l'un peut lire l'utilisation des tokens de chaque requête tandis qu'un autre la représente graphiquement dans un volet. Voir [Réagir aux événements](https://code.claude.com/docs/fr/plugins/mods/events.md).
24 24
25Les mods fonctionnent dans le CLI Claude Code, dans l'onglet Code de l'application Claude Desktop et dans l'extension VS Code. Voir [Où les mods s'exécutent](#where-mods-run) pour comprendre comment ils se comportent ailleurs, comme dans `claude -p` et les sessions cloud. Si un hook de paramètres, un skill ou un serveur MCP fait déjà ce dont vous avez besoin, [comparez-les](#compare-mods-settings-hooks-skills-and-mcp-servers) avant d'écrire un mod. Pour gérer les mods d'une organisation, voir [Gérer les mods de votre organisation](/docs/fr/plugins/mods/admin.md).25Les mods fonctionnent dans le CLI Claude Code, dans l'onglet Code de l'application Claude Desktop et dans l'extension VS Code. Voir [Où les mods s'exécutent](#where-mods-run) pour comprendre comment ils se comportent ailleurs, comme dans `claude -p` et les sessions cloud. Si un hook de paramètres, un skill ou un serveur MCP fait déjà ce dont vous avez besoin, [comparez-les](#compare-mods-settings-hooks-skills-and-mcp-servers) avant d'écrire un mod. Pour gérer les mods d'une organisation, voir [Gérer les mods de votre organisation](https://code.claude.com/docs/fr/plugins/mods/admin.md).
26 26
27## Obtenir un mod27## Obtenir un mod
28 28
29Pour commencer avec un mod :29Pour commencer avec un mod :
30 30
31* **Utiliser un que vous avez déjà** : certaines des propres fonctionnalités de Claude Code sont des mods, comme `/diff`. Voir [Mods intégrés à Claude Code](#mods-built-into-claude-code).31* **Utiliser un que vous avez déjà** : certaines des propres fonctionnalités de Claude Code sont des mods, comme `/diff`. Voir [Mods intégrés à Claude Code](#mods-built-into-claude-code).
32* **En créer un** : décrivez ce que vous voulez dans une session Claude Code, et Claude écrit le mod. Voir [Demander un mod à Claude](/docs/fr/plugins/mods/create.md#ask-claude-for-a-mod). Pour apprendre comment fonctionne le code d'un mod, [écrivez-en un vous-même](/docs/fr/plugins/mods/create.md#write-a-mod-yourself).32* **En créer un** : décrivez ce que vous voulez dans une session Claude Code, et Claude écrit le mod. Voir [Demander un mod à Claude](https://code.claude.com/docs/fr/plugins/mods/create.md#ask-claude-for-a-mod). Pour apprendre comment fonctionne le code d'un mod, [écrivez-en un vous-même](https://code.claude.com/docs/fr/plugins/mods/create.md#write-a-mod-yourself).
33* **En installer un** : voir [Installer ou mettre à jour un mod](#install-or-update-a-mod), ou [essayer un mod d'exemple](#try-a-sample-mod)33* **En installer un** : voir [Installer ou mettre à jour un mod](#install-or-update-a-mod), ou [essayer un mod d'exemple](#try-a-sample-mod)
34 34
35### Installer ou mettre à jour un mod35### Installer ou mettre à jour un mod
43* Dans une session Claude Code, exécutez `/plugin install token-chart@your-org`.43* Dans une session Claude Code, exécutez `/plugin install token-chart@your-org`.
44* Dans votre shell, exécutez `claude plugin install token-chart@your-org`.44* Dans votre shell, exécutez `claude plugin install token-chart@your-org`.
45 45
46[Installer les plugins](/docs/fr/plugins/install.md) couvre les marketplaces, les portées, l'extension VS Code et l'application Desktop, et [garder les plugins à jour](/docs/fr/plugins/install.md#keep-plugins-updated), qui s'appliquent tous à un plugin contenant un mod sans modifications.46[Installer les plugins](https://code.claude.com/docs/fr/plugins/install.md) couvre les marketplaces, les portées, l'extension VS Code et l'application Desktop, et [garder les plugins à jour](https://code.claude.com/docs/fr/plugins/install.md#keep-plugins-updated), qui s'appliquent tous à un plugin contenant un mod sans modifications.
47 47
48Si vous installez ou mettez à jour un mod à partir de votre shell pendant qu'une session est ouverte, exécutez `/reload-plugins` dans cette session pour le charger. Sinon, il se charge la prochaine fois que vous démarrez Claude Code.48Si vous installez ou mettez à jour un mod à partir de votre shell pendant qu'une session est ouverte, exécutez `/reload-plugins` dans cette session pour le charger. Sinon, il se charge la prochaine fois que vous démarrez Claude Code.
49 49
57 57
58Un mod d'exemple s'exécute avec vos permissions. Pour voir ce qu'il fait avant de le charger, [listez ses hooks et ses appels](#list-what-a-mod-does-before-you-install-one).58Un mod d'exemple s'exécute avec vos permissions. Pour voir ce qu'il fait avant de le charger, [listez ses hooks et ses appels](#list-what-a-mod-does-before-you-install-one).
59 59
60Pour en essayer un, clonez le dépôt et [chargez le répertoire du mod pour une session](/docs/fr/plugins/create.md#load-a-directory-or-archive-for-one-session) avec `--plugin-dir`. Pour confirmer que le mod a été chargé, [vérifiez quels mods la session a chargés](#see-which-mods-a-session-loaded).60Pour en essayer un, clonez le dépôt et [chargez le répertoire du mod pour une session](https://code.claude.com/docs/fr/plugins/create.md#load-a-directory-or-archive-for-one-session) avec `--plugin-dir`. Pour confirmer que le mod a été chargé, [vérifiez quels mods la session a chargés](#see-which-mods-a-session-loaded).
61 61
62Pour en conserver un, [ajoutez le répertoire `claude-code/mods` du clone en tant que marketplace](/docs/fr/plugins/install#add-a-marketplace), puis installez le mod à partir de `claude-code-playground-mods`. La marketplace pointe vers votre clone, donc le mod cesse de se charger si vous le déplacez ou le supprimez.62Pour en conserver un, [ajoutez le répertoire `claude-code/mods` du clone en tant que marketplace](https://code.claude.com/docs/fr/plugins/install#add-a-marketplace), puis installez le mod à partir de `claude-code-playground-mods`. La marketplace pointe vers votre clone, donc le mod cesse de se charger si vous le déplacez ou le supprimez.
63 63
64## Décider si vous faites confiance à un mod64## Décider si vous faites confiance à un mod
65 65
66Un mod est du code qui s'exécute avec vos permissions, à l'intérieur de Claude Code. Installez les mods uniquement à partir d'auteurs et de [marketplaces en qui vous avez confiance](/docs/fr/plugins/security.md).66Un mod est du code qui s'exécute avec vos permissions, à l'intérieur de Claude Code. Installez les mods uniquement à partir d'auteurs et de [marketplaces en qui vous avez confiance](https://code.claude.com/docs/fr/plugins/security.md).
67 67
68### Ce qu'un mod peut atteindre68### Ce qu'un mod peut atteindre
69 69
76* **Agir sans vous demander** : approuver un appel d'outil avant que la question ne vous soit posée76* **Agir sans vous demander** : approuver un appel d'outil avant que la question ne vous soit posée
77* **Dépenser votre utilisation** : appeler un modèle sur votre plan ou clé API77* **Dépenser votre utilisation** : appeler un modèle sur votre plan ou clé API
78 78
79Les mods ne sont pas isolés dans un sandbox. Si vous activez le [sandboxing](/docs/fr/sandboxing.md), le sandbox isole les commandes Bash que Claude exécute, et un processus qu'un mod démarre s'exécute en dehors de celui-ci.79Les mods ne sont pas isolés dans un sandbox. Si vous activez le [sandboxing](https://code.claude.com/docs/fr/sandboxing.md), le sandbox isole les commandes Bash que Claude exécute, et un processus qu'un mod démarre s'exécute en dehors de celui-ci.
80 80
81Avec des [paramètres gérés](/docs/fr/settings.md#check-what-your-organization-enforces) ou un [`/login`](/docs/fr/authentication#authentication-precedence) Team ou Enterprise comme identifiants de la session, par défaut, l'approbation d'un mod ne permet pas à un appel de contourner vos règles `ask` ni vos hooks `PreToolUse`. Sans l'un ni l'autre, un mod peut approuver un appel pour lequel une règle `ask` vous demanderait confirmation, ou que votre hook `PreToolUse` a bloqué. Pour vérifier quand un mod peut également approuver un appel qu'une règle `deny` refuse, consultez [Étendre les permissions avec les hooks](/docs/fr/permissions.md#precedence-among-rules-hooks-and-mods).81Avec des [paramètres gérés](https://code.claude.com/docs/fr/settings.md#check-what-your-organization-enforces) ou un [`/login`](https://code.claude.com/docs/fr/authentication#authentication-precedence) Team ou Enterprise comme identifiants de la session, par défaut, l'approbation d'un mod ne permet pas à un appel de contourner vos règles `ask` ni vos hooks `PreToolUse`. Sans l'un ni l'autre, un mod peut approuver un appel pour lequel une règle `ask` vous demanderait confirmation, ou que votre hook `PreToolUse` a bloqué. Pour vérifier quand un mod peut également approuver un appel qu'une règle `deny` refuse, consultez [Étendre les permissions avec les hooks](https://code.claude.com/docs/fr/permissions.md#precedence-among-rules-hooks-and-mods).
82 82
83Un mod peut remodeler une grande partie de l'interface de Claude Code, mais pas la demande de permission. Il ne peut pas modifier ce qu'une demande vous montre.83Un mod peut remodeler une grande partie de l'interface de Claude Code, mais pas la demande de permission. Il ne peut pas modifier ce qu'une demande vous montre.
84 84
90claude plugin validate ./some-mod90claude plugin validate ./some-mod
91```91```
92 92
93Les lignes `hooks:` et `calls:` dans la sortie énumèrent les événements que le mod gère et ce qu'il demande à Claude Code de faire. [Examiner ce qu'un mod peut faire](/docs/fr/plugins/mods/admin.md#review-what-a-mod-can-do) montre la sortie et les appels à rechercher.93Les lignes `hooks:` et `calls:` dans la sortie énumèrent les événements que le mod gère et ce qu'il demande à Claude Code de faire. [Examiner ce qu'un mod peut faire](https://code.claude.com/docs/fr/plugins/mods/admin.md#review-what-a-mod-can-do) montre la sortie et les appels à rechercher.
94 94
95## Activer ou désactiver les mods95## Activer ou désactiver les mods
96 96
97Les mods sont activés par défaut. Dans le terminal, utilisez Claude Code v2.1.287 ou version ultérieure. L'application Desktop inclut sa propre copie de Claude Code, et les mods y fonctionnent à partir de la v2.1.286. Vérifiez la version à l'endroit où vous utilisez les mods :97Les mods sont activés par défaut. Dans le terminal, utilisez Claude Code v2.1.287 ou version ultérieure. L'application Desktop inclut sa propre copie de Claude Code, et les mods y fonctionnent à partir de la v2.1.286. Vérifiez la version à l'endroit où vous utilisez les mods :
98 98
99* **Terminal** : dans votre shell, exécutez `claude --version`. Si la vôtre est plus ancienne, [mettez à jour Claude Code](/docs/fr/setup.md#update-claude-code).99* **Terminal** : dans votre shell, exécutez `claude --version`. Si la vôtre est plus ancienne, [mettez à jour Claude Code](https://code.claude.com/docs/fr/setup.md#update-claude-code).
100* **Application Desktop** : dans une session locale de l'onglet Code, saisissez `/status` et lisez la ligne **Claude Code**, qui affiche une version telle que `2.1.286`. Si la vôtre est plus ancienne, [mettez à jour l'application Desktop](/docs/fr/desktop.md#claude-code-version-in-the-code-tab).100* **Application Desktop** : dans une session locale de l'onglet Code, saisissez `/status` et lisez la ligne **Claude Code**, qui affiche une version telle que `2.1.286`. Si la vôtre est plus ancienne, [mettez à jour l'application Desktop](https://code.claude.com/docs/fr/desktop.md#claude-code-version-in-the-code-tab).
101 101
102Pour désactiver les mods, choisissez combien en arrêter et pour combien de temps. Pour les réactiver, annulez le même changement :102Pour désactiver les mods, choisissez combien en arrêter et pour combien de temps. Pour les réactiver, annulez le même changement :
103 103
104* **Un mod** : désactivez ou désinstallez son plugin à partir de l'[onglet **Installé** dans `/plugin`](/docs/fr/plugins/install#manage-installed-plugins)104* **Un mod** : désactivez ou désinstallez son plugin à partir de l'[onglet **Installé** dans `/plugin`](https://code.claude.com/docs/fr/plugins/install#manage-installed-plugins)
105* **Chaque mod installé, pour une session** : démarrez Claude Code avec [`--safe-mode`](/docs/fr/cli-reference#cli-flags), qui désactive également vos autres personnalisations105* **Chaque mod installé, pour une session** : démarrez Claude Code avec [`--safe-mode`](https://code.claude.com/docs/fr/cli-reference#cli-flags), qui désactive également vos autres personnalisations
106* **Chaque mod que vous avez installé, dans chaque session** : définissez [`"disableAllHooks": true`](/docs/fr/settings-reference#disableallhooks) dans `~/.claude/settings.json`. Vos settings hooks et votre barre de statut personnalisée s'arrêtent aussi. Ce que votre organisation gère continue de fonctionner.106* **Chaque mod que vous avez installé, dans chaque session** : définissez [`"disableAllHooks": true`](https://code.claude.com/docs/fr/settings-reference#disableallhooks) dans `~/.claude/settings.json`. Vos settings hooks et votre barre de statut personnalisée s'arrêtent aussi. Ce que votre organisation gère continue de fonctionner.
107 107
108Si vous utilisez Claude Code via une organisation, un administrateur peut également limiter les mods qui se chargent. Les administrateurs commencent à [Empêcher les mods installés par l'utilisateur de se charger](/docs/fr/plugins/mods/admin.md#stop-user-installed-mods-from-loading).108Si vous utilisez Claude Code via une organisation, un administrateur peut également limiter les mods qui se chargent. Les administrateurs commencent à [Empêcher les mods installés par l'utilisateur de se charger](https://code.claude.com/docs/fr/plugins/mods/admin.md#stop-user-installed-mods-from-loading).
109 109
110`disableAllHooks` et `allowManagedModsOnly` de votre organisation arrêtent un mod et laissent le reste de son plugin en place : le plugin reste installé, et ses skills, commandes, agents et serveurs MCP se chargent. D'autres paramètres et flags vont plus loin. [`disableAllHooks`](/docs/fr/settings-reference#disableallhooks) et [Ce qui s'exécute sous `allowManagedHooksOnly`](/docs/fr/settings-reference#what-runs-under-allowmanagedhooksonly) indiquent l'effet de chacun sur un plugin et ses settings hooks.110`disableAllHooks` et `allowManagedModsOnly` de votre organisation arrêtent un mod et laissent le reste de son plugin en place : le plugin reste installé, et ses skills, commandes, agents et serveurs MCP se chargent. D'autres paramètres et flags vont plus loin. [`disableAllHooks`](https://code.claude.com/docs/fr/settings-reference#disableallhooks) et [Ce qui s'exécute sous `allowManagedHooksOnly`](https://code.claude.com/docs/fr/settings-reference#what-runs-under-allowmanagedhooksonly) indiquent l'effet de chacun sur un plugin et ses settings hooks.
111 111
112Pour savoir si les mods peuvent se charger pour vous, voir [Vérifier si les mods peuvent se charger](/docs/fr/plugins/mods/troubleshoot.md#check-whether-mods-can-load).112Pour savoir si les mods peuvent se charger pour vous, voir [Vérifier si les mods peuvent se charger](https://code.claude.com/docs/fr/plugins/mods/troubleshoot.md#check-whether-mods-can-load).
113 113
114> [!NOTE]114> [!NOTE]
115>115>
117 117
118### Voir quels mods une session a chargés118### Voir quels mods une session a chargés
119 119
120Pour voir quels mods une session de terminal a chargés, exécutez `/plugin` à l'invite Claude Code. Une ligne atténuée sous les onglets donne le compte et les noms, comme `1 mod active · first-mod`. Si un mod que vous avez installé n'est pas nommé là, voir [Découvrir pourquoi un mod ne fait rien](/docs/fr/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing).120Pour voir quels mods une session de terminal a chargés, exécutez `/plugin` à l'invite Claude Code. Une ligne atténuée sous les onglets donne le compte et les noms, comme `1 mod active · first-mod`. Si un mod que vous avez installé n'est pas nommé là, voir [Découvrir pourquoi un mod ne fait rien](https://code.claude.com/docs/fr/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing).
121 121
122## Comment fonctionne un mod122## Comment fonctionne un mod
123 123
124Un mod est un [plugin](/docs/fr/plugins/overview.md) dont le code enregistre les gestionnaires d'événements, appelés hooks. Claude Code exécute un hook quand son événement se produit, comme quand Claude appelle un outil ou quand le spinner est dessiné. Un petit mod a trois fichiers :124Un mod est un [plugin](https://code.claude.com/docs/fr/plugins/overview.md) dont le code enregistre les gestionnaires d'événements, appelés hooks. Claude Code exécute un hook quand son événement se produit, comme quand Claude appelle un outil ou quand le spinner est dessiné. Un petit mod a trois fichiers :
125 125
126```text theme={null}126```text theme={null}
127first-mod/127first-mod/
132 └── register.js132 └── register.js
133```133```
134 134
135* **`plugin.json`** : le [manifeste](/docs/fr/plugins/manifest-reference.md) du plugin135* **`plugin.json`** : le [manifeste](https://code.claude.com/docs/fr/plugins/manifest-reference.md) du plugin
136* **`hooks.json`** : [pointe vers votre fichier de code](/docs/fr/plugins/mods/reference.md#files)136* **`hooks.json`** : [pointe vers votre fichier de code](https://code.claude.com/docs/fr/plugins/mods/reference.md#files)
137* **`register.js`** : [votre code](/docs/fr/plugins/mods/create.md#write-a-mod-yourself), appelé le module hooks. Il dit à Claude Code sur quels événements exécuter vos fonctions.137* **`register.js`** : [votre code](https://code.claude.com/docs/fr/plugins/mods/create.md#write-a-mod-yourself), appelé le module hooks. Il dit à Claude Code sur quels événements exécuter vos fonctions.
138 138
139Ceci est un `register.js` complet. Il compte les appels d'outils que Claude fait et affiche le compte à côté du spinner pendant que Claude travaille, comme dans `Thinking · tool calls: 3…`.139Ceci est un `register.js` complet. Il compte les appels d'outils que Claude fait et affiche le compte à côté du spinner pendant que Claude travaille, comme dans `Thinking · tool calls: 3…`.
140 140
163 163
164Le fichier enregistre deux hooks, et les deux utilisent la variable `calls` en haut :164Le fichier enregistre deux hooks, et les deux utilisent la variable `calls` en haut :
165 165
166* **Le hook [`tool.call`](/docs/fr/plugins/mods/reference#tools)** s'exécute chaque fois que Claude est sur le point d'utiliser un outil. Il ajoute un à `calls`, demande à Claude Code de redessiner l'interface, et laisse l'outil s'exécuter comme d'habitude.166* **Le hook [`tool.call`](https://code.claude.com/docs/fr/plugins/mods/reference#tools)** s'exécute chaque fois que Claude est sur le point d'utiliser un outil. Il ajoute un à `calls`, demande à Claude Code de redessiner l'interface, et laisse l'outil s'exécuter comme d'habitude.
167* **Le hook [`ui.render`](/docs/fr/plugins/mods/reference#interface)** s'exécute chaque fois que Claude Code dessine le spinner. Il garde le propre spinner de Claude Code et ajoute le compte après le mot.167* **Le hook [`ui.render`](https://code.claude.com/docs/fr/plugins/mods/reference#interface)** s'exécute chaque fois que Claude Code dessine le spinner. Il garde le propre spinner de Claude Code et ajoute le compte après le mot.
168 168
169Cet enregistrement montre le mod en action. Regardez la ligne du spinner au-dessus de la zone de prompt : pendant que Claude énumère un répertoire et lit deux fichiers, il lit `Thinking · tool calls: 1…`, puis `2…`, puis `3…`.169Cet enregistrement montre le mod en action. Regardez la ligne du spinner au-dessus de la zone de prompt : pendant que Claude énumère un répertoire et lit deux fichiers, il lit `Thinking · tool calls: 1…`, puis `2…`, puis `3…`.
170 170
180 180
181Pour faire quoi que ce soit en dehors de son propre code, comme dessiner, ajouter une commande, appeler un modèle, lire un fichier, démarrer un processus ou faire une requête réseau, un hook appelle l'API des mods. Un hook n'a pas d'autre moyen de faire ces choses, c'est pourquoi Claude Code peut [énumérer ce qu'un mod fait](#list-what-a-mod-does-before-you-install-one) avant de l'installer.181Pour faire quoi que ce soit en dehors de son propre code, comme dessiner, ajouter une commande, appeler un modèle, lire un fichier, démarrer un processus ou faire une requête réseau, un hook appelle l'API des mods. Un hook n'a pas d'autre moyen de faire ces choses, c'est pourquoi Claude Code peut [énumérer ce qu'un mod fait](#list-what-a-mod-does-before-you-install-one) avant de l'installer.
182 182
183Pour le code derrière chaque choix, voir [Réagir aux événements](/docs/fr/plugins/mods/events.md#how-a-hook-handles-an-event). Pour ce qu'un hook peut appeler, voir [Utiliser l'API des mods](/docs/fr/plugins/mods/api.md).183Pour le code derrière chaque choix, voir [Réagir aux événements](https://code.claude.com/docs/fr/plugins/mods/events.md#how-a-hook-handles-an-event). Pour ce qu'un hook peut appeler, voir [Utiliser l'API des mods](https://code.claude.com/docs/fr/plugins/mods/api.md).
184 184
185### Où les mods s'exécutent185### Où les mods s'exécutent
186 186
189| Où vous exécutez Claude Code | Les hooks s'exécutent | Ce que le mod dessine apparaît |189| Où vous exécutez Claude Code | Les hooks s'exécutent | Ce que le mod dessine apparaît |
190| :- | :- | :- |190| :- | :- | :- |
191| `claude` dans un terminal, y compris le terminal intégré d'un éditeur et le plugin JetBrains | Oui | Oui |191| `claude` dans un terminal, y compris le terminal intégré d'un éditeur et le plugin JetBrains | Oui | Oui |
192| L'onglet Code de l'application Desktop, sauf dans une session WSL | Oui | Oui, sauf les éléments que le [tableau des éléments](/docs/fr/plugins/mods/reference.md#elements) marque comme terminal uniquement |192| L'onglet Code de l'application Desktop, sauf dans une session WSL | Oui | Oui, sauf les éléments que le [tableau des éléments](https://code.claude.com/docs/fr/plugins/mods/reference.md#elements) marque comme terminal uniquement |
193| Une [session WSL](/docs/fr/desktop-wsl.md) dans l'application Desktop | Non, car les plugins ne sont pas disponibles dans les sessions WSL | Non |193| Une [session WSL](https://code.claude.com/docs/fr/desktop-wsl.md) dans l'application Desktop | Non, car les plugins ne sont pas disponibles dans les sessions WSL | Non |
194| Le panneau de chat de l'extension VS Code | Oui | Oui, avec l'extension en version 2.1.299 ou ultérieure. Une session qui [ne récupère pas les feature flags](/docs/fr/env-vars.md#features-that-need-feature-flag-fetching), comme une session sur Amazon Bedrock, nécessite la version 2.1.304 ou ultérieure. Les tableaux des [points de rendu](/docs/fr/plugins/mods/reference.md#render-sites) et des [éléments](/docs/fr/plugins/mods/reference.md#elements) indiquent ce que le panneau dessine. |194| Le panneau de chat de l'extension VS Code | Oui | Oui, avec l'extension en version 2.1.299 ou ultérieure. Une session qui [ne récupère pas les feature flags](https://code.claude.com/docs/fr/env-vars.md#features-that-need-feature-flag-fetching), comme une session sur Amazon Bedrock, nécessite la version 2.1.304 ou ultérieure. Les tableaux des [points de rendu](https://code.claude.com/docs/fr/plugins/mods/reference.md#render-sites) et des [éléments](https://code.claude.com/docs/fr/plugins/mods/reference.md#elements) indiquent ce que le panneau dessine. |
195| `claude -p` et le [SDK Agent](/docs/fr/agent-sdk/overview.md) | Oui | Non |195| `claude -p` et le [SDK Agent](https://code.claude.com/docs/fr/agent-sdk/overview.md) | Oui | Non |
196| [Remote Control](/docs/fr/remote-control.md) à partir de claude.ai ou de l'application mobile | Oui, dans la session sur votre machine | Dans le terminal sur votre machine |196| [Remote Control](https://code.claude.com/docs/fr/remote-control.md) à partir de claude.ai ou de l'application mobile | Oui, dans la session sur votre machine | Dans le terminal sur votre machine |
197| Une [session cloud](/docs/fr/claude-code-on-the-web.md) | Oui, pour un plugin qui [atteint la session cloud](/docs/fr/cloud-environments.md#what-carries-over-from-your-setup) | Non |197| Une [session cloud](https://code.claude.com/docs/fr/claude-code-on-the-web.md) | Oui, pour un plugin qui [atteint la session cloud](https://code.claude.com/docs/fr/cloud-environments.md#what-carries-over-from-your-setup) | Non |
198 198
199Un mod qui dessine peut vérifier dans quelle application il s'exécute et revenir à une ligne dans la transcription ou à la réponse textuelle d'une commande où rien ne dessine.199Un mod qui dessine peut vérifier dans quelle application il s'exécute et revenir à une ligne dans la transcription ou à la réponse textuelle d'une commande où rien ne dessine.
200 200
201## Contrôler les mods de votre organisation201## Contrôler les mods de votre organisation
202 202
203Les administrateurs décident si les mods s'exécutent et lesquels, via les [paramètres gérés](/docs/fr/managed-settings.md). [Gérer les mods de votre organisation](/docs/fr/plugins/mods/admin.md) couvre ce qui se passe par défaut, comment examiner un mod et comment appliquer une politique avec un mod de votre propre.203Les administrateurs décident si les mods s'exécutent et lesquels, via les [paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md). [Gérer les mods de votre organisation](https://code.claude.com/docs/fr/plugins/mods/admin.md) couvre ce qui se passe par défaut, comment examiner un mod et comment appliquer une politique avec un mod de votre propre.
204 204
205## Comparer les mods, les settings hooks, les skills et les serveurs MCP205## Comparer les mods, les settings hooks, les skills et les serveurs MCP
206 206
214| Ce que vous écrivez | JavaScript ou TypeScript | Un script et une entrée `settings.json` | Markdown | Un serveur dans n'importe quel langage |214| Ce que vous écrivez | JavaScript ou TypeScript | Un script et une entrée `settings.json` | Markdown | Un serveur dans n'importe quel langage |
215| Choisissez-le quand | Vous voulez un volet, une bande au-dessus du prompt, une commande personnalisée, ou réécrire un événement | Vous voulez bloquer, autoriser ou journaliser un événement avec un script que vous avez déjà | Vous continuez à coller les mêmes instructions dans le chat | Claude doit atteindre un système externe |215| Choisissez-le quand | Vous voulez un volet, une bande au-dessus du prompt, une commande personnalisée, ou réécrire un événement | Vous voulez bloquer, autoriser ou journaliser un événement avec un script que vous avez déjà | Vous continuez à coller les mêmes instructions dans le chat | Claude doit atteindre un système externe |
216 216
217Chacun des autres a sa propre page : [Hooks](/docs/fr/hooks.md), [Skills](/docs/fr/skills.md) et [MCP](/docs/fr/mcp.md). Un plugin peut tous les contenir, donc un mod peut être livré dans le même plugin qu'un skill et un serveur MCP.217Chacun des autres a sa propre page : [Hooks](https://code.claude.com/docs/fr/hooks.md), [Skills](https://code.claude.com/docs/fr/skills.md) et [MCP](https://code.claude.com/docs/fr/mcp.md). Un plugin peut tous les contenir, donc un mod peut être livré dans le même plugin qu'un skill et un serveur MCP.
218 218
219## Mods intégrés à Claude Code219## Mods intégrés à Claude Code
220 220
224 224
225| Nom dans `/plugin` | Ce qu'il fait | Où il est activé | Comment le désactiver |225| Nom dans `/plugin` | Ce qu'il fait | Où il est activé | Comment le désactiver |
226| :- | :- | :- | :- |226| :- | :- | :- | :- |
227| `cc-plugin-agents-md` | Charge `AGENTS.md` comme instructions de projet | Chaque session, sauf [celles qui ne peuvent pas lire `AGENTS.md`](/docs/fr/memory#when-agents-md-support-is-unavailable) | Désactivez-le dans `/plugin`, ou [choisissez les fichiers d'instructions à charger](/docs/fr/memory.md#choose-which-instruction-files-load) |227| `cc-plugin-agents-md` | Charge `AGENTS.md` comme instructions de projet | Chaque session, sauf [celles qui ne peuvent pas lire `AGENTS.md`](https://code.claude.com/docs/fr/memory#when-agents-md-support-is-unavailable) | Désactivez-le dans `/plugin`, ou [choisissez les fichiers d'instructions à charger](https://code.claude.com/docs/fr/memory.md#choose-which-instruction-files-load) |
228| `cc-plugin-diff` | Prend en charge [`/diff`](/docs/fr/interactive-mode#review-changes-with-%2Fdiff) et dessine son volet | Sessions de terminal interactif | Désactivez-le dans `/plugin`. `/diff` reste, et la version intégrée de Claude Code de la commande y répond. |228| `cc-plugin-diff` | Prend en charge [`/diff`](https://code.claude.com/docs/fr/interactive-mode#review-changes-with-%2Fdiff) et dessine son volet | Sessions de terminal interactif | Désactivez-le dans `/plugin`. `/diff` reste, et la version intégrée de Claude Code de la commande y répond. |
229| `cc-plugin-plugin-authoring` | Donne à Claude le [skill `plugin-authoring`](/docs/fr/plugins/mods/create#ask-claude-for-a-mod) pour écrire des mods. Il contient un skill et aucun code de mod. | Sauf si Anthropic a désactivé les mods installés à distance | Désactivez-le dans `/plugin` |229| `cc-plugin-plugin-authoring` | Donne à Claude le [skill `plugin-authoring`](https://code.claude.com/docs/fr/plugins/mods/create#ask-claude-for-a-mod) pour écrire des mods. Il contient un skill et aucun code de mod. | Sauf si Anthropic a désactivé les mods installés à distance | Désactivez-le dans `/plugin` |
230| `cc-plugin-sec-default` | Protège ce que votre organisation gère des mods qu'un utilisateur installe | [Où la protection se charge](/docs/fr/plugins/mods/admin.md#know-what-happens-by-default) | Vous ne pouvez pas. Un administrateur [définit l'ordre](/docs/fr/plugins/mods/admin.md#install-your-organizations-mods) dans les paramètres gérés |230| `cc-plugin-sec-default` | Protège ce que votre organisation gère des mods qu'un utilisateur installe | [Où la protection se charge](https://code.claude.com/docs/fr/plugins/mods/admin.md#know-what-happens-by-default) | Vous ne pouvez pas. Un administrateur [définit l'ordre](https://code.claude.com/docs/fr/plugins/mods/admin.md#install-your-organizations-mods) dans les paramètres gérés |
231| `cc-plugin-telemetry` | Envoie les enregistrements d'analyse que Claude Code et ses mods intégrés journalisent | Partout où les analyses propres à Claude Code sont activées | Désactivez-le dans `/plugin`, ou désactivez les analyses, par exemple avec [`DISABLE_TELEMETRY`](/docs/fr/env-vars) |231| `cc-plugin-telemetry` | Envoie les enregistrements d'analyse que Claude Code et ses mods intégrés journalisent | Partout où les analyses propres à Claude Code sont activées | Désactivez-le dans `/plugin`, ou désactivez les analyses, par exemple avec [`DISABLE_TELEMETRY`](https://code.claude.com/docs/fr/env-vars) |
232| `cc-plugin-you-should-know` | [You should know](/docs/fr/interactive-mode.md#you-should-know-suggestions) : un agent auxiliaire affiche une note au-dessus de l'invite lorsqu'il trouve quelque chose que vous avez pu manquer | Désactivé jusqu'à ce que vous [l'activiez](/docs/fr/interactive-mode.md#you-should-know-suggestions) | Désactivez-le dans `/plugin` |232| `cc-plugin-you-should-know` | [You should know](https://code.claude.com/docs/fr/interactive-mode.md#you-should-know-suggestions) : un agent auxiliaire affiche une note au-dessus de l'invite lorsqu'il trouve quelque chose que vous avez pu manquer | Désactivé jusqu'à ce que vous [l'activiez](https://code.claude.com/docs/fr/interactive-mode.md#you-should-know-suggestions) | Désactivez-le dans `/plugin` |
233 233
234Les paramètres et les flags qui arrêtent les mods installés, tels que `disableAllHooks`, `--bare` et `--safe-mode`, n'arrêtent pas les mods intégrés.234Les paramètres et les flags qui arrêtent les mods installés, tels que `disableAllHooks`, `--bare` et `--safe-mode`, n'arrêtent pas les mods intégrés.
235 235
238Le code source de certains de ces mods est public dans le [répertoire `mods` du dépôt Claude Code](https://github.com/anthropics/claude-code/tree/main/mods). Chacun est un plugin complet avec son module hooks et ses tests :238Le code source de certains de ces mods est public dans le [répertoire `mods` du dépôt Claude Code](https://github.com/anthropics/claude-code/tree/main/mods). Chacun est un plugin complet avec son module hooks et ses tests :
239 239
240* [`diff`](https://github.com/anthropics/claude-code/tree/main/mods/diff) : le volet `/diff`, avec des boutons liés à des actions clavier et le défilement que le mod gère lui-même240* [`diff`](https://github.com/anthropics/claude-code/tree/main/mods/diff) : le volet `/diff`, avec des boutons liés à des actions clavier et le défilement que le mod gère lui-même
241* [`agents-md`](https://github.com/anthropics/claude-code/tree/main/mods/agents-md) : charge `AGENTS.md` comme instructions de projet, avec une option [`userConfig`](/docs/fr/plugins/components#user-configuration)241* [`agents-md`](https://github.com/anthropics/claude-code/tree/main/mods/agents-md) : charge `AGENTS.md` comme instructions de projet, avec une option [`userConfig`](https://code.claude.com/docs/fr/plugins/components#user-configuration)
242* [`sec-default`](https://github.com/anthropics/claude-code/tree/main/mods/sec-default) : la protection décrite dans [Know what happens by default](/docs/fr/plugins/mods/admin.md#know-what-happens-by-default), un modèle pour un mod qui applique la politique242* [`sec-default`](https://github.com/anthropics/claude-code/tree/main/mods/sec-default) : la protection décrite dans [Know what happens by default](https://code.claude.com/docs/fr/plugins/mods/admin.md#know-what-happens-by-default), un modèle pour un mod qui applique la politique
243* [`telemetry`](https://github.com/anthropics/claude-code/tree/main/mods/telemetry) : ajoute des méthodes que d'autres mods peuvent appeler, et expédie leurs types243* [`telemetry`](https://github.com/anthropics/claude-code/tree/main/mods/telemetry) : ajoute des méthodes que d'autres mods peuvent appeler, et expédie leurs types
244 244
245## Étapes suivantes245## Étapes suivantes
246 246
247* [Créer un mod](/docs/fr/plugins/mods/create.md) : en créer un qui compte les appels d'outils, affiche le compte à côté du spinner, et ajoute une commande, et apprenez la boucle d'édition et de rechargement247* [Créer un mod](https://code.claude.com/docs/fr/plugins/mods/create.md) : en créer un qui compte les appels d'outils, affiche le compte à côté du spinner, et ajoute une commande, et apprenez la boucle d'édition et de rechargement
248* [Dessiner dans l'interface](/docs/fr/plugins/mods/interface.md) : volets, la bande au-dessus de l'invite, boutons, champs de texte et état248* [Dessiner dans l'interface](https://code.claude.com/docs/fr/plugins/mods/interface.md) : volets, la bande au-dessus de l'invite, boutons, champs de texte et état
249* [Réagir aux événements](/docs/fr/plugins/mods/events.md) : appels d'outils, prompts, tours et l'ordre dans lequel les mods s'exécutent249* [Réagir aux événements](https://code.claude.com/docs/fr/plugins/mods/events.md) : appels d'outils, prompts, tours et l'ordre dans lequel les mods s'exécutent
250* [Utiliser l'API des mods](/docs/fr/plugins/mods/api.md) : commandes, outils, appels de modèles, minuteurs et fichiers250* [Utiliser l'API des mods](https://code.claude.com/docs/fr/plugins/mods/api.md) : commandes, outils, appels de modèles, minuteurs et fichiers
251* [Tester un mod](/docs/fr/plugins/mods/test.md) : tests automatisés qui s'exécutent sans session251* [Tester un mod](https://code.claude.com/docs/fr/plugins/mods/test.md) : tests automatisés qui s'exécutent sans session
252* [Dépanner un mod](/docs/fr/plugins/mods/troubleshoot.md) : les raisons pour lesquelles un mod ne fait rien et le journal de débogage252* [Dépanner un mod](https://code.claude.com/docs/fr/plugins/mods/troubleshoot.md) : les raisons pour lesquelles un mod ne fait rien et le journal de débogage
253* [Gérer les mods de votre organisation](/docs/fr/plugins/mods/admin.md) : valeurs par défaut, paramètres gérés, examen d'un mod et mods de politique253* [Gérer les mods de votre organisation](https://code.claude.com/docs/fr/plugins/mods/admin.md) : valeurs par défaut, paramètres gérés, examen d'un mod et mods de politique
254* [Référence des mods](/docs/fr/plugins/mods/reference.md) : événements, méthodes, éléments et limites254* [Référence des mods](https://code.claude.com/docs/fr/plugins/mods/reference.md) : événements, méthodes, éléments et limites