This text is a work in progress—highly subject to change—and may not accurately describe any released version of the Apache™ Subversion® software. Bookmarking or otherwise referring others to this page is probably not such a smart idea. Please visit http://www.svnbook.com/ for stable versions of this book.

Interopérabilité des clients

Les clients WebDAV peuvent être classés en trois catégories : applications autonomes, greffons pour explorateurs de fichiers et implémentations de systèmes de fichiers. Ces catégories définissent à grosses mailles les types de fonctionnalités WebDAV offertes aux utilisateurs. Le Tableau C.1, « Principaux clients WebDAV » contient notre répartition en catégories et fournit une brève description des principaux logiciels compatibles WebDAV. Vous trouverez plus d'informations sur ces logiciels, ainsi que sur les catégories auxquelles ils appartiennent, dans les sections à suivre.

Tableau C.1. Principaux clients WebDAV

Logiciel Type Windows Mac Linux Description
Adobe Photoshop Application WebDAV autonome X     Logiciel de retouche d'images, capable d'accéder directement à des URL WebDAV, en lecture et en écriture
cadaver Application WebDAV autonome   X X Client WebDAV en ligne de commande, supportant des opérations de transfert de fichiers, d'arborescences et de verrouillage
DAV Explorer Application WebDAV autonome X X X Interface graphique en Java dont le but est de parcourir des partages WebDAV
Adobe Dreamweaver Application WebDAV autonome X     Logiciel de création Web, capable d'accéder directement à des URL WebDAV, en lecture et en écriture
Microsoft Office Application WebDAV autonome X     Suite bureautique dont plusieurs composants sont capables d'accéder directement à des URL WebDAV, en lecture et en écriture
Dossiers Web de Microsoft Greffon WebDAV pour explorateur de fichiers X     Explorateur de fichiers avec interface graphique capable d'effectuer des opérations sur les arborescences de partages WebDAV
GNOME Nautilus Greffon WebDAV pour explorateur de fichiers     X Explorateur de fichiers avec interface graphique capable d'effectuer des opérations sur les arborescences de partages WebDAV
KDE Konqueror Greffon WebDAV pour explorateur de fichiers     X Explorateur de fichiers avec interface graphique capable d'effectuer des opérations sur les arborescences de partages WebDAV
Mac OS X Implémentation d'un système de fichiers WebDAV   X   Système d'exploitation capable de monter des partages WebDAV nativement
Novell NetDrive Implémentation d'un système de fichiers WebDAV X     Logiciel qui permet d'affecter des partages réseaux WebDAV à des lecteurs réseaux Windows
SRT WebDrive Implémentation d'un système de fichiers WebDAV X     Logiciel de transfert de fichiers qui, entre autres choses, permet d'affecter des partages réseaux WebDAV à des lecteurs réseaux Windows
davfs2 Implémentation d'un système de fichiers WebDAV     X Pilote de système de fichiers Linux qui permet de monter des partages WebDAV

Applications WebDAV autonomes

Une application WebDAV est un programme qui communique avec un serveur WebDAV en utilisant les protocoles WebDAV. Nous allons passer en revue les programmes les plus populaires dans cette catégorie.

Microsoft Office, Dreamweaver, Photoshop

Sous Windows, plusieurs applications bien connues intègrent nativement un client WebDAV, par exemple Microsoft Office[88], Photoshop d'Adobe et Dreamweaver. Ils sont capables d'accéder à des URL WebDAV, à la fois en lecture et en écriture, et ont tendance à faire un usage intensif des verrous WebDAV lors de l'édition d'un fichier.

Notez que bien que beaucoup de ces programmes fonctionnent également sous Mac OS X, ils ne semblent pas directement supporter WebDAV sur cette plateforme. En fait, sous Mac OS X, la boîte de dialogue Fichier→Ouvrir ne permet d'entrer ni un chemin ni une URL. Il est probable que le support de WebDAV ait été délibérément laissé de côté sur les versions Macintosh de ces programmes, puisque le système de fichiers de bas niveau d'OS X est déjà lui-même hautement compatible avec WebDAV.

