Indexation RAMEAU assistée par IA : le décryptage du Labo

  • Auteur/autrice de la publication :
  • Post category:Non classé

À l’issue d’une expérimentation conduite entre octobre 2024 et janvier 2025, l’Abes a publié le rapport « Indexation  RAMEAU assistée par IA ». Retour en détail sur la façon dont fonctionne cette IA prometteuse.

Lire aussi le Billet Fil’Abes : L’indexation RAMEAU assistée par IA : retour sur une expérimentation prometteuse

Contexte : du projet Labo à l’expérimentation in vivo

En 2023, le Labo de l’Abes a mené un projet dont l’objectif était d’évaluer la faisabilité d’une indexation RAMEAU de qualité satisfaisante au moyen d’une intelligence artificielle (IA), à partir du titre et du résumé d’une monographie en français. Encore fallait-il définir ce qu’est une indexation « satisfaisante », question délicate….

Les particularités de cette tâche nous ont tout d’abord conduits à adopter plusieurs stratégies d’évaluation complémentaires :

  1. Évaluation des indexations machines avec les métriques classiques adaptées à la classification multilabel (= Sudoc comme la vérité).
  2. Évaluation des indexations machines en les comparant à plusieurs indexations humaines, et pas seulement à l’indexation humaine du Sudoc (= pluralité des vérités). Pour ce faire, nous avons demandé à 6 collègues de l’Abes (nommés les “réindexeurs”) d’indexer une centaine de documents déjà indexés dans le Sudoc, sélectionnés de manière aléatoire.
  3. Évaluation qualitative de toutes les indexations, humaines et machines, au moyen d’une grille de notation (= notation comme la vérité). Selon cette grille, noter une indexation, c’était, d’une part, noter chaque sujet retenu pour une notice donnée (on notait l’exactitude et la spécificité de chaque sujet) et, d’autre part, noter le bloc des sujets retenus pour une notice donnée (on notait la complétude et la redondance de chaque bloc).

Les évaluations menées nous ont permis de conclure que l’indexation RAMEAU par une IA est aujourd’hui réalisable en garantissant un niveau de qualité suffisant et un temps de traitement satisfaisant. Cependant, du fait de la grande difficulté à évaluer la qualité d’une indexation et de la nouveauté que présente l’assistance d’une IA, l’Abes a souhaité prolonger ce travail de recherche & développement interne sous la forme d’une expérimentation in vivo, en situation réelle, c’est-à-dire dans WinIBW, l’environnement de catalogage dans le Sudoc.

Dans le cadre de cette expérimentation, il s’agissait d’évaluer à la fois la qualité ressentie du service de suggestion d’indexations et la qualité ressentie de l’intégration de ce service dans l’outil de travail quotidien. L’évaluation de ces deux dimensions a permis de mesurer la satisfaction globale des collègues ayant participé aux tests et d’envisager les améliorations pertinentes. Le rapport final publié récemment décrit les modalités et les conclusions de cette expérimentation.

Dans ce billet, nous nous concentrerons sur la solution technique mise au point et retenue par le Labo de l’Abes pour rendre possible ce nouveau service d’indexation RAMEAU assisté par l’IA. De fait, celui-ci prend la forme d’un web service classique : la requête est une URL qui prend en paramètre le titre+résumé d’un document (outre d’autres paramètres) et renvoie des suggestions sous une forme structurée en JSON. Les détails de ce web service seront présentés plus loin, mais nous souhaitons avant tout présenter de manière simple la solution utilisée pour calculer les concepts RAMEAU à renvoyer, solution basée sur l’état de l’art récent en IA. Cette solution est implémentée dans ce notebook de démonstration.

L’indexation comme recherche des bons concepts

La tâche consiste à trouver dans le vocabulaire RAMEAU les concepts qui représentent le mieux ce dont parle un document. Pour ce faire, il faut trouver une manière de comparer le contenu du document et l’ensemble des concepts RAMEAU.

Mais comment représenter le contenu de ce document ? Et comment représenter un concept RAMEAU ? Et comment les comparer ?

Soit un document à indexer. Supposons que le contenu de ce document est correctement représenté par son titre et son résumé, quand ce dernier existe (pour faire court, on parlera ici de « titre+résumé ».). On peut imaginer d’autres manières de faire, plus ou moins pratiques, plus ou moins efficaces : exploiter tout le texte du document ; exploiter seulement son introduction et sa conclusion ; exploiter sa table des matières ; exploiter un résumé automatique. Dans l’approche retenue, c’est le “titre+résumé” qui est considéré comme le reflet du contenu du document, ce dont il parle.

