CyberSDF

Reprenez la main sur votre numérique

Joplin et Nextcloud : les champs WebDAV à remplir

plusieurs fenetres abstraites en aplats geometriques qui se recouvrent, vue de face

Le dossier Joplin doit exister dans Nextcloud avant le premier essai

Joplin synchronise ses notes vers un dossier WebDAV qui doit déjà exister sur le serveur, et l’adresse saisie dans les champs désigne ce dossier, pas la racine du compte. Nextcloud fait partie des logiciels libres qui s’installent sur une machine personnelle ; sa documentation donne deux formes équivalentes pour cette adresse, https://example.com/nextcloud/remote.php/webdav/Joplin et https://example.com/nextcloud/remote.php/dav/files/UTILISATEUR/Joplin, et rappelle que le répertoire Joplin se crée soi-même. Le manuel utilisateur de Nextcloud fixe l’adresse des clients WebDAV tiers à https://cloud.example.com/remote.php/dav/files/USERNAME/ quand l’instance occupe la racine du domaine.

Sommaire
  1. Le dossier Joplin doit exister dans Nextcloud avant le premier essai
  2. Les champs à remplir changent de nom selon la cible choisie
  3. Un mot de passe d’application remplace le mot de passe du compte
  4. Joplin 3.7.16 et 3.7.17 renvoient 409 Conflict sur les fichiers .resource
  5. Changer d’adresse WebDAV après coup peut vider un appareil
  6. L’état de synchronisation et les deux plafonds du serveur
  7. Le serveur, la version et les pièces jointes expliquent les échecs qui restent
  8. Sources

Une instance installée dans un sous-dossier ajoute ce sous-dossier devant le reste, par exemple https://example.com/nextcloud/remote.php/dav/files/UTILISATEUR/. Le dossier de destination se crée depuis la vue Fichiers, en quelques clics, et l’adresse exacte se relit dans les paramètres de cette vue. Tant que le dossier n’existe pas, Joplin refuse la configuration et le dit.

  1. Ouvrir Nextcloud dans un navigateur et afficher la vue Fichiers. À l’écran : la liste des dossiers du compte.
  2. Créer un dossier nommé Joplin. À l’écran : Joplin figure dans la liste des dossiers.
  3. Cliquer sur Paramètres en bas à gauche de la vue Fichiers et relever l’adresse WebDAV affichée. À l’écran : une adresse qui se termine par /remote.php/dav/files/UTILISATEUR/.
  4. Ajouter le nom du dossier à cette adresse, puis la tester avant d’ouvrir Joplin.
curl -u alice:MOT_DE_PASSE_APPLICATION -X PROPFIND -H "Depth: 1" https://cloud.example.com/remote.php/dav/files/alice/Joplin/

À l’écran : une réponse XML qui contient la balise multistatus et un statut 200 pour le dossier Joplin.

Les champs à remplir changent de nom selon la cible choisie

Joplin enregistre trois valeurs par cible de synchronisation, une adresse, un identifiant et un mot de passe, et les libellés de ces champs dépendent de la cible retenue dans la liste des options. La cible Nextcloud demande Nextcloud WebDAV URL, Nextcloud username et Nextcloud password, rangées dans les clés sync.5.path, sync.5.username et sync.5.password. Les trois mêmes valeurs se saisissent sous les libellés WebDAV URL, WebDAV username et WebDAV password pour la cible WebDAV, dans les clés sync.6.path, sync.6.username et sync.6.password. Le contenu à écrire reste identique d’une cible à l’autre.

L’adresse du tableau vaut pour les deux, https://cloud.example.com/remote.php/dav/files/alice/Joplin dans l’exemple. Joplin teste le dossier à l’enregistrement et affiche WebDAV directory not found suivi de l’adresse quand la réponse du serveur est vide, cas d’un dossier final manquant ou d’une adresse arrêtée à la racine. Un Nextcloud installé chez soi remplit exactement les mêmes champs qu’une instance louée. Deux réglages avancés encadrent la saisie : Max concurrent connections, entier de 1 à 20 avec 5 par défaut, et Synchronisation interval, à 300 secondes par défaut.

Champ affiché dans Joplin Clé de configuration Cible concernée Valeur à saisir Exemple
Synchronisation target sync.target les deux 5 pour Nextcloud, 6 pour WebDAV Nextcloud
Nextcloud WebDAV URL sync.5.path Nextcloud adresse du dossier, dossier final compris https://cloud.example.com/remote.php/dav/files/alice/Joplin
Nextcloud username sync.5.username Nextcloud identifiant du compte Nextcloud alice
Nextcloud password sync.5.password Nextcloud mot de passe d’application, pas celui du compte valeur générée par Nextcloud
WebDAV URL sync.6.path WebDAV même adresse que la ligne Nextcloud https://cloud.example.com/remote.php/dav/files/alice/Joplin
WebDAV username sync.6.username WebDAV identifiant du compte Nextcloud alice
WebDAV password sync.6.password WebDAV mot de passe d’application, pas celui du compte valeur générée par Nextcloud
Max concurrent connections sync.maxConcurrentConnections les deux entier de 1 à 20 5, valeur par défaut
Synchronisation interval sync.interval les deux 0 pour désactiver, 300 pour cinq minutes 300

