Décisions

ADR 013 : Liste officielle par l'annuaire, parseur d'annuaire générique

Statut

Accepté (25/10/2026)

Contexte

  • La « liste officielle des laboratoires » de Paris-Saclay est tenue dans BiblioLabs. BiblioLabs n'est pas joignable depuis l'extérieur, mais l'annuaire public du site (/laboratoires, 248 fiches) indique que ses données en sont extraites.
  • Le RNSR (309 structures sous tutelle Paris-Saclay) et scanR (410) ne disent pas quelles structures l'établissement veut montrer.
  • Le premier parseur d'annuaire était écrit pour le gabarit de Paris-Saclay. Une autre université (Paris 1 : une page de 37 cartes) n'aurait pas pu l'utiliser.

Décision

  • Parseur générique (scripts/data/extract/directory.ts), configuré dans perimeter.directory de chaque instance :

    • mode pages : une page par structure, découvertes par le sitemap XML (index récursif, http/https, avec ou sans www) puis par la pagination ; les champs sont lus après des intitulés configurables (labels) ;
    • mode cards : une page liste, découpée sur un marqueur de carte (cardMarker) ;
    • dans les deux cas, des heuristiques communes : og:, JSON-LD, lien externe vers le site du laboratoire (réseaux sociaux exclus), numéro RNSR, lien scanR et code d'unité (UMR, UR, UAR…).
  • Liste maître configurable (perimeter.masterList) :

    • rnsr : les structures dont l'établissement est tutelle ;
    • directory : l'annuaire officiel, rapproché du RNSR et de scanR dans cet ordre : numéro RNSR ou scanR, code d'unité, nom, sigle.

    Les deux instances livrées utilisent directory.

  • Écarts publiés dans data/coverage/<instance>/qualite.md : structures du RNSR absentes de l'annuaire (retirées de la vitrine) et entrées d'annuaire sans correspondance (publiées avec leurs seules données d'annuaire).

Conséquences

  • La vitrine affiche la liste que l'établissement publie déjà ; les écarts avec le RNSR deviennent une question précise pour la Direction de la recherche.
  • Une nouvelle instance se branche sur son annuaire par configuration, sans code, tant que le site suit l'un des deux gabarits.
  • Le rattachement aux Graduate Schools n'est publié nulle part, ni dans l'annuaire ni dans BiblioLabs côté public : il reste calculé (ADR 011) en attendant l'export BiblioLabs ou une liste de la Direction de la recherche.