cadaver, DAV Explorer

cadaver (cadavre en français) est un programme Unix rudimentaire en ligne de commande pour parcourir et modifier des partages WebDAV. Il utilise la bibliothèque HTTP neon (ce qui n'est pas très surprenant puisque neon et cadaver sont écrits par le même auteur). cadaver est un logiciel libre (licence GPL) disponible à l'adresse http://www.webdav.org/cadaver/ (site en anglais).

L'utilisation de cadaver est similaire à l'utilisation d'un programme FTP en ligne de commande et se révèle donc extrêmement utile pour effectuer du débogage sur WebDAV. Il peut être utilisé pour transférer rapidement plusieurs fichiers du serveur vers son ordinateur ou de son ordinateur vers le serveur, pour examiner les propriétés et pour copier, déplacer, verrouiller ou déverrouiller les fichiers :

$ cadaver http://hote/depot
dav:/depot/> ls
Listing collection `/depot/': succeeded.
Coll: > machintruc                             0  May 10 16:19
      > auteur.el                           2864  May  4 16:18
      > preuve-en-poeme.txt                 1461  May  5 15:09
      > cote-d-azur.jpg                    66737  May  5 15:09

dav:/depot/> put LISEZMOI
Uploading LISEZMOI to `/depot/LISEZMOI':
Progress: [=============================>] 100.0% of 357 bytes succeeded.

dav:/depot/> get preuve-en-poeme.txt
Downloading `/depot/preuve-en-poeme.txt' to preuve-en-poeme.txt:
Progress: [=============================>] 100.0% of 1461 bytes succeeded.

DAV Explorer est un autre client WebDAV autonome, écrit en Java. Il est sous une licence libre de type Apache et est disponible à l'adresse http://www.ics.uci.edu/~webdav/ (site en anglais). Il peut faire tout ce que fait cadaver et a l'avantage d'être portable, ainsi que d'avoir une interface graphique plus conviviale. C'est aussi un des premiers clients à supporter le nouveau protocole « WebDAV Access Control Protocol » (RFC 3744).

Bien sûr, le fait que DAV Explorer supporte les listes de contrôle d'accès (ACL) n'a aucun intérêt pour nous, puisque mod_dav_svn ne les supporte pas. Le support limité de certaines commandes DeltaV par cadaver et DAV Explorer n'est pas particulièrement utile non plus puisqu'ils n'autorisent pas les requêtes MKACTIVITY. Mais cela n'est pas pertinent de toute manière ; nous considérons que tous ces clients se connectent à des dépôts avec gestion de versions automatique.

Greffons WebDAV pour explorateur de fichiers

Certains explorateurs de fichiers avec interface graphique bien connus disposent de greffons pour WebDAV qui permettent à l'utilisateur de parcourir un partage DAV comme si c'était un répertoire sur l'ordinateur local et d'effectuer des opérations de base sur l'arborescence partagée. Par exemple, Windows Explorer est capable de parcourir un serveur WebDAV en tant qu'« emplacement réseau ». Les utilisateurs peuvent glisser-déposer des fichiers depuis et vers le bureau, ou peuvent renommer, copier ou effacer des fichiers comme d'habitude. Mais comme cette fonctionnalité est propre à l'explorateur de fichiers, le partage DAV n'est pas visible par les applications ordinaires. Toutes les interactions DAV doivent passer par l'intermédiaire de l'interface de l'explorateur.

Dossiers Web de Microsoft

Microsoft faisait partie du groupe de travail sur les spécifications WebDAV et a commencé à livrer un client WebDAV avec Windows 98, sous le nom de « Dossiers Web ». Ce client était également livré avec Windows NT 4.0 et Windows 2000.

Le client originel « Dossiers Web » était une extension de l'explorateur Windows, la principale interface utilisée pour parcourir le système de fichiers. Il fonctionne plutôt bien. Sous Windows 98, l'extension doit être explicitement installée si « Dossiers Web » n'est pas visible dans « Mon Ordinateur ». Sous Windows 2000, ajoutez simplement un nouveau « Favori réseau », entrez l'URL et le partage WebDAV apparaît, prêt à être parcouru.

Avec la sortie de Windows XP, Microsoft a commencé à livrer une nouvelle version de « Dossiers Web », connue sous le nom de mini-redirecteur WebDAV. Cette nouvelle implémentation est un client permettant au niveau du système de fichiers de monter les partages WebDAV en tant que lecteurs réseau. Malheureusement, cette implémentation est incroyablement boguée. Le client essaie généralement de convertir les URL HTTP (http://hote/depot) en notation UNC (\\hote\depot) ; il essaie aussi souvent d'utiliser l'authentification de domaine Windows pour répondre aux défis d'authentification de la méthode basic-auth d'HTTP en envoyant les identifiants sous la forme HOTE\identifiant. Ces problèmes d'interopérabilité sont graves et sont décrits un peu partout sur le Web, à la grande frustration de beaucoup d'utilisateurs. Même Greg Stein, l'auteur initial du module Apache WebDAV, affirme sèchement que les « Dossiers Web » de Windows XP ne peuvent tout simplement pas fonctionner avec un serveur Apache.

La version initiale des « Dossiers Web » de Windows Vista semble être pratiquement la même que celle de Windows XP et les problèmes sont donc les mêmes. Avec de la chance, Microsoft corrigera ces problèmes dans un Service Pack de Vista.

Cependant, il semble qu'il existe des solutions de contournement, à la fois pour XP et pour Vista, qui permettent aux « Dossiers Web » de fonctionner avec un serveur Apache. Les témoignages des utilisateurs de ces solutions sont majoritairement positifs, c'est pourquoi nous les signalons ici.

Avec Windows XP, vous avez deux options : la première, chercher sur le site Web de Microsoft le correctif KB907306, « Mise à jour de logiciels pour les dossiers Web ». Ceci devrait résoudre vos problèmes. Si ce n'est pas le cas, il semble que la version originale pré-XP des « Dossiers Web » soit toujours fournie avec le système. Vous pouvez y accéder en allant sur « Favoris Réseau » et en ajoutant un nouveau « Favori réseau ». Quand le système vous demande d'entrer une URL, saisissez l'URL du dépôt en incluant un numéro de port dans cette URL. Par exemple, vous devez entrer http://hote:80/depot au lieu de http://hote/depot. Répondez ensuite avec vos identifiants Subversion à toute demande d'authentification.

Avec Windows Vista, le même correctif KB907306 devrait faire l'affaire. Mais il est possible qu'il reste d'autres problèmes. Certains utilisateurs rapportent que Vista considère toute connexion http:// comme non sécurisée et fait donc échouer toute tentative d'authentification avec Apache à moins que la connexion n'utilise https://. Si vous ne pouvez pas vous connecter à un dépôt Subversion en SSL, vous pouvez modifier la base de registre du système pour inhiber ce comportement. Changez uniquement la valeur de la clé HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel de 1 à 2. Et finalement, en guise d'avertissement : assurez-vous de faire pointer votre favori réseau vers le répertoire racine du dépôt (/), plutôt que vers un sous-répertoire comme /trunk. Les « Dossiers Web » de Vista semblent ne fonctionner qu'avec les répertoires racines des dépôts.

En général, et bien que ces astuces puissent vous être utiles, vous serez peut-être mieux servi avec un client WebDAV tiers tel que WebDrive ou NetDrive.

Nautilus, Konqueror

Nautilus est l'explorateur/navigateur de fichiers officiel du bureau GNOME (http://www.gnome.org) et Konqueror est l'explorateur/navigateur de fichiers officiel du bureau KDE (http://www.kde.org). Ces deux applications disposent d'un client WebDAV intégré dans l'explorateur de fichiers et elles peuvent se connecter sans problème à un dépôt utilisant la gestion de versions automatique.

Dans Nautilus (GNOME), choisissez l'élément de menu Fichier→Ouvrir un emplacement et entrez l'URL dans la boîte de dialogue qui s'affiche. Le dépôt s'affiche alors comme n'importe quel autre système de fichiers.

Dans Konqueror (KDE), vous devez utiliser la syntaxe webdav:// pour entrer une URL dans la barre d'adresse. Si vous entrez une URL en http://, Konqueror se comporte comme un navigateur classique. Vous risquez alors de voir le contenu du répertoire dans une page HTML classique produite par mod_dav_svn. Si vous entrez webdav://hote/depot à la place de http://hote/depot, Konqueror devient un client WebDAV et affiche le dépôt comme un système de fichiers.

Implémentations de WebDAV en système de fichiers

L'implémentation en système de fichiers peut être considérée avec raison comme le meilleur type de client WebDAV. Il est alors implanté en tant que module bas-niveau, généralement au sein du noyau du système d'exploitation. Cela signifie qu'un partage DAV est monté comme tout autre système de fichiers en réseau, de la même manière qu'un partage NFS est monté sous Unix ou qu'un lecteur réseau est affecté à un partage SMB sous Windows. Au final, ce type de client fournit l'accès WebDAV en lecture/écriture de manière transparente à tous les programmes. Les applications ne sont même pas conscientes des requêtes WebDAV qu'elles génèrent.

WebDrive, NetDrive

WebDrive et NetDrive sont tous deux d'excellents produits commerciaux qui permettent, sous Windows, d'affecter un lecteur réseau à un partage WebDAV. Vous pouvez ainsi effectuer des opérations sur ces pseudo-lecteurs WebDAV aussi facilement et de la même manière que sur un disque dur local. Vous pouvez vous procurer WebDrive auprès de South River Technologies (http://www.southrivertech.com). NetDrive de Novell est disponible gratuitement en ligne mais exige d'avoir une licence Netware.

Mac OS X

Le système d'exploitation OS X d'Apple possède un client WebDAV intégré sous forme de système de fichiers. Depuis Finder (l'explorateur de fichiers), choisissez l'élément de menu Go→Connect to Server. Entrez l'URL WebDAV et elle apparaît en tant que disque sur le bureau, comme tout autre volume monté. Vous pouvez également monter un partage WebDAV avec la commande mount depuis le terminal Darwin, en utilisant le type de système de fichiers webdav :

$ mount -t webdav http://svn.exemple.com/depot/projet /mon/point/de/montage
$

Notez que si votre module mod_dav_svn est plus ancien que la version 1.2, OS X refuse de monter le partage en lecture/écriture ; il apparaît en lecture seule. C'est parce que OS X exige le verrouillage pour les partages en lecture/écriture, et la possibilité de verrouiller des fichiers n'est apparue que dans Subversion 1.2.

Par ailleurs, le client WebDAV d'OS X peut de temps en temps se montrer très sensible aux redirections HTTP. Si OS X est incapable de monter le dépôt, vous devrez peut-être activer la directive BrowserMatch dans le fichier de configuration httpd.conf du serveur Apache :

BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully

davfs2 (Linux)

davfs2 est un module de système de fichiers du noyau Linux. Le projet est hébergé à l'adresse http://savannah.nongnu.org/projects/davfs2. Une fois davfs2 installé, vous pouvez monter un partage réseau WebDAV en utilisant la commande mount habituelle de Linux :

$ mount.davfs http://hote/depot /mnt/dav


[88] Microsoft a décidé de supprimer le support WebDAV d'Access mais il existe toujours pour le reste de la suite Office.