Le même réglage se pose dans le mode ligne de commande du client terminal, avec la clé de la cible retenue :

:config sync.target 6
:config sync.6.path https://cloud.example.com/remote.php/dav/files/alice/Joplin
:config sync.6.username alice
:config sync.6.password MOT_DE_PASSE_APPLICATION

Un mot de passe d’application remplace le mot de passe du compte

Nextcloud recommande un mot de passe d’application pour tout client WebDAV tiers, et Joplin en a besoin dès que la double authentification est active. Le manuel utilisateur de Nextcloud décrit le chemin : cliquer sur l’avatar, ouvrir Paramètres personnels, choisir Sécurité dans la colonne de gauche, descendre en bas de page et créer le mot de passe. Celui-ci se révoque par la suite sans toucher au mot de passe principal du compte. Le même document signale un gain de performance, Nextcloud devant fournir un travail supplémentaire à chaque requête pour vérifier un mot de passe de compte.

La FAQ Joplin ajoute une consigne de saisie pour les comptes protégés par un second facteur : taper l’identifiant et le mot de passe à la main plutôt que de les coller. Le champ concerné garde le même nom, Nextcloud password ou WebDAV password selon la cible. La commande curl de la première section utilise ce mot de passe d’application, jamais celui du compte.

  1. Cliquer sur l’avatar, ouvrir Paramètres personnels, choisir Sécurité et descendre en bas de page. À l’écran : le formulaire de création d’un mot de passe d’application.
  2. Nommer le mot de passe Joplin et valider. À l’écran : la valeur générée, à recopier dans le champ Nextcloud password ou WebDAV password.

Joplin 3.7.16 et 3.7.17 renvoient 409 Conflict sur les fichiers .resource

Deux régressions de la synchronisation WebDAV ont été introduites dans la branche 3.7 de Joplin et corrigées par la version 3.7.18, publiée le 11 septembre 2026. Les notes de publication de cette version listent Fix WebDAV sync failing with 409 errors after 3.7 upgrade et Fix WebDAV sync error Protocol https: not supported on servers that redirect. Les rapports de bogue visent les versions 3.7.16 et 3.7.17, celui de l’erreur 409 ayant été ouvert le 6 septembre 2026 depuis un client Windows. Dans les deux cas, la version 3.6.16 continue de fonctionner sur la même machine et la même instance.

Le message 409 tombe sur une requête PUT qui vise un fichier du dossier .resource, donc au dépôt d’une pièce jointe, et le corps de la réponse contient la page d’erreur HTML du serveur.

Last error: Error: PUT .resource/938ca60e548a4f9d9a5ebde515db8dbb: Unknown error 2 (409): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>409 Conflict</title> </head><body> <h1>Conflict</h1> ...

Sur une instance qui redirige une adresse HTTP vers HTTPS, l’erreur est plus courte et nomme le protocole attendu.

Last error: Protocol "https:" not supported. Expected "http:" (Code ERR_INVALID_PROTOCOL)

La configuration n’est en cause dans aucun des deux cas : remplacer le client par la version 3.7.18 ou plus récente suffit, sans retoucher l’adresse ni le mot de passe.

Changer d’adresse WebDAV après coup peut vider un appareil

Une adresse WebDAV qui pointe vers un dossier vide fait croire à Joplin que les notes ont disparu du serveur, et la FAQ Joplin indique que l’application supprime alors les données locales pour s’aligner. La copie du dossier .resource, qui porte les images et les pièces jointes, fait partie des étapes décrites. Le champ d’adresse affiche un avertissement repris mot pour mot de la référence de configuration : Attention: If you change this location, make sure you copy all your content to it before syncing, otherwise all files will be removed!

Un garde-fou limite les dégâts sans couvrir tous les cas. La clé sync.wipeOutFailSafe, activée par défaut, empêche l’effacement des données locales quand la cible de synchronisation est vide, ce qui vise l’erreur de configuration la plus courante mais pas un dossier partiellement rempli. La FAQ Joplin détaille la marche à suivre en sept étapes, dans cet ordre.

  1. Exporter les données en archive JEX. À l’écran : un fichier .jex enregistré à l’emplacement choisi.
  2. Synchroniser une dernière fois depuis un client de bureau. À l’écran : total items et synced items égaux dans l’état de synchronisation.
  3. Fermer le client Joplin.
  4. Copier tous les fichiers Joplin vers le nouvel emplacement, dossier .resource compris. À l’écran : les deux emplacements listent les mêmes sous-dossiers.
  5. Rouvrir Joplin et changer l’adresse.
  6. Lancer une synchronisation et vérifier. À l’écran : total items et synced items de nouveau égaux.
  7. Reprendre les deux étapes précédentes sur chaque autre appareil.

