{"word_count": 3268, "character_count": 22147}
Au CRCAO (Centre de recherche sur les civilisations de l’Asie orientale), nous avons récemment été confrontés à un problème sans doute partagé par de nombreux collègues : comment verser une importante bibliographie Zotero ((Zotero est un outil libre de gestion de bibliographie, disponible à l’adresse suivante : https://www.zotero.org/.)) dans HAL ((HAL (Hyper articles en ligne) est une archive ouverte accessible à l’adresse suivante : https://hal.archives-ouvertes.fr/.)) ?Nous avons souhaité dans cet article montrer comment cette question a été résolue, et rappeler quel est l’usage d’outils comme Zotero et HAL dans un laboratoire de recherche en sciences humaines, puis analyser la question du transfert de l’un à l’autre avant de donner le détail de la méthode d’importation conçue en interne pour que d’autres puissent la tester ou l’adapter.Zotero et Juris-MLorsque le CRCAO a décidé, il y a quelques années, de signaler ses publications au moyen d’un outil du libre, le choix s’est tout d’abord porté sur Zotero. Ce logiciel semblait alors plus adapté que HAL aux problématiques d’un laboratoire spécialisé dans le domaine de l’Asie orientale et plus modulable.Zotero a donc été l’élément central d’un système interne de gestion des bibliographies des membres du laboratoire.La direction du laboratoire avait deux objectifs essentiels : faciliter la gestion, la valorisation et la mise en forme de leurs bibliographies par les chercheurs et chercheuses du laboratoire ; avoir à disposition rapidement et aisément des bibliographies de qualité, notamment pour pouvoir établir plus aisément des rapports du type de ceux de l’HCERES ((Haut Conseil de l’évaluation de la recherche et de l’enseignement supérieur : https://www.hceres.fr.)).Pour y parvenir, le CRCAO a adopté un style bibliographique pour Zotero, au format CSL ((Citation Style Language. Le style du CRCAO est disponible à l’adresse suivante : https://www.zotero.org/styles?q=crcao.)), réalisé par un collègue du département bibliométrie-ressources en lignes des bibliothèques et archives du Collège de France, Julien Rabaud.Parallèlement, l’assistant-ingénieure du laboratoire, Élise Lemardelé, a créé pour le CRCAO une bibliothèque de groupe sous Zotero : un dossier a été mis en place  pour chaque chercheur.se afin de leur permettre de déposer et tenir à jour leurs références.En complément, elle aidait ceux qui ne pouvaient déposer eux-mêmes dans leur dossier virtuel et collectait par courriel les listes de références manquantes pour compléter la bibliographie générale.Enfin, étant donné ses domaines d’expertises sur l’Asie orientale et la particularité des langues utilisées (principalement le chinois et le japonais), le CRCAO a décidé d’utiliser une variante de Zotero appelée Juris-M ((https://juris-m.github.io/)). Zotero étant un logiciel libre, le développeur de Juris-M, Frank Bennet, a repris le code complet de ce logiciel ((C’est pour cette raison, par exemple, que les comptes utilisateurs sont les mêmes sur Zotero et sur Juris-M.)), pour y ajouter des fonctionnalités supplémentaires, toutes axées sur le multilinguisme.Il est ainsi possible, pour l’essentiel des champs de Zotero, d’ajouter des traductions. Par exemple, pour une référence en chinois, le champ titre peut être multiplié par trois : le premier donne le titre en chinois, le deuxième la translittération du chinois en pinyin (le pinyin est la transcription officielle du chinois mandarin. Le pinyin utilise l'alphabet latin mais ne se lit pas comme le français) et le dernier la traduction en français. Grâce au paramétrage, on peut également définir l’ordre d’affichage de ces différents éléments et de leurs séparateurs dans la bibliographie.Par exemple : dans la référence Li Guoqiang, « 太牢考论 », Tailao kao lun (Étude sur Tailao, sacrifice composé de bovin-ovin-porc), Faguo Hanxue, vol. 14, 2009, p. 151‑195 : 太牢考论 est le titre chinois ; Tailao kao lun la translittération en pinyin, affichée après le titre original et une virgule et enfin ; Étude sur Tailao, sacrifice composé de bovin-ovin-porc est la traduction française donnée après le pinyin, entre parenthèses.Le choix de HALLa collecte des références bibliographiques sous Juris-M a perduré au CRCAO jusqu’à une date récente, où HAL, de par ses évolutions, a davantage répondu aux besoins de notre laboratoire qu’il ne le faisait au préalable. Désormais, si l’usage de Zotero est toujours pleinement encouragé, un glissement vers HAL s’est opéré.Il faut noter que, dans le même temps, le dépôt sur HAL a pris une forme obligatoire tout en devenant plus pertinent pour les institutions de recherche. De fait, les dernières versions de HAL répondent de mieux en mieux aux besoins des chercheurs en sciences humaines et sociales ((Les traductions, par exemple, particulièrement importantes dans nos domaines de recherche, sont désormais bien intégrées.)) et proposent en complément des fonctionnalités de plus en plus attrayantes pour les auteurs et autrices ((Nous citerons à titre d’exemple la possibilité de créer son CV, particulièrement appréciée.)).Mais c’est certainement l’évaluation du CRCAO par l’HCERES qui a servi de déclencheur. Nous nous sommes alors engagés à déposer dans HAL les références bibliographiques (pour le projet quadriennal 2014-2018) des membres du CRCAO : dans un premier temps, nous nous en sommes chargés pour les membres du laboratoire, puis nous avons commencé à inciter les chercheurs et chercheuses à déposer directement leurs documents, en l’accompagnant dans cette tâche.C’est dans ce contexte que le CRCAO s’est lancé en parallèle dans l’ouverture d’une collection sur HAL. Cette page dédiée ((https://hal.archives-ouvertes.fr/CRCAO/.)), qui peut être utilisée conjointement avec l’API ((L’API, pour Application programming interface ou Interface de programmation applicative en français, permet de rechercher avec beaucoup de finesse les publications présentes sur HAL.)) proposée par HAL, offre des possibilités extrêmement intéressantes pour la valorisation et la transmission de la production scientifique du laboratoire.De Zotero_Juris-M vers HAL : quelle(s) solution(s) ?L’engagement de déposer sur HAL était une excellente occasion de valoriser notre bibliothèque sous Juris-M. La matière première était donc facilement accessible mais il restait à trouver un pont avec HAL, en prenant garde de ne pas perdre d’informations et en particulier les traductions.Bib2HALLa documentation de HAL propose une solution pour passer de Zotero vers HAL, par le biais d’un logiciel intermédiaire supplémentaire : il s’agit d’exporter une bibliographie Zotero au format BibTeX en utilisant Bib2HAL ((Bib2HAL permet de déposer un lot de publications dans HAL à partir d’un fichier BibTeX dans le portail de HAL (cf. https://doc.archives-ouvertes.fr/bib2hal/).)).C’est donc une des premières solutions que nous avons étudiée. Mais la mauvaise qualité de l’export Juris-M au format BibTeX nous a obligés à y renoncer rapidement ((Cet export est adapté à la version initiale de Zotero. Il est donc logique que les informations supplémentaires, comme celles concernant le multilinguisme et spécifiques à Juris-M, ne soient pas prises en compte dans notre cas de figure.)) : toutes les traductions étaient perdues lors de cette étape. La perte de données étant trop importante, cette solution s’est donc révélée inopérante.Néanmoins, cette expérience fut particulièrement instructive : elle a montré qu’il était indispensable de repérer l’export proposé par Juris-M qui préserve le plus de données possibles afin de conserver la richesse des références bibliographiques translittérées et traduites.Ressources en interneÀ cette étape, il est devenu évident que les outils proposés dans la documentation de HAL ne convenaient pas à nos besoins très spécifiques. La question était d’importer automatiquement des références depuis Juris-M vers HAL, et aucune solution - à notre connaissance - n’existait pour cela.Pour parvenir à un import automatique qui préserve les données que nous avions saisies dans Juris-M, nous avons décidé de nous appuyer sur les compétences et forces internes au laboratoire, que nous avons préalablement recensées : outre une expertise sur Juris-M, HAL et son API, nous disposions de compétences importantes en matière de langages XML ((eXtensible Markup Language (pour une présentation succincte, cf. https://www.w3.org/XML/).)), notamment la TEI ((Text Encoding Initiative (cf. http://www.tei-c.org/).)), de langages de requêtes correspondants comme XQuery ((https://www.w3schools.com/xml/xquery_intro.asp.)), et sur logiciel de gestion de bases de données XML appelé BaseX ((http://basex.org/)).Or ces connaissances en XML se sont révélées rapidement très utiles : de nombreux formats disponibles pour exporter des données depuis Juris-M sont en effet des formats XML, tels que Endnote XML, MODS ou TEI. Par ailleurs, la TEI est le format pivot standard choisi par HAL pour l’import de données. ProcédureAu terme d’un certain nombre de recherches et après avoir développé un script approprié, nous avons pu proposer une procédure destinée à l’import automatique des références de chaque chercheur ou chercheuse. Les étapes en sont les suivantes : exporter au format MODS la bibliographie enregistrée dans Juris-M ; convertir les données MODS au format TEI en respectant le schéma AOfr de l’API SWORD-HAL ((La documentation sur cette API est disponible à cette adresse : https://api.archives-ouvertes.fr/docs/sword.)), grâce au script xqm que nous avons développé, après avoir créé une base « auteurs » ; importer automatiquement dans HAL les références TEI grâce à un script PHP mis librement à disposition de la communauté HAL:ImportParLotSword.php ((Ce script est disponible sur Github à l’adresse suivante: https://github.com/CCSDForge/HAL/tree/master/scriptImport.)).Comment avons–nous abouti à ce processus ?Première étape : export MoDS depuis Zotero_Juris-MLa première étape du processus exigeait d’exporter les données depuis Juris-M dans le format XML le plus adapté.Les exports proposés par Juris-M sont les mêmes que dans Zotero. On pourrait donc supposer que les données complémentaires propres à Juris-M dans les références bibliographiques ne seront jamais prises en compte. Nous avons constaté de façon empirique qu’il n’en était rien et que nos exports étaient plus ou moins complets selon le format retenu. Cette disparité de résultats s’explique peut-être par le fait que chaque export dans un format particulier est l’œuvre d’un auteur différent ((Tous les scripts pour les exports sont disponibles sur le github de Zotero : https://github.com/zotero/translators.)).Nous avons donc testé et éprouvé les différents exports proposés, en commençant par un export direct en TEI, étant donné que HAL, comme nous l’avons signalé, autorise l’import de données dans ce format.Mais l’export TEI n’était pas assez complet et les informations de traduction étaient perdues lors de cette étape. En outre, les modèles de données suivis par Juris-M et par HAL pour exprimer les informations bibliographiques en TEI, étaient trop différents. Le formalisme de ce langage permet en effet d’exprimer la même information, en la décrivant de manière différente ((En TEI, au moins trois éléments peuvent être utilisés pour décrire des références bibliographiques : bibl, biblStruct ou biblFull (de la plus imprécise à la plus complète). À titre d’exemple, l’export TEI de Juris-M utilise l’élément biblStruct alors que HAL utilise l’élément biblFull.)).Après plusieurs tests, notre choix s’est porté sur le format MODS ((MODS, pour Metadata Object Description Schema, est un vocabulaire XML de description bibliographique développée par la Bibliothèque du Congrès (cf. http://www.loc.gov/standards/mods/).)) qui répondait tout à fait à nos exigences : des données structurées en XML sans pertes lors de l’export.Il fallait maintenant transformer le format de ces données sous MoDS en TEI propre à HAL.Deuxième étape : de MODS à TEILa conversion de la bibliographie d’un auteur du format MODS au format TEI adapté à HAL est bien entendu l’étape la plus difficile et elle a nécessité un développement important.Cette conversion est assurée par un script en XQuery, utilisé dans le logiciel de base de données XML appelé BaseX, après création d’une base « auteurs ».En effet, une des problématiques principales à laquelle nous avons été confrontés concerne les informations obligatoires pour HAL mais tout à fait absentes de Juris-M. Plus précisément, pour chaque référence, il faut intégrer en TEI : l’identifiant HAL de l’auteur ((Cet identifiant peut être son idHAL, son numéro halauthorid ou ORCID.)) ; l’identifiant de son affiliation ((Dans notre cas, l’identifiant HAL du CRCAO.)) ; et le domaine HAL ((La liste des domaines HAL est donnée dans l’API : http://api-preprod.archives-ouvertes.fr/ref/domain/.)).Donc, avant de chercher à convertir les références de MODS en TEI, il faut régler ces problèmes. Pour cela, nous avons trouvé une solution : créer une base Auteurs.Par ailleurs, les typologies de documents ne sont pas les mêmes dans HAL et Juris-M : là où le second propose près de quarante types de documents différents (depuis le livre jusqu’au programme informatique), HAL en propose à peine la moitié ! De plus, la langue de chaque document n’est pas toujours correctement indexée et les formats de date tolérés par HAL sont bien moins nombreux que ceux qu’accepte Juris-M. Il nous a fallu en tenir compte dans l’élaboration de notre script.Étape intermédiaire : la création d'une base « auteurs »Nous avons organisé notre script en mettant l’auteur au centre, offrant ainsi un accompagnement précis et personnalisé aux chercheurs et chercheuses déposant.e.s,Nous aurions pu intégrer les informations demandées par HAL directement dans les notices Juris-M. Mais il nous a semblé peu logique d’ajouter ici des informations superflues, d’autant qu’il aurait fallu détourner des champs de Juris-M pour y intégrer des informations comme l’identifiant HAL de l’auteur. Nous avons donc préféré créer une base en TEI (par souci de cohérence avec les données en TEI pour HAL) réunissant toutes les informations sur l’auteur. Cette solution offre de nombreux avantages : elle permet à toute institution d’avoir une base de référence sur ses auteurs déposants, facile à mettre à jour, et permettant une grande précision. Nous enregistrons par exemple le(s) domaine(s) HAL sur le(s)quel(s) travaille cet auteur et nous offrons aussi la possibilité aux auteurs d’ajouter une liste de mots-clefs génériques ((Ces mots-clefs peuvent d’ailleurs être ajoutés dans n’importe quelle langue.)) à joindre à toutes leurs références bibliographiques ((Un exemple de base « auteurs » est disponible sur le github du CCSD : https://github.com/CCSDForge/HAL/blob/master/MODS2TEI-HAL/auteurs.xml)).Création du script MODS2TEI.xqmCe script intelligent transforme les données au format MoDS, issues de Juris-M, en format TEI adapté pour HAL, en les complétant à partir des données de notre base « auteurs » et en les structurant différemment selon le type bibliographique ((Ce que nous expliquons ici est aussi disponible sur le github du CCSD : https://github.com/CCSDForge/HAL/tree/master/MODS2TEI-HAL.)) retenu.Les types de documentsLe script gère une partie de la typologie de documents de Juris-M, qui est plus fine que celle de HAL, comme nous l’avons expliqué précédemment. Nous nous sommes focalisés sur les types de documents les plus fréquents dans nos domaines. Pour reprendre la terminologie anglaise de Zotero, nous avons sélectionné et géré les références suivantes : Book comme des ouvrages selon la terminologie de HAL ; Book Section, Conference Paper, Dictionary entry et Encyclopedia article comme des chapitres d’ouvrage ; Journal article, Magazine article et Newspaper article comme des articles.Les mots-clefsEn plus des mots-clefs génériques que l’on peut ajouter dans la base « auteurs », tous ceux présents dans les notices Zotero_Juris-M sont conservés et ajoutés automatiquement dans HAL.Les résumésLe champ abstract de Zotero_Juris-M est lui aussi conservé pour l’import dans HAL.Les identifiantsLes identifiants (ISBN, ISSN, etc.) sont également conservés. Cette fonctionnalité est très intéressante car si la ressource est en accès libre, HAL utilisera ces identifiants pour récupérer ou renvoyer directement au texte intégral.La langueIl est vivement conseillé de renseigner dans Zotero_ Juris-M le champ « langue » pour chaque notice avec un code langue adéquat (par exemple, FR pour français, EN pour anglais, etc.).Les datesLes formats de date tolérés par Zotero_Juris-M sont beaucoup plus souples que ceux réclamés par HAL.Il faut donc s’assurer que les dates dans Zotero sont bien renseignées sous le format : YYYY-MM-DD, ou YYYY-MM, ou YYYY.Si ce n’est pas le cas, le script fonctionnera pour une référence isolée mais pas pour un import par lot dans lequel les références dont le format date n’est pas adéquat risqueront d’être rejetées.La gestion des doublonsLe script MODS2TEI.xqm dispose d’un système de contrôle : si les champs URL ou Extra de Zotero_Juris-M contiennent la chaîne de caractère HAL, la référence n’est pas prise en compte pour éviter, lors d’imports, de créer des doublons dans HAL.La qualité de l’import dans HAL dépend donc de l’attention apportée à la notice initiale dans Zotero_Juris-M. Il est important de prendre garde particulièrement aux dates, à la langue et avant toute chose de vérifier si la référence n’existe pas déjà dans HAL.ProcédureLes informations concernant la procédure d’utilisation de ce script sont également disponibles sur le github du CCSD :  https://github.com/CCSDForge/HAL/tree/master/MODS2TEI-HAL.En résumé, il est nécessaire de commencer par constituer sa base « auteurs » comme indiqué précédemment, et d’exporter la bibliographie Zotero_Juris-M au format MODS. Il faut ensuite installer le logiciel BaseX et y créer une base de données « auteurs », pour notre propre base « auteurs » et une autre pour notre bibliographie sous MODS, résultat de notre export depuis Zotero_Juris-M. Dans BaseX, il convient alors d’ouvrir le script MODS2TEI-HAL.xqm, de renseigner les champs demandés au début du script et de le lancer.Le script travaille en s’appuyant sur les deux bases de données. Pour assurer son bon fonctionnement, il est essentiel de veiller à ce que le nom et le prénom de l’auteur soient renseignés exactement de la même manière dans les champs au début du script et dans la base auteur ((L’outil compare les chaînes de caractère du script et de la base, ce qui explique l’importance capitale de renseigner de la même façon cette information.)).Une fois la compilation terminée, l’utilisateur obtient un document TEI ((Par défaut, ce document est disponible dans le dossier de BaseX, en suivant le chemin suivant : webapp/static. Le nom de ce fichier est la concaténation du nom de l’auteur (donné par l’utilisateur au début du script MODS2TEI.xqm) et de « .xml ».)), avec toutes les références bibliographiques adaptées au schéma de HAL, qu’il peut ensuite importer automatiquement.Troisième étape : import automatiqueLa dernière étape est quant à elle plus facile à mener à bien,  grâce à un script PHP mis à disposition de la communauté HAL ((Ce script est disponible sur Github à l’adresse suivante : https://github.com/CCSDForge/HAL/tree/master/scriptImport)). Il prend en entrée un fichier XML au format TEI-HAL, découpe la TEI en un fichier par biblFull, copie le fichier dans le répertoire xmlSword et lance l’import Sword ((Cf. le script et la procédure sur Github : https://github.com/CCSDForge/HAL/tree/master/scriptImport.)).C’est ainsi que nous avons pu, pour chaque chercheur et chercheuse qui le souhaitait au sein de notre laboratoire, importer en son nom ses références bibliographiques dans HAL.Aujourd’hui, cette étape serait sans doute gérée différemment et plus facilement, en utilisant l’application X2hal ((X2hal est une application complémentaire à HAL qui permet de déposer un lot de publications sur HAL : https://x2hal.inria.fr/homepage.)) qui n’existait pas encore.ConclusionUne fois le script MODS2TEI.xqm réalisé, nous avons pu importer très efficacement et rapidement quatre-cent soixante-quatorze références bibliographiques dans HAL, pour quarante-et-un chercheurs et chercheuses du CRCAO.Actuellement, le nombre de notices disponibles sur le portail du CRCAO s’élève à mille deux-cent cinquante-six ((Pour trouver ce résultat, nous avons utilisé la requête suivante sur l’API de HAL : https://api.archives-ouvertes.fr/search/CRCAO/)), ce qui veut dire que la procédure décrite ici a permis d’importer automatiquement près de 40% des ressources dans HAL.Il est à noter que la méthode que nous avons employée n’est pas la seule possible. En effet, une autre démarche consisterait à développer dans Juris-M un script en JavaScript pour exporter des bibliographies au format TEI, script qui conserverait les traductions et respecterait le schéma AOfr de l’API HAL.Il suffirait alors d’exporter sa bibliographie dans ce format, pour l’importer ensuite aisément avec X2hal. Cette solution, pourtant beaucoup plus souple et logique, n’a pas été retenue au CRCAO pour une raison simple : nous ne disposions pas de compétences en JavaScript en interne qui auraient permis d’aboutir à ce résultat. Il nous semblerait cependant particulièrement utile qu’un tel script soit développé !Le travail réalisé en interne et présenté ici a en revanche permis d’illustrer comment exploiter le mieux possible les compétences disponibles dans une équipe pour parvenir à un objectif précis, quand bien même ces compétences ne seraient pas les plus adaptées a priori pour résoudre un problème donné.En complément, notre script offre une possibilité inédite de conversion de données au format MODS en TEI pour HAL, qui pourrait s’avérer particulièrement utile, notamment aux bibliothèques.[cite]Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution – Pas d’Utilisation Commerciale – Partage dans les Mêmes Conditions 4.0 International