Quand le convertisseur web ne convertit plus…

J’ai eu récemment l’occasion de répondre sur Twitter à une interrogation concernant le résultat étrange de l’import d’une référence via le site Isidore dans Zotero. Et je me suis moi-même confronté à un problème semblable sur le site du Monde dans les jours qui ont suivi. Tout cela m’a amené à creuser un peu la manière dont Zotero gère cette opération.

Je rédige donc cette petite note pour rassembler mes (petites) découvertes techniques, en guise de mémo. Nous irons donc ici un peu plus loin dans le moteur de Zotero que nous ne l’avons fait dans notre précédent billet sur l’import de références.

Rappel : comment Zotero importe-il les références depuis le web ?

Pour plus de détails (et des captures d’écran) sur ce point, voir notre précédent billet générique Ajouter une référence avec le nouveau menu.

Sur un site web donné, pour importer une référence Zotero depuis votre navigateur s’appuie sur un petit programme nommé convertisseur web (ou Web translator en anglais) codé en javascript. Ils sont tous rangés dans votre dossier Zotero, dans le répertoire translators. Il en existe de deux types :

  1. Les premiers sont des convertisseurs web spécifiques, qui ont été configurés pour un site en particulier, afin de sélectionner un maximum de données pertinentes. Celui du site du Monde.fr est par exemple inclus dans le fichier Le monde.js. Notez que ceux-ci sont pour beaucoup conçus par des développeurs indépendants de l’équipe Zotero.
  2. Les seconds sont des convertisseur web génériques, qui ont l’avantage de fonctionner sur tous les sites web, mais qui ne tiennent pas compte des spécificités de chaque site web. Ceux-ci se nomment Embedded metadata ou Page web et sont développés par l’équipe Zotero.

Vous pouvez choisir quel convertisseur utiliser. Il faut pour cela ne pas cliquer directement sur l’icône Zotero dans la barre d’outils de son navigateur, mais cliquer avec le bouton droit, et se rendre dans le menu « Save to Zotero ». Ici apparaît alors une liste de tous les convertisseurs disponible pour le site en particulier sur lequel vous êtes.

Vue du menu des convertisseurs (Cliquez pour agrandir)

Remarques :

  • Notez qu’il est facile de reconnaître un site pour lequel il n’existe pas de convertisseur spécifique : l’icône  s’affiche sur le bouton Zotero dans votre barre d’outils. Celle-ci signifie implicitement que Zotero ne reconnaît pas le type de document affiché par votre navigateur, et donc que le convertisseur générique se déclenchera en cas de demande d’import de votre part.
  • Notez enfin que les convertisseurs spécifiques donnent lieu à des références bien plus complètes et précises que ce à quoi peuvent parvenir les convertisseur génériques. Ils sont donc à privilégier (ce que Zotero fait d’ailleurs lorsqu’il y a un disponible pour le site internet que vous consultez).

Comment fonctionne un convertisseur ?

Pour ma part, je rencontre assez fréquemment des soucis de convertisseurs qui ne convertissent plus (ou mal). Parfois Zotero importe de manière remarquable les références que je lui demande depuis les sites web ou les bases de données bibliographiques en ligne, mais parfois non. Parfois aussi, il lui arrive de ne plus importer correctement ce qu’il importait très bien jusqu’alors. Parfois encore, importer une même référence depuis deux sources distinctes produit des références différentes.

En conséquence, il faut non seulement entrer à la main les informations dans Zotero, mais en plus souvent corriger des erreurs que l’import a pu commettre. Même si Zotero dispose de fonctionnalités pour faciliter ce nettoyage, il y a de quoi s’arracher les cheveux parfois, il faut le reconnaître. Faut-il pour autant jeter le bébé avec l’eau du bain et abandonner Zotero ?

Pourquoi cela fonctionne-t-il pour certains sites internet, certaines bases de données, et pas pour d’autres ? Pourquoi Zotero paraît parfois ne plus savoir faire ? Pour comprendre ce qu’il se passe, il faut savoir que Zotero construit la référence à chaque fois qu’on lui demande d’en importer une.

Par exemple. Si je veux importer la référence d’un article du Monde depuis le site web du journal, Zotero va collecter les informations pertinentes dans cette page afin de compléter chacun des champs de la référence qu’il va créer pour vous. Il va chercher l’auteur pour renseigner le champ auteur, il va chercher le titre pour remplir le champ titre, etc.

C’est-à-dire que les références d’une page ou d’un article ne sont − d’une manière générale − pas données à Zotero prêtes à importer. On trouve certes des références clé en main (par exemple sous la forme de fichiers .bib ou .ris ou de liens spécifiques d’import pour les applications Endnote ou Refworks), mais celles-ci sont gérées par un autre type de convertisseur, nous n’en parlerons donc pas ici. Notez néanmoins qu’elles sont utiles en cas d’import massif de références, ou alors justement en cas d’échec de l’import automatique via le convertisseur web. Concernant l’import web, Zotero travaille toujours à assembler les informations affichés sur la page consultée ainsi que celles fournies sous forme de métadonnées invisibles.

