Avancé
Ce chapitre rassemble les surfaces de l'application destinées aux utilisateurs avancés — celles auxquelles vous recourez occasionnellement, pas à chaque session. Sa pièce maîtresse est le navigateur de fichiers ext4 intégré, qui ouvre les images disque d'un espace de travail directement sur votre Mac sans démarrer la VM : pour récupérer un fichier d'un espace de travail que vous préféreriez ne pas lancer, ou pour en réparer un qui ne démarre pas. Une courte section en fin de chapitre documente deux valeurs de configuration de bas niveau par défaut.
Tout ce qui suit suppose que vous êtes à l'aise avec le modèle de stockage présenté dans Espaces de travail et Sessions.
Le navigateur de fichiers ext4
Chaque espace de travail conserve ses données dans des images disque Linux ext4 — le disque système disk.img et l'image du répertoire personnel home.img. macOS ne prend pas en charge ext4 nativement, si bien qu'ordinairement le seul moyen de voir l'intérieur de ces images est de démarrer la VM. Bromure Agentic Coding évite cela grâce à son propre lecteur et graveur ext4 en espace utilisateur, sans dépendance : il analyse directement le format sur disque et vous montre l'arborescence.
Espaces de travail ▸ Ouvrir un fichier ext4… ouvre n'importe quel .img ext4 (ou ext2, ou ext3) — un système de fichiers brut ou un disque partitionné MBR/GPT — dans une fenêtre de type Finder. Rien n'est monté, aucune VM ne démarre, et aucun privilège élevé n'est requis.
Remarque : L'image s'ouvre en lecture seule par défaut — sans danger même si une VM d'espace de travail a encore le disque attaché. L'édition est une étape distincte et explicitement verrouillée (voir Éditer une image).
Ce que vous pouvez ouvrir : les disques d'un espace de travail
Un espace de travail réside sous ~/Library/Application Support/BromureAC/profiles/<uuid>/. Deux images y méritent d'être parcourues, ainsi que leurs instantanés de retour arrière :
| Image | Ce que montre le navigateur | La ligne d'information de la barre d'outils indique |
|---|---|---|
disk.img | La racine système Ubuntu — /etc, /var, /usr, /opt, et ainsi de suite. Le disque est une disposition GPT (une partition EFI de 512 MiB plus la racine ext4) ; le navigateur localise automatiquement la racine ext4. | partition @…MiB |
home.img | Le /home/ubuntu de l'invité directement à la racine du système de fichiers — dotfiles, checkouts de projets, .ssh, historique du shell, et le cache de collage sous .bromure/. | raw |
checkpoints/<ts>.img | Un instantané de retour arrière de disk.img dont le démarrage a été éprouvé. | partition @…MiB |
checkpoints/home/<ts>.img | Un instantané de retour arrière de home.img. | raw |
L'image du répertoire personnel se comporte ainsi parce que l'invité la formate avec mkfs.ext4 et la monte par-dessus /home/ubuntu au démarrage — de sorte que le répertoire racine de l'image est ce répertoire personnel. Sur un espace de travail utilisant encore l'ancien répertoire personnel en dossier partagé, il n'y a pas de home.img à ouvrir ; voir Sessions pour les modèles de stockage et la mise à niveau ponctuelle.
Ouvrir une image
- Choisissez Espaces de travail ▸ Ouvrir un fichier ext4….
- Un panneau d'ouverture intitulé Ouvrir une image disque ext4 apparaît — « Choisissez une image disque .img ext4 (brute ou partitionnée). » — démarrant dans
~/Library/Application Support/BromureAC. Naviguez dans le dossierprofiles/<uuid>/d'un espace de travail et sélectionnezdisk.img,home.img, ou un fichier souscheckpoints/. - Le navigateur s'ouvre dans une fenêtre intitulée ext4 — « nomfichier », affichant la racine du système de fichiers.
La ligne d'information de la barre d'outils (en bas à gauche) résume le volume : son label, sa taille totale, si le système de fichiers a été trouvé brut ou à un décalage de partition, et son état — clean, not cleanly unmounted, ou journal needs recovery. Il y a une fenêtre par image ; rouvrir une image déjà ouverte ne fait qu'activer sa fenêtre.
Parcourir, prévisualiser et extraire
La vue principale est un tableau à trois colonnes — Nom, Taille et Type — avec les répertoires listés en premier. Le type distingue les dossiers, les fichiers et les liens symboliques, ainsi que les types de nœuds Unix spéciaux (Char, Block, FIFO, Socket).
- Naviguer — double-cliquez sur un dossier pour y entrer ; cliquez sur la flèche Haut de la barre d'outils pour revenir en arrière. Le fil d'Ariane indique le chemin actuel.
- Prévisualiser — double-cliquez sur un fichier, ou cliquez dessus avec le bouton droit et choisissez Prévisualiser. Les fichiers texte s'affichent en texte ; les fichiers binaires s'affichent sous forme de vidage hexadécimal. Dans les deux cas, la prévisualisation est plafonnée au premier 1 MiB, et le pied de page indique combien d'octets sur le total du fichier sont affichés. Un lien symbolique se prévisualise sous forme de son chemin cible.
- Extraire — cliquez avec le bouton droit sur un fichier et choisissez Extraire… pour écrire son contenu complet sur votre Mac via un panneau d'enregistrement. C'est le chemin en lecture seule que vous utiliserez le plus souvent.
Éditer une image
L'édition est délibérément verrouillée. Cliquez sur Activer l'édition… dans la barre d'outils ; un avertissement apparaît :
N'éditez une image que si la VM de son espace de travail est arrêtée. Écrire sur un disque qu'une VM en cours d'exécution a ouvert le corrompra.
Confirmez et l'image se rouvre en lecture-écriture, avec un badge crayon orange Édition dans la barre d'outils. Le menu contextuel d'un fichier gagne alors Remplacer… : sélectionnez un fichier de l'hôte dont le contenu écrase le fichier sélectionné sur place. L'éditeur recalcule la somme de contrôle metadata_csum de l'inode, si bien que le résultat reste cohérent et ne nécessite aucune réparation.
Avertissement : Le remplacement est uniquement sur place. Le nouveau contenu doit tenir dans les blocs déjà alloués au fichier — un fichier plus volumineux est refusé avec Ce fichier aurait besoin de s'agrandir (agrandir, créer et supprimer des fichiers n'est pas encore activé). Les fichiers à données en ligne (inline-data) ne peuvent pas être édités. Les écritures sont refusées tant que le journal nécessite une récupération — exécutez d'abord
fsck(ci-dessous). Et n'éditez jamais une image qu'une VM en cours d'exécution a attachée.
Exécuter fsck
Le bouton Exécuter fsck… de la barre d'outils exécute fsck.ext4 (e2fsck) sur l'image ouverte pour rejouer le journal et réparer le système de fichiers. Il confirme d'abord — « Exécuter fsck.ext4 sur cette image ? », en précisant que la VM de l'espace de travail doit être arrêtée et que l'outil peut modifier l'image — puis lance une réparation automatique forcée. Pour une image brute, fsck s'exécute directement sur le fichier ; pour un disque partitionné, l'image est attachée avec hdiutil sans montage, la tranche ext4 est vérifiée, et l'image est détachée ensuite. Aucun privilège élevé n'est en jeu.
Les résultats apparaissent dans une feuille de rapport avec un résumé en langage clair — « Filesystem is clean. », « Filesystem errors were corrected. », ou « Filesystem errors remain UNCORRECTED. » — ainsi que la sortie complète de l'outil ; l'image est ensuite rouverte.
Remarque : macOS n'est livré avec aucun
e2fsprogs. Si l'outil est manquant, une alerte indique fsck.ext4 n'est pas installé avec le correctifbrew install e2fsprogs. L'application recherche d'abord dans son propre bundle, puis dans$PATH, puis dans les emplacements keg-only dee2fsprogsde Homebrew.
Quand y recourir
Le navigateur transforme le disque d'un espace de travail arrêté en quelque chose que vous pouvez inspecter et dont vous pouvez récupérer des données depuis l'hôte :
- Récupérer un fichier d'un espace de travail que vous préféreriez ne pas démarrer — extrayez une modification non validée ou un journal de
home.imgavec Extraire…. - Inspecter un point de contrôle avant de faire un retour arrière, pour confirmer qu'il contient ce que vous attendez. Associez cela à Restaurer le répertoire personnel… et Réinitialiser à l'image de base…, tous deux traités sous points de contrôle et retour arrière.
- Sauver un espace de travail qui ne démarre pas — remplacez un fichier de configuration défectueux sur place, puis exécutez
fscksi l'écriture a laissé le journal nécessitant une récupération. Voir Dépannage pour le diagnostic des échecs de démarrage.
Valeurs par défaut pour développeurs
Deux réglages de bas niveau sont lus depuis le domaine UserDefaults de l'application, io.bromure.agentic-coding. Définissez-les avec defaults write pendant que l'application n'est pas en cours d'exécution, puis relancez :
| Clé | Effet | Défaut |
|---|---|---|
vm.homeImageGB | Taille apparente (visible par l'invité), en GiB, d'une image ext4 de répertoire personnel nouvellement créée. Le fichier de l'hôte est creux (sparse), donc cela ne coûte rien au départ. Bornée à 8–1024. | 64 |
vm.mtu | Borne du MTU pour la carte réseau principale d'une VM d'espace de travail, écrite dans l'invité à chaque démarrage. La valeur par défaut de 1280 est compatible VPN (WireGuard, IKEv2, et chemins PMTU d'entreprise). | 1280 |
Par exemple, pour que les images de répertoire personnel des futurs espaces de travail apparaissent comme faisant 128 GiB :
defaults write io.bromure.agentic-coding vm.homeImageGB -int 128
Remarque :
vm.homeImageGBn'affecte que les images de répertoire personnel créées après la modification ; les images existantes conservent leur taille. Une image de répertoire personnel peut être agrandie ultérieurement (un truncate en ligne plusresize2fs) mais pas réduite.
Astuce : Pour un travail réellement jetable,
bromure-ac vm run --rmdémarre un espace de travail jetable de style Docker dont le disque est supprimé à l'arrêt de la VM — documenté dans Automatisation et CLI.