<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
<!-- English Revision: 1915685 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->

<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<modulesynopsis metafile="mod_dav.xml.meta">

<name>mod_dav</name>
<description>Fonctionnalité de création et gestion de versions de
documents via le web (<a
href="http://www.webdav.org/">WebDAV</a>)</description>
<status>Extension</status>
<sourcefile>mod_dav.c</sourcefile>
<identifier>dav_module</identifier>

<summary>
    <p>Ce module ajoute à Apache une fonctionnalité <a
    href="http://www.webdav.org">WebDAV</a> de classes 1 et 2
    ('Web-based Distributed Authoring and Versioning' ou Création et
    gestion de versions de documents via le web). Il s'agit d'une
    extension du protocole HTTP qui permet de créer, déplacer, copier et
    supprimer des ressources ou collections de ressources sur un serveur
    web distant.</p>
</summary>
<seealso><module>mod_dav_fs</module></seealso>
<seealso><directive module="core">LimitXMLRequestBody</directive></seealso>

<section id="example"><title>Activation de WebDAV</title>
    <p>Pour activer le module <module>mod_dav</module>, ajoutez la ligne
    suivante à un conteneur de votre fichier <code>httpd.conf</code>
    :</p>

    <highlight language="config">Dav On</highlight>

    <p>Ceci active le fournisseur de système de fichier DAV implémenté par
    le module <module>mod_dav_fs</module>. Ce dernier doit donc être
    compilé dans le serveur ou chargé au démarrage à l'aide de la
    directive <directive module="mod_so">LoadModule</directive>.</p>

    <p>Si vous souhaitez limiter l'accès aux répertoires où DAV est
    activé, vous pouvez ajouter une clause <directive module="core"
    type="section">Limit</directive> dans la section <directive
    module="core" type="section">Location</directive> considérée. Pour
    définir la quantité maximale de données en octets qu'un client
    DAV peut envoyer par requête, vous devez utiliser la directive
    <directive module="core">LimitXMLRequestBody</directive>, car La
    directive <directive module="core">LimitRequestBody</directive>
    "habituelle" n'a aucune incidence sur les requêtes DAV.</p>

    <example><title>Exemple complet</title>
      <highlight language="config">
&lt;Directory "/usr/local/apache2/htdocs/foo"&gt;
    Require all granted
    Dav On

    AuthType Basic
    AuthName "DAV"
    AuthUserFile "user.passwd"

    &lt;LimitExcept GET POST OPTIONS&gt;
        Require user admin
    &lt;/LimitExcept&gt;
&lt;/Directory&gt;
      </highlight>
    </example>

</section>

<section id="security"><title>Problèmes concernant la sécurité</title>

    <p>Etant donné que les méthodes d'accès DAV permettent à des clients
    distants de manipuler des fichiers sur le serveur, vous devez vous
    assurer que votre serveur est bien sécurisé avant d'activer
    <module>mod_dav</module>.</p>

    <p>Tout répertoire du serveur où DAV est activé doit être protégé
    par une procédure d'authentification. L'utilisation de
    l'authentification HTTP de base n'est pas recommandée. Vous devez
    utiliser au moins l'authentification HTTP à base de condensés
    qu'implémente le module <module>mod_auth_digest</module>.
    Pratiquement tous les clients WebDAV supportent cette méthode
    d'authentification. Vous pouvez aussi utiliser l'authentification de
    base sur une connexion où <a href="../ssl/">SSL</a> est activé.</p>

    <p>Pour que <module>mod_dav</module> puisse manipuler des fichiers,
    il doit avoir des permissions en écriture sur les répertoires et les
    fichiers qui sont sous son contrôle ; en d'autre termes, c'est
    l'utilisateur et le groupe sous lesquels Apache s'exécute et définis
    par les directives <directive module="mod_unixd">User</directive> et
    <directive module="mod_unixd">Group</directive> qui doivent avoir
    les droits en écriture sur ces fichiers et répertoires. Les fichiers
    nouvellement créés appartiendront aussi à ces utilisateur et groupe.
    Par conséquent, il est important de contrôler l'accès à ce compte.
    Les répertoires DAV sont considérés comme privés du point de vue
    d'Apache, et la modification des fichiers qu'ils contiennent
    autrement que par l'intermédiaire d'Apache (par exemple par FTP ou
    par des outils du niveau du système de fichiers) ne doit pas être
    permise.</p>

    <p><module>mod_dav</module> peut faire l'objet de plusieurs sortes
    d'attaques par déni de service. La directive <directive
    module="core">LimitXMLRequestBody</directive> permet de limiter la
    quantité de mémoire consommée pour interpréter des requêtes DAV de
    grande taille. En outre, la directive <directive
    module="mod_dav">DavDepthInfinity</directive> permet d'empêcher les
    requêtes <code>PROPFIND</code> concernant un répertoire de très
    grande taille de consommer de grandes quantités de mémoire. Un autre
    type d'attaque par déni de service peut aussi être mené par un
    client qui remplit simplement tout l'espace disque disponible avec
    des fichiers de très grande taille. Etant donné qu'il n'existe aucun
    moyen direct d'éviter ce genre d'attaque dans Apache, vous ne devez
    accorder des accès DAV qu'à des utilisateurs de confiance.</p>
