1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
4 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 This file is generated from xml source: DO NOT EDIT
8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10 <title>mod_dav - Serveur Apache HTTP Version 2.5</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
19 <div id="page-header">
20 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
21 <p class="apache">Serveur Apache HTTP Version 2.5</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
25 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
26 <div id="page-content">
27 <div id="preamble"><h1>Module Apache mod_dav</h1>
29 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English"> en </a> |
30 <a href="../fr/mod/mod_dav.html" title="Français"> fr </a> |
31 <a href="../ja/mod/mod_dav.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
32 <a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
34 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalité de création et gestion de versions de
35 documents via le web (<a href="http://www.webdav.org/">WebDAV</a>)</td></tr>
36 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
37 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dav_module</td></tr>
38 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dav.c</td></tr></table>
41 <p>Ce module ajoute à Apache une fonctionnalité <a href="http://www.webdav.org">WebDAV</a> de classes 1 et 2
42 ('Web-based Distributed Authoring and Versioning' ou Création et
43 gestion de versions de documents via le web). Il s'agit d'une
44 extension du protocole HTTP qui permet de créer, déplacer, copier et
45 supprimer des ressources ou collections de ressources sur un serveur
48 <div id="quickview"><h3>Sujets</h3>
50 <li><img alt="" src="../images/down.gif" /> <a href="#example">Activation de WebDAV</a></li>
51 <li><img alt="" src="../images/down.gif" /> <a href="#security">Problèmes concernant la sécurité</a></li>
52 <li><img alt="" src="../images/down.gif" /> <a href="#complex">Configurations complexes</a></li>
53 </ul><h3 class="directives">Directives</h3>
55 <li><img alt="" src="../images/down.gif" /> <a href="#dav">Dav</a></li>
56 <li><img alt="" src="../images/down.gif" /> <a href="#davdepthinfinity">DavDepthInfinity</a></li>
57 <li><img alt="" src="../images/down.gif" /> <a href="#davmintimeout">DavMinTimeout</a></li>
59 <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
61 <li><code class="directive"><a href="../mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code></li>
62 <li><code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code></li>
63 <li><a href="http://www.webdav.org">Ressources WebDAV</a></li>
64 <li><a href="#comments_section">Commentaires</a></li></ul></div>
65 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
67 <h2><a name="example" id="example">Activation de WebDAV</a><a title="Lien permanent" href="#example" class="permalink">¶</a></h2>
68 <p>Pour activer le module <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>, ajoutez la ligne
69 suivante à un conteneur de votre fichier <code>httpd.conf</code>
72 <pre class="prettyprint lang-config">Dav On</pre>
75 <p>Ceci active le fournisseur de système de fichier DAV implémenté par
76 le module <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code>. Ce dernier doit donc être
77 compilé dans le serveur ou chargé au démarrage à l'aide de la
78 directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>.</p>
80 <p>En outre, vous devez indiquer où se trouve la base de données des
81 verrous DAV via une directive <code class="directive"><a href="../mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> dans la section globale de
82 votre fichier <code>httpd.conf</code> :</p>
84 <pre class="prettyprint lang-config">DavLockDB "/usr/local/apache2/var/DavLock"</pre>
87 <p>Le répertoire contenant le fichier de la base de données des
88 verrous doit avoir des droits en écriture pour l'utilisateur et le
89 groupe sous lesquels Apache s'exécute et définis respectivement par
90 les directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et
91 <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code>.</p>
93 <p>Si vous souhaitez limiter l'accès aux répertoires où DAV est
94 activé, vous pouvez ajouter une clause <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> dans la section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> considérée. Pour
95 définir la quantité maximale de données en octets qu'un client
96 DAV peut envoyer par requête, vous devez utiliser la directive
97 <code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code>, car La
98 directive <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code>
99 "habituelle" n'a aucune incidence sur les requêtes DAV.</p>
101 <div class="example"><h3>Exemple complet</h3><pre class="prettyprint lang-config">DavLockDB "/usr/local/apache2/var/DavLock"
103 <Directory "/usr/local/apache2/htdocs/foo">
109 AuthUserFile "user.passwd"
111 <LimitExcept GET POST OPTIONS>
114 </Directory></pre>
117 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
118 <div class="section">
119 <h2><a name="security" id="security">Problèmes concernant la sécurité</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
121 <p>Etant donné que les méthodes d'accès DAV permettent à des clients
122 distants de manipuler des fichiers sur le serveur, vous devez vous
123 assurer que votre serveur est bien sécurisé avant d'activer
124 <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>.</p>
126 <p>Tout répertoire du serveur où DAV est activé doit être protégé
127 par une procédure d'authentification. L'utilisation de
128 l'authentification HTTP de base n'est pas recommandée. Vous devez
129 utiliser au moins l'authentification HTTP à base de condensés
130 qu'implémente le module <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>.
131 Pratiquement tous les clients WebDAV supportent cette méthode
132 d'authentification. Vous pouvez aussi utiliser l'authentification de
133 base sur une connexion où <a href="../ssl/">SSL</a> est activé.</p>
135 <p>Pour que <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> puisse manipuler des fichiers,
136 il doit avoir des permissions en écriture sur les répertoires et les
137 fichiers qui sont sous son contrôle ; en d'autre termes, c'est
138 l'utilisateur et le groupe sous lesquels Apache s'exécute et définis
139 par les directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et
140 <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> qui doivent avoir
141 les droits en écriture sur ces fichiers et répertoires. Les fichiers
142 nouvellement créés appartiendront aussi à ces utilisateur et groupe.
143 Par conséquent, il est important de contrôler l'accès à ce compte.
144 Les répertoires DAV sont considérés comme privés du point de vue
145 d'Apache, et la modification des fichiers qu'ils contiennent
146 autrement que par l'intermédiaire d'Apache (par exemple par FTP ou
147 par des outils du niveau du système de fichiers) ne doit pas être
150 <p><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> peut faire l'objet de plusieurs sortes
151 d'attaques par déni de service. La directive <code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code> permet de limiter la
152 quantité de mémoire consommée pour interpréter des requêtes DAV de
153 grande taille. En outre, la directive <code class="directive"><a href="#davdepthinfinity">DavDepthInfinity</a></code> permet d'empêcher les
154 requêtes <code>PROPFIND</code> concernant un répertoire de très
155 grande taille de consommer de grandes quantités de mémoire. Un autre
156 type d'attaque par déni de service peut aussi être mené par un
157 client qui remplit simplement tout l'espace disque disponible avec
158 des fichiers de très grande taille. Etant donné qu'il n'existe aucun
159 moyen direct d'éviter ce genre d'attaque dans Apache, vous ne devez
160 accorder des accès DAV qu'à des utilisateurs de confiance.</p>
161 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
162 <div class="section">
163 <h2><a name="complex" id="complex">Configurations complexes</a><a title="Lien permanent" href="#complex" class="permalink">¶</a></h2>
165 <p>Les requêtes ayant pour but de manipuler des fichiers dynamiques
166 (scripts PHP, scripts CGI, etc...) en utilisant
167 <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> sont courantes. Ce traitement n'est pas
168 évident car une requête
169 <code>GET</code> va toujours tenter d'exécuter le script, plutôt que
170 de télécharger son contenu. Pour éviter cet inconvénient, une
171 méthode possible consiste à faire correspondre deux URLs
172 différentes au même contenu, l'une d'entre elles servant à lancer le
173 script, alors que l'autre peut être utilisée pour le télécharger et
174 le manipuler avec DAV.</p>
176 <pre class="prettyprint lang-config">Alias "/phparea" "/home/gstein/php_files"
177 Alias "/php-source" "/home/gstein/php_files"
178 <Location "/php-source">
181 </Location></pre>
184 <p>Avec cette configuration, on peut utiliser
185 <code>http://example.com/phparea</code> pour afficher le résultat de
186 l'exécution des scripts PHP, et
187 <code>http://example.com/php-source</code> pour les manipuler avec
190 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
191 <div class="directive-section"><h2><a name="dav" id="dav">Directive</a> <a name="Dav" id="Dav">Dav</a><a title="Lien permanent" href="#dav" class="permalink">¶</a></h2>
192 <table class="directive">
193 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active les méthodes HTTP WebDAV</td></tr>
194 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Dav On|Off|<var>nom fournisseur</var></code></td></tr>
195 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Dav Off</code></td></tr>
196 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
197 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
198 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr>
200 <p>La directive <code class="directive">Dav</code> active les
201 méthodes HTTP WebDAV pour le conteneur condidéré :</p>
203 <pre class="prettyprint lang-config"><Location "/foo">
205 </Location></pre>
208 <p>La valeur <code>On</code> est en fait un alias vers le
209 fournisseur par défaut <code>filesystem</code> implémenté par le
210 module <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code>. Notez que lorsque DAV est activé
211 pour un conteneur, on <em>ne peut pas</em> le désactiver pour ses
212 sous-conteneurs. Pour un exemple de configuration complet,
213 reportez-vous à la <a href="#example">section précédente</a>.</p>
215 <div class="warning">
216 N'activez pas WebDAV tant que votre serveur n'est pas sécurisé. Si
217 vous passez outre cette recommandation, tout le monde pourra
218 enregistrer des fichiers sur votre système.
222 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
223 <div class="directive-section"><h2><a name="davdepthinfinity" id="davdepthinfinity">Directive</a> <a name="DavDepthInfinity" id="DavDepthInfinity">DavDepthInfinity</a><a title="Lien permanent" href="#davdepthinfinity" class="permalink">¶</a></h2>
224 <table class="directive">
225 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Autorise les requêtes PROPFIND avec en-tête Depth:
227 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavDepthInfinity on|off</code></td></tr>
228 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DavDepthInfinity off</code></td></tr>
229 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
230 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
231 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr>
233 <p>La directive <code class="directive">DavDepthInfinity</code>
234 autorise le traitement des requêtes <code>PROPFIND</code>
235 contenant l'en-tête Depth: Infinity. Par défaut, ce type de requête
236 n'est pas autorisé, car il peut favoriser les attaques de type Déni
240 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
241 <div class="directive-section"><h2><a name="davmintimeout" id="davmintimeout">Directive</a> <a name="DavMinTimeout" id="DavMinTimeout">DavMinTimeout</a><a title="Lien permanent" href="#davmintimeout" class="permalink">¶</a></h2>
242 <table class="directive">
243 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée minimale pendant laquelle le serveur maintient un
244 verrou sur une ressource DAV</td></tr>
245 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavMinTimeout <var>secondes</var></code></td></tr>
246 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DavMinTimeout 0</code></td></tr>
247 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
248 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
249 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr>
251 <p>Lorsqu'un client demande le verrouillage d'une ressource DAV, il
252 peut aussi spécifier une durée au bout de laquelle le verrou sera
253 automatiquement supprimé par le serveur. Cette valeur ne constitue
254 qu'une requête, et le serveur peut l'ignorer ou informer le client
255 qu'il va utiliser une valeur arbitraire.</p>
257 <p>La directive <code class="directive">DavMinTimeout</code>
258 spécifie, en secondes, la durée minimale de verrouillage à renvoyer
259 au client. Les Répertoires Web de Microsoft présentent une durée par
260 défaut de 120 secondes ; la directive
261 <code class="directive">DavMinTimeout</code> permet de définir une valeur
262 supérieure (par exemple 600 secondes), afin de réduire les risques
263 de perte du verrou par le client suite à une surcharge du
266 <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Location "/MSWord">
268 </Location></pre>
273 <div class="bottomlang">
274 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English"> en </a> |
275 <a href="../fr/mod/mod_dav.html" title="Français"> fr </a> |
276 <a href="../ja/mod/mod_dav.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
277 <a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
278 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
279 <script type="text/javascript"><!--//--><![CDATA[//><!--
280 var comments_shortname = 'httpd';
281 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_dav.html';
283 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
284 d.write('<div id="comments_thread"><\/div>');
285 var s = d.createElement('script');
286 s.type = 'text/javascript';
288 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
289 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
292 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
294 })(window, document);
295 //--><!]]></script></div><div id="footer">
296 <p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
297 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
298 if (typeof(prettyPrint) !== 'undefined') {