En réfléchissant un peu en boucle à un mail reçu, j’ai réalisé que, à titre personnel, j’avais pris complètement à l’envers la question de l’évolution des catalogues (comme interface publique) dans la perspective de la Transition bibliographique.
Depuis plusieurs années, je crois que la question qui nous est posée est : comment allons-nous faire évoluer nos catalogues dès lors qu’ils contiendront des données LRMisées (ou FRBRisées, si vous avez été formés à la question avant 2017) ?
C’est une très mauvaise démarche : vous partez des données pour essayer de définir l’affichage idéal, la navigation adaptée à ces données, etc.
En réalité, la bonne question est : quelles interfaces j’ai envie de construire pour mes lecteurs, que la Transition bibliographique rend possibles (ou : « …. que des données LRMisées rendent possibles ») ?
Qu’est-ce que la Transition bibliographique ?
Flûte, j’ai un peu trop tendance à poser sans cesse cette question (à quelques variantes près). Je me justifierai en disant que ce n’est pas une question d’incompréhension mais de temporalité : l’avancée des travaux, autant que leurs retards par rapport à la planification initiale, justifie une actualisation du discours.
Voici une triple proposition d’orientations :
- exposer ses données sur le web
(le RDF étant la technologie identifiée, mais non limitatrice) - implémenter le modèle LRM dans les catalogues (et, ce faisant, le code de catalogage RDA-FR est ce qui rend cette implémentation possible)
- rend poreux les catalogues de bibliothèques, et circulables les données entre catalogues et toutes autres bases de données (internes à un même établissement, et au-delà bien sûr)
le maître-mot, ici, est l’interopérabilité
Chacune de ses orientations est à la fois cause et moyen des deux autres.
Faire évoluer son catalogue de bibliothèque : pourquoi faire ?
La Transition bibliographique est censée être une réponse à des problèmes anciens, pas la source de nouveaux problèmes (bon, de fait… mais quand même, on va partir de là — et puis, pour ce que j’ai à en dire, ça fait sens).
Les catalogues de bibliothèques sont hérités des catalogues sur fiches, eux-mêmes hérités des catalogues imprimés (vraisemblablement hérités des catalogues sur volumen, mais je vais m’arrêter là). Donc quand on administre un OPAC et qu’on envisage des services dans un environnement en ligne, on se trouve limité dans les services qu’on arrive à rendre à ses lecteurs :
- critère d’identification du bon document
- sélection d’ouvrages
- recommandation (plus ou moins personnalisée)
- mauvaise gestion du bruit comme du silence
Donc il faut repartir de son catalogue actuel et de ses frustrations (surtout des frustrations !), pour envisager les évolutions souhaitées — et non partir d’un catalogue organisé en oeuvre-expression-manifestation-item pour se demander ce qu’il convient d’en faire.
En quoi la Transition bibliographique est une réponse ?
En tant que telle, la Transition bibliographique n’est pas une réponse technique directe aux problèmes qu’on peut se poser. Mais disposer prochainement d’un catalogue composé d’entités et de relations entre elles devrait être la condition des réponses possibles.
- Tout est modulable : les données permettent potentiellement d’obtenir une liste d’ouvrages à partir du pays ou de la date de naissance de l’auteur, ou la liste des pays ou dates de naissance d’auteurs à partir d’une thématique précise.
- Les enrichissements venant du monde extérieur sont facilités : l’adoption d’identifiants universels, ou le partage d’identifiants, leur transmission entre univers distincts et leurs alignements (monde de l’édition, lecture publique, ESR, producteurs de streaming, etc.), l’articulation avec des ressources complémentaires en ligne, tout un tas de choses du même genre est facilité
Plus largement, en théorie, toute information présente dans la base peut servir de point d’entrée à quelqu’un qui y lance une recherche, et peut lui permettre d’extraire une série d’informations dans le format qui lui convient le mieux.
La Transition bibliographique ne doit pas devenir le problème
Concevoir une interface signifie faire des choix : déterminer le parcours utilisateur, les services qu’on souhaite lui proposer. J’ose espérer que si une bibliothèque n’achète pas tout ce qui sort en librairie, ce n’est pas seulement pour des raisons de moyens. La bibliothèque se destine à un territoire, à un public, elle construit son offre de services.
De même, une interface n’est pas là pour rendre compte de la modularité absolue (en théorie) des données que stocke la base de données : elle se détermine en fonction de ses utilisateurs et des services qu’on souhaite leur rendre.
Donc dans la réflexion à mener sur l’évolution (encore largement à venir, et — surtout — jamais terminée) des interfaces des catalogues, il faut plutôt re-débrider son imagination sur ce qu’on aimerait, à travers un catalogue (mais est-ce encore un catalogue ? ou des modalités d’accès aux services culturels d’une bibliothèque et à ses collections). Et voir si la trajectoire de la Transition bibliographique permet de mieux y répondre.
Tout cela n’est peut-être pas une révélation pour vous ?
Et bien je vous en félicite !
Pour ma part, j’ai le sentiment de m’être demandé ces dernières années : « Alors, comment on pourrait afficher les œuvres, les expressions et les manifestations au sein d’une même interface, avec une navigation fluide et qui rende service au lecteur ? ».
Alors qu’en fait il n’y a pas lieu de lui afficher (de lui infliger ?) les œuvres, les expressions et les manifestations, mais de lui afficher les informations qui lui sont utiles pour une navigation la plus efficace et agréable possible. Et, pour cela, de bénéficier d’une structuration souple, et facilement enrichissable, des données qu’on interroge.
Pour moi, je vais essayer de faire en sorte que ça change les choses, au moins dans mon esprit. En effet je réalise (un peu tardivement !) que dans mes expérimentations autour de 340 notices Unimarc d’entités LRM, la question que je me posais était systématiquement celle du dessus.
Voyons si la prise de conscience (ou ce que je prends pour telle) décrite dans le présent billet me permet d’obtenir des orientations différentes ?
Découvrir RDA-FR avec ChatPDF
Très égoïstement : tandis que d’autres explorent les potentialités de ChatGPT pour construire de nouveaux services aux usagers, j’essaie de voir comment il va me simplifier la vie. A moi, dans mon petit quotidien de tous les jours, composé de réunions, de lectures et d’écritures (de code, de comptes-rendus, de notes, etc.).
Humble retour d’expérience, venant tout juste de faire la découverte de cet outil, ChatPDF, grâce à ce tweet.
ChatPDF est un outil en ligne qui fonctionne comme ChatGPT, sans authentification nécessaire, et avec un modèle économique en mode freemium : gratuit si le PDF fait moins de 200 pages. Il y a également une limite de 3 PDF par jour.
La procédure est simple : on charge le PDF, petit texte renvoie la thématique du document et suggère déjà quelques questions — et ensuite vous explorer le contenu comme vous le voulez.

Notez qu’au lieu de charger un PDF, il est possible de mentionner son URL, par exemple celui du chapitre 9 sur les personnes et identités publiques de personnes, qui a été soumis à enquête en ce début d’année 2023.
C’est ce que j’ai fait, et voici le fruit de l’échange :
Chat with RDA-FR-chapitre-9-enquete2022.pdf
Qu’est-ce que la transition bibliographique et comment est-elle liée à la section 3 de la transposition française de RDA ?
Qui sont les membres du groupe de travail « Noms de personne et de famille » et quel est leur rôle dans la transposition française de RDA ?
Comment la section 3 de la transposition française de RDA peut-elle aider les bibliothèques et les centres de documentation à mieux identifier et décrire les personnes, les familles et les collectivités dans leurs collections ?
Comment sont définies les personnes et les identités publiques, et quelle est la différence entre les deux ?
La page 5 de la transposition française de RDA explique que chaque personne a au moins une identité publique, et qu’aucune identité publique ne peut exister sans être associée à une personne ou à un agent. Les identités publiques peuvent être multiples ou uniques, et sont clairement désignées en tant que telles. Les attributs relatifs à la personne et ceux relatifs à l’identité publique sont clairement distingués. En d’autres termes, une personne est une entité individuelle, tandis qu’une identité publique est une représentation publique de cette personne qui peut inclure des informations telles que son nom, son adresse, son numéro d’identification, etc.
Quels sont les principaux attributs d’une personne ?
La page 58 de la transposition française de RDA explique que les attributs d’une personne peuvent être exprimés sous forme d’une relation vers un référentiel. Certains de ces attributs peuvent également être fictifs, notamment les lieux et les langues. Cependant, la transposition française de RDA ne fournit pas une liste exhaustive des attributs d’une personne. Les attributs peuvent varier en fonction du contexte et des besoins spécifiques de chaque situation.
Quels sont les principaux attributs d’une identité publique ?
La transposition française de RDA ne fournit pas une liste exhaustive des attributs d’une identité publique. Cependant, la page 5 explique que les attributs relatifs à la personne et ceux relatifs à l’identité publique sont clairement distingués. Les identités publiques peuvent inclure des informations telles que le nom, l’adresse, le numéro d’identification, etc. La page 58 ajoute que ces attributs peuvent être exprimés sous forme d’une relation vers un référentiel et que certains de ces attributs peuvent également être fictifs, notamment les lieux et les langues. Les attributs d’une identité publique peuvent varier en fonction du contexte et des besoins spécifiques de chaque situation.
Comment décrire un pseudonyme collectif ?
La transposition française de RDA explique que pour décrire un pseudonyme collectif, il faut utiliser l’attribut « Catégorie » et choisir « Pseudonyme collectif » dans la liste des natures de nom. Un pseudonyme collectif est un nom de personne choisi par un groupe de personnes dans le but de dissimuler au public leur existence à titre individuel ou leurs noms réels respectifs. La page 14 fournit également des exemples de pseudonymes collectifs, tels que « Pierre Schumann Audrycourt » et « Irene Adler ».
L’attribut « catégorie » est un attribut de personne, ou un attribut d’identité publique de personne ?
L’attribut « Catégorie » est un attribut d’identité publique de personne. La page 5 de la transposition française de RDA explique que les attributs relatifs à la personne et ceux relatifs à l’identité publique sont clairement distingués. L’attribut « Catégorie » est utilisé pour préciser la nature du nom sur lequel est fondée l’identité publique, et doit être choisi parmi les options suivantes : Nom réel, Pseudonyme ou Pseudonyme collectif.
Comment traiter les personnes fictives ?
La transposition française de RDA fournit des instructions pour traiter les personnes fictives. La page 58 explique que les personnes fictives peuvent être décrites en utilisant les mêmes éléments que pour les personnes réelles, mais en précisant leur nature fictive. Les attributs tels que le nom, la date de naissance, le lieu de naissance, la nationalité, etc., peuvent être utilisés pour décrire une personne fictive. Cependant, il est important de préciser qu’il s’agit d’une personne fictive et de fournir des informations sur l’œuvre ou le contexte dans lequel elle apparaît. La page 59 ajoute que les personnages fictifs peuvent également être décrits en tant qu’entités distinctes avec leurs propres attributs et relations.
Pour le nom d’une personne, dois-je plutôt écrire : « XIV, Louis », ou « Louis XIV »
La page 28 du fichier PDF fournit des exemples de noms de personnes, y compris les noms de souverains. Selon ces exemples, le nom « Louis XIV » est correctement écrit dans l’ordre courant du prénom suivi du nom de famille. Par conséquent, il est préférable d’écrire « Louis XIV » plutôt que « XIV, Louis ».
La compréhension globale du document est faussée par les pages liminaires du chapitre, qui se calent sur l’ensemble du code en mentionnant la section dont le chapitre fait partie (les agents) alors que le texte analysé ne porte ensuite que sur les personnes.
Par ailleurs, étant donné le contenu qui est analysé (uniquement le chapitre chargé), l’outil sera incapable par exemple de pointer les différences avec les règles antérieures puisque celles-ci ne sont pas précisées.
Néanmoins ça fait un outil peut plus interactif et — j’ose le mot — ludique pour découvrir les chapitres de RDA-FR. Car quand nous annonçons un nouveau chapitre, avec une enquête transmise à la communauté des collègues, tous potentiels relecteurs, l’idée d’ouvrir un code de catalogage, comme ça, au débotté, peut paraître intimidant, ou vain.
Alors pourquoi ne pas tester cet outil sur un autre chapitre, et lui poser toutes sortes de questions ? Ça tombe bien, il y a une autre enquête en cours, sur le chapitre concernant les lieux. Sinon, vous pouvez aussi découvrir le chapitre 4 (Acquisition et accès à la manifestation) pour voir de cette manière plus exploratoire ce qui peut bien se trouver dedans !
Re-précision : je viens tout juste de découvrir l’outil, je ne mesure pas du tout sa capacité à rester fidèle au contenu et à ne pas générer d’erreur ou de fausse interprétation. En revanche si vous envisagez d’évaluer l’outil lui-même (en plus des chapitres RDA-FR), ça m’intéresse !
Addendum
Dans la foulée, j’ai découvert et testé Ask your PDF, qui se positionne sur les mêmes fonctionnalités. Mais apparemment il n’a pas bien compris le contenu du chapitre 16 sur les lieux.

