{"meta":{"title":"Autorisation et refus de l’utilisation de l’outil","intro":"Contrôler les outils Copilot CLI qui peuvent être utilisés pour éviter les modifications involontaires.","product":"GitHub Copilot","breadcrumbs":[{"href":"/fr/enterprise-cloud@latest/copilot","title":"GitHub Copilot"},{"href":"/fr/enterprise-cloud@latest/copilot/how-tos","title":"Procédures"},{"href":"/fr/enterprise-cloud@latest/copilot/how-tos/copilot-cli","title":"Copilot CLI"},{"href":"/fr/enterprise-cloud@latest/copilot/how-tos/copilot-cli/use-copilot-cli","title":"Utilisez Copilot CLI."},{"href":"/fr/enterprise-cloud@latest/copilot/how-tos/copilot-cli/use-copilot-cli/allowing-tools","title":"Autoriser les outils"}],"documentType":"article"},"body":"# Autorisation et refus de l’utilisation de l’outil\n\nContrôler les outils Copilot CLI qui peuvent être utilisés pour éviter les modifications involontaires.\n\n## Présentation\n\nCopilot CLI utilise un large éventail d’outils pour effectuer des tâches pour vous. Il peut exécuter des commandes shell, lire et écrire des fichiers, rechercher votre base de code, extraire du contenu web et déléguer des tâches à des sous-agents spécialisés.\n\nBien que les opérations en lecture seule telles que la recherche, la lecture de fichiers et l’exécution de commandes shell en lecture seule soient autorisées automatiquement, les outils qui peuvent modifier votre système, tels que l’exécution de commandes destructrices, la modification de fichiers ou l’accès aux URL, nécessitent votre approbation explicite avant Copilot de pouvoir les utiliser. Cela permet d’éviter l’utilisation de l’interface CLI résultant de modifications que vous n’avez pas prévues, car, par exemple, une commande shell peut effectuer tout ce que votre compte d’utilisateur peut faire : installer des packages, supprimer des fichiers, envoyer du code ou effectuer des requêtes réseau.\n\nVous pouvez autoriser ou refuser des autorisations pour les outils lorsque vous démarrez l’interface CLI ou pendant votre session interactive. Si vous n’avez pas accordé d’autorisation avant de démarrer une session, Copilot CLI vous invitez à obtenir l’autorisation chaque fois qu’elle doit effectuer une action potentiellement destructrice. Vous pouvez choisir d’autoriser l’outil cette fois ou pour le reste de la session.\n\n## Autorisations persistantes\n\nCertaines options d’invite enregistrent votre consentement afin que vous ne soyez pas invité à nouveau. L’emplacement où votre approbation est stockée dépend de ce que vous avez approuvé.\n\nLorsque vous approuvez un outil pour l’emplacement actuel, l’approbation est enregistrée `permissions-config.json` dans votre répertoire de configuration. Par défaut, ce fichier est `~/.copilot/permissions-config.json`. Par exemple, vous pouvez choisir « ne pas demander à nouveau dans ce dépôt » (ou « dans ce répertoire ») pour une commande shell, une écriture de fichier, un outil MCP ou une mise à jour de la mémoire. L’approbation est limitée à l’emplacement actuel : la racine du dépôt Git ou le répertoire de travail si vous n’êtes pas dans un référentiel. Tous les répertoires auxquels vous accordez l’accès sont enregistrés dans le même fichier.\n\nLes approbations d’URL fonctionnent différemment. Lorsque vous approuvez une URL définitivement, son domaine est ajouté à la `allowedUrls` liste dans votre `settings.json`. Par défaut, ce fichier est `~/.copilot/settings.json`. Cette approbation s’applique à toutes vos sessions, au lieu d’être liée à un seul emplacement.\n\nLes options de ligne de commande telles que `--allow-tool` et `--deny-tool` s’appliquent uniquement à la session active et ne sont pas écrites dans `permissions-config.json`. Les règles de refus prévalent toujours sur les approbations enregistrées.\n\nPour plus d’informations sur l’emplacement où les approbations enregistrées sont stockées, la façon dont les emplacements sont mis en correspondance et le schéma complet `permissions-config.json` , consultez [GitHub Copilot le répertoire de configuration du CLI](/fr/enterprise-cloud@latest/copilot/reference/copilot-cli-reference/cli-config-dir-reference#permissions-configjson).\n\n## Couches de contrôles des outils\n\nIl existe deux couches de contrôle que vous pouvez utiliser lors de la spécification des autorisations d’outil dans les options de ligne de commande. Vous pouvez:\n\n* Limitez le choix des outils disponibles pour le modèle IA.\n* Autoriser ou refuser l’autorisation pour des outils spécifiques.\n\n## Restriction du choix des outils disponibles pour le modèle IA\n\nLes options `--available-tools` et `--excluded-tools` limitent l'ensemble d'outils dont le modèle IA est conscient et parmi lesquels il peut donc choisir lorsqu'il détermine comment accomplir une tâche.\n\n* `--available-tools` désactive tous les outils autres que ceux que vous spécifiez.\n* `--excluded-tools` désactive uniquement les outils spécifiés.\n\nSi vous utilisez les deux options ensemble, l’interface CLI applique la liste verte spécifiée par `--available-tools` et ignore la liste de refus spécifiée par `--excluded-tools`.\n\nSi un outil n’est pas dans l’ensemble disponible, le modèle IA ne pourra pas l’utiliser du tout, même si vous le spécifiez avec l’option `--allow-tool` . Dans une session interactive où vous ne spécifiez pas d’ensemble d’outils disponible, le modèle IA peut essayer d’utiliser un outil uniquement pour être refusé. Les options `--available-tools` et `--excluded-tools` vous empêchent de gaspiller des interactions avec le modèle de cette façon.\n\n### Exemple de cas d’usage\n\nVous démarrez une session CLI pour exécuter un benchmark sur votre projet et vous souhaitez éviter que le modèle IA ne tente même d’utiliser la recherche web.\n\n```bash\ncopilot --excluded-tools='web_fetch, web_search'\n```\n\n> \\[!NOTE]\n> Pour plus d’informations sur la syntaxe de ces options de ligne de commande et d’autres options de ligne de commande mentionnées dans cet article, consultez [Référence de commande CLI pour GitHub Copilot](/fr/enterprise-cloud@latest/copilot/reference/copilot-cli-reference/cli-command-reference#command-line-options).\n\n## Autorisation ou refus d’autorisation pour des outils spécifiques\n\nLes options `--allow-tool` et `--deny-tool` permettent d’autoriser ou de refuser l’accès à des outils spécifiques ou à des sous‑commandes d’outils.\n\nLa valeur de chacune de ces options est une liste séparée par des virgules de types d’outils, qui peut éventuellement spécifier des outils et des modèles de sous-commande exacts.\n\nSi vous spécifiez un outil avec `--allow-tool`, le modèle IA peut choisir d’utiliser cet outil sans vous demander l’autorisation. Si vous spécifiez un outil avec `--deny-tool`, le modèle IA ne peut pas utiliser cet outil du tout, même s’il serait le meilleur choix pour effectuer une tâche.\n\nLes règles de refus sont toujours prioritaires sur les règles d’autorisation, même lorsqu’elles sont définies ou qu’une `--allow-all` approbation correspondante a été enregistrée dans `permissions-config.json`.\n\n### Exemples\n\n| Option                                                                                                                                                                                                            | Résultat                                                                                                      |\n| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |\n| `--allow-tool=shell`                                                                                                                                                                                              | Autoriser toutes les commandes du shell.                                                                      |\n| `--allow-tool='shell(git commit)'`                                                                                                                                                                                | Autorisez la `git commit` commande.                                                                           |\n| `--allow-tool='shell(git:*)' --deny-tool='shell(git push)'`                                                                                                                                                       | Autoriser toutes les `git` commandes à l’exception de `git push`.                                             |\n| `--deny-tool=write`                                                                                                                                                                                               | Refuser toutes les opérations d’écriture de fichiers.                                                         |\n| `--allow-tool='read, write(.github/copilot-instructions.md)'`                                                                                                                                                     | Autorisez toutes les opérations de lecture et autorisez les opérations d’écriture pour un fichier spécifique. |\n| `--allow-tool='MyMCP(create_issue), MyMCP(delete_issue)'`                                                                                                                                                         | Autorisez les outils `create_issue` et `delete_issue` du serveur MCP.                                         |\n| `--available-tools='bash,edit,view,grep,glob' --allow-tool='shell(git:*)' --deny-tool='shell(git push)'`                                                                                                          | Combinez les deux couches de contrôle pour une session CLI restreinte.                                        |\n| Copilot peut explorer le code, apporter des modifications et effectuer des validations de modifications, mais ne peut pas atteindre Internet, exécuter des sous-agents arbitraires ou pousser à l’historique Git. |                                                                                                               |\n\nPour plus d’informations sur les types d’outils pris en charge, consultez [Référence de commande CLI pour GitHub Copilot](/fr/enterprise-cloud@latest/copilot/reference/copilot-cli-reference/cli-command-reference#tool-permission-patterns).\n\n## Options permissives\n\nLes options de ligne de commande suivantes donnent Copilot CLI l’autorisation d’utiliser tous les outils disponibles.\n\nSi vous avez une licence Copilot Business ou Copilot Enterprise, ces commandes peuvent être bloquées par un administrateur de l’entreprise.\n\nAvant d’accorder Copilot des autorisations étendues avec une option allow-all, envisagez d’utiliser le bac à sable local ou d’exécuter la session dans un bac à sable cloud pour limiter ce qui Copilot peut accéder. Pour plus d’informations, consultez « [À propos des bacs à sable cloud et locaux pour GitHub Copilot](/fr/enterprise-cloud@latest/copilot/concepts/about-cloud-and-local-sandboxes) ».\n\n* `--allow-all-tools` — Accès complet aux outils disponibles.\n\n* `--allow-all` ou `--yolo` — Équivaut à utiliser l’ensemble des options `--allow-all-tools`, `--allow-all-paths`, et `--allow-all-urls` lors du démarrage de l'interface CLI.\n\n  Dans une session interactive, vous pouvez utiliser les commandes `/allow-all` ou `/yolo` pour autoriser tous les outils sans avoir à redémarrer la session.\n\n> \\[!CAUTION]\n> Il est fortement recommandé d’utiliser ces options uniquement dans un environnement isolé. Vous ne devez jamais utiliser d’alias pour appliquer l’une de ces options chaque fois que vous démarrez Copilot CLI, car cela permettrait Copilot d’utiliser n’importe quel outil sans votre autorisation explicite chaque fois que vous utilisez l’interface CLI, ce qui peut entraîner des conséquences inattendues.\n\n## Réinitialisation des autorisations\n\nLa `/reset-allowed-tools` commande de barre oblique révoque toutes les autorisations que vous avez accordées pendant la session interactive active. Cela s’applique également aux autorisations que vous avez données en répondant aux invites et à l’utilisation des commandes slash `/allow-all``/yolo`.\n\nL’utilisation `/reset-allowed-tools` réinitialise les autorisations par défaut ou à l’état défini par les options de ligne de commande que vous avez utilisées lors du démarrage Copilot CLI. Il supprime également les autorisations d’outil enregistrées pour l’emplacement actuel dans `permissions-config.json`. Par exemple, si vous démarrez une Copilot CLI session interactive avec l’option `--allow-tool='shell(git:*)'`, puis que vous autorisez et refusez d’autres autorisations pendant la session en répondant aux invites, lorsque vous utilisez ensuite la `/reset-allowed-tools` commande, les autorisations de l’interface CLI retournent à l’état d’origine `--allow-tool='shell(git:*)'` , sans aucune autre autorisation autorisée ou refusée. Lorsque vous continuez à travailler dans la session, vous serez à nouveau invité si Copilot a besoin d'autorisations supplémentaires.\n\nPour supprimer les approbations enregistrées pour un autre emplacement, modifiez ou supprimez l’entrée d’emplacement appropriée dans `permissions-config.json`. Pour plus d’informations, consultez « [GitHub Copilot le répertoire de configuration du CLI](/fr/enterprise-cloud@latest/copilot/reference/copilot-cli-reference/cli-config-dir-reference#permissions-configjson) ».\n\n## Lectures complémentaires\n\n* [Bonnes pratiques pour l’interface CLI GitHub Copilot](/fr/enterprise-cloud@latest/copilot/how-tos/copilot-cli/cli-best-practices#configure-allowed-tools)\n* [Référence de commande CLI pour GitHub Copilot](/fr/enterprise-cloud@latest/copilot/reference/copilot-cli-reference/cli-command-reference)\n* [GitHub Copilot le répertoire de configuration du CLI](/fr/enterprise-cloud@latest/copilot/reference/copilot-cli-reference/cli-config-dir-reference#permissions-configjson)"}