<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
<!-- English Revision: 1885833 -->
<!-- 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_ldap.xml.meta">

<name>mod_ldap</name>
<description>Conservation des connexions LDAP et services de mise en
cache du résultat à destination des autres modules LDAP</description>
<status>Extension</status>
<sourcefile>util_ldap.c</sourcefile>
<identifier>ldap_module</identifier>

<summary>
    <p>Ce module a été conçu dans le but d'améliorer les performances
    des sites web s'appuyant sur des connexions en arrière-plan vers des
    serveurs LDAP. Il ajoute aux fonctions fournies par les
    bibliothèques standards LDAP la conservation des connexions LDAP
    ainsi qu'un cache LDAP partagé en mémoire.</p>

    <p>Pour activer ce module, le support LDAP doit être compilé dans
    apr-util. Pour ce faire, on ajoute l'option <code>--with-ldap</code>
    au script <program>configure</program> lorsqu'on construit
    Apache.</p>

    <p>Le support SSL/TLS est conditionné par le kit de développement
    LDAP qui a été lié à <glossary>APR</glossary>. Au moment où ces
    lignes sont écrites, APR-util supporte <a
    href="http://www.openldap.org/">OpenLDAP SDK</a> (version 2.x ou
    supérieure), <a
    href="http://developer.novell.com/ndk/cldap.htm">Novell LDAP
    SDK</a>, <a href="https://wiki.mozilla.org/LDAP_C_SDK">
    Mozilla LDAP SDK</a>, le SDK LDAP Solaris natif (basé sur Mozilla)
    ou le SDK LDAP Microsoft natif. Voir le site web <a
    href="http://apr.apache.org">APR</a> pour plus de détails.</p>

</summary>

<section id="exampleconfig"><title>Exemple de configuration</title>
    <p>Ce qui suit est un exemple de configuration qui utilise
    <module>mod_ldap</module> pour améliorer les performances de
    l'authentification HTTP de base fournie par
    <module>mod_authnz_ldap</module>.</p>

    <highlight language="config">
# Active la conservation des connexions LDAP et le cache partagé en
# mémoire. Active le gestionnaire de statut du cache LDAP.
# Nécessite le chargement de mod_ldap et de mod_authnz_ldap.
# Remplacez "votre-domaine.example.com" par le nom de votre
# domaine.

LDAPSharedCacheSize 500000
LDAPCacheEntries 1024
LDAPCacheTTL 600
LDAPOpCacheEntries 1024
LDAPOpCacheTTL 600

&lt;Location "/ldap-status"&gt;
    SetHandler ldap-status
    
    Require host yourdomain.example.com
    
    Satisfy any
    AuthType Basic
    AuthName "LDAP Protected"
    AuthBasicProvider ldap
    AuthLDAPURL ldap://127.0.0.1/dc=example,dc=com?uid?one
    Require valid-user
&lt;/Location&gt;
    </highlight>
</section>

<section id="pool"><title>Conservation des connexions LDAP</title>

    <p>Les connexions LDAP sont conservées de requête en requête. Ceci
    permet de rester connecté et identifié au serveur LDAP, ce dernier
    étant ainsi prêt pour la prochaine requête, sans avoir à se
    déconnecter, reconnecter et réidentifier. Le gain en performances
    est similaire à celui des connexions persistantes (keepalives)
    HTTP.</p>

    <p>Sur un serveur très sollicité, il est possible que de nombreuses
    requêtes tentent d'accéder simultanément à la même connexion au
    serveur LDAP. Lorsqu'une connexion LDAP est utilisée, Apache en crée
    une deuxième en parallèle à la première, ce qui permet d'éviter que
    le système de conservation des connexions ne devienne un goulot
    d'étranglement.</p>

    <p>Il n'est pas nécessaire d'activer explicitement la conservation
    des connexions dans la configuration d'Apache. Tout module utilisant
    le module ldap pour accéder aux services LDAP partagera le jeu de
    connexions.</p>

    <p>Les connexions LDAP peuvent garder la trace des données
    d'identification du client ldap utilisées pour l'identification
    auprès du serveur LDAP. Ces données peuvent être fournies aux
    serveurs LDAP qui ne permettent pas les connexions anonymes au cours
    lors des tentatives de sauts vers des serveurs alternatifs. Pour
    contrôler cette fonctionnalité, voir les directives <directive
    module="mod_ldap">LDAPReferrals</directive> et <directive
    module="mod_ldap">LDAPReferralHopLimit</directive>. Cette
    fonctionnalité est activée par défaut.</p>
</section>