</section>

<section id="complex"><title>Configurations complexes</title>

    <p>Les requêtes ayant pour but de manipuler des fichiers dynamiques
    (scripts PHP, scripts CGI, etc...) en utilisant
    <module>mod_dav</module> sont courantes. Ce traitement n'est pas
    évident car une requête
    <code>GET</code> va toujours tenter d'exécuter le script, plutôt que
    de télécharger son contenu. Pour éviter cet inconvénient, une
    méthode possible consiste à faire correspondre deux URLs
    différentes au même contenu, l'une d'entre elles servant à lancer le
    script, alors que l'autre peut être utilisée pour le télécharger et
    le manipuler avec DAV.</p>

<highlight language="config">
Alias "/phparea" "/home/gstein/php_files"
Alias "/php-source" "/home/gstein/php_files"
&lt;Location "/php-source"&gt;
Dav On
ForceType text/plain
&lt;/Location&gt;
</highlight>

    <p>Avec cette configuration, on peut utiliser
    <code>http://example.com/phparea</code> pour afficher le résultat de
    l'exécution des scripts PHP, et
    <code>http://example.com/php-source</code> pour les manipuler avec
    DAV.</p>
</section>

<directivesynopsis>
<name>Dav</name>
<description>Active les méthodes HTTP WebDAV</description>
<syntax>Dav On|Off|<var>nom fournisseur</var></syntax>
<default>Dav Off</default>
<contextlist><context>directory</context></contextlist>

<usage>
    <p>La directive <directive>Dav</directive> active les
    méthodes HTTP WebDAV pour le conteneur condidéré :</p>

    <highlight language="config">
&lt;Location "/foo"&gt;
    Dav On
&lt;/Location&gt;
    </highlight>

    <p>La valeur <code>On</code> est en fait un alias vers le
    fournisseur par défaut <code>filesystem</code> implémenté par le
    module <module>mod_dav_fs</module>. Notez que lorsque DAV est activé
    pour un conteneur, on <em>ne peut pas</em> le désactiver pour ses
    sous-conteneurs. Pour un exemple de configuration complet,
    reportez-vous à la <a href="#example">section précédente</a>.</p>

    <note type="warning">
      N'activez pas WebDAV tant que votre serveur n'est pas sécurisé. Si
      vous passez outre cette recommandation, tout le monde pourra
      enregistrer des fichiers sur votre système.
    </note>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>DavBasePath</name>
<description>Définir le chemin de la racine du répertoire</description>
<syntax>DavBasePath <var>root-path</var></syntax>
<default>None</default>
<contextlist><context>directory</context></contextlist>
<compatibility>Disponible à partir de la version 2.4.58 du serveur HTTP Apache</compatibility>

