Les briques de CRISalid
En bref : CRISalid n'est pas une application mais une suite de 21 dépôts. Cinq briques forment le produit : l'annuaire, le moissonneur, le graphe, l'API et SoVisu+. Elles tournent ensemble sur l'instance de développement de Paris-Saclay. Les autres sont des référentiels, de l'outillage ou des expériences d'IA qui ne tournent pas sur l'instance. Aucune n'est une vitrine publique : c'est la brique que la Partie 1 propose d'ajouter à la suite.
Le circuit des briques
Le schéma de référence du circuit des données, de la source au chercheur, est dans Comprendre CRISalid. Ce que l'instance a montré de chaque brique est dans Ce que montre l'instance.
Les 21 dépôts
La colonne Statut porte sur l'existence de la brique : Observé sur instance (dev) quand elle tourne sur l'instance de développement de Paris-Saclay, Confirmé quand seul le code a été lu, À confirmer quand un service semblable tourne sans qu'on ait pu le rattacher au dépôt. Les huit statuts sont définis dans Sources et preuves.
| Dépôt | Nom usuel | Rôle en une phrase | Utile à la vitrine ? | Statut | Lien |
|---|---|---|---|---|---|
| Cœur : le produit | |||||
| crisalid-directory-bridge | L'annuaire | Charge personnes, laboratoires et rattachements depuis l'annuaire de l'établissement | Oui : sans lui, pas de chercheurs par unité | Observé sur instance (dev) | fiche |
| svp-harvester | Le moissonneur | Va chercher les publications d'un chercheur dans les bases ouvertes | Oui : c'est la source des publications | Observé sur instance (dev) | fiche |
| crisalid-ikg | Le graphe | Rapproche les doublons et écrit une version consolidée de chaque fait | Oui : l'extrait de la vitrine en sort | Observé sur instance (dev) | fiche |
| crisalid-apollo | L'API | Donne aux applications un accès structuré au graphe | Indirect : pas d'export, et sa clé ouvre aussi l'écriture | Observé sur instance (dev) | fiche |
| SoVisuPlus | SoVisu+ | Espace où le chercheur consulte et corrige ses données | Oui, pour la Partie 2 | Observé sur instance (dev) | fiche |
| crisalid-deployment | L'assemblage | Recette qui lance toutes les briques ensemble, avec un interrupteur par brique | Indirect : conditionne l'exploitation | Confirmé | dépôt |
| Référentiels et intégration | |||||
| crisalid-org-registry | Le registre des organisations | Liste mondiale (ROR) et française (UAI) des organisations, pour reconnaître une affiliation sous ses diverses graphies | Indirect | À confirmer | dépôt |
| crisalid-taxi | Le classement par thèmes | Range une publication dans l'un des 4 516 thèmes d'OpenAlex | Indirect : base de parcours thématiques | À confirmer | dépôt |
| crisalid-vocab-search | Les suggestions de mots-clés | Propose des termes contrôlés pendant la saisie | Non | Partiel | dépôt |
| svp-jel-proxy | Le vocabulaire d'économie | Copie locale de la classification JEL des sciences économiques | Non | À confirmer | dépôt |
| aiosparql | Bibliothèque SPARQL | Outil de programmation du moissonneur ; pas un service | Non | Confirmé | dépôt |
| IA et expérimentation (aucune ne tourne sur l'instance) | |||||
| crisalid-agents | L'assistant et la recherche d'experts | Répond à des questions sur le graphe et trouve les chercheurs d'un thème | Indirect, plus tard | Confirmé | dépôt |
| crisalid-ai-skills | La boîte à outils de requêtes IA | Treize requêtes prédéfinies, en lecture seule, que l'assistant a le droit d'utiliser | Indirect : modèle pour l'export | Confirmé | dépôt |
| doccano | L'outil d'annotation | Des personnes indiquent si deux notices décrivent la même publication | Non | Confirmé | dépôt |
| svp-training-data | La préparation des exemples | Extrait des paires de notices à annoter | Non | Confirmé | dépôt |
| crisalid-ai-duplicate-record-detection | La détection de doublons par IA | Carnet d'entraînement d'un modèle de langage, sans service | Non | Expérimental | dépôt |
| graphrag-experiments | Le premier prototype d'assistant | Remplacé par l'assistant actuel | Non | Expérimental | dépôt |
| Historique et outillage | |||||
| SVP-mockups | Les maquettes de SoVisu+ | Écrans cliquables avec des données fictives, en ligne | Non : montrent une cible, pas un état | Confirmé | dépôt |
| svp-k8s | L'ancien déploiement Kubernetes | Déploiement dans le cloud de Google, abandonné | Non | Partiel | dépôt |
| maintenance | La page d'indisponibilité | Affiche « service momentanément indisponible » pendant une intervention | Non | Confirmé | dépôt |
| Référence externe | |||||
| CERIF-Core | Le modèle européen | Modèle d'euroCRIS dont CRISalid s'inspire sans l'implémenter | Indirect | Confirmé | modèle de données |
Licences. Neuf dépôts n'ont pas de licence claire, dont l'annuaire, le registre des organisations et Taxi. Le détail et ses conséquences pour la réutilisation sont dans Exploitation et gouvernance.
L'assemblage et l'hébergement
Le dépôt d'assemblage (crisalid-deployment) réunit la recette Docker Compose qui lance les briques ensemble, l'authentification et le bus de messages. Il porte aussi le site de documentation officiel, dont la vue d'ensemble est encore « à venir » : la documentation officielle ne contient aucun schéma d'architecture. Le déploiement Kubernetes y est annoncé mais n'est pas fourni, et l'ancien dépôt Kubernetes est abandonné : Docker Compose est la seule voie disponible. Sur l'instance de développement, toute la pile tourne sur un seul hôte, bases de données comprises (Observé sur instance (dev)). Sauvegarde, ordonnancement, supervision et versions : Exploitation et gouvernance.
Ce qu'il faut savoir des autres briques
Registre des organisations : une liste figée à janvier 2025
- Il importe ROR et la liste des établissements français, puis les expose en lecture seule au graphe.
- La version de ROR est inscrite en dur dans le code : les mises à jour ultérieures ne sont pas reprises automatiquement (Confirmé).
- Un service de ce type tourne sur l'instance, sans rattachement établi à ce dépôt (À confirmer). Pas de licence.
Taxi : le classement par thèmes, sans licence
- Il compare le titre et le résumé d'une publication aux 4 516 thèmes d'OpenAlex par calcul sémantique ; le graphe l'appelle quand il est configuré.
- La taxonomie est présente dans le graphe de l'instance, et des services de calcul sémantique y tournent ; quel service attribue les thèmes n'est pas établi (À confirmer).
- Pas de fichier de licence ; seule une mention « MIT » figure dans les métadonnées. Son état de travail est perdu à chaque recréation du conteneur, ce qui relance tout le calcul (Confirmé).
Vocab Search : seule l'autocomplétion fonctionne
- Il suggère des termes de thésaurus pendant la saisie, dans SoVisu+ notamment.
- Seule la route d'autocomplétion existe ; la recherche complète est un fichier vide (Partiel).
- Ajouter un thésaurus impose de reconstruire le service. Sans usage pour une vitrine.
Vocabulaire d'économie (JEL) : un serveur Fuseki figé
- Le moissonneur l'interroge pour décrire les publications d'économie ; il est servi par un serveur Fuseki, sans authentification, à garder sur le réseau privé.
- Les données viennent d'une archive web de 2024, le serveur d'origine étant hors service : aucune mise à jour automatique (Confirmé).
- Sa présence sur l'instance n'est pas établie (À confirmer).
L'assistant et la recherche d'experts : le seul point à suivre
- Le traitement « quels chercheurs pour ce thème ? » répond à la question qu'une vitrine veut servir, en vingt-cinq secondes environ par thème selon ses auteurs (Déclaré).
- Il dépend d'un modèle de langage et du rattachement des chercheurs à leurs unités, aujourd'hui limité à 51 unités sur 235 (données observées).
- Non déployé : à réexaminer une fois les rattachements complétés.
Ancien déploiement Kubernetes et bibliothèque SPARQL : sans enjeu pour la décision
- svp-k8s déployait SoVisu+ chez Google, un espace par établissement. Il ignore les briques récentes et n'est plus maintenu : il ne doit pas servir de base à un hébergement à Paris-Saclay.
- aiosparql est une copie d'une bibliothèque libre (Apache 2.0), utilisée par le moissonneur pour interroger IdRef et le vocabulaire JEL. Rien à exploiter ni à décider.
Hors périmètre de décision
Dix dépôts n'entrent pas dans la décision sur la vitrine : les six d'IA, les trois d'historique et d'outillage, et CERIF-Core. Pourquoi : aucun ne tourne sur l'instance de Paris-Saclay ; aucun ne produit ni ne transforme les données qu'une vitrine affiche ; les maquettes montrent une cible, pas un état. CERIF-Core est une spécification externe : ce que CRISalid en reprend, et ce qui manque (projets, financements, dates des rattachements), fait foi dans Le modèle de données.
Une exception utile : la boîte à outils de requêtes IA (crisalid-ai-skills). Ses requêtes prédéfinies, en lecture seule, sur les personnes, les structures et les publications, sont un modèle pour écrire le service d'export de la vitrine.