Briques de CRISalid

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

Les cinq briques du produit et ce qui les entoure
Chargement du schéma pédagogique...
En plein : les briques du cœur, toutes observées sur l'instance de développement. En pointillé : les référentiels d'appoint et la vitrine, qui n'existe pas encore. Le circuit détaillé des données est dans Comprendre CRISalid.

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ôtNom usuelRôle en une phraseUtile à la vitrine ?StatutLien
Cœur : le produit
crisalid-directory-bridgeL'annuaireCharge personnes, laboratoires et rattachements depuis l'annuaire de l'établissementOui : sans lui, pas de chercheurs par unitéObservé sur instance (dev)fiche
svp-harvesterLe moissonneurVa chercher les publications d'un chercheur dans les bases ouvertesOui : c'est la source des publicationsObservé sur instance (dev)fiche
crisalid-ikgLe grapheRapproche les doublons et écrit une version consolidée de chaque faitOui : l'extrait de la vitrine en sortObservé sur instance (dev)fiche
crisalid-apolloL'APIDonne aux applications un accès structuré au grapheIndirect : pas d'export, et sa clé ouvre aussi l'écritureObservé sur instance (dev)fiche
SoVisuPlusSoVisu+Espace où le chercheur consulte et corrige ses donnéesOui, pour la Partie 2Observé sur instance (dev)fiche
crisalid-deploymentL'assemblageRecette qui lance toutes les briques ensemble, avec un interrupteur par briqueIndirect : conditionne l'exploitationConfirmédépôt
Référentiels et intégration
crisalid-org-registryLe registre des organisationsListe mondiale (ROR) et française (UAI) des organisations, pour reconnaître une affiliation sous ses diverses graphiesIndirectÀ confirmerdépôt
crisalid-taxiLe classement par thèmesRange une publication dans l'un des 4 516 thèmes d'OpenAlexIndirect : base de parcours thématiquesÀ confirmerdépôt
crisalid-vocab-searchLes suggestions de mots-clésPropose des termes contrôlés pendant la saisieNonPartieldépôt
svp-jel-proxyLe vocabulaire d'économieCopie locale de la classification JEL des sciences économiquesNonÀ confirmerdépôt
aiosparqlBibliothèque SPARQLOutil de programmation du moissonneur ; pas un serviceNonConfirmédépôt
IA et expérimentation (aucune ne tourne sur l'instance)
crisalid-agentsL'assistant et la recherche d'expertsRépond à des questions sur le graphe et trouve les chercheurs d'un thèmeIndirect, plus tardConfirmédépôt
crisalid-ai-skillsLa boîte à outils de requêtes IATreize requêtes prédéfinies, en lecture seule, que l'assistant a le droit d'utiliserIndirect : modèle pour l'exportConfirmédépôt
doccanoL'outil d'annotationDes personnes indiquent si deux notices décrivent la même publicationNonConfirmédépôt
svp-training-dataLa préparation des exemplesExtrait des paires de notices à annoterNonConfirmédépôt
crisalid-ai-duplicate-record-detectionLa détection de doublons par IACarnet d'entraînement d'un modèle de langage, sans serviceNonExpérimentaldépôt
graphrag-experimentsLe premier prototype d'assistantRemplacé par l'assistant actuelNonExpérimentaldépôt
Historique et outillage
SVP-mockupsLes maquettes de SoVisu+Écrans cliquables avec des données fictives, en ligneNon : montrent une cible, pas un étatConfirmédépôt
svp-k8sL'ancien déploiement KubernetesDéploiement dans le cloud de Google, abandonnéNonPartieldépôt
maintenanceLa page d'indisponibilitéAffiche « service momentanément indisponible » pendant une interventionNonConfirmédépôt
Référence externe
CERIF-CoreLe modèle européenModèle d'euroCRIS dont CRISalid s'inspire sans l'implémenterIndirectConfirmé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.

Last modified on