<usage>
  <p>Si le répertoire DAV est défini en utilisant une correspondance
  d'expression rationnelle (comme <directive
  module="core">LocationMatch</directive>), <module>mod_dav</module> ne sera pas
  en mesure de déterminer de lui-même la racine du répertoire à partir du chemin
  seul. En conséquence, des fournisseurs tiers (par exemple le module <a
  href="https://svnbook.red-bean.com/en/1.7/svn.ref.mod_dav_svn.conf.html">mod_dav_svn</a>
  de Subversion) pourront échouer à traiter des requêtes sans disposer de la
  valeur correcte de la racine du répertoire.</p>

  <p>Pour permettre aux fournisseurs de travailler correctement en présence
  d'une telle configuration, vous devez utiliser
  <directive>DavBasePath</directive>.</p>

    <example><title>Exemple</title>
    <highlight language="config">
&lt;LocationMatch "^/repos/"&gt;
    Dav svn
    DavBasePath /repos
    SVNParentPath /var/svn
&lt;/LocationMatch&gt;
    </highlight>
    </example>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>DavMinTimeout</name>
<description>Durée minimale pendant laquelle le serveur maintient un
verrou sur une ressource DAV</description>
<syntax>DavMinTimeout <var>secondes</var></syntax>
<default>DavMinTimeout 0</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context></contextlist>

<usage>
    <p>Lorsqu'un client demande le verrouillage d'une ressource DAV, il
    peut aussi spécifier une durée au bout de laquelle le verrou sera
    automatiquement supprimé par le serveur. Cette valeur ne constitue
    qu'une requête, et le serveur peut l'ignorer ou informer le client
    qu'il va utiliser une valeur arbitraire.</p>

    <p>La directive <directive>DavMinTimeout</directive>
    spécifie, en secondes, la durée minimale de verrouillage à renvoyer
    au client. Les Répertoires Web de Microsoft présentent une durée par
    défaut de 120 secondes ; la directive
    <directive>DavMinTimeout</directive> permet de définir une valeur
    supérieure (par exemple 600 secondes), afin de réduire les risques
    de perte du verrou par le client suite à une surcharge du
    réseau.</p>

    <example><title>Exemple</title>
      <highlight language="config">
&lt;Location "/MSWord"&gt;
    DavMinTimeout 600
&lt;/Location&gt;
    </highlight>
    </example>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>DavDepthInfinity</name>
<description>Autorise les requêtes PROPFIND avec en-tête Depth:
Infinity</description>
<syntax>DavDepthInfinity on|off</syntax>
<default>DavDepthInfinity off</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context></contextlist>

<usage>
    <p>La directive <directive>DavDepthInfinity</directive>
    autorise le traitement des requêtes <code>PROPFIND</code>
    contenant l'en-tête Depth: Infinity. Par défaut, ce type de requête
    n'est pas autorisé, car il peut favoriser les attaques de type Déni
    de service.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>DavMSext</name>
<description>Activer la prise en charge des extensions de Microsoft</description>
<syntax>DavMSext None | [+|-]WDV | All</syntax>
<default>DavMSext None</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context></contextlist>

<usage>
    <p>La directive <directive>DavMSext</directive> permet d'activer la prise en
    charge des extensions de Microsoft. Ses valeurs possibles sont :</p>
        <ul>
            <li><code>None</code> Aucune extension de Microsoft n'est prise en
	    charge.</li>
            <li><code>WDV</code> Active la prise en charge de <a
	    href="https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-wdv">MS-WDV</a>.
            </li>
            <li><code>All</code> Toutes les extensions de Microsoft implémentées
	    sont prises en charge. La liste se limite cependant à
	    <code>WDV</code> car il s'agit de la seule extension de Microsoft
	    actuellement implémentée.</li>
        </ul>
    
</usage>
</directivesynopsis>

</modulesynopsis>