L’état de synchronisation et les deux plafonds du serveur

L’état de synchronisation se lit dans le menu Help de l’application de bureau, à l’entrée Synchronisation Status, et sur mobile dans Configuration puis Tools, à l’entrée SYNC STATUS. Deux nombres y figurent, total items et synced items : la FAQ Joplin demande qu’ils soient égaux et que tous les appareils affichent le même total. Sur mobile, la synchronisation ne tourne pas en arrière-plan : passer l’application en arrière-plan ou éteindre l’écran l’interrompt, ce qui laisse des écarts entre appareils.

Deux plafonds viennent du serveur. Le pilote WebDAV de Joplin dépose chaque élément par une seule requête PUT, sans découpage, dans le dépôt du projet. Le manuel d’administration de Nextcloud donne 512 Mo comme taille maximale d’upload par défaut, valeur qui se règle dans .user.ini, et signale que ce réglage PHP ne s’applique pas forcément aux PUT WebDAV en un seul bloc : sur Apache 2.4.54 et suivants, LimitRequestBody vaut 1 Gio par défaut et limite les clients qui n’envoient pas les fichiers découpés.

Un certificat auto-signé ajoute un réglage côté client, Joplin exposant net.ignoreTlsErrors, désactivé par défaut, et net.customCertificates pour charger une autorité maison ; le certificat TLS de Nextcloud se traite de son côté. Une pièce jointe au-delà des plafonds reste locale et bloque la file d’attente. La cible système de fichiers de Joplin écrit la base dans un dossier local que Syncthing peut répliquer entre appareils, ce qui supprime le serveur web et ses limites mais aussi l’accès aux notes depuis un navigateur. La commande PROPFIND de la première section tranche en une requête entre les deux montages.

Le serveur, la version et les pièces jointes expliquent les échecs qui restent

Pourquoi Joplin a-t-il effacé mes notes après un changement d’adresse WebDAV ?

Parce que la nouvelle adresse pointait vers un dossier vide, que Joplin interprète comme une suppression faite sur le serveur. La FAQ Joplin impose la copie de tout le contenu, dossier .resource compris, avant de changer l’adresse. L’ordre compte : synchroniser, fermer, copier, modifier l’adresse, vérifier.

Que change le choix entre la cible Nextcloud et la cible WebDAV ?

Les deux cibles partagent le même code, le dépôt du projet présentant la cible Nextcloud comme une enveloppe autour de la cible WebDAV. Ce qui change tient aux libellés, aux clés sync.5.* et sync.6.*, et aux identifiants 5 et 6 attendus par le mode ligne de commande. Une instance Nextcloud fonctionne avec l’une comme avec l’autre.

Comment éprouver l’adresse sans ouvrir Joplin ?

Une requête PROPFIND sur le dossier répond en XML quand l’adresse existe. Le manuel utilisateur de Nextcloud donne la commande curl -u utilisateur:motdepasse -X PROPFIND -H « Depth: 1 » suivie de l’adresse du dossier. La réponse attendue porte la balise multistatus et un statut 200 pour le dossier Joplin.

Peut-on réduire le nombre de connexions simultanées ?

Oui. Le réglage Max concurrent connections, clé sync.maxConcurrentConnections, vaut 5 par défaut et accepte un entier de 1 à 20, en mode avancé. La valeur est globale et s’applique à toutes les cibles de synchronisation.

Une pièce jointe de 2 Go passe-t-elle par WebDAV ?

Sur un serveur Apache 2.4.54 ou plus récent, elle se heurte au plafond par défaut de LimitRequestBody, fixé à 1 Gio, qui limite les clients n’envoyant pas les fichiers découpés, ce que fait Joplin avec un PUT par élément. Le plafond PHP annoncé par Nextcloud, 512 Mo par défaut, se règle dans .user.ini. Une pièce jointe trop lourde reste locale et bloque la synchronisation suivante.

Comment synchroniser une machine sans interface graphique ?

Le client terminal Joplin expose la commande joplin sync, exécutable depuis un shell ou depuis une tâche planifiée. La documentation du client terminal donne l’exemple d’une entrée cron toutes les 30 minutes, */30 * * * * /path/to/joplin sync. La configuration se pose dans le mode ligne de commande, par exemple :config sync.target 6.

Sources