Donc, si un site web souhaite être pleinement compatible avec Zotero, son webmestre va s’assurer d’afficher et de signaler les informations importantes (titre, auteur, date, etc) afin que le convertisseur générique puisse les trouver. Mieux encore, il pourra écrire lui-même un convertisseur web spécialisé qu’il mettra à disposition de tous (à ma connaissance, c’est ce que fait par exemple l’équipe de la base Isidore, mentionnée plus haut).

Problèmes, explications et issues de secours

Plusieurs problèmes d’import peuvent donc survenir.

Dans le premier cas, le plus commun, la référence est incomplète ou erronée car l’import est effectué par le convertisseur web générique. Dans ce cas, vous vous heurtez aux limites d’un programme généraliste face à un cas particulier.

  • Explication : si le convertisseur web générique s’est ici déclenché, c’est qu’il n’existait pas de convertisseur web spécifique associé à ce site web. Or, cette page n’est pas pleinement lisible pour le convertisseur générique.
  • Issue n° 1: certains sites (par exemple Persée) proposent des références prêtes à importer sous la forme de fichiers .bib ou .ris (voire des liens spécifiques d’import pour les applications Endnote ou Refworks). Ces ressources permettent un import manuel. La procédure est moins directe, mais c’est toujours mieux que de renseigner chaque champ à la main. Notez que Zotero propose ici une fonction Importer depuis le presse-papier qui rend l’import manuel très simple.
  • Issue n° 2 : il faudrait idéalement vous doter d’un convertisseur spécifique. Ici, deux options possibles. Soit vous demandez (gentiment) sur le forum Zotero si quelqu’un aurait l’amabilité de se pencher sur la question, puis vous vous armez de patience. Soit vous le faites vous-même si vous avez des compétences en javascript (le mode d’emploi est ici).

Dans le second cas, la référence est incomplète alors même que vous avez sélectionné un convertisseur spécifique. Dans ce cas, vous vous heurtez à une dure loi d’internet : l’évolution incessante de la structure des sites web.

  • Explication : le convertisseur web ne reconnaît pas pleinement la page affichée, car celle-ci a vu son code changer depuis la dernière mise à jour du convertisseur. Celui-ci ne sait donc plus où chercher les informations nécessaires. C’est précisément ce qui m’est arrivé il y quelques jours : le convertisseur web spécifique au site du Monde savait importer une référence depuis une page standard du journal, mais ne savait pas le faire depuis une page réservée aux abonnés.
  • Issue : d’abord, il faut vérifier que vous n’êtes pas le seul à rencontrer ce problème (ce site de test automatique de tous les convertisseurs Zotero peut aider), et informer du problème l’auteur du convertisseur. Pour cela, le plus direct est de déposer un rapport de bug sur cette page, en mentionnant le nom du convertisseur incriminé (la liste est sur cette page), et en ajoutant des captures d’écran. Si cette dernière opération vous semble inatteignable, signalez au moins le problème sur le forum Zotero.

Dans tous les cas, il est judicieux de vérifier que votre version de Zotero est à jour, ainsi que le module Zotero Connector de votre navigateur. Les convertisseurs web sont en effet mis à jour très régulièrement, il est donc très possible qu’un retard de mise à jour ne vous donne pas accès aux derniers ajustements. Vous pouvez aussi utiliser le bouton Update Translators pour mettre à jour la liste de convertisseur installée chez vous et ainsi profiter des dernières corrections. Pour le trouver, rendez-vous dans les préférences de l’application Zotero (onglet « générales ») et dans celles du module Zotero Connector de votre navigateur (onglet « Advanced »).

Mettre à jour les convertisseurs dans l’application.

Mettre à jour les convertisseurs dans le connecteur.

Notes pour les aventuriers

Voici quelques recommandations à suivre si jamais il vous prend l’envie de bidouiller les convertisseurs web de votre dossier Zotero pour tenter de vous en sortir seul (quitte à signaler ensuite au monde entier votre succès) :

  • Prenez évidemment garde à préserver une copie intacte du convertisseur que vous modifiez.
  • Pour tester vos modifications, au fur et à mesure, vous pouvez vous appuyer sur le programme Scaffold développé par l’équipe Zotero, précisément pour faciliter la création de convertisseurs. Celui-ci est compatible avec Zotero 5 depuis peu, mais nécessite pour l’instant de recompiler Zotero pour y avoir accès (utilisateurs avancés).
  • Pour que vos modifications soient prises en compte par Zotero, une fois que vous avez obtenu une solution satisfaisante, n’oubliez pas :
    • de désactiver et réactiver l’extension Zotero Connector de votre navigateur,
    • de fermer toutes les sessions Zotero et de les relancer,
    • et éventuellement de réinitialiser les convertisseurs, afin d’obliger Zotero à parcourir à nouveau tous les fichiers du répertoire translators. Pour trouver le bouton Reset Translators, rendez-vous dans les préférences de l’application Zotero (onglet « générales ») et celles du module Zotero Connector de votre navigateur (onglet « Advanced »).

Et vous, avez-vous déjà corrigé un convertisseur web ? Avez-vous des astuces à partager ?


Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *