Bib2HAL ou comment faciliter le dépôt dans HAL
Ce billet est un retour d’expérience à la suite d’une importante pratique d’import par lots de références dans HAL, au début (en 2011) par des versements en XML puis (depuis 2013) par des imports en BibTex grâce à Bib2HAL, outil en ligne développé par l’INRIA.
L’idée de départ était de soulager les chercheurs qui exprimaient ne pas avoir le temps de procéder eux-mêmes au dépôt de leurs travaux, tout en promettant néanmoins de fournir le full-text si le travail de saisie des métadonnées était déjà effectué. Nous avons réalisé une enquête auprès des chercheurs de notre établissement en 2014 et la question “Si on saisit pour vous dans HAL toutes les métadonnées d’un de vos articles, irez-vous ensuite y ajouter le texte intégral ?“ a généré un oui massif à 71 %. Après des centaines d’imports de références seules et quasiment aucun full-text récupéré, nous avons modéré cette pratique en la cantonnant aux articles dont le recensement nous est demandé par ailleurs.
Depuis la nouvelle version de HAL et un partage plus simple de la propriété d’un dépôt, mais surtout depuis très récemment la possibilité d’importer une référence avec Bib2HAL et d’en partager simultanément la propriété, nous trouvons de nouveau un sens à cette démarche et aussi un peu d’espoir pour que davantage de textes intégraux soient ajoutés.
Par ailleurs, nous avons vu quelques collègues renoncer, pensant que c’était trop complexe, ce billet, nous l’espérons, fera la démonstration du contraire.
La collecte et la préparation des données
L’étape préalable est bien entendu la collecte des références dans un logiciel de gestion de références bibliographiques : depuis des sites d’éditeurs grâce aux connecteurs de Zotero, par exemple, par des saisies manuelles et même par la récupération depuis un document texte aidé de l’outil magique Anystyle.io.
Il faut ensuite préparer les données afin de générer un fichier au format BibTex qui puisse être traité par Bib2HAL. Pour cette étape, nous n’avons trouvé qu’EndNote pour paramétrer très facilement cet export. Toutes les spécificités du fichier BibTex attendu sont présentées de façon limpide ici et il faut donc établir une correspondance entre les champs EndNote et les balises BibTex pour que ces dernières soient alimentées correctement.
Les champs BibTex standards (Année
, Auteur
, Titre
etc…) sont bien sûr alimentés automatiquement ; pour les champs spécifiques de HAL (notamment Audience
, Comité de lecture
, Propriété
…), il faut décider d’un “champ d’accueil” dans EndNote. Par exemple, pour la métadonnée Audience
, nous avons décidé de mettre sa valeur dans le champ Notes
.
Si les références ont été collectées depuis des sites d’éditeurs ou des bases bibliographiques, un nettoyage s’impose et les fonctionnalités de rechercher-remplacer d’EndNote nous sont précieuses :
- pour séparer les mots-clés par des virgules (et non pas des marques de paragraphes, par exemple) ;
- pour mettre la langue sur 2 lettres (et non pas en entier) en respectant la norme ISO 639-1 ;
- pour purger le champ
Notes
et le compléter avec la valeur “international” appliquée ainsi par défaut à toutes les références ; nous basculons ensuite manuellement la valeur à “national” pour les rares références concernées ; - pour purger le champ
URL
afin d’éviter, entre autres, que l’usager soit mené vers une page en accès restreint.
Les métadonnées indiquant si la revue est à comité de lecture ou s’il s’agit de vulgarisation pourraient aussi être associées à des champs EndNote, mais comme nous n’importons que des articles de non-vulgarisation, parus dans des revues à comité de lecture, nous avons décidé de mettre leur valeur respective en dur dans la feuille de styles. Ceci étant, Bib2HAL possède la fonctionnalité très puissante de pouvoir vérifier et même compléter les valeurs manquantes de certaines métadonnées, typiquement ces 2 dernières.
Il reste une étape chronophage mais que nous jugeons importante dans la démarche : le partage de propriété. La balise x-onbehalfof
a été ajoutée il y a quelque temps pour renseigner les contributeurs connus de HAL avec qui on souhaite partager le dépôt. A sa mise en œuvre, la valeur attendue était le nom d’utilisateur, mais cette donnée n’est accessible que par les administrateurs. Désormais, il est possible de mettre l’identifiant d’un contributeur ou propriétaire, et cette donnée est publique. Il reste donc à trouver cet identifiant pour alimenter la métadonnée contributorId_i
ou owners_i
via la balise x-onbehalfof
.
Pour cela nous avons paramétré une requête dans HAL via l’API ; elle permet d’afficher l’ID convoité et d’autres informations de contexte pour être sûr de ne pas se tromper de personne :
http://api.archives-ouvertes.fr/search/?fq=contributorFullName_t:"nom_auteur"&fl=halId_s,authLastNameFirstName_s,contributorId_i,owners_i,contributorFullName_s,labStructName_s
Il s’agit de chercher parmi les contributeurs existants le nom d’un des auteurs de la référence traitée (en rouge, alimenté par des copier-coller). Le résultat est plus facile à analyser avec l’extension JSONView (pour Chrome ou Firefox) qui formate le résultat retourné au format JSON en l’affichant de manière plus conviviale (couleurs, indentations…).
Si un identifiant existe bien, nous le mettons dans le champ Author address
d’EndNote qui viendra alimenter la balise x-onbehalfof
à l’export. Nous ne cherchons que les identifiants des auteurs que nous “connaissons”, ou plus précisément qui relèvent d’un laboratoire de notre établissement. Si un autre auteur veut lui aussi la propriété du dépôt, il pourra évidemment nous en faire la demande via HAL, a posteriori.
C’est ainsi que pour le type de document Journal article dans EndNote, nous avons fabriqué le modèle d’export ou style suivant pour le type @article de HAL :
@article{Record Number, | `author = `{Author}, | `title = `{Title}, | `doi = `{DOI}, | `journal = `{Journal}, | `volume = `{Volume}, | `url = `{URL}, | `number = `{Issue}, | `pages = `{Pages}, | `abstract = `{Abstract}, | `x-keywords = `{Keywords}, | `year = `{Year}, | `x-audience = `{Notes}, | `x-onbehalfof = `{Author Address}, | `x-popularlevel = `non, | `x-peerreviewing = `oui, | `x-language = `{Language}
Concrètement, dans EndNote, il est simple d’éditer le style existant d’export BibTex et de le modifier : Menu Edit/Output Styles/Edit “BibTex Export”, puis la section Templates. Pour le type de document correspondant aux articles, la chaîne ci-dessus suffit.
– pour un ouvrage
@book{Record Number, | `author = `{Author}, | `title = `{Title}, | `publisher = `{Publisher}, | `x-publicationlocation = `{Place Published}, | `volume = `{Volume}, | `edition = `{Edition}, | `isbn = `{ISBN}, | `x-audience = `{Notes}, | `x-language = `{Language}, | `x-onbehalfof = `{Author Address}, | `series = `{Series Title}, | `abstract = `{Abstract}, | `keywords = `{Keywords}, | `pages = `{Number of Pages}, | `year = `{Year}
– pour un chapitre d’ouvrage
@inbook{Record Number, | `author = `{Author}, | `title = `{Title}, | `booktitle = `{Book Title}, | `editor = `{Editor}, | `series = `{Series Title}, | `publisher = `{Publisher}, | `x-publicationlocation = `{Place Published}, | `volume = `{Volume}, | `x-onbehalfof = `{Author Address}, | `edition = `{Edition}, | `x-audience = `{Notes}, | `x-language = `{Language}, | `pages = `{Pages}, | `abstract = `{Abstract}, | `keywords = `{Keywords}, | `year = `{Year}
– pour la direction d’un ouvrage
@proceedings{Record Number, | `author = `{Editor}, | `title = `{Title}, | `publisher = `{Publisher}, | `pages = `{Number of Pages}, | `x-publicationlocation = `{Place Published}, | `volume = `{Volume}, | `edition = `{Edition}, | `series = `{Series Title}, | `x-audience = `{Notes}, | `x-onbehalfof = `{Editor Address}, | `abstract = `{Abstract}, | `keywords = `{Keywords}, | `year = `{Year}, | `x-popularlevel = `non, | `x-language = `{Language}
– pour un rapport
@techreport{Record Number, | `author = `{Author}, | `title = `{Title}, | `institution = `{Institution}, | `x-audience = `{Notes}, | `number = `{Report Number}, | `x-reporttype = `{Type}, | `abstract = `{Abstract}, | `keywords = `{Keywords}, | `year = `{Year}, | `pages = `{Pages}, | `x-language = `{Language}
Le traitement dans Bib2HAL
- Eliminer les doublons : c’est une étape obligatoire qui évite de charger dans HAL des références déjà déposées par d’autres. Parfois le doublon est indéniable, notamment lorsqu’il s’agit de DOIs identiques, parfois, sur des références lacunaires, le repérage de 2 titres identiques, même pour un même type de document, n’est pas forcément la preuve d’un doublon. Par exemple, 2 communications au titre identique mais dans 2 conférences différentes. Bib2HAL signale les doublons potentiels et c’est à l’utilisateur de valider ou non la suggestion.
- Saisir les affiliations : Bib2HAL propose de générer automatiquement les affiliations des auteurs, et même d’apposer l’idHAL, s’il existe. Cette fonctionnalité est d’une très grande aide : Bib2HAL propose l’affiliation qu’il pense être la bonne pour l’auteur, en tenant compte notamment de la date de publication et de ce qui existe déjà dans HAL. Il convient ensuite de procéder à une vérification scrupuleuse. Nous procédons toujours par laboratoire, avec un lot qui lui est entièrement dédié, ce qui est plus simple pour corriger les affiliations des auteurs.
- Saisir les métadonnées : là encore, Bib2HAL peut aider en vérifiant les métadonnées renseignées dans le fichier BibTeX et surtout, comme nous l’avons dit plus haut, en générant des valeurs par défaut pour les métadonnées manquantes.
Quelques difficultés, mais un avenir prometteur
AAAA-MM-DD
, format qu’on obtient rarement lors de la collecte de données depuis une autre base, ou lors d’une saisie manuelle par l’auteur.
[Photo en une du Kunsthofpassage (Dresde) : Serge.By. via Foter.com / CC BY]
OpenEdition vous propose de citer ce billet de la manière suivante :
Frédérique Bordignon (9 février 2016). Bib2HAL ou comment faciliter le dépôt dans HAL. Carnet'IST. Consulté le 26 avril 2025 à l’adresse https://doi.org/10.58079/m8n9
1 réponse
[…] Avant d’entamer la lecture de ce billet, je vous conseille très vivement d’aller voir l’article de Frédérique Bordignon sur le fonctionnement de l’application Bib2HAL. […]