Projets et sessions
Découvrez l'organisation du travail dans Zshell, des projets de la barre latérale aux sessions en onglets et à la restauration.
Projets
Un projet représente un travail, généralement un dépôt, avec ses propres terminaux, onglets et état des panneaux.
Cmd+N crée un projet contenant un terminal. Celui-ci démarre dans le répertoire de la session actuelle ou, en l'absence de session, dans votre dossier personnel. Vous utilisez donc généralement cd pour rejoindre le dossier souhaité. Zshell prend ensuite le relais : l'arborescence des fichiers et le panneau Git se rattachent au dépôt qui contient ce répertoire.
Pour éviter ce cd, faites un clic droit sur un dossier dans le Finder et choisissez Services → Nouveau projet Zshell ici. Le projet s'ouvre avec son terminal déjà placé dans ce dossier.
Le projet est l'unité principale de navigation dans Zshell :
| Action | Raccourci |
|---|---|
| Nouveau projet | Cmd+N |
| Sélectionner le projet 1 à 9 | Cmd+1–9 |
| Projet suivant ou précédent | Opt+Cmd+] / [ |
| Masquer la barre latérale des projets | Cmd+B |
Le nom d'un projet est celui de sa session sélectionnée : il suit donc le terminal, comme le titre d'un onglet. Son menu contextuel propose Renommer…, Utiliser le titre automatique pour revenir au comportement initial, Définir le répertoire du projet… et Fermer le projet. Fermer un projet termine ses sessions sans modifier les fichiers sur disque.
Pour les sessions distantes partagées, fermer un panneau ou un projet détache seulement ce client ; le shell et ses tâches continuent sur l’hôte.
Projets SSH enregistrés
Ouvrez la palette de commandes (Cmd+P) et choisissez Nouveau projet SSH…. Renseignez l'hôte, éventuellement l'utilisateur et le port, puis le répertoire distant à ouvrir. Pour l'authentification, choisissez Agent SSH, Mot de passe, Fichier de clé privée ou Texte de clé privée, puis enregistrez la connexion et sélectionnez Connecter.
Les connexions enregistrées restent disponibles après un redémarrage. Le champ facultatif Groupe organise la liste ; les boutons de modification et de suppression permettent de gérer les entrées. Les mots de passe et clés privées collées sont conservés dans le trousseau macOS. Une entrée utilisant un fichier de clé privée conserve le chemin de la clé existante.
Pour une commande ou une connexion SSH avec des options supplémentaires, consultez Lancement rapide.
Groupes de la barre latérale
Utilisez Nouveau groupe en bas de la barre latérale pour créer un groupe simple ou un groupe de dossier. Un groupe simple démarre les nouveaux terminaux dans votre dossier personnel ; un groupe de dossier utilise le dossier choisi comme valeur par défaut. Un répertoire de projet explicitement défini reste prioritaire. Déplacer un projet entre des groupes ne modifie pas ses terminaux actifs et ne remplace pas son répertoire fixé.
Faites glisser un projet sur l'en-tête d'un groupe ou sur un autre projet pour l'organiser. Déposez-le sur + (Nouveau projet) en bas de la barre latérale pour le retirer de son groupe. Les en-têtes se déplacent également pour réordonner les groupes. Un clic réduit ou développe le groupe, un double-clic le renomme, et le clic droit ouvre son menu. Définir un repère de couleur… ajoute une couleur ; Supprimer le repère de couleur la retire. Supprimer le groupe conserve tous ses projets ouverts. Les raccourcis numériques suivent l'ordre des projets visibles ; la navigation vers le projet suivant ou précédent peut révéler un membre d'un groupe réduit.
Vous pouvez déposer des dossiers du Finder dans la liste des projets. Si le dossier est déjà ouvert, Zshell sélectionne le projet existant au lieu de le dupliquer.
Répertoire du projet
L'arborescence des fichiers et le panneau Git doivent savoir quel dossier afficher. Par défaut, Zshell part du répertoire courant du terminal et remonte jusqu'au dépôt Git englobant le plus proche.
Les déplacements avec cd à l'intérieur d'un dépôt ne font donc pas changer la racine de l'arborescence. Hors d'un dépôt, les panneaux suivent simplement le terminal.
Lorsque le programme au premier plan rejoint une autre copie de travail, par exemple un agent entrant dans son propre arbre de travail Git, les panneaux Fichiers, Git et Informations suivent cette copie. Ils reviennent à la précédente lorsque le programme revient. Un répertoire de projet fixé manuellement reste prioritaire et désactive ce changement automatique de racine.
Pour fixer le dossier, faites un clic droit sur le projet puis choisissez Définir le répertoire du projet…. Ce choix est conservé après redémarrage ; Utiliser le répertoire automatique rend la main à la détection.
Le panneau Informations (Cmd+Shift+I) affiche le répertoire actuel du shell lorsqu'il est différent, ainsi que le répertoire du projet auquel les panneaux sont rattachés, marqué (AUTO) lorsqu'il est déterminé automatiquement.
Sessions
Chaque projet peut contenir autant de sessions que vous le souhaitez, présentées sous forme d'onglets en haut. Une session est un véritable shell de connexion, zsh, fish, bash ou celui défini pour votre compte, avec son propre répertoire de travail et son historique de défilement.
| Action | Raccourci |
|---|---|
| Nouvelle session | Cmd+T |
| Sélectionner l'onglet 1 à 9 | Ctrl+1–9 |
| Sélecteur d'onglets par utilisation récente | Ctrl+Tab |
| Onglet suivant ou précédent | Cmd+Shift+] / [ |
| Fermer le volet actif | Cmd+W |
Une nouvelle session locale utilise d'abord le répertoire fixé du projet, puis le dossier par défaut de son groupe latéral. Sans l'un ni l'autre, elle reprend le répertoire de la session actuelle, ou votre dossier personnel en dernier recours.
Groupes d'onglets
Faites un clic droit sur un onglet et choisissez Déplacer vers un groupe → Nouveau groupe d'onglets. L'onglet rejoint le nouveau groupe, représenté par une flèche colorée sans nom. Les sessions créées depuis un onglet groupé restent dans ce groupe. Le menu de sa flèche propose aussi Nouvelle session dans le groupe.
Déplacez un onglet sur la flèche d'un groupe ou sur un autre onglet pour le changer de groupe. Le menu contextuel liste aussi les groupes et Retirer du groupe. Cliquez sur la flèche pour réduire ou développer le groupe. Le terminal actif reste visible et continue de s'exécuter lorsqu'un groupe est réduit ; sélectionner un membre masqué développe le groupe. Supprimer un groupe conserve ses onglets et ses sessions. Épingler un onglet groupé le déplace dans la zone fixe, hors des groupes. Le menu de la flèche permet de définir un repère de couleur ou de le supprimer. Les couleurs et l'état réduit des groupes sont restaurés au redémarrage.
Un onglet peut également être déposé sur un projet de la barre latérale, ou sur l'en-tête d'un groupe latéral pour y créer un projet. Un dépôt sur + (Nouveau projet) crée un projet sans groupe. Déplacer l'onglet vers un projet permet aussi de cibler une autre fenêtre. Ces déplacements conservent les terminaux actifs et la disposition des volets. Les projets doivent partager le même emplacement local ou SSH ; un projet créé depuis un onglet conserve son emplacement d'origine. Les onglets contenant des diffs restent dans leur projet actuel.
Titres des onglets
Les titres proviennent du terminal : séquence d'échappement de l'invite du shell ou programme en cours. Le menu contextuel permet de Renommer… manuellement l'onglet, puis d'Utiliser le titre automatique pour revenir au suivi du terminal.
Les autres actions sont Fermer, Fermer les autres, Fermer les onglets à droite et Tout fermer, ainsi qu'Afficher dans le Finder et Copier le chemin absolu pour le répertoire de la session. Fermer les fichiers et Fermer les diffs retirent ces contenus de tout le projet tout en conservant les terminaux et les volets de navigateur.
Fenêtres
Cmd+Shift+N ouvre une autre fenêtre. Chaque fenêtre possède ses projets et l'état de ses barres latérales ; leur restauration est indépendante.
Éléments restaurés au redémarrage
Zshell enregistre des instantanés de votre disposition pendant le travail. À la réouverture, vous retrouvez :
- Tous les projets, dans le même ordre.
- Tous les onglets, avec leurs noms personnalisés, leur état épinglé et leurs repères de couleur.
- Les groupes latéraux, avec noms, couleurs, ordre, membres et état réduit.
- Les groupes d'onglets, avec couleurs, ordre, membres et état réduit.
- Les répertoires de projet fixés et les projets vides.
- La disposition des volets de chaque onglet.
- Les barres latérales ouvertes et le panneau droit sélectionné.
Si le PTY d’origine est indisponible, Zshell reprend la conversation vérifiée de Claude Code, Codex, Pi ou OpenCode lorsque Reprendre les conversations des agents et l’IA sont activés. Les autres volets ouvrent de nouveaux shells dans leurs répertoires précédents. La conversation conserve son identité ; Zshell ne rétablit pas une compilation en rejouant des commandes.
L’ancien historique est restauré lorsque terminal.restore-history est activé. Cette option est activée par défaut dans les nouvelles configurations et l’historique est enregistré sur disque.
Environnement du terminal et initialisation
Sélectionnez un projet puis utilisez Terminal → Environnement du terminal du projet… pour définir ses variables d'environnement et sa commande d'initialisation. Terminal → Environnement du terminal de l'onglet… définit les valeurs propres à l'onglet actuel.
| Portée | Comportement |
|---|---|
| Projet | Les nouveaux terminaux héritent de ses variables et de sa commande d'initialisation |
| Onglet | Les variables remplacent celles du projet portant le même nom ; la commande peut hériter de celle du projet, la remplacer ou la désactiver |
Les changements ne concernent que les terminaux créés après l'enregistrement. Les processus existants conservent leur environnement. L'initialisation s'exécute pour le shell de connexion normal, pas pour un programme de démarrage personnalisé ni des arguments argv explicites.
ZSHELL_*, TERM, COLORTERM, TERM_PROGRAM et TERM_PROGRAM_VERSION sont gérés par Zshell et ne peuvent pas être remplacés.