Ce tuto vise à montrer comment utiliser le logiciel de gestion bibliographique Zotero sous Linux via le logiciel PlayOnLinux basé sur Wine.

Le but est de travailler avec l'addon Zotero de Firefox sur Linux, puis travailler avec les références mémorisées dans Office Word, installé avec PlayOnLinux.

Ce qui suit assume qu'Office via PlayOnLinux, Zotero standalone sous Linux et le plugin Firefox sont déjà installés.

Ce tuto est pour la version 5.x de Zotero Standalone et de son module pour Firefox 56 et 57+ supportant la nouvelle API WebExtensions.

Pour la version 4.x et le module WebExtensions de Firefox, un autre tuto est disponible ici.

Sommaire

Installer/Mettre à jour Zotero Linux

  • Télécharger la version Linux de Zotero 5: Ici.

  • Décompressez l'archive puis exécuter Zotero via le script nommé zotero.

  • La migration des précédentes données s'effectue. Si besoin, votre ancien profil se situe dans ~/.zotero/zotero/<random id>.default/zotero.

Installer Zotero dans PlayOnLinux

  • Télécharger la version Windows de Zotero: Ici.

  • Ouvrir PlayOnLinux puis sélectionner le disque virtuel contenant la suite Office. Si vous utilisez Office 2010, alors la version de Wine par défaut sera trop ancienne pour exécuter Zotero ou son installeur; vous allez devoir mettre à jour wine (chez moi Wine 2.9 suffit):

Wine version

Note

Peut-être aurez-vous besoin d'installer le paquet Visual C++ 2015 sur votre version de Wine.
L'erreur rencontrée est la suivante: nimplemented function api-ms-win-crt-runtime-l1-1-0.dll._seh_filter_dll, aborting. L'installeur est présent à cette url. Il faudra ensuite passer les dlls suivantes en native,builtin via l'outil de configuration de Wine dans PlayOnLinux: atl140 msvcp140 msvcr140 vcomp140.

Si besoin, votre ancien profil se situe dans ~/PlayOnLinux's virtual drives/Office2010/drive_c/users/<username>/Application\ Data/Zotero/Zotero/Profiles/<random_id>.default/zotero/: Profil localisation

  • Cliquer sur Lancer un ".exe" dans ce disque virtuel

lancer exe disque virtuel

  • Après l'installation, dans l'onglet Général, cliquer sur Créer un nouveau raccourci depuis ce disque dur virtuel

  • Sélectionner Zotero.exe dans la liste des applications, puis valider.

Il est maintenant possible de démarrer l'application depuis le gestionnaire d'application de PlayOnLinux:

Zotero dans PlayOnLinux

Utiliser une seule base de données pour les deux versions

  • Démarrer Zotero.exe une première fois puis le fermer (initialisation du profil).

  • Se placer dans le dossier de profil de Zotero sur PlayOnLinux, puis créer un lien symbolique vers la base de données de la version Linux présente dans le /home/:


$ cd ~/.PlayOnLinux/wineprefix/Office2010/drive_c/users/<username>/Application\ Data/Zotero/Zotero/Profiles/
$ ln -s ~/.zotero/zotero/<random id>.default
  • Éditer le fichier profiles.ini dans ~/.PlayOnLinux/wineprefix/Office2010/drive_c/users/<username>/Application\ Data/Zotero/Zotero/ et mettre à jour la ligne Path=<random id>.default avec le nom du lien symbolique que vous venez de créer (remplacez par votre id dans la commande ci-dessous):


$ sed -i "s#Path=.*#Path=Profiles/<random id>.default#" profiles.ini
  • Effacer l'ancien dossier .default qui n'est plus utile à présent.

La configuration de Zotero Wine est maintenant liée à la configuration de Zotero Linux.


Dans la nouvelle version 5.0, le fichier ~/.zotero/zotero/<random id>.default/prefs.js, contient un chemin absolu vers la base de données. Ce chemin diffère selon que vous utilisiez la version Wine ou la version Linux.

  • Version Linux

    user_pref("extensions.zotero.dataDir", "/home/<username>/.zotero/zotero/<random id>.default/zotero");

  • Version Wine

    user_pref("extensions.zotero.dataDir", "C:\\users\\<username>\\Application Data\\Zotero\\Zotero\\Profiles\\<random id>.default\\zotero");