Cf. les 2 billets précédents :
- 340 notices en Unimarc LRM. 1 : Intentions et méthodologie
- 340 notices en Unimarc LRM. 2 : Les oeuvres
Le jeu de données est présenté dans ses deux billets, mais surtout sur Zenodo, à travers la « communauté » créée par le groupe Systèmes et Données de la Transition bibliographique (çàd regroupement de publications/jeu de donneées/docs divers ayant le même centre d’intérêts) :
- Jeu de notices en UNIMARC conforme au modèle IFLA LRM – documentation
- contenant notamment la liste des référentiels utilisés
- Liste des zones UNM/A dans les notices d’oeuvre et d’expression
Mais quoi qu’il en soit, il est très difficile de comprendre ce qu’il y a dans ce jeu de données et de le manipuler, de se l’approprier. Les graphes sont un certain mode d’approche, mais au-delà d’un effet de curiosité, je ne suis pas sûr que nos cerveaux y soient suffisamment habitués (sur d’autres contextes) pour que ça fasse vraiment sens.
La vraie manière dont nous nous approprions habituellement un ensemble de notices, c’est sous forme de liste de résultats + notices détaillées.
C’était précisément l’objectif de cette série de billet (ce 3e billet n’en est pas pour autant le dernier) : arriver à reproduire des pages de résultats et affichages détaillés appliqués à ce jeu de données en Unimarc entités (il a été suggéré en journée de groupes Transition bibliographique d’éviter l’appellation « Unimarc LRM » — je ne rentre pas dans les détails ici).
J’aurais beaucoup de choses à vous en dire, mais je me rends compte de vouloir toutes les énoncer en amont retarde la publication de ce billet, et la diffusion de ces listes de résultats. J’ai vite pris conscience qu’il fallait prendre certaines décisions (donc renoncer à des possibilités) pour commencer à construire une navigation. C’est collectivement qu’il faudrait reprendre toutes ces décisions, en réalité.
Vous avez deux modalités pour constater l’avancement de mes expérimentations
Notebook Affichage des résultats
Le notebook génère et emmagasine les notices, puis lorsque vous faites une recherche par mots, il va créer des pages HTML de résultats correspondants, permettant en parallèle de naviguer soit par oeuvres, soit par expressions.

Si vous vous contentez de l’afficher dans Github, vous serez certainement déçu, car le code ne s’exécute pas en ligne : il faut pour cela télécharger le notebook et être en mesure de l’exécuter sur son poste — en ayant installé préalablement Python, Jupyter et les librairies nécessaires : elles sont toutes standard et installées en même temps de que Python, sauf peut-être Graphviz, Unidecode et (certainement) SRUextraction. Il faut aussi télécharger les scripts Python liés au Notebook dont le code s’exécute de manière masquée, pour permettre au notebook de contenir très peu de code : ce sont tous les fichiers .py du dossier UnimarcLRM sur Github.
Liste des résultats
Mais vous pouvez aussi récupérer directement l’ensemble des pages de résultats, correspondant à une liste de tout le jeu de données : sur Zenodo
Récupérer les pages de résultats HTML
Une fois le ZIP téléchargé et décompressé, vous pouvez ouvrir par exemple le fichier form.html avec le navigateur, « mimer » une recherche, et obtenir une page de résultats (mais quelle que soit la recherche, ce sera toujours la même liste de résultats, avec toutes les oeuvres, ou toutes les expressions).

À suivre
Comme je le disais, j’ai plein d’autres choses à expliquer, signaler, commenter.
Mais pour l’instant, déjà, je publie le jeu de données et le Notebook (les deux sont très susceptibles d’évoluer dans les semaines à venir) et je vous laisse éventuellement les découvrir par vous-mêmes.
Notice détaillée d’expression

Bloc d’infos professionnelles en bas de notice détaillée d’oeuvre

Alors, c’est très moche, je n’ai aucun bon goût ni don pour le graphisme, mais l’ensemble de la navigation est presque interactive.
Le département des Métadonnées recrute !
On recherche un ou une chef-fe d’équipe Analyse et traitement des données, adjoint-e de la cheffe de service (de 20 personnes)
C’est une équipe formidable de 10 personnes, conservateurs ou catalogueurs, qui porte le projet data.bnf.fr et la qualité des données du catalogue (avec des enjeux particuliers sur le projet de réinformatisation de la BnF, qui vise à mettre en oeuvre à échéance de 2 ans, un catalogage par entités LRM en appliquant RDA-FR). Les enjeux contiennent beaucoup d’innovation, de conduite du changement, de défis d’avenir passionnant.
Le service s’appelle « Ingénierie des métadonnées », l’équipe s’appelle « Analyse et traitement des données » — et rien que ces noms, je les trouve merveilleux !
Et l’encadrement est formidable aussi (et je ne dis pas ça parce que j’en fais partie : au contraire, ça me permet d’être d’autant mieux renseigné !).
Ah oui, sinon, d’autres bibliothèques recrutent aussi :

