]> granicus.if.org Git - apache/commitdiff
New .fr translations
authorVincent Deffontaines <gryzor@apache.org>
Thu, 22 Oct 2009 21:19:02 +0000 (21:19 +0000)
committerVincent Deffontaines <gryzor@apache.org>
Thu, 22 Oct 2009 21:19:02 +0000 (21:19 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@828856 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/mod/allmodules.xml.fr
docs/manual/mod/mod_authnz_ldap.html
docs/manual/mod/mod_authnz_ldap.html.en
docs/manual/mod/mod_authnz_ldap.html.fr [new file with mode: 0644]
docs/manual/mod/mod_authnz_ldap.xml.fr [new file with mode: 0644]
docs/manual/mod/mod_authnz_ldap.xml.meta
docs/manual/mod/mod_setenvif.html
docs/manual/mod/mod_setenvif.html.en
docs/manual/mod/mod_setenvif.html.fr [new file with mode: 0644]
docs/manual/mod/mod_setenvif.xml.fr [new file with mode: 0644]
docs/manual/mod/mod_setenvif.xml.meta

index 02363c721bf45326b582a111d99f6bad5f8b57c1..26288129329a3335a107f7867e3b055dc68951d1 100644 (file)
@@ -15,7 +15,7 @@
   <modulefile>mod_authn_dbd.xml</modulefile>
   <modulefile>mod_authn_dbm.xml</modulefile>
   <modulefile>mod_authn_file.xml.fr</modulefile>
-  <modulefile>mod_authnz_ldap.xml</modulefile>
+  <modulefile>mod_authnz_ldap.xml.fr</modulefile>
   <modulefile>mod_authz_core.xml</modulefile>
   <modulefile>mod_authz_dbd.xml</modulefile>
   <modulefile>mod_authz_dbm.xml</modulefile>
@@ -84,7 +84,7 @@
   <modulefile>mod_session_cookie.xml</modulefile>
   <modulefile>mod_session_crypto.xml</modulefile>
   <modulefile>mod_session_dbd.xml</modulefile>
-  <modulefile>mod_setenvif.xml</modulefile>
+  <modulefile>mod_setenvif.xml.fr</modulefile>
   <modulefile>mod_slotmem_plain.xml</modulefile>
   <modulefile>mod_slotmem_shm.xml</modulefile>
   <modulefile>mod_so.xml.fr</modulefile>
index 7fdb47e019b30ddee19a898d6d786a70772ba6b6..57d34079e2fe00dd4e15ed2ecca6ad416f56a59c 100644 (file)
@@ -3,3 +3,7 @@
 URI: mod_authnz_ldap.html.en
 Content-Language: en
 Content-type: text/html; charset=ISO-8859-1
+
+URI: mod_authnz_ldap.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
index 8a89d601fd093152583d0d3de8a72ca15dc30d96..b9d114cc7b1816d81eae9faad2dcd71dd26bc5b7 100644 (file)
@@ -21,7 +21,8 @@
 <div id="page-content">
 <div id="preamble"><h1>Apache Module mod_authnz_ldap</h1>
 <div class="toplang">
-<p><span>Available Languages: </span><a href="../en/mod/mod_authnz_ldap.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/mod/mod_authnz_ldap.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authnz_ldap.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
 </div>
 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Allows an LDAP directory to be used to store the database
 for HTTP Basic authentication.</td></tr>
@@ -1121,7 +1122,8 @@ You can of course use search parameters on each of these.</p>
 </div>
 </div>
 <div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/mod/mod_authnz_ldap.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/mod/mod_authnz_ldap.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authnz_ldap.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
 </div><div id="footer">
 <p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
diff --git a/docs/manual/mod/mod_authnz_ldap.html.fr b/docs/manual/mod/mod_authnz_ldap.html.fr
new file mode 100644 (file)
index 0000000..05b920c
--- /dev/null
@@ -0,0 +1,1248 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+              This file is generated from xml source: DO NOT EDIT
+        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+      -->
+<title>mod_authnz_ldap - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.3</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.3</a> &gt; <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_authnz_ldap</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_ldap.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authnz_ldap.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet d'utiliser un annuaire LDAP pour l'authentification
+HTTP de base.</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authnz_ldap_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authnz_ldap.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Dosponible depuis les versions 2.1 et supérieures
+d'Apache</td></tr></table>
+<h3>Sommaire</h3>
+
+    <p>Ce module permet aux frontaux d'authentification comme
+    <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> d'authentifier les utilisateurs via
+    un annuaire ldap.</p>
+
+    <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> supporte les fonctionnalités
+    suivantes :</p>
+
+    <ul>
+      <li>Support vérifié du <a href="http://www.openldap.org/">OpenLDAP SDK</a> (versions 1.x et
+      2.x), du <a href="http://developer.novell.com/ndk/cldap.htm">
+      Novell LDAP SDK</a> et du SDK <a href="http://www.iplanet.com/downloads/developer/">iPlanet
+      (Netscape)</a>.</li>
+
+      <li>Implémentation de politiques d'autorisation complexes en les
+      définissant via des filtres LDAP.</li>
+
+      <li>Mise en oeuvre d'une mise en cache des opérations LDAP
+      élaborée via <a href="mod_ldap.html">mod_ldap</a>.</li>
+
+      <li>Support de LDAP via SSL (nécessite le SDK Netscape) ou TLS
+      (nécessite le SDK OpenLDAP 2.x ou le SDK LDAP Novell).</li>
+    </ul>
+
+    <p>Lorsqu'on utilise <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, ce module est
+    invoqué en affectant la valeur <code>ldap</code> à la directive
+    <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>.</p>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapbinddn">AuthLDAPBindDN</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapbindpassword">AuthLDAPBindPassword</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapcharsetconfig">AuthLDAPCharsetConfig</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapsubgroupclass">AuthLDAPSubGroupClass</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapurl">AuthLDAPUrl</a></li>
+</ul>
+<h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#contents">Sommaire</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#operation">Mode opératoire</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">Les directives requises</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#usingtls">Utilisation de TLS</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#usingssl">Utilisation de SSL</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#exposed">Mise à disposition des informations de
+connexion</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#activedirectory">Utilisation d'Active
+Directory</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#frontpage">Utilisation de Microsoft
+    FrontPage avec mod_authnz_ldap</a></li>
+</ul><h3>Voir aussi</h3>
+<ul class="seealso">
+<li><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code></li>
+<li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li>
+<li><code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code></li>
+<li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="contents" id="contents">Sommaire</a></h2>
+
+    <ul>
+      <li>
+        <a href="#operation">Mode opératoire</a>
+
+        <ul>
+          <li><a href="#authenphase">La phase
+         d'authentification</a></li>
+
+          <li><a href="#authorphase">La phase d'autorisation</a></li>
+        </ul>
+      </li>
+
+      <li>
+        <a href="#requiredirectives">Les directives requises</a>
+
+        <ul>
+          <li><a href="#requser">Require ldap-user</a></li>
+          <li><a href="#reqgroup">Require ldap-group</a></li>
+          <li><a href="#reqdn">Require ldap-dn</a></li>
+          <li><a href="#reqattribute">Require ldap-attribute</a></li>
+          <li><a href="#reqfilter">Require ldap-filter</a></li>
+        </ul>
+      </li>
+
+      <li><a href="#examples">Exemples</a></li>
+      <li><a href="#usingtls">Utilisation de TLS</a></li>
+      <li><a href="#usingssl">Utilisation de SSL</a></li>
+      <li><a href="#exposed">Mise à disposition des informations de
+      connexion</a></li>
+      <li><a href="#activedirectory">Utilisation d'Active Directory</a></li>
+      <li>
+        <a href="#frontpage">Utilisation de Microsoft FrontPage avec
+        <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></a>
+
+        <ul>
+          <li><a href="#howitworks">Comment ça marche</a></li>
+          <li><a href="#fpcaveats">Mises en garde</a></li>
+        </ul>
+      </li>
+    </ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="operation" id="operation">Mode opératoire</a></h2>
+
+    <p>L'utilisateur se voit accorder l'accès selon un processus en deux
+    phases. La première phase est l'authentification, au cours de
+    laquelle le fournisseur d'authentification
+    <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> vérifie que les informations de
+    connexion de l'utilisateur sont valides. Elle est aussi connue sous
+    le nom de phase de <em>recherche/connexion</em> (NdT : en anglais ou
+    dans le code source : <em>search/bind</em>). La deuxième
+    phase est l'autorisation, au cours de laquelle
+    <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> détermine si l'utilisateur
+    authentifié a la permission d'accéder à la ressource considérée.
+    Elle est aussi connue sous le nom de phase de
+    <em>comparaison</em> (<em>compare</em>).</p>
+
+    <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> comporte un fournisseur
+    d'authentification authn_ldap et un gestionnaire d'autorisation
+    authz_ldap. Le fournisseur d'authentification authn_ldap peut être
+    invoqué en affectant la valeur <code>ldap</code> à la directive
+    <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>. Le
+    gestionnaire d'autorisation authz_ldap enrichit la liste des types
+    d'autorisations de la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> en y ajoutant les
+    valeurs <code>ldap-user</code>, <code>ldap-dn</code> et
+    <code>ldap-group</code>.</p>
+
+<h3><a name="authenphase" id="authenphase">La phase d'authentification</a></h3>
+
+    <p>Au cours de la phase d'authentification,
+    <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> recherche une entrée de l'annuaire
+    LDAP qui correspond au nom d'utilisateur fourni par le client HTTP.
+    Si une correspondance unique est trouvée,
+    <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tente de se connecter au serveur
+    hébergeant l'annuaire LDAP en utilisant le DN de l'entrée et le mot
+    de passe fourni par le client HTTP. Comme ce processus effectue tout
+    d'abord une recherche, puis une connexion, il est aussi connu sous
+    le nom de phase de recherche/connexion. Voici le détail des étapes
+    constituant la phase de recherche/connexion :</p>
+
+    <ol>
+      <li>Confection d'un filtre de recherche en combinant les attribut
+      et filtre définis par la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> avec le nom d'utilisateur et le mot de
+      passe fournis par le client HTTP.</li>
+
+      <li>Recherche dans l'annuaire LDAP en utilisant le filtre
+      confectionné précédemment. Si le résultat de la recherche est
+      négatif ou comporte plusieurs entrées, refus ou restriction de
+      l'accès.</li>
+
+      <li>Extraction du DN (distinguished name) de l'entrée issue du
+      résultat de la recherche, et tentative de connexion au serveur
+      LDAP en utilisant ce DN et le mot de passe fournis par le client
+      HTTP. Si la connexion échoue, refus ou restriction de
+      l'accès.</li>
+    </ol>
+
+    <p>Les directives utilisées durant la phase de recherche/connexion
+    sont les suivantes :</p>
+
+    <table>
+      
+      <tr>
+        <td><code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code></td>
+
+        <td>Spécifie le serveur LDAP, le DN de base, l'attribut à
+       utiliser pour la recherche, ainsi que les filtres de recherche
+       supplémentaires.</td>
+      </tr>
+
+      <tr>
+        <td><code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code></td>
+
+        <td>Un DN optionnel pour se connecter durant la phase de
+       recherche.</td>
+      </tr>
+
+      <tr>
+        <td><code class="directive"><a href="#authldapbindpassword">AuthLDAPBindPassword</a></code></td>
+
+        <td>Un mot de passe optionnel pour se connecter durant la phase
+       de recherche.</td>
+      </tr>
+    </table>
+
+
+<h3><a name="authorphase" id="authorphase">La phase d'autorisation</a></h3>
+
+    <p>Au cours de la phase d'autorisation,
+    <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tente de déterminer si
+    l'utilisateur est autorisé à accéder à la ressource considérée. Une
+    grande partie de cette vérification consiste pour
+    <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> en des opérations de comparaison au
+    niveau du serveur LDAP. C'est pourquoi cette phase est aussi connue
+    sous le nom de phase de comparaison.
+    <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> accepte les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> suivantes pour
+    déterminer si les informations de connexion permettent d'accorder
+    l'accès à l'utilisateur :</p>
+
+    <ul>
+      <li>Avec la directive <a href="#reqgroup"><code>Require ldap-user</code></a>,
+      l'autorisation d'accès est accordée si le nom d'utilisateur
+      spécifié par la directive correspond au nom d'utilisateur fourni
+      par le client.</li>
+
+      <li>Avec la directive <a href="#reqdn"><code>Require
+      ldap-dn</code></a>, l'autorisation d'accès est accordée si le DN
+      spécifié par la directive correspond au DN extrait du résultat de
+      la recherche dans l'annuaire LDAP.</li>
+
+      <li>Avec la directive <a href="#reqgroup"><code>Require ldap-group</code></a>,
+      l'autorisation d'accès est accordée si le DN extrait du résultat de
+      la recherche dans l'annuaire LDAP (ou le nom d'utilisateur fourni
+      par le client) appartient au groupe LDAP spécifié par la
+      directive, ou éventuellement à un de ses sous-groupes.</li>
+
+      <li>Avec la directive <a href="#reqattribute">
+      <code>Require ldap-attribute</code></a>, l'autorisation d'accès
+      est accordée si la valeur de l'attribut extraite de la recherche
+      dans l'annuaire LDAP correspond à la valeur spécifiée par la
+      directive.</li>
+
+      <li>Avec la directive <a href="#reqfilter">
+      <code>Require ldap-filter</code></a>, l'autorisation d'accès
+      est accordée si le filtre de recherche renvoie un objet
+      utilisateur unique qui corresponde au DN de l'utilisateur
+      authentifié.</li>
+
+      <li>dans tous les autres cas, refus ou restriction de
+      l'accès.</li>
+    </ul>
+
+    <p>Sous réserve du chargement de modules d'autorisation
+    supplémentaires, d'autres valeurs de la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> peuvent être
+    spécifiées.</p>
+
+    <ul>
+        <li>L'accès est accordé à tous les utilisateurs authentifiés si
+       une directive <a href="#requser"><code>Require
+       valid-user</code></a> est présente (nécessite le module
+       <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>).</li>
+
+        <li>Avec la directive <a href="#reqgroup"><code>Require group</code></a>, l'autorisation
+       d'accès est accordée si le module
+       <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> a été chargé et si la
+       directive <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> a été
+       définie.</li>
+
+        <li>etc...</li>
+     </ul>
+
+
+    <p>Durant la phase de comparaison, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>
+    utilise les directives suivantes :</p>
+
+    <table>
+      
+      <tr>
+        <td><code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code>
+       </td>
+
+        <td>On utilise l'attribut spécifié dans l'URL pour les
+       opérations de comparaison initiées par la directive
+       <code>Require ldap-user</code>.</td>
+      </tr>
+
+      <tr>
+        <td><code class="directive"><a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></code></td>
+
+        <td>Détermine le comportement de la directive <code>Require
+       ldap-dn</code>.</td>
+      </tr>
+
+      <tr>
+        <td><code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></code></td>
+
+        <td>Détermine l'attribut utilisé pour les opérations de
+       comparaison initiées par la directive <code>Require
+       ldap-group</code>.</td>
+      </tr>
+
+      <tr>
+        <td><code class="directive"><a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></code></td>
+
+        <td>Spécifie si l'on doit utiliser le DN ou le nom de
+       l'utilisateur lors des opérations de comparaison initiées par la
+       directive <code>Require ldap-group</code>.</td>
+      </tr>
+
+      <tr>
+        <td><code class="directive"><a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></code></td>
+
+        <td>Détermine la profondeur maximale de l'arborescence des
+       sous-groupes qui seront évalués au cours des opérations de
+       comparaisons initiées par la directive <code>Require
+       ldap-group</code>.</td>
+      </tr>
+
+      <tr>
+        <td><code class="directive"><a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></code></td>
+
+        <td>Détermine l'attribut à utiliser lors de l'extraction de
+       membres de sous-groupes du groupe courant au cours des
+       opérations de comparaison initiées par la directive
+       <code>Require ldap-group</code>.</td>
+      </tr>
+
+      <tr>
+        <td><code class="directive"><a href="#authldapsubgroupclass">AuthLDAPSubGroupClass</a></code></td>
+
+        <td>Spécifie les valeurs de classe d'objet LDAP à utiliser pour
+       déterminer si les objets extraits de l'annuaire sont bien des
+       objets de type groupe (et non des objets de type utilisateur),
+       au cours du traitement des sous-groupes initié par la directive
+       <code>Require ldap-group</code>.</td>
+      </tr>
+    </table>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="requiredirectives" id="requiredirectives">Les directives requises</a></h2>
+
+    <p>Les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> d'Apache sont utilisées
+    au cours de la phase d'autorisation afin de s'assurer que
+    l'utilisateur est autorisé à accéder à une ressource.
+    mod_authnz_ldap enrichit la liste des types d'autorisations avec les
+    valeurs <code>ldap-user</code>, <code>ldap-dn</code>,
+    <code>ldap-group</code>, <code>ldap-attribute</code> et
+    <code>ldap-filter</code>. D'autres types d'autorisations sont
+    disponibles, sous réserve du chargement de modules d'autorisation
+    supplémentaires.</p>
+
+<h3><a name="requser" id="requser">Require ldap-user</a></h3>
+
+    <p>La directive <code>Require ldap-user</code> permet de spécifier
+    les noms des utilisateurs autorisés à accéder à la ressource.
+    Lorsque <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> a extrait un DN unique de
+    l'annuaire LDAP, il effectue une opération de comparaison LDAP en
+    utilisant le nom d'utilisateur spécifié par la directive
+    <code>Require ldap-user</code>, pour vérifier si ce nom
+    d'utilisateur correspond à l'entrée LDAP extraite. On peut accorder
+    l'accès à plusieurs utilisateurs en plaçant plusieurs nom
+    d'utilisateurs sur la même ligne séparés par des espaces. Si un nom
+    d'utilisateur contient des espaces, il doit être entouré de
+    guillemets. On peut aussi accorder l'accès à plusieurs utilisateurs
+    en utilisant une directive <code>Require ldap-user</code> par
+    utilisateur. Par exemple, avec la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> définie à
+    <code>ldap://ldap/o=Airius?cn</code> (spécifiant donc que l'attribut
+    <code>cn</code> sera utilisé pour les recherches), on pourra
+    utiliser les directives Require suivantes pour restreindre l'accès
+    :</p>
+<div class="example"><p><code>
+Require ldap-user "Barbara Jenson"<br />
+Require ldap-user "Fred User"<br />
+Require ldap-user "Joe Manager"<br />
+</code></p></div>
+
+    <p>De par la manière dont <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> traite
+    cette directive, Barbara Jenson peut s'authentifier comme
+    <em>Barbara Jenson</em>, <em>Babs Jenson</em> ou tout autre
+    <code>cn</code> sous lequel elle est enregistrée dans l'annuaire
+    LDAP. Une seule ligne <code>Require ldap-user</code> suffit pour
+    toutes les valeurs de l'attribut dans l'entrée LDAP de
+    l'utilisateur.</p>
+
+    <p>Si l'attribut <code>uid</code> avait été spécifié à la place de
+    l'attribut <code>cn</code> dans l'URL précédente, les trois lignes
+    ci-dessus auraient pû être condensées en une seule ligne :</p>
+<div class="example"><p><code>Require ldap-user bjenson fuser jmanager</code></p></div>
+
+
+<h3><a name="reqgroup" id="reqgroup">Require ldap-group</a></h3>
+
+    <p>Cette directive permet de spécifier un groupe LDAP dont les
+    membres auront l'autorisation d'accès. Elle prend comme argument le
+    DN du groupe LDAP. Note : n'entourez pas le nom du groupe avec des
+    guillemets. Par exemple, supposons que l'entrée suivante existe dans
+    l'annuaire LDAP :</p>
+<div class="example"><p><code>
+dn: cn=Administrators, o=Airius<br />
+objectClass: groupOfUniqueNames<br />
+uniqueMember: cn=Barbara Jenson, o=Airius<br />
+uniqueMember: cn=Fred User, o=Airius<br />
+</code></p></div>
+
+    <p>La directive suivante autoriserait alors l'accès à Fred et
+    Barbara :</p>
+<div class="example"><p><code>Require ldap-group cn=Administrators, o=Airius</code></p></div>
+
+    <p>Les membres peuvent aussi se trouver dans les sous-groupes du
+    groupe LDAP spécifié si la directive <code class="directive"><a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></code> a été
+    définie à une valeur supérieure à 0. Par exemple, supposons que les
+    entrées suivantes existent dans l'annuaire LDAP :</p>
+<div class="example"><p><code>
+dn: cn=Employees, o=Airius<br />
+objectClass: groupOfUniqueNames<br />
+uniqueMember: cn=Managers, o=Airius<br />
+uniqueMember: cn=Administrators, o=Airius<br />
+uniqueMember: cn=Users, o=Airius<br />
+<br />
+dn: cn=Managers, o=Airius<br />
+objectClass: groupOfUniqueNames<br />
+uniqueMember: cn=Bob Ellis, o=Airius<br />
+uniqueMember: cn=Tom Jackson, o=Airius<br />
+<br />
+dn: cn=Administrators, o=Airius<br />
+objectClass: groupOfUniqueNames<br />
+uniqueMember: cn=Barbara Jenson, o=Airius<br />
+uniqueMember: cn=Fred User, o=Airius<br />
+<br />
+dn: cn=Users, o=Airius<br />
+objectClass: groupOfUniqueNames<br />
+uniqueMember: cn=Allan Jefferson, o=Airius<br />
+uniqueMember: cn=Paul Tilley, o=Airius<br />
+uniqueMember: cn=Temporary Employees, o=Airius<br />
+<br />
+dn: cn=Temporary Employees, o=Airius<br />
+objectClass: groupOfUniqueNames<br />
+uniqueMember: cn=Jim Swenson, o=Airius<br />
+uniqueMember: cn=Elliot Rhodes, o=Airius<br />
+</code></p></div>
+
+    <p>Les directives suivantes autoriseraient alors l'accès à Bob
+    Ellis, Tom Jackson, Barbara Jensen, Fred User, Allan Jefferson, et
+    Paul Tilley, mais l'interdiraient à Jim Swenson, ou Elliot Rhodes
+    (car ils sont situés dans un sous-groupe de niveau de profondeur 2)
+    :</p>
+<div class="example"><p><code>
+Require ldap-group cn=Employees, o-Airius<br />
+AuthLDAPSubGroupDepth 1<br />
+</code></p></div>
+
+    <p>Le comportement de cette directive est modifié par les directives
+    <code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></code>,
+    <code class="directive"><a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></code>,
+    <code class="directive"><a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></code>,
+    <code class="directive"><a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></code>, et
+    <code class="directive"><a href="#authldapsubgroupclass">AuthLDAPSubGroupClass</a></code>.</p>
+
+
+<h3><a name="reqdn" id="reqdn">Require ldap-dn</a></h3>
+
+    <p>La directive <code>Require ldap-dn</code> permet à
+    l'administrateur d'accorder l'utorisation d'accès en fonction du DN.
+    Elle permet de spécifier un DN pour lequel l'accès est autorisé. Si
+    le DN extrait de
+    l'annuaire correspond au DN spécifié par la directive <code>Require
+    ldap-dn</code>, l'autorisation d'accès est accordée. Note :
+    n'entourez pas Le DN de guillemets.</p>
+
+    <p>La directive suivante accorderait l'accès à un DN spécifique
+    :</p>
+<div class="example"><p><code>Require ldap-dn cn=Barbara Jenson, o=Airius</code></p></div>
+
+    <p>Le comportement ce cette directive est modifié par la directive
+    <code class="directive"><a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></code>.</p>
+
+
+<h3><a name="reqattribute" id="reqattribute">Require ldap-attribute</a></h3>
+
+    <p>La directive <code>Require ldap-attribute</code> permet à
+    l'administrateur d'accorder l'autorisation d'accès en fonction des
+    attributs de l'utilisateur authentifié dans l'annuaire LDAP. Si la
+    valeur de l'attribut dans l'annuaire correspond à la valeur
+    spécifiée par la directive, l'autorisation d'accès est accordée.</p>
+
+    <p>La directive suivante accorderait l'autorisation d'accès à tout
+    utilisateur dont l'attribut employeeType a pour valeur "actif" :</p>
+
+    <div class="example"><p><code>Require ldap-attribute employeeType=actif</code></p></div>
+
+    <p>Plusieurs paires attribut/valeur peuvent être spécifiées par une
+    même directive en les séparant par des espaces, ou en définissant
+    plusieurs directives <code>Require ldap-attribute</code>. La logique
+    sous-jacente à une liste de paires attribut/valeur est une opération
+    OU. L'autorisation d'accès sera accordée si au moins une paire
+    attribut/valeur de la liste spécifiée correspond à la paire
+    attribut/valeur de l'utilisateur authentifié. Si elle contient des
+    espaces, la valeur, et seulement la valeur, doit être entourée de
+    guillemets.</p>
+
+    <p>La directive suivante accorderait l'autorisation d'accès à tout
+    utilisateur dont l'attribut city aurait pour valeur "San Jose", ou
+    donc l'attribut status aurait pour valeur "actif" :</p>
+
+    <div class="example"><p><code>Require ldap-attribute city="San Jose" status=actif</code></p></div>
+
+
+
+<h3><a name="reqfilter" id="reqfilter">Require ldap-filter</a></h3>
+
+    <p>La directive <code>Require ldap-filter</code> permet à
+    l'administrateur d'accorder l'autorisation d'accès en fonction d'un
+    filtre de recherche LDAP complexe. L'autorisation d'accès est
+    accordée si le DN renvoyé par le filtre de recherche correspond au
+    DN de l'utilisateur authentifié.</p>
+
+    <p>La directive suivante accorderait l'autorisation d'accès à tout
+    utilisateur possédant un téléphone cellulaire et faisant partie du
+    département "marketing" :</p>
+
+    <div class="example"><p><code>Require ldap-filter &amp;(cell=*)(department=marketing)</code></p></div>
+
+    <p>Alors que la directive <code>Require ldap-attribute</code> se
+    contente d'une simple comparaison d'attributs, la directive
+    <code>Require ldap-filter</code> effectue une opération de recherche
+    dans l'annuaire LDAP en utilisant le filtre de recherche spécifié.
+    Si une simple comparaison d'attributs suffit, l'opération de
+    comparaison effectuée par <code>ldap-attribute</code> sera plus
+    rapide que l'opération de recherche effectuée par
+    <code>ldap-filter</code>, en particulier dans le cas d'un annuaire
+    LDAP de grande taille.</p>
+
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="examples" id="examples">Exemples</a></h2>
+
+    <ul>
+      <li>
+        Accorde l'autorisation d'accès à tout utilisateur présent dans
+       l'annuaire LDAP, en utilisant son UID pour effectuer la
+       recherche :
+<div class="example"><p><code>
+AuthLDAPURL "ldap://ldap1.airius.com:389/ou=People, o=Airius?uid?sub?(objectClass=*)"<br />
+Require valid-user
+</code></p></div>
+      </li>
+
+      <li>
+        L'exemple suivant est similaire au précédent, mais les champs
+       dont les valeurs par défaut conviennent sont omis. Notez aussi
+       la présence d'un annuaire LDAP redondant :
+<div class="example"><p><code>AuthLDAPURL "ldap://ldap1.airius.com ldap2.airius.com/ou=People, o=Airius"<br />
+Require valid-user
+</code></p></div>
+      </li>
+
+      <li>
+        Encore un exemple similaire aux précédents, mais cette fois,
+       c'est l'attribut cn qui est utilisé pour la recherche à la place
+       de l'UID. Notez que ceci peut poser problème si plusieurs
+       utilisateurs de l'annuaire partagent le même <code>cn</code>,
+       car une recherche sur le <code>cn</code> <strong>doit</strong>
+       retourner une entrée et une seule. C'est pourquoi cette
+       approche n'est pas recommandée : il est préférable de choisir un
+       attribut de votre annuaire dont l'unicité soit garantie, comme
+       <code>uid</code>.
+<div class="example"><p><code>
+AuthLDAPURL "ldap://ldap.airius.com/ou=People, o=Airius?cn"<br />
+Require valid-user
+</code></p></div>
+      </li>
+
+      <li>
+        Accorde l'autorisation d'accès à tout utilisateur appartenant au
+       groupe Administrateurs. Les utilisateurs doivent s'authentifier
+       en utilisant leur UID :
+<div class="example"><p><code>
+AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid<br />
+Require ldap-group cn=Administrators, o=Airius
+</code></p></div>
+      </li>
+
+      <li>
+        Pour l'exemple suivant, on suppose que tout utilisateur de chez
+       Airius qui dispose d'un bippeur alphanumérique possèdera un
+       attribut LDAP <code>qpagePagerID</code>. Seuls ces utilisateurs
+       (authentifiés via leur UID) se verront accorder l'autorisation
+       d'accès :
+<div class="example"><p><code>
+AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid??(qpagePagerID=*)<br />
+Require valid-user
+</code></p></div>
+      </li>
+
+      <li>
+        <p>L'exemple suivant illustre la puissance des filtres pour
+       effectuer des requêtes complexes. Sans les filtres, il aurait
+       été nécessaire de créer un nouveau groupe LDAP et de s'assurer
+       de la synchronisation des membres du groupe avec les
+       utilisateurs possédant un bippeur. Tout devient limpide avec les
+       filtres. Nous avons pour but d'accorder l'autorisation d'accès à
+       tout utilisateur disposant d'un bippeur ainsi qu'à Joe Manager
+       qui ne possède pas de bippeur, mais doit tout de même pouvoir
+       accéder à la ressource :</p>
+<div class="example"><p><code>
+AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid??(|(qpagePagerID=*)(uid=jmanager))<br />
+Require valid-user
+</code></p></div>
+
+        <p>Ce dernier exemple peut sembler confus au premier abord ; en
+       fait, il permet de mieux comprendre à quoi doit ressembler le
+       filtre en fonction de l'utilisateur qui se connecte. Si Fred
+       User se connecte en tant que <code>fuser</code>, le filtre devra
+       ressembler à :</p>
+
+        <div class="example"><p><code>(&amp;(|(qpagePagerID=*)(uid=jmanager))(uid=fuser))</code></p></div>
+
+        <p>Un recherche avec le filtre ci-dessus ne retournera un
+       résultat positif que si <em>fuser</em> dispose d'un bippeur. Si
+       Joe Manager se connecte en tant que <em>jmanager</em>, le filtre
+       devra ressembler à :</p>
+
+        <div class="example"><p><code>(&amp;(|(qpagePagerID=*)(uid=jmanager))(uid=jmanager))</code></p></div>
+
+        <p>Un recherche avec le filtre ci-dessus retournera un
+       résultat positif que <em>jmanager</em> dispose d'un
+       bippeur ou non</p>
+      </li>
+    </ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="usingtls" id="usingtls">Utilisation de TLS</a></h2>
+
+    <p>Pour l'utilisation de TLS, voir les directives du module
+    <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></code>, <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></code> et <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></code>.</p>
+
+    <p>Un second paramètre optionnel peut être ajouté à la directive
+    <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> pour
+    remplacer le type de connexion par défaut défini par la directive
+    <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></code>. Ceci
+    permettra de promouvoir la connexion établie via une URL du type
+    <em>ldap://</em> au statut de connection sécurisée sur le même
+    port.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="usingssl" id="usingssl">Utilisation de SSL</a></h2>
+
+    <p>Pour l'utilisation de SSL, voir les directives du module
+    <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></code>, <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert</a></code> et <code class="directive"><a href="../mod/mod_ldap.html#ldaptrustedmode">LDAPTrustedMode</a></code>.</p>
+
+    <p>Pour spécifier un serveur LDAP sécurisé, utilisez
+    <em>ldaps://</em> au lieu de
+    <em>ldap://</em> dans la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code>.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="exposed" id="exposed">Mise à disposition des informations de
+connexion</a></h2>
+
+    <p>Au cours du processus d'authentification, les attributs LDAP
+    spécifiés par la directive <code class="directive"><a href="#authldapurl">AuthLDAPUrl</a></code> sont enregistrés
+    dans des variables d'environnement préfixées par la chaîne
+    "AUTHENTICATE_".</p>
+
+    <p>Si les champs attribut contiennent le nom, le CN et le numéro de
+    téléphone d'un utilisateur, un programme CGI pourra accéder à ces
+    informations sans devoir effectuer une autre requête LDAP pour
+    les extraire de l'annuaire.</p>
+
+    <p>Ceci a pour effet de simplifier considérablement le code et la
+    configuration nécessaire de certaines applications web.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="activedirectory" id="activedirectory">Utilisation d'Active
+Directory</a></h2>
+
+    <p>Active Directory peut supporter plusieurs domaines à la fois.
+    Pour faire la distinction entre les utilisateurs de plusieurs
+    domaines, on peut ajouter à l'entrée de l'utilisateur dans
+    l'annuaire un identifiant appelé Nom
+    Principal d'Utilisateur (User Principle Name ou UPN). Cet UPN se
+    compose en général du nom de compte de l'utilisateur, suivi du nom
+    du domaine considéré, par exemple <em>untel@nz.exemple.com</em>.</p>
+
+    <p>Vous voudrez probablement configurer le module
+    <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> afin de pouvoir authentifier les
+    utilisateurs de n'importe quel domaine de la forêt Active Directory.
+    Ainsi, <em>untel@nz.exemple.com</em> et
+    <em>untel@au.exemple.com</em> pourront être authentifiés en une
+    seule fois par la même requête.</p>
+
+    <p>Pour y parvenir, on utilise le concept de Catalogue Global
+    d'Active Directory. Ce Catalogue Global est une copie en lecture
+    seule des attributs sélectionnés de tous les serveurs de la forêt
+    Active Directory. Une requête vers le
+    Catalogue Global permet donc d'atteindre tous les domaines en une
+    seule fois, sans avoir à se connecter aux différents serveurs, via
+    des liaisons dont certaines peuvent être lentes.</p>
+
+    <p>Lorsqu'il est activé, la Catalogue Global est un serveur
+    d'annuaire indépendant accessible sur le port 3268 (3269 pour SSL).
+    Pour rechercher un utilisateur, effectuez une recherche sur
+    l'attribut <em>userPrincipalName</em>, avec une base de recherche
+    vide, comme suit :</p>
+
+<div class="example"><p><code>
+AuthLDAPBindDN apache@exemple.com<br />
+AuthLDAPBindPassword password<br />
+AuthLDAPURL ldap://10.0.0.1:3268/?userPrincipalName?sub
+</code></p></div>
+
+    <p>Les utilisateurs devront s'authentifier en entrant leur UPN, de
+    la forme<em>untel@nz.exemple.com</em>.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="frontpage" id="frontpage">Utilisation de Microsoft
+    FrontPage avec mod_authnz_ldap</a></h2>
+
+    <p>Normalement, FrontPage utilise des fichiers utilisateur/groupe
+    spécifiques à FrontPage-web (c'est à dire les modules
+    <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> et
+    <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code>) pour effectuer toute
+    l'authentification. Malheureusement, il ne suffit pas de modifier
+    l'authentification LDAP en ajoutant les directives appropriées, car
+    ceci corromprait les formulaires de <em>Permissions</em> dans le
+    client FrontPage, qui sont censés modifier les fichiers
+    d'autorisation standards au format texte.</p>
+
+    <p>Lorsqu'un site web FrontPage a été créé, lui adjoindre
+    l'authentification LDAP consiste à ajouter les directives suivantes
+    à <em>chaque</em> fichier <code>.htaccess</code> qui sera créé dans
+    le site web :</p>
+<div class="example"><pre>
+AuthLDAPURL            "l'url"
+AuthGroupFile <em>mon-fichier-de-groupes</em>
+Require group <em>mon-fichier-de-groupes</em>
+</pre></div>
+
+<h3><a name="howitworks" id="howitworks">Comment ça marche</a></h3>
+
+    <p>FrontPage restreint l'accès à un site web en ajoutant la
+    directive <code>Require valid-user</code> aux fichiers
+    <code>.htaccess</code>. La directive <code>Require valid-user</code>
+    permettra l'accès à tout utilisateur valide <em>du point de vue
+    LDAP</em>. Cela signifie que tout utilisateur possédant une entrée
+    dans l'annuaire LDAP sera considéré comme valide, alors que
+    FrontPage ne considère comme valides que les utilisateurs
+    enregistrés dans le fichier des utilisateurs local. En remplaçant
+    l'autorisation par groupe LDAP par une autorisation par fichier de
+    groupe, Apache sera en mesure de consulter le fichier des
+    utilisateurs local (géré par FrontPage) - au lieu de l'annuaire LDAP
+    - lors du processus d'autorisation des utilisateurs.</p>
+
+    <p>Une fois les directives ajoutées selon ce qui précède, les
+    utilisateurs FrontPage pourront effectuer toutes les opérations de
+    gestion à partir du client FrontPage.</p>
+
+
+<h3><a name="fpcaveats" id="fpcaveats">Avertissements</a></h3>
+
+    <ul>
+      <li>Lors du choix de l'URL LDAP, l'attribut à utiliser pour
+      l'authentification doit aussi être valide pour le fichier des
+      utilisateurs de <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>. A cette fin,
+      l'UID est idéal.</li>
+
+      <li>Lorsqu'ils ajoutent des utilisateurs via FrontPage, les
+      administrateurs de FrontPage doivent choisir des noms
+      d'utilisateurs qui existent déjà dans l'annuaire LDAP (pour des
+      raisons évidentes). De même, le mot de passe que l'administrateur
+      entre dans le formulaire est ignoré, car pour l'authentification,
+      Apache utilise le mot de passe de l'annuaire LDAP, et non le mot
+      de passe enregistré dans le fichier des utilisateurs, ce qui peut
+      semer la confusion parmi les administrateurs web.</li>
+
+      
+      <li>Pour supporter FrontPage, Apache doit être compilé avec
+      <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>
+      et <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code>. Ceci est dû au fait
+      qu'Apache doit utiliser le fichier de groupes de
+      <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> pour déterminer le niveau
+      d'accès d'un utilisateur au site web FrontPage.</li>
+
+      <li>Les directives doivent être placées dans les fichiers
+      <code>.htaccess</code>. Elles ne fonctionneront pas si vous les
+      placez dans une section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> ou <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>. Ceci est dû au fait que pour savoir
+      où se trouve la liste des utilisateurs valides,
+      <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> doit être en mesure d'atteindre
+      la directive <code class="directive"><a href="../mod/mod_authn_file.html#authgroupfile">AuthGroupFile</a></code> qui se trouve
+      dans les fichiers <code>.htaccess</code> de FrontPage. Si les directives
+      de <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> ne sont pas situées dans le
+      même fichier <code>.htaccess</code> que les directives FrontPage,
+      la configuration ne fonctionnera pas, car
+      <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> ne sera jamais en mesure de
+      traiter le fichier <code>.htaccess</code>, et par conséquent ne
+      pourra jamais trouver le fichier des utilisateurs géré par
+      FrontPage.</li>
+    </ul>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPBindDN" id="AuthLDAPBindDN">AuthLDAPBindDN</a> <a name="authldapbinddn" id="authldapbinddn">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Un DN optionnel pour se connecter au serveur
+LDAP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPBindDN <em>dn</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+    <p>Cette directive permet de définir un DN optionnel pour se
+    connecter au serveur afin d'y rechercher des entrées. Si aucun DN
+    n'est spécifié, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tentera une
+    connexion anonyme.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPBindPassword" id="AuthLDAPBindPassword">AuthLDAPBindPassword</a> <a name="authldapbindpassword" id="authldapbindpassword">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mot de passe à utiliser en conjonction avec le DN de
+connexion</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPBindPassword <em>mot-de-passe</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+    <p>Cette directive permet de spécifier un mot de passe à utiliser en
+    conjonction avec le DN de connexion. Notez que ce mot de passe
+    constitue en général une donnée sensible, et doit donc être protégé
+    de manière appropriée. Vous ne devez utiliser les directives
+    <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code> et <code class="directive"><a href="#authldapbindpassword">AuthLDAPBindPassword</a></code> que si
+    vous en avez vraiment besoin pour effectuer une recherche dans
+    l'annuaire.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPCharsetConfig" id="AuthLDAPCharsetConfig">AuthLDAPCharsetConfig</a> <a name="authldapcharsetconfig" id="authldapcharsetconfig">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier de configuration de la correspondance
+langage/jeu de caractères</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPCharsetConfig <em>chemin-fichier</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+    <p>La directive <code class="directive">AuthLDAPCharsetConfig</code> permet
+    de définir le chemin du fichier de configuration de la
+    correspondance langage/jeu de caractères. <var>chemin-fichier</var>
+    est un chemin relatif au répertoire défini par la directive
+    <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. Ce fichier contient une liste
+    de correspondances extension de langage/jeu de caractères. La
+    plupart des administrateurs utilisent le fichier
+    <code>charset.conv</code> fourni qui associe les extensions de
+    langage courantes à leurs jeux de caractères.</p>
+
+    <p>Le fichier contient des lignes au format suivant :</p>
+
+    <div class="example"><p><code>
+      <var>extension de langage</var> <var>jeu de caractères</var>
+      [<var>Nom du langage</var>] ...
+    </code></p></div>
+
+    <p>L'extension est insensible à la casse. Les lignes vides et les
+    lignes commençant par un dièse (<code>#</code>) sont ignorées.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPCompareDNOnServer" id="AuthLDAPCompareDNOnServer">AuthLDAPCompareDNOnServer</a> <a name="authldapcomparednonserver" id="authldapcomparednonserver">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le serveur LDAP pour comparer les DNs</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPCompareDNOnServer on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPCompareDNOnServer on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+    <p>Lorsque cette directive est définie à on,
+    <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> utilise le serveur LDAP pour
+    comparer les DNs. Il s'agit de la seule méthode infaillible pour
+    comparer les DNs. <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> va rechercher
+    dans l'annuaire le DN spécifié par la directive <a href="#reqdn"><code>Require dn</code></a>, puis extraire ce DN et le
+    comparer avec le DN extrait de l'entrée de l'utilisateur. Si cette
+    directive est à off, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> effectue une
+    simple comparaison de chaînes. Cette dernière approche peut produire
+    des faux négatifs, mais elle est beaucoup plus rapide. Notez
+    cependant que le cache de <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> peut accélérer
+    la comparaison de DNs dans la plupart des situations.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPDereferenceAliases" id="AuthLDAPDereferenceAliases">AuthLDAPDereferenceAliases</a> <a name="authldapdereferencealiases" id="authldapdereferencealiases">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>À quel moment le module va déréférencer les
+alias</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPDereferenceAliases never|searching|finding|always</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPDereferenceAliases always</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+    <p>Cette directive permet de spécifier à quel moment
+    <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> va déréférencer les alias au cours
+    des opérations liées à LDAP. La valeur par défaut est
+    <code>always</code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPGroupAttribute" id="AuthLDAPGroupAttribute">AuthLDAPGroupAttribute</a> <a name="authldapgroupattribute" id="authldapgroupattribute">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'attribut LDAP utilisé pour vérifier l'appartenance d'un
+utilisateur à un groupe.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPGroupAttribute <em>attribut</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+    <p>Cette directive permet de spécifier quel attribut LDAP est
+    utilisé pour vérifier l'appartenance d'un utilisateur à un
+    groupe. On peut spécifier plusieurs attributs en répétant cette
+    directive plusieurs fois. Si la directive n'est pas définie,
+    <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> utilise les attributs
+    <code>member</code> et <code>uniquemember</code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPGroupAttributeIsDN" id="AuthLDAPGroupAttributeIsDN">AuthLDAPGroupAttributeIsDN</a> <a name="authldapgroupattributeisdn" id="authldapgroupattributeisdn">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le DN de l'utilisateur pour vérifier son
+appartenance à un groupe</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPGroupAttributeIsDN on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPGroupAttributeIsDN on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+    <p>Lorsqu'elle est définie à <code>on</code>, cette directive
+    indique que c'est le DN de l'utilisateur qui doit être utilisé pour
+    vérifier son appartenance à un groupe. Dans le cas contraire, c'est
+    le nom de l'utilisateur qui sera utilisé. Par exemple, supposons que
+    le client envoie le nom d'utilisateur <code>bjenson</code>, qui
+    correspond au DN LDAP <code>cn=Babs Jenson,o=Airius</code>. Si la
+    directive est à <code>on</code>, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> va
+    vérifier si <code>cn=Babs Jenson, o=Airius</code> est un membre du
+    groupe. Dans le cas contraire, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>
+    vérifiera si <code>bjenson</code> est un membre du groupe.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPMaxSubGroupDepth" id="AuthLDAPMaxSubGroupDepth">AuthLDAPMaxSubGroupDepth</a> <a name="authldapmaxsubgroupdepth" id="authldapmaxsubgroupdepth">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie la profondeur d'imbrication des sous-groupes
+maximale prise en compte avant l'abandon de la recherche de
+l'utilisateur.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPMaxSubGroupDepth <var>Nombre</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPMaxSubGroupDepth 10</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+   <p>Lorsque cette directive est définie à une valeur <code>X</code>
+   non nulle, en combinaison avec l'utilisation de la directive
+   <code>Require ldap-group DN-groupe</code>, les données de connexion
+   fournies seront utilisées pour vérifier l'appartenance de
+   l'utilisateur à l'objet de l'annuaire <code>DN-groupe</code> ou à
+   tout sous-groupe du groupe courant en tenant compte de la profondeur
+   d'imbrication maximale <code>X</code> spécifiée par la directive.</p>
+   <p>Se référer à la section <a href="#reqgroup"><code>Require
+   ldap-group</code></a> pour un exemple plus détaillé.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPRemoteUserAttribute" id="AuthLDAPRemoteUserAttribute">AuthLDAPRemoteUserAttribute</a> <a name="authldapremoteuserattribute" id="authldapremoteuserattribute">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie l'attribut dont la valeur renvoyée au cours de la
+requête de l'utilisateur sera utilisée pour définir la variable
+d'environnement REMOTE_USER</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPRemoteUserAttribute uid</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+    <p>Lorsque cette directive est définie, la variable d'environnement
+    <code>REMOTE_USER</code> sera définie à la valeur de l'attribut
+    spécifié. Assurez-vous que cet attribut soit bien inclus dans la
+    liste d'attributs spécifiés dans la définition de AuthLDAPUrl ; dans
+    le cas contraire, cette directive n'aurait aucun effet. Si elle est
+    présente, cette directive l'emporte sur AuthLDAPRemoteUserIsDN. Elle
+    peut s'avérer utile par exemple, si vous souhaitez que les
+    utilisateurs se connectent à un site web en utilisant leur adresse
+    email, alors qu'une application sous-jacente nécessite un nom
+    d'utilisateur comme identifiant.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPRemoteUserIsDN" id="AuthLDAPRemoteUserIsDN">AuthLDAPRemoteUserIsDN</a> <a name="authldapremoteuserisdn" id="authldapremoteuserisdn">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le DN de l'utilisateur pour définir la variable
+d'environnement REMOTE_USER</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPRemoteUserIsDN on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPRemoteUserIsDN off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+    <p>Lorsque cette directive est à on, la variable d'environnement
+    <code>REMOTE_USER</code> sera définie avec la valeur du DN complet
+    de l'utilisateur authentifié, et non plus avec simplement le nom
+    d'utilisateur fourni par le client. Elle est définie à off par
+    défaut.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPSubGroupAttribute" id="AuthLDAPSubGroupAttribute">AuthLDAPSubGroupAttribute</a> <a name="authldapsubgroupattribute" id="authldapsubgroupattribute">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie les noms d'attribut, un par directive, utilisés
+pour différencier les membres du groupe courant qui sont eux-mêmes des
+groupes.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPSubGroupAttribute <em>attribut</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+    <p>Un objet groupe LDAP peut contenir des membres qui sont des
+    utilisateurs et des membres qui sont eux-mêmes des groupes (appelés
+    sous-groupes ou groupes imbriqués). La directive
+    <code>AuthLDAPSubGroupAttribute</code> spécifie l'attribut utilisé
+    pour identifier les groupes, alors que la directive
+    <code>AuthLDAPGroupAttribute</code> spécifie l'attribut utilisé
+    pour identifier les utilisateurs. On peut spécifier plusieurs
+    attributs en répétant la directive plusieurs fois. Si elle n'est pas
+    définie, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> utilise les attributs
+    <code>member</code> et <code>uniqueMember</code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPSubGroupClass" id="AuthLDAPSubGroupClass">AuthLDAPSubGroupClass</a> <a name="authldapsubgroupclass" id="authldapsubgroupclass">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie quelles valeurs d'objectClass LDAP identifient les
+objets de l'annuaire qui sont des groupes au cours du traitement des
+sous-groupes.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPSubGroupClass <em>ObjectClass-LDAP</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+    <p>Un objet groupe LDAP peut contenir des membres qui sont des
+    utilisateurs et des membres qui sont eux-mêmes des groupes (appelés
+    sous-groupes ou groupes imbriqués). La directive
+    <code>AuthLDAPSubGroupAttribute</code> permet d'identifier les
+    membres qui sont des sous-groupes du groupe courant (à l'opposé des
+    membres utilisateurs). La directive
+    <code>AuthLDAPSubGroupClass</code> permet de spécifier les valeurs
+    d'objectClass LDAP utilisées pour vérifier que certains membres sont
+    en fait des objets groupe. Les sous-groupes ainsi identifiés peuvent
+    alors faire l'objet d'une recherche d'autres membres utilisateurs ou
+    sous-groupes. On peut spécifier plusieurs attributs en répétant
+    cette directive plusieurs fois. Si cette directive n'est pas
+    définie, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> utilise les attributs
+    <code>groupOfNames</code> et <code>groupOfUniqueNames</code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPUrl" id="AuthLDAPUrl">AuthLDAPUrl</a> <a name="authldapurl" id="authldapurl">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL permettant de spécifier les paramètres de la
+recherche LDAP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPUrl <em>url [NONE|SSL|TLS|STARTTLS]</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authnz_ldap</td></tr>
+</table>
+    <p>Une URL conforme à la RFC 2255 qui permet de spécifier les
+    paramètres à utiliser pour la recherche dans l'annuaire LDAP. La
+    syntaxe de l'URL est :</p>
+<div class="example"><p><code>ldap://hôte:port/DN-de-base?attribut?portée?filtre</code></p></div>
+    <p>Si vous souhaitez mettre à la disposition d'Apache plusieurs URLs
+    LDAP, la syntaxe sera :</p>
+<div class="example"><p><code>AuthLDAPUrl "ldap://ldap1.exemple.com
+ldap2.exemple.com/dc=..."</code></p></div>
+<p><em><strong>Mise en garde : </strong>Si vous spécifiez plusieurs
+serveurs, vous devez en entourer la liste avec des guillemets ; dans le
+cas contraire, vous générerez une erreur : "AuthLDAPURL takes one
+argument, URL to define LDAP connection..".</em> Vous pouvez bien
+entendu ajouter des paramètres de recherche à chacun des serveurs
+spécifiés.</p>
+
+<dl>
+<dt>ldap</dt>
+
+        <dd>Pour ldap non sécurisé, utilisez la chaîne
+       <code>ldap</code>. Pour ldap sécurisé, utilisez à la place la
+       chaîne <code>ldaps</code>. LDAP sécurisé n'est disponible que si
+       Apache a été lié avec une bibliothèque LDAP supportant SSL.</dd>
+
+<dt>hôte:port</dt>
+
+        <dd>
+          <p>Il s'agit du nom/port du serveur ldap
+         (dont la valeur par défaut est
+         <code>localhost:389</code> pour <code>ldap</code>, et
+         <code>localhost:636</code> pour <code>ldaps</code>). Pour
+         spécifier plusieurs serveurs LDAP redondants, indiquez
+         simplement leur liste en les séparant par des espaces.
+         <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tentera alors de se connecter
+         à chacun des serveurs jusqu'à ce qu'il parvienne à se
+         connecter avec succès. Notez qu'en cas de multiples serveurs
+         LDAP, l'ensemble de l'URL LDAP doit être entourée de
+         guillemets.</p>
+
+          <p>lorsqu'une connection a été établie avec un serveur, elle
+         reste active pendant toute la durée de vie du processus
+         <code class="program"><a href="../programs/httpd.html">httpd</a></code>, ou jusqu'à ce que le serveur LDAP
+         cesse de fonctionner.</p>
+
+          <p>Si le serveur LDAP cesse de fonctionner, et ainsi
+         interrompt une
+         connexion existante, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> tentera
+         de se reconnecter en commençant par le premier serveur de la
+         liste, et ainsi de suite avec les serveurs redondants
+         suivants. Notez que ce processus n'a rien à voir avec une
+         véritable recherche de type round-robin.</p>
+        </dd>
+
+<dt>DN-de-base</dt>
+        <dd>Le DN de la branche de l'annuaire à partir de laquelle
+       toutes les recherches seront lancées. Il doit au moins
+       correspondre à la racine de votre annuaire, mais vous pouvez
+       aussi indiquer une branche plus spécifique.</dd>
+
+<dt>attribut</dt>
+
+        <dd>Il s'agit de l'attribut à utiliser pour la recherche.
+       Bien que la RFC
+       2255 autorise une liste d'attributs séparés par des virgules,
+       seul le premier sera retenu, sans tenir compte des autres
+       attributs fournis. Si aucun attribut n'est fourni, l'attribut
+       par défaut est <code>uid</code>. Il est judicieux de choisir un
+       attribut dont la valeur sera unique parmi toutes les entrées de
+       la branche de l'annuaire que vous aurez définie. Tous les
+       attributs spécifiés seront enregistrés dans des variables
+       d'environnement avec le préfixe AUTHENTICATE_, afin de pouvoir
+       être utilisés par d'autres modules.</dd>
+
+<dt>portée</dt>
+
+        <dd>Il s'agit de la portée de la recherche. Elle peut prendre
+       les valeurs <code>one</code> ou <code>sub</code>. Notez que la
+       RFC 2255 supporte aussi une portée de valeur <code>base</code>,
+       mais cette dernière n'est pas supportée par le module. Si la
+       portée n'est pas définie, ou si elle est définie à
+       <code>base</code>, c'est la valeur de portée par défaut
+       <code>sub</code> qui sera utilisée.</dd>
+
+<dt>filtre</dt>
+
+        <dd>Il s'agit d'un filtre de recherche LDAP valide. Si aucun
+       filtre n'est spécifié, le filtre par défaut
+       <code>(objectClass=*)</code> sera utilisé, ce qui corrspond à
+       une recherche de tous les types d'objets de l'arborescence. La
+       taille des filtres est limitée à environ 8000 caractères (valeur
+       de la macro <code>MAX_STRING_LEN</code> dans le code source
+       d'Apache), ce qui s'avère plus que suffisant pour la plupart des
+       applications.</dd>
+</dl>
+
+    <p>Pour une recherche, les attribut, filtre et nom d'utilisateur
+    fournis par le client HTTP sont combinés pour créer un filtre de
+    recherche du style :
+    <code>(&amp;(<em>filtre</em>)(<em>attribut</em>
+    =<em>nom-utilisateur</em>))</code>.</p>
+
+    <p>Par exemple, considérons l'URL
+    <code>ldap://ldap.airius.com/o=Airius?cn?sub?(posixid=*)</code>.
+    Lorsqu'un client tentera de se connecter en utilisant le nom
+    d'utilisateur <code>Babs Jenson</code>, le filtre de recherche sera
+    : <code>(&amp;(posixid=*)(cn=Babs Jenson))</code>.</p>
+
+    <p>On peut encore ajouter un paramètre optionnel pour permettre à
+    l'URL LDAP de surcharger le type de connexion. Ce paramètre peut
+    prendre l'une des valeurs suivantes :</p>
+
+<dl>
+    <dt>NONE</dt>
+        <dd>Établit une connexion non sécurisée sur le port LDAP par
+       défaut, ce qui est équivalent à <code>ldap://</code> sur le port
+       389.</dd>
+    <dt>SSL</dt>
+        <dd>Établit une connexion sécurisée sur le port LDAP sécurisé
+       par défaut, ce qui est équivalent à <code>ldaps://</code>.</dd>
+    <dt>TLS | STARTTLS</dt>
+        <dd>Établit une connexion sécurisée par élévation de niveau sur
+       le port LDAP par défaut. Cette connexion sera initialisée sur le
+       port 389 par défaut, puis élevée à un niveau de connexion
+       sécurisée sur le même port.</dd>
+</dl>
+
+    <p>Voir plus haut pour des exemples d'URLs définies par la directive
+    <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code>.</p>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_ldap.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_authnz_ldap.html" title="Français">&nbsp;fr&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html>
\ No newline at end of file
diff --git a/docs/manual/mod/mod_authnz_ldap.xml.fr b/docs/manual/mod/mod_authnz_ldap.xml.fr
new file mode 100644 (file)
index 0000000..d879191
--- /dev/null
@@ -0,0 +1,1253 @@
+<?xml version="1.0"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 824049 -->
+<!-- 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_authnz_ldap.xml.meta">
+
+<name>mod_authnz_ldap</name>
+<description>Permet d'utiliser un annuaire LDAP pour l'authentification
+HTTP de base.</description>
+<status>Extension</status>
+<sourcefile>mod_authnz_ldap.c</sourcefile>
+<identifier>authnz_ldap_module</identifier>
+<compatibility>Dosponible depuis les versions 2.1 et sup&eacute;rieures
+d'Apache</compatibility>
+
+<summary>
+    <p>Ce module permet aux frontaux d'authentification comme
+    <module>mod_auth_basic</module> d'authentifier les utilisateurs via
+    un annuaire ldap.</p>
+
+    <p><module>mod_authnz_ldap</module> supporte les fonctionnalit&eacute;s
+    suivantes :</p>
+
+    <ul>
+      <li>Support v&eacute;rifi&eacute; du <a
+      href="http://www.openldap.org/">OpenLDAP SDK</a> (versions 1.x et
+      2.x), du <a href="http://developer.novell.com/ndk/cldap.htm">
+      Novell LDAP SDK</a> et du SDK <a
+      href="http://www.iplanet.com/downloads/developer/">iPlanet
+      (Netscape)</a>.</li>
+
+      <li>Impl&eacute;mentation de politiques d'autorisation complexes en les
+      d&eacute;finissant via des filtres LDAP.</li>
+
+      <li>Mise en oeuvre d'une mise en cache des op&eacute;rations LDAP
+      &eacute;labor&eacute;e via <a href="mod_ldap.html">mod_ldap</a>.</li>
+
+      <li>Support de LDAP via SSL (n&eacute;cessite le SDK Netscape) ou TLS
+      (n&eacute;cessite le SDK OpenLDAP 2.x ou le SDK LDAP Novell).</li>
+    </ul>
+
+    <p>Lorsqu'on utilise <module>mod_auth_basic</module>, ce module est
+    invoqu&eacute; en affectant la valeur <code>ldap</code> &agrave; la directive
+    <directive module="mod_auth_basic">AuthBasicProvider</directive>.</p>
+</summary>
+
+<seealso><module>mod_ldap</module></seealso>
+<seealso><module>mod_auth_basic</module></seealso>
+<seealso><module>mod_authz_user</module></seealso>
+<seealso><module>mod_authz_groupfile</module></seealso>
+
+<section id="contents"><title>Sommaire</title>
+
+    <ul>
+      <li>
+        <a href="#operation">Mode op&eacute;ratoire</a>
+
+        <ul>
+          <li><a href="#authenphase">La phase
+         d'authentification</a></li>
+
+          <li><a href="#authorphase">La phase d'autorisation</a></li>
+        </ul>
+      </li>
+
+      <li>
+        <a href="#requiredirectives">Les directives requises</a>
+
+        <ul>
+          <li><a href="#requser">Require ldap-user</a></li>
+          <li><a href="#reqgroup">Require ldap-group</a></li>
+          <li><a href="#reqdn">Require ldap-dn</a></li>
+          <li><a href="#reqattribute">Require ldap-attribute</a></li>
+          <li><a href="#reqfilter">Require ldap-filter</a></li>
+        </ul>
+      </li>
+
+      <li><a href="#examples">Exemples</a></li>
+      <li><a href="#usingtls">Utilisation de TLS</a></li>
+      <li><a href="#usingssl">Utilisation de SSL</a></li>
+      <li><a href="#exposed">Mise &agrave; disposition des informations de
+      connexion</a></li>
+      <li><a href="#activedirectory">Utilisation d'Active Directory</a></li>
+      <li>
+        <a href="#frontpage">Utilisation de Microsoft FrontPage avec
+        <module>mod_authnz_ldap</module></a>
+
+        <ul>
+          <li><a href="#howitworks">Comment &ccedil;a marche</a></li>
+          <li><a href="#fpcaveats">Mises en garde</a></li>
+        </ul>
+      </li>
+    </ul>
+</section>
+
+<section id="operation"><title>Mode op&eacute;ratoire</title>
+
+    <p>L'utilisateur se voit accorder l'acc&egrave;s selon un processus en deux
+    phases. La premi&egrave;re phase est l'authentification, au cours de
+    laquelle le fournisseur d'authentification
+    <module>mod_authnz_ldap</module> v&eacute;rifie que les informations de
+    connexion de l'utilisateur sont valides. Elle est aussi connue sous
+    le nom de phase de <em>recherche/connexion</em> (NdT : en anglais ou
+    dans le code source : <em>search/bind</em>). La deuxi&egrave;me
+    phase est l'autorisation, au cours de laquelle
+    <module>mod_authnz_ldap</module> d&eacute;termine si l'utilisateur
+    authentifi&eacute; a la permission d'acc&eacute;der &agrave; la ressource consid&eacute;r&eacute;e.
+    Elle est aussi connue sous le nom de phase de
+    <em>comparaison</em> (<em>compare</em>).</p>
+
+    <p><module>mod_authnz_ldap</module> comporte un fournisseur
+    d'authentification authn_ldap et un gestionnaire d'autorisation
+    authz_ldap. Le fournisseur d'authentification authn_ldap peut &ecirc;tre
+    invoqu&eacute; en affectant la valeur <code>ldap</code> &agrave; la directive
+    <directive module="mod_auth_basic">AuthBasicProvider</directive>. Le
+    gestionnaire d'autorisation authz_ldap enrichit la liste des types
+    d'autorisations de la directive <directive
+    module="mod_authz_core">Require</directive> en y ajoutant les
+    valeurs <code>ldap-user</code>, <code>ldap-dn</code> et
+    <code>ldap-group</code>.</p>
+
+<section id="authenphase"><title>La phase d'authentification</title>
+
+    <p>Au cours de la phase d'authentification,
+    <module>mod_authnz_ldap</module> recherche une entr&eacute;e de l'annuaire
+    LDAP qui correspond au nom d'utilisateur fourni par le client HTTP.
+    Si une correspondance unique est trouv&eacute;e,
+    <module>mod_authnz_ldap</module> tente de se connecter au serveur
+    h&eacute;bergeant l'annuaire LDAP en utilisant le DN de l'entr&eacute;e et le mot
+    de passe fourni par le client HTTP. Comme ce processus effectue tout
+    d'abord une recherche, puis une connexion, il est aussi connu sous
+    le nom de phase de recherche/connexion. Voici le d&eacute;tail des &eacute;tapes
+    constituant la phase de recherche/connexion :</p>
+
+    <ol>
+      <li>Confection d'un filtre de recherche en combinant les attribut
+      et filtre d&eacute;finis par la directive <directive module="mod_authnz_ldap"
+      >AuthLDAPURL</directive> avec le nom d'utilisateur et le mot de
+      passe fournis par le client HTTP.</li>
+
+      <li>Recherche dans l'annuaire LDAP en utilisant le filtre
+      confectionn&eacute; pr&eacute;c&eacute;demment. Si le r&eacute;sultat de la recherche est
+      n&eacute;gatif ou comporte plusieurs entr&eacute;es, refus ou restriction de
+      l'acc&egrave;s.</li>
+
+      <li>Extraction du DN (distinguished name) de l'entr&eacute;e issue du
+      r&eacute;sultat de la recherche, et tentative de connexion au serveur
+      LDAP en utilisant ce DN et le mot de passe fournis par le client
+      HTTP. Si la connexion &eacute;choue, refus ou restriction de
+      l'acc&egrave;s.</li>
+    </ol>
+
+    <p>Les directives utilis&eacute;es durant la phase de recherche/connexion
+    sont les suivantes :</p>
+
+    <table>
+      <columnspec><column width=".3"/><column width=".7"/></columnspec>
+      <tr>
+        <td><directive
+       module="mod_authnz_ldap">AuthLDAPURL</directive></td>
+
+        <td>Sp&eacute;cifie le serveur LDAP, le DN de base, l'attribut &agrave;
+       utiliser pour la recherche, ainsi que les filtres de recherche
+       suppl&eacute;mentaires.</td>
+      </tr>
+
+      <tr>
+        <td><directive
+       module="mod_authnz_ldap">AuthLDAPBindDN</directive></td>
+
+        <td>Un DN optionnel pour se connecter durant la phase de
+       recherche.</td>
+      </tr>
+
+      <tr>
+        <td><directive
+        module="mod_authnz_ldap">AuthLDAPBindPassword</directive></td>
+
+        <td>Un mot de passe optionnel pour se connecter durant la phase
+       de recherche.</td>
+      </tr>
+    </table>
+</section>
+
+<section id="authorphase"><title>La phase d'autorisation</title>
+
+    <p>Au cours de la phase d'autorisation,
+    <module>mod_authnz_ldap</module> tente de d&eacute;terminer si
+    l'utilisateur est autoris&eacute; &agrave; acc&eacute;der &agrave; la ressource consid&eacute;r&eacute;e. Une
+    grande partie de cette v&eacute;rification consiste pour
+    <module>mod_authnz_ldap</module> en des op&eacute;rations de comparaison au
+    niveau du serveur LDAP. C'est pourquoi cette phase est aussi connue
+    sous le nom de phase de comparaison.
+    <module>mod_authnz_ldap</module> accepte les directives <directive
+    module="mod_authz_core">Require</directive> suivantes pour
+    d&eacute;terminer si les informations de connexion permettent d'accorder
+    l'acc&egrave;s &agrave; l'utilisateur :</p>
+
+    <ul>
+      <li>Avec la directive <a
+      href="#reqgroup"><code>Require ldap-user</code></a>,
+      l'autorisation d'acc&egrave;s est accord&eacute;e si le nom d'utilisateur
+      sp&eacute;cifi&eacute; par la directive correspond au nom d'utilisateur fourni
+      par le client.</li>
+
+      <li>Avec la directive <a href="#reqdn"><code>Require
+      ldap-dn</code></a>, l'autorisation d'acc&egrave;s est accord&eacute;e si le DN
+      sp&eacute;cifi&eacute; par la directive correspond au DN extrait du r&eacute;sultat de
+      la recherche dans l'annuaire LDAP.</li>
+
+      <li>Avec la directive <a
+      href="#reqgroup"><code>Require ldap-group</code></a>,
+      l'autorisation d'acc&egrave;s est accord&eacute;e si le DN extrait du r&eacute;sultat de
+      la recherche dans l'annuaire LDAP (ou le nom d'utilisateur fourni
+      par le client) appartient au groupe LDAP sp&eacute;cifi&eacute; par la
+      directive, ou &eacute;ventuellement &agrave; un de ses sous-groupes.</li>
+
+      <li>Avec la directive <a href="#reqattribute">
+      <code>Require ldap-attribute</code></a>, l'autorisation d'acc&egrave;s
+      est accord&eacute;e si la valeur de l'attribut extraite de la recherche
+      dans l'annuaire LDAP correspond &agrave; la valeur sp&eacute;cifi&eacute;e par la
+      directive.</li>
+
+      <li>Avec la directive <a href="#reqfilter">
+      <code>Require ldap-filter</code></a>, l'autorisation d'acc&egrave;s
+      est accord&eacute;e si le filtre de recherche renvoie un objet
+      utilisateur unique qui corresponde au DN de l'utilisateur
+      authentifi&eacute;.</li>
+
+      <li>dans tous les autres cas, refus ou restriction de
+      l'acc&egrave;s.</li>
+    </ul>
+
+    <p>Sous r&eacute;serve du chargement de modules d'autorisation
+    suppl&eacute;mentaires, d'autres valeurs de la directive <directive
+    module="mod_authz_core">Require</directive> peuvent &ecirc;tre
+    sp&eacute;cifi&eacute;es.</p>
+
+    <ul>
+        <li>L'acc&egrave;s est accord&eacute; &agrave; tous les utilisateurs authentifi&eacute;s si
+       une directive <a href="#requser"><code>Require
+       valid-user</code></a> est pr&eacute;sente (n&eacute;cessite le module
+       <module>mod_authz_user</module>).</li>
+
+        <li>Avec la directive <a
+        href="#reqgroup"><code>Require group</code></a>, l'autorisation
+       d'acc&egrave;s est accord&eacute;e si le module
+       <module>mod_authz_groupfile</module> a &eacute;t&eacute; charg&eacute; et si la
+       directive <directive
+       module="mod_authz_groupfile">AuthGroupFile</directive> a &eacute;t&eacute;
+       d&eacute;finie.</li>
+
+        <li>etc...</li>
+     </ul>
+
+
+    <p>Durant la phase de comparaison, <module>mod_authnz_ldap</module>
+    utilise les directives suivantes :</p>
+
+    <table>
+      <columnspec><column width=".4"/><column width=".6"/></columnspec>
+      <tr>
+        <td><directive module="mod_authnz_ldap">AuthLDAPURL</directive>
+       </td>
+
+        <td>On utilise l'attribut sp&eacute;cifi&eacute; dans l'URL pour les
+       op&eacute;rations de comparaison initi&eacute;es par la directive
+       <code>Require ldap-user</code>.</td>
+      </tr>
+
+      <tr>
+        <td><directive
+        module="mod_authnz_ldap">AuthLDAPCompareDNOnServer</directive></td>
+
+        <td>D&eacute;termine le comportement de la directive <code>Require
+       ldap-dn</code>.</td>
+      </tr>
+
+      <tr>
+        <td><directive
+        module="mod_authnz_ldap">AuthLDAPGroupAttribute</directive></td>
+
+        <td>D&eacute;termine l'attribut utilis&eacute; pour les op&eacute;rations de
+       comparaison initi&eacute;es par la directive <code>Require
+       ldap-group</code>.</td>
+      </tr>
+
+      <tr>
+        <td><directive
+        module="mod_authnz_ldap">AuthLDAPGroupAttributeIsDN</directive></td>
+
+        <td>Sp&eacute;cifie si l'on doit utiliser le DN ou le nom de
+       l'utilisateur lors des op&eacute;rations de comparaison initi&eacute;es par la
+       directive <code>Require ldap-group</code>.</td>
+      </tr>
+
+      <tr>
+        <td><directive
+        module="mod_authnz_ldap">AuthLDAPMaxSubGroupDepth</directive></td>
+
+        <td>D&eacute;termine la profondeur maximale de l'arborescence des
+       sous-groupes qui seront &eacute;valu&eacute;s au cours des op&eacute;rations de
+       comparaisons initi&eacute;es par la directive <code>Require
+       ldap-group</code>.</td>
+      </tr>
+
+      <tr>
+        <td><directive
+        module="mod_authnz_ldap">AuthLDAPSubGroupAttribute</directive></td>
+
+        <td>D&eacute;termine l'attribut &agrave; utiliser lors de l'extraction de
+       membres de sous-groupes du groupe courant au cours des
+       op&eacute;rations de comparaison initi&eacute;es par la directive
+       <code>Require ldap-group</code>.</td>
+      </tr>
+
+      <tr>
+        <td><directive
+        module="mod_authnz_ldap">AuthLDAPSubGroupClass</directive></td>
+
+        <td>Sp&eacute;cifie les valeurs de classe d'objet LDAP &agrave; utiliser pour
+       d&eacute;terminer si les objets extraits de l'annuaire sont bien des
+       objets de type groupe (et non des objets de type utilisateur),
+       au cours du traitement des sous-groupes initi&eacute; par la directive
+       <code>Require ldap-group</code>.</td>
+      </tr>
+    </table>
+</section>
+</section>
+
+<section id="requiredirectives"><title>Les directives requises</title>
+
+    <p>Les directives <directive
+    module="mod_authz_core">Require</directive> d'Apache sont utilis&eacute;es
+    au cours de la phase d'autorisation afin de s'assurer que
+    l'utilisateur est autoris&eacute; &agrave; acc&eacute;der &agrave; une ressource.
+    mod_authnz_ldap enrichit la liste des types d'autorisations avec les
+    valeurs <code>ldap-user</code>, <code>ldap-dn</code>,
+    <code>ldap-group</code>, <code>ldap-attribute</code> et
+    <code>ldap-filter</code>. D'autres types d'autorisations sont
+    disponibles, sous r&eacute;serve du chargement de modules d'autorisation
+    suppl&eacute;mentaires.</p>
+
+<section id="requser"><title>Require ldap-user</title>
+
+    <p>La directive <code>Require ldap-user</code> permet de sp&eacute;cifier
+    les noms des utilisateurs autoris&eacute;s &agrave; acc&eacute;der &agrave; la ressource.
+    Lorsque <module>mod_authnz_ldap</module> a extrait un DN unique de
+    l'annuaire LDAP, il effectue une op&eacute;ration de comparaison LDAP en
+    utilisant le nom d'utilisateur sp&eacute;cifi&eacute; par la directive
+    <code>Require ldap-user</code>, pour v&eacute;rifier si ce nom
+    d'utilisateur correspond &agrave; l'entr&eacute;e LDAP extraite. On peut accorder
+    l'acc&egrave;s &agrave; plusieurs utilisateurs en pla&ccedil;ant plusieurs nom
+    d'utilisateurs sur la m&ecirc;me ligne s&eacute;par&eacute;s par des espaces. Si un nom
+    d'utilisateur contient des espaces, il doit &ecirc;tre entour&eacute; de
+    guillemets. On peut aussi accorder l'acc&egrave;s &agrave; plusieurs utilisateurs
+    en utilisant une directive <code>Require ldap-user</code> par
+    utilisateur. Par exemple, avec la directive <directive
+    module="mod_authnz_ldap">AuthLDAPURL</directive> d&eacute;finie &agrave;
+    <code>ldap://ldap/o=Airius?cn</code> (sp&eacute;cifiant donc que l'attribut
+    <code>cn</code> sera utilis&eacute; pour les recherches), on pourra
+    utiliser les directives Require suivantes pour restreindre l'acc&egrave;s
+    :</p>
+<example>
+Require ldap-user "Barbara Jenson"<br />
+Require ldap-user "Fred User"<br />
+Require ldap-user "Joe Manager"<br />
+</example>
+
+    <p>De par la mani&egrave;re dont <module>mod_authnz_ldap</module> traite
+    cette directive, Barbara Jenson peut s'authentifier comme
+    <em>Barbara Jenson</em>, <em>Babs Jenson</em> ou tout autre
+    <code>cn</code> sous lequel elle est enregistr&eacute;e dans l'annuaire
+    LDAP. Une seule ligne <code>Require ldap-user</code> suffit pour
+    toutes les valeurs de l'attribut dans l'entr&eacute;e LDAP de
+    l'utilisateur.</p>
+
+    <p>Si l'attribut <code>uid</code> avait &eacute;t&eacute; sp&eacute;cifi&eacute; &agrave; la place de
+    l'attribut <code>cn</code> dans l'URL pr&eacute;c&eacute;dente, les trois lignes
+    ci-dessus auraient p&ucirc; &ecirc;tre condens&eacute;es en une seule ligne :</p>
+<example>Require ldap-user bjenson fuser jmanager</example>
+</section>
+
+<section id="reqgroup"><title>Require ldap-group</title>
+
+    <p>Cette directive permet de sp&eacute;cifier un groupe LDAP dont les
+    membres auront l'autorisation d'acc&egrave;s. Elle prend comme argument le
+    DN du groupe LDAP. Note : n'entourez pas le nom du groupe avec des
+    guillemets. Par exemple, supposons que l'entr&eacute;e suivante existe dans
+    l'annuaire LDAP :</p>
+<example>
+dn: cn=Administrators, o=Airius<br />
+objectClass: groupOfUniqueNames<br />
+uniqueMember: cn=Barbara Jenson, o=Airius<br />
+uniqueMember: cn=Fred User, o=Airius<br />
+</example>
+
+    <p>La directive suivante autoriserait alors l'acc&egrave;s &agrave; Fred et
+    Barbara :</p>
+<example>Require ldap-group cn=Administrators, o=Airius</example>
+
+    <p>Les membres peuvent aussi se trouver dans les sous-groupes du
+    groupe LDAP sp&eacute;cifi&eacute; si la directive <directive
+    module="mod_authnz_ldap">AuthLDAPMaxSubGroupDepth</directive> a &eacute;t&eacute;
+    d&eacute;finie &agrave; une valeur sup&eacute;rieure &agrave; 0. Par exemple, supposons que les
+    entr&eacute;es suivantes existent dans l'annuaire LDAP :</p>
+<example>
+dn: cn=Employees, o=Airius<br />
+objectClass: groupOfUniqueNames<br />
+uniqueMember: cn=Managers, o=Airius<br />
+uniqueMember: cn=Administrators, o=Airius<br />
+uniqueMember: cn=Users, o=Airius<br />
+<br />
+dn: cn=Managers, o=Airius<br />
+objectClass: groupOfUniqueNames<br />
+uniqueMember: cn=Bob Ellis, o=Airius<br />
+uniqueMember: cn=Tom Jackson, o=Airius<br />
+<br />
+dn: cn=Administrators, o=Airius<br />
+objectClass: groupOfUniqueNames<br />
+uniqueMember: cn=Barbara Jenson, o=Airius<br />
+uniqueMember: cn=Fred User, o=Airius<br />
+<br />
+dn: cn=Users, o=Airius<br />
+objectClass: groupOfUniqueNames<br />
+uniqueMember: cn=Allan Jefferson, o=Airius<br />
+uniqueMember: cn=Paul Tilley, o=Airius<br />
+uniqueMember: cn=Temporary Employees, o=Airius<br />
+<br />
+dn: cn=Temporary Employees, o=Airius<br />
+objectClass: groupOfUniqueNames<br />
+uniqueMember: cn=Jim Swenson, o=Airius<br />
+uniqueMember: cn=Elliot Rhodes, o=Airius<br />
+</example>
+
+    <p>Les directives suivantes autoriseraient alors l'acc&egrave;s &agrave; Bob
+    Ellis, Tom Jackson, Barbara Jensen, Fred User, Allan Jefferson, et
+    Paul Tilley, mais l'interdiraient &agrave; Jim Swenson, ou Elliot Rhodes
+    (car ils sont situ&eacute;s dans un sous-groupe de niveau de profondeur 2)
+    :</p>
+<example>
+Require ldap-group cn=Employees, o-Airius<br />
+AuthLDAPSubGroupDepth 1<br />
+</example>
+
+    <p>Le comportement de cette directive est modifi&eacute; par les directives
+    <directive
+    module="mod_authnz_ldap">AuthLDAPGroupAttribute</directive>,
+    <directive
+    module="mod_authnz_ldap">AuthLDAPGroupAttributeIsDN</directive>,
+    <directive
+    module="mod_authnz_ldap">AuthLDAPMaxSubGroupDepth</directive>,
+    <directive
+    module="mod_authnz_ldap">AuthLDAPSubGroupAttribute</directive>, et
+    <directive
+    module="mod_authnz_ldap">AuthLDAPSubGroupClass</directive>.</p>
+</section>
+
+<section id="reqdn"><title>Require ldap-dn</title>
+
+    <p>La directive <code>Require ldap-dn</code> permet &agrave;
+    l'administrateur d'accorder l'utorisation d'acc&egrave;s en fonction du DN.
+    Elle permet de sp&eacute;cifier un DN pour lequel l'acc&egrave;s est autoris&eacute;. Si
+    le DN extrait de
+    l'annuaire correspond au DN sp&eacute;cifi&eacute; par la directive <code>Require
+    ldap-dn</code>, l'autorisation d'acc&egrave;s est accord&eacute;e. Note :
+    n'entourez pas Le DN de guillemets.</p>
+
+    <p>La directive suivante accorderait l'acc&egrave;s &agrave; un DN sp&eacute;cifique
+    :</p>
+<example>Require ldap-dn cn=Barbara Jenson, o=Airius</example>
+
+    <p>Le comportement ce cette directive est modifi&eacute; par la directive
+    <directive
+    module="mod_authnz_ldap">AuthLDAPCompareDNOnServer</directive>.</p>
+</section>
+
+<section id="reqattribute"><title>Require ldap-attribute</title>
+
+    <p>La directive <code>Require ldap-attribute</code> permet &agrave;
+    l'administrateur d'accorder l'autorisation d'acc&egrave;s en fonction des
+    attributs de l'utilisateur authentifi&eacute; dans l'annuaire LDAP. Si la
+    valeur de l'attribut dans l'annuaire correspond &agrave; la valeur
+    sp&eacute;cifi&eacute;e par la directive, l'autorisation d'acc&egrave;s est accord&eacute;e.</p>
+
+    <p>La directive suivante accorderait l'autorisation d'acc&egrave;s &agrave; tout
+    utilisateur dont l'attribut employeeType a pour valeur "actif" :</p>
+
+    <example>Require ldap-attribute employeeType=actif</example>
+
+    <p>Plusieurs paires attribut/valeur peuvent &ecirc;tre sp&eacute;cifi&eacute;es par une
+    m&ecirc;me directive en les s&eacute;parant par des espaces, ou en d&eacute;finissant
+    plusieurs directives <code>Require ldap-attribute</code>. La logique
+    sous-jacente &agrave; une liste de paires attribut/valeur est une op&eacute;ration
+    OU. L'autorisation d'acc&egrave;s sera accord&eacute;e si au moins une paire
+    attribut/valeur de la liste sp&eacute;cifi&eacute;e correspond &agrave; la paire
+    attribut/valeur de l'utilisateur authentifi&eacute;. Si elle contient des
+    espaces, la valeur, et seulement la valeur, doit &ecirc;tre entour&eacute;e de
+    guillemets.</p>
+
+    <p>La directive suivante accorderait l'autorisation d'acc&egrave;s &agrave; tout
+    utilisateur dont l'attribut city aurait pour valeur "San Jose", ou
+    donc l'attribut status aurait pour valeur "actif" :</p>
+
+    <example>Require ldap-attribute city="San Jose" status=actif</example>
+
+</section>
+
+<section id="reqfilter"><title>Require ldap-filter</title>
+
+    <p>La directive <code>Require ldap-filter</code> permet &agrave;
+    l'administrateur d'accorder l'autorisation d'acc&egrave;s en fonction d'un
+    filtre de recherche LDAP complexe. L'autorisation d'acc&egrave;s est
+    accord&eacute;e si le DN renvoy&eacute; par le filtre de recherche correspond au
+    DN de l'utilisateur authentifi&eacute;.</p>
+
+    <p>La directive suivante accorderait l'autorisation d'acc&egrave;s &agrave; tout
+    utilisateur poss&eacute;dant un t&eacute;l&eacute;phone cellulaire et faisant partie du
+    d&eacute;partement "marketing" :</p>
+
+    <example>Require ldap-filter &amp;(cell=*)(department=marketing)</example>
+
+    <p>Alors que la directive <code>Require ldap-attribute</code> se
+    contente d'une simple comparaison d'attributs, la directive
+    <code>Require ldap-filter</code> effectue une op&eacute;ration de recherche
+    dans l'annuaire LDAP en utilisant le filtre de recherche sp&eacute;cifi&eacute;.
+    Si une simple comparaison d'attributs suffit, l'op&eacute;ration de
+    comparaison effectu&eacute;e par <code>ldap-attribute</code> sera plus
+    rapide que l'op&eacute;ration de recherche effectu&eacute;e par
+    <code>ldap-filter</code>, en particulier dans le cas d'un annuaire
+    LDAP de grande taille.</p>
+
+</section>
+
+</section>
+
+<section id="examples"><title>Exemples</title>
+
+    <ul>
+      <li>
+        Accorde l'autorisation d'acc&egrave;s &agrave; tout utilisateur pr&eacute;sent dans
+       l'annuaire LDAP, en utilisant son UID pour effectuer la
+       recherche :
+<example>
+AuthLDAPURL "ldap://ldap1.airius.com:389/ou=People, o=Airius?uid?sub?(objectClass=*)"<br />
+Require valid-user
+</example>
+      </li>
+
+      <li>
+        L'exemple suivant est similaire au pr&eacute;c&eacute;dent, mais les champs
+       dont les valeurs par d&eacute;faut conviennent sont omis. Notez aussi
+       la pr&eacute;sence d'un annuaire LDAP redondant :
+<example>AuthLDAPURL "ldap://ldap1.airius.com ldap2.airius.com/ou=People, o=Airius"<br />
+Require valid-user
+</example>
+      </li>
+
+      <li>
+        Encore un exemple similaire aux pr&eacute;c&eacute;dents, mais cette fois,
+       c'est l'attribut cn qui est utilis&eacute; pour la recherche &agrave; la place
+       de l'UID. Notez que ceci peut poser probl&egrave;me si plusieurs
+       utilisateurs de l'annuaire partagent le m&ecirc;me <code>cn</code>,
+       car une recherche sur le <code>cn</code> <strong>doit</strong>
+       retourner une entr&eacute;e et une seule. C'est pourquoi cette
+       approche n'est pas recommand&eacute;e : il est pr&eacute;f&eacute;rable de choisir un
+       attribut de votre annuaire dont l'unicit&eacute; soit garantie, comme
+       <code>uid</code>.
+<example>
+AuthLDAPURL "ldap://ldap.airius.com/ou=People, o=Airius?cn"<br />
+Require valid-user
+</example>
+      </li>
+
+      <li>
+        Accorde l'autorisation d'acc&egrave;s &agrave; tout utilisateur appartenant au
+       groupe Administrateurs. Les utilisateurs doivent s'authentifier
+       en utilisant leur UID :
+<example>
+AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid<br />
+Require ldap-group cn=Administrators, o=Airius
+</example>
+      </li>
+
+      <li>
+        Pour l'exemple suivant, on suppose que tout utilisateur de chez
+       Airius qui dispose d'un bippeur alphanum&eacute;rique poss&egrave;dera un
+       attribut LDAP <code>qpagePagerID</code>. Seuls ces utilisateurs
+       (authentifi&eacute;s via leur UID) se verront accorder l'autorisation
+       d'acc&egrave;s :
+<example>
+AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid??(qpagePagerID=*)<br />
+Require valid-user
+</example>
+      </li>
+
+      <li>
+        <p>L'exemple suivant illustre la puissance des filtres pour
+       effectuer des requ&ecirc;tes complexes. Sans les filtres, il aurait
+       &eacute;t&eacute; n&eacute;cessaire de cr&eacute;er un nouveau groupe LDAP et de s'assurer
+       de la synchronisation des membres du groupe avec les
+       utilisateurs poss&eacute;dant un bippeur. Tout devient limpide avec les
+       filtres. Nous avons pour but d'accorder l'autorisation d'acc&egrave;s &agrave;
+       tout utilisateur disposant d'un bippeur ainsi qu'&agrave; Joe Manager
+       qui ne poss&egrave;de pas de bippeur, mais doit tout de m&ecirc;me pouvoir
+       acc&eacute;der &agrave; la ressource :</p>
+<example>
+AuthLDAPURL ldap://ldap.airius.com/o=Airius?uid??(|(qpagePagerID=*)(uid=jmanager))<br />
+Require valid-user
+</example>
+
+        <p>Ce dernier exemple peut sembler confus au premier abord ; en
+       fait, il permet de mieux comprendre &agrave; quoi doit ressembler le
+       filtre en fonction de l'utilisateur qui se connecte. Si Fred
+       User se connecte en tant que <code>fuser</code>, le filtre devra
+       ressembler &agrave; :</p>
+
+        <example>(&amp;(|(qpagePagerID=*)(uid=jmanager))(uid=fuser))</example>
+
+        <p>Un recherche avec le filtre ci-dessus ne retournera un
+       r&eacute;sultat positif que si <em>fuser</em> dispose d'un bippeur. Si
+       Joe Manager se connecte en tant que <em>jmanager</em>, le filtre
+       devra ressembler &agrave; :</p>
+
+        <example>(&amp;(|(qpagePagerID=*)(uid=jmanager))(uid=jmanager))</example>
+
+        <p>Un recherche avec le filtre ci-dessus retournera un
+       r&eacute;sultat positif que <em>jmanager</em> dispose d'un
+       bippeur ou non</p>
+      </li>
+    </ul>
+</section>
+
+<section id="usingtls"><title>Utilisation de TLS</title>
+
+    <p>Pour l'utilisation de TLS, voir les directives du module
+    <module>mod_ldap</module> <directive
+    module="mod_ldap">LDAPTrustedClientCert</directive>, <directive
+    module="mod_ldap">LDAPTrustedGlobalCert</directive> et <directive
+    module="mod_ldap">LDAPTrustedMode</directive>.</p>
+
+    <p>Un second param&egrave;tre optionnel peut &ecirc;tre ajout&eacute; &agrave; la directive
+    <directive module="mod_authnz_ldap">AuthLDAPURL</directive> pour
+    remplacer le type de connexion par d&eacute;faut d&eacute;fini par la directive
+    <directive module="mod_ldap">LDAPTrustedMode</directive>. Ceci
+    permettra de promouvoir la connexion &eacute;tablie via une URL du type
+    <em>ldap://</em> au statut de connection s&eacute;curis&eacute;e sur le m&ecirc;me
+    port.</p>
+</section>
+
+<section id="usingssl"><title>Utilisation de SSL</title>
+
+    <p>Pour l'utilisation de SSL, voir les directives du module
+    <module>mod_ldap</module> <directive
+    module="mod_ldap">LDAPTrustedClientCert</directive>, <directive
+    module="mod_ldap">LDAPTrustedGlobalCert</directive> et <directive
+    module="mod_ldap">LDAPTrustedMode</directive>.</p>
+
+    <p>Pour sp&eacute;cifier un serveur LDAP s&eacute;curis&eacute;, utilisez
+    <em>ldaps://</em> au lieu de
+    <em>ldap://</em> dans la directive <directive
+    module="mod_authnz_ldap">AuthLDAPURL</directive>.</p>
+</section>
+
+<section id="exposed"><title>Mise &agrave; disposition des informations de
+connexion</title>
+
+    <p>Au cours du processus d'authentification, les attributs LDAP
+    sp&eacute;cifi&eacute;s par la directive <directive
+    module="mod_authnz_ldap">AuthLDAPUrl</directive> sont enregistr&eacute;s
+    dans des variables d'environnement pr&eacute;fix&eacute;es par la cha&icirc;ne
+    "AUTHENTICATE_".</p>
+
+    <p>Si les champs attribut contiennent le nom, le CN et le num&eacute;ro de
+    t&eacute;l&eacute;phone d'un utilisateur, un programme CGI pourra acc&eacute;der &agrave; ces
+    informations sans devoir effectuer une autre requ&ecirc;te LDAP pour
+    les extraire de l'annuaire.</p>
+
+    <p>Ceci a pour effet de simplifier consid&eacute;rablement le code et la
+    configuration n&eacute;cessaire de certaines applications web.</p>
+
+</section>
+
+<section id="activedirectory"><title>Utilisation d'Active
+Directory</title>
+
+    <p>Active Directory peut supporter plusieurs domaines &agrave; la fois.
+    Pour faire la distinction entre les utilisateurs de plusieurs
+    domaines, on peut ajouter &agrave; l'entr&eacute;e de l'utilisateur dans
+    l'annuaire un identifiant appel&eacute; Nom
+    Principal d'Utilisateur (User Principle Name ou UPN). Cet UPN se
+    compose en g&eacute;n&eacute;ral du nom de compte de l'utilisateur, suivi du nom
+    du domaine consid&eacute;r&eacute;, par exemple <em>untel@nz.exemple.com</em>.</p>
+
+    <p>Vous voudrez probablement configurer le module
+    <module>mod_authnz_ldap</module> afin de pouvoir authentifier les
+    utilisateurs de n'importe quel domaine de la for&ecirc;t Active Directory.
+    Ainsi, <em>untel@nz.exemple.com</em> et
+    <em>untel@au.exemple.com</em> pourront &ecirc;tre authentifi&eacute;s en une
+    seule fois par la m&ecirc;me requ&ecirc;te.</p>
+
+    <p>Pour y parvenir, on utilise le concept de Catalogue Global
+    d'Active Directory. Ce Catalogue Global est une copie en lecture
+    seule des attributs s&eacute;lectionn&eacute;s de tous les serveurs de la for&ecirc;t
+    Active Directory. Une requ&ecirc;te vers le
+    Catalogue Global permet donc d'atteindre tous les domaines en une
+    seule fois, sans avoir &agrave; se connecter aux diff&eacute;rents serveurs, via
+    des liaisons dont certaines peuvent &ecirc;tre lentes.</p>
+
+    <p>Lorsqu'il est activ&eacute;, la Catalogue Global est un serveur
+    d'annuaire ind&eacute;pendant accessible sur le port 3268 (3269 pour SSL).
+    Pour rechercher un utilisateur, effectuez une recherche sur
+    l'attribut <em>userPrincipalName</em>, avec une base de recherche
+    vide, comme suit :</p>
+
+<example>
+AuthLDAPBindDN apache@exemple.com<br />
+AuthLDAPBindPassword password<br />
+AuthLDAPURL ldap://10.0.0.1:3268/?userPrincipalName?sub
+</example>
+
+    <p>Les utilisateurs devront s'authentifier en entrant leur UPN, de
+    la forme<em>untel@nz.exemple.com</em>.</p>
+
+</section>
+
+<section id="frontpage"><title>Utilisation de Microsoft
+    FrontPage avec mod_authnz_ldap</title>
+
+    <p>Normalement, FrontPage utilise des fichiers utilisateur/groupe
+    sp&eacute;cifiques &agrave; FrontPage-web (c'est &agrave; dire les modules
+    <module>mod_authn_file</module> et
+    <module>mod_authz_groupfile</module>) pour effectuer toute
+    l'authentification. Malheureusement, il ne suffit pas de modifier
+    l'authentification LDAP en ajoutant les directives appropri&eacute;es, car
+    ceci corromprait les formulaires de <em>Permissions</em> dans le
+    client FrontPage, qui sont cens&eacute;s modifier les fichiers
+    d'autorisation standards au format texte.</p>
+
+    <p>Lorsqu'un site web FrontPage a &eacute;t&eacute; cr&eacute;&eacute;, lui adjoindre
+    l'authentification LDAP consiste &agrave; ajouter les directives suivantes
+    &agrave; <em>chaque</em> fichier <code>.htaccess</code> qui sera cr&eacute;&eacute; dans
+    le site web :</p>
+<example><pre>
+AuthLDAPURL            "l'url"
+AuthGroupFile <em>mon-fichier-de-groupes</em>
+Require group <em>mon-fichier-de-groupes</em>
+</pre></example>
+
+<section id="howitworks"><title>Comment &ccedil;a marche</title>
+
+    <p>FrontPage restreint l'acc&egrave;s &agrave; un site web en ajoutant la
+    directive <code>Require valid-user</code> aux fichiers
+    <code>.htaccess</code>. La directive <code>Require valid-user</code>
+    permettra l'acc&egrave;s &agrave; tout utilisateur valide <em>du point de vue
+    LDAP</em>. Cela signifie que tout utilisateur poss&eacute;dant une entr&eacute;e
+    dans l'annuaire LDAP sera consid&eacute;r&eacute; comme valide, alors que
+    FrontPage ne consid&egrave;re comme valides que les utilisateurs
+    enregistr&eacute;s dans le fichier des utilisateurs local. En rempla&ccedil;ant
+    l'autorisation par groupe LDAP par une autorisation par fichier de
+    groupe, Apache sera en mesure de consulter le fichier des
+    utilisateurs local (g&eacute;r&eacute; par FrontPage) - au lieu de l'annuaire LDAP
+    - lors du processus d'autorisation des utilisateurs.</p>
+
+    <p>Une fois les directives ajout&eacute;es selon ce qui pr&eacute;c&egrave;de, les
+    utilisateurs FrontPage pourront effectuer toutes les op&eacute;rations de
+    gestion &agrave; partir du client FrontPage.</p>
+</section>
+
+<section id="fpcaveats"><title>Avertissements</title>
+
+    <ul>
+      <li>Lors du choix de l'URL LDAP, l'attribut &agrave; utiliser pour
+      l'authentification doit aussi &ecirc;tre valide pour le fichier des
+      utilisateurs de <module>mod_authn_file</module>. A cette fin,
+      l'UID est id&eacute;al.</li>
+
+      <li>Lorsqu'ils ajoutent des utilisateurs via FrontPage, les
+      administrateurs de FrontPage doivent choisir des noms
+      d'utilisateurs qui existent d&eacute;j&agrave; dans l'annuaire LDAP (pour des
+      raisons &eacute;videntes). De m&ecirc;me, le mot de passe que l'administrateur
+      entre dans le formulaire est ignor&eacute;, car pour l'authentification,
+      Apache utilise le mot de passe de l'annuaire LDAP, et non le mot
+      de passe enregistr&eacute; dans le fichier des utilisateurs, ce qui peut
+      semer la confusion parmi les administrateurs web.</li>
+
+      <!-- XXX is that true? was mod_auth before the aaa change -->
+      <li>Pour supporter FrontPage, Apache doit &ecirc;tre compil&eacute; avec
+      <module>mod_auth_basic</module>, <module>mod_authn_file</module>
+      et <module>mod_authz_groupfile</module>. Ceci est d&ucirc; au fait
+      qu'Apache doit utiliser le fichier de groupes de
+      <module>mod_authz_groupfile</module> pour d&eacute;terminer le niveau
+      d'acc&egrave;s d'un utilisateur au site web FrontPage.</li>
+
+      <li>Les directives doivent &ecirc;tre plac&eacute;es dans les fichiers
+      <code>.htaccess</code>. Elles ne fonctionneront pas si vous les
+      placez dans une section <directive module="core"
+      type="section">Location</directive> ou <directive module="core"
+      type="section">Directory</directive>. Ceci est d&ucirc; au fait que pour savoir
+      o&ugrave; se trouve la liste des utilisateurs valides,
+      <module>mod_authnz_ldap</module> doit &ecirc;tre en mesure d'atteindre
+      la directive <directive
+      module="mod_authn_file">AuthGroupFile</directive> qui se trouve
+      dans les fichiers <code>.htaccess</code> de FrontPage. Si les directives
+      de <module>mod_authnz_ldap</module> ne sont pas situ&eacute;es dans le
+      m&ecirc;me fichier <code>.htaccess</code> que les directives FrontPage,
+      la configuration ne fonctionnera pas, car
+      <module>mod_authnz_ldap</module> ne sera jamais en mesure de
+      traiter le fichier <code>.htaccess</code>, et par cons&eacute;quent ne
+      pourra jamais trouver le fichier des utilisateurs g&eacute;r&eacute; par
+      FrontPage.</li>
+    </ul>
+</section>
+</section>
+
+<directivesynopsis>
+<name>AuthLDAPBindDN</name>
+<description>Un DN optionnel pour se connecter au serveur
+LDAP</description>
+<syntax>AuthLDAPBindDN <em>dn</em></syntax>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+    <p>Cette directive permet de d&eacute;finir un DN optionnel pour se
+    connecter au serveur afin d'y rechercher des entr&eacute;es. Si aucun DN
+    n'est sp&eacute;cifi&eacute;, <module>mod_authnz_ldap</module> tentera une
+    connexion anonyme.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPBindPassword</name>
+<description>Mot de passe &agrave; utiliser en conjonction avec le DN de
+connexion</description>
+<syntax>AuthLDAPBindPassword <em>mot-de-passe</em></syntax>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+    <p>Cette directive permet de sp&eacute;cifier un mot de passe &agrave; utiliser en
+    conjonction avec le DN de connexion. Notez que ce mot de passe
+    constitue en g&eacute;n&eacute;ral une donn&eacute;e sensible, et doit donc &ecirc;tre prot&eacute;g&eacute;
+    de mani&egrave;re appropri&eacute;e. Vous ne devez utiliser les directives
+    <directive
+    module="mod_authnz_ldap">AuthLDAPBindDN</directive> et <directive
+    module="mod_authnz_ldap">AuthLDAPBindPassword</directive> que si
+    vous en avez vraiment besoin pour effectuer une recherche dans
+    l'annuaire.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPCharsetConfig</name>
+<description>Chemin du fichier de configuration de la correspondance
+langage/jeu de caract&egrave;res</description>
+<syntax>AuthLDAPCharsetConfig <em>chemin-fichier</em></syntax>
+<contextlist><context>server config</context>
+</contextlist>
+
+<usage>
+    <p>La directive <directive>AuthLDAPCharsetConfig</directive> permet
+    de d&eacute;finir le chemin du fichier de configuration de la
+    correspondance langage/jeu de caract&egrave;res. <var>chemin-fichier</var>
+    est un chemin relatif au r&eacute;pertoire d&eacute;fini par la directive
+    <directive
+    module="core">ServerRoot</directive>. Ce fichier contient une liste
+    de correspondances extension de langage/jeu de caract&egrave;res. La
+    plupart des administrateurs utilisent le fichier
+    <code>charset.conv</code> fourni qui associe les extensions de
+    langage courantes &agrave; leurs jeux de caract&egrave;res.</p>
+
+    <p>Le fichier contient des lignes au format suivant :</p>
+
+    <example>
+      <var>extension de langage</var> <var>jeu de caract&egrave;res</var>
+      [<var>Nom du langage</var>] ...
+    </example>
+
+    <p>L'extension est insensible &agrave; la casse. Les lignes vides et les
+    lignes commen&ccedil;ant par un di&egrave;se (<code>#</code>) sont ignor&eacute;es.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPCompareDNOnServer</name>
+<description>Utilise le serveur LDAP pour comparer les DNs</description>
+<syntax>AuthLDAPCompareDNOnServer on|off</syntax>
+<default>AuthLDAPCompareDNOnServer on</default>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+    <p>Lorsque cette directive est d&eacute;finie &agrave; on,
+    <module>mod_authnz_ldap</module> utilise le serveur LDAP pour
+    comparer les DNs. Il s'agit de la seule m&eacute;thode infaillible pour
+    comparer les DNs. <module>mod_authnz_ldap</module> va rechercher
+    dans l'annuaire le DN sp&eacute;cifi&eacute; par la directive <a
+    href="#reqdn"><code>Require dn</code></a>, puis extraire ce DN et le
+    comparer avec le DN extrait de l'entr&eacute;e de l'utilisateur. Si cette
+    directive est &agrave; off, <module>mod_authnz_ldap</module> effectue une
+    simple comparaison de cha&icirc;nes. Cette derni&egrave;re approche peut produire
+    des faux n&eacute;gatifs, mais elle est beaucoup plus rapide. Notez
+    cependant que le cache de <module>mod_ldap</module> peut acc&eacute;l&eacute;rer
+    la comparaison de DNs dans la plupart des situations.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPDereferenceAliases</name>
+<description>&Agrave; quel moment le module va d&eacute;r&eacute;f&eacute;rencer les
+alias</description>
+<syntax>AuthLDAPDereferenceAliases never|searching|finding|always</syntax>
+<default>AuthLDAPDereferenceAliases always</default>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+    <p>Cette directive permet de sp&eacute;cifier &agrave; quel moment
+    <module>mod_authnz_ldap</module> va d&eacute;r&eacute;f&eacute;rencer les alias au cours
+    des op&eacute;rations li&eacute;es &agrave; LDAP. La valeur par d&eacute;faut est
+    <code>always</code>.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPGroupAttribute</name>
+<description>L'attribut LDAP utilis&eacute; pour v&eacute;rifier l'appartenance d'un
+utilisateur &agrave; un groupe.</description>
+<syntax>AuthLDAPGroupAttribute <em>attribut</em></syntax>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+    <p>Cette directive permet de sp&eacute;cifier quel attribut LDAP est
+    utilis&eacute; pour v&eacute;rifier l'appartenance d'un utilisateur &agrave; un
+    groupe. On peut sp&eacute;cifier plusieurs attributs en r&eacute;p&eacute;tant cette
+    directive plusieurs fois. Si la directive n'est pas d&eacute;finie,
+    <module>mod_authnz_ldap</module> utilise les attributs
+    <code>member</code> et <code>uniquemember</code>.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPGroupAttributeIsDN</name>
+<description>Utilise le DN de l'utilisateur pour v&eacute;rifier son
+appartenance &agrave; un groupe</description>
+<syntax>AuthLDAPGroupAttributeIsDN on|off</syntax>
+<default>AuthLDAPGroupAttributeIsDN on</default>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+    <p>Lorsqu'elle est d&eacute;finie &agrave; <code>on</code>, cette directive
+    indique que c'est le DN de l'utilisateur qui doit &ecirc;tre utilis&eacute; pour
+    v&eacute;rifier son appartenance &agrave; un groupe. Dans le cas contraire, c'est
+    le nom de l'utilisateur qui sera utilis&eacute;. Par exemple, supposons que
+    le client envoie le nom d'utilisateur <code>bjenson</code>, qui
+    correspond au DN LDAP <code>cn=Babs Jenson,o=Airius</code>. Si la
+    directive est &agrave; <code>on</code>, <module>mod_authnz_ldap</module> va
+    v&eacute;rifier si <code>cn=Babs Jenson, o=Airius</code> est un membre du
+    groupe. Dans le cas contraire, <module>mod_authnz_ldap</module>
+    v&eacute;rifiera si <code>bjenson</code> est un membre du groupe.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPMaxSubGroupDepth</name>
+<description>Sp&eacute;cifie la profondeur d'imbrication des sous-groupes
+maximale prise en compte avant l'abandon de la recherche de
+l'utilisateur.</description>
+<syntax>AuthLDAPMaxSubGroupDepth <var>Nombre</var></syntax>
+<default>AuthLDAPMaxSubGroupDepth 10</default>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+   <p>Lorsque cette directive est d&eacute;finie &agrave; une valeur <code>X</code>
+   non nulle, en combinaison avec l'utilisation de la directive
+   <code>Require ldap-group DN-groupe</code>, les donn&eacute;es de connexion
+   fournies seront utilis&eacute;es pour v&eacute;rifier l'appartenance de
+   l'utilisateur &agrave; l'objet de l'annuaire <code>DN-groupe</code> ou &agrave;
+   tout sous-groupe du groupe courant en tenant compte de la profondeur
+   d'imbrication maximale <code>X</code> sp&eacute;cifi&eacute;e par la directive.</p>
+   <p>Se r&eacute;f&eacute;rer &agrave; la section <a href="#reqgroup"><code>Require
+   ldap-group</code></a> pour un exemple plus d&eacute;taill&eacute;.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPRemoteUserAttribute</name>
+<description>Sp&eacute;cifie l'attribut dont la valeur renvoy&eacute;e au cours de la
+requ&ecirc;te de l'utilisateur sera utilis&eacute;e pour d&eacute;finir la variable
+d'environnement REMOTE_USER</description>
+<syntax>AuthLDAPRemoteUserAttribute uid</syntax>
+<default>none</default>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+    <p>Lorsque cette directive est d&eacute;finie, la variable d'environnement
+    <code>REMOTE_USER</code> sera d&eacute;finie &agrave; la valeur de l'attribut
+    sp&eacute;cifi&eacute;. Assurez-vous que cet attribut soit bien inclus dans la
+    liste d'attributs sp&eacute;cifi&eacute;s dans la d&eacute;finition de AuthLDAPUrl ; dans
+    le cas contraire, cette directive n'aurait aucun effet. Si elle est
+    pr&eacute;sente, cette directive l'emporte sur AuthLDAPRemoteUserIsDN. Elle
+    peut s'av&eacute;rer utile par exemple, si vous souhaitez que les
+    utilisateurs se connectent &agrave; un site web en utilisant leur adresse
+    email, alors qu'une application sous-jacente n&eacute;cessite un nom
+    d'utilisateur comme identifiant.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPRemoteUserIsDN</name>
+<description>Utilise le DN de l'utilisateur pour d&eacute;finir la variable
+d'environnement REMOTE_USER</description>
+<syntax>AuthLDAPRemoteUserIsDN on|off</syntax>
+<default>AuthLDAPRemoteUserIsDN off</default>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+    <p>Lorsque cette directive est &agrave; on, la variable d'environnement
+    <code>REMOTE_USER</code> sera d&eacute;finie avec la valeur du DN complet
+    de l'utilisateur authentifi&eacute;, et non plus avec simplement le nom
+    d'utilisateur fourni par le client. Elle est d&eacute;finie &agrave; off par
+    d&eacute;faut.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPSubGroupAttribute</name>
+<description>Sp&eacute;cifie les noms d'attribut, un par directive, utilis&eacute;s
+pour diff&eacute;rencier les membres du groupe courant qui sont eux-m&ecirc;mes des
+groupes.</description>
+<syntax>AuthLDAPSubGroupAttribute <em>attribut</em></syntax>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+    <p>Un objet groupe LDAP peut contenir des membres qui sont des
+    utilisateurs et des membres qui sont eux-m&ecirc;mes des groupes (appel&eacute;s
+    sous-groupes ou groupes imbriqu&eacute;s). La directive
+    <code>AuthLDAPSubGroupAttribute</code> sp&eacute;cifie l'attribut utilis&eacute;
+    pour identifier les groupes, alors que la directive
+    <code>AuthLDAPGroupAttribute</code> sp&eacute;cifie l'attribut utilis&eacute;
+    pour identifier les utilisateurs. On peut sp&eacute;cifier plusieurs
+    attributs en r&eacute;p&eacute;tant la directive plusieurs fois. Si elle n'est pas
+    d&eacute;finie, <module>mod_authnz_ldap</module> utilise les attributs
+    <code>member</code> et <code>uniqueMember</code>.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPSubGroupClass</name>
+<description>Sp&eacute;cifie quelles valeurs d'objectClass LDAP identifient les
+objets de l'annuaire qui sont des groupes au cours du traitement des
+sous-groupes.</description>
+<syntax>AuthLDAPSubGroupClass <em>ObjectClass-LDAP</em></syntax>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+    <p>Un objet groupe LDAP peut contenir des membres qui sont des
+    utilisateurs et des membres qui sont eux-m&ecirc;mes des groupes (appel&eacute;s
+    sous-groupes ou groupes imbriqu&eacute;s). La directive
+    <code>AuthLDAPSubGroupAttribute</code> permet d'identifier les
+    membres qui sont des sous-groupes du groupe courant (&agrave; l'oppos&eacute; des
+    membres utilisateurs). La directive
+    <code>AuthLDAPSubGroupClass</code> permet de sp&eacute;cifier les valeurs
+    d'objectClass LDAP utilis&eacute;es pour v&eacute;rifier que certains membres sont
+    en fait des objets groupe. Les sous-groupes ainsi identifi&eacute;s peuvent
+    alors faire l'objet d'une recherche d'autres membres utilisateurs ou
+    sous-groupes. On peut sp&eacute;cifier plusieurs attributs en r&eacute;p&eacute;tant
+    cette directive plusieurs fois. Si cette directive n'est pas
+    d&eacute;finie, <module>mod_authnz_ldap</module> utilise les attributs
+    <code>groupOfNames</code> et <code>groupOfUniqueNames</code>.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AuthLDAPUrl</name>
+<description>L'URL permettant de sp&eacute;cifier les param&egrave;tres de la
+recherche LDAP</description>
+<syntax>AuthLDAPUrl <em>url [NONE|SSL|TLS|STARTTLS]</em></syntax>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig</override>
+
+<usage>
+    <p>Une URL conforme &agrave; la RFC 2255 qui permet de sp&eacute;cifier les
+    param&egrave;tres &agrave; utiliser pour la recherche dans l'annuaire LDAP. La
+    syntaxe de l'URL est :</p>
+<example>ldap://h&ocirc;te:port/DN-de-base?attribut?port&eacute;e?filtre</example>
+    <p>Si vous souhaitez mettre &agrave; la disposition d'Apache plusieurs URLs
+    LDAP, la syntaxe sera :</p>
+<example>AuthLDAPUrl "ldap://ldap1.exemple.com
+ldap2.exemple.com/dc=..."</example>
+<p><em><strong>Mise en garde : </strong>Si vous sp&eacute;cifiez plusieurs
+serveurs, vous devez en entourer la liste avec des guillemets ; dans le
+cas contraire, vous g&eacute;n&eacute;rerez une erreur : "AuthLDAPURL takes one
+argument, URL to define LDAP connection..".</em> Vous pouvez bien
+entendu ajouter des param&egrave;tres de recherche &agrave; chacun des serveurs
+sp&eacute;cifi&eacute;s.</p>
+
+<dl>
+<dt>ldap</dt>
+
+        <dd>Pour ldap non s&eacute;curis&eacute;, utilisez la cha&icirc;ne
+       <code>ldap</code>. Pour ldap s&eacute;curis&eacute;, utilisez &agrave; la place la
+       cha&icirc;ne <code>ldaps</code>. LDAP s&eacute;curis&eacute; n'est disponible que si
+       Apache a &eacute;t&eacute; li&eacute; avec une biblioth&egrave;que LDAP supportant SSL.</dd>
+
+<dt>h&ocirc;te:port</dt>
+
+        <dd>
+          <p>Il s'agit du nom/port du serveur ldap
+         (dont la valeur par d&eacute;faut est
+         <code>localhost:389</code> pour <code>ldap</code>, et
+         <code>localhost:636</code> pour <code>ldaps</code>). Pour
+         sp&eacute;cifier plusieurs serveurs LDAP redondants, indiquez
+         simplement leur liste en les s&eacute;parant par des espaces.
+         <module>mod_authnz_ldap</module> tentera alors de se connecter
+         &agrave; chacun des serveurs jusqu'&agrave; ce qu'il parvienne &agrave; se
+         connecter avec succ&egrave;s. Notez qu'en cas de multiples serveurs
+         LDAP, l'ensemble de l'URL LDAP doit &ecirc;tre entour&eacute;e de
+         guillemets.</p>
+
+          <p>lorsqu'une connection a &eacute;t&eacute; &eacute;tablie avec un serveur, elle
+         reste active pendant toute la dur&eacute;e de vie du processus
+         <program>httpd</program>, ou jusqu'&agrave; ce que le serveur LDAP
+         cesse de fonctionner.</p>
+
+          <p>Si le serveur LDAP cesse de fonctionner, et ainsi
+         interrompt une
+         connexion existante, <module>mod_authnz_ldap</module> tentera
+         de se reconnecter en commen&ccedil;ant par le premier serveur de la
+         liste, et ainsi de suite avec les serveurs redondants
+         suivants. Notez que ce processus n'a rien &agrave; voir avec une
+         v&eacute;ritable recherche de type round-robin.</p>
+        </dd>
+
+<dt>DN-de-base</dt>
+        <dd>Le DN de la branche de l'annuaire &agrave; partir de laquelle
+       toutes les recherches seront lanc&eacute;es. Il doit au moins
+       correspondre &agrave; la racine de votre annuaire, mais vous pouvez
+       aussi indiquer une branche plus sp&eacute;cifique.</dd>
+
+<dt>attribut</dt>
+
+        <dd>Il s'agit de l'attribut &agrave; utiliser pour la recherche.
+       Bien que la RFC
+       2255 autorise une liste d'attributs s&eacute;par&eacute;s par des virgules,
+       seul le premier sera retenu, sans tenir compte des autres
+       attributs fournis. Si aucun attribut n'est fourni, l'attribut
+       par d&eacute;faut est <code>uid</code>. Il est judicieux de choisir un
+       attribut dont la valeur sera unique parmi toutes les entr&eacute;es de
+       la branche de l'annuaire que vous aurez d&eacute;finie. Tous les
+       attributs sp&eacute;cifi&eacute;s seront enregistr&eacute;s dans des variables
+       d'environnement avec le pr&eacute;fixe AUTHENTICATE_, afin de pouvoir
+       &ecirc;tre utilis&eacute;s par d'autres modules.</dd>
+
+<dt>port&eacute;e</dt>
+
+        <dd>Il s'agit de la port&eacute;e de la recherche. Elle peut prendre
+       les valeurs <code>one</code> ou <code>sub</code>. Notez que la
+       RFC 2255 supporte aussi une port&eacute;e de valeur <code>base</code>,
+       mais cette derni&egrave;re n'est pas support&eacute;e par le module. Si la
+       port&eacute;e n'est pas d&eacute;finie, ou si elle est d&eacute;finie &agrave;
+       <code>base</code>, c'est la valeur de port&eacute;e par d&eacute;faut
+       <code>sub</code> qui sera utilis&eacute;e.</dd>
+
+<dt>filtre</dt>
+
+        <dd>Il s'agit d'un filtre de recherche LDAP valide. Si aucun
+       filtre n'est sp&eacute;cifi&eacute;, le filtre par d&eacute;faut
+       <code>(objectClass=*)</code> sera utilis&eacute;, ce qui corrspond &agrave;
+       une recherche de tous les types d'objets de l'arborescence. La
+       taille des filtres est limit&eacute;e &agrave; environ 8000 caract&egrave;res (valeur
+       de la macro <code>MAX_STRING_LEN</code> dans le code source
+       d'Apache), ce qui s'av&egrave;re plus que suffisant pour la plupart des
+       applications.</dd>
+</dl>
+
+    <p>Pour une recherche, les attribut, filtre et nom d'utilisateur
+    fournis par le client HTTP sont combin&eacute;s pour cr&eacute;er un filtre de
+    recherche du style :
+    <code>(&amp;(<em>filtre</em>)(<em>attribut</em>
+    =<em>nom-utilisateur</em>))</code>.</p>
+
+    <p>Par exemple, consid&eacute;rons l'URL
+    <code>ldap://ldap.airius.com/o=Airius?cn?sub?(posixid=*)</code>.
+    Lorsqu'un client tentera de se connecter en utilisant le nom
+    d'utilisateur <code>Babs Jenson</code>, le filtre de recherche sera
+    : <code>(&amp;(posixid=*)(cn=Babs Jenson))</code>.</p>
+
+    <p>On peut encore ajouter un param&egrave;tre optionnel pour permettre &agrave;
+    l'URL LDAP de surcharger le type de connexion. Ce param&egrave;tre peut
+    prendre l'une des valeurs suivantes :</p>
+
+<dl>
+    <dt>NONE</dt>
+        <dd>&Eacute;tablit une connexion non s&eacute;curis&eacute;e sur le port LDAP par
+       d&eacute;faut, ce qui est &eacute;quivalent &agrave; <code>ldap://</code> sur le port
+       389.</dd>
+    <dt>SSL</dt>
+        <dd>&Eacute;tablit une connexion s&eacute;curis&eacute;e sur le port LDAP s&eacute;curis&eacute;
+       par d&eacute;faut, ce qui est &eacute;quivalent &agrave; <code>ldaps://</code>.</dd>
+    <dt>TLS | STARTTLS</dt>
+        <dd>&Eacute;tablit une connexion s&eacute;curis&eacute;e par &eacute;l&eacute;vation de niveau sur
+       le port LDAP par d&eacute;faut. Cette connexion sera initialis&eacute;e sur le
+       port 389 par d&eacute;faut, puis &eacute;lev&eacute;e &agrave; un niveau de connexion
+       s&eacute;curis&eacute;e sur le m&ecirc;me port.</dd>
+</dl>
+
+    <p>Voir plus haut pour des exemples d'URLs d&eacute;finies par la directive
+    <directive module="mod_authnz_ldap">AuthLDAPURL</directive>.</p>
+</usage>
+</directivesynopsis>
+
+</modulesynopsis>
index 9134d98d86e295603517d531a64133f6c674c9f5..853666430ab71cb6d49f9943bb4a011f2d41b961 100644 (file)
@@ -8,5 +8,6 @@
 
   <variants>
     <variant>en</variant>
+    <variant>fr</variant>
   </variants>
 </metafile>
index 4e52a0258eac09efa5d0bffdaafcfd5b28fb73b1..124eff9b179947e0fc24af41d53483e4175c84bc 100644 (file)
@@ -4,6 +4,10 @@ URI: mod_setenvif.html.en
 Content-Language: en
 Content-type: text/html; charset=ISO-8859-1
 
+URI: mod_setenvif.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
 URI: mod_setenvif.html.ja.utf8
 Content-Language: ja
 Content-type: text/html; charset=UTF-8
index 3a4ec868dce8aaa3340558233b51366701a2ae0d..a263bc16e2355479fb52911f15e56dcc7d1cf49f 100644 (file)
@@ -22,6 +22,7 @@
 <div id="preamble"><h1>Apache Module mod_setenvif</h1>
 <div class="toplang">
 <p><span>Available Languages: </span><a href="../en/mod/mod_setenvif.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_setenvif.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
 <a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
 <a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
 <a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
@@ -296,6 +297,7 @@ without respect to case</td></tr>
 </div>
 <div class="bottomlang">
 <p><span>Available Languages: </span><a href="../en/mod/mod_setenvif.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_setenvif.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
 <a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
 <a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
 <a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
diff --git a/docs/manual/mod/mod_setenvif.html.fr b/docs/manual/mod/mod_setenvif.html.fr
new file mode 100644 (file)
index 0000000..bbf463b
--- /dev/null
@@ -0,0 +1,317 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+              This file is generated from xml source: DO NOT EDIT
+        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+      -->
+<title>mod_setenvif - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.3</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.3</a> &gt; <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_setenvif</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_setenvif.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet de définir des variables d'environnement en fonction
+de caractéristiques de la requête</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>setenvif_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_setenvif.c</td></tr></table>
+<h3>Sommaire</h3>
+
+
+    <p>Le module <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> vous permet de définir
+    des variables d'environnement en fonction du fait que telle ou telle
+    caractéristique de la requête correspond ou non aux expressions
+    rationnelles que vous spécifiez. Ces variables d'environnement
+    peuvent être utilisées par d'autres parties du serveur pour prendre
+    des décisions quant aux actions à entreprendre.</p>
+
+    <p>Les directives sont interprétées selon l'ordre dans lequel elles
+    apparaîssent dans les fichiers de configuration. Ainsi, des
+    séquences plus complexes peuvent être utilisées, comme dans cet
+    exemple qui définit netscape si le navigateur est Mozilla et non
+    MSIE.</p>
+
+<div class="example"><p><code>
+  BrowserMatch ^Mozilla netscape<br />
+  BrowserMatch MSIE !netscape<br />
+</code></p></div>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#browsermatch">BrowserMatch</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#browsermatchnocase">BrowserMatchNoCase</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setenvif">SetEnvIf</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setenvifnocase">SetEnvIfNoCase</a></li>
+</ul>
+<h3>Voir aussi</h3>
+<ul class="seealso">
+<li><a href="../env.html">Les variables d'environnement dans
+Apache</a></li>
+</ul></div>
+
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="BrowserMatch" id="BrowserMatch">BrowserMatch</a> <a name="browsermatch" id="browsermatch">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction du
+contenu de l'en-tête HTTP User-Agent</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrowserMatch <em>regex [!]env-variable</em>[=<em>valeur</em>]
+[[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr>
+</table>
+  <p>La directive <code class="directive">BrowserMatch</code> est un cas
+  particulier de la directive <code class="directive"><a href="#setenvif">SetEnvIf</a></code>, qui définit des variables
+  d'environnement en fonction du contenu de l'en-tête de requête HTTP
+  <code>User-Agent</code>. Les deux lignes suivantes produisent le même
+  effet :</p>
+<div class="example"><p><code>
+   BrowserMatchNoCase Robot est_un_robot<br />
+   SetEnvIfNoCase User-Agent Robot est_un_robot<br />
+</code></p></div>
+
+    <p>Quelques exemples supplémentaires :</p>
+<div class="example"><p><code>
+    BrowserMatch ^Mozilla forms jpeg=yes browser=netscape<br />
+    BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br />
+    BrowserMatch MSIE !javascript<br />
+</code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="BrowserMatchNoCase" id="BrowserMatchNoCase">BrowserMatchNoCase</a> <a name="browsermatchnocase" id="browsermatchnocase">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction du
+contenu de l'en-tête HTTP User-Agent sans tenir compte de la
+casse</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrowserMatchNoCase  <em>regex [!]env-variable</em>[=<em>valeur</em>]
+    [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 1.2 d'Apache et supérieures (dans Apache 1.2,
+cette directive se trouvait dans le module mod_browser devenu depuis
+obsolète)</td></tr>
+</table>
+
+    <p>La directive <code class="directive">BrowserMatchNoCase</code> est
+    identique sur le plan sémantique à la directive <code class="directive"><a href="#browsermatch">BrowserMatch</a></code>. Elle permet
+    cependant une comparaison insensible à la casse. Par exemple :</p>
+<div class="example"><p><code>
+    BrowserMatchNoCase mac platform=macintosh<br />
+    BrowserMatchNoCase win platform=windows<br />
+</code></p></div>
+
+    <p>Les directives <code class="directive">BrowserMatch</code> et
+    <code class="directive">BrowserMatchNoCase</code> sont des cas particuliers
+    des directives <code class="directive"><a href="#setenvif">SetEnvIf</a></code>
+    et <code class="directive"><a href="#setenvifnocase">SetEnvIfNoCase</a></code>.
+    Ainsi, les deux lignes suivantes produisent le même effet :</p>
+<div class="example"><p><code>
+   BrowserMatchNoCase Robot est_un_robot<br />
+   SetEnvIfNoCase User-Agent Robot est_un_robot<br />
+</code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="SetEnvIf" id="SetEnvIf">SetEnvIf</a> <a name="setenvif" id="setenvif">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction des
+attributs de la requête</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetEnvIf <em>attribut
+    regex [!]env-variable</em>[=<em>valeur</em>]
+    [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr>
+</table>
+    <p>La directive <code class="directive">SetEnvIf</code> permet de définir
+    des variables d'environnement en fonction des attributs de la
+    requête. L'<em>attribut</em> spécifié comme premier argument peut
+    se présenter sous l'une des quatre formes suivantes :</p>
+
+<ol>
+<li>Un champ d'en-tête de requête HTTP (voir la <a href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a> pour
+    plus d'information à leur propos) ; par exemple : <code>Host</code>,
+    <code>User-Agent</code>, <code>Referer</code>, ou
+    <code>Accept-Language</code>. Il est possible d'utiliser une
+    expression rationnelle pour spécifier un jeu d'en-têtes de
+    requête.</li>
+
+<li>Une des caractéristiques de la requête suivantes :
+    <ul>
+      <li><code>Remote_Host</code> - le nom d'hôte (s'il est disponible)
+      du client qui effectue la requête</li>
+
+      <li><code>Remote_Addr</code> - l'adresse IP du client qui effectue
+      la requête</li>
+
+      <li><code>Server_Addr</code> - l'adresse IP du serveur qui a reçu
+      la requête (uniquement à partir des versions supérieures à
+      2.0.43)</li>
+
+      <li><code>Request_Method</code> - Le nom de la méthode HTTP
+      utilisée (<code>GET</code>, <code>POST</code>, <em>et
+      cetera...</em>)</li>
+
+      <li><code>Request_Protocol</code> - le nom et la version du
+      protocole utilisé pour la requête (par exemple "HTTP/0.9",
+      "HTTP/1.1", <em>etc...</em>)</li>
+
+      <li><code>Request_URI</code> - la ressource demandée dans la ligne
+      de requête HTTP -- en général la partie de l'URL suivant le
+      protocole et le nom du serveur, sans la chaîne d'arguments. Voir
+      la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> du module
+      <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour plus d'informations sur la
+      manière de mettre en correspondance votre chaîne d'arguments.</li>
+    </ul>
+</li>
+
+<li>Le nom d'une variable d'environnement parmi la liste de celles qui
+sont associées à la requête. Ceci permet à la directive
+<code class="directive">SetEnvIf</code> d'effectuer des tests en fonction du
+résultat de comparaisons précédentes. Seules les variables
+d'environnement définies par des directives
+<code>SetEnvIf[NoCase]</code> précédentes sont disponibles pour
+effectuer des tests de cette manière. 'Précédentes' signifie qu'elles se
+trouvent à un niveau plus global de la configuration (par exemple au
+niveau du serveur principal), ou plus haut chronologiquement dans le
+contexte de la directive. Les variables d'environnement ne seront prises
+en compte que si aucune correspondance n'a été trouvée parmi les
+caractéristiques de la requête, et si <em>attribut</em> n'a pas été
+spécifié sous la forme d'une expression rationnelle.</li>
+
+<li>La référence à une extension d'un certificat client SSL, localisé
+par son identifiant objet <em>oid</em>. Dans le cas d'une requête non
+SSL, ou en l'absence d'<em>oid</em> configuré, aucune variable ne sera
+définie. Si l'<em>oid</em> est trouvé plusieurs fois, les chaînes
+individuelles seront concaténées, en les séparant par des virgules
+<code>','</code>. L'<em>oid</em> doit faire référence à une extension
+sous forme de chaîne.
+</li>
+</ol>
+
+<p>Le second argument (<em>regex</em>) est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>. Si  <em>regex</em>
+correspond à l'<em>attribut</em>, les arguments suivants sont évalués.</p>
+
+<p>Le reste des arguments constitue les noms des variables à définir,
+ainsi que les valeurs optionnelles qui doivent leur être affectées. Ils
+peuvent se présenter sous les formes suivantes :</p>
+
+    <ol>
+      <li><code><em>nom-variable</em></code>, or</li>
+
+      <li><code>!<em>nom-variable</em></code>, or</li>
+
+      <li><code><em>nom-variable</em>=<em>valeur</em></code></li>
+    </ol>
+
+    <p>Dans la première forme, la valeur sera définie à "1". Dans la
+    seconde forme, la variable sera supprimée si elle a été définie au
+    préalable, et dans la troisième forme, la variable sera définie à la
+    valeur littérale spécifiée par <code><em>valeur</em></code>. Depuis
+    la version 2.0.51, Apache reconnaît les occurrences de variables
+    <code>$1</code>..<code>$9</code> à l'intérieur de
+    <code><em>valeur</em></code>, et les remplace par les
+    sous-expressions entre parenthèses correspondantes de
+    <var>regex</var>.</p>
+
+<div class="example"><h3>Example:</h3><p><code>
+
+   SetEnvIf Request_URI "\.gif$" objet_est_une_image=gif<br />
+   SetEnvIf Request_URI "\.jpg$" objet_est_une_image=jpg<br />
+   SetEnvIf Request_URI "\.xbm$" objet_est_une_image=xbm<br />
+        :<br />
+   SetEnvIf Referer www\.mon-domaine\.exemple\.com référant_intra_site<br />
+        :<br />
+   SetEnvIf objet_est_une_image xbm XBIT_PROCESSING=1<br />
+        :<br />
+   SetEnvIf OID("2.16.840.1.113730.1.13") "(.*)" commentaire-netscape=$1<br />
+        :<br />
+   SetEnvIf ^TS*  ^[a-z].*  HAVE_TS<br />
+</code></p></div>
+
+    <p>Les trois premières lignes définissent la variable
+    d'environnement <code>objet_est_une_image</code> si l'objet de la
+    requête est un fichier image, et la quatrième définit la variable
+    <code>référant_intra_site</code> si la page référante se trouve
+    quelque part dans le site web
+    <code>www.mon-domaine.exemple.com</code>.</p>
+
+    <p>La sixième ligne définit la variable d'environnement
+    <code>commentaire-netscape</code> avec la chaîne trouvée dans le
+    champ du certificat client SSL correspondant.</p>
+
+    <p>La dernière ligne définit la variable d'environnement
+    <code>HAVE_TS</code> si la requête contient un en-tête dont le nom
+    commence par "TS" et dont la valeur commence par tout caractère du
+    jeu [a-z].</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../env.html">Les variables d'environnement dans
+Apache</a> pour des exemples supplémentaires.
+</li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="SetEnvIfNoCase" id="SetEnvIfNoCase">SetEnvIfNoCase</a> <a name="setenvifnocase" id="setenvifnocase">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction des
+attributs de la requête sans tenir compte de la casse</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetEnvIfNoCase <em>attribut regex
+        [!]env-variable</em>[=<em>valeur</em>]
+    [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 1.3 d'Apache et supérieures</td></tr>
+</table>
+
+    <p>La directive <code class="directive">SetEnvIfNoCase</code> est identique
+    d'un point de vue sémantique à la directive <code class="directive"><a href="#setenvif">SetEnvIf</a></code>, et ne s'en distingue que
+    par le fait que la comparaison des expressions rationnelles est
+    effectuée sans tenir compte de la casse. Par exemple :</p>
+<div class="example"><p><code>
+   SetEnvIfNoCase Host Apache\.Org site=apache
+</code></p></div>
+
+    <p>Cette ligne va définir la variable d'environnement
+    <code>site</code> avec la valeur "<code>apache</code>" si le champ
+    d'en-tête de requête HTTP <code>Host:</code> est présent et contient
+    <code>Apache.Org</code>, <code>apache.org</code>, ou une autre
+    combinaison des mêmes caractères, sans tenir compte de la casse.</p>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_setenvif.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
+<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html>
\ No newline at end of file
diff --git a/docs/manual/mod/mod_setenvif.xml.fr b/docs/manual/mod/mod_setenvif.xml.fr
new file mode 100644 (file)
index 0000000..ef3d48c
--- /dev/null
@@ -0,0 +1,303 @@
+<?xml version="1.0"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 658546 -->
+<!-- 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_setenvif.xml.meta">
+
+<name>mod_setenvif</name>
+<description>Permet de d&eacute;finir des variables d'environnement en fonction
+de caract&eacute;ristiques de la requ&ecirc;te</description>
+<status>Base</status>
+<sourcefile>mod_setenvif.c</sourcefile>
+<identifier>setenvif_module</identifier>
+
+<summary>
+
+    <p>Le module <module>mod_setenvif</module> vous permet de d&eacute;finir
+    des variables d'environnement en fonction du fait que telle ou telle
+    caract&eacute;ristique de la requ&ecirc;te correspond ou non aux expressions
+    rationnelles que vous sp&eacute;cifiez. Ces variables d'environnement
+    peuvent &ecirc;tre utilis&eacute;es par d'autres parties du serveur pour prendre
+    des d&eacute;cisions quant aux actions &agrave; entreprendre.</p>
+
+    <p>Les directives sont interpr&eacute;t&eacute;es selon l'ordre dans lequel elles
+    appara&icirc;ssent dans les fichiers de configuration. Ainsi, des
+    s&eacute;quences plus complexes peuvent &ecirc;tre utilis&eacute;es, comme dans cet
+    exemple qui d&eacute;finit netscape si le navigateur est Mozilla et non
+    MSIE.</p>
+
+<example>
+  BrowserMatch ^Mozilla netscape<br />
+  BrowserMatch MSIE !netscape<br />
+</example>
+</summary>
+
+<seealso><a href="../env.html">Les variables d'environnement dans
+Apache</a></seealso>
+
+<directivesynopsis>
+<name>BrowserMatch</name>
+<description>D&eacute;finit des variables d'environnement en fonction du
+contenu de l'en-t&ecirc;te HTTP User-Agent</description>
+<syntax>BrowserMatch <em>regex [!]env-variable</em>[=<em>valeur</em>]
+[[!]<em>env-variable</em>[=<em>valeur</em>]] ...</syntax>
+<contextlist><context>server config</context>
+<context>virtual host</context><context>directory</context>
+<context>.htaccess</context></contextlist>
+<override>FileInfo</override>
+
+<usage>
+  <p>La directive <directive>BrowserMatch</directive> est un cas
+  particulier de la directive <directive
+  module="mod_setenvif">SetEnvIf</directive>, qui d&eacute;finit des variables
+  d'environnement en fonction du contenu de l'en-t&ecirc;te de requ&ecirc;te HTTP
+  <code>User-Agent</code>. Les deux lignes suivantes produisent le m&ecirc;me
+  effet :</p>
+<example>
+   BrowserMatchNoCase Robot est_un_robot<br />
+   SetEnvIfNoCase User-Agent Robot est_un_robot<br />
+</example>
+
+    <p>Quelques exemples suppl&eacute;mentaires :</p>
+<example>
+    BrowserMatch ^Mozilla forms jpeg=yes browser=netscape<br />
+    BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br />
+    BrowserMatch MSIE !javascript<br />
+</example>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>BrowserMatchNoCase</name>
+<description>D&eacute;finit des variables d'environnement en fonction du
+contenu de l'en-t&ecirc;te HTTP User-Agent sans tenir compte de la
+casse</description>
+<syntax>BrowserMatchNoCase  <em>regex [!]env-variable</em>[=<em>valeur</em>]
+    [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</syntax>
+<contextlist><context>server config</context>
+<context>virtual host</context><context>directory</context>
+<context>.htaccess</context></contextlist>
+<override>FileInfo</override>
+<compatibility>Versions 1.2 d'Apache et sup&eacute;rieures (dans Apache 1.2,
+cette directive se trouvait dans le module mod_browser devenu depuis
+obsol&egrave;te)</compatibility>
+
+<usage>
+
+    <p>La directive <directive>BrowserMatchNoCase</directive> est
+    identique sur le plan s&eacute;mantique &agrave; la directive <directive
+    module="mod_setenvif">BrowserMatch</directive>. Elle permet
+    cependant une comparaison insensible &agrave; la casse. Par exemple :</p>
+<example>
+    BrowserMatchNoCase mac platform=macintosh<br />
+    BrowserMatchNoCase win platform=windows<br />
+</example>
+
+    <p>Les directives <directive>BrowserMatch</directive> et
+    <directive>BrowserMatchNoCase</directive> sont des cas particuliers
+    des directives <directive module="mod_setenvif">SetEnvIf</directive>
+    et <directive module="mod_setenvif">SetEnvIfNoCase</directive>.
+    Ainsi, les deux lignes suivantes produisent le m&ecirc;me effet :</p>
+<example>
+   BrowserMatchNoCase Robot est_un_robot<br />
+   SetEnvIfNoCase User-Agent Robot est_un_robot<br />
+</example>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>SetEnvIf</name>
+<description>D&eacute;finit des variables d'environnement en fonction des
+attributs de la requ&ecirc;te</description>
+<syntax>SetEnvIf <em>attribut
+    regex [!]env-variable</em>[=<em>valeur</em>]
+    [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</syntax>
+<contextlist><context>server config</context>
+<context>virtual host</context><context>directory</context>
+<context>.htaccess</context></contextlist>
+<override>FileInfo</override>
+
+<usage>
+    <p>La directive <directive>SetEnvIf</directive> permet de d&eacute;finir
+    des variables d'environnement en fonction des attributs de la
+    requ&ecirc;te. L'<em>attribut</em> sp&eacute;cifi&eacute; comme premier argument peut
+    se pr&eacute;senter sous l'une des quatre formes suivantes :</p>
+
+<ol>
+<li>Un champ d'en-t&ecirc;te de requ&ecirc;te HTTP (voir la <a
+    href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a> pour
+    plus d'information &agrave; leur propos) ; par exemple : <code>Host</code>,
+    <code>User-Agent</code>, <code>Referer</code>, ou
+    <code>Accept-Language</code>. Il est possible d'utiliser une
+    expression rationnelle pour sp&eacute;cifier un jeu d'en-t&ecirc;tes de
+    requ&ecirc;te.</li>
+
+<li>Une des caract&eacute;ristiques de la requ&ecirc;te suivantes :
+    <ul>
+      <li><code>Remote_Host</code> - le nom d'h&ocirc;te (s'il est disponible)
+      du client qui effectue la requ&ecirc;te</li>
+
+      <li><code>Remote_Addr</code> - l'adresse IP du client qui effectue
+      la requ&ecirc;te</li>
+
+      <li><code>Server_Addr</code> - l'adresse IP du serveur qui a re&ccedil;u
+      la requ&ecirc;te (uniquement &agrave; partir des versions sup&eacute;rieures &agrave;
+      2.0.43)</li>
+
+      <li><code>Request_Method</code> - Le nom de la m&eacute;thode HTTP
+      utilis&eacute;e (<code>GET</code>, <code>POST</code>, <em>et
+      cetera...</em>)</li>
+
+      <li><code>Request_Protocol</code> - le nom et la version du
+      protocole utilis&eacute; pour la requ&ecirc;te (par exemple "HTTP/0.9",
+      "HTTP/1.1", <em>etc...</em>)</li>
+
+      <li><code>Request_URI</code> - la ressource demand&eacute;e dans la ligne
+      de requ&ecirc;te HTTP -- en g&eacute;n&eacute;ral la partie de l'URL suivant le
+      protocole et le nom du serveur, sans la cha&icirc;ne d'arguments. Voir
+      la directive <directive
+      module="mod_rewrite">RewriteCond</directive> du module
+      <module>mod_rewrite</module> pour plus d'informations sur la
+      mani&egrave;re de mettre en correspondance votre cha&icirc;ne d'arguments.</li>
+    </ul>
+</li>
+
+<li>Le nom d'une variable d'environnement parmi la liste de celles qui
+sont associ&eacute;es &agrave; la requ&ecirc;te. Ceci permet &agrave; la directive
+<directive>SetEnvIf</directive> d'effectuer des tests en fonction du
+r&eacute;sultat de comparaisons pr&eacute;c&eacute;dentes. Seules les variables
+d'environnement d&eacute;finies par des directives
+<code>SetEnvIf[NoCase]</code> pr&eacute;c&eacute;dentes sont disponibles pour
+effectuer des tests de cette mani&egrave;re. 'Pr&eacute;c&eacute;dentes' signifie qu'elles se
+trouvent &agrave; un niveau plus global de la configuration (par exemple au
+niveau du serveur principal), ou plus haut chronologiquement dans le
+contexte de la directive. Les variables d'environnement ne seront prises
+en compte que si aucune correspondance n'a &eacute;t&eacute; trouv&eacute;e parmi les
+caract&eacute;ristiques de la requ&ecirc;te, et si <em>attribut</em> n'a pas &eacute;t&eacute;
+sp&eacute;cifi&eacute; sous la forme d'une expression rationnelle.</li>
+
+<li>La r&eacute;f&eacute;rence &agrave; une extension d'un certificat client SSL, localis&eacute;
+par son identifiant objet <em>oid</em>. Dans le cas d'une requ&ecirc;te non
+SSL, ou en l'absence d'<em>oid</em> configur&eacute;, aucune variable ne sera
+d&eacute;finie. Si l'<em>oid</em> est trouv&eacute; plusieurs fois, les cha&icirc;nes
+individuelles seront concat&eacute;n&eacute;es, en les s&eacute;parant par des virgules
+<code>','</code>. L'<em>oid</em> doit faire r&eacute;f&eacute;rence &agrave; une extension
+sous forme de cha&icirc;ne.
+</li>
+</ol>
+
+<p>Le second argument (<em>regex</em>) est une <glossary
+ref="regex">expression rationnelle</glossary>. Si  <em>regex</em>
+correspond &agrave; l'<em>attribut</em>, les arguments suivants sont &eacute;valu&eacute;s.</p>
+
+<p>Le reste des arguments constitue les noms des variables &agrave; d&eacute;finir,
+ainsi que les valeurs optionnelles qui doivent leur &ecirc;tre affect&eacute;es. Ils
+peuvent se pr&eacute;senter sous les formes suivantes :</p>
+
+    <ol>
+      <li><code><em>nom-variable</em></code>, or</li>
+
+      <li><code>!<em>nom-variable</em></code>, or</li>
+
+      <li><code><em>nom-variable</em>=<em>valeur</em></code></li>
+    </ol>
+
+    <p>Dans la premi&egrave;re forme, la valeur sera d&eacute;finie &agrave; "1". Dans la
+    seconde forme, la variable sera supprim&eacute;e si elle a &eacute;t&eacute; d&eacute;finie au
+    pr&eacute;alable, et dans la troisi&egrave;me forme, la variable sera d&eacute;finie &agrave; la
+    valeur litt&eacute;rale sp&eacute;cifi&eacute;e par <code><em>valeur</em></code>. Depuis
+    la version 2.0.51, Apache reconna&icirc;t les occurrences de variables
+    <code>$1</code>..<code>$9</code> &agrave; l'int&eacute;rieur de
+    <code><em>valeur</em></code>, et les remplace par les
+    sous-expressions entre parenth&egrave;ses correspondantes de
+    <var>regex</var>.</p>
+
+<example>
+<title>Example:</title>
+   SetEnvIf Request_URI "\.gif$" objet_est_une_image=gif<br />
+   SetEnvIf Request_URI "\.jpg$" objet_est_une_image=jpg<br />
+   SetEnvIf Request_URI "\.xbm$" objet_est_une_image=xbm<br />
+        :<br />
+   SetEnvIf Referer www\.mon-domaine\.exemple\.com r&eacute;f&eacute;rant_intra_site<br />
+        :<br />
+   SetEnvIf objet_est_une_image xbm XBIT_PROCESSING=1<br />
+        :<br />
+   SetEnvIf OID("2.16.840.1.113730.1.13") "(.*)" commentaire-netscape=$1<br />
+        :<br />
+   SetEnvIf ^TS*  ^[a-z].*  HAVE_TS<br />
+</example>
+
+    <p>Les trois premi&egrave;res lignes d&eacute;finissent la variable
+    d'environnement <code>objet_est_une_image</code> si l'objet de la
+    requ&ecirc;te est un fichier image, et la quatri&egrave;me d&eacute;finit la variable
+    <code>r&eacute;f&eacute;rant_intra_site</code> si la page r&eacute;f&eacute;rante se trouve
+    quelque part dans le site web
+    <code>www.mon-domaine.exemple.com</code>.</p>
+
+    <p>La sixi&egrave;me ligne d&eacute;finit la variable d'environnement
+    <code>commentaire-netscape</code> avec la cha&icirc;ne trouv&eacute;e dans le
+    champ du certificat client SSL correspondant.</p>
+
+    <p>La derni&egrave;re ligne d&eacute;finit la variable d'environnement
+    <code>HAVE_TS</code> si la requ&ecirc;te contient un en-t&ecirc;te dont le nom
+    commence par "TS" et dont la valeur commence par tout caract&egrave;re du
+    jeu [a-z].</p>
+</usage>
+
+<seealso><a href="../env.html">Les variables d'environnement dans
+Apache</a> pour des exemples suppl&eacute;mentaires.
+</seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>SetEnvIfNoCase</name>
+<description>D&eacute;finit des variables d'environnement en fonction des
+attributs de la requ&ecirc;te sans tenir compte de la casse</description>
+<syntax>SetEnvIfNoCase <em>attribut regex
+        [!]env-variable</em>[=<em>valeur</em>]
+    [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</syntax>
+<contextlist><context>server config</context>
+<context>virtual host</context><context>directory</context>
+<context>.htaccess</context></contextlist>
+<override>FileInfo</override>
+<compatibility>Versions 1.3 d'Apache et sup&eacute;rieures</compatibility>
+
+<usage>
+
+    <p>La directive <directive>SetEnvIfNoCase</directive> est identique
+    d'un point de vue s&eacute;mantique &agrave; la directive <directive
+    module="mod_setenvif">SetEnvIf</directive>, et ne s'en distingue que
+    par le fait que la comparaison des expressions rationnelles est
+    effectu&eacute;e sans tenir compte de la casse. Par exemple :</p>
+<example>
+   SetEnvIfNoCase Host Apache\.Org site=apache
+</example>
+
+    <p>Cette ligne va d&eacute;finir la variable d'environnement
+    <code>site</code> avec la valeur "<code>apache</code>" si le champ
+    d'en-t&ecirc;te de requ&ecirc;te HTTP <code>Host:</code> est pr&eacute;sent et contient
+    <code>Apache.Org</code>, <code>apache.org</code>, ou une autre
+    combinaison des m&ecirc;mes caract&egrave;res, sans tenir compte de la casse.</p>
+</usage>
+</directivesynopsis>
+</modulesynopsis>
index 3da6990baddb5d1416e521c6a098eeabae2989c8..7486caae1982848684f62e7c37cb07f956d047a3 100644 (file)
@@ -8,6 +8,7 @@
 
   <variants>
     <variant>en</variant>
+    <variant>fr</variant>
     <variant>ja</variant>
     <variant outdated="yes">ko</variant>
     <variant>tr</variant>