Monoïkos · Pharos · lu dans le code, jamais rédigé à la main

Pharos — la carte fonctionnelle

Quatre colonnes, de gauche à droite : le feu qui allume l'écran, l'écran lui-même, les tables qu'il lit (trait gris) ou écrit (trait doré), et l'instrument auquel des règles du recueil se rattachent (pointillé bleu). Survolez ou cliquez un nœud : ses liens s'allument, le reste s'efface, et la fiche de droite dit tout ce qu'on sait de lui.

lit la tableécrit la tablerègles rattachées à l'instrumenttable servie par le serveur (D1)table locale (IndexedDB)

Chaque écran, rangé dans sa famille de La Rade — le port éclairé par le feu du client. Le liseré de gauche dit le feu ; la ligne monospace dit le fondement légal que l'écran affiche à ses utilisateurs. Les écrans sans famille sont ceux que La Rade ne montre pas : sous-pages, écrans techniques, réglages.

Le dossier client n'est pas un écran : c'est quatorze onglets autour d'un même enregistrement, plus les fenêtres qui s'ouvrent dessus. Pour chaque onglet, ce qu'il lit, ce qu'il écrit, et les actions qu'il inscrit au Journal de bord.

Les magasins du logiciel. Les locaux vivent dans le navigateur (IndexedDB) et se synchronisent ; ceux marqués serveur n'existent que côté Worker (D1) et passent par le raccord. Pour chaque table : sa clé, ses index, et le nombre d'écrans qui la lisent ou l'écrivent.

Le recueil des règles, tel que regles.json le publie. Une règle est un énoncé « si… alors… », son visa, la main qui la règle (la loi ou le client), sa portée (l'entité ou le dossier) et l'instrument qui la relève. Aucune n'est écrite ici : elles sont lues.

Les sept instruments — l'écart est leur unité commune. Chacun pose une question, la mesure dans une unité, et relève les règles qui lui sont rattachées.

Les quatre feux de l'offre et les modules que chacun allume. Un écran s'ouvre si son module est dans la licence ; les modules obligatoires ne se ferment jamais.

Ce que le raccord serveur (vigilum-server-shim.js) appelle sur le Worker. Ces routes sont la frontière entre le navigateur et D1 ; tout ce qui n'est pas là reste local.