Exécuter des commandes locales en toute sécurité
Dans l’application de bureau, l’assistant peut exécuter des commandes et des tests dans le dossier de travail de votre chat. Le fonctionnement dans le chat est décrit dans Accès aux fichiers locaux. Sur cette page, vous définissez quand cela peut se faire sans vous demander et à quel point les commandes sont isolées.
Ouvrir les paramètres des commandes
Dans un chat, ouvrez le panneau Commandes et choisissez Paramètres des commandes pour ce dossier. Les paramètres s’appliquent par dossier.
Quand l’assistant peut-il exécuter une commande ?
Choisissez l’un de ces trois modes :
- Toujours demander : vous approuvez chaque commande.
- Commandes de confiance automatiquement : les commandes que vous avez enregistrées démarrent sans demander. Les autres commandes demandent toujours une autorisation.
- Automatiquement dans le bac à sable : tout démarre sans demander, mais dans un environnement isolé.
Dans chaque mode, ces règles s’appliquent aussi :
- Les commandes sans risque démarrent sans carte :
mkdir,ls,cat,head,tail,wc,grep,find(sans-execni-delete),touch,pwd,treeet les vérifications de version (--version,-vou-Vdenode,npm,npx,python,pipetaischool-python). Elles ne font rien de plus que les outils de fichiers intégrés, qui agissent déjà sans demander. Elles s’exécutent dans le bac à sable sans réseau, et uniquement avec des chemins dans le dossier de travail, même après avoir suivi les liens (pas de chemins absolus, ni~ni..). Si un lien pointe hors du dossier, une carte apparaît quand même. Il faut pour cela un bac à sable (macOS et Linux) et les commandes locales, mais pas l’option Autoriser l’exécution automatique de votre administrateur. Le panneau Commandes affiche alors Automatique (commande sans risque). Une liste entre accolades, commemkdir -p src/{components,utils}, démarre aussi sans carte : l’app la transforme en chemins séparés et les vérifie tous. - Chaque carte affiche la commande exacte et, pour les actions en ligne, l’adresse exacte. En dessous, en plus petit, figure l’explication de l’assistant.
- Si le bac à sable est disponible et que votre administrateur autorise l’exécution automatique, une carte pour une commande qui s’exécute dans le bac à sable propose aussi le bouton Désormais automatiquement dans le bac à sable dans ce dossier. Il passe le dossier en mode Automatiquement dans le bac à sable : les commandes suivantes démarrent sans carte. Les commandes qui ont besoin du réseau demandent encore une fois, sauf si les installations de paquets sont autorisées.
- La première carte d’un dossier qui s’exécute dans le bac à sable sans demander le réseau affiche une seule fois Faire confiance à ce projet. Il exécute la commande, passe le dossier en Automatiquement dans le bac à sable et active Autoriser les installations de paquets sans demander. Les tests et builds comme
npm test,npm run buildetnode --testdémarrent ensuite sans carte, dans le bac à sable sans réseau. Les commandes qui ont besoin du réseau pour autre chose ou qui s’exécutent hors du bac à sable continuent de demander. Après Exécuter ou Refuser, la question ne revient plus dans ce dossier ; vous changez le mode dans les paramètres des commandes. Si l’exécution automatique est désactivée, chaque carte indique si c’est votre administrateur ou la stratégie de gestion de cet ordinateur.
Enregistrer des commandes de confiance
Sur une commande, choisissez Toujours autoriser dans ce dossier puis Exactement cette commande ou Tout ce qui commence par. Les commandes enregistrées démarrent désormais sans demander. Les commandes contenant des caractères spéciaux (comme ; | > $) demandent toujours une autorisation.
Les règles enregistrées figurent dans les paramètres des commandes sous Toujours autorisé dans ce dossier. Vous pouvez aussi les y supprimer.
Bac à sable et réseau
- Utiliser le bac à sable : les commandes ne peuvent écrire que dans ce dossier. Cette option est activée par défaut sur macOS et Linux.
- Autoriser le réseau : détermine si les commandes ont accès à Internet. Cette option est désactivée par défaut. Sans bac à sable, les commandes ont toujours accès au réseau.
Chaque carte de commande indique si le bac à sable et le réseau sont activés.
Si Autoriser le réseau est désactivé et que l’assistant veut télécharger quelque chose, par exemple avec npm install, la carte de commande vous demande si vous voulez exécuter exactement cette commande avec le réseau. Vous n’avez donc pas besoin d’activer le réseau pour tout le dossier.
Aucun bac à sable n’est encore disponible sur Windows.
Installer des paquets
L’application embarque son propre Node.js avec npm. Les commandes comme node, npm et npx fonctionnent donc même si Node.js n’est pas installé sur votre ordinateur. Si vous avez installé Node.js vous-même, l’application utilise cette version. Exception : un projet qui lance lui-même Electron (electron .) a besoin d’un Node.js que vous avez installé vous-même.
Autoriser les installations de paquets sans demander
Dans les Paramètres des commandes pour ce dossier, activez l’interrupteur Autoriser les installations de paquets sans demander. Les installations de paquets nommés démarrent alors sans carte : npm install <nom> et npm install à partir de package.json, pnpm, yarn ou bun avec install ou add, et pip install <nom> (aussi via uv). Elles s’exécutent toujours dans le bac à sable, avec le réseau. Les autres commandes suivent le mode que vous avez choisi pour le dossier.
Ces installations affichent quand même une carte :
- les lanceurs de projet comme
npm create vite@latestetnpx create-…, car ils exécutent leur propre code ; pip install .,pip install -r requirements.txt, les installations depuis un autre registre (--registry,-i,--index-url) et les paquets provenant d’une adresse git, d’une URL ou d’un chemin.
L’interrupteur ne fonctionne qu’avec un bac à sable (macOS et Linux) et si votre administrateur autorise l’exécution automatique. Sinon, vous ne pouvez pas l’activer.
Les paquets installés ainsi n’exécutent jamais leurs propres scripts d’installation (npm tourne avec --ignore-scripts). Les paquets Python ne sont installés que sous forme de wheels prêts à l’emploi.
Serveurs locaux et navigateur intégré
L’assistant peut aussi démarrer un serveur de développement qui continue de tourner, par exemple npm run dev pour un petit projet React avec Vite. Les mêmes règles que pour les autres commandes s’appliquent : vous approuvez la commande exacte, ou elle démarre grâce à une règle enregistrée ou automatiquement dans le bac à sable. Au lieu de la durée maximale, la carte indique "Continue de tourner comme serveur local jusqu’à ce que vous l’arrêtiez."
Le serveur continue de tourner après la réponse de l’assistant. Dans le panneau Commandes, la carte affiche le statut Serveur actif avec les boutons Ouvrir dans le navigateur et Arrêter. Au maximum 4 serveurs peuvent tourner en même temps. Les serveurs s’arrêtent lorsque vous les arrêtez ou quittez l’application.
Dans le bac à sable sans réseau, un serveur ne peut écouter que sur cet ordinateur (localhost). La manière dont l’assistant installe des paquets est décrite dans Installer des paquets.
Afficher une page web simple
Pour une page web ordinaire (un index.html avec du CSS et du JavaScript, sans étape de compilation), aucune commande n’est nécessaire. L’assistant utilise alors le serveur web intégré de l’application :
- Le dossier n’est visible que sur cet ordinateur, à l’adresse
http://127.0.0.1avec un port aléatoire. - Les fichiers cachés, comme
.gitet.env, ne sont jamais affichés. - Lorsqu’un fichier change, la page se recharge automatiquement.
Aucune carte d’approbation n’apparaît dans ce cas. Le serveur figure dans le panneau Commandes, avec Ouvrir dans le navigateur et Arrêter, et compte dans le maximum de 4 serveurs.
Vous voyez le résultat dans le navigateur intégré : le bouton Navigateur (l’icône de globe) à droite de la barre supérieure. Le panneau s’ouvre à côté du chat, avec précédent, suivant, actualiser (arrêter pendant le chargement), une barre d’adresse et Ouvrir dans votre navigateur par défaut.
- L’assistant ouvre lui-même le navigateur pour montrer le résultat d’un serveur local. Cela ne fonctionne qu’avec des adresses locales, comme
http://localhost:5173. - Si vous cliquez sur un lien localhost dans une réponse, il s’ouvre dans le navigateur intégré. Les autres liens s’ouvrent dans votre navigateur par défaut.
- Vous pouvez aussi saisir vous-même n’importe quelle adresse web.
- Le navigateur a sa propre session, séparée : vous n’y êtes pas connecté à AI-Public, les sites web n’obtiennent aucune autorisation comme la caméra ou le micro, et les téléchargements ne sont pas possibles.
- Tant qu’un menu ou une boîte de dialogue de l’application est ouvert, la page est temporairement masquée.
Exemple :
Dans ce dossier, crée une petite application React avec Vite qui affiche un compteur. Installe les dépendances, démarre le serveur de développement et montre le résultat dans le navigateur.
Laisser l’assistant regarder
Si vous demandez à l’assistant de regarder la page du navigateur intégré, il lit l’adresse, le titre, le texte visible, une capture d’écran et les derniers messages d’erreur de la page. Ces éléments sont envoyés au modèle d’IA.
- L’assistant regarde une page de cet ordinateur (
localhostou127.0.0.1) sans demander. - Pour tout autre site, par exemple une page où vous êtes connecté, l’assistant affiche d’abord une carte : « L’assistant souhaite regarder onedrive.live.com. » Cliquez sur Autoriser l’affichage ou sur Refuser. Il redemande à chaque fois.
- Si la page passe à un autre site après votre accord, l’assistant ne lit rien.
- L’assistant ne clique et ne tape lui-même que sur une page de cet ordinateur, pour tester ce qu’il a créé. Sur les autres sites web, il ne clique pas, ne tape pas et ne navigue pas. Il ne reçoit ni cookies ni mots de passe.
- En mode hors ligne, l’assistant ne regarde que les pages de cet ordinateur.
Versions et GitHub
L’assistant dispose d’un git intégré. Vous n’avez donc pas besoin d’installer git, même sur Windows. L’assistant peut enregistrer des versions, montrer ce qui a changé, créer des branches et mettre un projet en ligne.
- Les actions dans ce dossier, comme enregistrer une version, démarrent sans demander. Les fichiers qui ressemblent à des secrets (comme les fichiers
.env, ou des clés et jetons dans le code, y compris les clés d’API Google qui commencent parAIza) n’entrent jamais dans une version. L’assistant vous prévient lorsqu’il ignore quelque chose. - Les actions en ligne (télécharger un projet, récupérer la dernière version, mettre en ligne et créer un dépôt GitHub) affichent d’abord une carte avec l’adresse exacte et les étiquettes Intégré à l’application et Réseau activé. Si l’adresse n’est pas github.com ou si un nouveau dépôt devient public, la carte vous avertit. Pour une mise en ligne, la carte indique quels fichiers seront envoyés. Choisissez Exécuter ou Refuser.
- Associer un dépôt hors de github.com demande aussi d’abord une autorisation.
Pour savoir comment connecter GitHub et mettre un projet en ligne, consultez Vibe coding.
En mode hors ligne, les commandes s’exécutent toujours dans le bac à sable sans réseau. Les installations de paquets avec réseau et les actions en ligne du git intégré (télécharger, récupérer, envoyer et GitHub) ne fonctionnent alors pas. Enregistrer des versions et afficher une page web simple fonctionnent toujours.
Paramètres pour les administrateurs
Les administrateurs peuvent désactiver les commandes locales ou l’exécution automatique pour tout l’environnement. Ils le font dans l’espace d’administration sous Fonctions (au niveau de l’environnement), dans la carte Application de bureau :
- Autoriser les commandes locales : si cette option est désactivée, l’assistant ne peut exécuter aucune commande. Les actions en ligne du git intégré ne fonctionnent pas non plus. L’enregistrement des versions et les branches continuent toutefois de fonctionner : ils ne modifient que des fichiers du dossier, comme les outils de fichiers.
- Autoriser l’exécution automatique : si cette option est désactivée, chaque commande demande une autorisation et vous ne pouvez pas activer Autoriser les installations de paquets sans demander.
- Autoriser le Python de l’application pour les fichiers Office : pour les modèles, les graphiques et les analyses. Ce Python fonctionne sans Internet, n’écrit que dans le dossier de travail et ne peut pas lancer d’autres programmes. Si rien n’est défini, il suit l’option Autoriser les commandes locales. Sans bac à sable (Windows), il n’est disponible que si les commandes locales sont activées, et il demande l’autorisation à chaque fois.