PHILIPPE GOUILLOU

Comment transférer sa base scientifique de Mendeley à Zotero sur Mac


Philippe Gouillou - 16 octobre 2024
https://gouillou.com/scripts/mendeley-zotero.html


Comment basculer de Mendeley à Zotero sans perdre ses fichiers ni ses tags via un fichier BibTeX.
ATTENTION : il faut modifier ce fichier avant l'import pour ne pas être victime de deux problèmes bloquants. Cette page montre comment faire.

 

Sommaire

1. Synthèse

^

2. Pourquoi

J'utilise Mendeley depuis 2010 et gère avec maintenant 12 142 fiches, quasiment toutes avec des Notes (contenant surtout des références et extraits d'articles de presse sur l'article correspondant, et des citations d'autres articles), et 14,86 Go de fichiers joints. J'ai tout construit autour des Tags qui sont plusieurs centaines (105 commençant par A ou B... plus tous les autres).

Mendeley correspondait parfaitement à mes besoins, sauf sur un point : la complexité du backup. Pour basculer Mendeley sur un nouvel ordinateur sans passer par Time Machine (réinstallation complète), j'ai du aller récupérer des fichiers répartis sur l'ordinateur d'origine.

Mais deux raisons m'ont poussé à basculer :

Après quelques recherches j'ai retenu deux logiciels (tous deux Open Source) : JabRef et Zotero.

JabRef semble très puissant, mais son interface me plait moins et surtout il a deux limites bloquantes :

Il reste donc le plus célèbre, Zotero.

La difficulté a été le transfert.

^

3. Versions utilisées

^

4. Transfert

4.1 BibTeX vs. RIS vs Endnote XML

L'export/import est possible dans les trois formats, mais RIS ne permet pas l'import des Tags et je ne connais pas Endnote. Je suis donc passé par BibTeX.

^

4.2 Opérations préalables dans Mendeley

4.2.1 Vérifier tous les tags

Mendeley permet de modifier les tags de plusieurs articles à la fois très simplement, Zotero en est incapable. Il est donc conseillé de vérifier les tags un à un pour corriger les erreurs de frappe, les doublons (ex : pluriel et singulier), la cohérence majuscules / minuscules (Zotero les distingue), etc. Cela peut aussi être fait dans le fichier BibTeX, mais c'est plus compliqué.

4.2.1.1 Pour modifier les tags dans Mendeley
  1. Sélectionner le tag à modifier ou supprimer
  2. Sélectionner avec CMD-A toutes les fiches
  3. Faire apparaître si besoin l'interface de modification avec CMD-I
  4. Modifier ou supprimer le tag voulu dans l'interface de modification

^

4.3 Export de Mendeley

  1. Se placer sur All documents dans le panel de gauche
  2. Cliquer sur une fiche de la colonne du milieu et tout sélectionner par CMD-A
  3. Clic droit (RIGHT-CLICK) → Export...
  4. Choisir le répertoire de destination
  5. Dans la fenêtre modale, sélectionner BibTeX (*.bib) et valider

Remarques :

^

4.4 Opérations dans Visual Studio Code

Des modifications sont à effectuer sur le fichier obtenu, et elles ne peuvent être faites qu'en format texte, c'est-à-dire via un éditeur de texte (on dit aussi "Editeur de code" : Visual Studio Code, Notes+, etc.). Les explications après sont données pour Visual Studio Code, logiciel gratuit de Microsoft, dans sa version Mac. Elles sont suffisamment détaillées pour qu'un complet débutant puisse s'en sortir.

4.4.1 Tags

Uniquement si vous ne l'avez pas fait dans Mendeley (voir section 4.2.1) ou vous apercevez d'un oubli.

