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.
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 |
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.
Sous Windows, plusieurs applications bien connues intègrent nativement un client WebDAV, par exemple Microsoft Office[86], 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
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 (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 https://notroj.github.io/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 https://www.davexplorer.org/ (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.
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.
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 est l'explorateur/navigateur de fichiers officiel du bureau GNOME (https://www.gnome.org) et Konqueror est l'explorateur/navigateur de fichiers officiel du bureau KDE (https://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
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.
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 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 (https://www.webdrive.com/). NetDrive de Novell est disponible gratuitement en ligne mais exige d'avoir une licence Netware.
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 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 est un module de système de fichiers du noyau Linux. Le projet est hébergé à l'adresse https://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
[86] Microsoft a décidé de supprimer le support WebDAV d'Access mais il existe toujours pour le reste de la suite Office.