Page professionnelle de Anis Zidani Professional webpage of Anis Zidani

Cette section rassemble des ressources et tutoriels divers, sans rapport direct avec mes travaux de recherche. Cliquez sur un titre ci-dessous pour l'ouvrir. This section gathers various resources and how-tos, not directly related to my research work. Click a title below to open it.

Zotero est un gestionnaire de références bibliographiques gratuit et open source. Il permet de collecter en un clic les articles, livres et pages web consultés, d'en extraire automatiquement les métadonnées (auteurs, titre, revue, année...), de les ranger dans des collections et sous-collections, de les annoter (PDF inclus), et de générer des bibliographies ou des citations dans n'importe quel style (APA, Chicago, style d'une revue précise...) directement dans Word, LibreOffice, Google Docs, LaTeX ou Overleaf. Il existe en application de bureau (Windows, macOS, Linux) ainsi qu'en applications officielles pour téléphone et tablette (iOS et Android), pour consulter et annoter sa bibliothèque en déplacement.

Pour un chercheur, l'intérêt est multiple :

  1. Un tri propre et durable. Fini les PDF éparpillés entre le bureau, une clé USB et trois dossiers "à lire" jamais ouverts : chaque document est rattaché à sa fiche bibliographique, retrouvable par tag, auteur, collection ou recherche plein texte.
  2. Un accès depuis n'importe où. En couplant Zotero à une instance Nextcloud, la bibliothèque (fiches + fichiers PDF) est synchronisée et consultable depuis n'importe quel ordinateur, sans dépendre du stockage payant de Zotero.
  3. Des citations prêtes pour LaTeX. Zotero exporte ses références au format BibTeX (nativement, ou via le plugin Better BibTeX pour un fichier .bib aux clés de citation stables et à jour automatiquement), et propose même une intégration officielle avec Overleaf (compte Zotero à lier depuis les réglages du compte Overleaf, fonctionnalité réservée aux abonnements payants d'Overleaf — l'export et l'import manuels d'un .bib restent possibles gratuitement). (On détaillera la mise en place de tout ça dans un prochain ajout au tutoriel.)

Pourquoi passer par Nextcloud plutôt que par le stockage Zotero ?

Zotero offre 300 Mo de stockage gratuit pour les fichiers joints, ce qui est vite insuffisant dès qu'on stocke des PDF annotés. De nombreux laboratoires et universités mettent à disposition de leurs chercheurs un compte Nextcloud (souvent autour de 50 Go), largement suffisant pour une bibliothèque personnelle de plusieurs milliers d'articles. En connectant Zotero à ce Nextcloud via le protocole WebDAV, les fichiers joints (PDF, images...) sont stockés et synchronisés sur ce Nextcloud, gratuitement et sans limite gênante.

Quelques exemples de Nextcloud proposés par des laboratoires ou organismes de recherche :

Seule contrainte : les métadonnées (les fiches bibliographiques elles-mêmes) continuent de se synchroniser via un compte zotero.org gratuit. Nextcloud ne prend en charge que les fichiers joints. Il faut donc créer un compte Zotero en plus de son compte Nextcloud — c'est la seule inscription obligatoire, et elle prend une minute.

Pour les puristes que cette inscription chez zotero.org dérangerait (la question de l'hébergement des données de la recherche revient régulièrement, notamment au CNRS) : le code du serveur de synchronisation de Zotero est open source (zotero/dataserver sur GitHub), un hébergement interne est donc théoriquement possible pour un laboratoire suffisamment motivé. L'équipe Zotero est explicite sur le sujet : le code est mis à disposition, mais aucun support n'est fourni pour ce type d'installation. En pratique, la méthode documentée sur les forums (patcher un fichier de configuration interne au client pour le faire pointer vers un serveur maison — voir par exemple le projet communautaire zotero-selfhost) fonctionnait avec Zotero 6, mais le client a depuis été profondément restructuré (Zotero 7), puis a enchaîné plusieurs versions majeures coup sur coup (8, 9, puis 10 — la version actuelle, sortie le 17 août 2026) : personne n'a publié de méthode équivalente confirmée depuis. Les projets communautaires encore actifs aujourd'hui (par exemple un visualiseur de PDF auto-hébergé, mis à jour aussi récemment que juin 2026) contournent le problème plutôt qu'ils ne le résolvent : ils auto-hébergent le stockage des PDF, mais continuent de s'appuyer sur un compte zotero.org pour les métadonnées. Bref, un chantier réel mais non trivial, à réserver à une équipe informatique motivée — et un sujet qui évolue vite, donc mieux vaut vérifier l'état actuel avant de s'y lancer.

Petit plus côté sécurité : plutôt que de donner à Zotero le mot de passe principal du compte Nextcloud, on va créer un lien de partage dédié, protégé par un mot de passe, qui ne donne accès qu'à un seul dossier "Zotero" créé pour l'occasion. Si ce mot de passe fuite un jour, seul ce dossier est exposé — pas le reste du compte Nextcloud.

Ce qu'il vous faut avant de commencer

  • Zotero installé sur l'ordinateur (zotero.org/download) — prenez simplement la dernière version proposée sur le site, Zotero évolue vite et l'interface exacte peut légèrement varier d'une version à l'autre.
  • Un accès à une instance Nextcloud (personnelle ou fournie par votre laboratoire/université).
  • Cinq minutes devant vous.
Remarque : les captures Nextcloud de ce tutoriel proviennent toutes de l'instance Nextcloud de l'université Christian-Albrecht de Kiel (CAU Kiel). L'interface de votre propre Nextcloud (couleurs, logo) sera sans doute différente selon votre établissement, mais le fonctionnement décrit ci-dessous reste le même.

Partie 1 — Installation

Étape 1 — Créer un compte Zotero (gratuit)

  1. Sur une bibliothèque encore vide, Zotero affiche un écran d'accueil "Bienvenue dans Zotero !" avec quelques liens. Cliquez directement sur Configurez la synchronisation — c'est un raccourci qui ouvre directement le bon écran, sans avoir à naviguer dans les menus.
  2. Si vous ne voyez plus cet écran d'accueil, ouvrez-le manuellement via Édition > Paramètres (sur Mac : Zotero > Réglages), puis l'onglet Compte.
  3. Cliquez sur Créer un compte si vous n'avez pas encore de compte Zotero, ou sur Se connecter si vous en avez déjà un. Dans les deux cas, cela ouvre votre navigateur web plutôt qu'un formulaire dans Zotero lui-même : connectez-vous (ou inscrivez-vous) là, puis revenez à l'application — elle détecte automatiquement la connexion.
Écran d'accueil de Zotero avec le lien Configurez la synchronisation, ouvrant l'onglet Compte des paramètres
Raccourci depuis l'écran d'accueil vers l'onglet "Compte" des paramètres Zotero.

Ce compte ne sert qu'à synchroniser les fiches bibliographiques (métadonnées, notes, tags) entre vos appareils. Les fichiers PDF, eux, vont être redirigés vers Nextcloud à l'étape suivante.

Étape 2 — Créer un dossier dédié sur Nextcloud

  1. Connectez-vous à votre Nextcloud depuis un navigateur.
  2. Dans l'application Fichiers, créez un nouveau dossier à la racine, par exemple nommé Zotero. C'est ce dossier que vous partagerez à l'étape suivante ; son nom n'a pas d'importance particulière.
  3. Ouvrez ce dossier et créez, à l'intérieur, un second dossier nommé exactement zotero — tout en minuscules, sans espace ni accent. C'est important : Zotero ajoute automatiquement /zotero/ à la fin de l'adresse WebDAV que vous lui donnerez à l'étape 4, donc ce sous-dossier doit exister avec ce nom précis, sans quoi la connexion échoue.
Création d'un dossier Zotero puis, à l'intérieur, d'un sous-dossier nommé zotero en minuscules, dans l'application Fichiers de Nextcloud
Dossier "Zotero" (celui qu'on partagera), contenant un sous-dossier "zotero" en minuscules (celui où Zotero écrira réellement).
Pourquoi deux dossiers imbriqués ? Zotero ajoute toujours /zotero/ à la fin de l'adresse WebDAV, quelle que soit la méthode utilisée. Avec un mot de passe d'application classique, on peut pointer Zotero directement à la racine du compte et n'avoir qu'un seul dossier zotero — mais le mot de passe reste alors théoriquement valable pour tout le compte. Un lien de partage, lui, ne donne accès qu'au contenu d'un dossier précis : pour que l'accès reste strictement cantonné à vos données Zotero — une précaution plus prudente, en phase avec l'esprit d'une bonne gestion des données de recherche — ce dossier partagé doit contenir le sous-dossier zotero attendu. Les deux dossiers sont donc le prix à payer pour un accès réellement restreint, pas une erreur de manipulation.

Étape 3 — Créer un lien de partage restreint à ce dossier

On partage bien le dossier parent Zotero (pas le sous-dossier zotero créé juste avant) : le lien donnera accès à tout son contenu, y compris ce sous-dossier, que Zotero ira chercher tout seul grâce au /zotero/ qu'il ajoute automatiquement à l'étape 4.

  1. Survolez la ligne du dossier Zotero et cliquez sur l'icône de partage (silhouette avec un "+") à droite de la ligne. Le panneau Partage s'ouvre sur la droite.
  2. Descendez jusqu'à la section Partages externes et cliquez sur Créer un lien de partage public.
  3. Une fenêtre vous propose d'activer une date d'expiration pour le lien (facultatif). Laissez-la décochée pour un accès permanent, puis cliquez sur Créer un partage.
  4. Le lien apparaît sous "Partages externes" avec la permission par défaut Afficher seulement. Cliquez sur les trois points ... à côté de ce lien pour ouvrir son détail.
  5. Dans la liste de permissions, sélectionnez Autoriser le téléversement et la modification — indispensable, sinon Zotero ne pourra pas écrire les fichiers.
  6. Cliquez sur Paramètres avancés pour déplier les options supplémentaires, puis cochez Définir un mot de passe. Nextcloud génère automatiquement un mot de passe robuste (cliquez sur l'icône œil pour l'afficher) ; vous pouvez le garder tel quel ou le remplacer par le vôtre. Copiez-le maintenant et notez-le de côté : Nextcloud ne stocke que son empreinte (hash), donc une fois le partage enregistré, il ne sera plus jamais possible de le réafficher, seulement de le réinitialiser. C'est cette combinaison lien + mot de passe qui fera office de "clé" limitée au seul dossier Zotero.
  7. Cliquez sur Mettre à jour le partage pour enregistrer. Rouvrez ensuite les trois points ... du lien pour vérifier que la permission affichée est toujours "Autoriser le téléversement et la modification" (l'étiquette peut brièvement se réafficher sur "Afficher seulement" juste après l'enregistrement — un rafraîchissement de la page suffit à confirmer que le réglage a bien été pris en compte).
  8. Cliquez sur l'icône de copie à côté du lien. Le lien copié ressemble à https://votre-nextcloud.exemple.org/s/AbC123XyZ. La partie après /s/ (ici AbC123XyZ) est le jeton de partage : notez-le, ainsi que le mot de passe choisi à l'étape précédente — les deux serviront d'identifiants à l'étape suivante.
Panneau de partage Nextcloud : création d'un lien de partage public, passage en Autoriser le téléversement et la modification, ajout d'un mot de passe dans Paramètres avancés, puis copie du lien
Création du lien de partage restreint au dossier "Zotero" : permission d'édition + mot de passe.

Ce lien protégé par mot de passe ne donne accès qu'au contenu du dossier Zotero — jamais au reste de votre compte Nextcloud. C'est cette combinaison (jeton du lien + mot de passe du lien) qui va servir d'identifiants à Zotero, à la place de votre mot de passe Nextcloud personnel.

Remarque : si le partage par lien est désactivé sur le Nextcloud de votre laboratoire, une alternative existe : créer un mot de passe d'application dans Paramètres > Sécurité et pointer Zotero directement vers le dossier via l'adresse https://votre-nextcloud.exemple.org/remote.php/dav/files/VOTRE_IDENTIFIANT/Zotero (sans /zotero à la fin — voir l'encadré au début de l'étape 4 sur ce point). Cette méthode est un peu moins cloisonnée (le mot de passe d'application reste théoriquement valable pour tout le compte), mais reste largement plus sûre que d'utiliser le mot de passe principal.

Étape 4 — Connecter Zotero à ce dossier via WebDAV

Point important avant de commencer : dans le champ "Adresse (URL)" de Zotero, un /zotero/ est déjà affiché en dehors de la case de texte, à droite. Ce n'est pas un exemple à effacer : Zotero l'ajoute automatiquement à ce que vous saisissez. Ne tapez donc jamais vous-même /Zotero/ ou /zotero/ à la fin de l'adresse — c'est justement ce qui empêche la connexion de fonctionner si on le fait (deux fois "zotero" à la suite, ou une casse différente de celle du sous-dossier réellement créé à l'étape 2).
  1. Dans Zotero, retournez dans Édition > Paramètres > Compte (une fois connecté à l'étape 1, cet onglet affiche maintenant votre nom d'utilisateur et un bouton "Se déconnecter...").
  2. Faites défiler vers le bas : sous la section Synchronisation (qui gère la synchronisation des fiches), une section Synchronisation des fichiers apparaît plus bas.
  3. Cochez Synchroniser les fichiers joints de "Ma bibliothèque" en utilisant puis choisissez WebDAV dans le menu déroulant.
  4. Renseignez les champs (le /zotero/ final est déjà géré par Zotero, ne l'ajoutez pas) :
    • Adresse (URL) : votre-nextcloud.exemple.org/public.php/webdav
    • Nom d'utilisateur : le jeton de partage noté à l'étape 3 (ex. AbC123XyZ)
    • Mot de passe : le mot de passe défini pour le lien de partage
  5. Cliquez sur Tester la connexion au serveur. Un message doit confirmer que la connexion fonctionne — Zotero se connecte alors à .../public.php/webdav/zotero/, c'est-à-dire au sous-dossier zotero créé à l'étape 2 à l'intérieur du dossier partagé.
Avec la méthode alternative (mot de passe d'application), l'adresse à saisir serait votre-nextcloud.exemple.org/remote.php/dav/files/VOTRE_IDENTIFIANT/Zotero — toujours sans /zotero final, puisque Zotero l'ajoute déjà.
Configuration WebDAV dans Zotero : adresse sans /zotero final, jeton de partage et mot de passe renseignés, puis clic sur Tester la connexion au serveur et message de succès Configuration du serveur vérifiée
Configuration WebDAV dans Zotero jusqu'à la confirmation "La synchronisation de fichier a été configurée avec succès." (nom d'utilisateur et courriel du compte Zotero masqués en haut de l'écran ; le jeton et le mot de passe visibles ici correspondaient à un dossier de test déjà supprimé).

Étape 5 — Vérifier que la synchronisation fonctionne

  1. Ajoutez un article dans Zotero (par exemple via l'extension de navigateur Zotero Connector) avec un PDF joint.
  2. Cliquez sur l'icône de synchronisation (flèches circulaires) en haut à droite de Zotero, ou attendez la synchronisation automatique.
  3. Retournez dans Nextcloud, ouvrez Zotero > zotero (le sous-dossier en minuscules) : il doit désormais contenir des fichiers portant un nom de code (par exemple XXXXXXXX.zip et XXXXXXXX.prop) — c'est la pièce jointe et ses métadonnées, signe que la synchronisation fonctionne.
Sous-dossier zotero dans Nextcloud contenant les fichiers .zip et .prop synchronisés après l'ajout d'un document dans Zotero
Le sous-dossier "zotero" une fois la première synchronisation effectuée : les fichiers y apparaissent bien.

À partir de là, installez et connectez-vous à Zotero (avec le même compte zotero.org) sur vos autres appareils : la bibliothèque et les PDF associés seront disponibles partout, sans dépendre du quota de stockage Zotero. Sur un nouvel ordinateur, un téléphone ou une tablette, il suffit de se connecter à son compte Zotero puis de renseigner à nouveau les identifiants WebDAV définis à l'étape 4 (adresse, jeton de partage et mot de passe) : l'interface diffère un peu d'un appareil à l'autre, mais le principe reste exactement le même.

Bon à savoir

  • Quota : 50 Go permettent de stocker plusieurs milliers de PDF (un PDF d'article pèse en moyenne quelques centaines de Ko à quelques Mo).
  • Sécurité : le mot de passe du lien de partage peut être régénéré ou révoqué à tout moment depuis Nextcloud, sans toucher au reste du compte.
  • Portabilité : si vous changez de laboratoire, il suffit de refaire les étapes 2 à 4 avec le nouveau Nextcloud ; la bibliothèque Zotero (métadonnées) ne bouge pas, seuls les fichiers sont à re-synchroniser.
  • En cas d'erreur de connexion WebDAV : la cause la plus fréquente est le sous-dossier zotero manquant ou mal nommé — Zotero ajoute toujours /zotero/ tout seul à la fin de l'adresse (voir l'encadré au début de l'étape 4), donc n'ajoutez rien vous-même dans ce champ et vérifiez que le sous-dossier existe bien, en minuscules, à l'endroit attendu. Vérifiez ensuite que la permission du lien est bien sur "Autoriser le téléversement et la modification" (un lien en "Afficher seulement" empêche Zotero d'écrire les fichiers). Si l'adresse /public.php/webdav ne fonctionne toujours pas, essayez la variante /public.php/dav/files/VOTRE_JETON_DE_PARTAGE : selon la version de Nextcloud installée par votre laboratoire, l'un ou l'autre format est utilisé.
  • Pas de bouton "WebDAV" magique : Nextcloud ne propose pas de fonction dédiée qui génère automatiquement une "clé WebDAV" distincte. C'est le lien de partage lui-même (son jeton + son mot de passe) qui sert de clé d'accès WebDAV — il n'y a rien d'autre à créer une fois l'étape 3 faite.
  • Si votre lien de partage contient "index.php" : certains Nextcloud affichent des adresses de la forme https://votre-nextcloud.exemple.org/index.php/s/AbC123XyZ au lieu de https://votre-nextcloud.exemple.org/s/AbC123XyZ (c'est le cas sur le Nextcloud du CAU Kiel utilisé dans ce tutoriel). C'est une petite bizarrerie de configuration côté administrateur : la racine du site redirige bien vers index.php, et retirer index.php à la main dans l'adresse fonctionne très bien — mais le lien que Nextcloud génère automatiquement l'inclut quand même. Cela n'a aucun rapport avec votre compte, et surtout aucune conséquence pour l'étape 4 : l'adresse WebDAV (public.php/webdav ou remote.php/dav/...) pointe vers un vrai fichier PHP à la racine du serveur, indépendant de cette histoire de lien — ne lui ajoutez donc pas index.php/, elle s'utilise telle quelle.

Partie 2 — Utilisation au quotidien

Au quotidien, l'essentiel est de capturer un article avec les meilleures métadonnées possibles dès le départ : c'est ce qui évite ensuite d'avoir à corriger à la main les auteurs, le titre ou la revue dans Zotero. Concrètement, cela revient à bien choisir la source avant de cliquer sur l'extension Zotero Connector :

  • En priorité, MathSciNet quand l'article y est référencé : les métadonnées y sont particulièrement fiables et complètes, et la fiche inclut parfois un commentaire de relecture (review) qu'il peut être utile de conserver. Si vous n'y avez pas accès (MathSciNet nécessite un abonnement institutionnel), zbMATH Open est une bonne alternative gratuite, avec une couverture et des métadonnées de qualité comparable.
  • Sinon, directement sur arXiv pour un preprint : la fiche arXiv contient déjà de bonnes métadonnées et un lien direct vers le PDF.
  • Pour le reste, la page (site de la revue, de l'éditeur...) offrant les métadonnées les plus complètes — au cas par cas.

Étape 1 — Enregistrer un article avec l'extension Zotero Connector

Une fois l'extension Zotero Connector installée dans le navigateur, une icône apparaît dans la barre d'adresse et change de forme selon le contenu de la page consultée (article, livre, page web...). Un clic dessus enregistre directement l'élément dans Zotero, avec ses métadonnées et un instantané (snapshot) de la page.

L'extension Zotero Connector s'affiche dans la langue de votre navigateur : le libellé "Enregistrer dans" (ou "Saving to" en anglais) suit donc la langue de votre interface, tout comme le nom de votre bibliothèque si vous l'avez vous-même nommée dans cette langue — ici "Ma bibliothèque". Seul le mot Snapshot ("instantané") reste en anglais quelle que soit la langue, l'extension ne le traduisant pas.

  1. Depuis une fiche MathSciNet, cliquez sur l'icône de l'extension dans la barre d'adresse : l'enregistrement se fait automatiquement, il n'y a rien d'autre à faire.
  2. Une bulle "Enregistrer dans" s'affiche, avec un aperçu de l'élément détecté et une icône Snapshot : celle-ci reste grisée tant que l'instantané de la page est en cours de génération, puis devient noire une fois terminé.
  3. Attendez que cette icône devienne noire avant de fermer l'onglet ou de naviguer ailleurs — sans quoi l'instantané risque d'être tronqué. La bulle finit par se refermer toute seule après un délai, mais ce n'est pas ce qu'il faut surveiller : dès que l'icône est noire, c'est bon, que la bulle ait disparu ou non. C'est aussi ce qui permet de conserver une copie du commentaire de relecture (review), quand la fiche en contient un.
Recherche d'un article sur MathSciNet, ouverture de sa fiche, puis clic sur l'icône de l'extension Zotero Connector et enregistrement dans Ma bibliothèque avec instantané
Enregistrement d'un article depuis MathSciNet avec l'extension Zotero Connector — le curseur s'attarde près de l'icône "Snapshot" pour la montrer pendant qu'elle passe de grisée à noire (ce n'est pas une action à faire, juste un repère visuel pour ce tutoriel).

Étape 2 — Vérifier la fiche obtenue et y associer le PDF

Une fois l'élément enregistré, il apparaît dans votre bibliothèque avec toutes les métadonnées récupérées automatiquement (auteur, titre, éditeur, ISBN, année...), visibles dans le panneau de droite.

  1. Dépliez l'élément (flèche à gauche de son titre) : un enfant Snapshot apparaît — c'est la copie de la page capturée par l'extension à l'étape précédente. Cliquez dessus pour l'ouvrir : la page s'affiche telle qu'elle était au moment de l'enregistrement, commentaire du relecteur inclus, même si la page d'origine change ou devient inaccessible par la suite.
  2. Si vous disposez d'une copie locale du PDF (téléchargée par ailleurs), glissez-la depuis votre dossier et déposez-la directement sur la ligne de l'élément dans Zotero (celle de "Algebraic groups", pas sur le Snapshot). Elle s'ajoute comme un second enfant, à côté du Snapshot.
  3. Le fichier est automatiquement renommé selon le format défini dans vos préférences Zotero (ici "2017 - Milne - Algebraic groups.pdf"), ce qui garde vos fichiers lisibles même en dehors de Zotero — notamment une fois synchronisés sur Nextcloud, comme vu en Partie 1.
Fiche Algebraic groups dans Zotero avec ses métadonnées, ouverture du Snapshot capturé sur MathSciNet, puis glisser-déposer d'un PDF local sur l'élément qui l'attache et le renomme automatiquement
La fiche récupérée depuis MathSciNet (métadonnées + Snapshot de la page), puis ajout du PDF par glisser-déposer : il est attaché à l'élément et renommé automatiquement.

Ce glisser-déposer fonctionne de la même façon quelle que soit la source de l'élément (MathSciNet, arXiv ou une autre page) : dans tous les cas, une fois l'élément créé dans Zotero, il suffit de déposer le PDF correspondant dessus pour l'y associer.

(Cette partie sera complétée par la suite : un exemple avec arXiv — où le PDF est cette fois téléchargé automatiquement par l'extension, sans glisser- déposer, comme pour tout article en libre accès — ainsi qu'une section sur l'utilisation des tags pour organiser sa bibliothèque par thématique ou par projet.)

Zotero is a free, open-source reference manager. It lets you collect articles, books, and web pages in one click, automatically extract their metadata (authors, title, journal, year...), sort them into collections and sub-collections, annotate them (including PDFs), and generate bibliographies or citations in any style (APA, Chicago, a specific journal's style...) directly in Word, LibreOffice, Google Docs, LaTeX, or Overleaf. It's available as a desktop app (Windows, macOS, Linux) as well as official phone and tablet apps (iOS and Android), for reading and annotating your library on the go.

For a researcher, this is useful in several ways:

  1. Clean, durable organization. No more PDFs scattered across the desktop, a USB stick, and three "to read" folders never opened again: every document is attached to its bibliographic record, searchable by tag, author, collection, or full-text search.
  2. Access from anywhere. By pairing Zotero with a Nextcloud instance, your library (records + PDF files) stays synced and available from any computer, without relying on Zotero's paid storage.
  3. Citations ready for LaTeX. Zotero exports its records as BibTeX (natively, or via the Better BibTeX plugin for a .bib file with stable citation keys that stays up to date automatically), and even offers an official Overleaf integration (link your Zotero account from Overleaf's account settings — a feature reserved for paid Overleaf plans; manually exporting and uploading a .bib file remains free). (Setting all this up will be covered in a future addition to this tutorial.)

Why use Nextcloud instead of Zotero's own storage?

Zotero offers 300 MB of free storage for attachments, which runs out fast once you start storing annotated PDFs. Many labs and universities give researchers a Nextcloud account (often around 50 GB), which is plenty for a personal library of several thousand articles. By connecting Zotero to that Nextcloud account via the WebDAV protocol, attached files (PDFs, images...) are stored and synced on Nextcloud, for free and without an awkward limit.

A few examples of Nextcloud instances offered by research labs or organizations:

The one requirement: the metadata (the bibliographic records themselves) still syncs through a free zotero.org account. Nextcloud only handles attached files. So you'll need a Zotero account in addition to your Nextcloud account — it's the only mandatory sign-up, and it takes a minute.

For purists who'd rather avoid signing up with zotero.org (data hosting for research is a recurring topic, notably at the CNRS): Zotero's sync server code is open source (zotero/dataserver on GitHub), so self-hosting is theoretically possible for a sufficiently motivated lab. The Zotero team is explicit about this: the code is made available, but no support is provided for this kind of setup. In practice, the method documented on the forums (patching an internal configuration file in the client to point it at a home-grown server — see for example the community project zotero-selfhost) worked with Zotero 6, but the client has since been substantially restructured (Zotero 7), then went through several major versions in quick succession (8, 9, and now 10 — the current version, released August 17, 2026): nobody has published a confirmed equivalent method since. The community projects still active today (for example a self-hosted PDF viewer, updated as recently as June 2026) work around the problem rather than solving it: they self-host PDF storage, but still rely on a zotero.org account for metadata. In short, a real but non-trivial project, best left to a motivated IT team — and a fast-moving topic, so it's worth checking the current state before diving in.

A small security bonus: rather than giving Zotero your main Nextcloud account password, we'll create a dedicated share link, protected by its own password, that only grants access to a single "Zotero" folder created for this purpose. If that password ever leaks, only that folder is exposed — not the rest of your Nextcloud account.

What you need before starting

  • Zotero installed on your computer (zotero.org/download) — just grab the latest version offered on the site; Zotero evolves quickly and the exact interface can vary slightly between versions.
  • Access to a Nextcloud instance (personal, or provided by your lab/university).
  • Five minutes.
Note: the Nextcloud screenshots throughout this tutorial all come from the Nextcloud instance of Kiel University (Christian-Albrechts-Universität zu Kiel, CAU Kiel). Your own Nextcloud's look (colors, logo) will likely differ depending on your institution, but the behavior described below is the same.

Part 1 — Setup

Step 1 — Create a Zotero account (free)

  1. On a still-empty library, Zotero shows a "Welcome to Zotero!" screen with a few links. Click directly on Set up syncing — a shortcut that opens the right screen directly, without navigating through menus.
  2. If you no longer see this welcome screen, open it manually via Edit > Settings (on Mac: Zotero > Settings), then the Account tab.
  3. Click Create Account if you don't have a Zotero account yet, or Log In if you already do. Either way, this opens your web browser rather than a form inside Zotero itself: log in (or sign up) there, then return to the app — it detects the login automatically.
Zotero welcome screen with the Set up syncing link, opening the Account settings tab
Shortcut from the welcome screen to the Zotero settings' "Account" tab.

This account only syncs your bibliographic records (metadata, notes, tags) across devices. The PDF files themselves get redirected to Nextcloud in the next step.

Step 2 — Create a dedicated folder on Nextcloud

  1. Log in to your Nextcloud from a browser.
  2. In the Files app, create a new folder at the root, for example named Zotero. This is the folder you'll share in the next step; its name doesn't particularly matter.
  3. Open that folder and create, inside it, a second folder named exactly zotero — all lowercase, no spaces or accents. This matters: Zotero automatically appends /zotero/ to the end of the WebDAV address you'll give it in step 4, so this subfolder must exist with that exact name, or the connection will fail.
Creating a Zotero folder, then inside it a subfolder named zotero in lowercase, in Nextcloud's Files app
The "Zotero" folder (the one we'll share), containing a lowercase "zotero" subfolder (the one Zotero will actually write to).
Why two nested folders? Zotero always appends /zotero/ to the end of the WebDAV address, no matter which method is used. With a regular app password, you can point Zotero straight at the root of the account and only need a single zotero folder — but the password then remains theoretically valid for the whole account. A share link, on the other hand, only grants access to the contents of one specific folder: to keep access strictly limited to your Zotero data — a more cautious approach, in the spirit of good research-data management — that shared folder needs to contain the expected zotero subfolder. The two folders are therefore the price of genuinely restricted access, not a mistake.

Step 3 — Create a share link restricted to this folder

We share the parent Zotero folder (not the zotero subfolder created just before): the link will grant access to all of its contents, including that subfolder, which Zotero will reach on its own thanks to the /zotero/ it appends automatically in step 4.

  1. Hover over the Zotero folder's row and click the share icon (a silhouette with a "+") on the right of the row. The Sharing panel opens on the right.
  2. Scroll down to the External shares section and click Create public link share.
  3. A window offers to set an expiration date for the link (optional). Leave it unchecked for permanent access, then click Create share.
  4. The link appears under "External shares" with the default View only permission. Click the three dots ... next to that link to open its details.
  5. In the permissions list, select Allow upload and editing — essential, otherwise Zotero won't be able to write files.
  6. Click Advanced settings to expand the extra options, then check Set password. Nextcloud automatically generates a strong password (click the eye icon to reveal it); you can keep it as-is or replace it with your own. Copy it now and note it down: Nextcloud only stores its hash, so once the share is saved you'll never be able to view it again, only reset it. This link + password combination is what will act as the "key" limited to the Zotero folder alone.
  7. Click Update share to save. Then reopen the link's three dots ... to confirm the displayed permission is still "Allow upload and editing" (the label can briefly flash back to "View only" right after saving — refreshing the page is enough to confirm the setting was actually applied).
  8. Click the copy icon next to the link. The copied link looks like https://your-nextcloud.example.org/s/AbC123XyZ. The part after /s/ (here AbC123XyZ) is the share token: note it down, along with the password chosen in the previous step — both will serve as credentials in the next step.
Nextcloud sharing panel: creating a public link share, switching to Allow upload and editing, adding a password under Advanced settings, then copying the link
Creating the share link restricted to the "Zotero" folder: edit permission + password.

This password-protected link only grants access to the contents of the Zotero folder — never to the rest of your Nextcloud account. This combination (link token + link password) is what will serve as credentials for Zotero, instead of your personal Nextcloud password.

Note: if link sharing is disabled on your lab's Nextcloud, an alternative exists: create an app password under Settings > Security and point Zotero directly at the folder using the address https://your-nextcloud.example.org/remote.php/dav/files/YOUR_USERNAME/Zotero (without a trailing /zotero — see the box at the start of step 4 on this point). This method is a bit less compartmentalized (the app password remains theoretically valid for the whole account), but is still far safer than using your main password.

Step 4 — Connect Zotero to this folder via WebDAV

Important before you start: in Zotero's "URL" field, a /zotero/ is already displayed outside the text box, to the right. This isn't a placeholder to delete: Zotero appends it automatically to whatever you type. So never type /Zotero/ or /zotero/ yourself at the end of the address — doing so is exactly what breaks the connection (either "zotero" ends up twice in a row, or with different casing than the subfolder actually created in step 2).
  1. In Zotero, go back to Edit > Settings > Account (once logged in from step 1, this tab now shows your username and a "Log Out..." button).
  2. Scroll down: below the Sync section (which handles syncing your records), a File Syncing section appears further down.
  3. Check Sync attachment files in My Library using, then choose WebDAV from the dropdown menu.
  4. Fill in the fields (the trailing /zotero/ is already handled by Zotero — don't add it):
    • URL: your-nextcloud.example.org/public.php/webdav
    • Username: the share token noted in step 3 (e.g. AbC123XyZ)
    • Password: the password set for the share link
  5. Click Test Server Connection. A message should confirm the connection works — Zotero then connects to .../public.php/webdav/zotero/, i.e. the zotero subfolder created in step 2 inside the shared folder.
With the alternative method (app password), the address to enter would be your-nextcloud.example.org/remote.php/dav/files/YOUR_USERNAME/Zotero — still without a trailing /zotero, since Zotero already adds it.
WebDAV configuration in Zotero: address without a trailing /zotero, share token and password entered, then clicking Test Server Connection and a success message confirming the server configuration
WebDAV configuration in Zotero through to the "File syncing was successfully configured." confirmation (Zotero account username and email masked at the top of the screen; the token and password visible here belonged to a test folder that has since been deleted).

Step 5 — Check that syncing works

  1. Add an item in Zotero (for example via the Zotero Connector browser extension) with a PDF attached.
  2. Click the sync icon (circular arrows) at the top right of Zotero, or wait for automatic syncing.
  3. Go back to Nextcloud and open Zotero > zotero (the lowercase subfolder): it should now contain files with a code-like name (for example XXXXXXXX.zip and XXXXXXXX.prop) — the attachment and its metadata, a sign that syncing works.
The zotero subfolder in Nextcloud containing the .zip and .prop files synced after adding a document in Zotero
The "zotero" subfolder after the first sync: the files are indeed showing up.

From here, install and log in to Zotero (with the same zotero.org account) on your other devices: your library and its PDFs will be available everywhere, without depending on Zotero's storage quota. On a new computer, a phone, or a tablet, just log in to your Zotero account and enter the WebDAV credentials from step 4 again (address, share token, and password): the interface looks a bit different from one device to another, but it works exactly the same way.

Good to know

  • Quota: 50 GB is enough to store several thousand PDFs (an article PDF typically weighs a few hundred KB to a few MB).
  • Security: the share link's password can be regenerated or revoked at any time from Nextcloud, without touching the rest of the account.
  • Portability: if you switch labs, just redo steps 2 to 4 with the new Nextcloud; your Zotero library (metadata) doesn't move, only the files need to be re-synced.
  • If the WebDAV connection fails: the most common cause is a missing or misnamed zotero subfolder — Zotero always appends /zotero/ on its own at the end of the address (see the box at the start of step 4), so don't add anything yourself in that field, and check that the subfolder exists, in lowercase, in the expected place. Then check that the link's permission is set to "Allow upload and editing" (a "View only" link prevents Zotero from writing files). If /public.php/webdav still doesn't work, try the /public.php/dav/files/YOUR_SHARE_TOKEN variant instead: depending on the Nextcloud version your lab has installed, one or the other format is used.
  • No magic "WebDAV" button: Nextcloud doesn't have a dedicated feature that automatically generates a separate "WebDAV key". The share link itself (its token + its password) is what serves as the WebDAV access key — there's nothing else to create once step 3 is done.
  • If your share link contains "index.php": some Nextcloud instances show addresses like https://your-nextcloud.example.org/index.php/s/AbC123XyZ instead of https://your-nextcloud.example.org/s/AbC123XyZ (that's the case on CAU Kiel's Nextcloud, used in this tutorial). It's a small admin-side configuration quirk: the site's root does redirect to index.php, and manually removing index.php from the address works fine too — but the link Nextcloud generates automatically includes it anyway. This has nothing to do with your account, and more importantly no effect on step 4: the WebDAV address (public.php/webdav or remote.php/dav/...) points to an actual PHP file at the server's root, independent of that link-generation quirk — don't add index.php/ to it, it works as-is.

Part 2 — Everyday use

Day to day, the main thing is to capture an article with the best possible metadata from the start: that's what saves you from having to manually fix the authors, title, or journal in Zotero afterwards. In practice, this means picking the right source before clicking the Zotero Connector extension:

  • MathSciNet first, when the article is listed there: its metadata is especially reliable and complete, and the entry sometimes includes a reviewer's comment (review) that can be worth keeping. If you don't have access to it (MathSciNet requires an institutional subscription), zbMATH Open is a good free alternative, with comparable coverage and metadata quality.
  • Otherwise, arXiv directly for a preprint: the arXiv page already has good metadata and a direct link to the PDF.
  • For everything else, whichever page (journal site, publisher...) offers the most complete metadata — decided case by case.

Step 1 — Save an article with the Zotero Connector extension

Once the Zotero Connector extension is installed in the browser, an icon appears in the address bar and changes shape depending on the page being viewed (article, book, web page...). Clicking it saves the item straight into Zotero, along with its metadata and a snapshot of the page.

The Zotero Connector extension displays in your browser's language: the "Saving to" label (or "Enregistrer dans" in French) follows your interface's language, and so does your library's own name if you've named it in that language — here "My Library". Only the word Snapshot stays in English regardless of the interface language, since the extension doesn't translate it.

  1. From a MathSciNet entry, click the extension's icon in the address bar: saving happens automatically, there's nothing else to do.
  2. A "Saving to" popup appears, showing a preview of the detected item and a Snapshot icon: it stays greyed out while the page's snapshot is being generated, then turns black once it's done.
  3. Wait until that icon turns black before closing the tab or navigating away — otherwise the snapshot may end up truncated. The popup eventually closes on its own after a delay, but that's not what to watch for: as soon as the icon is black, you're good, whether the popup has closed or not. This is also what lets you keep a copy of the reviewer's comment (review), when the entry has one.
Searching for an article on MathSciNet, opening its entry, then clicking the Zotero Connector extension icon and saving it to My Library with a snapshot
Saving an article from MathSciNet with the Zotero Connector extension — the cursor lingers near the "Snapshot" icon to point it out while it turns from grey to black (not an action to perform, just a visual cue for this tutorial).

Step 2 — Check the resulting entry and attach the PDF

Once the item is saved, it shows up in your library with all the metadata automatically retrieved (author, title, publisher, ISBN, year...), visible in the right-hand panel.

  1. Expand the item (arrow to the left of its title): a Snapshot child appears — the copy of the page the extension captured in the previous step. Click it to open it: the page displays exactly as it was at the time of saving, reviewer's comment included, even if the original page later changes or becomes unavailable.
  2. If you have a local copy of the PDF (downloaded separately), drag it from your folder and drop it directly onto the item's row in Zotero (the "Algebraic groups" row, not onto the Snapshot). It gets added as a second child, next to the Snapshot.
  3. The file is automatically renamed according to the format set in your Zotero preferences (here "2017 - Milne - Algebraic groups.pdf"), which keeps your files readable even outside Zotero — including once synced to Nextcloud, as covered in Part 1.
Algebraic groups entry in Zotero with its metadata, opening the Snapshot captured from MathSciNet, then dragging and dropping a local PDF onto the item, which attaches and automatically renames it
The entry retrieved from MathSciNet (metadata + page Snapshot), then adding the PDF by drag and drop: it gets attached to the item and automatically renamed.

This drag-and-drop step works the same way regardless of the item's source (MathSciNet, arXiv, or another page): whatever the source, once the item exists in Zotero, dropping the matching PDF onto it is all it takes to attach it.

(This part will be extended later on: an example with arXiv — where the PDF is this time downloaded automatically by the extension, no drag-and-drop needed, as with any open-access article — along with a section on using tags to organize your library by topic or by project.)