Après 6 mois à bloquer sur des problèmes techniques pour livrer une nouvelle version de Bibliostratus, j’ai enfin pu y arriver, et vous livrer une version 1.35.
Voici les mises à jour concernées : ils concernent tous le module blanc Alignements bibliographiques.
Télécharger Bibliostratus 1.35
Amélioration de la recherche par titre-auteur-date
Suite à une erreur dans le code, le nom de l’auteur était jusque là dans une forme non nettoyée (normalisation sur les espaces, les accents, etc.), ce qui peut empêcher certains alignements.
Les alignements sur les recherches par mot y seront donc plus nombreux.
Contrôle de date sur un alignement par ISBN
En plus du contrôle sur le titre, l’alignement est aussi contrôlé sur la date de publication (à 1 an près).
En effet il est arrivé que certains (rares) éditeurs réutilisent le même ISBN pour des rééditions du même documents plusieurs années ou dizaines d’années plus tard.
Contrôle sur le nom de l’éditeur
Depuis plusieurs années, le format en entrée de Bibliostratus imposait une colonne « Editeur » pour les monographies imprimées, sans que j’ose vraiment l’utiliser : en effet la manière de saisir l’éditeur peut être très variable d’une base à l’autre, avec des règles de saisie, des abréviations, des non-mentions, etc. très différentes.
Il semblait donc risqué de mettre en place un contrôle sur les données trouvées, par rapport aux données entrantes : on risquait de générer de nombreux faux négatif (aucun alignement trouvé, parce que « C.-Lévy » ne correspond pas à « Calmann-Lévy », ni « GF » à « Garnier Flammarion »).
Est proposé désormais un paramétrage laissé à la main de l’utilisateur, dans les préférences, permettant de mettre un contrôle de 0 (pas de contrôle) à 3 (contrôle strict)
Le contrôle sur l’éditeur ne se fait qu’à partir du moment où il y a une proposition d’alignement (faite sur une recherche par ISBN, EAN, Titre-Auteur-Date)
- 0 : pas de contrôle, les données en entrée dans la colonne Editeur ne sont pas comparées avec celles trouvée dans la notice alignée
- 1 : la valeur de l’éditeur en entrée est présente dans la notice trouvée — ou l’inverse
- Si le fichier en entrée contient « Flammarion » et la notice Sudoc/BnF contient : « Garnier Flammarion », le contrôle validera l’alignement
- Si le fichier contient « G.Flammarion », la chaîne de caractère (nettoyée) « g flammarion » n’est pas présente dans « garnier flammarion », donc l’alignement sera rejeté
- Si le fichier en entrée a une colonne vide, et que la notice Sudoc/BnF contient « Garnier Flammarion », l’alignement se fait
l’absence de valeur dans une des deux notices comparées entraîne l’absence de contrôle
- 2 : même contrôle qu’en 1. La seule différence est que s’il y a une valeur vide, ça n’annule pas la comparaison : il faut dans ce cas que pour les 2 notices aucun éditeur ne soit mentionné
- 3 : l’alignement n’est validé que s’il y a une valeur strictement équivalente de part et d’autre
- En cas de proposition d’alignement, si le fichier en entrée contient « Flammarion », l’alignement ne sera valide que si la notice trouvée contient aussi « Flammarion », mais ni « Garnier-Flammarion » ni « GF »
- si la colonne est vide d’un côté, il faut que la valeur le soit aussi dans la notice trouvée
J’ai rédigé un notebook qui donne plusieurs exemples (avec valeurs d’éditeur trouvées) où un alignement se fait avec la valeur 0, mais pas avec la valeur 1 — ou avec la valeur 1, mais pas avec la valeur 2, etc. Avec plein d’exemples sur :
- Editions du Seuil <->Seuil
- British Library <-> The British Library
- Librarie Académique Perrin et Cie <-> Perrin
- Ernest Flammarion <-> E. Flammarion
Sachant qu’il y a plein d’autres cas aussi où, naturellement, le contrôle sur l’éditeur permet de lever des erreurs.
En tout cas vous aurez désormais pour faire vous-même votre choix, y compris en comparant les résultats avec les différents niveaux, selon votre corpus, vos règles de catalogage, la période des documents à aligner, etc.
340 notices en Unimarc LRM. 2 : Les oeuvres
Après un premier billet, je continue mon exploration du corpus en prenant le temps de regarder les oeuvres.
Je rappelle que cette exploration se fait via un Notebook Jupyter, qui manipule les informations.
Le script ouvre chacun des 4 fichiers (items / manifestations / oeuvres et expressions / autres entités) et pour chaque notice crée un objet qui reprend à la fois le contenu de la notice, et va récupérer l’ensemble des liens. Toute la partie 1. Construction des données importe les fichiers et crée pour chaque notice XML :
- un mode « Notice abrégé »
- une vue « textuelle » (en grille de catalogage)
- la liste des lien vers les autres entités de l’arbre OEMI (y compris : de l’oeuvre vers les items, des items vers les expressions, etc.) uniquement (pour le moment) selon les relations de base (en laissant de côté les adaptations, etc.)
- liens aux oeuvres : propriété .toOeuvres
- liens aux expressions : propriété .toExpressions
- liens aux manifestations : propriété .toManifs
- liens aux items : propriété .toItems
C’est une mise à jour du billet précédent : on a bien des liens à tous les niveaux, des raccourcis d’oeuvre à manifestations ou d’item à expressions
- les liens aux mentions de responsabilités
- la liste des mots à indexer si on voulait faire une recherche plein texte sur la notice (et les métadonnées des entités liées) : les propriétés .self_index, .linked_entities_index, .resp_index, .linked_resp_index, .global_index prévoient ainsi plusieurs cercles de recherche (sur la notice, ses mentions de responsabilité, les netités liées, l’ensemble de tout ça) pour tester plusieurs cas de figures et comportements
Pour n’importe quelle notice, appelable par son numéro, on peut ainsi saisir la commande
print(dict_entities["numéro de notice"]
)
et voir ce qu’elle contient.
Voyons ce que ça donne pour les oeuvres.
Les oeuvres
Il y a un fichier oeuvres_expressions contenant 103 notices Unimarc(A). Le script les distingue entre les 2 types d’entités, et nous apprend (partie 2 du notebook) qu’il y a 50 oeuvres (donc 53 expressions).
J’ai fait une table des matières, mais les liens internes ne fonctionnement apparemment pas sur Github (alors qu’ils fonctionnenent en local) pour les notebook
Le notebook contient la liste des titres des oeuvres, avec le nombre d’expressions, manifestations et items liés.

