Salle 13

Salle des machines

Le colophon du musée : le code qu’il lit, ce dont le site est fait, et comment il a été construit et vérifié.

Le code qu’il lit

Chaque salle lit OpenZFS zfs-2.4.4, la version la plus récente quand le travail a commencé, figée au commit 71a9f9578616a90c3c14bb59629fb4d31bfd68d1. Chaque lien vers le code sur ce site pointe vers des lignes de ce commit, jamais vers une branche : il ouvre toujours les lignes qui ont été lues, même quand le code évolue.

Les extraits sont de courtes citations de ce code, sous la Common Development and Distribution License 1.0 (CDDL), droits réservés à leurs auteurs : Sun Microsystems, Oracle, Delphix, le Lawrence Livermore National Laboratory et les contributeurs d’OpenZFS, comme l’indique l’en-tête de chaque fichier. Chaque extrait nomme son fichier et ses lignes, et renvoie vers elles. Aucun n’est recopié à la main : les pages les lisent à la construction dans ANALYSIS.md, qui en contient 116, et une vérification prouve que chacun est identique, octet pour octet, à son fichier au commit figé. Le site ne redistribue aucun fichier d’OpenZFS, et ses propres licences ne couvrent pas les extraits.

Ce dont le site est fait

Pages
Astro 7.4.0 et TypeScript, compilés en HTML statique : le hall, l’aile de l’histoire, 11 salles et celle-ci, en français, en anglais et en espagnol, chacune à sa propre adresse.
Figures
SVG et TypeScript écrits à la main, sans framework d’interface. La plupart des figures font tourner un petit modèle transcrit du code qu’elles montrent, testé sur des cas calculés à la main à partir de ce code. Hormis quelques lignes pour le thème et la langue, JavaScript ne tourne que dans les figures, et chaque figure a une alternative textuelle.
3D
Three.js 0.186.1, dans le hall et dans les deux salles spatiales par nature, l’arbre et les vdevs. Il n’est chargé qu’à l’ouverture de la vue 3D, après la figure 2D, qui reste la solution de repli sans WebGL ou avec les animations réduites.
Code
Shiki 4.5.0, qui colore les extraits à la construction.
Polices
Fraunces, Inter et Instrument Serif, servies avec le site.
Hébergement
Des fichiers statiques sur Cloudflare Workers. Ni code serveur, ni cookie, ni mesure d’audience : le navigateur garde deux choix dans son stockage local, le thème et la langue.

Comment il a été construit

Le site a été écrit par des agents d’IA, à partir d’une mission fixée par un humain qui en valide la publication. La méthode était l’essentiel, la voici.

  • Le code avant les figures. Avant la première figure, ANALYSIS.md a cartographié l’architecture et, pour chaque salle, les fonctions et les structures qui sont son idée, avec leurs extraits. Une figure qui ne correspond à rien dans le code n’a pas été dessinée.
  • Une tranche à la fois. Quatorze tranches, de cette analyse à cette salle, chacune construite de bout en bout : le modèle, la figure, les deux langues, les vérifications et les mesures.
  • Une revue par tranche. Un agent de QA distinct a rejoué chaque figure contre le code et lu les captures, et la tranche n’a été fusionnée qu’une fois approuvée.
  • Des vérifications à chaque modification. Les tests des modèles des salles ; chaque extrait et chaque lien vers le code vérifiés au commit figé ; chaque note de l’histoire vérifiée contre sa ligne de SOURCES.md (43 sources) ; la typographie française vérifiée dans les pages construites.
  • Dans un vrai navigateur. Dès la première page, Playwright a capturé les pages dans les deux langues, les deux thèmes, sur téléphone et sur ordinateur, et les a parcourues au clavier seul ; Lighthouse les a mesurées.
  • Des décisions écrites. Chaque choix de structure, avec les options écartées, est dans DECISIONS.md, et chaque tranche, avec ses mesures et ce qu’elle a laissé de côté, dans BUILDLOG.md.

Le dépôt

Les sources et ces notes : github.com/algotitanhq/uberblok. Le code du site est sous licence MIT, ses textes et ses illustrations sous CC BY 4.0, et les extraits sous CDDL, comme plus haut. Uberblok n’a aucun lien avec le projet OpenZFS.

La visite s’arrête ici. Le plan de la visite ramène à chaque salle.