Accès aux fichiers Nextcloud avec WebDAV

Nextcloud supporte le protocole WebDAV, et vous pouvez vous connecter et synchroniser vos fichiers avec le protocole WebDAV. Dans ce chapitre, vous apprendrez comment connecter Linux, macOS, Windows et vos appareil mobiles à votre serveur nextcloud via WebDAV. Avant de commencer à configurer WebDAV, voici un rapide aperçu de la méthode recommandée pour connecter les matériels clients au serveurs Nextcloud.

Note

Dans les exemples suivants, vous devez remplacer example.com/ par l’URL de votre serveur Nextcloud (sans le nom de dossier si l’installation est à la racine de votre domaine) et « USERNAME » par l’identifiant de la personne qui se connecte.

Utilisez l’URL WebDAV (Paramètres en bas à gauche) depuis votre compte Nextcloud.

Note

Dans les exemples suivants, vous devez utiliser un mot de passe-application pour vous connecter, vous pouvez le générer dans vos paramètres de Sécurité.

Clients Nextcloud pour Desktop et mobiles

La méthode recommandée pour synchroniser un ordinateur personnel avec un serveur nextcloud est d’utiiser le client de synchro Nextcloud/ownCloud. Vous pouvez configurer le client pour sauvegarder les fichiers du serveur Nextcloud dans un dossier en local et vous pouvez sélectionner les répertoires du serveur avec lesquels vous souhaitez effectuer une synchronisation. Le client affiche le statut de la connexion et enregistre toutes les activités ; vous pourrez toujours savoir quels sont les fichiers qui ont été téléchargés sur votre PC et vous pouvez vérifier que les fichiers créés ou modifiés localement ont bien été synchronisés avec le serveur.

La méthode recommandée pour synchroniser le serveur Nextcloud avec les périphériques Android et Apple iOS est d’utiliser les applications mobiles.

Pour connecter votre application mobile à un serveur Nextcloud, utilisez l’URL de base et le dossier uniquement:

example.com/nextcloud

En plus des applications pour mobile fournies par Nextcloud ou ownCloud, vous pouvez utiliser d’autres applications pour vous connecter à Nextcloud depuis votre appareil mobile en utilisant WebDAV. WebDAV Navigator est une bonne application (propriétaire) pour les périphériques Android et iPhones. L’URL à utiliser pour ces derniers est

example.com/nextcloud/remote.php/dav/files/USERNAME/

Configuration WebDAV

Si vous préférez, vous pouvez aussi vous connecter sur votre ordinateur à votre serveur Nextcloud en utilisant le protocole WebDAV plutôt qu’une application spécifique. Web Distributed Authoring and Versioning (WebDAV) est une extention du protocole HTTP qui permet de créer, lire ou modifier des fichiers sur des serveurs web. Avec WebDAV, vous pouvez accéder à vos partages Nextcloud depuis Linux, macOS et Windows, de la même manière que n’importe quel partage de fichiers en réseau, et rester synchronisé.

Accéder aux fichiers en utilisant Linux

Vous pouvez accéder aux fichiers sous Linux en utilisant les méthodes suivantes.

Gestionnaire de fichiers Nautilus

When you configure your Nextcloud account in the GNOME Control Center, your files will automatically be mounted by Nautilus as a WebDAV share, unless you deselect file access.

Vous pouvez aussi monter vos fichiers Nextcloud manuellement. Utilisez le protocole davs:// pour connecter le gestionnaire de fichier Nautilus à votre partage Nextcloud:

davs://example.com/nextcloud/remote.php/dav/files/USERNAME/

Note

Si votre connexion serveur n’est pas sécurisée en HTTPS, utilisez dav:// à la place de davs:// :

captures d'écran de la configuration du gestionnaire de fichiers Nautilus pour utiliser WebDAV

Note

Cette méthode fonctionne également pour les autres gestionnaires de fichiers qui utilisent GVfs, comme Caja de MATE ou Nepomuk de Cinnamon.

Accès aux fichiers avec KDE et le gestionnaire de fichiers Dolphin

Pour accéder à vos fichier Nextcloud depuis le gestionnaire de fichier Dolphin avec KDE, utilisez le protocole webdavs://:

webdav://example.com/nextcloud/remote.php/dav/files/USERNAME/
captures d'écran de la configuration du gestionnaire de fichiers Dolphin pour utiliser WebDAV

