+53
−0
+14
−1
+13
−0
Loading
L'installateur demande « cette instance est-elle en production ? ». Répondre non ne changeait rien : le déclencheur EA-03 exigeait toujours un second facteur actif pour accorder le droit root, et l'on ne pouvait pas essayer le produit sans monter une application d'authentification. Le mode est désormais posé en base, dans une table à lui — et non dans « reglage_instance », qui se modifie à chaud depuis la console root. Relâcher une garantie de sécurité ne doit pas être un réglage d'affichage : cela se décide à l'installation, pas à l'usage. La table vide vaut production. C'est le sens qui échoue du bon côté : une instance dont on ne sait rien est traitée comme réelle. Quatre points appliquaient la contrainte, et je n'en avais d'abord vu que trois. Le quatrième — « etatAmorce » — ne se contentait pas de piloter l'écran d'amorce : un preHandler du serveur en dépend et répondait 403 à toute l'API. Le défaut ne se voyait donc pas comme « l'écran insiste », mais comme « rien ne fonctionne ». Une cinquième chose manquait, et c'était la plus discrète : « accorderSiAmorce » n'était appelé que depuis l'activation du second facteur. En mode test, où cette activation n'a pas lieu, personne ne devenait jamais root. La pose du mot de passe l'appelle maintenant. La suite de garanties a rattrapé une divergence que mon propre commentaire annonçait : j'avais conditionné « requerirRoot » sur la variable d'environnement quand tout le reste lisait la table. Les deux peuvent différer — c'est précisément pourquoi la table existe. La lecture est unifiée, et n'intervient que sur le chemin déjà périmé. Le bandeau dit ce qu'il faut et rien de plus : « Instance de test — ne pas utiliser pour de la production ». Il ne détaille pas quelles garanties sont relâchées. Cette liste intéresse celui qui installe, à qui l'installateur la donne ; l'afficher à tout visiteur serait un mode d'emploi. La sonde d'état publie le mode sans session, et c'est assumé : le bandeau doit paraître dès l'écran de connexion, avant qu'on sache qui regarde. Une divulgation, oui — préférable à son contraire, une instance de test prise pour une vraie et sur laquelle on verse un annuaire réel. KASTELL_ENV perd sa valeur par défaut. Deviner « développement » quand la variable manque était le mauvais défaut : une composition incomplète en production se serait tue. main.tsx porte aussi l'aiguillage vers la page de partage public, qui vient avec le lot d'écrans suivant. Co-Authored-By: Claude (RCA)