<section id="cache"><title>Cache LDAP</title>

    <p>Pour améliorer les performances, <module>mod_ldap</module> met en oeuvre
    une stratégie de mise en cache agressive visant à minimiser le nombre de
    fois que le serveur LDAP doit être contacté. La mise en cache peut
    facilement doubler et même tripler le débit d'Apache lorsqu'il sert des
    pages protégées par <module>mod_authnz_ldap</module>. De plus, le serveur
    LDAP verra lui-même sa charge sensiblement diminuée.</p>

    <p><module>mod_ldap</module> supporte deux types de mise en cache
    LDAP : un <em>cache recherche/identification</em> durant la phase
    de recherche/identification et deux <em>caches d'opérations</em>
    durant la phase de comparaison. Chaque URL LDAP utilisée par le
    serveur a son propre jeu d'instances dans ces trois caches.</p>

    <section id="search-bind"><title>Le cache
    recherche/identification</title>
      <p>Les processus de recherche et d'identification sont les
      opérations LDAP les plus consommatrices en temps, en particulier
      si l'annuaire est de grande taille. Le cache de
      recherche/identification met en cache toutes les recherches qui
      ont abouti à une identification positive. Les résultats négatifs
      (c'est à dire les recherches sans succès, ou les recherches qui
      n'ont pas abouti à une identification positive) ne sont pas mis en
      cache. La raison de cette décision réside dans le fait que les
      connexions avec des données d'identification invalides ne
      représentent qu'un faible pourcentage du nombre total de
      connexions, et ainsi, le fait de ne pas mettre en cache les
      données d'identification invalides réduira d'autant la taille du
      cache.</p>

      <p><module>mod_ldap</module> met en cache le nom d'utilisateur, le
      DN extrait, le mot de passe utilisé pour l'identification, ainsi
      que l'heure de l'identification. Chaque fois qu'une nouvelle
      connexion est initialisée avec le même nom d'utilisateur,
      <module>mod_ldap</module> compare le mot de passe de la nouvelle
      connexion avec le mot de passe enregistré dans le cache. Si les
      mots de passe correspondent, et si l'entrée du cache n'est pas
      trop ancienne, <module>mod_ldap</module> court-circuite la phase
      de recherche/identification.</p>

      <p>Le cache de recherche/identification est contrôlé par les
      directives <directive
      module="mod_ldap">LDAPCacheEntries</directive> et <directive
      module="mod_ldap">LDAPCacheTTL</directive>.</p>
    </section>

    <section id="opcaches"><title>Les caches d'opérations</title>
      <p>Au cours des opérations de comparaison d'attributs et de noms
      distinctifs (DN), <module>mod_ldap</module> utilise deux caches
      d'opérations pour mettre en cache les opérations de comparaison.
      Le premier cache de comparaison sert à mettre en cache les
      résultats de comparaisons effectuées pour vérifier l'appartenance
      à un groupe LDAP. Le second cache de comparaison sert à mettre en
      cache les résultats de comparaisons entre DNs.</p>

      <p>Notez que, lorsque l'appartenance à un groupe est vérifiée,
      toute comparaison de sous-groupes est mise en cache afin
      d'accélérer les comparaisons de sous-groupes ultérieures.</p>

      <p>Le comportement de ces deux caches est contrôlé par les
      directives <directive
      module="mod_ldap">LDAPOpCacheEntries</directive> et <directive
      module="mod_ldap">LDAPOpCacheTTL</directive>.</p>
    </section>

    <section id="monitoring"><title>Superviser le cache</title>
      <p><module>mod_ldap</module> possède un gestionnaire de contenu
      qui permet aux administrateurs de superviser les performances du
      cache. Le nom du gestionnaire de contenu est
      <code>ldap-status</code>, et on peut utiliser les directives
      suivantes pour accéder aux informations du cache de
      <module>mod_ldap</module> :</p>

      <highlight language="config">
&lt;Location "/server/cache-info"&gt;
    SetHandler ldap-status
&lt;/Location&gt;
      </highlight>

      <p>En se connectant à l'URL
      <code>http://nom-serveur/infos-cache</code>, l'administrateur peut
      obtenir un rapport sur le statut de chaque cache qu'utilise
      <module>mod_ldap</module>. Notez que si Apache ne supporte pas la
      mémoire partagée, chaque instance de <program>httpd</program>
      possèdera son propre cache, et chaque fois que l'URL sera
      rechargée, un résultat différent pourra être affiché, en fonction
      de l'instance de <program>httpd</program> qui traitera la
      requête.</p>
    </section>
</section>

<section id="usingssltls"><title>Utiliser SSL/TLS</title>

    <p>La possibilité de créer des connexions SSL et TLS avec un serveur
    LDAP est définie par les directives <directive module="mod_ldap">
    LDAPTrustedGlobalCert</directive>, <directive module="mod_ldap">
    LDAPTrustedClientCert</directive> et <directive module="mod_ldap">
    LDAPTrustedMode</directive>. Ces directives permettent de spécifier
    l'autorité de certification (CA), les certificats clients éventuels,
    ainsi que le type de chiffrement à utiliser pour la connexion (none,
    SSL ou TLS/STARTTLS).</p>

    <highlight language="config">
# Etablissement d'une connexion SSL LDAP sur le port 636.
# Nécessite le chargement de mod_ldap et mod_authnz_ldap.
# Remplacez "votre-domaine.example.com" par le nom de votre
# domaine.

LDAPTrustedGlobalCert CA_DER /certs/certfile.der

&lt;Location "/ldap-status"&gt;
    SetHandler ldap-status
    
    Require host yourdomain.example.com
    
    Satisfy any
    AuthType Basic
    AuthName "LDAP Protected"
    AuthBasicProvider ldap
    AuthLDAPURL ldaps://127.0.0.1/dc=example,dc=com?uid?one
    Require valid-user
&lt;/Location&gt;
    </highlight>

    <highlight language="config">
# Etablissement d'une connexion TLS LDAP sur le port 389.
# Nécessite le chargement de mod_ldap et mod_authnz_ldap.
# Remplacez "votre-domaine.example.com" par le nom de votre
# domaine.

LDAPTrustedGlobalCert CA_DER /certs/certfile.der

&lt;Location "/ldap-status"&gt;
    SetHandler ldap-status
    
    Require host yourdomain.example.com
    
    Satisfy any
    AuthType Basic
    AuthName "LDAP Protected"
    AuthBasicProvider ldap
    AuthLDAPURL ldap://127.0.0.1/dc=example,dc=com?uid?one TLS
    Require valid-user
&lt;/Location&gt;
    </highlight>

</section>

<section id="settingcerts"><title>Certificats SSL/TLS</title>

    <p>Les différents SDKs LDAP disposent de nombreuses méthodes pour
    définir et gérer les certificats des clients et des autorités de
    certification (CA).</p>

    <p>Si vous avez l'intention d'utiliser SSL ou TLS, lisez cette
    section ATTENTIVEMENT de façon à bien comprendre les différences de
    configurations entre les différents SDKs LDAP supportés.</p>

    <section id="settingcerts-netscape"><title>SDK Netscape/Mozilla/iPlanet</title>
        <p>Les certificat de CA sont enregistrés dans un fichier nommé
	cert7.db. Le SDK ne dialoguera avec aucun serveur LDAP dont le
	certificat n'a pas été signé par une CA spécifiée dans ce
	fichier. Si des certificats clients sont requis, un fichier
	key3.db ainsi qu'un mot de passe optionnels peuvent être
	spécifiés. On peut aussi spécifier le fichier secmod si
	nécessaire. Ces fichiers sont du même format que celui utilisé
	par les navigateurs web Netscape Communicator ou Mozilla. Le
	moyen le plus simple pour obtenir ces fichiers consiste à les
	extraire de l'installation de votre navigateur.</p>

	<p>Les certificats clients sont spécifiés pour chaque connexion en
	utilisant la directive <directive
	module="mod_ldap">LDAPTrustedClientCert</directive> et en se référant au
	certificat "nickname". On peut éventuellement spécifier un mot de passe
	pour déverrouiller la clé privée du certificat.</p>

        <p>Le SDK supporte seulement SSL. Toute tentative d'utilisation
	de STARTTLS engendrera une erreur lors des tentatives de
	contacter le serveur LDAP pendant l'exécution.</p>

        <highlight language="config">
# Spécifie un fichier de certificats de CA Netscape
LDAPTrustedGlobalCert CA_CERT7_DB /certs/cert7.db
# Spécifie un fichier key3db optionnel pour le support des
# certificats clients
LDAPTrustedGlobalCert CERT_KEY3_DB /certs/key3.db
# Spécifie le fichier secmod si nécessaire
LDAPTrustedGlobalCert CA_SECMOD /certs/secmod
&lt;Location "/ldap-status"&gt;
    SetHandler ldap-status

    Require host yourdomain.example.com

    Satisfy any
    AuthType Basic
    AuthName "LDAP Protected"
    AuthBasicProvider ldap
    LDAPTrustedClientCert CERT_NICKNAME &lt;nickname&gt; [password]
    AuthLDAPURL ldaps://127.0.0.1/dc=example,dc=com?uid?one
    Require valid-user
&lt;/Location&gt;
        </highlight>

    </section>

    <section id="settingcerts-novell"><title>SDK Novell</title>

        <p>Un ou plusieurs certificats de CA doivent être spécifiés pour
	que le SDK Novell fonctionne correctement. Ces certificats
	peuvent être spécifiés sous forme de fichiers au format binaire
	DER ou codés en Base64 (PEM).</p>

	<p>Note: Les certificats clients sont spécifiés globalement plutôt qu'à
	chaque connexion, et doivent être spécifiés à l'aide de la directive
	<directive module="mod_ldap">LDAPTrustedGlobalCert</directive> comme
	ci-dessous. Définir des certificats clients via la directive <directive
	module="mod_ldap">LDAPTrustedClientCert</directive> engendrera une
	erreur qui sera journalisée, au moment de la tentative de connexion avec
	le serveur LDAP.</p>

	<p>Le SDK supporte SSL et STARTTLS, le choix étant défini par le
	paramètre de la directive <directive
	module="mod_ldap">LDAPTrustedMode</directive>. Si une URL de type
	ldaps:// est spécifiée, le mode SSL est forcé, et l'emporte sur cette
	directive.</p>

        <highlight language="config">
# Spécifie deux fichiers contenant des certificats de CA
LDAPTrustedGlobalCert CA_DER /certs/cacert1.der
LDAPTrustedGlobalCert CA_BASE64 /certs/cacert2.pem
# Spécifie un fichier contenant des certificats clients
# ainsi qu'une clé
LDAPTrustedGlobalCert CERT_BASE64 /certs/cert1.pem
LDAPTrustedGlobalCert KEY_BASE64 /certs/key1.pem [password]
# N'utilisez pas cette directive, sous peine de provoquer
# une erreur
#LDAPTrustedClientCert CERT_BASE64 /certs/cert1.pem
        </highlight>

    </section>

    <section id="settingcerts-openldap"><title>SDK OpenLDAP</title>

        <p>Un ou plusieurs certificats de CA doivent être spécifiés pour
	que le SDK OpenLDAP fonctionne correctement. Ces certificats
	peuvent être spécifiés sous forme de fichiers au format binaire
	DER ou codés en Base64 (PEM).</p>

        <p>Les certificats clients et CA peuvent être spécifiés globalement
	(<directive module="mod_ldap">LDAPTrustedGlobalCert</directive>) ou pour
	chaque connexion (<directive
	module="mod_ldap">LDAPTrustedClientCert</directive>). Les définitions au
	niveau d'une connexion l'emportent sur les définitions globales.</p>

        <p>La documentation du SDK prétend que SSL et STARTTLS sont
	supportés ; cependant, STARTTLS semble ne pas fonctionner avec
	toutes les versions du SDK. Le mode SSL/TLS peut être défini en
	utilisant le paramètre de la directive LDAPTrustedMode. Si une
	URL de type
	ldaps:// est spécifiée, le mode SSL est forcé. La documentation
	OpenLDAP indique que le support SSL (ldaps://) tend à être
	remplacé par TLS, bien que le mode SSL fonctionne toujours.</p>

        <highlight language="config">
# Spécifie deux fichiers contenant des certificats de CA
LDAPTrustedGlobalCert CA_DER /certs/cacert1.der
LDAPTrustedGlobalCert CA_BASE64 /certs/cacert2.pem
&lt;Location "/ldap-status"&gt;
    SetHandler ldap-status
    
    Require host yourdomain.example.com
    
    LDAPTrustedClientCert CERT_BASE64 /certs/cert1.pem
    LDAPTrustedClientCert KEY_BASE64 /certs/key1.pem
    # CA certs respecified due to per-directory client certs
    LDAPTrustedClientCert CA_DER /certs/cacert1.der
    LDAPTrustedClientCert CA_BASE64 /certs/cacert2.pem
    Satisfy any
    AuthType Basic
    AuthName "LDAP Protected"
    AuthBasicProvider ldap
    AuthLDAPURL ldaps://127.0.0.1/dc=example,dc=com?uid?one
    Require valid-user
&lt;/Location&gt;
        </highlight>

    </section>

    <section id="settingcerts-solaris"><title>SDK Solaris</title>

        <p>SSL/TLS pour les bibliothèques LDAP propres à Solaris n'est
	pas encore supporté. Si nécessaire, installez et utilisez plutôt
	les bibliothèques OpenLDAP.</p>

    </section>

    <section id="settingcerts-microsoft"><title>SDK Microsoft</title>

        <p>La configuration des certificats SSL/TLS pour les
	bibliothèques LDAP propres à Microsoft s'effectue à l'intérieur
	du registre système, et aucune directive de configuration n'est
	requise.</p>

        <p>SSL et TLS sont tous deux supportés en utilisant des URLs de
	type ldaps://, ou en définissant la directive <directive
	module="mod_ldap">LDAPTrustedMode</directive> à
	cet effet.</p>

        <p>Note: L'état du support des certificats clients n'est pas
	encore connu pour ce SDK.</p>

    </section>

</section>

<directivesynopsis>
<name>LDAPSharedCacheSize</name>
<description>Taille en octets du cache en mémoire partagée</description>
<syntax>LDAPSharedCacheSize <var>octets</var></syntax>
<default>LDAPSharedCacheSize 500000</default>
<contextlist><context>server config</context></contextlist>

<usage>
    <p>Cette directive permet de spécifier le nombre d'octets à allouer
    pour le cache en mémoire partagée. La valeur par
    défaut est 500kb.
    Si elle est définie à 0, le cache en mémoire partagée ne sera pas
    utilisé et chaque processus HTTPD va créer son propre cache.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>LDAPSharedCacheFile</name>
<description>Définit le fichier du cache en mémoire
partagée</description>
<syntax>LDAPSharedCacheFile <var>chemin-fichier</var></syntax>
<contextlist><context>server config</context></contextlist>

<usage>
    <p>Cette directive permet de spécifier le chemin du
    fichier du cache en mémoire partagée. Si elle n'est pas définie, la
    mémoire partagée anonyme sera utilisée si la plate-forme la
    supporte.</p>

    <p>Si <var>chemin-fichier</var> n'est pas un chemin absolu, il sera
    relatif au répertoire défini via la directive <directive
    module="core">DefaultRuntimeDir</directive>.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>LDAPCacheEntries</name>
<description>Nombre maximum d'entrées dans le cache LDAP
primaire</description>
<syntax>LDAPCacheEntries <var>nombre</var></syntax>
<default>LDAPCacheEntries 1024</default>
<contextlist><context>server config</context></contextlist>

<usage>
    <p>Cette directive permet de spécifier la taille maximale du cache
    LDAP primaire. Ce cache contient les résultats de
    recherche/identification positifs. Définissez-la à 0 pour désactiver
    la mise en cache des résultats de recherche/identification positifs.
    La taille par défaut est de 1024 recherches en cache.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>LDAPCacheTTL</name>
<description>Durée pendant laquelle les entrées du cache restent
valides.</description>
<syntax>LDAPCacheTTL <var>secondes</var></syntax>
<default>LDAPCacheTTL 600</default>
<contextlist><context>server config</context></contextlist>

<usage>
    <p>Cette directive permet de spécifier la durée (en secondes)
    pendant laquelle une entrée du cache de recherche/identification
    reste valide. La valeur par défaut est de 600 secondes (10
    minutes).</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>LDAPOpCacheEntries</name>
<description>Nombre d'entrées utilisées pour mettre en cache les
opérations de comparaison LDAP</description>
<syntax>LDAPOpCacheEntries <var>nombre</var></syntax>
<default>LDAPOpCacheEntries 1024</default>
<contextlist><context>server config</context></contextlist>

<usage>
    <p>Cette directive permet de spécifier le nombre d'entrées que
    <module>mod_ldap</module> va utiliser pour mettre en cache les
    opérations de comparaison LDAP. La valeur par défaut est de 1024
    entrées. Si elle est définie à 0, la mise en cache des opérations de
    comparaison LDAP est désactivée.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>LDAPOpCacheTTL</name>
<description>Durée pendant laquelle les entrées du cache d'opérations
restent valides</description>
<syntax>LDAPOpCacheTTL <var>secondes</var></syntax>
<default>LDAPOpCacheTTL 600</default>
<contextlist><context>server config</context></contextlist>

<usage>
    <p>Cette directive permet de spécifier la durée (en secondes)
    pendant laquelle les entrées du cache d'opérations restent valides.
    La valeur par défaut est de 600 secondes.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>LDAPReferralHopLimit</name>
<description>Le nombre maximum de redirections vers des serveurs
alternatifs (referrals) avant l'abandon de la requête
LDAP.</description>
<syntax>LDAPReferralHopLimit <var>nombre</var></syntax>
<default>Dépend du SDK, en général entre 5 et 10</default>
<contextlist><context>directory</context><context>.htaccess</context></contextlist>
<override>AuthConfig</override>

<usage>
    <p>Si elle est activée par la directive <directive
    module="mod_ldap">LDAPReferrals</directive>, cette directive permet de
    définir le nombre maximum de sauts vers des serveurs alternatifs (referrals)
    avant l'abandon de la requête LDAP.</p>

<note type="warning">
<p>L'ajustement de ce paramètre n'est pas commun à tous les SDKs LDAP.</p>
</note>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>LDAPReferrals</name>
<description>Active la redirection vers des serveurs alternatifs au
cours des requêtes vers le serveur LDAP.</description>
<syntax>LDAPReferrals On|Off|default</syntax>
<default>LDAPReferrals On</default>
<contextlist><context>directory</context><context>.htaccess</context></contextlist>
<override>AuthConfig</override>
<compatibility>Le paramètre <var>default</var> est disponible depuis la
version 2.4.7 du serveur HTTP Apache.</compatibility>

<usage>
    <p>Certains serveurs LDAP partagent leur annuaire en plusieurs
    domaines et utilisent le système des redirections (referrals) pour
    aiguiller un client lorsque les limites d'un domaine doivent être
    franchies. Ce processus est similaire à une redirection HTTP. Les
    bibliothèques client LDAP ne respectent pas forcément ces
    redirections par défaut. Cette directive permet de configurer
    explicitement les redirections LDAP dans le SDK sous-jacent.</p>

    <p>La directive <directive>LDAPReferrals</directive> accepte les
    valeurs suivantes :</p>

    <dl>
     <dt>"on"</dt>
     <dd> <p>Avec la valeur "on", la prise en compte des redirections LDAP par
     le SDK sous-jacent est activée, la directive <directive
     module="mod_ldap">LDAPReferralHopLimit</directive> permet de surcharger la
     "hop limit" du SDK, et un "LDAP rebind callback" est enregistré.</p></dd>
     <dt>"off"</dt>
     <dd> <p>Avec la valeur "off", la prise en compte des redirections
     LDAP par le SDK sous-jacent est complètement désactivée.</p></dd>
     <dt>"default"</dt>
     <dd> <p>Avec la valeur "default", la prise en compte des redirections LDAP
     par le SDK sous-jacent n'est pas modifiée, la directive <directive
     module="mod_ldap">LDAPReferralHopLimit</directive> ne permet pas de
     surcharger la "hop limit" du SDK, et aucun "LDAP rebind callback" n'est
     enregistré.</p></dd>
    </dl>
    
    <p>La directive <directive
    module="mod_ldap">LDAPReferralHopLimit</directive> travaille en conjonction
    avec cette directive pour limiter le nombre de redirections à suivre pour
    achever le traitement de la requête LDAP.  Lorsque le processus de
    redirection est activé par la valeur "On", les données d'authentification du
    client sont transmises via un "rebind callback" à tout serveur LDAP qui en
    fait la demande.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>LDAPRetryDelay</name>
<description>Définit le temps d'attente avant un autre essai de connexion au
serveur LDAP.</description>
<syntax>LDAPRetryDelay <var>secondes</var></syntax>
<default>LDAPRetryDelay 0</default>
<contextlist><context>server config</context></contextlist>

<usage>
    <p>Si la directive <directive>LDAPRetryDelay</directive> est définie
    à une valeur différente de 0, le serveur attendra pendant la durée
    spécifiée pour envoyer à nouveau sa requête LDAP. Une valeur de 0
    implique une absence de délai pour les essais successifs.</p>

    <p>Il est possible d'effectuer une autre tentative de connexion en
    cas d'erreurs LDAP du type délai dépassé ou connexion refusée. </p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>LDAPRetries</name>
<description>Définit le nombre maximum de tentatives de connexions au
serveur LDAP.</description>
<syntax>LDAPRetries <var>nombre d'essais</var></syntax>
<default>LDAPRetries 3</default>
<contextlist><context>server config</context></contextlist>
<usage>
    <p>Suite à des échecs de connexion au serveur LDAP, le serveur
    tentera de se connecter autant de fois qu'indiqué par la directive
    <directive>LDAPRetries</directive>. Si cette directive est définie à
    0, le serveur ne tentera pas d'autre connexion après un échec.</p>
    <p>Il est possible d'effectuer une autre tentative de connexion en
    cas d'erreurs LDAP du type délai dépassé ou connexion refusée. </p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>LDAPTrustedGlobalCert</name>
<description>Définit le nom de fichier ou la base de données contenant
les Autorités de Certification de confiance globales ou les certificats
clients globaux</description>
<syntax>LDAPTrustedGlobalCert <var>type</var>
<var>chemin/nom-fichier</var> <var>[mot de passe]</var></syntax>
<contextlist><context>server config</context></contextlist>

<usage>
    <p>Cette directive permet de spécifier le chemin et le nom du fichier
    contenant les certificats des CA de confiance et/ou les certificats clients
    du système global que <module>mod_ldap</module> utilisera pour établir une
    connexion SSL ou TLS avec un serveur LDAP. Notez que toute information
    relative aux certificats spécifiée en utilisant cette directive s'applique
    globalement à l'ensemble de l'installation du serveur. Certains SDK LDAP (en
    particulier Novell) nécessitent la définition globale de tous les
    certificats clients en utilisant cette directive. La plupart des autres SDK
    nécessitent la définition des certificats clients dans une section Directory
    ou Location en utilisant la directive <directive
    module="mod_ldap">LDAPTrustedClientCert</directive>. Si vous ne définissez
    pas ces directives correctement, une erreur sera générée lors des tentatives
    de contact avec un serveur LDAP, ou la connexion échouera silencieusement
    (Voir plus haut le guide des certificats SSL/TLS pour plus de détails). Le
    paramètre type spécifie le type de certificat en cours de définition, en
    fonction du SDK LDAP utilisé.  Les types supportés sont :</p>
    <ul>
      <li>CA_DER - certificat de CA codé en binaire DER</li>
      <li>CA_BASE64 - certificat de CA codé en PEM</li>
      <li>CA_CERT7_DB - fichier de base de données des certificats de CA
      de Netscape cert7.db</li>
      <li>CA_SECMOD - fichier de base de données secmod de Netscape</li>
      <li>CERT_DER - certificat client codé en binaire DER</li>
      <li>CERT_BASE64 - certificat client codé en PEM</li>
      <li>CERT_KEY3_DB - fichier de base de données des certificats
      clients de Netscape key3.db</li>
      <li>CERT_NICKNAME - certificat client "nickname" (SDK Netscape)</li>
      <li>CERT_PFX - certificat client codé en PKCS#12 (SDK Novell)</li>
      <li>KEY_DER - clé privée codée en binaire DER</li>
      <li>KEY_BASE64 - clé privée codée en PEM</li>
      <li>KEY_PFX - clé privée codée en PKCS#12 (SDK Novell)</li>
    </ul>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>LDAPTrustedClientCert</name>
<description>Définit le nom de fichier contenant un certificat client ou
un alias renvoyant vers un certificat client spécifique à une connexion.
Tous les SDK LDAP ne supportent pas les certificats clients par
connexion.</description>
<syntax>LDAPTrustedClientCert <var>type</var>
<var>chemin/nom-fichier/alias</var> <var>[mot de passe]</var></syntax>
<contextlist><context>server config</context><context>virtual
host</context><context>directory</context><context>.htaccess</context></contextlist>
<override>AuthConfig</override>

<usage>
    <p>Cette directive permet de spécifier le chemin et le nom de fichier ou
    l'alias d'un certificat client par connexion utilisé lors de l'établissement
    d'une connexion SSL ou TLS avec un serveur LDAP.  Les sections directory ou
    location peuvent posséder leurs propres configurations de certificats
    clients. Certains SDK LDAP (en particulier Novell) ne supportent pas les
    certificats clients par connexion, et renvoient une erreur lors de la
    connexion au serveur LDAP si vous tenter d'utiliser cette directive
    (Utilisez à la place la directive <directive
    module="mod_ldap">LDAPTrustedGlobalCert</directive> pour les certificats
    clients sous Novell - Voir plus haut le guide des certificats SSL/TLS pour
    plus de détails). Le paramètre type spécifie le type du certificat en cours
    de définition, en fonction du SDK LDAP utilisé. Les types supportés sont
    :</p>
    <ul>
      <li>CA_DER - certificat de CA codé en binaire DER</li>
      <li>CA_BASE64 - certificat de CA codé en PEM</li>
      <li>CERT_DER - certificat client codé en binaire DER</li>
      <li>CERT_BASE64 - certificat client codé en PEM</li>
      <li>CERT_NICKNAME - certificat client "nickname" (SDK Netscape)</li>
      <li>KEY_DER - clé privée codée en binaire DER</li>
      <li>KEY_BASE64 - clé privée codée en PEM</li>
    </ul>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>LDAPTrustedMode</name>
<description>Spécifie le mode (SSL ou TLS) à utiliser lors de la
connexion à un serveur LDAP.</description>
<syntax>LDAPTrustedMode <var>type</var></syntax>
<contextlist><context>server config</context><context>virtual
host</context></contextlist>

<usage>
    <p>Les modes suivants sont supportés :</p>
    <ul>
      <li>NONE - aucun chiffrement</li>
      <li>SSL - chiffrement ldaps:// sur le port par défaut 636</li>
      <li>TLS - chiffrement STARTTLS sur le port par défaut 389</li>
    </ul>

    <p>Les modes ci-dessus ne sont pas supportés par tous les SDK LDAP.
    Un message d'erreur sera généré à l'exécution si un mode n'est pas
    supporté, et la connexion au serveur LDAP échouera.
    </p>

    <p>Si une URL de type ldaps:// est spécifiée, le mode est forcé à
    SSL et la définition de <directive>LDAPTrustedMode</directive> est ignorée.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>LDAPConnectionTimeout</name>
<description>Spécifie le délai d'attente en secondes de la socket de
connexion</description>
<syntax>LDAPConnectionTimeout <var>secondes</var></syntax>
<contextlist><context>server config</context></contextlist>

<usage>
    <p>Cette directive configure l'option LDAP_OPT_NETWORK_TIMEOUT (ou
    LDAP_OPT_CONNECT_TIMEOUT) dans la bibliothèque client LDAP
    sous-jacente, si elle est disponible. Cette valeur représente la
    durée pendant laquelle la bibliothèque client LDAP va attendre que
    le processus de connexion TCP au serveur LDAP soit achevé.</p>

    <p>Si la connexion n'a pas réussi avant ce délai, une erreur sera
    renvoyée, ou la bibliothèque client LDAP tentera de se connecter à
    un second serveur LDAP, s'il en a été défini un (via une liste de
    noms d'hôtes séparés par des espaces dans la directive <directive
    module="mod_authnz_ldap">AuthLDAPURL</directive>).</p>

    <p>La valeur par défaut est 10 secondes, si la bibliothèque client
    LDAP liée avec le serveur supporte l'option
    LDAP_OPT_NETWORK_TIMEOUT.</p>

    <note>LDAPConnectionTimeout n'est disponible que si la bibliothèque client
    LDAP liée avec le serveur supporte l'option
    LDAP_OPT_NETWORK_TIMEOUT (ou LDAP_OPT_CONNECT_TIMEOUT), et le
    comportement final est entièrement dicté par la bibliothèque client
    LDAP.
    </note>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>LDAPTimeout</name>