Côté RAMEAU, il faut également trouver une manière de représenter le « sens » de chaque concept. Il pourrait s’agir de son libellé principal (ex : Élite (sciences sociales)), ou de la liste de tous ses libellés : « Élite (sciences sociales) », « Élites (sciences sociales) », « Establishment », « Haute société », « Notables », « Société, Haute »… Dans l’approche retenue, chaque concept RAMEAU est représenté par l’ensemble des notices bibliographiques Sudoc qui lui sont liées. Plus précisément, dans chaque notice bibliographique liée, on s’intéresse à son titre, et à son résumé s’il existe.

L’indexation sujet revient désormais à comparer deux choses qui semblent comparables :

  • D’un côté, le “titre+résumé” d’une notice bibliographique à indexer
  • De l’autre, l’ensemble des “titres+résumés” des notices bibliographiques liées à un concept RAMEAU

On comprend aisément que cette comparaison doit être faite autant de fois qu’il y a de concepts RAMEAU : ainsi, pour chaque document à indexer, il y a donc des dizaines de milliers de comparaison à effectuer, pour trouver les concepts les plus « ressemblants » au “titre+résumé” de la notice à indexer, ce qui peut prendre un certain temps…

On sait désormais ce qu’on veut comparer, mais comment les comparer ? Que signifie « ressemblant » ici ? On pourrait par exemple comparer les mots présents de chaque côté, si possible en prenant en compte la fréquence des mots dans toute la base et dans les “titres+résumés” de chaque notice bibliographique (avec TF-IDF). Mais bien souvent, le libellé d’un concept RAMEAU pertinent n’est pas explicitement présent dans le “titre+résumé” du document à indexer. Par exemple, le concept « Classes dirigeantes » semble bien convenir pour un document dont le titre (Les sommets de l’État : essai sur l’élite du pouvoir en France) ne contient pas ce terme.

L’indexation comme recherche sémantique des bons concepts

Or, dans le domaine de l’intelligence artificielle, la notion d’embedding permet justement de représenter un mot, une phrase ou un texte en prenant en compte  son « sens », et pas seulement   sa forme linguistique. Ainsi, le terme « allocution » sera calculé comme plus proche de « discours » que d' »allocation ».

Dans notre cas, il s’agit de calculer des embeddings de phrases (sentence embedding). Il existe différents modèles pour le faire, plus ou moins lourds et adaptés à tel ou tel contexte. Nous avons choisi d’en retenir plusieurs, ce qui permet de croiser ensuite les résultats, qui s’avèrent souvent complémentaires.

C’est ainsi que nous pouvons calculer l’embedding de n’importe quelle notice bibliographique (ou plutôt son “titre+résumé”). Précisons qu’en indexant, nous ne cherchons pas à comparer deux notices bibliographiques via leurs embeddings) mais à comparer un embedding de notice bibliographique à l’ensemble des embeddings des notices bibliographiques liées à un concept RAMEAU donné. Comment représenter cet ensemble d’embeddings sous la forme d’un seul ? Autrement dit, comment agréger les embeddings de plusieurs notices ?

Nous avons retenu la solution la plus simple : la moyenne. L’embedding d’un concept RAMEAU est donc la moyenne des embeddings des “titres+résumés” des notices bibliographiques qui lui sont liées. Nous aurions pu retenir d’autres méthodes d’agrégation, plus complexes, et possiblement plus pertinentes (ex : moyenne pondérée en fonction de la fréquence des mots ou d’un autre facteur).

L’indexation sujet donc revient désormais à comparer deux embeddings, exprimés sous forme numérique (des vecteurs) :

  • D’un côté, l’embedding du “titre+résumé” d’une notice bibliographique à indexer
  • De l’autre, l’embedding d’un concept RAMEAU (calculé comme nous venons de l’indiquer)

Voici un exemple (issu du notebook de démonstration)  :

text = "Les sommets de l'État : essai sur l'élite du pouvoir en France"
predict(text, 10)

027322610#Hauts_fonctionnaires
027229629#Bureaucratie
027223345#Classes_dirigeantes
027994775#Institutions_politiques
027792102#Aspect_politique
027225224#Élite_(sciences_sociales)
027365581#Pouvoir_(sciences_sociales)
02726470X#Histoire
027728110#Politique_et_gouvernement
027311163#Caractère_national_français

Ces suggestions de concepts RAMEAU ont été générées par une petite base de vecteurs RAMEAU calculée à partir de 10 000 notices Sudoc (livres), grâce au modèle d’embeddings intfloat/multilingual-e5-large.