Vous pouvez créer un lien permanent à votre serveur Nextcloud :

  1. Ouvrez Dolphin et cliquez sur « Reseau » dans la colonne « Emplacements » de gauche.

  2. Cliquez sur l’icône Ajouter un dossier réseau. La boîte de dialogue doit apparaître avec WebDAV sélectionné.

  3. Sélectionnez WebDAV si il n’est pas sélectionné.

  4. Cliquez sur Suivant.

  5. Entrez les paramètres suivants :

    • Nom: Le nom que vous voulez voir apparaître dans vos signets, par exemple Nextcloud.

    • Utilisateur : L’identifiant Nextcloud que vous utilisez pour vous connecter, par exemple admin.

    • Serveur : Le nom de domaine Nextcloud, par exemple exemple.com (sans http:// avant, ni les répertoires après).

    • Dossier – Entrez le chemin « nextcloud/remote.php/dav/files/USERNAME/ ».

  6. (Optionnel) Cochez la case « Créer icône » pour faire apparaître un signet dans la colonne Emplacements.

  7. (Optionel) Configuration spécifique ou fourniture d’un certificat SSL via la checkbox « Port & Cryptage »

Créer un point de montage WebDAV en ligne de commande Linux

Vous pouvez créer un point de montage WebDAV en ligne de commande Linux. Ceci est utile si vous préferrez accéder à Nextcloud de la même manière que n’importe quel autre système de ficher distant. L’exemple suivant montre comment créer un point de montage personnel et activer sa connexion automatiquement à chaque fois que vous vous connectez à votre ordinateur Linux.

  1. Installer le driver WebDAV davfs2, qui autorise le montage de partages WebDAV comme n’importe quel autre filesystem distant. Utilisez cette commande pour l’installer sur Debian/Ubuntu

    apt-get install davfs2
    
  2. Utilisez cette commande pour l’installer sur CentOS, Fedora, and openSUSE

    yum install davfs2
    
  3. Ajoutez vous dans le groupe davfs2

    usermod -aG davfs2 <username>
    
  1. Puis créer un répertoire nextcloud dans le répertoire racine pou rvotre point de montage, et .davfs2/ pour votre fichoer de configuration personnel

    mkdir ~/nextcloud
    mkdir ~/.davfs2
    
  2. Copiez /etc/davfs2/secrets dans ~/.davfs2:

    cp  /etc/davfs2/secrets ~/.davfs2/secrets
    
  3. Mettez vous owner avec les permissions read-write owner seulement

    chown <linux_username>:<linux_username> ~/.davfs2/secrets
    chmod 600 ~/.davfs2/secrets
    
  4. Ajoutez vos information de connexion Nextcloud à la fin du fichier secrets, en mettant l’URL de votre serveur, l’identifiant et le mot de passe de votre compte Nextcloud

    https://example.com/nextcloud/remote.php/dav/files/USERNAME/ <username> <password>
    or
    $PathToMountPoint $USERNAME $PASSWORD
    for example
    /home/user/nextcloud john 1234
    
  5. Ajouter l’information de montage dans /etc/fstab

    https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /home/<linux_username>/nextcloud
    davfs user,rw,auto 0 0
    
  6. Ensuite testez le montage et l’authentification en exécutant la commande suivante. Si votre configuration est correcte, vous n’avez pas besoin de passer en mode root

    mount ~/nextcloud
    
  7. Vous devriez aussi être capable de le démonter

    umount ~/nextcloud
    

Maintenant, chaque fois que vous vous connecterez à votre système Linux, votre partage Nextcloud devrait automatiquement se connecter via WebDAV dans votre répertoire ~/nextcloud . Si vous préférez le monter manuellement, remplacez auto par noauto dans /etc/fstab.

Anomalies connues

Problème

Ressource temporairement inaccessible

Solution

Si vous rencontrez des problèmes lorsque vous créer un fichier dans le répertoire, éditez le fichier /etc/davfs2/davfs2.conf et ajoutez

use_locks 0

Problème

Alerte de certificat

Solution

Si vous utilisez un certificat auto-signé, vous allez obtenir une alerte. Pour retirer l’alerte, vous devez configurer davfs2 pour reconnaître votre certificat. Copiez mycertificate.pem dans /etc/davfs2/certs/. Puis éditez /etc/davfs2/davfs2.conf et retirer le commentaire devant la ligne servercert. Maintenant, ajoutez le chemin de votre certificat comme dans cet exemple

servercert /etc/davfs2/certs/mycertificate.pem

Accéder aux fichiers avec macOS

Note

The macOS Finder suffers from a series of implementation problems and should only be used if the Nextcloud server runs on Apache and mod_php, or Nginx 1.3.8+. Alternative macOS-compatible clients capable of accessing WebDAV shares include open source apps like Cyberduck (see instructions here) and Filezilla. Commercial clients include Mountain Duck, Forklift, Transmit, and Commander One.

Pour accéder aux fichiers avec le Finder de macOS :

  1. Depuis la barre de menu supérieure du fonder, choisissez Aller > Se connecter au serveur…:

Capture d'écran de la saisie de l'adresse du serveur Nextcloud sur macOS
  1. Lorsque la fenêtre Connexion au serveur » » apparaît, saisissez l’adresse WebDAV de votre server Nextcloud dans le champ **Adresse du serveur :, soit :

    https://cloud.YOURDOMAIN.com/remote.php/dav/files/USERNAME/
    
Capture d'écran : Indiquez l'adresse du serveur Nextcloud dans la boîte de dialogue “Connexion au serveur…”
  1. Cliquez sur Se connecter. Votre serveur WebDAV doit apparaître sur le bureau comme un disque partagé.

Accéder aux fichiers avec Microsoft Windows

Si vous utilisez l’implémentation de WebDAV native de Windows, vous pouvez mapper Nextcloud à un nouveau lecteur grâce à l’explorateur Windows. Mapper à un lecteur vous permet de naviguer dans les fichiers stockés sur un serveur Nextcloud comme si ils étaient stockés sur un répertoire réseau.

Cette fonctionnalité nécessite une connexion réseau. Si vous voulez travailler sur vos fichiers en local, utilisez le « Desktop Sync Client » pour synchroniser vos fichiers depuis votre serveur Nextcloud vers un ou plusieurs répertoires sur votre disque dur local.

Note

Windows 10 permet par défaut l’authetification de base si HTTPS est activé avant de définir votre disque. Sur les versions antérieures de Windows, vous pouvez permettre l’utilisation de l’Authentification de base dans le registre de Windows: lancer « regedit » an aller à la clé HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters. Créez ou modifiez la valeur de « DWORD » BasicAuthLevel (Windows XP et Windows 2003) et la définir à « 1 » pour une connexion SSL. La valeur « 0 » signifie que l’Authentification de base est désactivée, la valeur « 2 » permet des connexions SSL et non SSL

Connecter un lecteur réseau en ligne de commande

L’exemple suivant montre comment connecter un lecteur réseau en ligne de commande. Pour connecter le lecteur :

  1. Ouvrez une fenêtre d’invite de commandes dans Windows.

  2. Entrez la commande suivante pour connecter Nextcloud au lecteur Z de votre ordinateur

    net use Z: https://<drive_path>/remote.php/dav/files/USERNAME/ /user:youruser
    yourpassword
    

où <drive_path> est l’URL de votre serveur Nextcloud.

Par exemple: net use Z: https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /user:youruser yourpassword

L’ordinateur liste les fichiers de votre compte Nextcloud sur le lecteur Z.

Note

Bien que ce soit déconseillé, vous pouvez aussi monter le serveur Nextcloud en utilisant le protocole HTTP, laissant la connexion non cryptée. Si vous pensez utiliser cet appareil connecté dans un espace public, nous vous recommandons fortement d’utiliser un tunnel VPN pour assurer la sécurité nécessaire.

Une syntaxe alternative de cette commande est :

net use Z: \\example.com@ssl\nextcloud\remote.php\dav /user:youruser
yourpassword

Connecter des lecteurs réseaux avec Windows Explorer

Pour connecter un lecteur réseau avec le navigateur Microsoft Windows Explorer :

  1. Ouvrez Windows Explorer sur votre ordinateur Windows.

  2. Faites un clic-droit sur le dossier Ordinateur et sélectionnez Connectez un lecteur réseau… depuis le menu déroulant.

  3. Choisissez le lecteur de réseau local que vous souhaitez connecter à Nextcloud.

  4. Spécifiez l’adresse de votre instance Nextcloud, suivi de /remote.php/dav/files/USERNAME/.

Par exemple

https://example.com/nextcloud/remote.php/dav/files/USERNAME/

Note

Pour les serveurs protégés par SSL, cochez Se reconnecter lors de la connexion pour s’assurer que le mappage est persistent lors des redémarrages suivants. Si vous voulez vous connecter au serveur Nextcloud avec un autre utilisateur, cochez Se connecter à l’aide d’informations d’identification différentes.

capture d'écran de la configuration de WebDAV dans l'explorateur Windows
  1. Cliquez sur le bouton Terminer.

L’explorateur Windows connecte le lecteur de fichiers et rend votre instance Nextcloud disponible.

Accéder aux fichiers avec Cyberduck

Cyberduck est un logiciel open source de transfert de fichiers par FTP, SFTP, WebDAV, OpenStack Swift et Amazon S3, qui fonctionne sous macOS et Windows.

Note

Cet exemple utilise la version 4.2.1 de Cyberduck.

Pour utiliser Cyberduck :

  1. Indiquez un serveur sans autre information sur le protocole. Par exemple :

exemple.com

  1. Précisez le port approprié. Le choix du port diffère selon que votre serveur Nextcloud supporte ou non le standard SSL. Cyberduck demande de sélectionner un type de connexion différent pour utiliser SSL. Par exemple:

80 (pour WebDAV)

443 (pour WebDAV HTTPS/SSL)

  1. Utilisez le menu déroulant « Plus d’options » pour ajouter le reste de votre URL WebDAV dans le champ « Chemin ». Par exemple :

remote.php/dav/files/USERNAME/

Désormais, Cyberduck permet l’accès aux fichiers du serveur Nextcloud.

Accéder aux partages publics avec WebDAV

Nextcloud provides the possibility to access public shares anonymously over WebDAV.

Pour accéder au partage public, ouvrez

https://example.com/nextcloud/public.php/webdav

in a WebDAV client, use the share token as username and the (optional) share password as password. For example, with a share link https://example.com/s/kFy9Lek5sm928xP, kFy9Lek5sm928xP will be the username.

Note

SettingsAdministrationSharingAllow users on this server to send shares to other servers. This option also allows WebDAV access to public shares needs to be enabled in order to make this feature work, except if cURL is being used (see below).

Problèmes connus

Problème

Windows ne se connecte pas avec HTPPS.

Solution 1

Le client WebDAV pour Windows ne supporte pas Server Name Indication (SNI) avec les connexions cryptées. Si vous rencontrez une erreur en connectant une instance Nextcloud SSL-encrypted, contactez votre fournisseur pour qu’il vous fournisse une adresse IP dédiée à votre serveur SSL.

Solution 2

Le client Windows WebDAV pourrait ne pas supporter les connections TLSv1.1 / TLSv1.2. Si vous avez restreint la configuration de votre serveur dans le but de fournir uniquement des connections TLSv1.1 et plus, la connexion à votre serveur pourrait échouer. Référez vous à la documentation WinHTTP pour plus d’informations.

Problème

Vous avez obtenu le message d’erreur suivant : Erreur 0x800700DF : La taille du fichier dépasse la limite autorisée ; il ne peut être enregistré.

Solution

Windows limite la taille maximum des fichiers transférés via un partage WebDAV. Vous pouvez augmenter la valeur FileSizeLimitInBytes dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters en cliquant sur Modifier.

Pour augmenter la limite à la valeur maximal de 4GB, selectionnez Decimal, entrez la valeur 4294967295, et relancez Windows ou redémarrez le service WebClient.

Problème

Adding a WebDAV drive on Windows via the above described steps does not display the correct size of in Nextcloud available space and instead shows the size of the C: drive with its available space.

Answer

Unfortunately is this a limitation of WebDAV itself, because it does not provide a way for the client to get the available free space from the server. Windows automatically falls back to show the size of the C: drive with its available space instead. So unfortunately there is no real solution to this problem.

Problème

Problème d’accès à vos fichiers avec Microsoft Office via WebDAV

Solution

Les problèmes connus et leurs solutions sont documentés dans l’article KB2123563.

Problème

Impossible de connecter un lecteur dans Windows en utilisant un certificat auto-signé.

Solution

  1. Accédez à l’instance de votre Nextcloud via votre navigateur Web préféré.

  2. Cliquez jusqu’à ce que vous arriviez à l’erreur de certificat dans la ligne d’état du navigateur.

  3. Affichez le certificat, puis dans l’onglet Détails, sélectionnez Copier vers Fichier.

  4. Sauvegardez sur le bureau avec un nom arbitraire, par exemple  » myNextcloud.pem « .

  5. Démarrer, Exécuter, MMC.

  6. Fichier, Ajout/Suppression d’un Composant.

  7. Sélectionnez Certificats, cliquez sur Ajouter, Mon compte d’utilisateur, puis Terminer, et enfin OK.

  8. Creusez jusqu’aux autorités de confiance de certification de la racine, aux certificats.

  9. Cliquez avec le bouton droit sur le certificat, sélectionnez toutes les tâches, importez.

  10. Choisir le Certificat Sauvegardé depuis le bureau

  11. Sélectionnez Placer tous les certificats dans le magasin suivant, cliquez sur Parcourir.

  12. Cochez la case qui indique Afficher les magasins physiques, Développer les autorités de certification racine de confiance, et sélectionnez l’ordinateur local à cet endroit, cliquez sur OK, Terminer l’importation.

  13. Vérifiez la liste pour vous assurer qu’il y figure. Vous aurez probablement besoin de la rafraîchir avant de la voir. Sortez MMC.

  14. Ouvrez le navigateur, sélectionnez Outils, Supprimer l’historique de navigation.

  15. Sélectionnez tout sauf Dans les données de filtrage privé, terminez.

  16. Allez dans Options Internet, onglet Contenu, Effacer l’état du SSL.

  17. Fermez le navigateur, puis rouvrez et testez.

Problème

Vous ne pouvez pas télécharger plus de 50 Mo ou téléverser des fichiers volumineux lorsque le téléversement prend plus de 30 minutes en utilisant le Client Web sous Windows 7.

Solution

Les solutions de contournement sont documentées dans l’article KB2668751.

Accès aux fichiers en utilisant cURL

Since WebDAV is an extension of HTTP, cURL can be used to script file operations.

Note

SettingsAdministrationSharingAllow users on this server to send shares to other servers. If this option is disabled the option --header "X-Requested-With: XMLHttpRequest" needs to be passed to cURL.

Pour créer un dossier avec la date du jour comme nom :

$ curl -u user:pass -X MKCOL "https://example.com/nextcloud/remote.php/dav/files/USERNAME/$(date '+%d-%b-%Y')"

Pour téléverser un fichier error.log dans ce répertoire :

$ curl -u user:pass -T error.log "https://example.com/nextcloud/remote.php/dav/files/USERNAME/$(date '+%d-%b-%Y')/error.log"

Pour déplacer un fichier :

$ curl -u user:pass -X MOVE --header 'Destination: https://example.com/nextcloud/remote.php/dav/files/USERNAME/target.jpg' https://example.com/nextcloud/remote.php/dav/files/USERNAME/source.jpg

Pour obtenir les propriétés des fichiers dans le dossier racine :

    $ curl -X PROPFIND -H "Depth: 1" -u user:pass https://example.com/nextcloud/remote.php/dav/files/USERNAME/ | xml_pp
    <?xml version="1.0" encoding="utf-8"?>
<d:multistatus xmlns:d="DAV:" xmlns:oc="http://nextcloud.org/ns" xmlns:s="http://sabredav.org/ns">
  <d:response>
    <d:href>/nextcloud/remote.php/dav/files/USERNAME/</d:href>
    <d:propstat>
      <d:prop>
        <d:getlastmodified>Tue, 13 Oct 2015 17:07:45 GMT</d:getlastmodified>
        <d:resourcetype>
          <d:collection/>
        </d:resourcetype>
        <d:quota-used-bytes>163</d:quota-used-bytes>
        <d:quota-available-bytes>11802275840</d:quota-available-bytes>
        <d:getetag>"561d3a6139d05"</d:getetag>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
  <d:response>
    <d:href>/nextcloud/remote.php/dav/files/USERNAME/welcome.txt</d:href>
    <d:propstat>
      <d:prop>
        <d:getlastmodified>Tue, 13 Oct 2015 17:07:35 GMT</d:getlastmodified>
        <d:getcontentlength>163</d:getcontentlength>
        <d:resourcetype/>
        <d:getetag>"47465fae667b2d0fee154f5e17d1f0f1"</d:getetag>
        <d:getcontenttype>text/plain</d:getcontenttype>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
</d:multistatus>

Accessing files using WinSCP

WinSCP is an open source free SFTP client, FTP client, WebDAV client, S3 client and SCP client for Windows. Its main function is file transfer between a local and a remote computer. Beyond this, WinSCP offers scripting and basic file manager functionality.

You can download the portable version of WinSCP and run it on Linux through Wine.

To run WinSCP on Linux, download wine through your distribution’s package manager, then run it via: wine WinSCP.exe.

To connect to Nextcloud:

  • Start WinSCP

  • Press “Session” in the menu

  • Press the “New Session” menu option

  • Set the “File protocol” dropdown to WebDAV

  • Set the “Encryption” dropdown to TSL/SSL Implicit encryption

  • Fill in the hostname field: example.com

  • Fill in the username field: NEXTCLOUDUSERNAME

  • Fill in the password field: NEXTCLOUDPASSWORD

  • Press the “Advanced…” button

  • Navigate to “Environment”, “Directories” on the left side

  • Fill in the “Remote directory” field with the following: /nextcloud/remote.php/dav/files/NEXTCLOUDUSERNAME/

  • Press the “OK” button

  • Press the “Save” button

  • Select the desired options and press the “OK” button

  • Press the “Login” button to connect to Nextcloud

Note: it is recommended to use an app password for the password if you use TOTP, as WinSCP does not understand TOTP in Nextcloud at the time of writing (2022-11-07).