4.4.1.1 Pour modifier les tags dans BibTeX avec Visual Studio Code sur Mac
  1. Afficher le fichier sans passage à la ligne via le raccourci clavier OPTION-Z
  2. Sélectionner à la souris mendeley-tags = { (ou keywords = { si la modification décrite section ci-après (4.4.2) a déjà été faite)
  3. Sélectionner toutes les occurrences par le raccourci clavier CMD-CTRL-G
  4. Etendre la sélection à toute la ligne pour chaque occurrence par le reccourci clavier CMD-SHIFT-RIGHT ARROW (flèche droite)
  5. Ouvrir la fenêtre de recherche par CMD-F
  6. Dans cette fenêtre, à droite, cliquer sur l'icône montrant 3 lignes pour Rechercher dans la sélection
  7. Dans cette fenêtre, à gauche, cliquer sur l'icône montrant une flèche vers le bas pour ouvrir le formulaire de remplacement
  8. Rechercher le tag voulu et le remplacer via la fenêtre de recherche

4.4.2 Keywords

Zotero ne distingue pas comme Mendeley les Keywords (de l'article) des Tags (ajoutés par l'utilisateur) et rassemble les deux dans les Marqueurs, ce qui génère des milliers de keywords (totalement ingérable : j'ai du tout effacer et recommencer...).

L'export BibTeX de Mendeley distingue les keywords des mendeley-tags :

keywords = {IQ,TOM,factor analysis,general intelligence,structural equation modeling,theory of mind},  
mendeley-tags = {IQ,TOM},

... mais pas Zotero qui, par défaut, les regroupe (heureusement dédoublonnés) dans le champ Keywords ( Zotero a une option activée par défaut pour "Ajouter automatiquement aux documents des marqueurs à partir des mots-clés fournis" mais la désactiver, dans Paramêtres → Général | Divers, ne change rien pour les imports depuis BibTeX).

Pour ne conserver que les tags la solution est de :

  1. Supprimer totalement la ligne keywords
  2. Renommer mendeley-tags en keywords
4.4.2.1 Pour remplacer les keywords par les tags dans Visual Studio Code sur Mac
  1. Afficher le fichier BibTeX sans passage à la ligne via le raccourci clavier OPTION-Z
  2. Sélectionner à la souris keywords = {
  3. Sélectionner toutes les occurrences par le raccourci clavier CMD-CTRL-G
  4. Etendre la sélection à toute la ligne pour chaque occurrence par le reccourci clavier CMD-SHIFT-RIGHT ARROW (flèche droite)
  5. Effacer par la touche clavier BACKSPACE
  6. Sélectionner à la souris mendeley-tags
  7. Sélectionner toutes les occurrences par le raccourci clavier CMD-CTRL-G
  8. Taper keywords
  9. Sauvegarder par le raccourci clavier CMD-S

4.4.3 Caractères spéciaux dans les noms de fichier

Le problème est des deux côtés :

  1. Mendeley exporte en format BibTeX qui ne gère pas l'Unicode (contrairement à BibLaTex) et donc échappe tous les caractères non ASCII 128 par des accolades bouclées ("curly braces" : {})... y compris ceux des noms de fichier.
  2. Zotero convertit très bien ces codes... sauf ceux des noms de fichier.

En conséquence, Zotero ne trouve pas les fichiers joints et ne les importe pas.

Mendeley a une option censée empêcher ces échappements, mais chez moi elle ne fonctionnait que sur le premier article exporté, et je n'ai pas trouvé de décodeur en ligne. La solution a donc été de le faire a mano en décodant tous ces caractères échappés dans les noms de fichier : par prudence, je n'ai pas voulu modifier toutes les lignes, mais seulement celles commençant par file = { .

Remarque : Zotero ne renomme pas les fichiers joints importés depuis un BibTeX, quelles que soient les options choisies dans les paramêtres.

4.4.3.1 Pour remplacer les caractères spéciaux dans les noms de fichier avec Visual Studio Code sur Mac
  1. Afficher le fichier sans passage à la ligne via le raccourci clavier OPTION-Z
  2. Sélectionner à la souris file = {
  3. Sélectionner toutes les occurrences par le raccourci clavier CMD-CTRL-G
  4. Etendre la sélection à toute la ligne pour chaque occurrence par le reccourci clavier CMD-SHIFT-RIGHT ARROW (flèche droite)
  5. Ouvrir la fenêtre de recherche par CMD-F
  6. Dans cette fenêtre, à droite, cliquer sur l'icône montrant 3 lignes pour Rechercher dans la sélection
  7. Dans cette fenêtre, à gauche, cliquer sur l'icône montrant une flèche vers le bas pour ouvrir le formulaire de remplacement
  8. Rechercher {\'
  9. Pour chaque résultat : copier tout le caractère (de {\'}) et faire un remplacement global par la lettre correspondante (ex : { {c}} par )
  10. Recommencer au point 8 jusqu'à ce qu'il n'en reste aucun

Rem : le point 9. implique que vous aurez souvent à retourner dans Mendeley pour y copier le caractère ...

^

4.5 Import dans Zotero

4.5.1 Compte Zotero

Le transfert a été effectué avant d'ouvrir un compte sur le site Zotero, celui-ci n'est donc absolument pas nécessaire.

4.5.2 Better BibTeX

J'avais installé l'extension recommandée Better BibTeX, mais je ne sais pas si ça change quelque chose pour l'import (probablement oui, donc : recommandé).

4.5.3 Import

C'est très intuitif :

  1. Ouvrir la fenêtre modale d'import par SHIFT-CMD-I
  2. Cocher : Un fichier (BibTeX, RIS, Zotero RDF, etc.) (c'est l'option par défaut)
  3. Dans la fenêtre option :
    • Décocher "Placer les collections et les documents importés dans une nouvelle collection"
    • Choisir si Zotero copie (importe) ou pas les fichiers (dans mon cas : oui)

L'import en lui-même a pris 3h35 mn (10 fiches par seconde), l'ordinateur restant utilisable pendant ce temps (l'import na pas écroûlé le processeur ni n'a surchargé la mémoire alors que je n'ai que 8 Go et suis toujours limite).

^

5. Résultat

J'ai effectué l'opération deux fois : lors de la première je n'avais pas supprimé les keywords et me suis retrouvé avec des milliers de marqueurs, j'ai donc tout effacé, vidé la corbeille (ce qui a pris du temps...), et recommencé...

Toutes les fiches semblent avoir été importées, une seule a été rejetée (et taggée comme telle par Better BibTeX) parce qu'elle comportait un identifiant non valide (j'ai corrigé dans Visual Studio Code, fait un copier/coller, et l'ai réimportée par SHIFT-CMD-OPTION-I)

5.1 Problèmes constatés

Rien n'est parfait, mai au global le transfert s'est beaucoup mieux passé que je le prévoyais, il n'y a eu aucun problème bloquant :

^

5.2 Premières impressions

Mendeley m'apparaît meilleur pour :

Zotero m'apparaît meilleur pour :

^

^