Sur cet exemple, malgré la taille du corpus bibliographique et l’absence de résumé, on peut constater que les suggestions sont de très bonne qualité. On observe également des concepts moins pertinents, trop généraux (Histoire) ou « à côté de la plaque » (Caractère national français). Quoique…

En l’état, cette liste de concepts s’avère donc être une très bonne aide à la décision pour l’indexeur, mais encore insuffisante pour une indexation automatique, sans contrôle humain.

Dans cette base de démonstration, on ne trouve que 8 804 concepts RAMEAU, présents dans les 10 000 notices bibliographiques. Les autres concepts RAMEAU ne pouvaient donc pas être suggérés par ce modèle. Il a donc fallu élargir le corpus de notices bibliographiques à exploiter, pour espérer prendre en compte le maximum de concepts RAMEAU.

Dans notre expérimentation (fin 2025), le corpus contenait 400 000 notices de livres. On pourrait inclure des centaines de milliers de thèses pour augmenter encore la couverture de RAMEAU (et inclure des concepts pointus et peu utilisés). On entrevoit la limite de notre approche : même si on peut imaginer des artifices pour dépasser cette limite, un tout nouveau concept RAMEAU, pas encore utilisé dans une notice bibliographique, ne sera jamais proposé.

Plusieurs modèles d’embeddings, jugés par un grand modèle de langage (LLM)

Nous aurions pu décider de ne conserver que le meilleur modèle. Nos évaluations nous ont permis d’observer que les résultats des différents modèles sont souvent complémentaires : les oublis des uns peuvent être compensés par les suggestions des autres. Il est donc intéressant de conserver plusieurs modèles et d’agréger leurs suggestions.

Ainsi, outre les résultats bruts générés par les différents modèles retenus, le web service d’indexation renvoie plusieurs modes d’agrégation de ces résultats :

  • « union » : on cumule toutes les suggestions
  • « intersection » : on ne garde que les suggestions communes à tous les modèles
  • « intersection2best » : on ne garde que les suggestions communes à au moins deux modèles parmi les meilleurs modèles
  • « llm » (ou « llm_bad ») : on demande à un LLM d’identifier les suggestions qui lui semblent erronées et on les exclut de la liste renvoyée par ce mode d’agrégation
  • « llm_good » :  on demande à un LLM d’identifier les suggestions qui lui semblent adéquates
  • « llm_scores » : on demande à un LLM de donner un indice de fiabilité pour chacune des suggestions

Emballer l’IA dans un web service

L’agent (humain ou machine) qui reçoit les résultats du web service possède une grande marge de liberté. Il peut choisir de ne conserver que les résultats du meilleur modèle, ou bien de ceux de l’intersection, ou encore ceux de « llm_good », ou encore les résultats de « llm_score » qui dépassent un certain seuil de confiance (s’il a confiance en eux…). Il peut enfin inventer sa propre méthode de sélection, à partir de la réponse du web service.

Cependant, un grand choix suscite parfois de l’embarras. Le service propose des sorties prémâchées, plus simples à exploiter que la sortie brute (en JSON) :

  • Une sortie UNIMARC classique (en texte ou en HTML)
  • Une sortie UNIMARC affichant les relations hiérarchiques entre les concepts suggérés
  • Une page HTML interactive pour affiner et construire une indexation riche, par drag and drop (expérimental)

Le web service prévoit d’autres paramètres :

  • Nombre de suggestions par modèle
  • Nom du vocabulaire (aujourd’hui RAMEAU, mais demain…)
  • Identifiant du document

Terminons cette démonstration par un exemple complet :

Notice Sudoc : https://www.sudoc.fr/000308838

Titre :  Les sommets de l’État : essai sur l’élite du pouvoir en France

Résumé : Du XIXe siècle à nos jours, l’Etat « fort » à la française a connu bien des vicissitudes que l’on se propose de retracer ici. Institution prestigieuse attirant vers elle les élites de la nation issues des Grandes Ecoles, l’Etat organise les activités les plus diverses grâce à son armée de fonctionnaires fidèles à la logique de leur rôle et aux valeurs du service public. Les élites politiques et celles de l’Etat en viennent alors souvent à se confondre, d’autant que l’état demeure fermé aux intrus du monde des affaires, des professions libérales ou des milieux syndicaux. La République des fonctionnaires étend son contrôle loin dans la société à travers les entreprises publiques, ou encore par le biais du pantouflage. Cet Etat « fort » n’en rencontre pas moins la vive hostilité des élites issues des partis de masse ou des notables de province solidement attachés à leurs fiefs ; le mouvement ouvrier et, davantage encore, les milieux économiques dominants récusent aussi sa légitimité au nom de leurs valeurs propres. En dépit de ces refus, en France, l’Etat est demeuré le lieu de régulation de la vie sociale ou culturelle. De nos jours pourtant, après les diverses alternances, de nouveaux processus de circulation des élites se profilent, estompant peu à peu les frontières autrefois si nettement défendues de l’Etat.

