# Informations obsolètes et héritées

import { Mermaid } from "../../src/components/Mermaid";

> **En bref :**
> L'abandon du plan de POC et l'observation de l'instance CRISalid sont propagés dans les pages publiées, et chaque lien interne, ancre comprise, mène à une page qui existe. Le registre des chiffres clés empêche le retour des formulations retirées.
> **Le point le plus grave est hors des pages** : deux anciens index de recherche, versionnés dans `public/pagefind/` et `docs/public/pagefind/`, contiennent des formulations que le registre interdit pour les failles de LPI. Le premier est copié dans chaque construction du site.
> Restent des **dates d'état** sur l'accueil et dans les pages LPI, trois **libellés de liens** qui nomment des pages disparues, deux autres imprécis, des **faits à échéance** qui se périment tout au long de novembre, et des **fichiers de pilotage** (`CONTEXT.md` surtout) qui décrivent encore d'anciennes pages et quatre décisions au lieu de cinq.

## Chronologie

Les dates ci-dessous sont des faits. Les lignes à partir de la semaine du 2 novembre sont des échéances : chaque phrase du site qui les annonce au futur se périme dès que la date est passée.

<Mermaid
  title="Les faits datés du dossier et les échéances à venir"
  caption="Sources : inventaire (sources-et-preuves.md:51), plan archivé (archives/plan-du-poc-abandonne.mdx:6), instance (01-donnees-observees.mdx:4), revérification LPI (grille-evaluation.mdx:16), restructuration des scénarios (CONTEXT.md:41), réunion des directions d'unité (D8 deck.md:16), calendrier (00-feuille-de-route.mdx:21-36)."
  chart={`timeline
    title Octobre à décembre 2026
    21 octobre : Inventaire des 21 dépôts CRISalid
    23 octobre : Plan de POC abandonné
    29 octobre : Instance CRISalid observée
    30 octobre : Code LPI revérifié
               : Scénarios ramenés à deux parties
    Semaine du 2 novembre : Prérequis du POC à lever
    9 novembre au 4 décembre : POC de pertinence
    12 novembre : Réunion des directions d'unité
    17 novembre : Webinaire SoVisu+
    Semaine du 7 décembre : Comité de décision proposé`}
/>

## Priorité 1 : un ancien index de recherche publié avec le site

| Constat | Preuve |
|---|---|
| Le dossier `public/pagefind/` est versionné (71 fichiers). Il contient un index de recherche de 34 pages, toutes sous l'ancienne arborescence (`/03-audit-technique/…`, `/04-questions-lpi/…`, anciens scénarios lettrés) | `git ls-files public/pagefind` ; `public/pagefind/pagefind-entry.json` (`page_count: 34`) ; dernier commit `aef8cac6` |
| La construction copie ce dossier dans `dist/pagefind/`, à côté du nouvel index. Les 37 anciens fragments sont donc servis avec le site, à une adresse qui se devine | `dist/pagefind/fragment/` : 126 fragments, dont les 37 de `public/`, identiques octet pour octet ; l'index actif est le neuf (`dist/pagefind/pagefind-entry.json`, `page_count: 91`) |
| 16 des 37 anciens fragments contiennent des motifs que le registre interdit. **21 occurrences, dans 7 fragments, relèvent de la règle « pas de détail exploitable » sur les failles de LPI**, dont le détail est réservé au RSSI et à la DPO | Motifs de `scripts/chiffres-cles.json`, appliqués aux fragments décompressés ; aucun détail n'est reproduit ici |
| Un second index périmé, plus ancien, est versionné dans `docs/public/pagefind/` (23 fichiers, 8 fragments). Un de ses fragments porte 15 occurrences relevant de la même règle | `git ls-files docs/public` ; ce dossier n'est pas dans les fichiers publiés par `recit.config.ts:60`, mais il est dans le dépôt |
| Aucun contrôle ne regarde ces fichiers : `check-dossier` saute les dossiers `public` (`check-dossier.mjs:16`), `check-routes` saute `pagefind` (`check-routes.mjs:46`) | `node scripts/check-dossier.mjs` passe sans écart |

La recherche du site n'utilise pas ces fichiers, mais ils restent publics par leur adresse et dans l'historique Git. Il faut **retirer `public/pagefind/` et `docs/public/pagefind/` du dépôt**, puis vérifier que la construction suivante ne publie plus que l'index qu'elle régénère.

## Priorité 2 : dates d'état dans les pages publiées

Pour les failles, la grille des questions emploie une date de vérification : « Revérifiées le 30 octobre 2026 : toujours ouvertes sur le code le plus récent » (`grille-evaluation.mdx:16`). Les autres pages tournent la même date en date d'état. Ces phrases se lisent comme un état présent et vieillissent sans que le texte change.