Ce même tableau est fourni au format Excel.
Pour une oeuvre précise
J’ai retenu dans la liste ci-dessus l’oeuvre la plus rééditée : il s’agit du Dracula de Bram Stoker, pour lequel le notebook affiche 3 niveaux d’informations :
- les métadonnées de base
- les expressions et items rattachés
- les adaptations
Bram Stoker, Dracula
Stoker, Bram (1847-1912) Date de première publication : 1897. Date d’écriture : 08/03/1890 id : UMLRM0004 type initial : oe ; type : o label : Stoker, Bram (1847-1912), Dracula Notice : 000 05455cx a2200637 4500 001 UMLRM0004 005 20220905######.D 033 $a http://ark.bnf.fr/ark:/12148/cb12312986p $2 BnF 033 $a http://viaf.org/viaf/194144783017853134071 $2 Viaf 033 $a https://www.wikidata.org/wiki/Q41542 $2 Wikidata 033 $a https://data.bnf.fr/ark:/12148/cb12312986p $2 data.bnf.fr 035 $a 03202066X $2 SUDOC 100 $a 20220825afrey50 ba0 101 0 $a eng 102 $a GB 104 $a d1897 125 0 $a m 140 $a te $b rofan $2 BnF-GenreLitt 140 $a te $b roepi $2 BnF-GenreLitt 145 0 $a i 152 $a RDA-FR 154 $a xa 241 1 $3 FRBNF11925586 $o ISNI 0000 0001 2122 2356 $a Stoker, Bram (1847-1912) $t Dracula $7 ba0yba0y $8 freeng 378 $a Le Dracula de Bram Stoker est une application très réussie du roman épistolaire au genre fantastique. Tout commence avec le journal de Jonathan Harker, jeune clerc de notaire envoyé en Transylvanie alors qu’il est sur le point d’épouser sa fiancée, Mina Murray. Jonathan Harker a pour mission de rencontrer le comte Dracula, lequel vient de se porter acquéreur d’une propriété dans les environs de Londres. Une fois entre les murs sinistres et inquiétants du château du comte, Jonathan Harker se rend très vite à l’évidence: si Dracula le laisse aller presque à sa guise dans le château, il n’en demeure pas moins prisonnier de l’antique demeure et de son maître de maison. Et tandis que Jonathan se retrouve confronté non seulement à lui-même et à ses convictions, mais aussi à des créatures plus diaboliques qu’humaines, le comte prépare son départ vers Londres… $b Vampirisme.com $z fre 501 1 $3 FRBNF11925586 $7 ba0yba0y $8 freeng $o ISNI 0000 0001 2122 2356 $a Stoker $b Bram $f 1847-1912 $4 070 531 $5 xxr $p Oeuvre étudiée dans $3 UMLRM0081 $7 ba0yba0y $8 freeng $a "Dracula" : l'oeuvre de Bram Stoker et le film de Francis F. Coppola 531 $5 xxf $p A pour illustration $3 UMLRM0152 $7 ba0yba0y $8 frefre $a [Photographies extraites du film "Dracula" de Tod Browning] $k Tallandier $d 1932 531 $5 xxm $3 UMLRM0154 $7 ba0yba0y $8 fre### $a Dracula $c film $d 1931 531 $5 xxm $3 UMLRM0007 $7 ba0yba0y $8 freger $a Nosferatu, Phantom der Nacht $c film 531 $5 xxm $3 UMLRM0135 $7 ba0yba0y $8 freeng $a Dracula, pages from a virgin's diary $c film 531 $5 xxm $3 UMLRM0090 $7 ba0yba0y $8 freeng $a Nosferatu, the wrath of Malachi $c jeu vidéo 531 $5 xxm $3 UMLRM0105 $7 ba0yba0y $8 freeng $a Dracula has risen from the grave $c film 531 $5 xxm $3 UMLRM0180 $7 ba0yba0y $8 freeng $a Dracula $c film ; série 531 $5 xxc $p A pour adaptation dans un autre mode de création de [œuvre] $3 UMLRM0001 $7 ba0yba0y $8 freger $a Nosferatu, eine Symphonie des Grauens $c film 531 $5 xxc $p A pour adaptation dans un autre mode de création de [œuvre] $3 UMLRM0078 $7 ba0yba0y $8 freeng $a Bram Stoker's Dracula $c film 531 $5 xxc $p A pour adaptation dans un autre mode de création de [œuvre] $3 UMLRM0191 $7 ba0yba0y $8 freeng $a Dracula $c émission radiophonique $d 1938 531 $5 xxc $p A pour parodie $3 UMLRM0120 $7 ba0yba0y $8 freeng $a Dracula, dead and loving it $c film 531 $5 xxr $p Oeuvre étudiée dans $3 UMLRM0081 $7 ba0yba0y $8 freeng $a "Dracula" : l'oeuvre de Bram Stoker et le film de Francis F. Coppola 541 1 $5 xxk $p A pour œuvre préparatoire $3 UMLRM0126 $7 ba0yba0y $8 freeng $a Stoker, Bram (1847-1912) $t Manuscrits $c Choix $k Eighteen-Bisang ; Miller 541 1 $5 xxm $3 UMLRM0099 $7 ba0yba0y $8 frefre $a Druillet, Philippe (1944-....) $t Nosferatu 541 1 $5 xxr $p A pour sélection [oeuvre] $3 UMLRM0037 $7 ba0yba0y $8 fre### $a Stoker, Bram (1847-1912) $t Dracula $c Choix $k Cassou-Noguès ; Langenhagen $7 ba0yba0y $8 freeng 541 1 $5 xxc $p A pour adaptation pour la jeunesse dans le même mode création [œuvre] $3 UMLRM0034 $7 ba0yba0y $8 freeng $a Humphries, Tudor (1953-….) $t Dracula 541 1 $5 xxi $p A pour antépisode $3 UMLRM0075 $7 ba0yba0y $8 freeng $a Stoker, Bram (1847-1912) $t Dracula's guest 541 1 $5 xxh $p A pour suite $3 UMLRM0114 $7 ba0yba0y $8 freeng $a Stoker, Dacre $3 FRBNF16166639 $o ISNI 0000 0001 0923 8478 $a Holt, Ian (1964-….) $t Dracula, the un-dead 608 $3 FRBNF17863011 $a Roman fantastique $2 rameauGenre 608 $3 FRBNF11949798 $a Roman épistolaire $2 rameauGenre 640 6 $0 Date de première publication $f #1897##### 640 5 $0 Date d’écriture $f #18900308# $i #18970526# 676 $a 823 $v 23 801 0 $a FR $b FR-751052119 $c 20220905 810 $a Dictionnaire historique, thématique et technique des littératures : littératures française et étrangères, anciennes et modernes / sous la direction de. Jacques Demougin. – Paris : Larousse, 1985-1986. – [Texte noté : sans médiation]. Sous : Stoker, Abraham, dit Bram 810 $a The Oxford companion to English literature. – Fifth ed. / edited by Margaret Drabble. – Oxford : Oxford university press, 1985. – ISBN 0-19-866130-4. Sous : Dracula et sous : Stoker, Bram (Abraham) 810 $a Wikidata : https://www.wikidata.org/wiki/Q41542. (2022-09-13) $b Date de création : 8 mars 1890 - 26 mai 1897 810 $a Dracula / Bram Stoker ; traduit de l'anglais par Lucienne Molitor ; introduction de Tony Faivre. – Verviers : Gérard et Cie, 1963. – [Texte noté : sans médiation] 810 $a Vampirisme.com : https://www.vampirisme.com/livre/dracula-de-bram-stoker/ (2022-09-18) $b Résumé 810 $a Data.bnf.fr - https://data.bnf.fr/12312986/bram_stoker_dracula/ Indexation : http ark bnf fr ark 12148 cb12312986p$?http viaf org viaf 194144783017853134071$?https www wikidata org wiki q41542$?https data bnf fr ark 12148 cb12312986p le dracula de bram stoker est une application tres reussie du roman epistolaire au genre fantastique tout commence avec le journal de jonathan harker jeune clerc de notaire envoye en transylvanie alors qu'il est sur le point d'epouser sa fiancee mina murray jonathan harker pour mission de rencontrer le comte dracula lequel vient de se porter acquereur d'une propriete dans les environs de londres une fois entre les murs sinistres et inquietants du chateau du comte jonathan harker se rend tres vite l'evidence si dracula le laisse aller presque sa guise dans le chateau il n'en demeure pas moins prisonnier de l'antique demeure et de son maitre de maison et tandis que jonathan se retrouve confronte non seulement lui meme et ses convictions mais aussi des creatures plus diaboliques qu'humaines le comte prepare son depart vers londres... stoker bram Liens aux autres entités : Vers expressions : defaultdict(, {'UMLRM0005': 'Stoker, Bram (1847-1912), Dracula', 'UMLRM0020': 'Stoker, Bram (1847-1912), Dracula', 'UMLRM0041': 'Stoker, Bram (1847-1912), Dracula', 'UMLRM0050': 'Stoker, Bram (1847-1912), Dracula', 'UMLRM0053': 'Stoker, Bram (1847-1912), Dracula', 'UMLRM0056': 'Stoker, Bram (1847-1912), Dracula', 'UMLRM0059': 'Stoker, Bram (1847-1912), Dracula', 'UMLRM0065': 'Stoker, Bram (1847-1912), Dracula', 'UMLRM0068': 'Stoker, Bram (1847-1912), Dracula', 'UMLRM0187': 'Stoker, Bram (1847-1912), Dracula'}) Vers manifestations : defaultdict(, {'UMLRM0006': 'Dracula, Bram Stoker, Pan books - Imprimerie Firmin-Didot, 1992', 'UMLRM0018': 'Dracula, by Bram Stoker, W. Rider and son, 1992', 'UMLRM0021': "Dracula, Bram Stoker, J'ai lu - mprimerie Brodard et Taupin, 2005", 'UMLRM0024': 'Dracula, Bram Stoker, Gérard et Cie, 1963', 'UMLRM0027': "Dracula, Bram Stoker, Éd. J'ai lu - mprimerie Brodard et Taupin, 1992", 'UMLRM0030': 'Dracula, Bram Stoker, Hachette - Imprimerie Brodard et Taupin, 1988', 'UMLRM0042': "Dracula, Bram Stoker, J'ai lu, 2012", 'UMLRM0045': 'Dracula, Bram Stoker, Le camion blanc - Imprimerie Acort Europe, 2010', 'UMLRM0051': 'Dracula, Bram Stoker, Pointdeux, DL 2013', 'UMLRM0054': 'Dracula, Bram Stoker, le Livre de poche jeunesse, DL 2015', 'UMLRM0057': 'Dracula, Brahm Stoker, l’Édition française illustrée, 1920', 'UMLRM0060': 'Dracula, Brahm Stoker, Éditions J. Tallandier, 1932', 'UMLRM0063': 'Dracula, Bram Stoker, les Éditions des Quatre-vents, 1946', 'UMLRM0066': 'Drácula, Bram Stoker, Maxtor, DL 2017', 'UMLRM0069': "Dracula\u200e, Bram Stoker\u200e, l'École des loisirs\u200e - Imprimerie CPI Firmin-Didot, DL 2019", 'UMLRM0077': "Dracula - suivi de L'invité de Dracula, Bram Stoker, Pocket, 2011", 'UMLRM0110': 'Dracula, Bram Stoker, Éditions Opta, 1968', 'UMLRM0178': 'Dracula, Bram Stoker, Hachette - Imprimerie CPI Bussière, 2011', 'UMLRM0179': 'Dracula, Bram Stoker, Hatier, DL 2013', 'UMLRM0188': 'Dracula, Bram Stoker, Livraphone, [DL 2009]'}) Vers items : defaultdict(, {'UMLRM1001': 'BM_CELESTEVILLE > ADULTES > COTE_UMLRM1001', 'UMLRM1005': 'BM_CELESTEVILLE > ADULTES > COTE_UMLRM1005', 'UMLRM1006': 'BM_CELESTEVILLE > ADULTES > COTE_UMLRM1006', 'UMLRM1007': 'BM_CELESTEVILLE > ADULTES > COTE_UMLRM1007', 'UMLRM1008': 'BM_CELESTEVILLE > ADULTES > COTE_UMLRM1008', 'UMLRM1009': 'BM_CELESTEVILLE > JEUNESSE > COTE_UMLRM1009', 'UMLRM1013': 'BM_CELESTEVILLE > ADULTES > COTE_UMLRM1013', 'UMLRM1014': 'BM_CELESTEVILLE > ADULTES > COTE_UMLRM1014', 'UMLRM1016': 'BM_CELESTEVILLE > ADULTES > COTE_UMLRM1016', 'UMLRM1017': 'BM_CELESTEVILLE > JEUNESSE > COTE_UMLRM1017', 'UMLRM1018': 'BM_CELESTEVILLE > LANGUES > COTE_UMLRM1018', 'UMLRM1019': 'BM_CELESTEVILLE > MEZZANINE > COTE_UMLRM1019', 'UMLRM1020': 'BM_CELESTEVILLE > ADULTES > COTE_UMLRM1020', 'UMLRM1021': 'BM_CELESTEVILLE > LANGUES > Cote_UMLRM1021', 'UMLRM1022': 'BM_CELESTEVILLE > JEUNESSE > COTE_UMLRM1022', 'UMLRM1024': 'BM_CELESTEVILLE > ADULTES > COTE_UMLRM1024', 'UMLRM1035': 'BM_CELESTEVILLE > ADULTES > COTE_UMLRM1035', 'UMLRM1052': 'BM_CELESTEVILLE > ADULTES > COTE_UMLRM1052'})
Expressions et manifestations
En gras : les expressions ; avec alinéa : les manifestations
Stoker, Bram (1847-1912). Anglais. Dracula Date de première publication : 1897 |--- UMLRM0006 Dracula, Bram Stoker, Pan books - Imprimerie Firmin-Didot, 1992 |--- UMLRM0018 Dracula, by Bram Stoker, W. Rider and son, 1992 Stoker, Bram (1847-1912). Français. Dracula Date de première publication : 1963 |--- UMLRM0021 Dracula, Bram Stoker, J'ai lu - mprimerie Brodard et Taupin, 2005 |--- UMLRM0024 Dracula, Bram Stoker, Gérard et Cie, 1963 |--- UMLRM0027 Dracula, Bram Stoker, Éd. J'ai lu - mprimerie Brodard et Taupin, 1992 |--- UMLRM0030 Dracula, Bram Stoker, Hachette - Imprimerie Brodard et Taupin, 1988 |--- UMLRM0110 Dracula, Bram Stoker, Éditions Opta, 1968 Stoker, Bram (1847-1912). Français. Dracula Date de première publication : 2010 |--- UMLRM0042 Dracula, Bram Stoker, J'ai lu, 2012 |--- UMLRM0045 Dracula, Bram Stoker, Le camion blanc - Imprimerie Acort Europe, 2010 Stoker, Bram (1847-1912). Français. Dracula Date de première publication : 1979 |--- UMLRM0051 Dracula, Bram Stoker, Pointdeux, DL 2013 |--- UMLRM0077 Dracula - suivi de L'invité de Dracula, Bram Stoker, Pocket, 2011 Stoker, Bram (1847-1912). Français. Dracula Date de première publication : 2011 |--- UMLRM0054 Dracula, Bram Stoker, le Livre de poche jeunesse, DL 2015 |--- UMLRM0178 Dracula, Bram Stoker, Hachette - Imprimerie CPI Bussière, 2011 |--- UMLRM0179 Dracula, Bram Stoker, Hatier, DL 2013 Stoker, Bram (1847-1912). Français. Dracula Date de première publication : 1920 |--- UMLRM0057 Dracula, Brahm Stoker, l’Édition française illustrée, 1920 |--- UMLRM0063 Dracula, Bram Stoker, les Éditions des Quatre-vents, 1946 Stoker, Bram (1847-1912). Français. Dracula Date de première publication : 1932 |--- UMLRM0060 Dracula, Brahm Stoker, Éditions J. Tallandier, 1932 Stoker, Bram (1847-1912). Espagnol. Dracula Date de première publication : 2017 |--- UMLRM0066 Drácula, Bram Stoker, Maxtor, DL 2017 Stoker, Bram (1847-1912). Français. Dracula Date de première publication : 2005 |--- UMLRM0069 Dracula, Bram Stoker, l'École des loisirs - Imprimerie CPI Firmin-Didot, DL 2019 Stoker, Bram (1847-1912). Français. Dracula Date de première publication : 2009 |--- UMLRM0188 Dracula, Bram Stoker, Livraphone, [DL 2009]