Modèles appelés : victor3_chain, victor1_concept, victor2

Agrégations : toutes

Nombre de résultats par modèle : 6

{
  "DocumentID": "https://www.sudoc.fr/000308838",
  "PredictionByModel": {
    "victor3_chain": {
      "Result": [
        {
          "label": "Élite (sciences sociales)",
          "id": "027225224",
          "score": 0.9189762967389044
        },
        {
          "label": "Classes dirigeantes",
          "id": "027223345",
          "score": 0.9186880052734565
        },
        {
          "label": "Monarchie",
          "id": "050124277",
          "score": 0.9074089154291344
        },
        {
          "label": "Pouvoir (sciences sociales)",
          "id": "027365581",
          "score": 0.9068471643349856
        },
        {
          "label": "Hauts fonctionnaires",
          "id": "027322610",
          "score": 0.906553947770748
        },
        {
          "label": "Élite (sciences sociales)--Histoire",
          "id": "027225224--02726470X",
          "score": 0.9064290266314496
        }
      ],
      "ResponseTime": "0.41 secondes"
    },
    "victor1_concept": {
      "Result": [
        {
          "label": "Hauts fonctionnaires",
          "id": "027322610",
          "score": 0.7638581153626636
        },
        {
          "label": "État",
          "id": "027297942",
          "score": 0.7440623350425135
        },
        {
          "label": "Fédéralisme",
          "id": "027826538",
          "score": 0.737714937615626
        },
        {
          "label": "Centralisation administrative",
          "id": "027465853",
          "score": 0.7310664369558111
        },
        {
          "label": "Armée de métier",
          "id": "030768268",
          "score": 0.7291465091067392
        },
        {
          "label": "Service militaire obligatoire",
          "id": "050549928",
          "score": 0.7253427565342923
        }
      ],
      "ResponseTime": "0.09 secondes"
    },
    "victor2": {
      "Result": [
        {
          "label": "Classes dirigeantes",
          "id": "027223345",
          "score": 0.6716704033357916
        },
        {
          "label": "Hauts fonctionnaires",
          "id": "027322610",
          "score": 0.6692576043596348
        },
        {
          "label": "Élite (sciences sociales)",
          "id": "027225224",
          "score": 0.6563994626198374
        },
        {
          "label": "Pouvoir (sciences sociales)",
          "id": "027365581",
          "score": 0.6537038100972423
        },
        {
          "label": "Pouvoir exécutif",
          "id": "027836622",
          "score": 0.6521094623337023
        },
        {
          "label": "Forces armées françaises",
          "id": "028235460",
          "score": 0.6428029516927859
        }
      ],
      "ResponseTime": "0.14 secondes"
    }
  },
  "PredictionByAggregation": {
    "union": [
      {
        "label": "Centralisation administrative",
        "id": "027465853"
      },
      {
        "label": "État",
        "id": "027297942"
      },
      {
        "label": "Forces armées françaises",
        "id": "028235460"
      },
      {
        "label": "Fédéralisme",
        "id": "027826538"
      },
      {
        "label": "Service militaire obligatoire",
        "id": "050549928"
      },
      {
        "label": "Pouvoir exécutif",
        "id": "027836622"
      },
      {
        "label": "Classes dirigeantes",
        "id": "027223345"
      },
      {
        "label": "Armée de métier",
        "id": "030768268"
      },
      {
        "label": "Monarchie",
        "id": "050124277"
      },
      {
        "label": "Hauts fonctionnaires",
        "id": "027322610"
      },
      {
        "label": "Élite (sciences sociales)",
        "id": "027225224"
      },
      {
        "label": "Élite (sciences sociales)--Histoire",
        "id": "027225224--02726470X"
      },
      {
        "label": "Pouvoir (sciences sociales)",
        "id": "027365581"
      }
    ],
    "intersection": [
      {
        "label": "Hauts fonctionnaires",
        "id": "027322610"
      }
    ],
    "intersection2models": [
      {
        "label": "Hauts fonctionnaires",
        "id": "027322610"
      },
      {
        "label": "Élite (sciences sociales)",
        "id": "027225224"
      },
      {
        "label": "Pouvoir (sciences sociales)",
        "id": "027365581"
      },
      {
        "label": "Classes dirigeantes",
        "id": "027223345"
      }
    ],
    "intersection2Models1Best": [
      {
        "label": "Hauts fonctionnaires",
        "id": "027322610"
      },
      {
        "label": "Élite (sciences sociales)",
        "id": "027225224"
      },
      {
        "label": "Pouvoir (sciences sociales)",
        "id": "027365581"
      },
      {
        "label": "Classes dirigeantes",
        "id": "027223345"
      }
    ],
    "llm": [
      {
        "label": "Centralisation administrative",
        "id": "027465853"
      },
      {
        "label": "État",
        "id": "027297942"
      },
      {
        "label": "Classes dirigeantes",
        "id": "027223345"
      },
      {
        "label": "Hauts fonctionnaires",
        "id": "027322610"
      },
      {
        "label": "Élite (sciences sociales)",
        "id": "027225224"
      },
      {
        "label": "Élite (sciences sociales)--Histoire",
        "id": "027225224--02726470X"
      },
      {
        "label": "Pouvoir (sciences sociales)",
        "id": "027365581"
      }
    ],
    "llm_good": [
      {
        "label": "État",
        "id": "027297942"
      },
      {
        "label": "Classes dirigeantes",
        "id": "027223345"
      },
      {
        "label": "Hauts fonctionnaires",
        "id": "027322610"
      },
      {
        "label": "Élite (sciences sociales)",
        "id": "027225224"
      },
      {
        "label": "Pouvoir (sciences sociales)",
        "id": "027365581"
      }
    ],
    "llm_scores": [
      {
        "label": "État",
        "score": 1,
        "id": "027297942"
      },
      {
        "label": "Hauts fonctionnaires",
        "score": 0.95,
        "id": "027322610"
      },
      {
        "label": "Classes dirigeantes",
        "score": 0.9,
        "id": "027223345"
      },
      {
        "label": "Élite (sciences sociales)",
        "score": 0.9,
        "id": "027225224"
      },
      {
        "label": "Centralisation administrative",
        "score": 0.8,
        "id": "027465853"
      },
      {
        "label": "Pouvoir (sciences sociales)",
        "score": 0.8,
        "id": "027365581"
      },
      {
        "label": "Élite (sciences sociales)--Histoire",
        "score": 0.7,
        "id": "027225224--02726470X"
      },
      {
        "label": "Fédéralisme",
        "score": 0.1,
        "id": "027826538"
      },
      {
        "label": "Service militaire obligatoire",
        "score": 0.1,
        "id": "050549928"
      },
      {
        "label": "Armée de métier",
        "score": 0.1,
        "id": "030768268"
      },
      {
        "label": "Monarchie",
        "score": 0.05,
        "id": "050124277"
      }
    ]
  }
}