| Où | Formule périmée | Ce qu'il faut écrire |
|---|---|---|
| [Accueil](/), l.28 | « Aucun prérequis n'est levé au 30 octobre. » | Supprimer la phrase, comme dans la feuille de route : sa liste à cocher porte l'information (`00-feuille-de-route.mdx:44-50`) |
| [Accueil](/), l.7 | « Audit au 30 octobre 2026 » en tête de page | Retirer la date d'état ; la date de dernière modification est déjà affichée sous chaque page (`recit.config.ts:63`, `showLastModified: true`) |
| [Accueil](/) l.12, [avis](/02-analyse-lpi/03-audit-technique/02-arbitrage/00-avis-go-no-go) l.8 et l.33, [risques](/02-analyse-lpi/03-audit-technique/02-arbitrage/01-risques-conditions-go) l.7, 16 et 17, [sécurité](/02-analyse-lpi/03-audit-technique/01-analyse-par-thematique/04-securite-rgpd) l.7, 21 et 22 | « toujours ouverte(s) au 30 octobre 2026 » | « revérifiée(s) le 30 octobre 2026 : toujours ouverte(s) », sur le modèle de Q1 |
| [Grille d'arbitrage](/02-analyse-lpi/03-audit-technique/02-arbitrage/02-grille-arbitrage), description (l.4) | « l'état des preuves au 30 octobre 2026 » | « les preuves disponibles », ou la date des preuves comme fait |
| [Grille d'arbitrage](/02-analyse-lpi/03-audit-technique/02-arbitrage/02-grille-arbitrage), En bref (l.9) | « Au 30 octobre 2026, les options LPI ont toujours 0 en sécurité » | « Failles revérifiées le 30 octobre 2026 : toujours ouvertes », puis la note de 0 en sécurité tant qu'elles le restent |
| [Partie 2](/01-cadrage-saclay/02-scenarios/02-partie-2-contribution-chercheurs), l.47 | Colonne « État au 30 octobre 2026 » | Colonne « État » ; la ligne SoVisu+ (l.50) dépend en plus du webinaire du 17 novembre (voir plus bas) |
| [Ce que montre l'instance](/03-crisalid/06-instance-saclay/00-ce-que-linstance-demontre), l.14 | « Jusqu'au 29 octobre, la section reposait sur… » | Phrase d'historique du dossier : la remplacer par la date d'observation, déjà donnée l.20 |

Aucune règle du registre ne détecte ces formules : `scripts/chiffres-cles.json` ne cite le mois d'octobre que dans ses valeurs (l.26, 45, 96), jamais dans ses motifs interdits. Un motif `au 3[0-1] octobre|au 29 octobre` empêcherait leur retour dans les pages publiées.

## Priorité 3 : libellés de liens périmés ou imprécis

Les liens fonctionnent. Trois libellés annoncent une page qui n'existe plus (plateformes nationales, volumétrie, besoin initial). Deux autres sont seulement imprécis : la page visée existe, mais le libellé ne la nomme pas exactement (glossaire, accueil).

| Où | Libellé | Cible réelle |
|---|---|---|
| [Plateformes nationales](/01-cadrage-saclay/03-veille/02-plateformes-nationales), l.80 | « scénario d'export statique » | [Extrait CRISalid et comparatif du POC](/01-cadrage-saclay/02-scenarios/03-extrait-et-comparatif-du-poc) ; l'ancienne page est redirigée (`generate-navigation.mjs:665`) |
| [Volumétrie](/01-cadrage-saclay/volumetrie), l.18 | « Complétude et fraîcheur » | [Les données observées](/03-crisalid/06-instance-saclay/01-donnees-observees) ; redirection `generate-navigation.mjs:662` |
| [Besoin initial](/01-cadrage-saclay/besoin-initial), l.45 | « le graphe réel » | Même page ; redirection `generate-navigation.mjs:661` |
| [Glossaire](/03-crisalid/00-reperes/glossaire), l.11 | « fiches de sous-projets » | [Carte des sous-projets](/03-crisalid/02-sous-projets/carte-des-sous-projets). Imprécis : les cinq fiches existent (`02-sous-projets/coeur/`), mais le lien mène à la carte |
| [Accueil](/), l.46 | « Questions à LPI » | Imprécis : la page existe, sous le titre « Questions à LPI et à CRISalid » (`grille-evaluation.mdx:3`) ; même libellé dans `generate-navigation.mjs:157` et dans le deck D2 (`deck.md:561`) |

Le schéma d'[architecture recommandée](/02-analyse-lpi/03-audit-technique/01-analyse-par-thematique/01-stack-architecture) (l.69) écrit encore « Frontend public statique ou ISR ». Le deck D3 demande de dire « vitrine synchronisée », pas « site statique » (`03-architecture-crisalid/deck.md:592`).

## Faits à échéance

Ces phrases sont justes tant que la date n'est pas passée, mais elles en parlent au futur. Il faudra les reprendre dès que la date sera passée ou le prérequis levé.

| Échéance | Où elle est écrite au futur |
|---|---|
| Prérequis à lever la semaine du 2 novembre | [Accueil](/) l.33 ; [feuille de route](/04-prochaines-etapes/00-feuille-de-route) l.44-50 ; D6 `deck.md:37` et `:460` (« cette semaine »), `:505`, `:564` |
| Démarrage du POC le 9 novembre | [Extrait et comparatif](/01-cadrage-saclay/02-scenarios/03-extrait-et-comparatif-du-poc) l.10 ; D6 `deck.md:177`, `:594`, `:605` |
| Réunion des directions d'unité du 12 novembre | D8 `deck.md:16` ; la note `:311` situe le webinaire SoVisu+ « après cette réunion » |
| Webinaire SoVisu+ du 17 novembre | [Partie 2](/01-cadrage-saclay/02-scenarios/02-partie-2-contribution-chercheurs) l.18 et 50 ; [SoVisu+](/03-crisalid/02-sous-projets/coeur/sovisuplus) l.12 et 55 ; [Ce qui n'est pas prouvé](/03-crisalid/00-reperes/ce-qui-nest-pas-prouve) l.33 ; [Comprendre CRISalid](/03-crisalid/00-reperes/comprendre-crisalid) l.62 ; [plateformes nationales](/01-cadrage-saclay/03-veille/02-plateformes-nationales) l.78 ; D6 `deck.md:472`, D7 `deck.md:295`, D8 `deck.md:311` |

Après le webinaire, le statut « Déclaré » des fonctions de correction et de fusion de SoVisu+ doit être revu, ainsi que le prérequis correspondant de la Partie 2.

## Decks : des dates d'état revendiquées, et aucun garde-fou

Les decks se donnent pour convention de dater les faits qui dépendent d'une vérification (D2 `deck.md:25`, D8 `deck.md:25`). Plusieurs passages emploient pourtant ces dates comme des dates d'état :

- D6 : `deck.md:21` et `:564` (prérequis non levés) ;
- D8 : `deck.md:25` (prérequis) et `:423` (responsable métier « pas encore nommé ») ;
- D2 : `deck.md:253` et `:378` (failles « toujours ouvertes au… »), `:295` (note provisoire) ;
- D3 : `deck.md:557` (failles) et `:797` (« aucune n'est levée aujourd'hui ») ;
- D7 : `deck.md:196` (failles « restaient ouvertes » au 30 octobre).

Garder ou retirer ces dates relève de l'auteur. En revanche, `docs/05-deck/` est exempté du registre (`chiffres-cles.json`, clé `exemptions`) : seules les deux règles de sécurité marquées `partout` s'y appliquent, et rien n'empêche une autre formulation retirée d'y revenir. Une application manuelle de tous les motifs du registre aux cinq sources `deck.md` et au catalogue ne trouve aucun motif interdit.

## Fichiers de pilotage, hors site

Ces fichiers ne sont pas publiés, mais ils servent de point de reprise. Ils décrivent encore des pages supprimées et des décisions remplacées.

| Fichier | Ce qui est faux | Preuve |
|---|---|---|
| `CONTEXT.md:50` et `:145` | « Les quatre décisions immédiates », dont « Fermer (ou non) la porte au collaboratif en phase 1 » | L'accueil en demande **cinq**, dont le report de la contribution des chercheurs et la présentation au consortium (`index.mdx:30-35`) |
| `CONTEXT.md:149` | Section LPI décrite avec « fiche d'identité, produit et usages, […] chronologie des contributions, forces et limites » et « l'analyse préliminaire » | Ces pages sont redirigées (`generate-navigation.mjs:724-728`) ; `docs/02-analyse-lpi/` ne compte plus que deux pages à sa racine |
| `CONTEXT.md:153` | Prochaines étapes : « démarche, actions réalisables sans LPI » | La section compte la feuille de route, la grille des questions et quatre plans de tests (`docs/04-prochaines-etapes/`) |
| `CONTEXT.md:65-66` | « toujours ouverte au 30 octobre 2026 » | Même date d'état que dans les pages LPI (priorité 2) |
| `CONTEXT.md:78` | « une fiche par dépôt », « les flux de bout en bout et une trajectoire de POC » | Cinq fiches restent (`02-sous-projets/coeur/`) ; flux redirigés (`generate-navigation.mjs:670`) ; trajectoire archivée (`archives/plan-du-poc-abandonne.mdx`) |
| `CONTEXT.md:206` | « Chaque fiche de sous-projet est adossée à son script » | 5 fiches pour 29 scripts `check-crisalid-*` |
| `CONTEXT.md:214` | `PLAN_CRISALID.mdx` « supprimé » | Il a été déplacé à la racine sous le nom `PLAN_CRISALID.md` (`git log` : renommage `996a75b6`), comme l'indique `README.md:52` |
| `CONTEXT.md:137` et `:216` | Le même plan est « chantier ouvert » (l.137) et « appliqué sans casser d'URL », avec une page « hors périmètre de décision » et des préfixes « Preuve · » (l.216) | La page est supprimée et redirigée (`generate-navigation.mjs:678`) ; il en reste une section (`carte-des-sous-projets.mdx:137`) ; aucun préfixe « Preuve · » ne subsiste |
| `PLAN_COMPREHENSION_CRISALID.md:3-4` | Statut à la fois « appliqué » et « attend un arbitrage explicite avant d'être lancé » | Les deux lignes se contredisent |
| `PLAN_COMPREHENSION_CRISALID.md:15-34` | 59 pages, 53 025 mots, sous-dossier `05-trajectoire-poc-saclay/` | La section compte 35 fichiers ; le sous-dossier n'existe plus |
| `PLAN_COMPREHENSION_CRISALID.md:23` | « la liste des composants déployés reste à confirmer », « on ne sait pas s'il tourne » | Démenti par l'instance : les composants tournent ensemble (`00-ce-que-linstance-demontre.mdx:46`) |
| `context-audit.md` | Index « généré le 2026-10-28 » : 109 pages ; 45 des 103 chemins distincts qu'il cite n'existent plus (anciens scénarios lettrés, anciennes pages LPI et CRISalid) | Aucun script de `scripts/` ne le produit, alors que `CONTEXT.md:140` le dit « généré » |
| `README.md:28` | Page de référence `05-trajectoire-poc-saclay/scenario-export-statique` | Redirigée (`generate-navigation.mjs:665`) |
| `README.md:38` | « Les lettres A/B/C désignent uniquement les scénarios de besoin » | Les scénarios lettrés sont supprimés et interdits par le registre (`chiffres-cles.json`, entrée « Scénarios : deux parties ») |
| `plan-context-prochain-etape.md:19-23` | Decks « D1 à D8 » et commandes `npm run` | Cinq decks publiés (`05-deck/catalogue.mdx:17-24`) ; le dépôt utilise pnpm (`README.md:17`) |

Les volumes de `CONTEXT.md` (pages, mots) restent saisis à la main : aucun script ne les produit.

Quatre dossiers vides subsistent dans `docs/05-deck/` (`01-direction-restitution-audit`, `04-securite-rgpd`, `05-valeur-impact`, `06-lancement-maquette`). Git ne les suit pas et le site ne les publie pas, mais le dernier porte un vocabulaire retiré (« maquette », `chiffres-cles.json`, entrée « Vocabulaire de la décision »). Les supprimer en local suffit.

## Ce qui tient

Ces points ne sont plus des constats, mais le relecteur doit les connaître.

- **Instance et abandon du POC** : le registre interdit les anciennes formulations sur l'instance (`chiffres-cles.json`, entrée « État de l'instance CRISalid de Paris-Saclay ») et `node scripts/check-dossier.mjs` passe sans écart.
- **Plan du POC abandonné** : archivé dans `archives/`, hors des fichiers publiés (`recit.config.ts:60`), avec une redirection de l'ancienne adresse vers la feuille de route (`generate-navigation.mjs:723`).
- **Liens internes** : dans les pages et dans les sources des decks, chaque lien interne pointe vers une page existante, et chaque ancre vers un titre existant. Aucun ne passe par une redirection.
- **Date des pages** : chaque page affiche sa date de dernière modification, tirée de Git (`recit.config.ts:63`).

## Recommandations

1. **Retirer `public/pagefind/` et `docs/public/pagefind/` du dépôt**, puis contrôler les fragments servis par la construction suivante. Étendre le contrôle des motifs interdits aux fichiers publiés, pas seulement aux sources.
2. **Remplacer les dates d'état des pages publiées** (priorité 2), en commençant par l'accueil. Ajouter au registre un motif qui les détecte.
3. **Corriger les trois libellés qui nomment des pages disparues et préciser les deux autres** (priorité 3) et le libellé « statique » du schéma d'architecture.
4. **Reprendre les faits à échéance** au fil des dates : fin de la semaine du 2 novembre, 9, 12 et 17 novembre.
5. **Remettre à jour les fichiers de pilotage**, en commençant par les décisions et la description des sections dans `CONTEXT.md`, puis supprimer `context-audit.md` ou écrire le script qui le génère, avec les volumes de `CONTEXT.md`.
