Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Aller au contenu Aller au quiz
Lu

Interface, modes et permissions

En route — chaque ligne compte.

~30 min
Programme complet

Interface, modes et permissions

Comment choisir entre mode interactif et mode print, sélectionner un modèle adapté à la tâche, et calibrer les permissions de lecture, écriture et exécution shell selon le niveau de confiance du projet.

Ch. 3/9 Initiation
Table des matières

    Pourquoi ce chapitre compte

    Claude CodeClaude CodeIAInterface en ligne de commande agentique qui lit, édite et exécute des actions dans un dépôt de code sous contrôle de permissions, par opposition à un simple chat web.Voir dans le glossaire n'est pas un chat auquel on colle du texte en attendant une réponse. C'est un agent en ligne de commandeAgent CLIIAProgramme en terminal qui enchaîne raisonnement et outils (lecture, édition, commandes) pour accomplir une tâche dans un environnement local.Voir dans le glossaire : il lit des fichiers, en écrit, exécute des commandes shell, et peut modifier un dépôt versionné sans qu'on ait retapé quoi que ce soit ailleurs. Cette capacité change la nature du risque. Un assistant conversationnel qui se trompe produit du texte incorrect ; un agentagentIASystème qui enchaîne des appels d'outils de façon autonome pour atteindre un objectif : il planifie, agit, observe, recommence. Sa fiabilité décroît exponentiellement avec le nombre d'étapes.Voir dans le glossaire CLI qui se trompe peut supprimer un fichier, écraser une configuration ou lancer une commande destructrice — avec les droits du compte qui l'exécute.

    Ce chapitre couvre trois leviers qui déterminent votre marge de sécurité au quotidien : le mode de fonctionnement (interactif ou printMode printIAMode non interactif de Claude Code adapté aux scripts et à l'automatisation : la réponse est émise puis le processus se termine.Voir dans le glossaire/headless), le choix du modèle sollicité, et le système de permissions qui arbitre entre autonomie de l'agent et contrôle humain. Les maîtriser n'est pas un raffinement optionnel : c'est ce qui sépare un usage productif d'un incident évitable.

    Schéma comparant le mode interactif et le mode print de Claude Code, avec trois paliers de permissions
    Deux modes d'exécution, un même moteur, trois paliers de permission à franchir consciemment.

    Le mode interactif : une session de travail

    Lancé sans argument particulier depuis un dépôt, Claude Code ouvre une session interactive dans le terminal. Vous décrivez un objectif, l'agent propose un plan ou agit directement selon le contextefenêtre de contexteIAQuantité de texte qu'un modèle peut prendre en compte simultanément : question, documents fournis et historique. Au-delà, les éléments les plus anciens sortent du champ.Voir dans le glossaire, et chaque action sensible (écriture de fichier, commande shell) peut déclencher une demande de confirmation avant exécution.

    Ce mode convient à la majorité du travail réel : explorer une base de code inconnue, déboguer un test qui échoue, refactorer un module, écrire une fonctionnalité en plusieurs itérations. La session garde le contexte de l'échange — fichiers déjà lus, décisions déjà prises, corrections déjà demandées — ce qui évite de tout réexpliquer à chaque tour.

    Deux réflexes structurent une bonne session interactive :

    • Décrire l'objectif, pas la procédure. Plutôt que d'énumérer chaque commande à taper, formulez le résultat attendu et laissez l'agent proposer une démarche. Vous restez libre de la corriger avant qu'elle ne s'exécute.
    • Lire les diffs avant d'accepter. Une modification de fichier proposée reste une proposition tant qu'elle n'est pas validée. La lire prend quelques secondes ; la corriger après coup, beaucoup plus.

    Avant de laisser l'agent modifier quoi que ce soit, il est possible de lui demander explicitement un plan d'action — une liste des étapes envisagées, sans exécution. C'est l'équivalent d'une revue de conception avant chantier : on négocie l'approche pendant qu'elle ne coûte rien à changer, plutôt qu'après que les fichiers ont déjà bougé.

    Le mode print / headless : une commande, une sortie

    À l'opposé du mode interactif, le mode print (parfois appelé headless) exécute une seule requête, produit une sortie texte ou structurée, puis termine le processus. Il n'y a pas d'échange, pas de confirmation à l'écran, pas de session à maintenir ouverte.

    Ce mode est fait pour l'automatisation : un script de build qui demande un résumé de changelog, une étape de pipeline CI qui vérifie la cohérence d'une documentation, un cron qui génère un rapport. On l'invoque, on récupère la sortie, on l'utilise dans la suite du pipeline — exactement comme n'importe quel outil en ligne de commande classique.

    Critère Mode interactif Mode print / headless
    Interaction Dialogue tour par tour Une requête, une réponse
    Confirmations Visibles, en temps réel Doivent être décidées à l'avance
    Contexte de session Conservé pendant la session Reconstruit à chaque appel (sauf paramétrage explicite)
    Usage typique Exploration, refactor, debug CI/CD, scripts, tâches planifiées
    Supervision humaine Continue Différée ou absente

    En mode print, personne ne regarde l'écran au moment de l'exécution. Cela ne dispense pas de contrôle : cela déplace le contrôle en amont, dans la configuration des permissions et dans la conception du script qui invoque l'agent. Un pipeline qui appelle Claude Code en headless avec des droits d'écriture et d'exécution shell non restreints reproduit, sans supervision, les mêmes risques qu'une session interactive mal cadrée.

    Choisir un modèle selon la tâche

    Claude Code permet de sélectionner le modèle sollicité pour une session ou une tâche donnée. Ce choix n'est pas cosmétique : un modèle plus rapide et moins coûteux convient à des tâches mécaniques et bien cadrées (renommer des occurrences, écrire un test unitaire simple, résumer un fichier de log) ; un modèle plus capable se justifie pour du raisonnement en plusieurs étapes, une architecture à concevoir, ou un bug dont la cause n'est pas localisée.

    Le critère pratique n'est pas « quel est le meilleur modèle dans l'absolu », mais « quel est le rapport entre la difficulté réelle de la tâche et le coût — en temps, en tokenstokenIAFragment de texte manipulé par un modèle de langage, généralement plus court qu'un mot — trois à quatre caractères en français. La tarification et la limite de contexte se comptent en tokens.Voir dans le glossaire, en risque d'erreur — d'un modèle insuffisamment capable pour elle ». Confier une refonte d'architecture à un modèle taillé pour la vitesse produit des réponses plausibles mais superficielles ; à l'inverse, mobiliser le modèle le plus capable pour renommer une variable dans douze fichiers est simplement un gaspillage.

    Une session de refactoring important commence avec un modèle capable pour explorer le code, comprendre les dépendances et proposer une stratégie. Une fois le plan validé, les modifications mécaniques qui en découlent — appliquer le même changement dans une trentaine de fichiers similaires — peuvent être déléguées à un modèle plus rapide, avec une supervision allégée puisque le schéma de modification a déjà été validé une fois.

    Le modèle de permissions : lecture, écriture, exécution

    Les capacités de Claude Code se répartissent en trois paliers de risque croissant, visibles dans le schéma ci-dessus.

    Lecture. Parcourir l'arborescence, ouvrir des fichiers, effectuer des recherches dans le code. C'est la base de tout travail utile et le risque associé est faible : lire un fichier ne le modifie pas. La plupart des configurations autorisent ces opérations sans confirmation systématique.

    Écriture. Créer ou modifier un fichier versionné. Le risque devient réel : une modification malvenue peut casser une fonctionnalité, introduire une régression silencieuse, ou écraser un travail en cours non commité. C'est pourquoi l'écriture déclenche, par défaut, une demande de confirmation — sauf configuration explicite pour l'accepter automatiquement dans un périmètre défini.

    Shell et réseau. Exécuter une commande système, installer une dépendance, appeler une API externe, pousser un commit. C'est le palier le plus sensible : une commande shell peut agir en dehors du dépôt, affecter l'environnement local, ou avoir des effets qui ne sont pas triviaux à annuler. C'est aussi le palier où une instruction ambiguë ou un fichier compromis peut, en théorie, être détourné pour exécuter autre chose que ce qui était prévu.

    Entre ces trois paliers, Claude Code propose plusieurs postures de validation : demander confirmation à chaque action sensible, accepter automatiquement certaines catégories d'actions dans un projet de confiance, ou restreindre certains outilstool callingIACapacité d'un agent ou d'un LLM à invoquer des outils externes (API, calcul, recherche) pendant le raisonnement.Voir dans le glossaire à une liste explicite d'autorisations. Le réglage adapté dépend du terrain : un dépôt personnel expérimental ne justifie pas le même niveau de friction qu'un dépôt de production partagé.

    Niveaux de confiance et posture de permissions Dépôt inconnu Confirmation à chaque action sensible Lecture large, écriture et shell bloqués par défaut Projet habituel Écriture dans le périmètre du dépôt Shell limité à une liste de commandes autorisées Confiance totale Acceptation automatique généralisée Réservé à un bac à sable jetable ou isolé Le niveau par défaut doit rester le plus restrictif ; l'ouverture est un choix explicite, jamais une option oubliée activée.
    Trois postures de permissions selon le niveau de confiance accordé au dépôt ou à l'environnement de travail.

    CLAUDE.md et MCP : cadrer sans tout redemander

    Un fichier CLAUDE.md placé à la racine d'un dépôt permet de documenter, une fois, les conventions du projet : structure des dossiers, commandes de test à utiliser, style de code attendu, actions à éviter. L'agent lit ce fichier automatiquement en début de session et s'y conforme, ce qui évite de répéter les mêmes consignes à chaque nouvelle conversation. C'est un espace de configuration du comportement, pas un espace de permissions au sens strict — mais il influence directement la qualité des propositions faites, y compris sur les zones sensibles du projet.

    Le protocole MCP (Model Context ProtocolMCPIAModel Context Protocol : protocole permettant de brancher des outils et sources externes (docs, tickets, bases) à un agent LLM via des serveurs dédiés.Voir dans le glossaire) étend les capacités de l'agent en le connectant à des outils ou sources de donnéesdonnéesIAEnsemble d'informations structurées ou non utilisées pour entraîner, évaluer ou alimenter un modèle. La qualité, la quantité et la représentativité des données sont les facteurs décisifs pour les performances en apprentissage automatique.Voir dans le glossaire externes — un gestionnaire de tickets, une base documentaire, un service interne. Chaque serveur MCP connecté élargit la surface de ce que l'agent peut lire ou déclencher. Le principe de prudence reste le même que pour le shell : connecter un serveur MCP, c'est accorder une capacité, et cette capacité doit être évaluée pour ce qu'elle permet réellement, pas seulement pour ce qu'elle est censée faire.

    Documenter une convention dans CLAUDE.mdCLAUDE.mdIAFichier Markdown de consignes stables placé dans un projet pour orienter Claude Code (stack, conventions, périmètre, interdits) sans les répéter à chaque prompt.Voir dans le glossaire aide l'agent à mieux se comporter, mais ne constitue pas une garantie de sécurité. Un fichier de configuration reste une instruction en langage naturel, pas un mécanisme de contrôle d'accès. Les permissions techniques (lecture, écriture, shell) restent le vrai périmètre de sécurité ; CLAUDE.md agit sur la qualité, pas sur le contrôle.

    Les pièges de l'acceptation trop large

    Le principal risque opérationnel n'est pas que l'agent propose une mauvaise action : c'est qu'un humain fatigué finisse par valider sans lire, parce que les confirmations répétées deviennent un bruit de fond qu'on écarte par réflexe. Ce phénomène a un nom générique en ergonomie de la sécurité : la lassitude d'alerte. Plus les confirmations sont fréquentes et peu informatives, plus la probabilité de validation automatique — sans lecture réelle — augmente.

    Les erreurs de configuration les plus fréquentes suivent ce schéma :

    • Passer en acceptation automatique généralisée « pour aller plus vite », sur un dépôt de production, sans limiter le périmètre des commandes shell autorisées.
    • Copier une configuration de permissions d'un projet expérimental vers un projet sensible, sans revoir ce qu'elle autorise réellement.
    • Laisser un mode print en production avec des droits d'écriture larges, en supposant à tort que l'absence d'interface signifie l'absence de risque.
    • Connecter un serveur MCP par commodité, sans vérifier la nature exacte des actions qu'il expose une fois branché.

    Accorder une acceptation automatique à toutes les actions revient à retirer le dernier point de contrôle humain avant exécution. Cette posture ne doit s'envisager que dans un environnement jetable ou isolé — un conteneur sans accès aux identifiants réels, un dépôt de test sans conséquence en cas d'erreur. Sur tout ce qui touche à un système de production, à des données réelles, ou à des secrets d'accès, le principe reste : accorder le minimum nécessaire, réviser régulièrement ce qui a été accordé, et ne jamais élargir un périmètre de permissions par lassitude plutôt que par décision.

    Un dernier point mérite d'être répété séparément : Claude Code ne doit jamais se voir confier directement des secrets en clair (clés d'API, jetons, mots de passe) dans une invite ou un fichier lu en clair par l'agent si ce n'est pas strictement nécessaire à la tâche. Les secrets doivent rester dans des mécanismes prévus pour cela — variables d'environnement chargées par l'application, gestionnaires de secrets, fichiers exclus du contrôle de version — et non dans le texte que l'agent lit ou écrit.

    Checklist avant de démarrer un projet

    Avant de lancer une session sur un nouveau dépôt, quelques vérifications rapides évitent la plupart des incidents évitables :

    1. Le dépôt est-il sous contrôle de version, avec un état propre avant de commencer ? Un historique git est le meilleur filet de sécurité contre une modification malvenue.
    2. Le périmètre de permissions correspond-il à la sensibilité réelle du projet — pas à la sensibilité du dernier projet sur lequel vous avez travaillé ?
    3. Les secrets et identifiants sont-ils hors de portée directe de l'agent (variables d'environnement, fichiers ignorés) ?
    4. Un fichier CLAUDE.md documente-t-il les commandes de test et les conventions, pour réduire les allers-retours et les propositions hors sujet ?
    5. Le mode choisi (interactif ou print) correspond-il à la présence réelle d'une supervision humaine au moment de l'exécution ?

    Ces cinq points ne suffisent pas à éliminer tout risque — aucune checklist ne le fait — mais ils couvrent la majorité des incidents qui surviennent, dans la pratique, non pas à cause d'une défaillance du modèle, mais à cause d'une configuration de permissions mal calibrée pour le contexte réel du projet.

    L'essentiel à retenir

    Claude Code fonctionne en mode interactif pour le travail exploratoire supervisé en temps réel, ou en mode print/headless pour l'automatisation en script et en CI, avec le même moteur mais des postures de contrôle différentes. Le choix du modèle sollicité doit correspondre à la difficulté réelle de la tâche plutôt qu'à un réflexe de facilité. Les capacités de l'agent se répartissent en trois paliers de risque croissant — lecture, écriture, exécution shell — chacun devant rester une décision consciente et non un réflexe d'acceptation. CLAUDE.md documente les conventions d'un projet sans remplacer les permissions techniques, qui restent le véritable périmètre de sécurité, notamment face aux secrets et aux environnements de production.

    Questions fréquentes

    Claude Code est-il la même chose qu'un chat web comme une interface de conversation classique ?
    Non. Un chat web produit uniquement du texte en réponse à un message. Claude Code est un agent en ligne de commande : au-delà de générer du texte, il lit et écrit des fichiers réels sur votre système, exécute des commandes shell, et peut interagir avec votre dépôt de code directement. Cette capacité d'action change la nature de la vigilance nécessaire : il ne s'agit plus seulement de vérifier une réponse, mais de superviser des actions qui ont un effet concret sur votre environnement.
    Le mode print/headless convient-il à une utilisation en intégration continue (CI) ?
    Oui, c'est un de ses usages naturels : une étape de pipeline peut invoquer Claude Code pour une tâche précise — vérifier une documentation, générer un résumé — et récupérer une sortie exploitable par la suite du pipeline. La condition est de cadrer les permissions avant l'exécution, puisqu'aucune confirmation ne s'affichera pendant le déroulement du pipeline.
    Faut-il changer de modèle en cours de session selon la tâche en cours ?
    C'est une pratique raisonnable lorsque la nature du travail change nettement : un modèle plus capable pour explorer et concevoir une approche, un modèle plus rapide pour appliquer mécaniquement cette approche une fois validée sur des cas similaires. Ce n'est pas obligatoire pour chaque session, mais cela évite de payer le coût d'un modèle capable pour du travail répétitif, ou inversement de sous-équiper une tâche qui demande du raisonnement.
    Que faire si je me rends compte que j'ai accordé des permissions trop larges sur un projet sensible ?
    Revenir immédiatement sur la configuration de permissions et la resserrer au périmètre réellement nécessaire. Vérifiez ensuite, via l'historique du dépôt, ce qui a effectivement été modifié ou exécuté pendant la période où les permissions étaient trop ouvertes — un historique git propre permet justement de faire cette relecture. Si des secrets ont pu être exposés dans ce laps de temps, traitez-les comme potentiellement compromis et procédez à leur rotation.
    Le mode plan (ou ask) ralentit-il vraiment le travail au quotidien ?
    Il ajoute une étape, mais elle est généralement courte : relire une liste d'actions envisagées avant qu'elles ne s'exécutent. Sur des tâches routinières et bien connues, ce temps est minime. Sur des changements plus larges ou plus risqués, ce même temps évite fréquemment de devoir revenir en arrière après coup, ce qui coûte largement plus cher qu'une relecture préalable.
    MCP, c'est quoi exactement, en une phrase ?
    Le Model Context Protocol est un mécanisme standardisé qui permet de connecter Claude Code à des outils ou sources de données externes — un gestionnaire de tickets, une base documentaire, un service interne — pour étendre ce que l'agent peut lire ou déclencher au-delà du système de fichiers local.
    Dois-je toujours travailler sur un dépôt sous contrôle de version avant d'utiliser Claude Code ?
    Ce n'est pas une obligation technique, mais c'est fortement recommandé dès qu'un projet dépasse le stade de l'expérimentation jetable. Un historique git propre au départ permet de comparer facilement l'état avant et après une session, et de revenir en arrière rapidement si une modification proposée s'avère incorrecte une fois appliquée.

    Progression sauvegardée dans votre navigateur.

    Quiz de validation

    Quiz de validation

    Quiz indisponible (données invalides).

    Vos projets IA sont-ils sécurisés ? Audit LLM, conformité AI Act, red teaming — devis sous 48h.
    Devis gratuit
    Ch. 3/9 Interface, modes et permissions 33% ~30 min Mode lecture v2.7.9