Continuer la lectureIndexation RAMEAU assistée par IA : le décryptage du Labo

Les identifiants des structures de recherche de l’université de Strasbourg : retour d’expérience

  • Auteur/autrice de la publication :
  • Post category:Non classé

En 2024, le service des bibliothèques de l’université de Strasbourg s’est lancé dans un chantier autour des identifiants des structures de recherche dans le référentiel ROR et par extension dans IdRef et AuréHAL.

Pourquoi ce chantier ?

Alignements de bretzels
Alignements. Photo de Israel Albornoz sur Unsplash

Depuis plusieurs années, particulièrement dans le cadre de sa politique de science ouverte,  l’université de Strasbourg porte une attention spécifique aux identifiants de la recherche : l’archive ouverte institutionnelle univOAK s’appuie notamment sur les identifiants IdRef pour ses chercheurs et ses structures. De même, l’équipe en charge des thèses travaille régulièrement à la mise à jour, toujours dans IdRef, des Ecoles doctorales de l’université.

A l’été 2023, le service des bibliothèques commence à s’intéresser aux identifiants ROR pour ses unités de recherche. Un premier inventaire réalisé à cette époque montre une couverture très parcellaire des unités de recherche strasbourgeoises dans ROR. Nous saisissons donc cette occasion pour proposer à notre direction de la recherche de mettre à jour le référentiel ROR pour les unités de recherche de l’université.

Après échanges avec la direction de la recherche, il est décidé d’attendre 2024 pour commencer les mises à jour dans ROR. En effet, le nouveau contrat quinquennal de l’université, qui a débuté en 2024,  ayant fait évoluer le paysage des unités de recherche de l’université (fusions, éclatements, changement de noms, de tutelles, etc.), il a donc semblé plus pertinent d’attendre les changements de 2024 avant de se lancer dans cet important chantier.

