{"meta":{"title":"Changement d’interpréteur de commandes dans un codespace","intro":"Vous pouvez changer votre interpréteur de commandes dans un codespace pour conserver la configuration à laquelle vous êtes habitué.","product":"Codespaces","breadcrumbs":[{"href":"/fr/enterprise-cloud@latest/codespaces","title":"Codespaces"},{"href":"/fr/enterprise-cloud@latest/codespaces/customizing-your-codespace","title":"Personnalisation de votre codespace"},{"href":"/fr/enterprise-cloud@latest/codespaces/customizing-your-codespace/changing-the-shell-in-a-codespace","title":"Changer votre interpréteur de commandes"}],"documentType":"article"},"body":"# Changement d’interpréteur de commandes dans un codespace\n\nVous pouvez changer votre interpréteur de commandes dans un codespace pour conserver la configuration à laquelle vous êtes habitué.\n\nLorsque vous travaillez dans un codespace, vous pouvez ouvrir une nouvelle fenêtre de terminal avec l’interpréteur de commandes de votre choix, changer votre interpréteur de commandes par défaut pour les nouvelles fenêtres de terminal ou installer un nouvel interpréteur de commandes. Vous pouvez également utiliser des dotfiles pour configurer votre interpréteur de commandes.\n\nLes codespaces qui utilisent l'image de conteneur de développement par défaut sont fournis avec les interpréteurs de commandes `bash`, `zsh` et `fish` installés. Si vous ouvrez un nouveau codespace dans le client web VS Code ou si vous vous connectez à un codespace via SSH, le terminal s’ouvre avec une session `bash` exécutée par défaut. Dans l’application de bureau VS Code, l’interpréteur de commandes par défaut dépend de vos paramètres locaux et de votre système d’exploitation. Pour plus d’informations, consultez [Profils de terminal](https://code.visualstudio.com/docs/terminal/profiles) dans la documentation VS Code.\n\n## Changement de l’interpréteur de commandes par défaut dans VS Code\n\nSi vous ne souhaitez pas utiliser l’interpréteur de commandes par défaut, vous pouvez ouvrir une nouvelle session de terminal avec un autre interpréteur de commandes.\n\n1. Si vous ne voyez pas le terminal intégré dans VS Code, appuyez sur <kbd>Ctrl</kbd>+<kbd>\\`</kbd>.\n\n2. À droite de l’icône <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-plus\" aria-label=\"plus\" role=\"img\"><path d=\"M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z\"></path></svg> permettant d’ouvrir une nouvelle fenêtre de terminal, sélectionnez l’icône de liste déroulante.\n\n   ![Capture d’écran du terminal intégré dans VS Code. À côté de l’icône plus, une flèche vers le bas est encadrée en orange.](/assets/images/help/codespaces/new-shell-session.png)\n\n3. Dans le menu déroulant, cliquez sur le nom de l’interpréteur de commandes que vous souhaitez utiliser.\n\n## Installation d’un nouvel interpréteur de commandes\n\nSi vous souhaitez utiliser un interpréteur de commandes qui n’est pas déjà installé dans l’image de base ou la configuration du conteneur de développement d’un codespace, vous pouvez installer un nouvel interpréteur de commandes.\n\nSi vous utilisez l’image conteneur de développement par défaut, recherchez les instructions d’installation pour Ubuntu Linux. Si vous souhaitez juste utiliser un autre interpréteur de commandes pour une session, vous pouvez utiliser la ligne de commande pour installer l’interpréteur de commandes dans le codespace dans lequel vous travaillez. Toutefois, vous risquez de perdre les programmes que vous avez installés si vous regénérez le conteneur dans le codespace. Pour plus d’informations, consultez « [Présentation approfondie de GitHub Codespaces](/fr/enterprise-cloud@latest/codespaces/about-codespaces/deep-dive#about-the-directory-structure-of-a-codespace) ».\n\nUne option plus robuste pour installer de nouveaux interpréteurs de commandes consiste à inclure les commandes d’installation dans un dépôt dotfiles ou en tant que commande de cycle de vie, par exemple `postCreateCommand` dans un fichier `devcontainer.json`. Utilisez un dépôt dotfiles pour installer un interpréteur de commandes que vous souhaitez utiliser dans tous vos propres codespaces, et un fichier `devcontainer.json` pour un interpréteur de commandes que les contributeurs à un dépôt spécifique doivent avoir installé. Pour plus d’informations, consultez « [Personnaliser GitHub Codespaces pour votre compte](/fr/enterprise-cloud@latest/codespaces/setting-your-user-preferences/personalizing-github-codespaces-for-your-account#dotfiles) » et « [Présentation des conteneurs de développement](/fr/enterprise-cloud@latest/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers) ».\n\n### Ajout d’un profil de terminal VS Code pour un nouvel interpréteur de commandes\n\nVS Code détecte automatiquement la plupart des interpréteurs de commandes standard et les ajoute en tant que profil de terminal pour vous permettre d’ouvrir facilement de nouvelles fenêtres de terminal à l’aide de l’interpréteur de commandes que vous avez installé.\n\nSi l’interpréteur de commandes que vous installez n’est pas détecté automatiquement, vous pouvez ajouter un nouveau profil de terminal à vos paramètres utilisateur. Ce paramètre dépend de votre système d’exploitation, donc vous devez utiliser `linux` pour le client web VS Code et votre système d’exploitation local pour l’application de bureau.\n\n1. Pour ouvrir la Visual Studio Code Command Palette, appuyez sur <kbd>Commande</kbd>+<kbd>Maj</kbd>+<kbd>P</kbd> (Mac) ou <kbd>Ctrl</kbd>+<kbd>Maj</kbd>+<kbd>P</kbd> (Windows).\n\n2. Commencez à taper « paramètres utilisateur », puis cliquez sur **Préférences : Ouvrir les paramètres utilisateur (JSON)** .\n\n3. Dans le fichier `settings.json`, à l’intérieur de l’objet JSON, ajoutez une nouvelle propriété comme suit. Remplacez `OPERATING-SYSTEM` par le système d’exploitation approprié (par exemple `linux`, `windows` ou `osx`) et `SHELL` par l’interpréteur de commandes que vous avez installé.\n\n   ```json copy\n   \"terminal.integrated.profiles.OPERATING-SYSTEM\": {\n     \"SHELL\": {\n       \"path\": \"SHELL\"\n     }\n   }\n   ```\n\n   Par exemple :\n\n   ```json\n   \"terminal.integrated.profiles.linux\": {\n    \"csh\": {\n      \"path\": \"csh\"\n    }\n   }\n   ```\n\n4. Enregistrez le fichier .\n\nVous pouvez utiliser la Synchronisation des paramètres pour partager ces paramètres entre tous les codespaces que vous ouvrez dans le client web VS Code et l’application de bureau. Si vous travaillez dans le client web, la Synchronisation des paramètres est désactivée par défaut et vous devez l’activer pour pousser (push) les modifications vers vos paramètres ou tirer (pull) de nouvelles modifications que vous avez apportées ailleurs. Pour plus d’informations, consultez « [Personnaliser GitHub Codespaces pour votre compte](/fr/enterprise-cloud@latest/codespaces/setting-your-user-preferences/personalizing-github-codespaces-for-your-account#settings-sync) ».\n\n## Définition du shell par défaut dans VS Code\n\nVous pouvez définir un profil de terminal par défaut pour choisir l’interpréteur de commandes par défaut utilisé pour toutes les nouvelles fenêtres de terminal que vous ouvrez dans VS Code. Le profil de terminal par défaut dépend de votre système d’exploitation, donc vous pouvez définir un profil par défaut pour Linux si vous utilisez le client web VS Code, ou pour votre système d’exploitation local si vous utilisez l’application de bureau.\n\n> \\[!NOTE]\n> Quel que soit votre profil par défaut, les espaces de code ouverts dans le client web s'ouvrent toujours avec une session `bash` en cours d'exécution.\n\n1. Pour ouvrir la Visual Studio Code Command Palette, appuyez sur <kbd>Commande</kbd>+<kbd>Maj</kbd>+<kbd>P</kbd> (Mac) ou <kbd>Ctrl</kbd>+<kbd>Maj</kbd>+<kbd>P</kbd> (Windows).\n\n2. Commencez à taper « paramètres utilisateur », puis cliquez sur **Préférences : Ouvrir les paramètres utilisateur (JSON)** .\n\n3. Dans l’objet JSON, pour définir l’interpréteur de commandes par défaut pour le système d’exploitation approprié, ajoutez des lignes ou modifiez des lignes existantes comme suit.\n\n   ```json\n   \"terminal.integrated.defaultProfile.OPERATING-SYSTEM\": \"SHELL\"\n   ```\n\n   Par exemple :\n\n   ```json copy\n   {\n      \"terminal.integrated.defaultProfile.osx\": \"zsh\",\n      \"terminal.integrated.defaultProfile.linux\": \"bash\",\n      \"terminal.integrated.defaultProfile.windows\": \"PowerShell\"\n   }\n   ```\n\n4. Enregistrez le fichier `settings.json`.\n\nVous pouvez utiliser la Synchronisation des paramètres pour partager ces paramètres entre tous les codespaces que vous ouvrez dans le client web VS Code et l’application de bureau. Si vous travaillez dans le client web, la Synchronisation des paramètres est désactivée par défaut et vous devez l’activer pour pousser (push) les modifications vers vos paramètres ou tirer (pull) de nouvelles modifications que vous avez apportées ailleurs. Pour plus d’informations, consultez « [Personnaliser GitHub Codespaces pour votre compte](/fr/enterprise-cloud@latest/codespaces/setting-your-user-preferences/personalizing-github-codespaces-for-your-account#settings-sync) ».\n\n## Définition de l’interpréteur de commandes par défaut via SSH\n\nLorsque vous vous connectez à un codespace à partir de la ligne de commande via SSH, vous vous connectez à une session `bash` dans le codespace par défaut.\n\nSi vous avez activé un dépôt dotfiles pour GitHub Codespaces, vous pouvez changer l’interpréteur de commandes par défaut auquel vous vous connectez en ajoutant une commande à un script d’installation, comme `install.sh` dans vos dotfiles. Pour plus d’informations, consultez « [Utilisation de GitHub Codespaces avec GitHub CLI](/fr/enterprise-cloud@latest/codespaces/developing-in-a-codespace/using-github-codespaces-with-github-cli#ssh-into-a-codespace) » et « [Personnaliser GitHub Codespaces pour votre compte](/fr/enterprise-cloud@latest/codespaces/setting-your-user-preferences/personalizing-github-codespaces-for-your-account#dotfiles) ». Par exemple, la commande suivante remplace l’interpréteur de commandes par défaut par `zsh`.\n\n```shell copy\nsudo chsh \"$(id -un)\" --shell \"/usr/bin/zsh\"\n```\n\nSi vous souhaitez utiliser un interpréteur de commandes par défaut qui n’est pas installé dans votre codespace par défaut, ou vérifier que vous avez la dernière version de l’interpréteur de commandes, vous pouvez commencer par installer l’interpréteur de commandes.\n\n```shell copy\nsudo apt-get update -y\nsudo apt-get install -y csh\nsudo chsh \"$(id -un)\" --shell \"/usr/bin/csh\"\n```\n\n> \\[!NOTE]\n> Si vous créez un codespace (par exemple avec `gh codespace create`), vous devez attendre suffisamment de temps pour vous assurer que le script a terminé son exécution avant de vous connecter au codespace via SSH. Si l’exécution du script n’est pas terminée, vous vous connecterez à une session `bash` par défaut.\n\nLorsque vous êtes connecté au codespace, dans la plupart des interpréteurs de commandes, vous pouvez utiliser la commande `readlink /proc/$$/exe` pour vérifier que l’interpréteur de commandes approprié est en cours d’exécution.\n\n## Configuration de votre interpréteur de commandes\n\nAvec la plupart des interpréteurs de commandes, vous avez la possibilité d’utiliser un fichier de configuration, tel que `.bashrc`, pour configurer l’interpréteur de commandes avec vos paramètres préférés. Ces paramètres peuvent inclure des éléments tels que des alias et des variables d’environnement.\n\nPar défaut, les codespaces contiennent une configuration prédéfinie pour les interpréteurs de commandes préinstallés. Par exemple, le répertoire de base d’un codespace contient les fichiers `.bashrc` et `.zshrc`. Vous pouvez changer le contenu de ces fichiers, puis utiliser une commande telle que `source ~/.bashrc` pour mettre à jour la configuration de votre interpréteur de commandes. Toutefois, vous perdrez toute modification apportée à ces fichiers si vous reconstruisez le conteneur dans un codespace. Pour plus d’informations, consultez « [Présentation approfondie de GitHub Codespaces](/fr/enterprise-cloud@latest/codespaces/about-codespaces/deep-dive#about-the-directory-structure-of-a-codespace) ».\n\nEn règle générale, vous devez utiliser un dépôt dotfiles pour configurer les interpréteurs de commandes avec vos paramètres préférés. La configuration de vos dotfiles s’applique à tous les codespaces que vous créez et persiste après les reconstructions du conteneur. Pour plus d’informations, consultez « [Personnaliser GitHub Codespaces pour votre compte](/fr/enterprise-cloud@latest/codespaces/setting-your-user-preferences/personalizing-github-codespaces-for-your-account#dotfiles) ».\n\n### Résolution des problèmes de l’interpréteur de commandes `fish`\n\nL’interpréteur de commandes `fish` inclut une interface de configuration web. Vous pouvez utiliser la commande `fish_config` pour démarrer un serveur web local et lancer cette interface, puis effectuer des opérations comme changer l’invite de terminal ou afficher vos variables d’environnement.\n\nVous pouvez utiliser l’interface web de `fish` dans un codespace. Toutefois, les paramètres de couleur dans le terminal intégré de VS Code dépendent du thème VS Code choisi, et vous ne pouvez pas remplacer ces paramètres en définissant un nouveau thème dans l’interface `fish_config`.\n\nLorsque `fish` démarre le serveur local, le lien par défaut que fournit GitHub Codespaces au port transféré ne fonctionne pas. Par exemple, si vous cliquez sur **Ouvrir dans le navigateur** dans le message contextuel, vous arrivez sur une page d’erreur.\n\nPour accéder à l’interface web de `fish_config` :\n\n1. Dans un terminal exécutant une session `fish`, entrez `fish_config`.\n\n2. Dans la sortie du terminal, utilisez <kbd>Commande</kbd>+clic ou <kbd>Ctrl</kbd>+clic pour ouvrir le lien dans le fichier HTML `web_config`.\n\n   ```shell\n   $ fish_config\n   Web config started at file:///tmp/web_config60rc9tr3.html\n   Hit ENTER to stop.\n   ```\n\n3. Dans le fichier `web_config`, utilisez <kbd>Commande</kbd>+clic ou <kbd>Ctrl</kbd>+clic pour ouvrir le lien dans le port transféré.\n\n   ```html\n   <body>\n     <p><a href=\"http://localhost:8000/1b9411c2469e392b96df5e5b28da485b/\">Start the Fish Web config</a></p>\n   </body>\n   ```\n\n## Pour aller plus loin\n\n* [Définition de vos préférences utilisateur](/fr/enterprise-cloud@latest/codespaces/setting-your-user-preferences)\n* [Gestion de vos Codespaces](/fr/enterprise-cloud@latest/codespaces/managing-your-codespaces)"}