Adaptations
Toutes les notices dont la 541$3 contient un lien vers la notice du Dracula initial :
1 - Nosferatu, eine Symphonie des Grauens, film (UMLRM0001) Est une adaptation dans un autre mode de création de [œuvre] Dracula, Stoker, Bram (1847-1912) 2 - Nosferatu, Phantom der Nacht, film (UMLRM0007) Dracula, Stoker 3 - Stoker, Bram (1847-1912), Choix, Dracula (UMLRM0031) Est une sélection de [œuvre] Dracula, Stoker, Bram (1847-1912) 4 - Humphries, Tudor (1953-….), Dracula (UMLRM0034) Est une adaptation pour la jeunesse dans le même mode de création de [œuvre] Dracula, Stoker, Bram (1847-1912) 5 - Stoker, Bram (1847-1912), Choix, Dracula (UMLRM0037) Est une sélection de [œuvre] Dracula, Stoker, Bram (1847-1912) 6 - Stoker, Bram (1847-1912), Dracula's guest (UMLRM0075) Antépisode de Dracula, Stoker, Bram (1847-1912) 7 - Bram Stoker's Dracula, film (UMLRM0078) Est une adaptation dans un autre mode de création de [œuvre] Dracula, Stoker, Bram (1847-1912) 8 - "Dracula" : l'oeuvre de Bram Stoker et le film de Francis F. Coppola (UMLRM0081) Est une étude de [œuvre] Dracula, Stoker, Bram (1847-1912) 9 - Nosferatu, the wrath of Malachi, jeu vidéo (UMLRM0090) Dracula, Stoker, Bram (1847-1912) 10 - Druillet, Philippe (1944-....), Nosferatu (UMLRM0099) Dracula, Stoker 11 - Dracula has risen from the grave, film (UMLRM0105) Dracula, Stoker, Bram (1847-1912) 12 - Hughes, William (1964-....), Bram Stoker’s Dracula : a reader’s guide (UMLRM0111) Est une étude de [œuvre] Dracula, Stoker, Bram (1847-1912) 13 - Dracula, dead and loving it, film (UMLRM0120) Est une parodie de Dracula, Stoker 14 - Stoker, Bram (1847-1912), Choix, Manuscrits (UMLRM0126) Est une œuvre préparatoire pour Dracula, Stoker, Bram (1847-1912) 15 - Druillet, Philippe (1944-....), [Illustrations pour "Dracula" de Bram Stoker] (UMLRM0150) Illustre Dracula, Stoker, Bram (1847-1912) 16 - [Photographies extraites du film "Dracula" de Tod Browning], 1932 (UMLRM0152) Illustre Dracula, Stoker 17 - Deane, Hamilton (1879-1958) - Balderston, John L. (1889-1954), Dracula (UMLRM0155) Est une adaptation dans un autre mode de création de [œuvre] Dracula, Stoker, Bram (1847-1912) 18 - Dracula, film ; série (UMLRM0180) Dracula, Stoker, Bram (1847-1912) 19 - Dracula, émission radiophonique, 1938 (UMLRM0191) Est une adaptation dans un autre mode de création de [œuvre] Dracula, Stoker 1 - Nosferatu, eine Symphonie des Grauens, film (UMLRM0001) Est une adaptation dans un autre mode de création de [œuvre] Dracula, Stoker, Bram (1847-1912) 2 - Nosferatu, Phantom der Nacht, film (UMLRM0007) Dracula, Stoker 3 - Stoker, Bram (1847-1912), Choix, Dracula (UMLRM0031) Est une sélection de [œuvre] Dracula, Stoker, Bram (1847-1912) 4 - Humphries, Tudor (1953-….), Dracula (UMLRM0034) Est une adaptation pour la jeunesse dans le même mode de création de [œuvre] Dracula, Stoker, Bram (1847-1912) 5 - Stoker, Bram (1847-1912), Choix, Dracula (UMLRM0037) Est une sélection de [œuvre] Dracula, Stoker, Bram (1847-1912) 6 - Stoker, Bram (1847-1912), Dracula's guest (UMLRM0075) Antépisode de Dracula, Stoker, Bram (1847-1912) 7 - Bram Stoker's Dracula, film (UMLRM0078) Est une adaptation dans un autre mode de création de [œuvre] Dracula, Stoker, Bram (1847-1912) 8 - "Dracula" : l'oeuvre de Bram Stoker et le film de Francis F. Coppola (UMLRM0081) Est une étude de [œuvre] Dracula, Stoker, Bram (1847-1912) 9 - Nosferatu, the wrath of Malachi, jeu vidéo (UMLRM0090) Dracula, Stoker, Bram (1847-1912) 10 - Druillet, Philippe (1944-....), Nosferatu (UMLRM0099) Dracula, Stoker 11 - Dracula has risen from the grave, film (UMLRM0105) Dracula, Stoker, Bram (1847-1912) 12 - Hughes, William (1964-....), Bram Stoker’s Dracula : a reader’s guide (UMLRM0111) Est une étude de [œuvre] Dracula, Stoker, Bram (1847-1912) 13 - Dracula, dead and loving it, film (UMLRM0120) Est une parodie de Dracula, Stoker 14 - Stoker, Bram (1847-1912), Choix, Manuscrits (UMLRM0126) Est une œuvre préparatoire pour Dracula, Stoker, Bram (1847-1912) 15 - Druillet, Philippe (1944-....), [Illustrations pour "Dracula" de Bram Stoker] (UMLRM0150) Illustre Dracula, Stoker, Bram (1847-1912) 16 - [Photographies extraites du film "Dracula" de Tod Browning], 1932 (UMLRM0152) Illustre Dracula, Stoker 17 - Deane, Hamilton (1879-1958) - Balderston, John L. (1889-1954), Dracula (UMLRM0155) Est une adaptation dans un autre mode de création de [œuvre] Dracula, Stoker, Bram (1847-1912) 18 - Dracula, film ; série (UMLRM0180) Dracula, Stoker, Bram (1847-1912) 19 - Dracula, émission radiophonique, 1938 (UMLRM0191) Est une adaptation dans un autre mode de création de [œuvre] Dracula, Stoker
Précision méthodologie à ne pas perdre de vue : cet épluchage par lots et par échantillon du fichier me permet de m’approprier le contenu des notices, les zones utilisées, celles notamment qui portent du sens et celles qui tissent des liens. L’enjeu est d’arriver, à la fin de cette exploration, à tester des modalités de recherche et d’affichage dans un lot de 340 entités LRM. On n’est donc là que dans une étape, au début du parcours.
Les zones particulièrement structurantes vont être identifiées dans le fichier common_dicts.py, notamment à partir de la ligne 7 (dans la version de ce jour) :
tags_manif2expressions = {"507": "point d'accès autorisé Titre (manifestation pointant vers expression)", "577": "point d'accès autorisé Auteur-Titre (manifestation pointant vers expression)"}
tags_expression2oeuvres = {"232": "point d'accès autorisé Titre",
"242": "point d'acècs autorité Auteur-Titre" }
tags_oe2expression = {"532": "Point d’accès autorisé – Titre (expression pointant vers oeuvre)",
"542": "Point d’accès autorisé – Auteur/titre (expression pointant vers oeuvre)"}
tags_oe2oeuvre = {"531": "Point d’accès autorisé – Titre (expression pointant vers oeuvre)",
"541": "Point d’accès autorisé – Auteur/titre (expression pointant vers oeuvre)"}
# Zones utilisées pour faire des liens aux Personnes et collectivités (avec indicateurs de relations autre que sujet)
tags_resp = {"o": {"501": "Lien aux mentions de responsabilité Personne depuis des oeuvres",
"511": "Lien aux mentions de responsabilité Collectivité depuis des oeuvres"},
"e": {"502": "Lien aux mentions de responsabilité Personne depuis des expressions",
"512": "Lien aux mentions de responsabilité Collectivité depuis des expressions"},
"m": {"702": "Lien de manifestation à une mention de responsabilité Personne",
"712": "Lien de manifestation à une mention de responsabilité Collectivité"}}
# Pour chaque type d'entité, les zones à indexer
tags_indexation = {"m": "200,214$a$c$d,225$a$c,307$a,320$a,327$a,330$a".split(","),
"e": "232$a,371$a".split(","),
"o": "033$a,052$a,231$a,370$a$c,378$a".split(","),
"i": "252$a$b$j".split(","),
"p": []
}
Courage !
Un petit billet quasi-anecdotique pour commencer l’année (ça me repose des longs cycles sur le traitement des données ou la Transition bibliographique).
Est sorti peu avant les vacances de Noël un service de chatbot adossé au modèle d’entraînement de langage GPT-3 : ChatGPT.
Ayant absorbé plusieurs milliards de page de contenu, avec un modèle déjà bien éprouvé d’analyse et de vectorisation du langage, le chatbot s’avère remarquablement robuste dans tout un tas de types de conversations.
Nombreux sont ceux qui ont relevé ses limites dans le domaine de l’humour (je vous recommande notamment ce fil de P.-C. Langlais)
Et peut-être plus nombreux encore ceux qui ont constaté qu’il était très performant pour ce qui relevait des exercices un peu scolaires (voire universitaires), à la fois grâce à sa maîtrise du langage et à la masse d’informations absorbées :
Ces résultats sont si pertinents que certains ont signalé qu’il faudrait rapidement changé le type d’exercices qu’on demande aux élèves/étudiants ; d’autres en ont conclu que c’était la preuve que ces exercices ne mobilisaient nulle intelligence.
Il me semble que ce sont là deux erreurs qui se focalisent sur le résultat au lieu de s’intéresser à ce qu’est une formation ; et à ce qu’est une IA qui fonctionne par machine learning.
Le machine learning consiste à alimenter un programme avec un corpus d’exemples, avec que l’IA soit capable de reproduire le même genre de résultats dans des situations comparables.
Une formation consiste à transmettre des enseignements à une classe d’élèves, mais aussi, dans de nombreux cas, à enseigner le format des livrables :
- à quoi doit ressembler une démonstration scientifique
- ce qu’est un commentaire composé
- quelles sont les codes d’une lettre de motivation ou d’un CV
- etc.
Par définition, ces formations donnent lieu à des documents produits correspondants à certains critères formels. L’objectif n’est pas l’originalité, mais d’apprendre aux élèves à s’approprier un certain moule, qui fait partie des conditions de communication entre le rédacteur du document et son futur lecteur. Et l’apprentissage de cette forme est partie intégrante de la formation — et pour moi il est important qu’elle le soit : il ne s’agit pas de brider la créativité des élèves, mais de les amener à partager des codes communs en vigueur, qui permettent à un article scientifique d’être un article scientifique et pas un billet de blog (sachant que le premier peut avoir un contenu lamentable, et le second être passionnant et pertinent).
Par définition encore, des exemples de ces livrables (sous forme d’exercices publiés, de corrigés, etc.) vont pulluler sur le web.
Les enseignants doivent continuer d’enseigner les formes de certains types de documents à leurs élèves — il me semble difficile de le faire sans qu’ils le pratiquent.
Il est donc inévitable que des IA soit alimentés aussi avec ce genre de textes — et cela n’a rien à voir avec le degré d’intelligence de ces documents.
Il est certain, effectivement, que les enseignants doivent être conscients du copier-coller possible — trop tentant ! — pour envisager quelles mesures prendre.
Mais il me semble non pertinent de considérer pour autant que rédiger une dissertation ne fait pas appel à l’intelligence sous prétexte qu’une IA sait l’imiter (elle ne saurait pas le faire sans corpus d’entraînement), ou qu’il faille renoncer à enseigner à écrire des dissertations.
Attention, je ne dis pas que la dissertation soit un exercice absolu et pertinent : je me doute qu’elle a ses contestataires, et il est probable que pour apprendre à des élèves la rédaction et la synthèse, il y ait mieux (je ne suis pas pédagogue). Mais dès lors qu’on demandera des documents aux élèves, répondant à certains critères formels, ceux-ci pourront venir entraîner une IA ultérieure.
Je vous laisse, j’ai un rapport d’activité à rédiger. Tiens, au fait….
La 7e journée Métadonnées organisée par le groupe Systèmes et Données du programme Transition bibliographique a eu comme principal ordre du jour de présenter un ensemble de 340 notices d’items, manifestations, expressions et oeuvres cataloguées en Unimarc.
Sauf si vous avez suivi de bout en bout l’ensemble des étapes, cette nouvelle devrait déjà vous laisser perplexe.
D’abord sur le principe même : des notices en Unimarc correspondant à entités du modèle IFLA LRM ? Est-ce seulement possible ?
Alors qu’on sait bien que l’Unimarc est organisé en 2 branches :
- Unimarc pour les notices d’autorité [Unimarc (A)]
- Unimarc pour les notices bibliographiques [Unimarc (B)]
et que le modèle IFLA LRM est organisé autour de 4 classes (les OEMI), sans compter les relations de responsabilité et de sujet qui gravitent autour.
Et pourtant !
En faisant le choix de « ranger » les expressions du côté des autorités, c’est-à-dire d’utiliser le format Unimarc(A) pour décrire des expressions, on utilise pour la partie haute de l’arbre 2 notices d’autorité (Oeuvre et Expression) liées entre elles par des $3, et une notice bibliographie (Manifestation) liée à l’expression.
Ces 3 notices sont par ailleurs susceptibles d’être liées à des notices d’autorité Personne et Collectivité pour les mentions de responsabilité ; et le niveau Oeuvre peut être avoir une indexation Sujet.
Processus d’exploration
J’ai commencé un Notebook Python (cf. ce billet qui explique qu’un notebook est un document textuel qui inclut des parties de code exécutable) qui :
- importe les 4 fichiers UnimarcXML
- items
- manifestations
- oeuvres et expressions
- autres entités (personnes, collectivités, genre-forme)
- pour chaque notice trouvée, crée un objet Python en lui ajoutant des attributs à partir du contenu des notices.
La liste de ces attributs peut évoluer, mais à ce stade il s’agit de :- l’identifiant : .id
- le type d’entité : .type
- la notice en XML et en texte : .xml et .txt
- un « label » (pas tout à fait un point d’accès en bonne et due forme) : .label
- les statistiques des zones et sous-zones (dictionnaire) : .stats_zones
- les liens aux mentions de responsabilités (dictionnaire) : .resp
- chaque entité a des attributs supplémentaires pour les liens vers l’entité « supérieure » :
- items : .toManifs
- manifs : .toExpressions
- expressions : .toOeuvres
Puis j’ai ajouté des mécanismes complémentaires pour pouvoir facilement :
- pour une manifestation donnée, avoir les items liés
- pour un identifiant, récupérer l’objet Python complet (donc avec sa notice initiale, son label, etc.) quel que soit son type
- d’autres « passerelles » (un identifiant renvoyant des informations) apparaîtront sans doute ultérieurement en fonction des besoins que je constate
Les objectifs
L’idée de tout ce dispositif est ensuite de pouvoir manipuler les données pour, notamment :
- afficher une notice précise avec des informations enrichies
- identifier des erreurs potentielles pour les corriger
- à force de manipulations un peu aléatoires, identifier ce qui est significatif, ce qui me permet de comprendre ce qu’il y a vraiment dans ce jeu de données
- expérimenter la datavisualisation en graphe, pour une notice précise ou pour le graphe complet