<description>Spécifie le délai d'attente pour les opérations de
recherche et d'identification LDAP en secondes</description>
<syntax>LDAPTimeout <var>secondes</var></syntax>
<default>LDAPTimeout 60</default>
<contextlist><context>server config</context></contextlist>
<compatibility>Disponible à partir de la version 2.3.5 du serveur HTTP
Apache</compatibility>

<usage>
    <p>Cette directive permet de spécifier le délai d'attente pour les
    opérations de recherche et d'identification, ainsi que l'option
    LDAP_OPT_TIMEOUT dans la bibliothèque LDAP client sous-jacente,
    lorsqu'elle est disponible.</p>

    <p>Lorsque le délai est atteint, httpd va refaire un essai dans le
    cas où une connexion existante a été silencieusement fermée par un
    pare-feu. Les performances seront cependant bien meilleures si le
    pare-feu est configuré pour envoyer des paquets TCP RST au lieu de
    rejeter silencieusement les paquets.</p>

    <note>
    <p>Les délais pour les opérations de comparaison LDAP nécessitent un
    SDK avec LDAP_OPT_TIMEOUT, comme OpenLDAP &gt;= 2.4.4.</p>
    </note>

</usage>
</directivesynopsis>

<directivesynopsis>
<name>LDAPVerifyServerCert</name>
<description>Force la vérification du certificat du
serveur</description>
<syntax>LDAPVerifyServerCert On|Off</syntax>
<default>LDAPVerifyServerCert On</default>
<contextlist><context>server config</context></contextlist>

