Un système de fichiers à la manière de Linux
Le dépôt reprend l'arborescence d'un système Linux : chaque dossier a un rôle et un auteur. On sait toujours où une information doit vivre, et qui a le droit de l'écrire.
| Zone | Dossier | Contenu | Écrit par |
|---|---|---|---|
| Z0 | etc/, proc/ | Contrats, registre des systèmes, relevés des machines de référence | Outils du laboratoire |
| Z1 | usr/lib/, usr/share/ | Noyau, moteurs par famille, gabarits d'applications, assets, outils | Contributeurs |
| Z2 | home/<éditeur>/<version>/ | La peau de chaque système | Contributeurs |
| Z3 | OS/ | Pages d'entrée des bureaux | Générées |
| Z4 | var/lib/capsuleos/generated/ | Versions embarquées pour le mode hors ligne | Générées |
Deux dossiers complètent l'ensemble : home/public/, le dossier personnel simulé commun à tous les bureaux, et mnt/, les parcours pédagogiques, que l'on « monte » sur n'importe quel système du catalogue.
Du réel à l'écran : six couches
| Couche | Question | Exemple |
|---|---|---|
| Référent réel | À quoi ressemble le vrai système ? | Une machine de référence installée et relevée |
| Modèle | Qu'a-t-on mesuré ? | Inventaires d'applications, de polices, d'icônes, de textes |
| Noyau commun | Qu'est-ce qui est universel ? | Fenêtres, ressources, système de fichiers simulé |
| Famille et bureau | Qu'est-ce qui est propre à une famille ou à un environnement de bureau ? | GNOME, Plasma, Cinnamon, l'ère d'un Windows, l'Aqua de macOS |
| Peau | Qu'est-ce qui est propre à cette distribution ? | Le dock d'Ubuntu, les couleurs de Fedora |
| Expérience | Que vit l'utilisateur ? | La page chargée dans le navigateur |
Le noyau commun ne nomme aucun éditeur, et une distribution n'emprunte jamais les éléments d'une autre. Mettre le dock d'Ubuntu sur Rocky Linux ne serait pas une optimisation : ce serait une erreur sur les deux systèmes.
Les comportements partagés sont regroupés par environnement de bureau : toutes les distributions GNOME utilisent les mêmes applications GNOME, chacune avec sa peau. Une correction profite ainsi à toutes en une fois. Détail : cloisonnement par couches.
Sources et vues générées
Les pages d'entrée des bureaux et les versions hors ligne sont produites par un script à partir des sources. On ne les modifie jamais à la main : toute modification se fait dans la source, puis on régénère. Les conflits de fusion sur ces fichiers se règlent de la même façon, en relançant la génération.
Les contrats JSON (registre des systèmes, scènes mesurées, publication) décrivent l'état du projet. Les pages publiques du site, comme celle-ci, sont elles aussi générées depuis un contrat éditorial.
Fonctionner hors ligne, depuis un simple dossier
Ouvert directement depuis le disque, un navigateur refuse de charger les fichiers voisins par script. CapsuleOS embarque donc ses gabarits dans des scripts générés : le même bureau fonctionne derrière un serveur web ou depuis une clé USB, sans connexion.
Pour la même raison, le JavaScript du navigateur reste volontairement simple : des fonctions isolées, sans modules ni syntaxe récente, qui se chargent dans l'ordre. Les outils de génération, eux, sont des scripts Node.js modernes qui ne quittent jamais la machine du développeur.
Le CSS comme interface publique
Chaque bureau est décrit par des variables CSS (couleurs, tailles, espacements, polices) relevées sur le vrai système. Le noyau lit ces variables ; la peau d'une distribution les règle, sans réécrire la mise en page. Les variables jouent le rôle d'une interface stable entre le moteur et l'apparence. Détail : CSS par variables.