# Ce que montre l'instance de Paris-Saclay

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

> **En bref :**
> Le 29 octobre 2026, une instance CRISalid **de développement** de Paris-Saclay a été observée en lecture seule. La pile complète tourne, le graphe porte **18,5 millions de nœuds** et le chemin « unité → chercheurs → publications » répond en moins d'une seconde.
> **Le socle est plus avancé qu'attendu, les données moins prêtes qu'espéré** : 51 unités de recherche sur 235 ont des chercheurs rattachés, et l'enrichissement est arrêté depuis le 7 septembre 2026.
> C'est une instance de test : elle prouve que la pile fonctionne, **pas** qu'une production tiendrait. La vitrine en tire deux règles : lire aussi les sources ouvertes, et ne promettre aucune cadence que CRISalid ne tient pas.

Jusqu'au 29 octobre, la section reposait sur la lecture du code et sur des jeux de démonstration. Cette page dit ce que l'instance a permis de vérifier ; le détail des données est dans [Les données observées](./01-donnees-observees).

## Le cadre de l'observation

| Élément | Valeur |
|---|---|
| Date | 29 octobre 2026 ; deux captures d'écran en lecture seule le 30 octobre 2026 (schéma du graphe, une publication sans personne) |
| Objet | Instance CRISalid de **développement et de test** de la DiBISO (Direction des bibliothèques, de l'information et de la science ouverte) |
| Accès | Accès en lecture seule, temporaire, accordé par la DiBISO |
| Règle | Aucune donnée, aucun service, aucune configuration modifiés ; rien installé |
| Requêtes | Bornées (`LIMIT`, agrégats), sans parcours complet du graphe ni extraction massive |
| Hors de vue | L'intérieur des services : configuration, secrets, journaux |

> **Ce que cette instance n'est pas.** Son responsable la décrit comme « incomplète, sans vocation à être exhaustive », mais représentative d'une production à ce stade pour tester la scalabilité. **Aucun constat de cette page ne vaut conclusion sur une production.** Tous portent le statut **Observé sur instance (dev)** ([échelle de preuve](/03-crisalid/00-reperes/sources-et-preuves)).

## Ce qui change de statut

| Inconnue avant le 29 octobre | Après l'observation |
|---|---|
| Ce qui est déployé | **Montré** : la pile complète tourne |
| Le modèle effectif du graphe | **Montré** : conforme au code |
| Le volume et la qualité | **Risque visible** : 18,5 M nœuds et 4 sources, mais 51 unités sur 235 peuplées |
| La cadence de mise à jour | **Risque visible** : enrichissement arrêté le 7 septembre ; planification non lisible |
| Les suppressions | **Risque visible** : 3 353 documents à supprimer non purgés |
| Les droits d'un compte d'export | **Toujours à confirmer** : non testés |

## Les constats en une page

Tous au statut **Observé sur instance (dev)**.

| Thème | Constat | Détail |
|---|---|---|
| Composants | Annuaire, moissonneur, graphe, API, SoVisu+, authentification et bus tournent ensemble | [Ce qui tourne](#ce-qui-tourne) |
| Graphe | 18,5 M nœuds, 53,9 M relations, modèle en trois étages conforme au code | [Les données observées](./01-donnees-observees) |
| Sources | OpenAlex, scanR, HAL et IdRef réellement moissonnés ; Scopus n'alimente aucune notice | [Les données observées](./01-donnees-observees#la-provenance) |
| Périmètre | 235 unités de recherche à code RNSR, contre 248 laboratoires dans l'annuaire | [Les données observées](./01-donnees-observees#le-périmètre-saclay) |
| Rattachements | **51 unités sur 235** ont des chercheurs rattachés | [Les données observées](./01-donnees-observees#le-rattachement-des-chercheurs-aux-unités) |
| Fraîcheur | Dernier calcul d'accès ouvert le **7 septembre 2026** | [Les données observées](./01-donnees-observees#larrêt-de-lenrichissement) |
| Suppressions | 3 353 documents marqués « à supprimer » encore présents | [Les données observées](./01-donnees-observees#les-files-de-traitement-non-purgées) |
| Chemin d'export | Unité → chercheurs → publications en moins d'une seconde ; aucun service d'export n'existe | [Le test d'un chemin d'export](#le-test-dun-chemin-dexport) |
| Ressources | Le socle occupe de l'ordre de 20 Go de mémoire, mesure ponctuelle | [Les ressources](#les-ressources) |
| Exposition | Plusieurs services de données joignables depuis le réseau interne | [Sécurité](#sécurité) |

## Ce qui tourne

Toute la pile CRISalid tourne sur **un seul hôte**, hébergé sur site et partagé avec d'autres applications de la DiBISO. Les bases de données sont dans la pile : leur sauvegarde dépend de cet hôte.

| Brique | Rôle | Observé | Fiche |
|---|---|---|---|
| Graphe (Neo4j, édition **Community**) | Consolide personnes, structures, publications | Tourne, interrogeable | [Le graphe](/03-crisalid/02-sous-projets/coeur/crisalid-ikg) |
| Moissonneur (svp-harvester) | Interroge les sources bibliographiques | Tourne ; routes de données protégées | [Le moissonneur](/03-crisalid/02-sous-projets/coeur/svp-harvester) |
| Annuaire (Directory Bridge) et orchestrateur | Chargent structures et personnes | Tournent ; rôle déduit, planification non lisible | [L'annuaire](/03-crisalid/02-sous-projets/coeur/crisalid-directory-bridge) |
| Bus d'événements | Transmet les changements au graphe | Tourne | [Contrats et événements](/03-crisalid/01-donnees/contrats-api-evenements) |
| API (Apollo) | Expose le graphe en GraphQL | Tourne ; schéma non récupéré | [L'API](/03-crisalid/02-sous-projets/coeur/crisalid-apollo) |
| SoVisu+ et authentification | Espace des chercheurs | Tournent | [SoVisu+](/03-crisalid/02-sous-projets/coeur/sovisuplus) |
| Référentiels (vocabulaires, thésaurus, organisations) et services d'embeddings | Enrichissent le graphe | Tournent ; rattachement exact à confirmer | [Les briques](/03-crisalid/02-sous-projets/carte-des-sous-projets) |

Deux enseignements pour les fiches :
- **le cœur décrit dans [Comprendre CRISalid](/03-crisalid/00-reperes/comprendre-crisalid) est déployé en entier**, ce qui n'était jusqu'ici qu'une lecture du code ;
- **les prototypes d'IA ne sont pas déployés**, ce qui confirme leur classement hors périmètre de décision.

Les versions applicatives annoncées sont des valeurs par défaut : **les versions réellement déployées ne sont pas connues**.

## Le test d'un chemin d'export

La vitrine lira un extrait de CRISalid. L'instance permet de vérifier que **le chemin de données existe et répond**, avant d'écrire quoi que ce soit.

<Mermaid
  title="Chemin de données d'une fiche de laboratoire"
  caption="Requêtes bornées exécutées sur l'instance de développement, avec les temps mesurés. Aucun service d'export n'existe : seul le chemin de données est vérifié."
  chart={`flowchart TB
    RU["Unité de recherche<br/>libellé, RNSR, ROR, wikidata"]
    P["Chercheurs rattachés"]
    PUB["Publications<br/>titre, date, type, accès ouvert"]
    EXP[["Extrait pour la vitrine<br/>à produire"]]
    RU -->|"0,17 s"| P
    P -->|"0,25 s"| PUB
    PUB -.-> EXP
    classDef todo fill:#F1F5F9,stroke:#64748B,color:#334155,stroke-dasharray: 4 3
    class EXP todo`}
/>

| Requête testée | Résultat | Temps |
|---|---|---:|
| Fiche d'unité : libellé, identifiants, nombre de chercheurs | Unité de 761 chercheurs, quatre identifiants pérennes | 0,17 s |
| Cinq publications avec titre, date, type et accès ouvert | Titres propres, dates normalisées, statut renseigné | 0,25 s |
| Comptage des publications d'une unité | 3 933 publications | 0,23 s |
| Six agrégats globaux, dont une traversée de 222 072 publications | — | 4,5 s |

**Ce que cela montre.** Sur cette instance, produire l'extrait du POC prend des secondes, pas des heures, et la forme des données convient à une génération de pages.

**Ce que cela ne montre pas.** Que la performance tiendrait en production ; que la sortie respecte champ à champ le contrat de la vitrine ; ni qu'un service d'export existe : il est à écrire. Et **184 fiches d'unités sur 235 seraient vides**. La spécification de l'extrait et les règles qui en découlent sont dans [Extrait et comparatif du POC](/01-cadrage-saclay/02-scenarios/03-extrait-et-comparatif-du-poc).

## Les ressources

Mesure ponctuelle, sans charge artificielle, sur une machine partagée.

| Indicateur | Ordre de grandeur |
|---|---|
| Mémoire occupée par le socle CRISalid | **Environ 20 Go**, dont la moitié pour le graphe |
| Part de la machine utilisée | Faible : l'hôte est largement surdimensionné pour le seul socle |

**Projection Saclay**, à prendre comme ordre de grandeur : un volume doublé tiendrait dans 35 à 45 Go de mémoire pour l'ensemble du socle. **L'infrastructure d'une cible ne se chiffre pas d'après cette machine**, mutualisée et dimensionnée pour plusieurs projets.

## Sécurité

**Exposition.** Plusieurs services de données sont joignables depuis le réseau interne de l'université, sauf filtrage en amont, que l'audit ne pouvait pas observer. Sur une instance de développement, c'est courant ; **pour une cible de production, une politique d'exposition doit être écrite avant le déploiement**. Le détail n'est pas publié : il est réservé au responsable de l'instance.

**Droits.** Le graphe tourne en **Neo4j Community**, qui ne propose ni rôles ni droits par propriété.

| Conséquence | Pour la décision |
|---|---|
| Un compte « lecture seule » ne peut pas être contraint techniquement | Tout programme qui lit le graphe peut aussi y écrire : l'extraction doit tourner dans le réseau de CRISalid, avec des requêtes figées |
| Des accès différenciés imposent l'édition Enterprise | Coût de licence à prévoir seulement si l'on en a besoin |
| Une vitrine générée depuis un extrait ne lit jamais le graphe | La question disparaît côté public |

Les droits effectifs du compte fourni à l'audit **n'ont pas été testés**, par choix de méthode.

## Ce que cela change pour la décision

| Décision du dossier | Avant | Après l'observation |
|---|---|---|
| CRISalid comme **socle de données** | GO conditionnel | **GO conditionnel maintenu, mieux étayé** : la pile tourne sur un volume réel, en développement |
| **Vitrine synchronisée en marque blanche** | Cible | **Possible, à deux conditions** : lire aussi les sources ouvertes, car les rattachements sont incomplets ; partir d'une synchronisation hebdomadaire au plus, car aucune cadence n'est démontrée |
| **Volume et performance** | Inconnus | **Pas d'alerte au volume observé**, en développement ; à mesurer sur la cible |
| **Complétude des rattachements** | Peu documentée | **Devient le risque principal** |

> **La question qui devient centrale.** Le chemin critique n'est plus technique, il est documentaire : **qui peuple, et selon quel calendrier, le rattachement des chercheurs aux 184 unités aujourd'hui vides ?** Tant que cette question n'a pas de réponse datée (question Q9), aucune vitrine ne peut être annoncée comme exhaustive.

## Ce qui reste hors de portée

- La **planification réelle** des traitements : l'orchestrateur exige une authentification que l'accès d'audit n'a pas.
- Les **droits effectifs** du compte fourni.
- La configuration interne des services : variables, secrets, volumes.
- Le chiffrement au repos, la journalisation, un éventuel pare-feu en amont, les mécanismes ZRR et PPST.

Ces points restent **non évalués**, pas présumés conformes.

## Les questions qui en découlent

Elles sont tenues dans le [registre des questions](/04-prochaines-etapes/grille-evaluation) : Q9 (184 unités vides), Q10 (cadence et arrêt du 7 septembre), et Q19 à Q23 (écart 235 / 248, purge des suppressions, dates futures, édition de Neo4j, politique d'exposition).