Et tant qu’à plonger tête la première dans nos structures de recherche, l’occasion était parfaite pour faire également un état des lieux dans IdRef et AuréHAL, référentiels sur lesquels nous gardons un œil depuis plusieurs années mais dans lesquels nous n’avions jusqu’à présent pas fait d’opération de vérification systématique.

Continuer la lectureLes identifiants des structures de recherche de l’université de Strasbourg : retour d’expérience

Synchronisation entre les SGB et le Sudoc pour les exemplaires de ressources électroniques

  • Auteur/autrice de la publication :
  • Post category:Non classé

Rappel du contexte

Dans le cadre du projet SGBm, un nouveau mode de coopération entre les établissements pilotes et l’Abes a été initié, basé sur un travail collaboratif dans l’intérêt des établissements, une coopération qui s’est prolongée jusqu’en 2020. Pour accompagner ces opérations, certains services de l’Abes ont évolué ou sont en cours d’évolution :  la  synchronisation des flux entre le Sudoc et les SGB en est un exemple.

Dans un premier temps, un circuit de synchronisation entre le Sudoc et la solution Alma proposé par la société Clarivate (ex ExLibris) a été conçu, testé puis mis en production en relation étroite avec les équipes des SCD des Universités de Bordeaux et de Toulouse, premiers établissements à intégrer ce circuit, en mai 2022 pour Bordeaux, en septembre 2022 pour Toulouse.

En 2022, la société DM Cultura et l’Université Polytechnique Hauts-de-France (UPHF) sollicitaient l’Abes afin d’adapter le circuit de synchronisation à l’environnement SGB Sebina (utilisant le résolveur de liens SFX). Fort de l’expérience de l’Abes en ce domaine et grâce à une collaboration fructueuse entre les trois parties, l’UPHF déployait son circuit de synchronisation fin 2023. 

Dès le début du projet de synchronisation, l’Abes a veillé à utiliser des outils standardisés et réutilisables par les établissements ayant d’autres fournisseurs. Cette solution, basée sur les échanges OAI-PMH et les transferts réguliers, a donc pu être appliquée avec succès au SGB Sebina. Précisons que la particularité du fournisseur Alma, qui utilise le format MARC21, a été traitée comme une spécificité, sans exclure l’usage de l’UNIMARC.

Continuer la lectureSynchronisation entre les SGB et le Sudoc pour les exemplaires de ressources électroniques

Retour sur l’incident autour de l’application ITEM

  • Auteur/autrice de la publication :
  • Post category:Non classé

Ce billet constitue un post-mortem au sujet de l’incident qui a impacté l’application ITEM – pour la création ou la modification en masse d’exemplaires dans le Sudoc –  entre le 14 mars et le 4 avril 2024.

Symptômes et impact de l’incident

Dans un premier temps, l’incident a été signalé via le guichet AbesSTP, plusieurs utilisateurs ayant constaté que leurs demandes déposées via ITEM n’étaient pas traitées intégralement : à partir d’un certain moment dans le traitement du fichier, une erreur était levée, et le reste du fichier n’était pas traité correctement.

Pour contourner ce problème, certains utilisateurs ont tenté de relancer des demandes via ITEM en ne reprenant que les lignes non traitées, mais cette solution, bien que fonctionnelle, n’était pas satisfaisante et demandait, en outre, un certain temps pour reconstituer des fichiers.

Dans la mesure où l’application ITEM « écrit » dans la base Sudoc, afin de limiter les risques de corruption des données d’exemplaires dans le Sudoc, il a donc été décidé  de fermer l’accès à l’application, le temps de diagnostiquer l’origine du problème.

Continuer la lectureRetour sur l’incident autour de l’application ITEM

Retours sur trois jours de tempête

Ce billet constitue un post-mortem d’un incident critique survenu du 4 au 7 mars 2024 . Caractérisé par des ralentissements intermittents et des déconnexions sur l’ensemble des applications de l’Abes, qui ont affecté les établissements du réseau de l’Abes, cet incident a débuté le 4 mars 2024 et a été résolu le 7 mars 2024 à midi.  La cause de l’incident était liée aux scories d’une ancienne configuration de routeur, restées actives sans que l’on en soit conscient. Le redémarrage des machines, notamment des switches, a réactivé ces paramètres, provoquant une redirection alternée de paquets vers un routeur inexistant. Cela a conduit à des « tempêtes réseau » et à des ralentissements importants. 

Symptômes et impacts de l’incident 