Si vous ne mettez pas ce chemin à jour en fonction de la version de Zotero que vous souhaitez lancer, alors celui-ci ne trouvera pas votre profil et en crééera un nouveau dans ~/Zotero ou dans C:\users\<username>\Zotero.

Pour modifier dynamiquement ce fichier, nous allons devoir modifier les scripts d'appels:

  • Exécutable Linux

Éditer le script exécutable (présent dans l'archive téléchargée sur le site après décompression) ~/Downloads/Zotero_linux-x86_64/zotero servant à lancer le logiciel en y ajoutant cette ligne (mettez à jour <random id>):

sed -i "s#user_pref(\".*extensions.zotero.dataDir\".*#user_pref(\"extensions.zotero.dataDir\", \"/home/$USER/.zotero/zotero/<random id>.default/zotero\");#" ~/.zotero/zotero/<random id>.default/prefs.js

Ce qui donne quelque-chose comme cela :

...
sed -i "s#user_pref(\".*extensions.zotero.dataDir\".*#user_pref(\"extensions.zotero.dataDir\", \"/home/$USER/.zotero/zotero/<random id>.default/zotero\");#" ~/.zotero/zotero/<random id>.default/prefs.js
CALLDIR="$(dirname "$(readlink -f "$0")")"
"$CALLDIR/zotero-bin" -app "$CALLDIR/application.ini" $*
  • Exécutable Wine

Éditer le script PlayOnLinux ~/.PlayOnLinux/shortcuts/Zotero en y ajoutant cette ligne (mettez à jour <random id>):

sed -i "s#user_pref(\".*extensions.zotero.dataDir\".*#user_pref(\"extensions.zotero.dataDir\", \"C:\\\\\\\\users\\\\\\\\$USER\\\\\\\\Application Data\\\\\\\\Zotero\\\\\\\\Zotero\\\\\\\\Profiles\\\\\\\\<random id>.default\\\\\\\\zotero\");#" ~/.zotero/zotero/<random id>.default/prefs.js

Ce qui donne finalement ce script PlayOnLinux:

#!/usr/bin/env playonlinux-bash
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
export WINEPREFIX="/home/$USER//.PlayOnLinux//wineprefix/Office2010"
export WINEDEBUG="-all"
cd "/home/$USER/.PlayOnLinux//wineprefix/Office2010/drive_c/Program Files/Zotero"
sed -i "s#user_pref(\".*extensions.zotero.dataDir\".*#user_pref(\"extensions.zotero.dataDir\", \"C:\\\\\\\\users\\\\\\\\$USER\\\\\\\\Application Data\\\\\\\\Zotero\\\\\\\\Zotero\\\\\\\\Profiles\\\\\\\\blapge45.default\\\\\\\\zotero\");#" ~/.zotero/zotero/blapge45.default/prefs.js
POL_Wine "zotero.exe"  "$@"

Corriger l'intégration Zotero / Word

Zotero Wine DOIT être lancé lorsque vous utilisez Word, mais ne PEUT PAS être lancé lorsque la version Linux s'exécute.

Il faut tout d'abord activer l'extension dans l'addon-manager de Zotero via le menu outils/extensions:

  • Cliquer sur extensions,
  • Puis activer Zotero Word for Windows Integration

Zotero installe un plugin (extension dotm/dot) dans un dossier lu par Word lors du démarrage.

À titre informatif, les plugins à copier sont ici:

~/.PlayOnLinux/wineprefix/Office2010/drive_c/Program Files/Zotero Standalone/extensions/zoteroWinWordIntegration@zotero.org/install/

Le plugin est installé ici:

~/.PlayOnLinux/wineprefix/Office2010/drive_c/users/<username>/Application\ Data/Microsoft/Word/STARTUP/

Si vous lancez Word maintenant vous obtiendrez cette erreur Zotero a rencontré une erreur lors de la mise à jour de votre document:

Erreur d'intégration de Zotero

Le plugin par défaut n'est pas fonctionnel sur Linux/PlayOnLinux. Toutefois j'ai mis à jour un projet sur Github proposant une version légèrement modifiée (et documentée) des macros utilisées.

L'intégration sous Wine est maintenant terminée.

Zotero Word Wine

Utilisation

L'utilisation est maintenant bien plus simple car il suffit de lancer la version PlayOnLinux pour travailler à la fois sur Word et depuis Firefox sous Linux.

Sources