<usage>
    <p>Cette directive permet de spécifier s'il faut forcer la
    vérification d'un certificat de serveur lors de l'établissement
    d'une connexion SSL avec un serveur LDAP.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>LDAPConnectionPoolTTL</name>
<description>Désactive les connexions d'arrière-plan qui sont restées
inactives trop longtemps au sein du jeu de connexions.</description>
<syntax>LDAPConnectionPoolTTL <var>n</var></syntax>
<default>LDAPConnectionPoolTTL -1</default>
<contextlist><context>server config</context><context>virtual host</context></contextlist>
<compatibility>Disponible à partir de la version 2.3.12 du serveur HTTP
Apache</compatibility>

<usage>
    <p>Cette directive permet de spécifier la durée maximale, en
    secondes, pendant laquelle une connexion LDAP du jeu de connexions
    peut demeurer inactive, mais rester quand-même disponible pour une
    utilisation éventuelle. Le jeu de connexions est nettoyé au fur et à
    mesure des besoins, de manière non asynchrone.</p>

    <p>Si cette directive est définie à 0, les connexions ne sont jamais
    sauvegardées dans le jeu de connexions d'arrière-plan. Avec la
    valeur par défaut -1, ou toute autre valeur négative, les connexions
    peuvent être réutilisées sans limite de durée.</p>

    <p>Dans le but d'améliorer les performances, le temps de référence
    qu'utilise cette directive correspond au moment où la connexion LDAP
    est enregistrée ou remise dans le jeu de connexions, et non au
    moment du dernier échange réussi avec le serveur LDAP.</p>

    <p>La version 2.4.10 a introduit de nouvelles mesures permettant
    d'éviter une augmentation excessive du temps de référence due à des
    correspondances positives dans le cache ou des requêtes lentes. A
    cet effet, le temps de référence n'est pas réactualisé si aucune
    connexion LDAP d'arrière-plan n'est requise ; d'autre part, le temps
    de référence se base sur le moment où la requête HTTP est reçue, et
    non sur le moment où la requête a été traitée.</p>

    <note><p>Cette durée de vie s'exprime par défaut en secondes, mais
    il est possible d'utiliser d'autres unités en ajoutant un suffixe :
    millisecondes (ms), minutes (min), ou heures (h).
    </p></note>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>LDAPLibraryDebug</name>