Suite à la maintenance effectuée par l’Abes sur son infrastructure les 2 et 3 mars 2024, des ralentissements intermittents ont été observés sur le réseau du SI, provoquant des lenteurs d’accès, voire des déconnexions, sur l’ensemble des applications de l’Abes.

Les utilisateurs ont donc rencontré des difficultés pour accéder aux services en ligne, ce qui a entraîné une perturbation majeure de l’activité. Les tentatives de redémarrage des équipements réseaux n’ayant pas permis de résoudre immédiatement le problème, la période d’indisponibilité des applications a été prolongée.

Continuer la lectureRetours sur trois jours de tempête

Refonte de theses.fr : éclairage sur les choix informatiques

  • Auteur/autrice de la publication :
  • Post category:Non classé

La nouvelle version de theses.fr a été mise en ligne jeudi 14 mars 2024. Consulter le billet Fil’Abes

Conduit selon la méthode SCRUM, le projet de refonte de theses.fr illustre parfaitement les concepts de la politique de développement de l’Abes. Il est l’aboutissement de 19 mois de travail pour l’équipe constituée d’une Product Owner, de cinq développeurs – dont un en prestation externe – et d’un devops.

Fidèle à la résolution de l’Abes qui, depuis 2019, publie les codes sources de ses applications sur Github, le projet est entièrement open source. Ses différents modules sont répartis dans plusieurs dépôts, tous hébergés dans l’organisation Github de l’Abes.

L’interface du site

Un premier dépôt contient le code de l’interface de l’application réalisée avec le framework Nuxt, surcouche au framework VueJs. VueJs a été choisi par les développeurs de l’Abes pour sa courbe d’apprentissage jugée plus rapide que pour ses concurrents React ou Angular.

La surcouche Nuxt assure une meilleure indexation du site par les moteurs de recherche du web, notamment grâce au Server Side Rendering, qui permet de préparer, côté serveur, une partie du code client qui sera exécuté dans le navigateur et ainsi le rendre immédiatement lisible par les moteurs d’indexation. De plus, Nuxt propose et préconfigure par défaut un certain nombre de fonctionnalités indispensables, comme le routage qui fournit les URLs de l’application, la gestion des erreurs ou encore la récupération des données depuis les API.

L’accès à l’interface via différents types de terminaux est également facilité par le framework VueJS : une navigation aisée sur mobile est une des nouveautés du site.

Une attention toute particulière a été portée par les développeurs sur l’accessibilité de l’interface, qui respecte les règles édictées dans le Référentiel général d’amélioration de l’accessibilité (RGAA) : polices appropriées, choix des couleurs, contraste, mise en forme de la page et utilisation de balises ARIA pour introduire la sémantique des éléments dans le code HTML.

Continuer la lectureRefonte de theses.fr : éclairage sur les choix informatiques

À la recherche des unicas de la bibliothèque Sainte-Geneviève

En janvier 2022, la bibliothèque Sainte-Geneviève a débuté un projet pluriannuel (2022-2024) de refonte de ses outils de politique documentaire, par la mise à jour du plan de développement des collections et de la charte documentaire.

Dans ce cadre, une analyse quantitative et qualitative de ses collections a été lancée, afin d’identifier et de caractériser plus finement ses pôles d’excellence et ses gisements documentaires rares et remarquables.

Ce billet retrace la méthodologie employée pour une des étapes de cette analyse qui consiste en la catégorisation thématique de l’ensemble des unicas. Pour mémoire, les unicas sont, dans le contexte du Sudoc, des notices bibliographiques sous lesquelles un seul établissement du réseau est localisé. 

L’équipe actuelle en charge de ces opérations se compose de trois personnes, dont deux catalogueuses, pour un total d’environ 30 heures de travail hebdomadaire. Ce chantier est réalisé avec l’appui de la monitrice étudiante et des magasiniers du département des Services aux publics pour les vérifications en magasin.
– Chef de projet “unica” : Emilie Trompille
– Chef de projet du plan de développement des collections : Timothée Rony
– Expertes catalogueuses : Marie Barbier, Clara Dauber
– Soutien informatique : Clément Croquet, Pauline Rivière et le service informatique de la bibliothèque.

Continuer la lectureÀ la recherche des unicas de la bibliothèque Sainte-Geneviève

Quand IdRef s’aligne sur ROR, ou comment rapprocher des référentiels 

 “Faire de la lumière, pauvres gens, c’est plus difficile que de faire de l’or.” (Paul Claudel, L’annonce faite à Marie)

Prémices de l’intérêt pour ROR Research Organization Registry

Tête de lion rugissant, Eugène Delacroix. Crédits : Photo (C) RMN-Grand Palais (musée du Louvre) / Michel Urtado.

