# Cohérence et contradictions entre pages

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

> **En bref :**
> Les pages publiées **concordent** sur les coûts des deux parties, les verdicts, la hiérarchie des risques, la volumétrie, le calendrier et les faits CRISalid tranchés dans le code. Le registre des chiffres clés est vérifié par `pnpm run check`.
> **Douze écarts restent**, aucun bloquant. Le plus visible : le service d'export est estimé à 8–15 j.h sur sept pages et decks, mais la page de référence des coûts le classe « non chiffré », et la méthode dit les deux.
> Les autres se trouvent surtout là où le contrôle ne passe pas : `CONTEXT.md` (quatre décisions au lieu de cinq, pages qui n'existent plus), le deck de restitution (une autre liste de cinq décisions), le deck D2 (fin de support de Nuxt 3 sans réserve). Sur le site, le nombre de Graduate Schools varie entre 14 et 17.

## Le garde-fou : le registre des chiffres clés

<Mermaid
  title="Ce que le registre contrôle, et ce qu'il ne voit pas"
  caption="Les dix règles s'appliquent aux pages de docs/. Les decks et l'audit de la documentation ne sont soumis qu'aux deux règles de sécurité. CONTEXT.md, README.md et livrables/ ne sont pas parcourus."
  chart={`flowchart LR
    R["scripts/chiffres-cles.json<br/>10 règles : valeur qui fait foi,<br/>page canonique, motifs interdits"]
    P["Pages de docs/"]
    D["Decks docs/05-deck/<br/>et docs/06-audit-docs/"]
    C["pnpm run check<br/>build, routes, check:dossier"]
    H["CONTEXT.md, README.md, livrables/"]
    R --> C
    P -->|"10 règles"| C
    D -->|"2 règles de sécurité"| C
    H -.->|"non contrôlés"| N["Aucun contrôle"]
    C -->|"motif retiré trouvé"| X["Échec"]
    C -->|"aucun écart"| OK["Site construit"]
    classDef ko fill:#FEE2E2,stroke:#DC2626,color:#7F1D1D
    classDef ok fill:#DCFCE7,stroke:#16A34A,color:#14532D
    classDef nc fill:#FEF3C7,stroke:#D97706,color:#78350F
    class X ko
    class OK ok
    class N nc`}
/>

- `package.json:16-17` : `check` enchaîne la construction, `check:routes` puis `check:dossier`, qui lance `node scripts/check-dossier.mjs`. Le script répond « 94 pages, 10 règles, aucun écart » ; il ne parcourt que `docs/` (`scripts/check-dossier.mjs:22`).
- Les dix règles portent sur : le coût de la Partie 1, les deux parties (retour des anciens scénarios interdit), le vocabulaire de la décision, le nombre d'unités, la disponibilité, les dépôts CRISalid sans licence, l'état de l'instance, les failles LPI, les montants de la proposition de l'auteur, les défauts de sécurité du code CRISalid.
- `docs/05-deck/` et `docs/06-audit-docs/` sont exemptés (`scripts/chiffres-cles.json:3-7`). Seules les deux règles marquées `partout` (failles LPI, défauts CRISalid) s'y appliquent (`check-dossier.mjs:35-36`). Une valeur retirée du site peut donc revenir dans un deck sans faire échouer la construction.
- Un passage des huit règles non marquées `partout` sur les fichiers non contrôlés (les cinq `deck.md`, `CONTEXT.md`, `README.md`, `livrables/README.md`, `livrables/restitution-finale/`) ne trouve aujourd'hui aucun motif retiré. Les écarts ci-dessous sont d'une autre nature : des chiffres ou des listes que le registre ne connaît pas.

## Ce qui concorde

Ces faits ont été recoupés sur les pages, les decks et `CONTEXT.md`. Ils ne sont pas des écarts ; la page citée fait foi.

| Fait | Valeur commune | Page qui fait foi |
|---|---|---|
| Coût de la Partie 1, depuis le socle | 27–80 k€ (POC 2–7 k€ + lancement 24–73 k€), puis 16–52 k€ par an ; 75–236 k€ à 3 ans, 107–340 k€ à 5 ans ; de zéro, 156–365 k€, puis 43–121 k€ par an | [Scénarios et coûts](/01-cadrage-saclay/scenarios-de-besoin) |
| Coût de la Partie 2 | 24–74 k€ (54–105 j.h), puis 7–21 k€ par an et 0,2–0,5 ETP de modération ; 45–137 k€ à 3 ans | Même page |
| Option LPI adaptée | 128–215 j.h, 4 à 6 mois : 83–194 k€ à 650–900 €/j, 58–151 k€ au taux mixte ; tableau de 8 lots chiffrés, détail en dix volets | [Coût de l'option LPI](/02-analyse-lpi/03-audit-technique/02-arbitrage/03-cout-option-lpi) |
| Arithmétique des coûts | Charges × taux, sensibilité à taux constant, totaux à 3 et 5 ans, réserve de 15 % : recalculés, exacts | [Méthode d'estimation](/01-cadrage-saclay/02-scenarios/00-methode-estimation) |
| Hiérarchie des risques de Projects | Licence la plus bloquante (critique), sécurité la plus urgente : authentification critique, autorisations élevée | [Avis de l'audit](/02-analyse-lpi/03-audit-technique/02-arbitrage/00-avis-go-no-go) |
| Liste des risques | 8 risques de l'option LPI, 5 risques transverses | [Risques et conditions](/02-analyse-lpi/03-audit-technique/02-arbitrage/01-risques-conditions-go) |
| Verdicts | Frontend Projects NO-GO en l'état ; socle CRISalid GO conditionnel ; vitrine découplée PIVOT. `CONTEXT.md:35-37` reprend les mêmes conditions | [Avis de l'audit](/02-analyse-lpi/03-audit-technique/02-arbitrage/00-avis-go-no-go) |
| Volumétrie | 248 unités retenues ; 235 dans le graphe, dont 51 avec chercheurs et 184 sans ; 6 000 à 8 000 chercheurs, le nombre publiable dépendant d'une règle DPO | [Volumétrie](/01-cadrage-saclay/volumetrie) |
| Exploitation | Disponibilité 99,5 % ; fiches validées par 50 % des unités à un an, 75 % à deux ans ; synchronisation hebdomadaire | [Exploitation et pilotage](/01-cadrage-saclay/exploitation-pilotage) |
| Critères d'arrêt du POC | Fiche exploitable pour au moins 75 % des unités testées ; au moins deux parcours meilleurs que scanR et les sites d'unités ; aucune fuite | [Partie 1](/01-cadrage-saclay/02-scenarios/01-partie-1-vitrine-marque-blanche) |
| Calendrier | POC du 9 novembre au 4 décembre 2026 au plus tard, comité proposé la semaine du 7 décembre, mise en ligne entre mi-février et fin mars 2027, contribution des chercheurs au plus tôt à l'été 2027 | [Feuille de route](/04-prochaines-etapes/00-feuille-de-route) |
| Registre des questions | Q1 à Q23, Q1 à Q10 bloquantes ; 12 questions à LPI, Q3 partagée, 10 instruites par Paris-Saclay (D2 `deck.md:317-341`) | [Questions à LPI et à CRISalid](/04-prochaines-etapes/grille-evaluation) |
| Suppressions dans CRISalid | Le graphe ne traite aucune suppression ; SoVisu+ ne retire que les documents ; 3 353 documents en attente | [Contrats d'API et événements](/03-crisalid/01-donnees/contrats-api-evenements) |
| Données personnelles dans CRISalid | Emails absents du graphe, présents dans SoVisu+ ; rectification limitée aux identifiants et aux métadonnées de publications | [Sécurité, droits et données personnelles](/03-crisalid/03-fonctionnement-transversal/securite-droits-donnees-personnelles) |
| Licences CRISalid | Neuf dépôts sans fichier de licence | [Exploitation et gouvernance](/03-crisalid/03-fonctionnement-transversal/exploitation-et-gouvernance) |
| Fin de support de Nuxt 3 | « 31 juillet 2026 (date à confirmer) » sur les cinq pages LPI qui la citent, et dans D3 (`deck.md:553`) | [Architecture](/02-analyse-lpi/03-audit-technique/01-analyse-par-thematique/01-stack-architecture) |

## Écarts ouverts, par priorité

### Priorité moyenne

| Écart | Preuve | Correction proposée |
|---|---|---|
| **Le service d'export est chiffré partout, sauf sur la page de référence des coûts** | Estimé à 8–15 j.h (4–11 k€ au taux mixte), hors chiffrage des deux parties : `03-extrait-et-comparatif-du-poc.mdx:12,154`, `01-partie-1-vitrine-marque-blanche.mdx:57`, `00-feuille-de-route.mdx:40`, `01-risques-conditions-go.mdx:31`, D3 `deck.md:726`, D6 `deck.md:221`, D7 `deck.md:257,291,461`. Mais `scenarios-de-besoin.mdx:64-66` le range sous « Non chiffré », sans l'estimation. La méthode se contredit elle-même : « à produire (non chiffrés) » (`00-methode-estimation.mdx:16`), puis « un export stable, chiffré à part » (`:53`) | `scenarios-de-besoin.mdx:66` : « le **service d'export dédié** de CRISalid, nécessaire faute d'accès en lecture seule : estimé à 8–15 j.h (4–11 k€), hors des totaux ci-dessus ([qui le porte](/01-cadrage-saclay/02-scenarios/03-extrait-et-comparatif-du-poc)) ». `00-methode-estimation.mdx:16` : « à produire ; l'export est estimé à part, à 8–15 j.h, hors totaux » |
| **Les décisions demandées existent en trois versions** | L'accueil en demande cinq (`index.mdx:32-36`) : écarter Projects, lancer le POC, décider du lancement et présenter au consortium, reporter la contribution des chercheurs, exiger les preuves. `CONTEXT.md:50-55` et `:145` en annoncent quatre, et formulent la troisième « fermer (ou non) la porte au collaboratif en phase 1 ». Le deck de restitution titre « Cinq décisions aujourd'hui » (`livrables/restitution-finale/01-audit.md:824-830`) avec une autre liste : lancer le POC le 9 novembre, obtenir l'extrait, faire contre-expertiser les coûts, réunir le comité ; le lancement, le consortium et la Partie 2 passent dans les notes (`:834-835`) | Faire de l'accueil la liste qui fait foi. `CONTEXT.md:50-55` : reprendre les cinq décisions de `index.mdx:32-36` ; ligne 145 : « cinq décisions demandées ». Dans le deck de restitution, soit reprendre la liste de l'accueil, soit titrer « Cinq décisions pour lancer le POC » et citer l'accueil en source |
| **Le nombre de Graduate Schools varie entre 14 et 17** | 14, « Confirmé », source « Site de l'université » : `volumetrie.mdx:51`, repris par `quest-ce-quune-unite.mdx:27,38`, D8 (`deck.md:108,127`) et le deck de restitution (`01-audit.md:139`). Mais la veille relève sur le même site « 18 entrées : 17 Graduate Schools et l'Institut des Sciences de la Lumière » (`03-veille/01-existant-paris-saclay.mdx:15`) | Recompter sur le site de l'université et retenir un chiffre dans `volumetrie.mdx:51` ; si les deux comptes diffèrent par leur périmètre, l'écrire dans la colonne « Ce qu'il compte » et ajouter la ligne 17 avec sa source |
| **`CONTEXT.md` décrit des pages qui n'existent plus** | `CONTEXT.md:149` cite pour la partie LPI une « fiche d'identité, produit et usages », une « chronologie des contributions », des « forces et limites » et une « analyse préliminaire » : `docs/02-analyse-lpi/` ne compte que `00-lpi-et-projects.mdx`, `02-equipe-maintenance-communaute.mdx`, six pages thématiques et quatre pages d'arbitrage. `CONTEXT.md:153` cite une « démarche » et des « actions réalisables sans LPI » : `docs/04-prochaines-etapes/` contient la feuille de route, la grille de questions et quatre plans de tests | Ligne 149 : « LPI et Projects, équipe et maintenance ; puis `03-audit-technique/` avec six analyses thématiques (périmètre, architecture, qualité/TCO, SEO, sécurité/RGPD, observabilité) et quatre pages d'arbitrage ». Ligne 153 : « feuille de route, plans de tests (SEO, performance, analytics, sécurité) et registre des questions à LPI et à l'équipe CRISalid » |
| **D2 et le deck de restitution donnent la fin de support de Nuxt 3 comme un fait** | `docs/05-deck/02-atelier-qualification-lpi/deck.md:255` et `livrables/restitution-finale/01-audit.md:352` : « hors support standard depuis le 31 juillet 2026 », sans réserve, alors que les cinq pages LPI et D3 (`deck.md:553`) écrivent « date à confirmer ». D2 est présenté à LPI. Les deux annexes restreintes de `livrables/annexes/` portent la même date sans réserve : `securite-lpi-detaillee.mdx:27` et les notes de D4 (`D4-securite-rgpd/deck.md:121`), la diapositive de D4 (`deck.md:114`) disant seulement « hors support » | Ajouter « (date à confirmer) » après « 31 juillet 2026 » dans D2 et dans le deck de restitution, puis régénérer l'aperçu de D2 ; même ajout dans `securite-lpi-detaillee.mdx:27` et dans les notes de D4 (`deck.md:121`) |

### Priorité faible

| Écart | Preuve | Correction proposée |
|---|---|---|
| **Le schéma de sécurité garde du vocabulaire d'API, et son back-office n'est pas nommé** | `03-securite-attendus.mdx:52` exclut toute API publique dans la Partie 1, mais `:55` exige « méthodes, tailles, pagination et coûts bornés » et `:120` teste le « coût GraphQL ». Le schéma (`:44-45`) et celui de l'architecture recommandée (`01-stack-architecture.mdx:67`) relient un « back-office » à l'export sans dire lequel : l'avis attribue le back-office au socle CRISalid (`00-avis-go-no-go.mdx:16`), la Partie 2 place les corrections dans SoVisu+ et les textes de présentation dans la couche éditoriale de la vitrine (`02-partie-2-contribution-chercheurs.mdx:35-37`), et la Partie 1 n'a aucun circuit de correction (`scenarios-de-besoin.mdx:43`) | `03-securite-attendus.mdx:55` : « tailles de pages et d'export bornées » ; `:120` : « Tests des limites de débit et de l'export ». Dans les deux schémas, nommer le back-office « SoVisu+ (Partie 2) » |
| **Le périmètre du POC est dit de trois façons** | `00-feuille-de-route.mdx:48` : « une Graduate School, quelques unités ». La page canonique (`03-extrait-et-comparatif-du-poc.mdx:55-56`), la même feuille de route (`:54`), D6 (`deck.md:308`) et D8 (`deck.md:397`) : une Graduate School et **toutes ses unités**. La proposition de l'auteur, qui reprend « le POC de pertinence de l'audit », écrit « une ou deux Graduate Schools » (`livrables/restitution-finale/02-proposition.md:298,300`) | `00-feuille-de-route.mdx:48` : « une Graduate School et toutes ses unités, **aucune unité ZRR** » ; dans la proposition, « une Graduate School » |
| **La date du comité est tantôt proposée, tantôt acquise** | Proposée : `index.mdx:28`, `01-partie-1-vitrine-marque-blanche.mdx:83`, `catalogue.mdx:29`, D6, D7, D8 (`deck.md:399`) ; hypothèse : `00-feuille-de-route.mdx:15`. Acquise : l'« En bref » de la feuille de route (`:10`) et celui du registre des questions (`grille-evaluation.mdx:9`) | Ajouter « (date proposée) » dans ces deux lignes |
| **Le calendrier de la Partie 2 diffère dans le deck de restitution** | Feuille de route (`00-feuille-de-route.mdx:30`) et D7 (`deck.md:282`) : contribution à partir du 21 juin 2027, sur 14 semaines. Deck de restitution (`01-audit.md:792`) : du 15 juin au 15 octobre 2027 | Reprendre `2027-06-21, 14w` dans le Gantt du deck de restitution |
| **La source du volume de publications tourne en rond** | `besoin-initial.mdx:31` renvoie à la volumétrie pour la source de « plus de 200 000 publications » ; `volumetrie.mdx:45` donne le besoin initial comme source de ce chiffre | `volumetrie.mdx:45`, colonnes Source et Statut : « Arrondi des décomptes du graphe (251 191 et 222 072) » · « Cohérent » |
| **Le registre des questions porte deux noms** | La barre latérale publiée affiche « Questions à LPI » : `scripts/generate-navigation.mjs:157` fixe ce libellé dans `customLabels`, qui l'emporte sur le `sidebar_label` « Questions à LPI et à CRISalid » de `grille-evaluation.mdx:3` (titre, ligne 2 : « Questions à adresser à LPI et à CRISalid »). Même ancien nom ailleurs : « Questions à LPI » dans `index.mdx:46` et D2 (`deck.md:561`), « questions à LPI » dans `00-feuille-de-route.mdx:75`, « grille de questions à adresser à LPI » dans `CONTEXT.md:153` | D'abord remplacer le libellé de `generate-navigation.mjs:157` par « Questions à LPI et à CRISalid », puis régénérer la navigation ; ensuite aligner `index.mdx:46`, `00-feuille-de-route.mdx:75`, D2 (`deck.md:561`, puis régénérer son aperçu) et `CONTEXT.md:153` |
| **L'accueil date l'état des prérequis, la feuille de route ne le fait pas** | `index.mdx:28` date l'état des prérequis (« Aucun prérequis n'est levé », suivi d'une date) ; la feuille de route (`:42-50`) liste les prérequis sans cet état. La phrase relève aussi des [informations obsolètes](./03-informations-obsoletes) | Retirer la phrase de `index.mdx:28` ; la feuille de route porte les prérequis |

## Ce qui dépend d'un tiers

Ces points ne sont pas des contradictions, mais aucune page ne peut les clore seule :

- **Contre-expertise des coûts « depuis le socle ».** Le socle est le prototype de l'auteur de l'audit. La déclaration d'intérêt figure sur l'accueil, la page des coûts, la fiche de la Partie 1, la méthode, l'avis et les decks. L'estimation reste « à contre-expertiser par la DSI » (`00-methode-estimation.mdx:60`, `03-extrait-et-comparatif-du-poc.mdx:154`).
- **235 ou 248 unités.** L'écart est expliqué comme une différence de périmètre (`volumetrie.mdx:25`). Sa cause reste à obtenir de la DiBISO : c'est la [question Q19](/04-prochaines-etapes/grille-evaluation).
- **Nombre de chercheurs publiables.** Toutes les pages donnent un encadrement de 6 000 à 8 000. Le chiffre utile dépend d'une règle de publication à fixer avec la DPO (`volumetrie.mdx:36`).
- **Rattachement des unités aux Graduate Schools.** Aucune source officielle accessible ne le fixe ; la validation est attendue de la Direction de la recherche (`volumetrie.mdx:54`). Le recomptage des Graduate Schools (écart ci-dessus) peut se faire en même temps.

## Recommandations

1. **Donner l'estimation du service d'export** sur la page de référence des coûts et dans la méthode : c'est le seul chiffre du dossier qui a deux statuts.
2. **Fixer une seule liste des décisions demandées**, celle de l'accueil, et y aligner `CONTEXT.md` et le deck de restitution. Le comité et la direction lisent le deck ; toute reprise lit `CONTEXT.md` en premier.
3. **Recompter les Graduate Schools** et inscrire le chiffre retenu dans la volumétrie, avec son périmètre.
4. **Aligner `CONTEXT.md` sur le site** pour la description des sections LPI et Prochaines étapes. Aucun contrôle ne le vérifie.
5. **Porter la réserve sur Nuxt 3 dans D2 et dans le deck de restitution**, puis régénérer l'aperçu de D2.
6. **Étendre le contrôle** : soumettre `docs/05-deck/` aux règles du registre qui ne citent pas d'anciennes valeurs, et ajouter `CONTEXT.md` et `livrables/restitution-finale/` aux fichiers parcourus ; inscrire au registre la réserve sur Nuxt 3 et le nombre de Graduate Schools.
7. **Corriger les sept écarts de faible priorité** en une passe : ce sont des remplacements d'une ou deux lignes ; seul le nom du back-office demande une confirmation de l'auteur.