<description>Active le débogage dans le SDK LDAP</description>
<syntax>LDAPLibraryDebug <var>7</var></syntax>
<default>disabled</default>
<contextlist><context>server config</context></contextlist>

<usage>
    <p>Active les options de débogage LDAP spécifiques au SDK, qui
    entraînent en général une journalisation d'informations verbeuses du
    SDK LDAP dans le journal principal des erreurs d'Apache. Les
    messages de traces en provenance du SDK LDAP fournissent des
    informations très détaillées qui peuvent s'avérer utiles lors du
    débogage des problèmes de connexion avec des serveurs LDAP
    d'arrière-plan.</p>

    <p>Cette option n'est configurable que lorsque le serveur HTTP
    Apache est lié avec un SDK LDAP qui implémente
    <code>LDAP_OPT_DEBUG</code> ou <code>LDAP_OPT_DEBUG_LEVEL</code>,
    comme OpenLDAP (une valeur de 7 est verbeuse) ou Tivoli Directory
    Server (une valeur de 65535 est verbeuse).</p>

    <note type="warning">
    <p>Les informations journalisées peuvent contenir des données
    d'authentification en clair utilisées ou validées lors de
    l'authentification LDAP ; vous devez donc prendre soin de protéger
    et de purger le journal des erreurs lorsque cette directive est
    utilisée.</p>
    </note>

</usage>
</directivesynopsis>

</modulesynopsis>
