Logo de La Capsule CapsuleOS

Préférences

Développeurs

L'architecture de CapsuleOS

CapsuleOS n'exécute aucun système. C'est une arborescence de fichiers HTML, CSS, JavaScript et JSON, organisée comme un système Linux, qui reproduit des bureaux réels couche par couche.

Mis à jour le

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.

Les cinq zones du dépôt
ZoneDossierContenuÉcrit par
Z0etc/, proc/Contrats, registre des systèmes, relevés des machines de référenceOutils du laboratoire
Z1usr/lib/, usr/share/Noyau, moteurs par famille, gabarits d'applications, assets, outilsContributeurs
Z2home/<éditeur>/<version>/La peau de chaque systèmeContributeurs
Z3OS/Pages d'entrée des bureauxGénérées
Z4var/lib/capsuleos/generated/Versions embarquées pour le mode hors ligneGé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

Chaque couche répond à une seule question
CoucheQuestionExemple
Référent réelÀ quoi ressemble le vrai système ?Une machine de référence installée et relevée
ModèleQu'a-t-on mesuré ?Inventaires d'applications, de polices, d'icônes, de textes
Noyau communQu'est-ce qui est universel ?Fenêtres, ressources, système de fichiers simulé
Famille et bureauQu'est-ce qui est propre à une famille ou à un environnement de bureau ?GNOME, Plasma, Cinnamon, l'ère d'un Windows, l'Aqua de macOS
PeauQu'est-ce qui est propre à cette distribution ?Le dock d'Ubuntu, les couleurs de Fedora
ExpérienceQue 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.

Pour aller plus loin