Au printemps 2021, le service Autorités et Référentiels de l’Abes avait mené un travail de veille sur les référentiels dédiés aux structures. Contrairement aux personnes ou aux publications pour lesquelles un identifiant pérenne – respectivement ORCID et DOI – s’est progressivement imposé au plan international, les collectivités, dans le monde de la recherche, sont un secteur pour lequel plusieurs référentiels coexistent, notamment : ISNI, GRID, ROR, RingGold.

Au printemps 2023, nous avons décidé de prendre à bras le corps la question de la qualité des notices IdRef de type ‘Tb’ qui décrivent des collectivités liées à la recherche. Se posait alors alors la question du champ : que devions-nous couvrir ? Par pragmatisme, nous avons défini un premier cercle : les établissements habilités (actuellement ou dans le passé) à délivrer le doctorat. 216 notices ont ainsi été passées en revue, améliorées, et enrichies d’alignements vers le référentiel ROR.

Nous avons découvert que ROR, qui s’était jusqu’alors présenté comme un référentiel des top-level institutions, avait enrichi sa base pendant l’été 2023 avec de nombreuses structures de type laboratoires (unités mixtes de recherche) au moyen des données publiques issues du RNSR.

Cette inflexion semblait nécessaire pour poursuivre l’objectif de ROR, qui est de structurer les données d’affiliation des publications par des PID. Nous avons alors emboîté le pas, en élargissant le cercle : le début de l’année 2024 a vu l’injection de nouveaux alignements ROR dans IdRef, pour des structures, de type unités de recherche, et plus seulement pour des établissements.

Continuer la lectureQuand IdRef s’aligne sur ROR, ou comment rapprocher des référentiels 

Quand la base de données d’ITEM a disparu : retour sur l’incident de fin janvier 2024

Date de début de l’incident: 26/01/2024 à 12h20Date de fin de l’incident : 05/02/2024 à 11h04Type d’incident : Critique

Points essentiels à retenir

Précisons tout d’abord qu’une indisponibilité de la base de données d’ITEM ne concerne en rien les exemplaires créés dans le Sudoc ; ces deux processus sont distincts. Ainsi, l’absence de visualisation d’une demande dans le tableau de bord ne reflète pas un problème dans le traitement réel des opérations dans le Sudoc.

De même, il convient de distinguer les fichiers de traitement des informations relatives aux demandes. En cas d’incident sur la base de données, les fichiers de demande sont stockés sur les serveurs de l’Abes et peuvent être retrouvés à partir de leur numéro. Cependant, cela nécessite que l’utilisateur ait mémorisé ce numéro, car il n’est pas possible de retrouver une demande à partir de l’ILN et/ou du RCR. Une réflexion sera menée sur ce point.

Continuer la lectureQuand la base de données d’ITEM a disparu : retour sur l’incident de fin janvier 2024

Articuler Calames  et Wikimedia Commons : point technique

  • Auteur/autrice de la publication :
  • Post category:Non classé

Ce billet propose un point technique sur la façon d’articuler Calames et Wikimedia Commons. Consulter le billet Fil Abes à ce sujet

Récupérer les données produites dans le cadre du signalement dans Calames afin de les importer sur Wikimedia Commons, plateforme comportant des dizaines de milliers d’utilisateurs dans le monde, semble d’emblée une bonne idée. Pour ce faire, l’Abes se devait de répondre d’un point de vue technique à la question suivante : comment faciliter le liage entre les métadonnées associées aux ressources Calames et Wikimedia Commons ? 

Mise à disposition d’un plugin dédié

Le plugin Pattypan s’est vite imposé comme un choix sûr. Développé par la communauté des wikimédiens, régulièrement mis à jour et librement accessible sur GitHub, ce plugin permet de charger des fichiers en masse, ce dans un large choix de formats (jpg, png, pdf, wav, TIFF,…). De plus, il a l’avantage non négligeable de réunir métadonnées et fichiers numériques en un seul import dans Wikimedia Commons, les données étant prises en charge dans un simple tableau Excel. 

Seul inconvénient identifié, le plugin Pattypan nécessite des compétences en Java pour être exécuté sous Windows. Pour remédier à ce problème, l’Abes a donc décidé de financer une prestation de développement. Celle-ci, réalisée par Wikimédia Suède, a abouti à une version du plugin exécutable directement sous Windows, par un simple double-clic sur une icône dédiée présente sur le bureau. Cette version du plugin est librement téléchargeable sur le GitHub dédié.

Continuer la lectureArticuler Calames  et Wikimedia Commons : point technique
Aller au contenu principal