Les cinq briques du cœur

L'API (crisalid-apollo)

En bref : L'API est le guichet par lequel les applications, SoVisu+ en tête, interrogent le graphe sans y accéder directement. Elle tourne sur l'instance de développement. Elle ne convient pas telle quelle à une vitrine : une clé unique y ouvre la lecture et l'écriture, et elle ne produit aucun export.

Ce que c'est et à qui ça sert

L'API (crisalid-apollo) expose le graphe dans un langage de requête courant pour les applications web, GraphQL. Une application y demande, par exemple, « les publications de telle personne avec leurs coauteurs » et reçoit une réponse structurée.

Elle sert d'abord à SoVisu+, qui s'en sert pour afficher et tenir à jour sa copie de travail. Elle n'a ni base propre ni règle métier : elle est générée automatiquement à partir d'une description du modèle de données écrite à la main dans le dépôt, qui doit suivre les évolutions du graphe. Elle ne moissonne rien et ne rapproche rien.

Ce qui se passe dedans

Une requête à l'API
Chargement du schéma pédagogique...
L'API traduit la requête en lecture du graphe. Le même schéma généré contient aussi des opérations d'écriture, ouvertes par la même clé.

Le schéma décrit personnes, structures, identifiants, documents, notices sources, contributions, revues et concepts. Qu'un champ y soit déclaré ne prouve ni qu'il est rempli dans le graphe, ni qu'il est publiable.

Ce qu'on a observé

ConstatStatutSource
Une clé d'API unique qui ouvre aussi les écritures : le schéma généré compte 60 opérations de lecture et 60 d'écriture, sans clé limitée à la lecture. Détail réservé à l'équipe CRISalidConfirmésécurité, droits, données personnelles
Aucune règle métier ni fichier d'export : l'API répond requête par requêteConfirmécontrats API et événements
Le schéma est écrit à la main, à côté du graphe : il doit suivre ses évolutionsConfirméschéma du dépôt
Licence CeCILL 2.1 dans le fichier de licence ; les métadonnées du paquet indiquent encore une autre licence, à faire corrigerConfirméexploitation et gouvernance
Pas de documentation officielle dédiéeConfirmédépôt
Le service tourne ; son schéma n'a pas été récupéréObservé sur instance (dev)ce que montre l'instance

Pour la vitrine

  • Apporte : un accès structuré et documenté par son schéma à tout le graphe, déjà utilisé par SoVisu+ ; un service d'export pourrait s'en servir pour lire.
  • Prouvé : l'API tourne sur l'instance ; son contrat a été régénéré et contrôlé à partir du code.
  • Bloque ou reste à prouver : donner la clé à une vitrine reviendrait à lui donner le droit d'écrire dans le graphe. Il faut donc un service d'export dédié, en lecture seule, qui produit l'extrait et n'expose que les champs publiables ; les règles de filtrage (suppressions, coauteurs externes, données personnelles) y sont appliquées. Ce service n'existe pas.

Liens

Révision lue : d377579a

Last modified on