- tester des règles d’affichage d’un résultat ou d’une liste de résultats, en pouvant interagir avec le jeu de données
Si je propose sur ce notebook une sorte de boîte de recherche (permettant de chercher un mot, par exemple) et que le programme associé à ce formulaire me renvoie les notices contenant ce terme :- que se passe-t-il si le mot doit être présent dans la manifestation, ou l’expression, ou l’œuvre, et que je ne « remonte » que cette entité ?
- que se passe-t-il si j’essaie de concevoir une manifestation enrichie des expression(s) et œuvre(s) liées, et que la recherche porte sur l’arbre complet ? (ou chercher ? que ramener en liste de résultats ?)
Pour la suite
Le prochain billet fournira simplement un certains chiffres ou listes sur ces données Unimarc LRM, obtenus avec ce notebook (essayant de répondre à la question : quelles informations l’esprit juge-t-il significatif pour se dire au bout d’un moment « je sais ce qu’il y a dans ce corpus de 340 entités »)
NB : pour ceux que le code intéresse
Afin de faciliter la lecture et l’exécution du Notebook (si certains compte récupérer le dossier complet, avec fichiers de notices et scripts), j’ai déplacé une partie du code dans 2 fichiers :
- Record.py : la définition des classes
- common_dicts.py : ensemble de dictionnaires utiles (codes fonctions, zones de liens entre entités, etc.)
Il me semble que je deviens un peu trop assertif dans le contenu de ce billet. Mais ce n’est pas parce que je me prends parfois au sérieux que vous devez me prendre au sérieux vous aussi.
Dans un récent billet, je revenais sur l’affirmation selon laquelle la Transition bibliographique (TB) « sert à mettre les catalogues dans le web de données.
Or si la TB permet de faire cela, elle ne s’y limite pas, et heureusement : car si on ne cherche qu’à mettre ses données sur le web, il y a d’autres méthodes, et moins coûteuses.
Et donc, pourquoi avoir engagé cette Transition bibliographique, et pourquoi la continuer ?
Pourquoi avoir engagé la Transition bibliographique ?
En substance, parce que les catalogues étaient (et sont encore, tant que tout ça n’est pas terminé) sont complètement inadaptés à l’environnement du web numérique.
Un catalogue de bibliothèque, qu’est-ce que c’est ? Comme pour un catalogue de commerçant : la liste de tout ce qu’une bibliothèque possède. Il sert avant tout à une bibliothèque à gérer son stock. C’est une mission importante, indispensable même ! Il faut que les personnes qui travaillent dans une bibliothèque puissent savoir ce qu’elles possèdent déjà, ce qu’elles n’ont pas, etc.
Exemple d’une information dont les lecteurs n’ont généralement que faire, mais qui est cruciale pour les bibliothécaire : la hauteur de chaque livre. Elle est indispensable pour savoir où il va pouvoir le ranger, s’il lui faut bientôt des étagères supplémentaires de la bonne taille ou non.
Le niveau de granularité du catalogue est donc (pour les livres) le produit éditorial. Or je ne connais qu’une situation (j’exagère à peine) où un lecteur va vouloir une édition précise d’un texte : quand c’est demandé par le prof de français ou par la maîtresse, qui veut pouvoir dire « Pour lundi prochain, lisez les pages 22 à 73 » (en s’épargnant autant que possible les « Madame, moi je n’ai pas la même édition »).
Se débarrasser (ou presque) de l’ISBD
Les formats Marc sont conçus pour produire les éléments d’information de l’ISBD en en facilitant la saisie (et fournir au passage quelques mécanismes complémentaires, comme l’utilisation de référentiels, voire de liens entre notices). Ils sont hérités d’une conception de ce qu’est une référence bibliographique embarquant l’intégralité des éléments d’information.
La norme ISBD mélange des consignes sur le fond (liste de éléments à fournir et où les trouver) et la forme (ordre des informations, signes de ponctuation pour les séparer les unes des autres).
Or ce mélange du fond et de la forme est complètement contraire au web, et à l’informatique en général (cf. cet article Wikipedia, par exemple). L’usage, bien répandu depuis plusieurs années à présent, des logiciels de gestion de référence bibliographique comme Zotero en atteste : ce qui est important, c’est de stocker l’information de manière structurer, et de disposer d’outils, de mécanismes, pour la restituer dans divers formats d’affichage (les différents styles des revues scientifiques) ou d’échange (les formats d’export RIS, BibTex, etc.).
Pour l’instant, aucun autre modèle alternatif à l’ISBD n’était clairement proposé, pensé nativement pour un environnement numérique de gestion de l’information, qui déconstruise un bloc (le pavé ISBD) où un programme informatique à un mal fou à identifier les différents éléments d’information.
L’ISBD, c’est la perpétuation du modèle de fiche : la notice est un bloc, dont certaines informations sont extraites par le système pour servir à l’indexation, aux filtres ou au tri — mais chaque élément d’information n’existe pas en tant que tel, il n’est pas accessible de manière isolée, si on n’a pas décidé de l’extraire de la notice pour permettre de le manipuler à part. Si un chercheur veut s’intéresser à l’évolution du nombre moyen de pages dans la littérature pour adolescents (pour mesurer l’impact du phénomène Harry Potter dans le monde de l’édition, par exemple), l’information « Nombre de pages » n’est pas stockée dans une table, au sein d’une base de données relationnelles, associant le numéro de notice à son nombre de pages. Elle est juste à l’intérieur de la notice, dans la table « record », et pour y accéder il faut l’en extraire.
N’est-ce pas dommage d’avoir saisi cette information pour pouvoir n’en disposer qu’à l’affichage de la notice détaillée ? N’y reconnaît-on pas pourtant un élément granulaire d’information, qu’on a rendu inaccessible pour cause de modèle inadapté.
J’insiste sur le fait que ce besoin est né de l’informatique, et non du web. Il est compréhensible que les bibliothèques aient perpétué, lors de leurs premières informatisations, un schéma de pensée concernant leur catalogue qui reprenait les traditions antérieurs. Mais au bout d’un moment, il faut tout de même changer de paradigme (oui, je sais, l’expression est un peu trop à la mode, mais je trouve que ça s’applique bien. Et encore, je n’ai pas parlé de changer de logiciel !).
Le modèle FRBR (dont IFLA LRM est l’héritier) est né dans les années 1990, dans un monde où les manières de penser l’information étaient naturellement numériques (mais avant l’explosion des usages de l’internet), avec une question : si on devait partir de rien, dès lors qu’on dispose d’un ordinateur, comment repenser l’objet livre afin de pouvoir le décrire de manière satisfaisante ?
Bref, il fallait bien quand même arriver à passer à un autre modèle que l’ISBD. Cela fait 60 ans qu’on a des catalogues informatiques, et 25 ans que FRBR existe : ne faut-il pas se décider, à un moment, à basculer ?
Modèle conceptuel et non modèle technique
Sur ce point, je suis encore moins sûr de ce que je pense et de là où ça pourrait mener.
Il me semble que le modèle FRBR, et après lui IFLA LRM, est avant tout un modèle conceptuel de représentation de certains objets du monde (la création intellectuelle et ses productions concrètes sous forme d’objets). Sa première vocation n’est donc pas de servir de socle structurant à une base de données relationnelles, mais de nous donner à voir la nature profonde de ces créations intellectuelles (et leurs avatars physiques) : tout n’est pas au même niveau. Plus exactement, il y en a quatre, de niveaux — là où d’autres en auraient dégagé peut-être cinq, ou trois (coucou Bibframe).
Cela signifie qu’il est possible d’adhérer à cette vision du monde sans être en mesure (ou même sans souhaiter) pour autant l’implémenter dans la technicité des outils de catalogage. Cette adhésion pourrait avoir comme conséquence, par exemple :
- d’être sensible à l’importance de certains éléments d’information, en ce qu’ils caractérisent tel ou tel niveau de l’arbre OEMI : l’illustrateur devient co-auteur de l’oeuvre (et non valorisateur du texte) ; le traducteur identifie la traduction ; le titre original mérite d’être mentionné tel quel, même s’il est identique au titre traduit (Moby Dick)
- une prise en compte lorsqu’on refond une interface de consultation : créer des facettes « Auteur » distinctes selon que les fonctions ressortissent de tel ou tel niveau d’entité implicite dans la notice bibliographique préservée
Je ne prétends pas qu’il faut faire une telle chose: je dis juste que voir dans chaque notice de son catalogue un arbre œuvre-expression-manifestation caché peut induire certains aménagements.
Les évolutions du web 2000-2020
Vous ne l’avez peut-être pas relevé, mais ci-dessus je posais aussi la question « pourquoi la continuer ? » (la Transition bibliographique) : car oui, il est bon de s’assurer qu’on est toujours sur une trajectoire souhaitable, se réassurer que les raisons initiales étaient bonnes, ou que d’autres raisons encore meilleures sont venues s’y justifier, et se rassurer qu’on n’a pas fait tout ça pour rien !
La Transition bibliographique, c’est un pack de décisions pour former un tout aussi cohérent que possible :
- l’implémentation du modèle FRBR, puis IFLA LRM
- l’adoption, avec ce modèle, d’une structure de l’information en mode Entité-relation, caractéristique des bases de données relationnelles (alors qu’un stock de notices, un catalogue, fonctionne plutôt comme une base orientée documents — cf. ci-dessus)
- la diffusion de nos métadonnées dans le web de données, en utilisant pour cela le standard international que constitue RDF
L’utilisation de RDF, une grammaire élaborée hors du monde des bibliothèques (au rebours d’un outil comme Z39.50, par exemple, que personne n’aurait l’idée de nous envier) était là aussi pour se rassurer sur le fait que nous allions nous intégrer dans un monde global et en marche
Sans vouloir retracer brillamment et synthétiquement 10 années d’internet, je voudrais évoquer plusieurs choses qui n’étaient pas là (ou pas si bien identifiables) au lancement de la Transition bibliographique.
Sur l’adéquation entre FRBR / LRM et le monde du web
En 2011 est sorti schema.org, co-publié par Microsoft, Yahoo et Google avec une vocation universaliste : proposer des schémas de métadonnées pour tous types de produits et ressources qu’on trouve sur le web.
Leur objectif était certainement avant tout commercial (pouvoir décrire, dans la partie Shopping d’un moteur de recherche, un produit qui pourrait s’acheter ; pouvoir alimenter le Knowledge graph — pour Google — ou autres outils d’affichages plus pertinents de manière général), mais l’argent est un moteur puissant ! Or pour les livres, la modélisation de schema.org ne ressemble pas vraiment à l’arbre Oeuvre-Expression-Manifestation.
Vers qui le monde (culturel et commercial) du livre va-t-il vouloir se tourner ? Les interfaces vont-elles plutôt évoluer pour s’adapter au modèle de Google ou à celui des bibliothèques ?
Sur la transformation du web en web de données
Telle était la vision de Tim Berners-Lee : que les concepteurs de site web, qui diffusaient sous forme de pages HTML le contenu déstructuré de leurs bases de données sous-jacentes, exposent aussi ces mêmes données selon la formalisation RDF
<sujet URI> <prédicat URI> <objet URI ou autre valeur>
Cette technologie a eu de beaux succès, de belles réalisations, mais a tout de même souffert dans les faits de deux limites :
- à mettre en place par le producteur, et à utiliser par l’utilisateur, c’est compliqué !
La moindre information prend 8 fois plus de temps à écrire ou à manipuler
Pour utiliser une propriété, il faut d’abord l’avoir déclarée dans une ontologie (alors que pour documenter un lot de balises XML, un petit PDF ou une page HTML de documentation suffit) - Les performances quand on requête une base de triplets se révèlent souvent problématiques lorsqu’on est sur de la grosse masse.
Le RDF a connu sa petite courbe du hype pour être adoptée par les communautés pour lesquelles il est pertinent, en étant abandonné par les autres. Le « web de données » (ou « web sémantique », ou « web 3.0 » n’est plus vraiment au centre de l’intérêt :
Evolution des termes web 3.0 – web de données – web sémantique

Et encore si la notion de « web 3.0 » est encore en 2022 utilisé (cf. par exemple cet article, ou celui-ci) — ce sont toutes sortes de technologies qui peuvent se cacher derrière :
- blockchain
- intelligence artificielle
- interopérabilité
- métavers
- internet des objets
- et d’autres petites choses
En gros, tout le monde a bien compris que le web 2.0 était déjà réalisé. Mais le 3.0 est encore tout juste devant nous.
Les formats de diffusion de jeux de données
Pendant que les bibliothèques travaillent à un modèle entité-relation et l’expression de ses données en RDF, le format d’échange qu’elles aiment bien manipuler (XML) n’est plus celui utilisé massivement par les fournisseurs de jeux de données et de web services : le JSON, ou le CSV.
A l’issue de ce processus, ne risque-t-on pas de produire des données dans un modèle que personne ne connaît, selon une technologie que personne n’utilise ?
D’où ma question : on a eu des raisons pour commencer, a-t-on raison de continuer ?
Question de modèle ou de technologie ?
Sur la question des technologies en adéquation ou non avec celles prévues pour les données des bibliothèques : il faut en réalité reconnaître que c’est en partie un faux problème.
Le modèle en cours d’adoption se veut absolument granulaire. A partir de là, tout est possible.
- si vous avez une zone d’information comportant « Prénom Nom », il est parfois compliqué de distinguer le nom du prénom : quand le prénom ou le nom sont doubles, quand il n’y a pas de « prénom » (Stendhal) ou pas de « nom » (Marie de France)
- en revanche si vous avez deux zones (voire même un typage des zones pour préciser les cas non pertinents, comme l’absence de prénom ou de nom), vous pouvez générer sans difficulté un élément « Prénom Nom »
Ce qui veut dire qu’une structuration interne complexe permettra d’exposer des données dans des formats extrêmement simple (en CSV, par exemple) : cela peut avoir un côté frustrant, sauf pour l’utilisateur. Surtout, cela permet de construire une stratégie de services qu’on peut mieux penser en fonction des usages et des attendus pour structurer davantage les formats de sortie (format au sens large : une liste de résultats dans un catalogue en ligne est un format d’affichage).
Ce n’est pas anodin : il faut prévoir une source d’informations (quels utilisateurs attendent quoi ? quelle population représentent-ils ? etc.), du temps d’instruction (apporter une réponse datavisuelle à un besoin beaucoup plus confusément exprimé) et des compétences (en ergonomie, en manipulation des données).
Dans le cas contraire, si on ne dispose ni de ces informations, ni du temps, ni des compétences, on restera tributaire du modèle brut. Or, comme je l’ai indiqué plus haut, il ne correspond pas aux usages quotidiens du web, et on peut donc partir sur l’hypothèse qu’en l’état (œuvre/expression/manifestation), il ne sera pas utilisable par les lecteurs.
Quels nouveaux services ?
On évoque beaucoup les nouveaux services pour justifier l’intérêt de la Transition bibliographique. Il y en aura certainement. Les autres communautés pourront s’emparer de nos données pour imaginer de nouveaux usages. D’une certaine manière, on anticipe ces réappropriations en constatant ponctuellement des demandes auxquelles on ne sait pas encore correctement répondre (les œuvres les plus empruntées dans les bibliothèques ? les œuvres anglaises les plus rééditées en France du XVIIIe au XXe siècle ? etc.). Mais il n’est pas nécessaire d’aller trop loin dans l’imagination pour postuler que ces usages auront lieu, dès lors que nos données seront structurées de manière à pouvoir les satisfaire et qu’on disposera d’une organisation, d’une disponibilité (d’une réactivité ?), pour accompagner ces usages.
Mais en réalité il faut aussi se convaincre que les besoins actuels seront mieux rendus. Logiquement, le passage du catalogue à la version numérique a dû nous frustrer nous-mêmes dans les besoins quotidiens, normaux pour accéder et donner accès aux collections :
- Epargner à l’internaute les 3 pages de résultats quand il cherche Harry Potter et peine à expliquer qu’il voudrait en fait un des 8 films, en version DVD, et disponible (non déjà emprunté) dans la bibliothèque où il se trouve
- Si un service de réservation multisite existe, lui permettre une réservation portant sur tous les exemplaires de plusieurs notices rattachées à la même expression, parce que c’est une édition française de l’Odyssée qu’il doit lire.
Je sais qu’il y aura probablement plusieurs traductions possibles : mais si l’internaute ne peut pas déclarer indifférent le critère « traducteur », alors on aura sans doute échoué dans l’offre de services.
On revient là sur un point que je mentionnais à propos de Sparnatural : il faut penser une interface en contexte d’utilisation, par rapport aux usages des internautes, pas par rapport au modèle sous-jacent, qu’ils n’ont pas connaître.
Le modèle extrêmement souple qu’on est en train d’adopter permettra de tout faire — y compris des choix, qu’il faudra absolument faire (et requestionner régulièrement). - Concevoir une politique documentaire en fonction de l’offre et des usages (stats de prêt) au niveau des oeuvres et des expressions, mais pas des manifestations (la notice bibliographique et l’exemplaire étant à ce jour les deux seuls niveaux de manipulation disponibles)
Le modèle LRM est plus complexe que le « modèle bibliographique-autorité ». Il ne faut pas pour autant rendre les interfaces plus complexes : elles doivent manipuler des raccourcis, des fonctionnalités simples, correspondant à leurs attentes (et correspondants aux usages normaux d’une collection de bibliothèque) rendus possibles précisément par la Transition bibliographique.
Les « nouveaux services » viendront plus tard.Ils viendront à la fois de nouvelles populations d’utilisateurs, et de nos lecteurs traditionnels à qui nous pourrons enfin répondre positivement à des attendre frustrées depuis si longtemps, attentes générées par leurs pratiques ailleurs sur le web (en terme de recommandation notamment, et d’articulation avec les autres espaces de production de connaissance et d’information). Mais il faut arriver à se persuader (ou risquer de conserver un sentiment de bricolage, il me semble) que ce nouveau modèle vient en réponse à la frustration actuelle causée par la tension entre possibilités informatique et catalogue pensé sur un ancien modèle.
Et donc, cette Transition bibliographique ?
Ce serait intéressant aussi d’évoquer la question des coûts : ce que coûte la Transition bibliographique, ce qu’on en attend en bénéfice retour, etc. Mais par rapport à ce que j’évoquais plus haut à propos de l’ISBD, il me manque une évaluation (je ne sais pas comment on ferait ça) de ce que nous coûte l’implémentation actuelle d’un modèle non adapté au monde numérique : des technologies très spécifiques ; une politique documentaire sans visibilité propre au niveau des œuvres et des expressions, une inadéquation entre les centres d’intérêt des lecteurs et ce qu’on lui offre ; toutes les demandes frustrées des chercheurs qui souhaiteraient utiliser les catalogues (et les collections à travers eux) comme révélateur d’un monde particulier.
Il y a certainement des scénarios alternatifs : la preuve, d’autres pays adoptent d’autres « transitions ». Le monde anglo-saxon, dont le point de départ est catalographiquement différent (beaucoup moins de liens entre notices, notamment) a visé une évolution moins forte en laissant de côté les données existantes pour se consacrer sur la production actuelle et à venir ; ou en implémentant RDA sans implémenter IFLA LRM (cf. mes remarques sur LRM comme modèle conceptuel et non technique).
A présent qu’on est dans l’intérieur de cette transition (j’entends beaucoup moins de personnes demander : « alors, c’est pour quand ? »), il s’agit « simplement » d’en venir à bout, pour enfin n’avoir plus besoin d’en parler ! Comme d’avoir traîné un peu trop longtemps un vieux modèle de voiture, et se dire, en sortant de chez le concessionnaire avec une voiture neuve, que la voiture ne sera désormais plus un sujet 🙂
Python : scripts et notebooks
J’y faisais allusion dans le précédent billet sur Annif, donc une petite digression sur les notebooks.
Ceci est donc un petit retour d’expérience sur mon usage (enfin, non-usage puis usage partiel) des notebooks Python.
Contexte
En arrivant à la BnF en 2016, je me suis mis à apprendre le langage de programmation Python parce que data.bnf.fr était écrit en Python. L’équipe avait donc développé une compétence technique sur l’utilisation de ce langage, pour satisfaire des besoins dans le traitement de données qui auraient aussi pu être satisfaits avec d’autres langages.

Depuis plusieurs années, j’écris donc des scripts (avec l’interface de développement ci-dessus, Visual Studio Code, qui est un éditeur adaptés pour divers codes, dont Python, mais n’est pas un framework de développement) qui me permettent de répondre à des demandes d’extractions ou de traitements divers liés à mon activité au département des Métadonnées de la BnF.
Le plus souvent, ces scripts me permettent de produire des fichiers Excel, donc quand je programme suite à la demande de collègues, ces derniers voient uniquement le résultat sous forme de tableaux.
S’ensuit un processus de travail assez bien rôdé, et plutôt satisfaisant :
- je rédige une version 1 du script, sur la base de consignes initiales assez simples
- ce qui produit une version 1 correspondante du rapport Excel
- le collègue analyse le résultat, fait une série de remarques
- je les prends en compte dans le code, fait une version 2 du script –> version 2 du fichier Excel
- et ainsi de suite jusqu’à ce que le résultat final soit satisfaisant
On alimente donc progressivement un document de suivi, organisé de manière antéchronologique (le document en question est géré dans une base de documents, logiciel Lotus Notes d’IBM, qui permet comme pour une page web d’intégrer des fichiers au sein d’un texte global)
Et sinon, quand je bricole des trucs dans mon coin en essayant de me souvenir de ce que j’ai fait, j’ai évidemment ce genre de dossiers que je redécouvre 1 ou 2 ans plus tard.
Les notebooks Jupyter : définition
La première copie d’écran ci-dessus montre un fichier qui est un script brut : il ne contient que du code et des commentaires, le tout conforme à la syntaxe de Python. On peut le faire exécuter par le fichier python.exe.
J’ai appris il y a 3 ans environ l’existence de « notebooks Jupyter« . Un notebook est un autre type de fichier, qui permet de mélanger du code et du commentaire en langage Markdown, ce qui permet d’avoir en plus de la mise en forme : on peut structurer le déroulé d’un programme en parties, sous-parties, avec des chapitres, des paragraphes, des listes, etc. qui précèdent et suivent les blocs de codes.
Ce qui est précédé de la mention Entrée [ ]
est du code (et chaque bloc peut s’exécuter séparément, contrairement à un script « normal » qui s’exécutera d’un bout à l’autre), le reste est du commentaire.
Notebook : quoi-n’en-faire ?
Pendant plusieurs années, après avoir vaguement testé cet outil, je n’ai pas vraiment su dans quels cas l’utiliser.
Lorsque Google a mis en place Google Colab (une version cloud de Jupyter, hébergée dans Google Drive, mis en place vers 2019 ? — pour plus d’explications), j’ai trouvé deux cas d’usage très convaincants :
- tester rapidement un bout de code, et éventuellement le partager avec quelqu’un (une simple fonction, une expression régulière, etc.) et le tester ensemble
- faire des formations à Python, sans s’embarrasser de problèmes d’installations
(parce que quand on forme des étudiants à un langage comme Python, on passe forcément trop de temps à résoudre les problèmes d’installation, de systèmes d’exploitation multiples, d’ordinateurs empruntés)
Mais pour ce qui est de programmes pour extraire, manipuler, corriger des données en masse, le script — comme fichier ne contenant que du code, s’exécutant d’un bout à l’autre, lancé souvent en ligne de commande — me semblait beaucoup plus satisfaisant. Notamment pour des raisons de performance : si l’ordinateur n’est pas occupé à afficher ce qu’il fait, il l’exécute souvent plus rapidement (l’affichage prend de la mémoire).
Faire du work in progress en temps réel
Et finalement j’ai réalisé qu’un notebook, mélangeant code et commentaires, ressemblait beaucoup au document de projet montré au tout début de ce billet : du code, du paratexte, des jeux de données.
Donc de plus en plus, quand je me lance dans un projet d’extractions/corrections qui va demander des allers et retours, je suis tenté d’ouvrir un notebook du projet (plutôt qu’un ensemble de fichiers, dont un baptisé readme.md).
Évolutions dans la manière de coder : pandas et matplotlib
L’utilisation d’une interface plus visuelle, qui permet de voir les traitements étape par étape (et non en se contentant des données en entrée, puis des fichiers en sortie) incite à faire des « rapports d’étape », c’est-à-dire voir un état des données au nème (mais pas dernier) traitement, sous forme de table (d’extrait de table) ou de graphe fournissant quelques stats (souvent, un histogramme de distribution).
Et pour cela je me suis mis à utiliser des librairies dont je n’avais pas l’usage (même si je connaissais leur existence : pandas (pour gérer des tableaux, alors que jusque là je gérais tantôt des listes de listes, tantôt des listes d’objets dont j’avais moi-même défini la classe — désolé si cette phrase est obscure) et matplotlib qui contient tout un tas d’outils pour générer des graphiques.
Je ne sais pas trop comment interpréter le fait que mon outil de saisie évolue influe sur ma manière de coder, alors que mes besoins (en tant que séries de transformation à infliger aux données) n’ont pas vraiment changer.
Des notebooks articulés avec ce blog
Et donc mon idée est aussi de concevoir certains notebooks en vue d’être articulés avec des billets de blogs, pour rendre compte du travail réalisé et, potentiellement, vous permettre de récupérer et ré-exécuter plus facilement du code (sait-on jamais?). A suivre notamment concernant Annif.
Exemple de notebook (extraction de données du SRU de la BnF [?])
Remarque supplémentaire sur le choix de Python
Comme je l’ai indiqué plus haut, je me suis mis à Python (après de nombreuses années passées avec XSL/XSL-T, mon premier amour) pour des raisons contextuelles : l’équipe que j’ai rejointe en 2016 connaissait ce langage-là.
Cet aspect conjoncturel, ou opportunisme (mon voisin de bureau le fait, donc je le fais) ne me semble pas anodin. Quand j’assure des formations à Python, et que j’essaie d’expliquer pourquoi se former à ce langage-là plutôt qu’à un autre (dans le monde des bibliothèques et des sciences de l’information), les 3 principaux arguments que je donne sont :
- aspect communautaire : Python a connu une croissance énorme dans le monde des humanités numériques, qui, dans le monde universitaire, est ce qui se rapproche le plus du monde des bibliothèques (au moins par le parcours disciplinaire de la majorité de ses membres)
- rapidité de prise en main pour des non-informaticiens
- intelligence artificielle
Bref, dans nos métiers il est utile de disposer d’outils pour manipuler les données (ou de disposer de gens qui savent utiliser les outils qui permettent de manipuler les données). Python est l’un de ces outils.