Content-Language: es
Content-type: text/html; charset=ISO-8859-1
-URI: bind.html.fr
-Content-Language: fr
-Content-type: text/html; charset=ISO-8859-1
-
URI: bind.html.ja.utf8
Content-Language: ja
Content-type: text/html; charset=UTF-8
<variant outdated="yes">de</variant>
<variant>en</variant>
<variant outdated="yes">es</variant>
- <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Guide de la mise en cache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/caching.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/caching.html" title="Français"> fr </a> |
-<a href="./tr/caching.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./fr/caching.html" title="Français"> fr </a> |
+<a href="./tr/caching.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Ce document complète la documentation de référence des modules
+ <p>Ce document complète la documentation de référence des modules
<code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>, <code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code>,
<code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code> et du programme <a href="programs/htcacheclean.html">htcacheclean</a>.
- Il décrit l'utilisation des fonctionnalités de mise en
+ Il décrit l'utilisation des fonctionnalités de mise en
cache du serveur HTTP Apache
- pour accélérer les services web et proxy, tout en évitant les problèmes
+ pour accélérer les services web et proxy, tout en évitant les problèmes
courants et les erreurs de configuration.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#introduction">Introduction</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#http-caching">Mise en cache HTTP à trois états RFC2616</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#http-caching">Mise en cache HTTP à trois états RFC2616</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#examples">Exemples de configuration du cache</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#socache-caching">Mise en cache générale d'objets partagés à deux états de forme
- clé/valeur</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#file-caching">Mise en cache à base de fichiers spécialisés</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#security">Considérations sur la sécurité</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#socache-caching">Mise en cache générale d'objets partagés à deux états de forme
+ clé/valeur</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#file-caching">Mise en cache à base de fichiers spécialisés</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#security">Considérations sur la sécurité</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="introduction" id="introduction">Introduction</a><a title="Lien permanent" href="#introduction" class="permalink">¶</a></h2>
- <p>Le serveur HTTP Apache offre tout un ensemble de fonctionnalités
- de mise en cache qui ont été conçues pour améliorer les performances
- du serveur de différentes manières.</p>
+ <p>Le serveur HTTP Apache offre tout un ensemble de fonctionnalités
+ de mise en cache qui ont été conçues pour améliorer les performances
+ du serveur de différentes manières.</p>
<dl>
- <dt>Mise en cache HTTP à trois états RFC2616</dt>
+ <dt>Mise en cache HTTP à trois états RFC2616</dt>
<dd><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> et son module de fournisseur
<code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code> proposent une mise en cache
intelligente de niveau HTTP. Le contenu proprement dit est
- stocké dans le cache, et mod_cache vise à respecter tous les
- en-têtes HTTP, ainsi que les options qui contrôlent la mise en
- cache du contenu comme décrit dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html">Section
- 13 de la RFC2616</a>. <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> peut gérer des
+ stocké dans le cache, et mod_cache vise à respecter tous les
+ en-têtes HTTP, ainsi que les options qui contrôlent la mise en
+ cache du contenu comme décrit dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html">Section
+ 13 de la RFC2616</a>. <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> peut gérer des
configurations de mise en cache simples, mais aussi complexes
- comme dans les cas où vous avez à faire à des contenus mandatés,
- à des contenus locaux dynamiques, ou lorsque vous avez besoin
- d'accélérer l'accès aux fichiers locaux situés sur disque
- supposé lent.
+ comme dans les cas où vous avez à faire à des contenus mandatés,
+ à des contenus locaux dynamiques, ou lorsque vous avez besoin
+ d'accélérer l'accès aux fichiers locaux situés sur disque
+ supposé lent.
</dd>
- <dt>Mise en cache d'objets partagés de forme clé/valeur à deux
- états</dt>
+ <dt>Mise en cache d'objets partagés de forme clé/valeur à deux
+ états</dt>
<dd>
- L'<a href="socache.html">API du cache d'objets partagés</a> (socache)
+ L'<a href="socache.html">API du cache d'objets partagés</a> (socache)
et ses modules de fournisseurs
- proposent une mise en cache d'objets partagés à base de
- couples clé/valeur de niveau serveur. Ces modules sont
- conçus pour la mise en cache de données de bas niveau comme
- les sessions SSL et les données d'authentification. les
- serveurs d'arrière-plan permettent le stockage des données
- au niveau serveur en mémoire partagée, ou au niveau
+ proposent une mise en cache d'objets partagés à base de
+ couples clé/valeur de niveau serveur. Ces modules sont
+ conçus pour la mise en cache de données de bas niveau comme
+ les sessions SSL et les données d'authentification. les
+ serveurs d'arrière-plan permettent le stockage des données
+ au niveau serveur en mémoire partagée, ou au niveau
datacenter dans un cache comme memcache ou distcache.
</dd>
- <dt>Mise en cache de fichiers spécialisée</dt>
+ <dt>Mise en cache de fichiers spécialisée</dt>
<dd>
- <code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code> offre la possibilité de
- précharger des fichiers en mémoire au démarrage du serveur,
- et peut améliorer les temps d'accès et sauvegarder les
+ <code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code> offre la possibilité de
+ précharger des fichiers en mémoire au démarrage du serveur,
+ et peut améliorer les temps d'accès et sauvegarder les
gestionnaires de fichiers pour les fichiers qui font l'objet
- d'accès fréquents, évitant ainsi d'avoir à accéder au disque
- à chaque requête.
+ d'accès fréquents, évitant ainsi d'avoir à accéder au disque
+ à chaque requête.
</dd>
</dl>
<p>Pour tirer parti efficacement de ce document, les bases de HTTP doivent
- vous être familières, et vous devez avoir lu les sections
+ vous être familières, et vous devez avoir lu les sections
<a href="urlmapping.html">Mise en correspondance des
- URLs avec le système de fichiers</a> et
- <a href="content-negotiation.html">Négociation sur le contenu</a>
+ URLs avec le système de fichiers</a> et
+ <a href="content-negotiation.html">Négociation sur le contenu</a>
du guide de l'utilisateur.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="http-caching" id="http-caching">Mise en cache HTTP à trois états RFC2616</a><a title="Lien permanent" href="#http-caching" class="permalink">¶</a></h2>
+<h2><a name="http-caching" id="http-caching">Mise en cache HTTP à trois états RFC2616</a><a title="Lien permanent" href="#http-caching" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code></li><li><code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_cache.html#cacheenable">CacheEnable</a></code></li><li><code class="directive"><a href="./mod/mod_cache.html#cachedisable">CacheDisable</a></code></li><li><code class="directive"><a href="./mod/core.html#usecanonicalname">UseCanonicalName</a></code></li><li><code class="directive"><a href="./mod/mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code></li><li><code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_cache.html#cacheenable">CacheEnable</a></code></li><li><code class="directive"><a href="./mod/mod_cache.html#cachedisable">CacheDisable</a></code></li><li><code class="directive"><a href="./mod/core.html#usecanonicalname">UseCanonicalName</a></code></li><li><code class="directive"><a href="./mod/mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></code></li></ul></td></tr></table>
<p>Le module <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> permet de tirer avantage du
- mécanisme de mise en cache en ligne faisant partie
- intégrante du protocole HTTP, et décrit dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html">section
+ mécanisme de mise en cache en ligne faisant partie
+ intégrante du protocole HTTP, et décrit dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html">section
13 de la RFC2616</a>.</p>
- <p>A la différence d'un cache simple clé/valeur à deux états où le
- contenu est supprimé lorsqu'il est périmé, un cache HTTP comporte un
- mécanisme permettant de conserver temporairement un contenu périmé,
- de demander au serveur original si ce contenu périmé a été modifié,
- et dans le cas contraire de le rendre à nouveau valide.</p>
+ <p>A la différence d'un cache simple clé/valeur à deux états où le
+ contenu est supprimé lorsqu'il est périmé, un cache HTTP comporte un
+ mécanisme permettant de conserver temporairement un contenu périmé,
+ de demander au serveur original si ce contenu périmé a été modifié,
+ et dans le cas contraire de le rendre à nouveau valide.</p>
- <p>Une entrée d'un cache HTTP peut se présenter sous un de ces trois
- états :</p>
+ <p>Une entrée d'un cache HTTP peut se présenter sous un de ces trois
+ états :</p>
<dl>
<dt>Frais</dt>
<dd>
- Si un contenu est suffisamment récent (plus jeune que sa
- <strong>durée de fraîcheur</strong>), il est considéré comme
+ Si un contenu est suffisamment récent (plus jeune que sa
+ <strong>durée de fraîcheur</strong>), il est considéré comme
<strong>frais</strong>. Un cache HTTP peut servir un contenu
- frais sans avoir à demander quoi que ce soit au serveur
+ frais sans avoir à demander quoi que ce soit au serveur
d'origine.
</dd>
- <dt>Périmé</dt>
+ <dt>Périmé</dt>
<dd>
<p>Si le contenu est trop ancien (plus vieux que sa
- <strong>durée de fraîcheur</strong>), il est considéré comme
- <strong>périmé</strong>. Un cache HTTP doit contacter le serveur
- original pour vérifier si le contenu, même s'il est périmé, est
- encore à jour avant de le servir au client. Soit le serveur
- original va répondre en envoyant un contenu de remplacement si
- le contenu périmé n'est plus à jour, soit dans le cas idéal il
+ <strong>durée de fraîcheur</strong>), il est considéré comme
+ <strong>périmé</strong>. Un cache HTTP doit contacter le serveur
+ original pour vérifier si le contenu, même s'il est périmé, est
+ encore à jour avant de le servir au client. Soit le serveur
+ original va répondre en envoyant un contenu de remplacement si
+ le contenu périmé n'est plus à jour, soit dans le cas idéal il
renverra un code pour signaler au cache que le contenu est
- encore à jour, et qu'il est inutile de le générer ou de
- l'envoyer à nouveau. Le contenu repasse à l'état "frais" et le
+ encore à jour, et qu'il est inutile de le générer ou de
+ l'envoyer à nouveau. Le contenu repasse à l'état "frais" et le
cycle continue.</p>
- <p>Le protocole HTTP permet au cache de servir des données
- périmées dans certaines circonstances, comme lorsqu'une
- tentative de rafraîchir une entrée depuis un serveur original
- se solde par un échec avec un code d'erreur 5xx, ou lorsqu'une
- autre requête est déjà en train d'essayer de rafraîchir la même
- entrée. Dans ces cas, un en-tête <code>Warning</code> est ajouté
- à la réponse.</p>
+ <p>Le protocole HTTP permet au cache de servir des données
+ périmées dans certaines circonstances, comme lorsqu'une
+ tentative de rafraîchir une entrée depuis un serveur original
+ se solde par un échec avec un code d'erreur 5xx, ou lorsqu'une
+ autre requête est déjà en train d'essayer de rafraîchir la même
+ entrée. Dans ces cas, un en-tête <code>Warning</code> est ajouté
+ à la réponse.</p>
</dd>
<dt>Non Existent</dt>
<dd>
- Si le cache est plein, il se réserve la possibilité de supprimer
- des entrées pour faire de la place. Une entrée peut être
- supprimée à tout moment, qu'elle soit fraîche ou périmée.
+ Si le cache est plein, il se réserve la possibilité de supprimer
+ des entrées pour faire de la place. Une entrée peut être
+ supprimée à tout moment, qu'elle soit fraîche ou périmée.
L'outil <a href="programs/htcacheclean.html">htcacheclean</a>
- peut être utilisé à la demande, ou lancé en tant que démon afin
- de conserver la taille du cache ou le nombre d'inodes en deçà de
- valeurs spécifiées. Cet outil essaie cependant de
- supprimer les entrées périmées avant les entrées fraîches.
+ peut être utilisé à la demande, ou lancé en tant que démon afin
+ de conserver la taille du cache ou le nombre d'inodes en deçà de
+ valeurs spécifiées. Cet outil essaie cependant de
+ supprimer les entrées périmées avant les entrées fraîches.
</dd>
</dl>
- <p>Le fonctionnement détaillé d'un cache HTTP est décrit dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html">Section
+ <p>Le fonctionnement détaillé d'un cache HTTP est décrit dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html">Section
13 de la RFC2616</a>.</p>
<h3>Interaction avec le serveur</h3>
<p>Le module <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> interagit avec le serveur
- à deux niveaux possibles en fonction de la directive <code class="directive"><a href="./mod/mod_cache.html#cachequickhandler">CacheQuickHandler</a></code> :
+ à deux niveaux possibles en fonction de la directive <code class="directive"><a href="./mod/mod_cache.html#cachequickhandler">CacheQuickHandler</a></code> :
</p>
<dl>
<dt>Phase du gestionnaire rapide</dt>
<dd>
- <p>Cette phase se déroule très tôt au cours du traitement de
- la requête, juste après l'interprétation de cette dernière. Si
- le contenu se trouve dans le cache, il est servi immédiatement
- et pratiquement tout le reste du traitement de la requête est
- court-circuité.</p>
-
- <p>Dans ce scénario, le cache se comporte comme s'il avait
- été "boulonné" à l'entrée du serveur.</p>
+ <p>Cette phase se déroule très tôt au cours du traitement de
+ la requête, juste après l'interprétation de cette dernière. Si
+ le contenu se trouve dans le cache, il est servi immédiatement
+ et pratiquement tout le reste du traitement de la requête est
+ court-circuité.</p>
+
+ <p>Dans ce scénario, le cache se comporte comme s'il avait
+ été "boulonné" à l'entrée du serveur.</p>
- <p>Ce mode possède les meilleures performances car la
- majorité des traitements au niveau du serveur sont
- court-circuités. Cependant, il court-circuite aussi les
+ <p>Ce mode possède les meilleures performances car la
+ majorité des traitements au niveau du serveur sont
+ court-circuités. Cependant, il court-circuite aussi les
phases d'authentification et d'autorisation du traitement
- au niveau du serveur, et il doit donc être utilisé avec
+ au niveau du serveur, et il doit donc être utilisé avec
prudence lorsque que ces phases sont importantes.</p>
- <p>Les requêtes contenant un en-tête "Authorization"
+ <p>Les requêtes contenant un en-tête "Authorization"
header (par exemple dans le cas de l'authentification HTTP
- basique) ne peuvent ni être mises en cache, ni servies
+ basique) ne peuvent ni être mises en cache, ni servies
depuis le cache lorsque <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>
- s'exécute dans cette phase.</p>
+ s'exécute dans cette phase.</p>
</dd>
<dt>Phase du gestionnaire normal</dt>
<dd>
- <p>Cette phase se déroule très tard au cours du traitement
- de la requête, en fait après toutes les phases de ce
+ <p>Cette phase se déroule très tard au cours du traitement
+ de la requête, en fait après toutes les phases de ce
traitement.</p>
- <p>Dans ce scénario, le cache se comporte comme s'il avait
- été "boulonné" à la sortie du serveur.</p>
+ <p>Dans ce scénario, le cache se comporte comme s'il avait
+ été "boulonné" à la sortie du serveur.</p>
<p>Ce mode offre la plus grande souplesse, car il permet
de faire intervenir la mise en cache en un point
- précisément spécifié de la chaîne de filtrage, et le
- contenu issu du cache peut être filtré ou personnalisé
- avant d'être servi au client.</p>
+ précisément spécifié de la chaîne de filtrage, et le
+ contenu issu du cache peut être filtré ou personnalisé
+ avant d'être servi au client.</p>
</dd>
</dl>
<p>Si l'URL ne se trouve pas dans le cache,
- <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> ajoutera un <a href="filter.html">filtre</a> à la chaîne de filtrage afin
- d'enregistrer la réponse dans le cache, puis passera la main
- pour permettre le déroulement normal de la suite du traitement
- de la requête. Si la mise en cache du contenu est autorisée, il
- sera enregistré dans le cache pour pouvoir être servi à nouveau
- ; dans le cas contraire, le contenu sera ignoré.</p>
-
- <p>Si le contenu trouvé dans le cache est périmé, le module
- <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> convertit la requête en
- <strong>requête conditionnelle</strong>. Si le serveur original
- renvoie une réponse normale, elle est enregistrée dans le cache
- en lieu et place du contenu périmé. Si le serveur original
- renvoie une réponse "304 Not Modified", le contenu repasse à
- l'état "frais" et est servi par le filtre au lieu d'être
- sauvegardé.</p>
+ <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> ajoutera un <a href="filter.html">filtre</a> à la chaîne de filtrage afin
+ d'enregistrer la réponse dans le cache, puis passera la main
+ pour permettre le déroulement normal de la suite du traitement
+ de la requête. Si la mise en cache du contenu est autorisée, il
+ sera enregistré dans le cache pour pouvoir être servi à nouveau
+ ; dans le cas contraire, le contenu sera ignoré.</p>
+
+ <p>Si le contenu trouvé dans le cache est périmé, le module
+ <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> convertit la requête en
+ <strong>requête conditionnelle</strong>. Si le serveur original
+ renvoie une réponse normale, elle est enregistrée dans le cache
+ en lieu et place du contenu périmé. Si le serveur original
+ renvoie une réponse "304 Not Modified", le contenu repasse à
+ l'état "frais" et est servi par le filtre au lieu d'être
+ sauvegardé.</p>
- <h3>Amélioration du taux de présence dans le cache</h3>
+ <h3>Amélioration du taux de présence dans le cache</h3>
<p>Lorsqu'un serveur virtuel est connu sous la forme d'un des
- nombreux alias du serveur, la définition de la directive
- <code class="directive"><a href="./mod/core.html#usecanonicalname">UseCanonicalName</a></code> à
- <code>On</code> peut augmenter de manière significative le nombre
+ nombreux alias du serveur, la définition de la directive
+ <code class="directive"><a href="./mod/core.html#usecanonicalname">UseCanonicalName</a></code> à
+ <code>On</code> peut augmenter de manière significative le nombre
de correspondances positives dans le cache. Ceci est du au fait
- que la clé du cache contient le nom d'hôte du serveur virtuel.
- Avec <code class="directive"><a href="./mod/core.html#usecanonicalname">UseCanonicalName</a></code> positionnée
- à <code>On</code>,
- les hôtes virtuels possédant plusieurs noms de serveur ou alias ne
- généreront pas d'entités de cache différentes, et le contenu sera mis en
- cache en faisant référence au nom d'hôte canonique.</p>
+ que la clé du cache contient le nom d'hôte du serveur virtuel.
+ Avec <code class="directive"><a href="./mod/core.html#usecanonicalname">UseCanonicalName</a></code> positionnée
+ à <code>On</code>,
+ les hôtes virtuels possédant plusieurs noms de serveur ou alias ne
+ généreront pas d'entités de cache différentes, et le contenu sera mis en
+ cache en faisant référence au nom d'hôte canonique.</p>
- <h3>Durée de fraîcheur</h3>
+ <h3>Durée de fraîcheur</h3>
- <p>Un contenu bien formé destiné à être mis en cache doit déclarer
- explicitement une durée de fraîcheur via les champs
- <code>max-age</code> ou <code>s-maxage</code> de l'en-tête
- <code>Cache-Control</code>, ou en incluant un en-tête
+ <p>Un contenu bien formé destiné à être mis en cache doit déclarer
+ explicitement une durée de fraîcheur via les champs
+ <code>max-age</code> ou <code>s-maxage</code> de l'en-tête
+ <code>Cache-Control</code>, ou en incluant un en-tête
<code>Expires</code>.</p>
- <p>De plus, un client peut passer outre la durée de fraîcheur
- définie pour le serveur original en ajoutant son propre en-tête
- <code>Cache-Control</code> à la requête. Dans ce cas, c'est la
- durée de fraîcheur la plus basse entre la requête et la réponse
+ <p>De plus, un client peut passer outre la durée de fraîcheur
+ définie pour le serveur original en ajoutant son propre en-tête
+ <code>Cache-Control</code> à la requête. Dans ce cas, c'est la
+ durée de fraîcheur la plus basse entre la requête et la réponse
qui l'emporte.</p>
- <p>Lorsque cette durée de fraîcheur est absente de la requête ou
- de la réponse, une durée de fraîcheur par défaut s'applique. La
- durée de fraîcheur par défaut des entrées du cache est d'une heure
- ; elle peut cependant être facilement modifiée à l'aide de
+ <p>Lorsque cette durée de fraîcheur est absente de la requête ou
+ de la réponse, une durée de fraîcheur par défaut s'applique. La
+ durée de fraîcheur par défaut des entrées du cache est d'une heure
+ ; elle peut cependant être facilement modifiée à l'aide de
la directive <code class="directive"><a href="./mod/mod_cache.html#cachedefaultexpire">CacheDefaultExpire</a></code>.</p>
- <p>Si une réponse ne contient pas d'en-tête <code>Expires</code> mais
- inclut un en-tête <code>Last-Modified</code>, <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>
- peut déduire une durée de fraîcheur en se basant sur une
- heuristique, qui peut être contrôlée via la directive <code class="directive"><a href="./mod/mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></code>.</p>
+ <p>Si une réponse ne contient pas d'en-tête <code>Expires</code> mais
+ inclut un en-tête <code>Last-Modified</code>, <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>
+ peut déduire une durée de fraîcheur en se basant sur une
+ heuristique, qui peut être contrôlée via la directive <code class="directive"><a href="./mod/mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></code>.</p>
<p>Pour les contenus locaux, ou les contenus distants qui ne
- spécifient pas leur propre en-tête <code>Expires</code>,
- <code class="module"><a href="./mod/mod_expires.html">mod_expires</a></code> permet de régler finement la durée de
- fraîcheur via les paramètres <code>max-age</code> et
+ spécifient pas leur propre en-tête <code>Expires</code>,
+ <code class="module"><a href="./mod/mod_expires.html">mod_expires</a></code> permet de régler finement la durée de
+ fraîcheur via les paramètres <code>max-age</code> et
<code>Expires</code>.</p>
- <p>On peut aussi contrôler la durée de fraîcheur maximale en utilisant
+ <p>On peut aussi contrôler la durée de fraîcheur maximale en utilisant
la directive <code class="directive"><a href="./mod/mod_cache.html#cachemaxexpire">CacheMaxExpire</a></code>.</p>
- <h3>Guide succinct des requêtes conditionnelles</h3>
+ <h3>Guide succinct des requêtes conditionnelles</h3>
- <p>Lorsqu'un contenu du cache est périmé, httpd modifie la requête
- pour en faire une requête conditionnelle</p>
+ <p>Lorsqu'un contenu du cache est périmé, httpd modifie la requête
+ pour en faire une requête conditionnelle</p>
- <p>Lorsque la réponse originale du cache contient un en-tête
- <code>ETag</code>, <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> ajoute un en-tête
- <code>If-None-Match</code> à la requête envoyée au serveur
- d'origine. Lorsque la réponse originale du cache contient un en-tête
- <code>Last-Modified</code>, <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> ajoute un en-tête
- <code>If-Modified-Since</code> à la requête envoyée au serveur
- d'origine. Dans ces deux cas, la requête devient une requête
+ <p>Lorsque la réponse originale du cache contient un en-tête
+ <code>ETag</code>, <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> ajoute un en-tête
+ <code>If-None-Match</code> à la requête envoyée au serveur
+ d'origine. Lorsque la réponse originale du cache contient un en-tête
+ <code>Last-Modified</code>, <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> ajoute un en-tête
+ <code>If-Modified-Since</code> à la requête envoyée au serveur
+ d'origine. Dans ces deux cas, la requête devient une requête
<strong>conditionnelle</strong>.</p>
- <p>Lorsqu'un serveur d'origine reçoit une requête conditionnelle,
- il vérifie si le paramètre Etag ou Last-Modified a été modifié en
- fonction des paramètres de la requête. Si ce n'est pas le cas, il
- répondra avec le message lapidaire "304 Not Modified". Ceci
- informe le cache que le contenu est périmé mais encore à jour, et
- peut être utilisé tel quel pour les prochaines requêtes jusqu'à ce
- qu'il atteigne à nouveau sa date de péremption.</p>
-
- <p>Si le contenu a été modifié, il est servi comme s'il s'agissait
- d'une requête normale et non conditionnelle.</p>
-
- <p>Les requêtes conditionnelles offrent deux avantages. D'une
- part, il est facile de déterminer si le contenu du serveur
- d'origine correspond à celui situé
- dans le cache, et ainsi d'économiser la consommation de ressources
- nécessaire au transfert du contenu dans son ensemble.</p>
-
- <p>D'autre part, un serveur d'origine bien conçu sera configuré de
- telle manière que les requêtes conditionnelles nécessitent pour
- leur production bien moins de ressources qu'une réponse complète.
- Dans le cas des fichiers statiques, il suffit en général d'un
- appel système de type <code>stat()</code> ou similaire pour
- déterminer si la taille ou la date de modification du fichier a
- été modifiée. Ainsi, même un contenu local pourra être servi plus
- rapidement depuis le cache s'il n'a pas été modifié.</p>
+ <p>Lorsqu'un serveur d'origine reçoit une requête conditionnelle,
+ il vérifie si le paramètre Etag ou Last-Modified a été modifié en
+ fonction des paramètres de la requête. Si ce n'est pas le cas, il
+ répondra avec le message lapidaire "304 Not Modified". Ceci
+ informe le cache que le contenu est périmé mais encore à jour, et
+ peut être utilisé tel quel pour les prochaines requêtes jusqu'à ce
+ qu'il atteigne à nouveau sa date de péremption.</p>
+
+ <p>Si le contenu a été modifié, il est servi comme s'il s'agissait
+ d'une requête normale et non conditionnelle.</p>
+
+ <p>Les requêtes conditionnelles offrent deux avantages. D'une
+ part, il est facile de déterminer si le contenu du serveur
+ d'origine correspond à celui situé
+ dans le cache, et ainsi d'économiser la consommation de ressources
+ nécessaire au transfert du contenu dans son ensemble.</p>
+
+ <p>D'autre part, un serveur d'origine bien conçu sera configuré de
+ telle manière que les requêtes conditionnelles nécessitent pour
+ leur production bien moins de ressources qu'une réponse complète.
+ Dans le cas des fichiers statiques, il suffit en général d'un
+ appel système de type <code>stat()</code> ou similaire pour
+ déterminer si la taille ou la date de modification du fichier a
+ été modifiée. Ainsi, même un contenu local pourra être servi plus
+ rapidement depuis le cache s'il n'a pas été modifié.</p>
<p>Il serait souhaitable que tous les serveurs d'origine
- supportent les requêtes conditionnelles, car dans le cas
- contraire, ils répondent comme s'il s'agissait d'une requête
- normale, et le cache répond comme si le contenu avait été
- modifié et enregistre ce dernier. Le cache se comporte alors
- comme un simple cache à deux état, où le contenu est servi s'il
- est à jour, ou supprimé dans le cas contraire.</p>
+ supportent les requêtes conditionnelles, car dans le cas
+ contraire, ils répondent comme s'il s'agissait d'une requête
+ normale, et le cache répond comme si le contenu avait été
+ modifié et enregistre ce dernier. Le cache se comporte alors
+ comme un simple cache à deux état, où le contenu est servi s'il
+ est à jour, ou supprimé dans le cas contraire.</p>
<h3>Que peut-on mettre en cache ?</h3>
- <p>La liste complète des conditions nécessaires pour qu'une
- réponse puisse être enregistrée dans un cache HTTP est fournie
+ <p>La liste complète des conditions nécessaires pour qu'une
+ réponse puisse être enregistrée dans un cache HTTP est fournie
dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.4">section
- 13.4 Response Cacheability de la RFC2616</a>, et peut se résumer
+ 13.4 Response Cacheability de la RFC2616</a>, et peut se résumer
ainsi :</p>
<ol>
- <li>La mise en cache doit être activée pour cette URL. Voir les
+ <li>La mise en cache doit être activée pour cette URL. Voir les
directives <code class="directive"><a href="./mod/mod_cache.html#cacheenable">CacheEnable</a></code> et <code class="directive"><a href="./mod/mod_cache.html#cachedisable">CacheDisable</a></code>.</li>
<li>La reponse doit avoir un code de statut HTTP de 200, 203, 300, 301
ou 410.</li>
- <li>La requête doit être de type HTTP GET.</li>
+ <li>La requête doit être de type HTTP GET.</li>
- <li>Si la réponse contient un en-tête "Authorization:", elle doit aussi
+ <li>Si la réponse contient un en-tête "Authorization:", elle doit aussi
contenir une option "s-maxage", "must-revalidate" ou "public"
- dans l'en-tête "Cache-Control:".</li>
-
- <li>Si l'URL contient une chaîne de requête
- (provenant par exemple d'une méthode GET de formulaire HTML), elle ne
- sera pas mise en cache, à moins que la réponse ne
- spécifie explicitement un délai d'expiration via un
- en-tête "Expires:" ou une directive max-age ou s-maxage de
- l'en-tête "Cache-Control:" comme indiqué dans les
+ dans l'en-tête "Cache-Control:".</li>
+
+ <li>Si l'URL contient une chaîne de requête
+ (provenant par exemple d'une méthode GET de formulaire HTML), elle ne
+ sera pas mise en cache, à moins que la réponse ne
+ spécifie explicitement un délai d'expiration via un
+ en-tête "Expires:" ou une directive max-age ou s-maxage de
+ l'en-tête "Cache-Control:" comme indiqué dans les
sections 13.2.1. et 13.9 de la RFC2616.</li>
- <li>Si la réponse a un statut de 200 (OK), elle doit aussi contenir
- au moins un des en-têtes "Etag", "Last-Modified" ou
+ <li>Si la réponse a un statut de 200 (OK), elle doit aussi contenir
+ au moins un des en-têtes "Etag", "Last-Modified" ou
"Expires", ou une directive max-age ou s-maxage de
- l'en-tête "Cache-Control:", à moins que la directive
+ l'en-tête "Cache-Control:", à moins que la directive
<code class="directive"><a href="./mod/mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod</a></code>
- ne précise d'autres contraintes.</li>
+ ne précise d'autres contraintes.</li>
- <li>Si la réponse contient l'option "private" dans un en-tête
- "Cache-Control:", elle ne sera pas mise en cache à moins que la
+ <li>Si la réponse contient l'option "private" dans un en-tête
+ "Cache-Control:", elle ne sera pas mise en cache à moins que la
directive
<code class="directive"><a href="./mod/mod_cache.html#cachestoreprivate">CacheStorePrivate</a></code>
- ne précise d'autres contraintes.</li>
+ ne précise d'autres contraintes.</li>
- <li>De même, si la réponse contient l'option "no-store" dans un en-tête
- "Cache-Control:", elle ne sera pas mise en cache à moins que la
+ <li>De même, si la réponse contient l'option "no-store" dans un en-tête
+ "Cache-Control:", elle ne sera pas mise en cache à moins que la
directive
<code class="directive"><a href="./mod/mod_cache.html#cachestorenostore">CacheStoreNoStore</a></code>
- n'ait été utilisée.</li>
+ n'ait été utilisée.</li>
- <li>Une réponse ne sera pas mise en cache si elle comporte un en-tête
- "Vary:" contenant le caractère "*" qui correspond à toute
- chaîne de caractères.</li>
+ <li>Une réponse ne sera pas mise en cache si elle comporte un en-tête
+ "Vary:" contenant le caractère "*" qui correspond à toute
+ chaîne de caractères.</li>
</ol>
- <h3>Qu'est ce qui ne doit pas être mis en cache ?</h3>
+ <h3>Qu'est ce qui ne doit pas être mis en cache ?</h3>
- <p>Le client qui crée la requête ou le serveur d'origine qui
- génère la réponse doit être à même de déterminer si le contenu
- doit pouvoir être mis en cache ou non en définissant correctement
- l'en-tête <code>Cache-Control</code>, et
+ <p>Le client qui crée la requête ou le serveur d'origine qui
+ génère la réponse doit être à même de déterminer si le contenu
+ doit pouvoir être mis en cache ou non en définissant correctement
+ l'en-tête <code>Cache-Control</code>, et
<code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> sera alors en mesure de satisfaire les
- souhaits du client ou du serveur de manière appropriée.
+ souhaits du client ou du serveur de manière appropriée.
</p>
<p>Les contenus qui varient au cours du temps, ou en fonction de
- particularités de la requête non prises en compte par la
- négociation HTTP ne doivent pas être mis en cache. Ce type de
- contenu doit se déclarer lui-même "à ne pas mettre en cache" via
- l'en-tête <code>Cache-Control</code>.</p>
+ particularités de la requête non prises en compte par la
+ négociation HTTP ne doivent pas être mis en cache. Ce type de
+ contenu doit se déclarer lui-même "à ne pas mettre en cache" via
+ l'en-tête <code>Cache-Control</code>.</p>
- <p>Si le contenu change souvent, suite par exemple à une durée de
- fraîcheur de l'ordre de la minute ou de la seconde, il peut tout
- de même être mis en cache, mais il est alors fortement souhaitable
+ <p>Si le contenu change souvent, suite par exemple à une durée de
+ fraîcheur de l'ordre de la minute ou de la seconde, il peut tout
+ de même être mis en cache, mais il est alors fortement souhaitable
que le serveur d'origine supporte correctement les
- <strong>requêtes conditionnelles</strong> afin que des réponses
- complètes ne soient pas systématiquement générées.</p>
+ <strong>requêtes conditionnelles</strong> afin que des réponses
+ complètes ne soient pas systématiquement générées.</p>
- <p>Un contenu qui varie en fonction d'en-têtes de requête fournis
- par le client peut être mis en cache, sous réserve d'une
- utilisation appropriée de l'en-tête de réponse <code>Vary</code>.</p>
+ <p>Un contenu qui varie en fonction d'en-têtes de requête fournis
+ par le client peut être mis en cache, sous réserve d'une
+ utilisation appropriée de l'en-tête de réponse <code>Vary</code>.</p>
- <h3>Contenu variable et/ou négocié</h3>
+ <h3>Contenu variable et/ou négocié</h3>
- <p>Lorsque le serveur d'origine est configuré pour servir des
- contenus différents en fonction de la valeur de certains en-têtes
- de la requête, par exemple pour servir une ressource en plusieurs
- langages à partir d'une seule URL, le mécanisme de mise en cache
- d'HTTP permet de mettre en cache plusieurs variantes de la même
- page à partir d'une seule URL.</p>
+ <p>Lorsque le serveur d'origine est configuré pour servir des
+ contenus différents en fonction de la valeur de certains en-têtes
+ de la requête, par exemple pour servir une ressource en plusieurs
+ langages à partir d'une seule URL, le mécanisme de mise en cache
+ d'HTTP permet de mettre en cache plusieurs variantes de la même
+ page à partir d'une seule URL.</p>
- <p>Pour y parvenir, le serveur d'origine ajoute un en-tête
- <code>Vary</code> pour indiquer quels en-têtes doivent être pris
- en compte par un cache pour déterminer si deux variantes sont
- différentes l'une de l'autre.</p>
+ <p>Pour y parvenir, le serveur d'origine ajoute un en-tête
+ <code>Vary</code> pour indiquer quels en-têtes doivent être pris
+ en compte par un cache pour déterminer si deux variantes sont
+ différentes l'une de l'autre.</p>
- <p>Si par exemple, une réponse est reçue avec l'en-tête Vary suivant,</p>
+ <p>Si par exemple, une réponse est reçue avec l'en-tête Vary suivant,</p>
<div class="example"><p><code>
Vary: negotiate,accept-language,accept-charset
</code></p></div>
<p><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> ne servira aux demandeurs que le contenu
- mis en cache qui correspond au contenu des en-têtes accept-language et
- accept-charset de la requête originale.</p>
-
- <p>Plusieurs variantes d'un contenu peuvent être mises en cache
- simultanément ; <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> utilise l'en-tête
- <code>Vary</code> et les valeurs correspondantes des en-têtes de
- la requête spécifiés dans ce dernier pour
- déterminer quelle variante doit être servie au client.</p>
+ mis en cache qui correspond au contenu des en-têtes accept-language et
+ accept-charset de la requête originale.</p>
+
+ <p>Plusieurs variantes d'un contenu peuvent être mises en cache
+ simultanément ; <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> utilise l'en-tête
+ <code>Vary</code> et les valeurs correspondantes des en-têtes de
+ la requête spécifiés dans ce dernier pour
+ déterminer quelle variante doit être servie au client.</p>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code></li><li><code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code></li><li><code class="module"><a href="./mod/mod_cache_socache.html">mod_cache_socache</a></code></li><li><code class="module"><a href="./mod/mod_socache_memcache.html">mod_socache_memcache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_cache.html#cacheenable">CacheEnable</a></code></li><li><code class="directive"><a href="./mod/mod_cache_disk.html#cacheroot">CacheRoot</a></code></li><li><code class="directive"><a href="./mod/mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></code></li><li><code class="directive"><a href="./mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code></li><li><code class="directive"><a href="./mod/mod_cache_socache.html#cachesocache">CacheSocache</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code></li><li><code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code></li><li><code class="module"><a href="./mod/mod_cache_socache.html">mod_cache_socache</a></code></li><li><code class="module"><a href="./mod/mod_socache_memcache.html">mod_socache_memcache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_cache.html#cacheenable">CacheEnable</a></code></li><li><code class="directive"><a href="./mod/mod_cache_disk.html#cacheroot">CacheRoot</a></code></li><li><code class="directive"><a href="./mod/mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></code></li><li><code class="directive"><a href="./mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code></li><li><code class="directive"><a href="./mod/mod_cache_socache.html#cachesocache">CacheSocache</a></code></li></ul></td></tr></table>
<h3><a name="disk" id="disk">Mise en cache sur disque</a></h3>
<p>Le module <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> s'appuie sur des
- implémentations de stockage sous-jacentes spécifiques pour gérer
- le cache ; à ce titre, <code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code> fournit le
+ implémentations de stockage sous-jacentes spécifiques pour gérer
+ le cache ; à ce titre, <code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code> fournit le
support de la mise en cache sur disque.</p>
- <p>En général, le module se configure comme suit :</p>
+ <p>En général, le module se configure comme suit :</p>
<pre class="prettyprint lang-config">CacheRoot "/var/cache/apache/"
CacheEnable disk /
CacheDirLength 1</pre>
- <p>Il est important de savoir que, les fichiers mis en cache étant stockés
- localement, la mise en cache par l'intermédiaire du système d'exploitation
- sera en général aussi appliquée à leurs accès. Si bien que même si les
- fichiers sont stockés sur disque, s'il font l'objet d'accès fréquents,
- il est probable que le système d'exploitation s'appliquera à ce qu'ils
- soient servis à partir de la mémoire.</p>
+ <p>Il est important de savoir que, les fichiers mis en cache étant stockés
+ localement, la mise en cache par l'intermédiaire du système d'exploitation
+ sera en général aussi appliquée à leurs accès. Si bien que même si les
+ fichiers sont stockés sur disque, s'il font l'objet d'accès fréquents,
+ il est probable que le système d'exploitation s'appliquera à ce qu'ils
+ soient servis à partir de la mémoire.</p>
<h3>Comprendre le stockage dans le cache</h3>
- <p>Pour stocker des entités dans le cache,
- le module <code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code> crée une empreinte (hash) de 22
- caractères de l'URL qui a fait l'objet d'une requête. Cette empreinte
- comprend le nom d'hôte, le protocole, le port, le chemin et tout argument
- de type CGI associé à l'URL, ainsi que les éléments
- spécifiés dans l'en-tête Vary afin d'être sur que plusieurs URLs
- n'interfèrent pas entre elles.</p>
-
- <p>Chaque position de l'empreinte peut contenir un caractère
- choisi parmi 64 caractères différents, il y a donc
- 64^22 possibilités pour une empreinte. Par exemple, une URL peut posséder
+ <p>Pour stocker des entités dans le cache,
+ le module <code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code> crée une empreinte (hash) de 22
+ caractères de l'URL qui a fait l'objet d'une requête. Cette empreinte
+ comprend le nom d'hôte, le protocole, le port, le chemin et tout argument
+ de type CGI associé à l'URL, ainsi que les éléments
+ spécifiés dans l'en-tête Vary afin d'être sur que plusieurs URLs
+ n'interfèrent pas entre elles.</p>
+
+ <p>Chaque position de l'empreinte peut contenir un caractère
+ choisi parmi 64 caractères différents, il y a donc
+ 64^22 possibilités pour une empreinte. Par exemple, une URL peut posséder
l'empreinte <code>xyTGxSMO2b68mBCykqkp1w</code>. Cette empreinte est
- utilisée pour préfixer les noms de fichiers spécifiques à cette URL à
- l'intérieur du cache; cependant, elle est tout d'abord placée dans les
- répertoires du cache selon les directives
+ utilisée pour préfixer les noms de fichiers spécifiques à cette URL à
+ l'intérieur du cache; cependant, elle est tout d'abord placée dans les
+ répertoires du cache selon les directives
<code class="directive"><a href="./mod/mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></code> et
<code class="directive"><a href="./mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code>.</p>
<p>La directive
<code class="directive"><a href="./mod/mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></code>
- définit le nombre de niveaux de sous-répertoires, et
+ définit le nombre de niveaux de sous-répertoires, et
<code class="directive"><a href="./mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code>
- le nombre de caractères composant le nom des sous-répertoires. Dans
- l'exemple donné plus haut, l'empreinte se trouvera à :
+ le nombre de caractères composant le nom des sous-répertoires. Dans
+ l'exemple donné plus haut, l'empreinte se trouvera à :
<code>/var/cache/apache/x/y/TGxSMO2b68mBCykqkp1w</code>.</p>
- <p>Cette technique a pour but principal de réduire le nombre de
- sous-répertoires ou de fichiers contenus dans un répertoire particulier,
- car le fonctionnement de la plupart des systèmes de fichiers est ralenti
+ <p>Cette technique a pour but principal de réduire le nombre de
+ sous-répertoires ou de fichiers contenus dans un répertoire particulier,
+ car le fonctionnement de la plupart des systèmes de fichiers est ralenti
quand ce nombre augmente. Avec la valeur "1" pour la directive
<code class="directive"><a href="./mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code>,
- il peut y avoir au plus 64 sous-répertoires à un niveau quelconque.
+ il peut y avoir au plus 64 sous-répertoires à un niveau quelconque.
Avec la valeur "2", il peut y en avoir 64 * 64, etc...
A moins d'avoir une bonne raison pour ne pas le faire, l'utilisation de
la valeur "1" pour la directive
<code class="directive"><a href="./mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code>
- est recommandée.</p>
+ est recommandée.</p>
- <p>Le paramétrage de la directive
+ <p>Le paramétrage de la directive
<code class="directive"><a href="./mod/mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></code>
- dépend du nombre de fichiers que vous pensez stocker dans le cache.
- Avec une valeur de "2" comme dans l'exemple donné plus haut,
- 4096 sous-répertoires peuvent être créés au total. Avec 1 million de
- fichiers dans le cache, cela équivaut à environ 245 URLs mises en cache
- dans chaque répertoire.</p>
-
- <p>Chaque URL nécessite au moins deux fichiers dans le cache. Ce sont en
- général un fichier ".header", qui contient des meta-informations à propos
- de l'URL, comme la date de son arrivée à expiration,
- et un fichier ".data" qui est la copie exacte du contenu à servir.</p>
-
- <p>Dans le cas d'un contenu négocié via l'en-tête "Vary", un répertoire
- ".vary" sera créé pour l'URL en question. Ce répertoire contiendra de
- multiples fichiers ".data" correspondant aux différents contenus
- négociés.</p>
+ dépend du nombre de fichiers que vous pensez stocker dans le cache.
+ Avec une valeur de "2" comme dans l'exemple donné plus haut,
+ 4096 sous-répertoires peuvent être créés au total. Avec 1 million de
+ fichiers dans le cache, cela équivaut à environ 245 URLs mises en cache
+ dans chaque répertoire.</p>
+
+ <p>Chaque URL nécessite au moins deux fichiers dans le cache. Ce sont en
+ général un fichier ".header", qui contient des meta-informations à propos
+ de l'URL, comme la date de son arrivée à expiration,
+ et un fichier ".data" qui est la copie exacte du contenu à servir.</p>
+
+ <p>Dans le cas d'un contenu négocié via l'en-tête "Vary", un répertoire
+ ".vary" sera créé pour l'URL en question. Ce répertoire contiendra de
+ multiples fichiers ".data" correspondant aux différents contenus
+ négociés.</p>
<h3>Maintenance du cache sur disque</h3>
<p>Le module <code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code> n'effectue aucune
- régulation de l'espace disque utilisé par le cache, mais s'il
- s'arrête en douceur en cas d'erreur disque et se comporte alors
- comme si le cache n'avait jamais existé.</p>
+ régulation de l'espace disque utilisé par le cache, mais s'il
+ s'arrête en douceur en cas d'erreur disque et se comporte alors
+ comme si le cache n'avait jamais existé.</p>
<p>Par contre l'utilitaire
<a href="programs/htcacheclean.html">htcacheclean</a> fourni avec
httpd
- vous permet de nettoyer le cache périodiquement.
- Déterminer la fréquence à laquelle lancer <a href="programs/htcacheclean.html">htcacheclean</a> et la taille souhaitée
- pour le cache est une tâche relativement complexe et il vous faudra de
- nombreux essais et erreurs pour arriver à sélectionner des valeurs
+ vous permet de nettoyer le cache périodiquement.
+ Déterminer la fréquence à laquelle lancer <a href="programs/htcacheclean.html">htcacheclean</a> et la taille souhaitée
+ pour le cache est une tâche relativement complexe et il vous faudra de
+ nombreux essais et erreurs pour arriver à sélectionner des valeurs
optimales.</p>
- <p><a href="programs/htcacheclean.html">htcacheclean</a> opère selon deux
- modes. Il peut s'exécuter comme démon résident, ou être lancé
- périodiquement par cron. <a href="programs/htcacheclean.html">htcacheclean</a> peut mettre une heure
- ou plus pour traiter de très grands caches (plusieurs dizaines de
- Gigaoctets) et si vous l'exécutez à partir de cron, il vous est
- conseillé de déterminer la durée typique d'un traitement, afin d'éviter
- d'exécuter plusieurs instances à la fois.</p>
+ <p><a href="programs/htcacheclean.html">htcacheclean</a> opère selon deux
+ modes. Il peut s'exécuter comme démon résident, ou être lancé
+ périodiquement par cron. <a href="programs/htcacheclean.html">htcacheclean</a> peut mettre une heure
+ ou plus pour traiter de très grands caches (plusieurs dizaines de
+ Gigaoctets) et si vous l'exécutez à partir de cron, il vous est
+ conseillé de déterminer la durée typique d'un traitement, afin d'éviter
+ d'exécuter plusieurs instances à la fois.</p>
- <p>Il est aussi conseillé d'attribuer un niveau de priorité "nice"
- approprié à htcacheclean de façon à ce qu'il n'effectue pas trop
- d'accès disque pendant le fonctionnement du serveur.</p>
+ <p>Il est aussi conseillé d'attribuer un niveau de priorité "nice"
+ approprié à htcacheclean de façon à ce qu'il n'effectue pas trop
+ d'accès disque pendant le fonctionnement du serveur.</p>
<p class="figure">
<img src="images/caching_fig1.gif" alt="" width="600" height="406" /><br />
<a id="figure1" name="figure1"><dfn>Figure 1</dfn></a>: Croissance
- typique du cache / séquence de nettoyage.</p>
+ typique du cache / séquence de nettoyage.</p>
<p>Comme <code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code> ne tient pas compte de l'espace
- utilisé dans le cache, vous devez vous assurer que
- <a href="programs/htcacheclean.html">htcacheclean</a> est configuré de
- façon à laisser suffisamment d'"espace de croissance"
- à la suite d'un nettoyage.</p>
+ utilisé dans le cache, vous devez vous assurer que
+ <a href="programs/htcacheclean.html">htcacheclean</a> est configuré de
+ façon à laisser suffisamment d'"espace de croissance"
+ à la suite d'un nettoyage.</p>
- <h3><a name="memcache" id="memcache">Cache en mémoire</a></h3>
+ <h3><a name="memcache" id="memcache">Cache en mémoire</a></h3>
<p>En utilisant le module <code class="module"><a href="./mod/mod_cache_socache.html">mod_cache_socache</a></code>,
- <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> peut mettre en cache des données à partir de
- diverses implémentations aussi nommées "fournisseurs". Par exemple, en
+ <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> peut mettre en cache des données à partir de
+ diverses implémentations aussi nommées "fournisseurs". Par exemple, en
utilisant le module <code class="module"><a href="./mod/mod_socache_memcache.html">mod_socache_memcache</a></code>, on peut
- spécifier que c'est <a href="http://memcached.org">memcached</a> qui doit
- être utilisé comme mécanisme de stockage sous-jacent.</p>
+ spécifier que c'est <a href="http://memcached.org">memcached</a> qui doit
+ être utilisé comme mécanisme de stockage sous-jacent.</p>
- <p>Typiquement, le module sera configuré comme suit :</p>
+ <p>Typiquement, le module sera configuré comme suit :</p>
<pre class="prettyprint lang-config">CacheEnable socache /
CacheSocache memcache:memcd.example.com:11211</pre>
- <p>En outre, il est possible de spécifier plusieurs serveurs
- <code>memcached</code> en les ajoutant à la fin de la ligne
- <code>CacheSocache memcache:</code> et en les séparant par des virgules :</p>
+ <p>En outre, il est possible de spécifier plusieurs serveurs
+ <code>memcached</code> en les ajoutant à la fin de la ligne
+ <code>CacheSocache memcache:</code> et en les séparant par des virgules :</p>
<pre class="prettyprint lang-config">CacheEnable socache /
CacheSocache memcache:mem1.example.com:11211,mem2.example.com:11212</pre>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="socache-caching" id="socache-caching">Mise en cache générale d'objets partagés à deux états de forme
- clé/valeur</a><a title="Lien permanent" href="#socache-caching" class="permalink">¶</a></h2>
+<h2><a name="socache-caching" id="socache-caching">Mise en cache générale d'objets partagés à deux états de forme
+ clé/valeur</a><a title="Lien permanent" href="#socache-caching" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_authn_socache.html">mod_authn_socache</a></code></li><li><code class="module"><a href="./mod/mod_socache_dbm.html">mod_socache_dbm</a></code></li><li><code class="module"><a href="./mod/mod_socache_dc.html">mod_socache_dc</a></code></li><li><code class="module"><a href="./mod/mod_socache_memcache.html">mod_socache_memcache</a></code></li><li><code class="module"><a href="./mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code></li><li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_authn_socache.html#authncachesocache">AuthnCacheSOCache</a></code></li><li><code class="directive"><a href="./mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code></li><li><code class="directive"><a href="./mod/mod_ssl.html#sslstaplingcache">SSLStaplingCache</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_authn_socache.html">mod_authn_socache</a></code></li><li><code class="module"><a href="./mod/mod_socache_dbm.html">mod_socache_dbm</a></code></li><li><code class="module"><a href="./mod/mod_socache_dc.html">mod_socache_dc</a></code></li><li><code class="module"><a href="./mod/mod_socache_memcache.html">mod_socache_memcache</a></code></li><li><code class="module"><a href="./mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code></li><li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_authn_socache.html#authncachesocache">AuthnCacheSOCache</a></code></li><li><code class="directive"><a href="./mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code></li><li><code class="directive"><a href="./mod/mod_ssl.html#sslstaplingcache">SSLStaplingCache</a></code></li></ul></td></tr></table>
- <p>Le serveur HTTP Apache fournit un cache d'objets partagés de bas
+ <p>Le serveur HTTP Apache fournit un cache d'objets partagés de bas
niveau pour la mise en cache d'informations comme les sessions SSL
- ou les données d'authentification dans l'interface <a href="socache.html">socache</a>.</p>
+ ou les données d'authentification dans l'interface <a href="socache.html">socache</a>.</p>
- <p>Pour chaque implémentation un module supplémentaire est fourni
- qui offre les services d'arrière-plan suivants :</p>
+ <p>Pour chaque implémentation un module supplémentaire est fourni
+ qui offre les services d'arrière-plan suivants :</p>
<dl>
<dt><code class="module"><a href="./mod/mod_socache_dbm.html">mod_socache_dbm</a></code></dt>
- <dd>Cache d'objets partagés basé sur DBM.</dd>
+ <dd>Cache d'objets partagés basé sur DBM.</dd>
<dt><code class="module"><a href="./mod/mod_socache_dc.html">mod_socache_dc</a></code></dt>
- <dd>Cache d'objets partagés basé sur Distcache.</dd>
+ <dd>Cache d'objets partagés basé sur Distcache.</dd>
<dt><code class="module"><a href="./mod/mod_socache_memcache.html">mod_socache_memcache</a></code></dt>
- <dd>Cache d'objets partagés basé sur Memcache.</dd>
+ <dd>Cache d'objets partagés basé sur Memcache.</dd>
<dt><code class="module"><a href="./mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code></dt>
- <dd>Cache d'objets partagés basé sur la mémoire partagée.</dd>
+ <dd>Cache d'objets partagés basé sur la mémoire partagée.</dd>
</dl>
- <h3><a name="mod_authn_socache-caching" id="mod_authn_socache-caching">Mise en cache des données d'authentification</a></h3>
+ <h3><a name="mod_authn_socache-caching" id="mod_authn_socache-caching">Mise en cache des données d'authentification</a></h3>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_authn_socache.html">mod_authn_socache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_authn_socache.html#authncachesocache">AuthnCacheSOCache</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_authn_socache.html">mod_authn_socache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_authn_socache.html#authncachesocache">AuthnCacheSOCache</a></code></li></ul></td></tr></table>
<p>Le module <code class="module"><a href="./mod/mod_authn_socache.html">mod_authn_socache</a></code> permet la mise en
- cache des données issues d'une authentification, diminuant ainsi
- la charge des serveurs d'authentification d'arrière-plan.</p>
+ cache des données issues d'une authentification, diminuant ainsi
+ la charge des serveurs d'authentification d'arrière-plan.</p>
<h3><a name="mod_ssl-caching" id="mod_ssl-caching">Mise en cache des sessions SSL</a></h3>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code></li><li><code class="directive"><a href="./mod/mod_ssl.html#sslstaplingcache">SSLStaplingCache</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code></li><li><code class="directive"><a href="./mod/mod_ssl.html#sslstaplingcache">SSLStaplingCache</a></code></li></ul></td></tr></table>
<p>Le module <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> utilise l'interface
<code>socache</code> pour fournir un cache de session et un cache
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="file-caching" id="file-caching">Mise en cache à base de fichiers spécialisés</a><a title="Lien permanent" href="#file-caching" class="permalink">¶</a></h2>
+<h2><a name="file-caching" id="file-caching">Mise en cache à base de fichiers spécialisés</a><a title="Lien permanent" href="#file-caching" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_file_cache.html#cachefile">CacheFile</a></code></li><li><code class="directive"><a href="./mod/mod_file_cache.html#mmapfile">MMapFile</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_file_cache.html#cachefile">CacheFile</a></code></li><li><code class="directive"><a href="./mod/mod_file_cache.html#mmapfile">MMapFile</a></code></li></ul></td></tr></table>
- <p>Sur les plateformes où le système de fichiers peut être lent, ou
+ <p>Sur les plateformes où le système de fichiers peut être lent, ou
lorsque les descripteurs de fichiers sont gourmands en ressources,
- il est possible de précharger des fichiers en mémoire au démarrage
+ il est possible de précharger des fichiers en mémoire au démarrage
du serveur.</p>
- <p>Sur les systèmes où l'ouverture des fichiers est lente, il est
- possible d'ouvrir le fichier au démarrage du serveur et de mettre en
+ <p>Sur les systèmes où l'ouverture des fichiers est lente, il est
+ possible d'ouvrir le fichier au démarrage du serveur et de mettre en
cache le descripteur de fichier. Ces options peuvent vous aider sur
- les systèmes où l'accès aux fichiers statiques est lent.</p>
+ les systèmes où l'accès aux fichiers statiques est lent.</p>
<h3><a name="filehandle" id="filehandle">Mise en cache des descripteurs de fichier</a></h3>
- <p>Le processus d'ouverture d'un fichier peut être en soi une
- source de ralentissement, en particulier sur les systèmes de
- fichiers sur le réseau. httpd permet d'éviter ce ralentissement en
+ <p>Le processus d'ouverture d'un fichier peut être en soi une
+ source de ralentissement, en particulier sur les systèmes de
+ fichiers sur le réseau. httpd permet d'éviter ce ralentissement en
maintenant un cache des descripteurs de fichiers ouverts pour les
fichiers souvent servis. Actuellement, httpd fournit une seule
- implémentation de mise en cache des descripteurs de fichiers.</p>
+ implémentation de mise en cache des descripteurs de fichiers.</p>
<h4>CacheFile</h4>
<p>La forme la plus basique de mise en cache que propose httpd
est la mise en cache des descripteurs de fichiers fournie par le
- module <code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code>. Plutôt que de mettre en
+ module <code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code>. Plutôt que de mettre en
cache le contenu des fichiers, ce cache maintient une table des
descripteurs de fichiers ouverts. Les fichiers devant faire
- l'objet d'une mise en cache de ce type sont spécifiés dans le
+ l'objet d'une mise en cache de ce type sont spécifiés dans le
fichier de configuration via la directive <code class="directive"><a href="./mod/mod_file_cache.html#cachefile">CacheFile</a></code>.</p>
<p>La directive <code class="directive"><a href="./mod/mod_file_cache.html#cachefile">CacheFile</a></code> informe httpd
- qu'il doit ouvrir le fichier lors de son démarrage et qu'il doit
- réutiliser le descripteur de fichier mis en cache pour tous les
- accès futurs à ce fichier.</p>
+ qu'il doit ouvrir le fichier lors de son démarrage et qu'il doit
+ réutiliser le descripteur de fichier mis en cache pour tous les
+ accès futurs à ce fichier.</p>
<pre class="prettyprint lang-config">CacheFile /usr/local/apache2/htdocs/index.html</pre>
- <p>Si vous désirez mettre en cache un grand nombre de fichiers
- de cette manière, vous devez vous assurer que le nombre maximal
- de fichiers ouverts pour votre système d'exploitation est défini
- à une valeur suffisante.</p>
+ <p>Si vous désirez mettre en cache un grand nombre de fichiers
+ de cette manière, vous devez vous assurer que le nombre maximal
+ de fichiers ouverts pour votre système d'exploitation est défini
+ à une valeur suffisante.</p>
- <p>Bien que l'utilisation de la directive <code class="directive"><a href="./mod/mod_file_cache.html#cachefile">CacheFile</a></code> n'entraîne pas de
+ <p>Bien que l'utilisation de la directive <code class="directive"><a href="./mod/mod_file_cache.html#cachefile">CacheFile</a></code> n'entraîne pas de
mise en cache du contenu du fichier proprement dit, elle
- implique que si le fichier est modifié pendant l'exécution du
+ implique que si le fichier est modifié pendant l'exécution du
serveur, ces modifications ne seront pas prises en compte. Le
- fichier sera toujours servi dans l'état où il se trouvait au
- moment du démarrage du serveur.</p>
-
- <p>Si le fichier est supprimé pendant l'exécution du serveur, ce
- dernier conservera le descripteur de fichier ouvert associé et
- servira le fichier dans l'état où il se trouvait au
- moment du démarrage du serveur. Cela signifie aussi que même si
- le fichier a été supprimé, et n'apparaît donc plus dans le
- système de fichiers, l'espace disque libéré ne sera disponible
- qu'une fois le serveur httpd arrêté et donc le descripteur de
- fichier fermé.</p>
+ fichier sera toujours servi dans l'état où il se trouvait au
+ moment du démarrage du serveur.</p>
+
+ <p>Si le fichier est supprimé pendant l'exécution du serveur, ce
+ dernier conservera le descripteur de fichier ouvert associé et
+ servira le fichier dans l'état où il se trouvait au
+ moment du démarrage du serveur. Cela signifie aussi que même si
+ le fichier a été supprimé, et n'apparaît donc plus dans le
+ système de fichiers, l'espace disque libéré ne sera disponible
+ qu'une fois le serveur httpd arrêté et donc le descripteur de
+ fichier fermé.</p>
<h3><a name="inmemory" id="inmemory">In-Memory Caching</a></h3>
- <p>Servir un contenu directement depuis la mémoire système est
- universellement reconnu comme la méthode la plus rapide. Lire des fichiers
- depuis un contrôleur de disque ou pire, depuis un réseau distant est plus
- lent de plusieurs ordres de grandeur. Les contrôleurs de disque réalisent
- en général des opérations mécaniques, et l'accès au réseau est limité par la
- bande passante dont vous disposez. Par contre, les temps d'accès à la
- mémoire sont de l'ordre de la nano-seconde.</p>
-
- <p>Cependant la mémoire système n'est pas bon marché; à capacité égale,
- c'est de loin le type de stockage le plus coûteux et il est important de
- s'assurer qu'elle est utilisée efficacement. Le fait de mettre en cache
- des fichiers en mémoire diminue d'autant la quantité de mémoire système
- disponible. Comme nous le verrons plus loin, ce n'est pas un problème en
- soi dans le cas de la mise en cache par l'intermédiaire du système
- d'exploitation, mais si l'on utilise la mise en cache en mémoire propre à
- httpd, il faut prendre garde à ne pas allouer trop de mémoire au cache.
- Sinon le système sera contraint d'utiliser le swap, ce qui dégradera
+ <p>Servir un contenu directement depuis la mémoire système est
+ universellement reconnu comme la méthode la plus rapide. Lire des fichiers
+ depuis un contrôleur de disque ou pire, depuis un réseau distant est plus
+ lent de plusieurs ordres de grandeur. Les contrôleurs de disque réalisent
+ en général des opérations mécaniques, et l'accès au réseau est limité par la
+ bande passante dont vous disposez. Par contre, les temps d'accès à la
+ mémoire sont de l'ordre de la nano-seconde.</p>
+
+ <p>Cependant la mémoire système n'est pas bon marché; à capacité égale,
+ c'est de loin le type de stockage le plus coûteux et il est important de
+ s'assurer qu'elle est utilisée efficacement. Le fait de mettre en cache
+ des fichiers en mémoire diminue d'autant la quantité de mémoire système
+ disponible. Comme nous le verrons plus loin, ce n'est pas un problème en
+ soi dans le cas de la mise en cache par l'intermédiaire du système
+ d'exploitation, mais si l'on utilise la mise en cache en mémoire propre à
+ httpd, il faut prendre garde à ne pas allouer trop de mémoire au cache.
+ Sinon le système sera contraint d'utiliser le swap, ce qui dégradera
sensiblement les performances.</p>
- <h4>Mise en cache par l'intermédiaire du système d'exploitation</h4>
+ <h4>Mise en cache par l'intermédiaire du système d'exploitation</h4>
- <p>Dans la plupart des systèmes d'exploitation modernes, c'est le noyau
- qui gère directement la mise en cache en mémoire des données relatives
- aux fichiers. C'est une fonctionnalité puissante, et les systèmes
+ <p>Dans la plupart des systèmes d'exploitation modernes, c'est le noyau
+ qui gère directement la mise en cache en mémoire des données relatives
+ aux fichiers. C'est une fonctionnalité puissante, et les systèmes
d'exploitation s'en acquittent fort bien pour la plus grande partie.
- Considérons par exemple, dans le cas de Linux, la différence entre le
- temps nécessaire à la première lecture d'un fichier et le temps
- nécessaire à sa deuxième lecture;</p>
+ Considérons par exemple, dans le cas de Linux, la différence entre le
+ temps nécessaire à la première lecture d'un fichier et le temps
+ nécessaire à sa deuxième lecture;</p>
<div class="example"><pre>colm@coroebus:~$ time cat testfile > /dev/null
real 0m0.065s
user 0m0.003s
sys 0m0.000s</pre></div>
- <p>Même pour ce petit fichier, il y a une grande différence entre les
- temps nécessaires pour lire le fichier. Ceci est du au fait que le
- noyau a mis en cache le contenu du fichier en mémoire.</p>
+ <p>Même pour ce petit fichier, il y a une grande différence entre les
+ temps nécessaires pour lire le fichier. Ceci est du au fait que le
+ noyau a mis en cache le contenu du fichier en mémoire.</p>
- <p>Du fait de toujours pouvoir disposer de mémoire système, vous pouvez
- être assuré qu'il y aura de plus en plus de contenus de fichiers stockés
- dans ce cache. Ceci peut s'avérer une méthode de mise en cache en mémoire
- très efficace, et ne nécessite aucune configuration supplémentaire
+ <p>Du fait de toujours pouvoir disposer de mémoire système, vous pouvez
+ être assuré qu'il y aura de plus en plus de contenus de fichiers stockés
+ dans ce cache. Ceci peut s'avérer une méthode de mise en cache en mémoire
+ très efficace, et ne nécessite aucune configuration supplémentaire
de httpd.</p>
- <p>De plus, comme le système d'exploitation sait si des fichiers
- ont été
- supprimés ou modifiés, il peut effacer automatiquement des contenus de
- fichiers du cache lorsque cela s'avère nécessaire. Ceci constitue un gros
- avantage par rapport à la mise en cache en mémoire
+ <p>De plus, comme le système d'exploitation sait si des fichiers
+ ont été
+ supprimés ou modifiés, il peut effacer automatiquement des contenus de
+ fichiers du cache lorsque cela s'avère nécessaire. Ceci constitue un gros
+ avantage par rapport à la mise en cache en mémoire
de httpd qui n'a
- aucune possibilité de savoir si un fichier a été modifié.</p>
+ aucune possibilité de savoir si un fichier a été modifié.</p>
- <p>En dépit des performances et des avantages de la mise en cache
- automatique par le système d'exploitation, la mise en cache en mémoire
- peut être effectuée plus efficacement par httpd dans certaines
+ <p>En dépit des performances et des avantages de la mise en cache
+ automatique par le système d'exploitation, la mise en cache en mémoire
+ peut être effectuée plus efficacement par httpd dans certaines
circonstances.</p>
- <h4>Mise en cache à l'aide de la directive MMapFile</h4>
+ <h4>Mise en cache à l'aide de la directive MMapFile</h4>
<p>La directive <code class="directive"><a href="./mod/mod_file_cache.html#mmapfile">MMapFile</a></code>
fournie par le module <code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code> vous permet de
- demander à httpd de charger un contenu de fichier statique en mémoire
- lors de son démarrage (à l'aide de l'appel
- système mmap). httpd
- utilisera le contenu chargé en mémoire pour satisfaire ultérieurement
- toutes les demandes d'accès à ce fichier.</p>
+ demander à httpd de charger un contenu de fichier statique en mémoire
+ lors de son démarrage (à l'aide de l'appel
+ système mmap). httpd
+ utilisera le contenu chargé en mémoire pour satisfaire ultérieurement
+ toutes les demandes d'accès à ce fichier.</p>
<pre class="prettyprint lang-config">MMapFile /usr/local/apache2/htdocs/index.html</pre>
<p>Comme dans le cas de la directive
<code class="directive"><a href="./mod/mod_file_cache.html#cachefile">CacheFile</a></code>, toute
modification du fichier ne sera plus prise en compte par httpd une fois
- ce dernier démarré.</p>
+ ce dernier démarré.</p>
<p> La directive
<code class="directive"><a href="./mod/mod_file_cache.html#mmapfile">MMapFile</a></code> ne gardant
- pas la trace de la quantité de mémoire qu'elle alloue, vous devez prendre
+ pas la trace de la quantité de mémoire qu'elle alloue, vous devez prendre
garde de ne pas en abuser. Chaque processus enfant de httpd utilisant
- sa propre réplique de la mémoire allouée, il est donc d'une importance
- critique de s'assurer que les fichiers chargés ne sont pas d'une taille
- trop importante afin d'épargner au système l'utilisation du swap.</p>
+ sa propre réplique de la mémoire allouée, il est donc d'une importance
+ critique de s'assurer que les fichiers chargés ne sont pas d'une taille
+ trop importante afin d'épargner au système l'utilisation du swap.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="security" id="security">Considérations sur la sécurité</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
+<h2><a name="security" id="security">Considérations sur la sécurité</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
- <h3>Autorisation et contrôle d'accès</h3>
+ <h3>Autorisation et contrôle d'accès</h3>
- <p>Utiliser <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> revient sensiblement à la même
- chose qu'avoir un mandataire inverse intégré (reverse-proxy). Les requêtes
+ <p>Utiliser <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> revient sensiblement à la même
+ chose qu'avoir un mandataire inverse intégré (reverse-proxy). Les requêtes
seront servies par le module de mise en cache sauf si ce dernier
- détermine qu'un processus d'arrière-plan doit être appelé. La mise en
- cache de ressources locales modifie considérablement le modèle de
- sécurité de httpd.</p>
-
- <p>Comme le parcours de la hiérarchie d'un système de fichiers pour
- examiner le contenu d'éventuels fichiers
- <code>.htaccess</code> serait une opération très coûteuse en ressources,
- annulant partiellement de ce fait l'intérêt de la mise en cache
- (accélérer le traitement des requêtes),
- <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> ne se préoccupe pas de savoir s'il a
- l'autorisation de servir une entité mise en cache. En d'autres termes,
+ détermine qu'un processus d'arrière-plan doit être appelé. La mise en
+ cache de ressources locales modifie considérablement le modèle de
+ sécurité de httpd.</p>
+
+ <p>Comme le parcours de la hiérarchie d'un système de fichiers pour
+ examiner le contenu d'éventuels fichiers
+ <code>.htaccess</code> serait une opération très coûteuse en ressources,
+ annulant partiellement de ce fait l'intérêt de la mise en cache
+ (accélérer le traitement des requêtes),
+ <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> ne se préoccupe pas de savoir s'il a
+ l'autorisation de servir une entité mise en cache. En d'autres termes,
si <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> a mis en cache un certain contenu, ce
- dernier sera servi à partir du cache tant qu'il ne sera pas arrivé à
+ dernier sera servi à partir du cache tant qu'il ne sera pas arrivé à
expiration.</p>
- <p>Si par exemple, votre configuration autorise l'accès à une ressource
+ <p>Si par exemple, votre configuration autorise l'accès à une ressource
en fonction de l'adresse IP, vous devez vous assurer que ce contenu n'est
pas mis en cache. Ceci est possible en utilisant la directive
<code class="directive"><a href="./mod/mod_cache.html#cachedisable">CacheDisable</a></code>, ou le module
- <code class="module"><a href="./mod/mod_expires.html">mod_expires</a></code>. Livré à lui-même,
+ <code class="module"><a href="./mod/mod_expires.html">mod_expires</a></code>. Livré à lui-même,
<code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> - pratiquement comme un mandataire inverse -
mettrait en cache le contenu lors de son service, et le servirait ensuite
- à tout client, vers n'importe quelle adresse IP.</p>
+ à tout client, vers n'importe quelle adresse IP.</p>
- <p>Lorsque la directive <code class="directive"><a href="./mod/mod_cache.html#cachequickhandler">CacheQuickHandler</a></code> est définie à
- <code>Off</code>, toutes les phases du traitement de la requête
- sont exécutées et le modèle de sécurité reste le même.</p>
+ <p>Lorsque la directive <code class="directive"><a href="./mod/mod_cache.html#cachequickhandler">CacheQuickHandler</a></code> est définie à
+ <code>Off</code>, toutes les phases du traitement de la requête
+ sont exécutées et le modèle de sécurité reste le même.</p>
<h3>Piratages locaux</h3>
- <p>Etant donné que les requêtes des utilisateurs finaux peuvent être
+ <p>Etant donné que les requêtes des utilisateurs finaux peuvent être
servies depuis le cache, ce dernier est une cible potentielle pour ceux
- qui veulent défigurer un contenu ou interférer avec lui. Il est important
- de garder à l'esprit que l'utilisateur sous lequel tourne
+ qui veulent défigurer un contenu ou interférer avec lui. Il est important
+ de garder à l'esprit que l'utilisateur sous lequel tourne
httpd doit
- toujours avoir l'accès en écriture dans le cache. Ceci est en contraste
- total avec la recommandation usuelle d'interdire à l'utilisateur sous
+ toujours avoir l'accès en écriture dans le cache. Ceci est en contraste
+ total avec la recommandation usuelle d'interdire à l'utilisateur sous
lequel tourne Apache
- l'accès en écriture à tout contenu.</p>
+ l'accès en écriture à tout contenu.</p>
<p>Si l'utilisateur sous lequel tourne Apache est compromis,
- par exemple à cause d'une
- faille de sécurité dans un processus CGI, il est possible que le cache
- fasse l'objet d'une attaque. Il est relativement aisé d'insérer ou de
- modifier une entité dans le cache en utilisant le module
+ par exemple à cause d'une
+ faille de sécurité dans un processus CGI, il est possible que le cache
+ fasse l'objet d'une attaque. Il est relativement aisé d'insérer ou de
+ modifier une entité dans le cache en utilisant le module
<code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code>.</p>
- <p>Cela représente un risque relativement élévé par rapport aux autres
+ <p>Cela représente un risque relativement élévé par rapport aux autres
types d'attaques qu'il est possible de mener sous l'utilisateur apache.
Si vous utilisez <code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code>, vous devez garder ceci
- à l'esprit : effectuez toujours les mises à jour de
+ à l'esprit : effectuez toujours les mises à jour de
httpdquand des
- correctifs de sécurité sont annoncés et exécutez les processus CGI sous
+ correctifs de sécurité sont annoncés et exécutez les processus CGI sous
un utilisateur autre qu'apache en utilisant
<a href="suexec.html">suEXEC</a> dans la mesure du possible.</p>
<p>Si vous utilisez httpd comme serveur mandataire avec mise en cache,
- vous vous exposez aussi à un éventuel "Empoisonnement du
- cache" (Cache poisoning). L'empoisonnement du cache est un terme général
- pour désigner les attaques au cours desquelles l'attaquant fait en sorte
- que le serveur mandataire renvoie à un contenu incorrect (et souvent
- indésirable) suite à en provenance du serveur d'arrière-plan.
+ vous vous exposez aussi à un éventuel "Empoisonnement du
+ cache" (Cache poisoning). L'empoisonnement du cache est un terme général
+ pour désigner les attaques au cours desquelles l'attaquant fait en sorte
+ que le serveur mandataire renvoie à un contenu incorrect (et souvent
+ indésirable) suite à en provenance du serveur d'arrière-plan.
</p>
- <p>Par exemple, si les serveur DNS qu'utilise votre système où tourne
- httpd sont vulnérables à l'empoisonnement du cache des DNS, un attaquant
- pourra contrôler vers où httpd se connecte lorsqu'il demande un contenu
+ <p>Par exemple, si les serveur DNS qu'utilise votre système où tourne
+ httpd sont vulnérables à l'empoisonnement du cache des DNS, un attaquant
+ pourra contrôler vers où httpd se connecte lorsqu'il demande un contenu
depuis le serveur d'origine.
- Un autre exemple est constitué par les attaques ainsi nommées
- "Dissimulation de requêtes HTTP" (HTTP request-smuggling).</p>
+ Un autre exemple est constitué par les attaques ainsi nommées
+ "Dissimulation de requêtes HTTP" (HTTP request-smuggling).</p>
<p>Ce document n'est pas le bon endroit pour une discussion approfondie
- à propos de la Dissimulation de requêtes HTTP (utilisez plutôt votre
+ à propos de la Dissimulation de requêtes HTTP (utilisez plutôt votre
moteur de recherche favori); il est cependant important de savoir qu'il
- est possible d'élaborer une série de requêtes, et d'exploiter une
- vulnérabilité d'un serveur web d'origine de telle façon que l'attaquant
- puisse contrôler entièrement le contenu renvoyé par le mandataire.</p>
+ est possible d'élaborer une série de requêtes, et d'exploiter une
+ vulnérabilité d'un serveur web d'origine de telle façon que l'attaquant
+ puisse contrôler entièrement le contenu renvoyé par le mandataire.</p>
- <h3>Déni de Service / Cachebusting</h3>
+ <h3>Déni de Service / Cachebusting</h3>
- <p>Le mécanisme utilisé via l'en-tête Vary permet de mettre en
- cache simultanément plusieurs variantes d'une ressource avec la
- même URL. Le cache sélectionne la variante correcte à envoyer au
- client en fonction des valeurs d'en-tête fournies par ce dernier.
- Ce mécanisme peut devenir un problème lorsqu'on tente d'appliquer
- le mécanisme des variantes à un en-tête connu pour pouvoir
- posséder un grand nombre de valeurs
- possibles en utilisation normal, comme par exemple l'en-tête
- <code>User-Agent</code>. En fonction de la popularité du site web,
- des milliers ou même des millions d'entrées de cache dupliquées
- peuvent être créées pour la même URL, submergeant les autres
- entrées du cache.</p>
+ <p>Le mécanisme utilisé via l'en-tête Vary permet de mettre en
+ cache simultanément plusieurs variantes d'une ressource avec la
+ même URL. Le cache sélectionne la variante correcte à envoyer au
+ client en fonction des valeurs d'en-tête fournies par ce dernier.
+ Ce mécanisme peut devenir un problème lorsqu'on tente d'appliquer
+ le mécanisme des variantes à un en-tête connu pour pouvoir
+ posséder un grand nombre de valeurs
+ possibles en utilisation normal, comme par exemple l'en-tête
+ <code>User-Agent</code>. En fonction de la popularité du site web,
+ des milliers ou même des millions d'entrées de cache dupliquées
+ peuvent être créées pour la même URL, submergeant les autres
+ entrées du cache.</p>
- <p>Dans d'autres cas, il peut être nécessaire de modifier l'URL
- d'une ressource particulière à chaque requête, en général en lui
- ajoutant une chaîne "cachebuster". Si ce contenu est déclaré comme
- pouvant être mis en cache par un serveur avec une durée de
- fraîcheur significative, ces entrées peuvent submerger les entrées
- légitimes du cache. Alors que <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> fournit
+ <p>Dans d'autres cas, il peut être nécessaire de modifier l'URL
+ d'une ressource particulière à chaque requête, en général en lui
+ ajoutant une chaîne "cachebuster". Si ce contenu est déclaré comme
+ pouvant être mis en cache par un serveur avec une durée de
+ fraîcheur significative, ces entrées peuvent submerger les entrées
+ légitimes du cache. Alors que <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> fournit
une directive <code class="directive"><a href="./mod/mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></code>,
- cette dernière doit être utilisée avec prudence pour s'assurer que
+ cette dernière doit être utilisée avec prudence pour s'assurer que
les caches du navigateur ou du mandataire le plus proche
- (downstream proxy) ne sont pas victimes du même problème de Déni de
+ (downstream proxy) ne sont pas victimes du même problème de Déni de
service.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/caching.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/caching.html" title="Français"> fr </a> |
-<a href="./tr/caching.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./fr/caching.html" title="Français"> fr </a> |
+<a href="./tr/caching.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Conformité au protocole HTTP - Serveur Apache HTTP Version 2.5</title>
+<title>Conformité au protocole HTTP - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Conformité au protocole HTTP</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Conformité au protocole HTTP</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/compliance.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/compliance.html" title="Français"> fr </a></p>
+<a href="./fr/compliance.html" title="Français"> fr </a></p>
</div>
- <p>Ce document décrit le mécanisme utilisé pour définir une
- politique de conformité au protocole HTTP pour un espace d'URL au
- niveau des serveurs d'origine ou des application sous-jacentes à cet
+ <p>Ce document décrit le mécanisme utilisé pour définir une
+ politique de conformité au protocole HTTP pour un espace d'URL au
+ niveau des serveurs d'origine ou des application sous-jacentes à cet
espace d'URL.</p>
- <p>Chaque politique de conformité est décrite ci-dessous à
- destination de tous ceux qui ont reçu un message d'erreur suite à un
- rejet en provenance d'une politique, et ont donc besoin de savoir à
+ <p>Chaque politique de conformité est décrite ci-dessous à
+ destination de tous ceux qui ont reçu un message d'erreur suite à un
+ rejet en provenance d'une politique, et ont donc besoin de savoir à
quoi est du ce rejet et ce qu'ils doivent faire pour corriger
l'erreur.</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#intro">Imposer la conformité au protocole HTTP dans Apache 2</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#policyconditional">Politique des requêtes conditionnelles</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#policylength">Politique de gestion de l'en-tête Content-Length</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#policytype">Politique de filtrage de l'en-tête Content-Type</a></li>
+<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#intro">Imposer la conformité au protocole HTTP dans Apache 2</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#policyconditional">Politique des requêtes conditionnelles</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#policylength">Politique de gestion de l'en-tête Content-Length</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#policytype">Politique de filtrage de l'en-tête Content-Type</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#policykeepalive">Politique de gestion des connexions persistantes (Keepalive)</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#policymaxage">Durée de fraîcheur / Politique de gestion de l'âge maximum</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#policynocache">Politique de gestion des contenus qui ne peuvent pas être mis
+<li><img alt="" src="./images/down.gif" /> <a href="#policymaxage">Durée de fraîcheur / Politique de gestion de l'âge maximum</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#policynocache">Politique de gestion des contenus qui ne peuvent pas être mis
en cache</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#policyvalidation">Politique de validation</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#policyvary">Politique de gestion de l'en-tête Vary</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#policyvary">Politique de gestion de l'en-tête Vary</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#policyversion">Politique de gestion des versions de protocole</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="filter.html">Filtres</a></li><li><a href="#comments_section">Commentaires</a></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="intro" id="intro">Imposer la conformité au protocole HTTP dans Apache 2</a><a title="Lien permanent" href="#intro" class="permalink">¶</a></h2>
+<h2><a name="intro" id="intro">Imposer la conformité au protocole HTTP dans Apache 2</a><a title="Lien permanent" href="#intro" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policyconditional">PolicyConditional</a></code></li><li><code class="directive"><a href="./mod/mod_policy.html#policylength">PolicyLength</a></code></li><li><code class="directive"><a href="./mod/mod_policy.html#policykeepalive">PolicyKeepalive</a></code></li><li><code class="directive"><a href="./mod/mod_policy.html#policytype">PolicyType</a></code></li><li><code class="directive"><a href="./mod/mod_policy.html#policyvary">PolicyVary</a></code></li><li><code class="directive"><a href="./mod/mod_policy.html#policyvalidation">PolicyValidation</a></code></li><li><code class="directive"><a href="./mod/mod_policy.html#policynocache">PolicyNocache</a></code></li><li><code class="directive"><a href="./mod/mod_policy.html#policymaxage">PolicyMaxage</a></code></li><li><code class="directive"><a href="./mod/mod_policy.html#policyversion">PolicyVersion</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policyconditional">PolicyConditional</a></code></li><li><code class="directive"><a href="./mod/mod_policy.html#policylength">PolicyLength</a></code></li><li><code class="directive"><a href="./mod/mod_policy.html#policykeepalive">PolicyKeepalive</a></code></li><li><code class="directive"><a href="./mod/mod_policy.html#policytype">PolicyType</a></code></li><li><code class="directive"><a href="./mod/mod_policy.html#policyvary">PolicyVary</a></code></li><li><code class="directive"><a href="./mod/mod_policy.html#policyvalidation">PolicyValidation</a></code></li><li><code class="directive"><a href="./mod/mod_policy.html#policynocache">PolicyNocache</a></code></li><li><code class="directive"><a href="./mod/mod_policy.html#policymaxage">PolicyMaxage</a></code></li><li><code class="directive"><a href="./mod/mod_policy.html#policyversion">PolicyVersion</a></code></li></ul></td></tr></table>
<p>Le protocole HTTP applique le <strong>principe de
- robustesse</strong> décrit dans la <a href="http://tools.ietf.org/html/rfc1122">RFC1122</a>, et stipulant
- <strong>"Soyez libéral pour ce que vous acceptez, conservateur pour
+ robustesse</strong> décrit dans la <a href="http://tools.ietf.org/html/rfc1122">RFC1122</a>, et stipulant
+ <strong>"Soyez libéral pour ce que vous acceptez, conservateur pour
ce que vous envoyez"</strong>. Selon ce principe, les clients HTTP
- vont compenser en corrigeant les réponses incorrectes ou mal
- configurées, ou ne pouvant pas être mises en cache.</p>
-
- <p>Comme un site web est configuré pour faire face à un trafic
- toujours grandissant, des applications mal configurées ou non
- optimisées ou certaines configurations de serveur peuvent menacer la stabilité
- et l'évolutivité du site web, ainsi que les coûts d'hébergement qui
- y sont associés. L'évolution d'un site web pour faire face à une
- complexité croissante de sa configuration accroît les
- difficultés rencontrées pour détecter et enregistrer les espaces
- d'URL mal configurés pour un serveur donné.</p>
-
- <p>De ce fait, un point peut être atteint où le principe
- "conservateur pour ce que vous envoyez" doit être imposé par
+ vont compenser en corrigeant les réponses incorrectes ou mal
+ configurées, ou ne pouvant pas être mises en cache.</p>
+
+ <p>Comme un site web est configuré pour faire face à un trafic
+ toujours grandissant, des applications mal configurées ou non
+ optimisées ou certaines configurations de serveur peuvent menacer la stabilité
+ et l'évolutivité du site web, ainsi que les coûts d'hébergement qui
+ y sont associés. L'évolution d'un site web pour faire face à une
+ complexité croissante de sa configuration accroît les
+ difficultés rencontrées pour détecter et enregistrer les espaces
+ d'URL mal configurés pour un serveur donné.</p>
+
+ <p>De ce fait, un point peut être atteint où le principe
+ "conservateur pour ce que vous envoyez" doit être imposé par
l'administrateur du serveur.</p>
<p>Le module <code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code> fournit un jeu de filtres
- qui peuvent être appliqués à un serveur, permettant de tester
- explicitement les points clé du protocle HTTP, et de journaliser en
- tant qu'avertissements les réponses non conformes, ou même de
+ qui peuvent être appliqués à un serveur, permettant de tester
+ explicitement les points clé du protocle HTTP, et de journaliser en
+ tant qu'avertissements les réponses non conformes, ou même de
simplement les rejeter avec un code d'erreur. Chaque filtre peut
- être appliqué séparément, permettant à l'administrateur de choisir
- quelles politiques de conformité doivent être imposées en fonction
+ être appliqué séparément, permettant à l'administrateur de choisir
+ quelles politiques de conformité doivent être imposées en fonction
de l'environnement.
</p>
- <p>Les filtres peuvent être mis en place dans des environnements de
- test ou de simulation à destination des développeurs d'applications
- et de sites web, ou s'appliquer à des serveurs en production pour
- protéger l'infrastructure de systèmes en dehors du contrôle direct
+ <p>Les filtres peuvent être mis en place dans des environnements de
+ test ou de simulation à destination des développeurs d'applications
+ et de sites web, ou s'appliquer à des serveurs en production pour
+ protéger l'infrastructure de systèmes en dehors du contrôle direct
de l'administrateur.</p>
<p class="figure">
- <img src="images/compliance-reverse-proxy.png" width="666" height="239" alt="Imposer la conformité au protocole HTTP pour un serveur d'applications" />
+ <img src="images/compliance-reverse-proxy.png" width="666" height="239" alt="Imposer la conformité au protocole HTTP pour un serveur d'applications" />
</p>
- <p>Dans l'exemple ci-dessus, un serveur Apache httpd a été intercalé
+ <p>Dans l'exemple ci-dessus, un serveur Apache httpd a été intercalé
entre le serveur d'applications et l'internet au sens large, et
- configuré pour mettre en cache les réponses en provenance du serveur
- d'applications. Les filtres de <code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code> ont été
- ajoutés pour imposer le support de la mise en cache de contenu et
- des requêtes conditionnelles, assurant ainsi que
+ configuré pour mettre en cache les réponses en provenance du serveur
+ d'applications. Les filtres de <code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code> ont été
+ ajoutés pour imposer le support de la mise en cache de contenu et
+ des requêtes conditionnelles, assurant ainsi que
<code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> et les caches publics de l'internet
- seront pleinement capables de mettre en cache le contenu créé avec
- efficacité par le serveur d'applications.</p>
+ seront pleinement capables de mettre en cache le contenu créé avec
+ efficacité par le serveur d'applications.</p>
<p class="figure">
- <img src="images/compliance-static.png" width="469" height="239" alt="Imposer la conformité au protocole HTTP pour un serveur statique" />
+ <img src="images/compliance-static.png" width="469" height="239" alt="Imposer la conformité au protocole HTTP pour un serveur statique" />
</p>
<p>Dans l'exemple plus simple ci-dessus, un serveur statique qui
- sert du contenu ayant une forte probabilité d'être mis en cache,
- se voit appliqué un jeu de règles afin de
+ sert du contenu ayant une forte probabilité d'être mis en cache,
+ se voit appliqué un jeu de règles afin de
s'assurer que sa configuration respecte un niveau minimum de
- conformité au protocole HTTP.</p>
+ conformité au protocole HTTP.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="policyconditional" id="policyconditional">Politique des requêtes conditionnelles</a><a title="Lien permanent" href="#policyconditional" class="permalink">¶</a></h2>
+<h2><a name="policyconditional" id="policyconditional">Politique des requêtes conditionnelles</a><a title="Lien permanent" href="#policyconditional" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policyconditional">PolicyConditional</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policyconditional">PolicyConditional</a></code></li></ul></td></tr></table>
- <p>Cette politique sera rejetée si le serveur ne répond pas à une
- requête conditionnelle avec le code d'état approprié. </p>
+ <p>Cette politique sera rejetée si le serveur ne répond pas à une
+ requête conditionnelle avec le code d'état approprié. </p>
- <p>C'est grâce aux requêtes conditionnelles qu'un cache HTTP peut
- rafraîchir un contenu périmé, et en particulier dans le cas des
- contenus à durée de validité courte, l'absence de support des
- requêtes conditionnelles peut augmenter la charge du serveur.</p>
+ <p>C'est grâce aux requêtes conditionnelles qu'un cache HTTP peut
+ rafraîchir un contenu périmé, et en particulier dans le cas des
+ contenus à durée de validité courte, l'absence de support des
+ requêtes conditionnelles peut augmenter la charge du serveur.</p>
- <p>Plus particulièrement, la présence d'une des en-têtes suivantes
- dans la requête rend cette dernière conditionnelle :</p>
+ <p>Plus particulièrement, la présence d'une des en-têtes suivantes
+ dans la requête rend cette dernière conditionnelle :</p>
<dl>
<dt><code>If-Match</code></dt>
- <dd>Si l'ETag fourni dans l'en-tête <code>If-Match</code> ne
- correspond pas à l'ETag de la réponse, le serveur doit renvoyer un
+ <dd>Si l'ETag fourni dans l'en-tête <code>If-Match</code> ne
+ correspond pas à l'ETag de la réponse, le serveur doit renvoyer un
code d'erreur <code>412 Precondition Failed</code>. Vous trouverez
- tous les détails du traitement d'un en-tête <code>If-Match</code>
+ tous les détails du traitement d'un en-tête <code>If-Match</code>
dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.24">RFC2616
section 14.24</a>.</dd>
<dt><code>If-None-Match</code></dt>
- <dd>Si l'ETag fourni dans l'en-tête <code>If-None-Match</code>
- correspond à l'ETag de la réponse, le serveur doit renvoyer soit
- <code>304 Not Modified</code> pour les requêtes GET/HEAD, soit
- <code>412 Precondition Failed</code> pour les autres méthodes. Vous trouverez
- tous les détails du traitement d'un en-tête
+ <dd>Si l'ETag fourni dans l'en-tête <code>If-None-Match</code>
+ correspond à l'ETag de la réponse, le serveur doit renvoyer soit
+ <code>304 Not Modified</code> pour les requêtes GET/HEAD, soit
+ <code>412 Precondition Failed</code> pour les autres méthodes. Vous trouverez
+ tous les détails du traitement d'un en-tête
<code>If-None-Match</code> dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26">RFC2616
section 14.26</a>.</dd>
<dt><code>If-Modified-Since</code></dt>
- <dd>Si la date fournie dans l'en-tête <code>If-Modified-Since</code>
- est plus ancienne que celle de l'en-tête <code>Last-Modified</code>
- de la réponse, le serveur doit renvoyer <code>304 Not Modified</code>. Vous trouverez
- tous les détails du traitement d'un en-tête
+ <dd>Si la date fournie dans l'en-tête <code>If-Modified-Since</code>
+ est plus ancienne que celle de l'en-tête <code>Last-Modified</code>
+ de la réponse, le serveur doit renvoyer <code>304 Not Modified</code>. Vous trouverez
+ tous les détails du traitement d'un en-tête
<code>If-Modified-Since</code> dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.25">RFC2616
section 14.25</a>.</dd>
<dt><code>If-Unmodified-Since</code></dt>
- <dd>Si la date fournie dans l'en-tête
- <code>If-Unmodified-Since</code> est plus récente que celle de
- l'en-tête <code>Last-Modified</code> de la réponse, le serveur doit
+ <dd>Si la date fournie dans l'en-tête
+ <code>If-Unmodified-Since</code> est plus récente que celle de
+ l'en-tête <code>Last-Modified</code> de la réponse, le serveur doit
renvoyer <code>412 Precondition Failed</code>. Vous trouverez
- tous les détails du traitement d'un en-tête
+ tous les détails du traitement d'un en-tête
<code>If-Unmodified-Since</code> dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.28">RFC2616
section 14.28</a>.</dd>
<dt><code>If-Range</code></dt>
- <dd>Si l'ETag fourni dans l'en-tête <code>If-Range</code> correspond
- à l'ETag ou à l'en-tête Last-Modified de la réponse, et si un
- en-tête <code>Range</code> valide est présent, le serveur doit
+ <dd>Si l'ETag fourni dans l'en-tête <code>If-Range</code> correspond
+ à l'ETag ou à l'en-tête Last-Modified de la réponse, et si un
+ en-tête <code>Range</code> valide est présent, le serveur doit
renvoyer <code>206 Partial Response</code>. Vous trouverez
- tous les détails du traitement d'un en-tête <code>If-Range</code>
+ tous les détails du traitement d'un en-tête <code>If-Range</code>
dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.27">RFC2616
section 14.27</a>.</dd>
</dl>
- <p>Si la réponse est considérée comme ayant réussi (une réponse
- 2xx), alors qu'elle était conditionnelle et qu'une des réponses
- ci-dessus était attendue à la place, cette politique sera rejetée.
- Les réponses qui indiquent une redirection ou une erreur de toute
- sorte (3xx, 4xx, 5xx) seront ignorées de cette politique.</p>
+ <p>Si la réponse est considérée comme ayant réussi (une réponse
+ 2xx), alors qu'elle était conditionnelle et qu'une des réponses
+ ci-dessus était attendue à la place, cette politique sera rejetée.
+ Les réponses qui indiquent une redirection ou une erreur de toute
+ sorte (3xx, 4xx, 5xx) seront ignorées de cette politique.</p>
- <p>Cette politique est implémentée par le filtre
+ <p>Cette politique est implémentée par le filtre
<strong>POLICY_CONDITIONAL</strong>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="policylength" id="policylength">Politique de gestion de l'en-tête Content-Length</a><a title="Lien permanent" href="#policylength" class="permalink">¶</a></h2>
+<h2><a name="policylength" id="policylength">Politique de gestion de l'en-tête Content-Length</a><a title="Lien permanent" href="#policylength" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policylength">PolicyLength</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policylength">PolicyLength</a></code></li></ul></td></tr></table>
- <p>Cette politique sera rejetée si la réponse du serveur ne contient pas d'en-tête
+ <p>Cette politique sera rejetée si la réponse du serveur ne contient pas d'en-tête
<code>Content-Length</code> explicite.</p>
- <p>De nombreuses méthodes pour déterminer la taille d'un
- corps de réponse sont décrites dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.4">RFC2616
+ <p>De nombreuses méthodes pour déterminer la taille d'un
+ corps de réponse sont décrites dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.4">RFC2616
section 4.4 Message Length</a>.</p>
- <p>Lorsque l'en-tête <code>Content-Length</code> est présente, la
- taille du corps est déclarée au début de la réponse. Si cette
+ <p>Lorsque l'en-tête <code>Content-Length</code> est présente, la
+ taille du corps est déclarée au début de la réponse. Si cette
information est manquante, un cache HTTP pourrait choisir d'ignorer
- la réponse, car il ne pourrait pas déterminer a priori si la réponse
- reste dans les limites définies du cache.</p>
+ la réponse, car il ne pourrait pas déterminer a priori si la réponse
+ reste dans les limites définies du cache.</p>
- <p>Pour indiquer la fin de la réponse au client sans que ce dernier
- ait à en connaître la taille au préalable, HTTP/1.1 propose
- l'en-tête <code>Transfer-Encoding</code> comme une alternative à
+ <p>Pour indiquer la fin de la réponse au client sans que ce dernier
+ ait à en connaître la taille au préalable, HTTP/1.1 propose
+ l'en-tête <code>Transfer-Encoding</code> comme une alternative à
<code>Content-Length</code>. Cependant, lors du traitement de
- requêtes HTTP/1.0, et si l'en-tête <code>Content-Length</code> est
- absente, le seul mécanisme dont dispose le serveur pour indiquer la
- fin de la requête consiste à couper la connexion. Dans un
- environnement contenant des répartiteurs de charge, cela peut
- court-circuiter le mécanisme des connexions persistantes
+ requêtes HTTP/1.0, et si l'en-tête <code>Content-Length</code> est
+ absente, le seul mécanisme dont dispose le serveur pour indiquer la
+ fin de la requête consiste à couper la connexion. Dans un
+ environnement contenant des répartiteurs de charge, cela peut
+ court-circuiter le mécanisme des connexions persistantes
(keepalive).
</p>
- <p>Si la réponse est considérée comme réussie (une réponse 2xx) et
- possède un corps (ce qui exclut les réponses <code>204 No
- Content</code>), et si l'en-tête <code>Content-Length</code> est
- absente, la réponse sera rejetée. Aucune réponse indiquant une
+ <p>Si la réponse est considérée comme réussie (une réponse 2xx) et
+ possède un corps (ce qui exclut les réponses <code>204 No
+ Content</code>), et si l'en-tête <code>Content-Length</code> est
+ absente, la réponse sera rejetée. Aucune réponse indiquant une
redirection ou une erreur de toute nature (3xx, 4xx, 5xx) n'est
prise en compte par cette politique.</p>
<div class="warning">Notez que certains modules comme
- <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> ajoutent leur propre en-tête
- <code>Content-Length</code> sous réserve que la réponse où cette
- en-tête est absente soit suffisamment courte pour que le module ait
- pu la lire en une seule passe. De ce fait, des réponses courtes pourront
- être acceptées par la politique, alors que d'autres plus longues
- seront rejetées pour la même URL.</div>
-
- <p>Cette politique est implémentée par le filtre
+ <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> ajoutent leur propre en-tête
+ <code>Content-Length</code> sous réserve que la réponse où cette
+ en-tête est absente soit suffisamment courte pour que le module ait
+ pu la lire en une seule passe. De ce fait, des réponses courtes pourront
+ être acceptées par la politique, alors que d'autres plus longues
+ seront rejetées pour la même URL.</div>
+
+ <p>Cette politique est implémentée par le filtre
<strong>POLICY_LENGTH</strong>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="policytype" id="policytype">Politique de filtrage de l'en-tête Content-Type</a><a title="Lien permanent" href="#policytype" class="permalink">¶</a></h2>
+<h2><a name="policytype" id="policytype">Politique de filtrage de l'en-tête Content-Type</a><a title="Lien permanent" href="#policytype" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policytype">PolicyType</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policytype">PolicyType</a></code></li></ul></td></tr></table>
- <p>Cette politique sera rejetée si la réponse du serveur ne contient pas d'en-tête
+ <p>Cette politique sera rejetée si la réponse du serveur ne contient pas d'en-tête
<code>Content-Type</code> explicite et valide du point de vue de la
- syntaxe, correspondant au modèle défini par le serveur.</p>
+ syntaxe, correspondant au modèle défini par le serveur.</p>
- <p>Le type de media du corps est placé dans une en-tête
- <code>Content-Type</code> dont le format est décrit en détail dans
+ <p>Le type de media du corps est placé dans une en-tête
+ <code>Content-Type</code> dont le format est décrit en détail dans
la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.7">
RFC2616 section 3.7 Media Types</a>.</p>
- <p>Une en-tête <code>Content-Type</code> dont la syntaxe est valide
+ <p>Une en-tête <code>Content-Type</code> dont la syntaxe est valide
sera du style :</p>
<div class="example"><p><code>
Content-Type: text/html; charset=iso-8859-1
</code></p></div>
- <p>Exemples d'en-têtes <code>Content-Type</code> non valides :</p>
+ <p>Exemples d'en-têtes <code>Content-Type</code> non valides :</p>
<div class="example"><p><code>
# invalide<br />
Content-Type:
</code></p></div>
- <p>L'administrateur peut restreindre la politique à un ou plusieurs
- types spécifiques, ou utiliser des caractères génériques comme
+ <p>L'administrateur peut restreindre la politique à un ou plusieurs
+ types spécifiques, ou utiliser des caractères génériques comme
<code>*/*</code>.</p>
<p>Cette politique est mise en oeuvre par le filtre
<div class="section">
<h2><a name="policykeepalive" id="policykeepalive">Politique de gestion des connexions persistantes (Keepalive)</a><a title="Lien permanent" href="#policykeepalive" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policykeepalive">PolicyKeepalive</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policykeepalive">PolicyKeepalive</a></code></li></ul></td></tr></table>
- <p>Cette politique era rejetée si la réponse du serveur ne contient pas d'en-tête
- <code>Content-Length</code> explicite, ou d'en-tête
- <code>Transfer-Encoding</code> défini à chunked.</p>
+ <p>Cette politique era rejetée si la réponse du serveur ne contient pas d'en-tête
+ <code>Content-Length</code> explicite, ou d'en-tête
+ <code>Transfer-Encoding</code> défini à chunked.</p>
- <p>De nombreuses manières pour déterminer la taille d'un
- corps de réponse sont décrites dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.4">RFC2616
+ <p>De nombreuses manières pour déterminer la taille d'un
+ corps de réponse sont décrites dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.4">RFC2616
section 4.4 Message Length</a>.</p>
- <p>Pour indiquer la fin de la réponse au client sans que ce dernier
- ait à en connaître la taille au préalable, HTTP/1.1 propose
- l'en-tête <code>Transfer-Encoding</code> comme une alternative à
+ <p>Pour indiquer la fin de la réponse au client sans que ce dernier
+ ait à en connaître la taille au préalable, HTTP/1.1 propose
+ l'en-tête <code>Transfer-Encoding</code> comme une alternative à
<code>Content-Length</code>. Cependant, lors du traitement de
- requêtes HTTP/1.0, et si l'en-tête <code>Content-Length</code> est
- absent, le seul mécanisme dont dispose le serveur pour indiquer la
- fin de la requête consiste à couper la connexion. Dans un
- environnement contenant des répartiteurs de charge, cela peut
- court-circuiter le mécanisme des connexions persistantes
+ requêtes HTTP/1.0, et si l'en-tête <code>Content-Length</code> est
+ absent, le seul mécanisme dont dispose le serveur pour indiquer la
+ fin de la requête consiste à couper la connexion. Dans un
+ environnement contenant des répartiteurs de charge, cela peut
+ court-circuiter le mécanisme des connexions persistantes
(keepalive).
</p>
- <p>En particulier, les règles suivantes sont appliquées : </p>
+ <p>En particulier, les règles suivantes sont appliquées : </p>
<dl>
<dt>Si</dt>
- <dd>cette connexion n'est pas marquée en erreur ;</dd>
+ <dd>cette connexion n'est pas marquée en erreur ;</dd>
<dt>et</dt>
<dd>le client n'attend pas 100-continue ;</dd>
<dt>et</dt>
- <dd>le code de statut de la réponse ne nécessite pas de fermeture de connexion ;</dd>
+ <dd>le code de statut de la réponse ne nécessite pas de fermeture de connexion ;</dd>
<dt>et</dt>
- <dd>le corps de la réponse a une taille définie suite au code de
- statut 304 ou 204, la méthode de requête est HEAD, un en-tête
- Content-Length ou Transfer-Encoding: chunked a déjà été défini, ou
- la requête est de type HTTP/1.1 et peut donc être définie à chunked.</dd>
+ <dd>le corps de la réponse a une taille définie suite au code de
+ statut 304 ou 204, la méthode de requête est HEAD, un en-tête
+ Content-Length ou Transfer-Encoding: chunked a déjà été défini, ou
+ la requête est de type HTTP/1.1 et peut donc être définie à chunked.</dd>
<dt>alors</dt>
- <dd>keepalive est supporté.</dd>
+ <dd>keepalive est supporté.</dd>
</dl>
- <div class="warning">Le serveur peut décider de désactiver les
- connexions persistantes pour de nombreuses raisons, comme un arrêt
+ <div class="warning">Le serveur peut décider de désactiver les
+ connexions persistantes pour de nombreuses raisons, comme un arrêt
imminent, un Connection: close en provenance du client, ou une
- requête client de type HTTP/1.0 dont la réponse ne comporte pas
- d'en-tête <code>Content-Length</code>, mais pour ce qui nous
- concerne, nous ne vérifions que la possibilité des connexions
+ requête client de type HTTP/1.0 dont la réponse ne comporte pas
+ d'en-tête <code>Content-Length</code>, mais pour ce qui nous
+ concerne, nous ne vérifions que la possibilité des connexions
persistantes depuis l'application, et non si les connexions
- persistantes sont activées.</div>
+ persistantes sont activées.</div>
<p>Notez aussi que le serveur HTTP Apache propose un filtre qui
- ajoute un codage chunked aux réponses qui ne contiennent pas
- d'en-tête <code>Content-Length</code> explicite. Cette politique
- prend en compte les cas où le filtre est court-circuité ou
- désactivé.</p>
+ ajoute un codage chunked aux réponses qui ne contiennent pas
+ d'en-tête <code>Content-Length</code> explicite. Cette politique
+ prend en compte les cas où le filtre est court-circuité ou
+ désactivé.</p>
- <p>Cette politique est implémentée par le filtre
+ <p>Cette politique est implémentée par le filtre
<strong>POLICY_KEEPALIVE</strong>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="policymaxage" id="policymaxage">Durée de fraîcheur / Politique de gestion de l'âge maximum</a><a title="Lien permanent" href="#policymaxage" class="permalink">¶</a></h2>
+<h2><a name="policymaxage" id="policymaxage">Durée de fraîcheur / Politique de gestion de l'âge maximum</a><a title="Lien permanent" href="#policymaxage" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policymaxage">PolicyMaxage</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policymaxage">PolicyMaxage</a></code></li></ul></td></tr></table>
- <p>Cette politique se verra rejetée si la réponse du serveur ne
- contient pas de <strong>durée de fraîcheur</strong> explicite au
- moins grande que la limite définie par le serveur, ou si la
- durée de fraîcheur est calculée à partir d'une heuristique.</p>
+ <p>Cette politique se verra rejetée si la réponse du serveur ne
+ contient pas de <strong>durée de fraîcheur</strong> explicite au
+ moins grande que la limite définie par le serveur, ou si la
+ durée de fraîcheur est calculée à partir d'une heuristique.</p>
- <p>Vous trouverez tous les détails à propos du calcul d'une durée de
- fraîcheur dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.2">RFC2616
+ <p>Vous trouverez tous les détails à propos du calcul d'une durée de
+ fraîcheur dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.2">RFC2616
section 13.2 Expiration Model</a>.</p>
- <p>Pendant la durée de fraîcheur, un cache n'a pas besoin de
- contacter le serveur original, et il peut renvoyer le contenu situé
+ <p>Pendant la durée de fraîcheur, un cache n'a pas besoin de
+ contacter le serveur original, et il peut renvoyer le contenu situé
dans le cache tel quel au client.</p>
- <p>Lorsque la date de péremption est atteinte, le cache doit
- contacter le serveur original dans le but de vérifier si le contenu
- situé dans le cache est encore à jour, et si ce n'est pas le cas, de
+ <p>Lorsque la date de péremption est atteinte, le cache doit
+ contacter le serveur original dans le but de vérifier si le contenu
+ situé dans le cache est encore à jour, et si ce n'est pas le cas, de
le remplacer par le contenu correspondant sur le serveur original.</p>
- <p>Lorsque la durée de fraîcheur est trop courte, il peut en
- résulter un excès de charge pour le serveur. De plus, si une
- interruption de service survient, et si cette dernière est longue,
- ou plus longue que la durée de fraîcheur, tout le contenu du cache
- s'en trouvera périmé, ce qui causera un trafic très important
- lorsque le serveur ou le réseau sera rétabli.</p>
+ <p>Lorsque la durée de fraîcheur est trop courte, il peut en
+ résulter un excès de charge pour le serveur. De plus, si une
+ interruption de service survient, et si cette dernière est longue,
+ ou plus longue que la durée de fraîcheur, tout le contenu du cache
+ s'en trouvera périmé, ce qui causera un trafic très important
+ lorsque le serveur ou le réseau sera rétabli.</p>
- <p>Cette politique est implémentée par le filtre
+ <p>Cette politique est implémentée par le filtre
<strong>POLICY_MAXAGE</strong>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="policynocache" id="policynocache">Politique de gestion des contenus qui ne peuvent pas être mis
+<h2><a name="policynocache" id="policynocache">Politique de gestion des contenus qui ne peuvent pas être mis
en cache</a><a title="Lien permanent" href="#policynocache" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policynocache">PolicyNocache</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policynocache">PolicyNocache</a></code></li></ul></td></tr></table>
- <p>Cette politique sera rejetée si la réponse du serveur
- déclare elle-même qu'elle ne doit pas être mise en cache à l'aide
- d'un en-tête <code>Cache-Control</code> ou <code>Pragma</code>.</p>
+ <p>Cette politique sera rejetée si la réponse du serveur
+ déclare elle-même qu'elle ne doit pas être mise en cache à l'aide
+ d'un en-tête <code>Cache-Control</code> ou <code>Pragma</code>.</p>
- <p>Vous trouverez tous les détails à propos de la manière dont un
- contenu peut être déclaré comme non cachable dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.1">RFC2616
- section 14.9.1 What is Cacheable</a>, et au sein de la définition de
- l'en-tête <code>Pragma</code> dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32">RFC2616
+ <p>Vous trouverez tous les détails à propos de la manière dont un
+ contenu peut être déclaré comme non cachable dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.1">RFC2616
+ section 14.9.1 What is Cacheable</a>, et au sein de la définition de
+ l'en-tête <code>Pragma</code> dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32">RFC2616
section 14.32 Pragma</a>.</p>
- <p>Plus précisément, si une combinaison des en-têtes suivants existe
- dans la réponse, cette dernière sera rejetée :</p>
+ <p>Plus précisément, si une combinaison des en-têtes suivants existe
+ dans la réponse, cette dernière sera rejetée :</p>
<ul>
<li><code>Cache-Control: no-cache</code></li>
<li><code>Pragma: no-cache</code></li>
</ul>
- <p>D'une manière générale, lorsque cette politique est activée, et
- si d'une manière inattendue un contenu non cachable peut induire un
- niveau de charge du serveur inacceptable, tout contenu défini comme
- non cachable par le serveur sera rejeté.</p>
+ <p>D'une manière générale, lorsque cette politique est activée, et
+ si d'une manière inattendue un contenu non cachable peut induire un
+ niveau de charge du serveur inacceptable, tout contenu défini comme
+ non cachable par le serveur sera rejeté.</p>
- <p>Cette politique est implémentée par le filtre
+ <p>Cette politique est implémentée par le filtre
<strong>POLICY_NOCACHE</strong>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="policyvalidation" id="policyvalidation">Politique de validation</a><a title="Lien permanent" href="#policyvalidation" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policyvalidation">PolicyValidation</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policyvalidation">PolicyValidation</a></code></li></ul></td></tr></table>
- <p>Cette politique sera rejetée si la réponse du serveur
- ne contient aucune en-tête syntaxiquement correct <code>ETag</code>
+ <p>Cette politique sera rejetée si la réponse du serveur
+ ne contient aucune en-tête syntaxiquement correct <code>ETag</code>
ou <code>Last-Modified</code>.</p>
- <p>Vous trouverez une description complète de l'en-tête
+ <p>Vous trouverez une description complète de l'en-tête
<code>ETag</code> dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19">RFC2616
- section 14.19 Etag</a>, et de l'en-tête <code>Last-Modified</code>
+ section 14.19 Etag</a>, et de l'en-tête <code>Last-Modified</code>
dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.29">RFC2616
section 14.29 Last-Modified</a>.</p>
- <p>La vérification est effectuée non seulement en ce qui concerne la
- présence des en-têtes, mais aussi du point de vue de leur syntaxe.</p>
+ <p>La vérification est effectuée non seulement en ce qui concerne la
+ présence des en-têtes, mais aussi du point de vue de leur syntaxe.</p>
- <p>Si une en-tête <code>ETag</code> n'est pas entourée de guillemets,
- ou n'est pas déclarée "weak" en le préfixant avec un "W/", la politique
- sera rejetée. De même, si l'interprétation d'une en-tête
- <code>Last-Modified</code> ne fournit pas de date valide, la réponse
- sera rejetée.</p>
+ <p>Si une en-tête <code>ETag</code> n'est pas entourée de guillemets,
+ ou n'est pas déclarée "weak" en le préfixant avec un "W/", la politique
+ sera rejetée. De même, si l'interprétation d'une en-tête
+ <code>Last-Modified</code> ne fournit pas de date valide, la réponse
+ sera rejetée.</p>
- <p>Cette politique est implémentée par le filtre
+ <p>Cette politique est implémentée par le filtre
<strong>POLICY_VALIDATION</strong>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="policyvary" id="policyvary">Politique de gestion de l'en-tête Vary</a><a title="Lien permanent" href="#policyvary" class="permalink">¶</a></h2>
+<h2><a name="policyvary" id="policyvary">Politique de gestion de l'en-tête Vary</a><a title="Lien permanent" href="#policyvary" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policyvary">PolicyVary</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policyvary">PolicyVary</a></code></li></ul></td></tr></table>
- <p>Cette politique se verra rejetée si la réponse du serveur
- contient une en-tête <code>Vary</code>, et si cette en-tête
- contient à son tour une en-tête mise en liste noire par
+ <p>Cette politique se verra rejetée si la réponse du serveur
+ contient une en-tête <code>Vary</code>, et si cette en-tête
+ contient à son tour une en-tête mise en liste noire par
l'administrateur.</p>
- <p>L'en-tête <code>Vary</code> est décrite en détails dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.44">RFC2616
+ <p>L'en-tête <code>Vary</code> est décrite en détails dans la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.44">RFC2616
section 14.44 Vary</a>.</p>
- <p>Certaines en-têtes définies par les clients, comme
- <code>User-Agent</code>, peuvent contenir des milliers ou même des
+ <p>Certaines en-têtes définies par les clients, comme
+ <code>User-Agent</code>, peuvent contenir des milliers ou même des
millions de combinaisons de valeurs au cours du temps, et si la
- réponse est considérée comme pouvant être mise en cache, le cache
- peut tenter d'enregistrer toutes ces réponses, ce qui peut l'amener
- à saturation et à noyer les autres entrées qu'il contient. Avec ce
- scénario, cette politique sera rejetée.</p>
+ réponse est considérée comme pouvant être mise en cache, le cache
+ peut tenter d'enregistrer toutes ces réponses, ce qui peut l'amener
+ à saturation et à noyer les autres entrées qu'il contient. Avec ce
+ scénario, cette politique sera rejetée.</p>
- <p>Cette politique est implémentée par le filtre
+ <p>Cette politique est implémentée par le filtre
<strong>POLICY_VARY</strong>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="policyversion" id="policyversion">Politique de gestion des versions de protocole</a><a title="Lien permanent" href="#policyversion" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policyversion">PolicyVersion</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_policy.html#policyversion">PolicyVersion</a></code></li></ul></td></tr></table>
- <p>Cette politique sera rejetée si la réponse du serveur
- a été générée avec un numéro de version inférieur à la version
- de HTTP spécifiée.</p>
+ <p>Cette politique sera rejetée si la réponse du serveur
+ a été générée avec un numéro de version inférieur à la version
+ de HTTP spécifiée.</p>
- <p>Cette politique s'utilise en général avec les applications qui
- nécessitent un contrôle du type du client. Elle peut être utilisée en
+ <p>Cette politique s'utilise en général avec les applications qui
+ nécessitent un contrôle du type du client. Elle peut être utilisée en
concomitance avec le filtre <code>POLICY_KEEPALIVE</code> afin de
s'assurer que les clients HTTP/1.0 n'engendrent pas la fermeture des
connexions persistantes.</p>
- <p>Les versions minimales pouvant être spécifiées sont :</p>
+ <p>Les versions minimales pouvant être spécifiées sont :</p>
<ul><li><code>HTTP/1.1</code></li>
<li><code>HTTP/1.0</code></li>
<li><code>HTTP/0.9</code></li>
</ul>
- <p>Cette politique est implémentée par le filtre
+ <p>Cette politique est implémentée par le filtre
<strong>POLICY_VERSON</strong>.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/compliance.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/compliance.html" title="Français"> fr </a></p>
+<a href="./fr/compliance.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./de/configuring.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/configuring.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/configuring.html" title="Français"> fr </a> |
+<a href="./fr/configuring.html" title="Français"> fr </a> |
<a href="./ja/configuring.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/configuring.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/configuring.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/configuring.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<p>Ce document décrit les fichiers utilisés pour configurer
+<p>Ce document décrit les fichiers utilisés pour configurer
le Serveur HTTP Apache.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#main">Fichiers de configuration principaux</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#syntax">Syntaxe des fichiers de configuration</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#modules">Modules</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#scope">Portée des directives</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#scope">Portée des directives</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#htaccess">Fichiers .htaccess</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="main" id="main">Fichiers de configuration principaux</a><a title="Lien permanent" href="#main" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_mime.html">mod_mime</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code></li><li><code class="directive"><a href="./mod/core.html#include">Include</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#typesconfig">TypesConfig</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_mime.html">mod_mime</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code></li><li><code class="directive"><a href="./mod/core.html#include">Include</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#typesconfig">TypesConfig</a></code></li></ul></td></tr></table>
- <p>La configuration du serveur HTTP Apache est effectuée en plaçant des <a href="mod/directives.html">directives</a> dans des fichiers de
+ <p>La configuration du serveur HTTP Apache est effectuée en plaçant des <a href="mod/directives.html">directives</a> dans des fichiers de
configuration au format texte. Le fichier de configuration principal se nomme
- en général
- <code>httpd.conf</code>. La localisation de ce fichier est définie
- à la compilation, mais peut être redéfinie à l'aide de l'option
+ en général
+ <code>httpd.conf</code>. La localisation de ce fichier est définie
+ à la compilation, mais peut être redéfinie à l'aide de l'option
de ligne de commande <code>-f</code>. En outre, d'autres fichiers de
- configuration peuvent être ajoutés à l'aide de la directive
- <code class="directive"><a href="./mod/core.html#include">Include</a></code>, et des caractères de
+ configuration peuvent être ajoutés à l'aide de la directive
+ <code class="directive"><a href="./mod/core.html#include">Include</a></code>, et des caractères de
remplacement
- peuvent être utilisés pour inclure de nombreux fichiers de configuration.
- Des directives de tous types peuvent être placées dans chacun de ces fichiers
+ peuvent être utilisés pour inclure de nombreux fichiers de configuration.
+ Des directives de tous types peuvent être placées dans chacun de ces fichiers
de configuration. Les modifications dans les fichiers de configuration
principaux ne sont prises en compte par httpd que lorsque le serveur
- est démarré ou redémarré.</p>
+ est démarré ou redémarré.</p>
<p>Le serveur lit aussi un fichier contenant les types de document mime;
- ce fichier est défini par la directive <code class="directive"><a href="./mod/mod_mime.html#typesconfig">TypesConfig</a></code>,
- et se nomme <code>mime.types</code> par défaut.</p>
+ ce fichier est défini par la directive <code class="directive"><a href="./mod/mod_mime.html#typesconfig">TypesConfig</a></code>,
+ et se nomme <code>mime.types</code> par défaut.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="syntax" id="syntax">Syntaxe des fichiers de configuration</a><a title="Lien permanent" href="#syntax" class="permalink">¶</a></h2>
<p>Les fichiers de configuration de httpd contiennent une directive
par ligne.
- On peut utiliser l'anti-slash "\" comme dernier caractère d'une ligne
- pour indiquer que la directive continue à la ligne suivante.
- Il ne doit y avoir aucun caractère ni espace entre l'anti-slash et
+ On peut utiliser l'anti-slash "\" comme dernier caractère d'une ligne
+ pour indiquer que la directive continue à la ligne suivante.
+ Il ne doit y avoir aucun caractère ni espace entre l'anti-slash et
la fin de la ligne.</p>
- <p>Les arguments des directives sont séparés les uns des autres par
- des espaces. Si un argument contient des espaces, il doit être
- entouré de guillemets.</p>
+ <p>Les arguments des directives sont séparés les uns des autres par
+ des espaces. Si un argument contient des espaces, il doit être
+ entouré de guillemets.</p>
<p>Les directives dans les fichiers de configuration ne sont pas
- sensibles à la casse, mais leurs arguments le sont souvent. Les lignes
- qui débutent par le caractère "#" sont interprétées comme des
- commentaires, et sont ignorées. Les commentaires ne doivent
- <strong>pas</strong> apparaître sur la même ligne qu'une directive
- de configuration. Les espaces précédant une directive
- sont ignorés; vous pouvez par conséquent indenter les directives
- afin d'améliorer la lisibilité. Les lignes vides sont
- aussi ignorées.</p>
+ sensibles à la casse, mais leurs arguments le sont souvent. Les lignes
+ qui débutent par le caractère "#" sont interprétées comme des
+ commentaires, et sont ignorées. Les commentaires ne doivent
+ <strong>pas</strong> apparaître sur la même ligne qu'une directive
+ de configuration. Les espaces précédant une directive
+ sont ignorés; vous pouvez par conséquent indenter les directives
+ afin d'améliorer la lisibilité. Les lignes vides sont
+ aussi ignorées.</p>
<p>Les valeurs des variables d'environnement ou des variables
- définies via la directive <code class="directive"><a href="./mod/core.html#define">Define</a></code> peuvent être utilisées dans le
+ définies via la directive <code class="directive"><a href="./mod/core.html#define">Define</a></code> peuvent être utilisées dans le
fichier de configuration en utilisant la syntaxe
<code>${VAR}</code>. Si "VAR" est le nom d'une variable valide, la
- valeur de la variable est alors substituée à la chaîne
+ valeur de la variable est alors substituée à la chaîne
<code>${VAR}</code>, et le processus de lecture du fichier de
- configuration continue comme si la chaîne correspondant à la valeur
- de la variable s'y était trouvée littéralement. Les variables définies
+ configuration continue comme si la chaîne correspondant à la valeur
+ de la variable s'y était trouvée littéralement. Les variables définies
via la directive <code class="directive"><a href="./mod/core.html#define">Define</a></code>
l'emportent sur les autres variables d'environnement du shell. Si la
- variable "VAR" n'est pas trouvée, la chaîne <code>${VAR}</code>
- n'est pas modifiée, et un avertissement est enregistré dans le
- journal. Le caractère ":" est interdit dans les noms de variables
- afin d'éviter tout conflit avec la syntaxe de la directive <code class="directive"><a href="./mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>.</p>
+ variable "VAR" n'est pas trouvée, la chaîne <code>${VAR}</code>
+ n'est pas modifiée, et un avertissement est enregistré dans le
+ journal. Le caractère ":" est interdit dans les noms de variables
+ afin d'éviter tout conflit avec la syntaxe de la directive <code class="directive"><a href="./mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>.</p>
- <p>Seules les variables d'environnement du shell définies avant le démarrage
- du serveur peuvent être utilisées dans les extensions.
+ <p>Seules les variables d'environnement du shell définies avant le démarrage
+ du serveur peuvent être utilisées dans les extensions.
Les variables d'environnement
- définies dans le fichier de configuration lui-même, par exemple avec <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code>, prennent effet trop tard pour
- pouvoir être utilisées dans les extensions au sein du fichier de
+ définies dans le fichier de configuration lui-même, par exemple avec <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code>, prennent effet trop tard pour
+ pouvoir être utilisées dans les extensions au sein du fichier de
configuration.</p>
<p>La longueur maximale d'une ligne dans un fichier de configuration
- normal, après substitution des variables et fusion des lignes
+ normal, après substitution des variables et fusion des lignes
interrompues, est approximativement de 16 Mo. Dans les <a href="configuring.html#htaccess">fichiers .htaccess</a>, la longueur
- maximale est de 8190 caractères.</p>
+ maximale est de 8190 caractères.</p>
- <p>Vous pouvez vérifier l'absence d'erreurs de syntaxe dans vos fichiers
- de configuration sans démarrer le serveur à l'aide de la commande
+ <p>Vous pouvez vérifier l'absence d'erreurs de syntaxe dans vos fichiers
+ de configuration sans démarrer le serveur à l'aide de la commande
<code>apachectl configtest</code> ou de l'option de ligne de commande
<code>-t</code>.</p>
- <p>Vous pouvez utiliser la définition <code>-DDUMP_CONFIG</code> de
+ <p>Vous pouvez utiliser la définition <code>-DDUMP_CONFIG</code> de
<code class="module"><a href="./mod/mod_info.html">mod_info</a></code> pour afficher la configuration avec tous
- les fichiers inclus et les variables d'environnement évaluées, tous
+ les fichiers inclus et les variables d'environnement évaluées, tous
les commentaires et les sections <code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code> et <code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code> non actives ayant
- été supprimés. Cependant, la sortie ne reflète
- pas les fusions ou écrasements pouvant intervenir en cas de
- définitions multiples de directives.</p>
+ été supprimés. Cependant, la sortie ne reflète
+ pas les fusions ou écrasements pouvant intervenir en cas de
+ définitions multiples de directives.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="modules" id="modules">Modules</a><a title="Lien permanent" href="#modules" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_so.html">mod_so</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code></li><li><code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_so.html">mod_so</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code></li><li><code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code></li></ul></td></tr></table>
<p>httpd est un serveur modulaire. Ceci implique que seules les
- fonctionnalités les plus courantes sont incluses dans le serveur de base.
- Les fonctionnalités étendues sont fournies à l'aide de <a href="mod/">modules</a> qui peuvent être chargés dans httpd.
- Par défaut, un jeu de <a href="mod/module-dict.html#Status">modules de base</a> est inclus dans le
- serveur à la compilation. Si le serveur est compilé de façon à utiliser
- les <a href="dso.html">modules chargés dynamiquement</a>,
- alors les modules peuvent être compilés séparément et chargés à
- n'importe quel moment à l'aide de la directive
+ fonctionnalités les plus courantes sont incluses dans le serveur de base.
+ Les fonctionnalités étendues sont fournies à l'aide de <a href="mod/">modules</a> qui peuvent être chargés dans httpd.
+ Par défaut, un jeu de <a href="mod/module-dict.html#Status">modules de base</a> est inclus dans le
+ serveur à la compilation. Si le serveur est compilé de façon à utiliser
+ les <a href="dso.html">modules chargés dynamiquement</a>,
+ alors les modules peuvent être compilés séparément et chargés à
+ n'importe quel moment à l'aide de la directive
<code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code>.
- Dans le cas contraire, httpd doit être recompilé pour ajouter ou
+ Dans le cas contraire, httpd doit être recompilé pour ajouter ou
supprimer des modules.
- Les directives de configuration peuvent être incluses de manière
- conditionnelle selon la présence ou l'absence d'un module particulier
- en les plaçant dans un bloc <code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code>.</p>
+ Les directives de configuration peuvent être incluses de manière
+ conditionnelle selon la présence ou l'absence d'un module particulier
+ en les plaçant dans un bloc <code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code>.</p>
- <p>Pour voir quels modules ont été compilés avec le serveur,
+ <p>Pour voir quels modules ont été compilés avec le serveur,
vous pouvez utiliser l'option de ligne de commande <code>-l</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="scope" id="scope">Portée des directives</a><a title="Lien permanent" href="#scope" class="permalink">¶</a></h2>
+<h2><a name="scope" id="scope">Portée des directives</a><a title="Lien permanent" href="#scope" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#directory"><Directory></a></code></li><li><code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#files"><Files></a></code></li><li><code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#location"><Location></a></code></li><li><code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#directory"><Directory></a></code></li><li><code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#files"><Files></a></code></li><li><code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#location"><Location></a></code></li><li><code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code></li></ul></td></tr></table>
- <p>Les directives placées dans les fichiers de configuration principaux
+ <p>Les directives placées dans les fichiers de configuration principaux
s'appliquent au serveur dans son ensemble. Si vous souhaitez modifier la
configuration d'une partie du serveur seulement, vous pouvez limiter la
- portée de vos directives en les plaçant dans une section
+ portée de vos directives en les plaçant dans une section
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code>, <code class="directive"><a href="./mod/core.html#files"><Files></a></code>, <code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code>, <code class="directive"><a href="./mod/core.html#location"><Location></a></code>, ou <code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code>.
Ces sections limitent le champ d'application des directives qu'elles
- contiennent à des URls ou des portions du système de fichiers particulières.
- Elles peuvent aussi être imbriquées, ce qui permet
- une configuration très fine.</p>
+ contiennent à des URls ou des portions du système de fichiers particulières.
+ Elles peuvent aussi être imbriquées, ce qui permet
+ une configuration très fine.</p>
- <p>httpd peut servir simultanément de nombreux sites web au travers des
- <a href="vhosts/">Hôtes Virtuels</a>. La portée des directives peut ainsi
- être limitée en les plaçant dans des sections
+ <p>httpd peut servir simultanément de nombreux sites web au travers des
+ <a href="vhosts/">Hôtes Virtuels</a>. La portée des directives peut ainsi
+ être limitée en les plaçant dans des sections
<code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>,
- afin qu'elles ne s'appliquent qu'aux requêtes
+ afin qu'elles ne s'appliquent qu'aux requêtes
pour un site web particulier.</p>
- <p>Bien que la plupart des directives puissent être placées dans
+ <p>Bien que la plupart des directives puissent être placées dans
chacune de ces sections, certaines d'entre elles n'ont aucun sens
dans certains contextes.
- Par exemple, les directives qui contrôlent la création des processus
- n'ont de sens que dans le contexte du serveur principal. Pour déterminer
- quelles directives peuvent être placées dans quelles sections, consultez
+ Par exemple, les directives qui contrôlent la création des processus
+ n'ont de sens que dans le contexte du serveur principal. Pour déterminer
+ quelles directives peuvent être placées dans quelles sections, consultez
le <a href="mod/directive-dict.html#Context">Contexte</a> de la
- directive. Pour plus d'informations, nous fournissons des détails dans
+ directive. Pour plus d'informations, nous fournissons des détails dans
<a href="sections.html">Comment fonctionnent les sections Directory,
Location et Files</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<h2><a name="htaccess" id="htaccess">Fichiers .htaccess</a><a title="Lien permanent" href="#htaccess" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code></li></ul></td></tr></table>
- <p>httpd permet la gestion décentralisée de la configuration
- via des fichiers spéciaux placés dans l'arborescence du site web.
- Ces fichiers spéciaux se nomment en général <code>.htaccess</code>,
- mais tout autre nom peut être spécifié à l'aide de la directive
+ <p>httpd permet la gestion décentralisée de la configuration
+ via des fichiers spéciaux placés dans l'arborescence du site web.
+ Ces fichiers spéciaux se nomment en général <code>.htaccess</code>,
+ mais tout autre nom peut être spécifié à l'aide de la directive
<code class="directive"><a href="./mod/core.html#accessfilename">AccessFileName</a></code>.
- Les directives placées dans les fichiers <code>.htaccess</code>
- s'appliquent au répertoire dans lequel vous avez placé le fichier,
- ainsi qu'à tous ses sous-répertoires.
- La syntaxe des fichiers <code>.htaccess</code> est la même que celle
+ Les directives placées dans les fichiers <code>.htaccess</code>
+ s'appliquent au répertoire dans lequel vous avez placé le fichier,
+ ainsi qu'à tous ses sous-répertoires.
+ La syntaxe des fichiers <code>.htaccess</code> est la même que celle
des fichiers de configuration principaux. Comme les fichiers
- <code>.htaccess</code> sont lus à chaque requête, les modifications de
- ces fichiers prennent effet immédiatement.</p>
+ <code>.htaccess</code> sont lus à chaque requête, les modifications de
+ ces fichiers prennent effet immédiatement.</p>
- <p>Pour déterminer quelles directives peuvent être placées
+ <p>Pour déterminer quelles directives peuvent être placées
dans les fichiers <code>.htaccess</code>, consultez le
<a href="mod/directive-dict.html#Context">Contexte</a> de la
- directive. L'administrateur du serveur peut contrôler quelles
- directives peuvent être placées dans les fichiers
- <code>.htaccess</code> en définissant la directive
+ directive. L'administrateur du serveur peut contrôler quelles
+ directives peuvent être placées dans les fichiers
+ <code>.htaccess</code> en définissant la directive
<code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code>
dans les fichiers de configuration principaux.</p>
<p>Pour plus d'informations sur les fichiers <code>.htaccess</code>,
- se référer au <a href="howto/htaccess.html">tutoriel .htaccess</a>.</p>
+ se référer au <a href="howto/htaccess.html">tutoriel .htaccess</a>.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./de/configuring.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/configuring.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/configuring.html" title="Français"> fr </a> |
+<a href="./fr/configuring.html" title="Français"> fr </a> |
<a href="./ja/configuring.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/configuring.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/configuring.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/configuring.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Négociation de contenu - Serveur Apache HTTP Version 2.5</title>
+<title>Négociation de contenu - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Négociation de contenu</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Négociation de contenu</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/content-negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/content-negotiation.html" title="Français"> fr </a> |
+<a href="./fr/content-negotiation.html" title="Français"> fr </a> |
<a href="./ja/content-negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Apache HTTPD supporte la négociation de
- contenu telle qu'elle est décrite
- dans la spécification HTTP/1.1. Il peut choisir la meilleure représentation
- d'une ressource en fonction des préférences du navigateur pour ce qui
- concerne le type de media, les langages, le jeu de caractères et son
- encodage. Il implémente aussi quelques fonctionnalités pour traiter de
- manière plus intelligente les requêtes en provenance de navigateurs qui
- envoient des informations de négociation incomplètes.</p>
+ <p>Apache HTTPD supporte la négociation de
+ contenu telle qu'elle est décrite
+ dans la spécification HTTP/1.1. Il peut choisir la meilleure représentation
+ d'une ressource en fonction des préférences du navigateur pour ce qui
+ concerne le type de media, les langages, le jeu de caractères et son
+ encodage. Il implémente aussi quelques fonctionnalités pour traiter de
+ manière plus intelligente les requêtes en provenance de navigateurs qui
+ envoient des informations de négociation incomplètes.</p>
- <p>La négociation de contenu est assurée par le module
- <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> qui est compilé par défaut
+ <p>La négociation de contenu est assurée par le module
+ <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> qui est compilé par défaut
dans le serveur.</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#about">À propos de la négociation de contenu</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#negotiation">La négociation avec httpd</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#methods">Les méthodes de négociation</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#better">Ajustement des valeurs de qualité</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#extensions">Extensions à la négociation de contenu
+<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#about">À propos de la négociation de contenu</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#negotiation">La négociation avec httpd</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#methods">Les méthodes de négociation</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#better">Ajustement des valeurs de qualité</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#extensions">Extensions à la négociation de contenu
transparente</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#naming">Remarques à propos des liens hypertextes et des
+<li><img alt="" src="./images/down.gif" /> <a href="#naming">Remarques à propos des liens hypertextes et des
conventions de nommage</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#caching">Remarque sur la mise en cache</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="about" id="about">À propos de la négociation de contenu</a><a title="Lien permanent" href="#about" class="permalink">¶</a></h2>
+<h2><a name="about" id="about">À propos de la négociation de contenu</a><a title="Lien permanent" href="#about" class="permalink">¶</a></h2>
- <p>Une ressource peut être disponible selon différentes représentations.
- Par exemple, elle peut être disponible en différents langages ou pour
- différents types de média, ou une combinaison des deux.
- Pour faire le meilleur choix, on peut fournir à l'utilisateur une page
+ <p>Une ressource peut être disponible selon différentes représentations.
+ Par exemple, elle peut être disponible en différents langages ou pour
+ différents types de média, ou une combinaison des deux.
+ Pour faire le meilleur choix, on peut fournir à l'utilisateur une page
d'index, et le laisser choisir. Cependant, le serveur peut souvent faire
ce choix automatiquement. Ceci est possible car les navigateurs peuvent
envoyer des informations sur les
- représentations qu'ils préfèrent à l'intérieur de chaque requête.
+ représentations qu'ils préfèrent à l'intérieur de chaque requête.
Par exemple, un navigateur peut indiquer
- qu'il préfère voir les informations en français, mais qu'en cas
- d'impossibilité l'anglais peut convenir. Les navigateurs indiquent leurs
- préférences à l'aide d'en-têtes dans la requête. Pour ne demander que des
- représentations en français, le navigateur peut utiliser l'en-tête :</p>
+ qu'il préfère voir les informations en français, mais qu'en cas
+ d'impossibilité l'anglais peut convenir. Les navigateurs indiquent leurs
+ préférences à l'aide d'en-têtes dans la requête. Pour ne demander que des
+ représentations en français, le navigateur peut utiliser l'en-tête :</p>
<div class="example"><p><code>Accept-Language: fr</code></p></div>
- <p>Notez qu'il ne sera tenu compte de cette préférence que s'il existe un
- choix de représentations et que ces dernières varient en fonction
+ <p>Notez qu'il ne sera tenu compte de cette préférence que s'il existe un
+ choix de représentations et que ces dernières varient en fonction
du langage.</p>
- <p>À titre d'exemple d'une requête plus complexe, ce navigateur a été
- configuré pour accepter le français et l'anglais, avec une préférence pour
- le français, et accepter différents types de média, avec une préférence
- pour HTML par rapport à au texte plat ("plain text") ou autres types de fichiers texte, et
- avec une préférence pour GIF ou JPEG par rapport à tout autre type de
- média, mais autorisant tout autre type de média en dernier ressort :</p>
+ <p>À titre d'exemple d'une requête plus complexe, ce navigateur a été
+ configuré pour accepter le français et l'anglais, avec une préférence pour
+ le français, et accepter différents types de média, avec une préférence
+ pour HTML par rapport à au texte plat ("plain text") ou autres types de fichiers texte, et
+ avec une préférence pour GIF ou JPEG par rapport à tout autre type de
+ média, mais autorisant tout autre type de média en dernier ressort :</p>
<div class="example"><p><code>
Accept-Language: fr; q=1.0, en; q=0.5<br />
Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1
</code></p></div>
- <p>httpd supporte la négociation de contenu "server driven" (telle qu'elle
- est définie dans la spécification HTTP/1.1), où c'est le serveur qui
- décide quelle est la meilleure représentation à retourner pour la ressource
- demandée. Il supporte entièrement les en-têtes de requête
+ <p>httpd supporte la négociation de contenu "server driven" (telle qu'elle
+ est définie dans la spécification HTTP/1.1), où c'est le serveur qui
+ décide quelle est la meilleure représentation à retourner pour la ressource
+ demandée. Il supporte entièrement les en-têtes de requête
<code>Accept</code>, <code>Accept-Language</code>,
<code>Accept-Charset</code> et <code>Accept-Encoding</code>.
- httpd supporte aussi la négociation de contenu transparente, qui est un
- protocole de négociation expérimental défini dans les RFC 2295 et 2296.
- Il ne supporte pas la négociation de fonctionnalité (feature negotiation)
- telle qu'elle est définie dans ces RFCs.</p>
+ httpd supporte aussi la négociation de contenu transparente, qui est un
+ protocole de négociation expérimental défini dans les RFC 2295 et 2296.
+ Il ne supporte pas la négociation de fonctionnalité (feature negotiation)
+ telle qu'elle est définie dans ces RFCs.</p>
- <p>Une <strong>ressource</strong> est une entité conceptuelle identifiée
+ <p>Une <strong>ressource</strong> est une entité conceptuelle identifiée
par une URI (RFC 2396). Un serveur HTTP comme le serveur HTTP Apache
- propose l'accès à des
- <strong>représentations</strong> de la ressource à l'intérieur de son
- espace de nommage, chaque représentation étant composée d'une séquence
- d'octets avec la définition d'un type de media, d'un jeu de caractères,
- d'un encodage, etc... A un instant donné, chaque ressource peut être
- associée avec zéro, une ou plusieurs représentations. Si plusieurs
- représentations sont disponibles, la ressource est qualifiée de
- <strong>négociable</strong> et chacune de ses représentations se nomme
- <strong>variante</strong>. Les différences entre les
- variantes disponibles d'une ressource négociable constituent les
- <strong>dimensions</strong> de la négociation.</p>
+ propose l'accès à des
+ <strong>représentations</strong> de la ressource à l'intérieur de son
+ espace de nommage, chaque représentation étant composée d'une séquence
+ d'octets avec la définition d'un type de media, d'un jeu de caractères,
+ d'un encodage, etc... A un instant donné, chaque ressource peut être
+ associée avec zéro, une ou plusieurs représentations. Si plusieurs
+ représentations sont disponibles, la ressource est qualifiée de
+ <strong>négociable</strong> et chacune de ses représentations se nomme
+ <strong>variante</strong>. Les différences entre les
+ variantes disponibles d'une ressource négociable constituent les
+ <strong>dimensions</strong> de la négociation.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="negotiation" id="negotiation">La négociation avec httpd</a><a title="Lien permanent" href="#negotiation" class="permalink">¶</a></h2>
+<h2><a name="negotiation" id="negotiation">La négociation avec httpd</a><a title="Lien permanent" href="#negotiation" class="permalink">¶</a></h2>
- <p>Afin de négocier une ressource, on doit fournir au serveur des
- informations à propos de chacune des variantes. Il y a deux manières
+ <p>Afin de négocier une ressource, on doit fournir au serveur des
+ informations à propos de chacune des variantes. Il y a deux manières
d'accomplir ceci :</p>
<ul>
- <li>Utiliser une liste de correspondances de type ("type-map") (<em>c'est à dire</em>
+ <li>Utiliser une liste de correspondances de type ("type-map") (<em>c'est à dire</em>
un fichier <code>*.var</code>) qui nomme explicitement les fichiers
contenant les variantes, ou</li>
- <li>Utiliser une recherche "multivues", où le serveur effectue une
+ <li>Utiliser une recherche "multivues", où le serveur effectue une
recherche de correspondance sur un motif de nom de fichier implicite et
- fait son choix parmi les différents résultats.</li>
+ fait son choix parmi les différents résultats.</li>
</ul>
<h3><a name="type-map" id="type-map">Utilisation d'un fichier de
correspondances de types (type-map)</a></h3>
- <p>Une liste de correspondances de types est un document associé au
- gestionnaire <code>type-map</code> (ou, dans un souci de compatibilité
+ <p>Une liste de correspondances de types est un document associé au
+ gestionnaire <code>type-map</code> (ou, dans un souci de compatibilité
ascendante avec des configurations de httpd plus anciennes, le
<a class="glossarylink" href="./glossary.html#type mime" title="voir glossaire">type MIME</a>
<code>application/x-type-map</code>). Notez que pour utiliser cette
- fonctionnalité, vous devez, dans le fichier de configuration, définir un
- gestionnaire qui associe un suffixe de fichier à une <code>type-map</code>;
+ fonctionnalité, vous devez, dans le fichier de configuration, définir un
+ gestionnaire qui associe un suffixe de fichier à une <code>type-map</code>;
ce qui se fait simplement en ajoutant</p>
<pre class="prettyprint lang-config">AddHandler type-map .var</pre>
<p>dans le fichier de configuration du serveur.</p>
- <p>Les fichiers de correspondances de types doivent posséder le même nom que
- la ressource qu'ils décrivent, avec pour extension
+ <p>Les fichiers de correspondances de types doivent posséder le même nom que
+ la ressource qu'ils décrivent, avec pour extension
<code>.var</code>. Dans l'exemple ci-dessous, la ressource a pour
nom <code>foo</code>, et le fichier de correspondances se nomme donc
<code>foo.var</code>.</p>
- <p>Ce fichier doit comporter une entrée pour chaque variante
- disponible; chaque entrée consiste en une ligne contiguë d'en-têtes au
- format HTTP. les entrées sont séparées par des lignes vides. Les lignes
- vides à l'intérieur d'une entrée sont interdites. Par convention, le
- fichier de correspondances de types débute par une entrée concernant l'entité
- considérée dans son ensemble (bien que ce ne soit pas obligatoire, et
- ignoré si présent). Un exemple de fichier de
+ <p>Ce fichier doit comporter une entrée pour chaque variante
+ disponible; chaque entrée consiste en une ligne contiguë d'en-têtes au
+ format HTTP. les entrées sont séparées par des lignes vides. Les lignes
+ vides à l'intérieur d'une entrée sont interdites. Par convention, le
+ fichier de correspondances de types débute par une entrée concernant l'entité
+ considérée dans son ensemble (bien que ce ne soit pas obligatoire, et
+ ignoré si présent). Un exemple de fichier de
correspondance de types est fourni
ci-dessous.</p>
- <p>Les URIs de ce fichier sont relatifs à la localisation du fichier
- de correspondances de types. En général, ces fichiers se trouveront dans le
- même répertoire que le fichier de correspondances de types, mais ce
+ <p>Les URIs de ce fichier sont relatifs à la localisation du fichier
+ de correspondances de types. En général, ces fichiers se trouveront dans le
+ même répertoire que le fichier de correspondances de types, mais ce
n'est pas obligatoire. Vous pouvez utiliser des URIs absolus ou
- relatifs pour tout fichier situé sur le même serveur que le fichier
+ relatifs pour tout fichier situé sur le même serveur que le fichier
de correspondances.</p>
<div class="example"><p><code>
</code></p></div>
<p>Notez aussi qu'un fichier de correspondances de types prend le pas sur
- les extensions de noms de fichiers, même si les Multivues sont activées.
- Si les variantes sont de qualités différentes, on doit l'indiquer
- à l'aide du paramètre "qs" à la suite du type de média, comme pour cette
+ les extensions de noms de fichiers, même si les Multivues sont activées.
+ Si les variantes sont de qualités différentes, on doit l'indiquer
+ à l'aide du paramètre "qs" à la suite du type de média, comme pour cette
image
(disponible aux formats JPEG, GIF, ou ASCII-art) : </p>
Content-type: text/plain; qs=0.01<br />
</code></p></div>
- <p>Les valeurs de qs peuvent varier de 0.000 à 1.000. Notez que toute
- variante possédant une valeur de qs de 0.000 ne sera jamais choisie.
- Les variantes qui n'ont pas de paramètre qs défini se voient attribuer
- une valeur de 1.0. Le paramètre qs indique la qualité relative de la
- variante comparée à celle des autres variantes disponibles, sans tenir
- compte des capacités du client. Par exemple, un fichier JPEG possède
- en général une qualité supérieure à celle d'un fichier ASCII s'il
- représente une photographie. Cependant, si la ressource représentée est
- à un ASCII art original, la représentation ASCII sera de meilleure qualité
- que la représentation JPEG. Ainsi une valeur de qs est associée à une
- variante en fonction de la nature de la ressource qu'elle représente.</p>
-
- <p>La liste complète des en-têtes reconnus est disponible dans la
+ <p>Les valeurs de qs peuvent varier de 0.000 à 1.000. Notez que toute
+ variante possédant une valeur de qs de 0.000 ne sera jamais choisie.
+ Les variantes qui n'ont pas de paramètre qs défini se voient attribuer
+ une valeur de 1.0. Le paramètre qs indique la qualité relative de la
+ variante comparée à celle des autres variantes disponibles, sans tenir
+ compte des capacités du client. Par exemple, un fichier JPEG possède
+ en général une qualité supérieure à celle d'un fichier ASCII s'il
+ représente une photographie. Cependant, si la ressource représentée est
+ à un ASCII art original, la représentation ASCII sera de meilleure qualité
+ que la représentation JPEG. Ainsi une valeur de qs est associée à une
+ variante en fonction de la nature de la ressource qu'elle représente.</p>
+
+ <p>La liste complète des en-têtes reconnus est disponible dans la
documentation sur les <a href="mod/mod_negotiation.html#typemaps">correspondances de types du
module mod_negotiation</a>.</p>
<h3><a name="multiviews" id="multiviews">Multivues (option Multiviews)</a></h3>
- <p><code>MultiViews</code> est une option qui s'applique à un répertoire,
- ce qui signifie qu'elle peut être activée à l'aide d'une directive
- <code class="directive"><a href="./mod/core.html#options">Options</a></code> à l'intérieur d'une section
+ <p><code>MultiViews</code> est une option qui s'applique à un répertoire,
+ ce qui signifie qu'elle peut être activée à l'aide d'une directive
+ <code class="directive"><a href="./mod/core.html#options">Options</a></code> à l'intérieur d'une section
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="./mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="./mod/core.html#files"><Files></a></code> dans
- <code>httpd.conf</code>, ou (si <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> est correctement positionnée) dans
+ <code>httpd.conf</code>, ou (si <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> est correctement positionnée) dans
des fichiers
<code>.htaccess</code>. Notez que <code>Options All</code>
n'active pas <code>MultiViews</code>; vous devez activer cette option en
la nommant explicitement.</p>
- <p>L'effet de <code>MultiViews</code> est le suivant : si le serveur reçoit
- une requête pour <code>/tel/répertoire/foo</code>, si
- <code>MultiViews</code> est activée pour
- <code>/tel/répertoire</code>, et si
- <code>/tel/répertoire/foo</code> n'existe <em>pas</em>, le serveur parcourt
- le répertoire à la recherche de fichiers nommés foo.*, et simule
- littéralement une correspondance de types (type map) qui liste tous ces
- fichiers, en leur associant les mêmes types de média et encodages de
- contenu qu'ils auraient eu si le client avait demandé l'accès à l'un
+ <p>L'effet de <code>MultiViews</code> est le suivant : si le serveur reçoit
+ une requête pour <code>/tel/répertoire/foo</code>, si
+ <code>MultiViews</code> est activée pour
+ <code>/tel/répertoire</code>, et si
+ <code>/tel/répertoire/foo</code> n'existe <em>pas</em>, le serveur parcourt
+ le répertoire à la recherche de fichiers nommés foo.*, et simule
+ littéralement une correspondance de types (type map) qui liste tous ces
+ fichiers, en leur associant les mêmes types de média et encodages de
+ contenu qu'ils auraient eu si le client avait demandé l'accès à l'un
d'entre eux par son nom. Il choisit ensuite ce qui correspond le mieux
aux besoins du client.</p>
- <p><code>MultiViews</code> peut aussi s'appliquer à la recherche du fichier
- nommé par la directive <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, si le serveur tente d'indexer
- un répertoire. Si les fichiers de configuration spécifient</p>
+ <p><code>MultiViews</code> peut aussi s'appliquer à la recherche du fichier
+ nommé par la directive <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, si le serveur tente d'indexer
+ un répertoire. Si les fichiers de configuration spécifient</p>
<pre class="prettyprint lang-config">DirectoryIndex index</pre>
<p>le serveur va choisir entre <code>index.html</code>
- et <code>index.html3</code> si les deux fichiers sont présents. Si aucun
- n'est présent, mais <code>index.cgi</code> existe,
- le serveur l'exécutera.</p>
+ et <code>index.html3</code> si les deux fichiers sont présents. Si aucun
+ n'est présent, mais <code>index.cgi</code> existe,
+ le serveur l'exécutera.</p>
<p>Si, parcequ'elle n'est pas reconnue par <code>mod_mime</code>,
- l'extension d'un des fichiers du répertoire ne permet pas de
- déterminer son jeu de caractères, son type de contenu, son langage, ou son
+ l'extension d'un des fichiers du répertoire ne permet pas de
+ déterminer son jeu de caractères, son type de contenu, son langage, ou son
encodage, alors
- le résultat dépendra de la définition de la directive <code class="directive"><a href="./mod/mod_mime.html#multiviewsmatch">MultiViewsMatch</a></code>. Cette directive détermine
+ le résultat dépendra de la définition de la directive <code class="directive"><a href="./mod/mod_mime.html#multiviewsmatch">MultiViewsMatch</a></code>. Cette directive détermine
si les gestionnaires (handlers), les filtres, et autres types d'extensions
- peuvent participer à la négociation MultiVues.</p>
+ peuvent participer à la négociation MultiVues.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="methods" id="methods">Les méthodes de négociation</a><a title="Lien permanent" href="#methods" class="permalink">¶</a></h2>
+<h2><a name="methods" id="methods">Les méthodes de négociation</a><a title="Lien permanent" href="#methods" class="permalink">¶</a></h2>
- <p>Une fois obtenue la liste des variantes pour une ressource donnée,
- httpd dispose de deux méthodes pour choisir la meilleure variante à
- retourner, s'il y a lieu, soit à partir d'un fichier de
+ <p>Une fois obtenue la liste des variantes pour une ressource donnée,
+ httpd dispose de deux méthodes pour choisir la meilleure variante à
+ retourner, s'il y a lieu, soit à partir d'un fichier de
correspondances de types, soit en se basant sur les noms de fichiers du
- répertoire. Il n'est pas nécessaire de connaître en détails comment la
- négociation fonctionne réellement pour pouvoir utiliser les fonctionnalités
- de négociation de contenu de httpd. La suite de ce document explique
- cependant les méthodes utilisées pour ceux ou celles qui sont
- intéressés(ées). </p>
+ répertoire. Il n'est pas nécessaire de connaître en détails comment la
+ négociation fonctionne réellement pour pouvoir utiliser les fonctionnalités
+ de négociation de contenu de httpd. La suite de ce document explique
+ cependant les méthodes utilisées pour ceux ou celles qui sont
+ intéressés(ées). </p>
- <p>Il existe deux méthodes de négociation :</p>
+ <p>Il existe deux méthodes de négociation :</p>
<ol>
- <li><strong>La négociation effectuée par le serveur selon l'algorithme
- de httpd</strong> est normalement utilisée. l'algorithme de
+ <li><strong>La négociation effectuée par le serveur selon l'algorithme
+ de httpd</strong> est normalement utilisée. l'algorithme de
httpd est
- expliqué plus en détails ci-dessous. Quand cet algorithme est utilisé,
- httpd peut parfois "bricoler" le facteur de qualité (qs) d'une dimension
- particulière afin d'obtenir un meilleur résultat.
- La manière dont httpd peut modifier les facteurs de qualité est
- expliquée plus en détails ci-dessous.</li>
-
- <li><strong>La négociation de contenu transparente</strong> est utilisée
- quand le navigateur le demande explicitement selon le mécanisme défini
- dans la RFC 2295. Cette méthode de négociation donne au navigateur le
- contrôle total du choix de la meilleure variante; le résultat dépend
- cependant de la spécificité des algorithmes utilisés par le navigateur.
- Au cours du processus de négociation transparente, le navigateur peut
- demander à httpd d'exécuter l'"algorithme de sélection de variante à
- distance" défini dans la RFC 2296.</li>
+ expliqué plus en détails ci-dessous. Quand cet algorithme est utilisé,
+ httpd peut parfois "bricoler" le facteur de qualité (qs) d'une dimension
+ particulière afin d'obtenir un meilleur résultat.
+ La manière dont httpd peut modifier les facteurs de qualité est
+ expliquée plus en détails ci-dessous.</li>
+
+ <li><strong>La négociation de contenu transparente</strong> est utilisée
+ quand le navigateur le demande explicitement selon le mécanisme défini
+ dans la RFC 2295. Cette méthode de négociation donne au navigateur le
+ contrôle total du choix de la meilleure variante; le résultat dépend
+ cependant de la spécificité des algorithmes utilisés par le navigateur.
+ Au cours du processus de négociation transparente, le navigateur peut
+ demander à httpd d'exécuter l'"algorithme de sélection de variante à
+ distance" défini dans la RFC 2296.</li>
</ol>
-<h3><a name="dimensions" id="dimensions">Les dimensions de la négociation</a></h3>
+<h3><a name="dimensions" id="dimensions">Les dimensions de la négociation</a></h3>
<table>
</tr>
<tr valign="top">
- <td>Type de média</td>
+ <td>Type de média</td>
- <td>Le navigateur affiche ses préférences à l'aide du champ d'en-tête
- <code>Accept</code>. Chaque type de média peut se voir associé un facteur de
- qualité. La description de la variante peut aussi avoir un facteur de
- qualité (le paramètre "qs").</td>
+ <td>Le navigateur affiche ses préférences à l'aide du champ d'en-tête
+ <code>Accept</code>. Chaque type de média peut se voir associé un facteur de
+ qualité. La description de la variante peut aussi avoir un facteur de
+ qualité (le paramètre "qs").</td>
</tr>
<tr valign="top">
<td>Langage</td>
- <td>Le navigateur affiche ses préférences à l'aide du champ d'en-tête
- <code>Accept-Language</code>. Chaque langue peut se voir associé un facteur de
- qualité. Les variantes peuvent être associées avec zéro, un ou
+ <td>Le navigateur affiche ses préférences à l'aide du champ d'en-tête
+ <code>Accept-Language</code>. Chaque langue peut se voir associé un facteur de
+ qualité. Les variantes peuvent être associées avec zéro, un ou
plusieurs langages.</td>
</tr>
<tr valign="top">
<td>Encoding</td>
- <td>Le navigateur affiche ses préférences à l'aide du champ d'en-tête
- <code>Accept-Encoding</code>. Chaque encodage peut se voir associé un facteur de
- qualité.</td>
+ <td>Le navigateur affiche ses préférences à l'aide du champ d'en-tête
+ <code>Accept-Encoding</code>. Chaque encodage peut se voir associé un facteur de
+ qualité.</td>
</tr>
<tr valign="top">
<td>Charset</td>
- <td>Le navigateur affiche ses préférences à l'aide du champ d'en-tête
- <code>Accept-Charset</code>. Chaque jeu de caractère peut se voir associé un facteur de
- qualité. Les variantes peuvent préciser un jeu de caractères comme
- paramètre du type de média.</td>
+ <td>Le navigateur affiche ses préférences à l'aide du champ d'en-tête
+ <code>Accept-Charset</code>. Chaque jeu de caractère peut se voir associé un facteur de
+ qualité. Les variantes peuvent préciser un jeu de caractères comme
+ paramètre du type de média.</td>
</tr>
</table>
-<h3><a name="algorithm" id="algorithm">L'algorithme de négociation de
+<h3><a name="algorithm" id="algorithm">L'algorithme de négociation de
httpd</a></h3>
<p>httpd peut utiliser l'algorithme suivant pour choisir la "meilleure"
- variante (s'il y en a une) à retourner au navigateur. Cet algorithme n'est pas
+ variante (s'il y en a une) à retourner au navigateur. Cet algorithme n'est pas
configurable. Il fonctionne comme suit :</p>
<ol>
- <li>En premier lieu, pour chaque dimension de la négociation, consulter
- le champ d'en-tête <em>Accept*</em> approprié et assigner une qualité à
- chaque variante. Si l'en-tête <em>Accept*</em> pour toute dimension
- implique que la variante n'est pas acceptable, éliminer cette dernière.
- S'il ne reste plus de variante, aller à l'étape 4.</li>
+ <li>En premier lieu, pour chaque dimension de la négociation, consulter
+ le champ d'en-tête <em>Accept*</em> approprié et assigner une qualité à
+ chaque variante. Si l'en-tête <em>Accept*</em> pour toute dimension
+ implique que la variante n'est pas acceptable, éliminer cette dernière.
+ S'il ne reste plus de variante, aller à l'étape 4.</li>
<li>
- Choisir la "meilleure" variante par élimination. Chacun des tests
- suivants est effectué dans cet ordre. Toute variante non sélectionnée
- à l'issue d'un test est éliminée. Après chaque test, s'il reste une
- seule variante, choisir cette dernière comme celle qui correspond le
- mieux puis aller à l'étape 3. S'il reste plusieurs variantes, passer
+ Choisir la "meilleure" variante par élimination. Chacun des tests
+ suivants est effectué dans cet ordre. Toute variante non sélectionnée
+ à l'issue d'un test est éliminée. Après chaque test, s'il reste une
+ seule variante, choisir cette dernière comme celle qui correspond le
+ mieux puis aller à l'étape 3. S'il reste plusieurs variantes, passer
au test suivant.
<ol>
- <li>Multiplier le facteur de qualité de l'en-tête
- <code>Accept</code> par le facteur de qualité "qs" pour le type de
- média de ces variantes, et choisir la variante qui possède la valeur
+ <li>Multiplier le facteur de qualité de l'en-tête
+ <code>Accept</code> par le facteur de qualité "qs" pour le type de
+ média de ces variantes, et choisir la variante qui possède la valeur
la plus importante.</li>
- <li>Sélectionner les variantes qui possèdent le facteur de qualité
+ <li>Sélectionner les variantes qui possèdent le facteur de qualité
de langage le plus haut.</li>
- <li>Sélectionner les variantes dont le langage correspond le mieux,
- en se basant sur l'ordre des langages de l'en-tête
+ <li>Sélectionner les variantes dont le langage correspond le mieux,
+ en se basant sur l'ordre des langages de l'en-tête
<code>Accept-Language</code> (s'il existe), ou de la directive
<code>LanguagePriority</code> (si elle existe).</li>
- <li>Sélectionner les variantes possédant le paramètre de média
- "level" le plus élevé (utilisé pour préciser la version des types de
- média text/html).</li>
+ <li>Sélectionner les variantes possédant le paramètre de média
+ "level" le plus élevé (utilisé pour préciser la version des types de
+ média text/html).</li>
- <li>Sélectionner les variantes possédant le paramètre de média
- "charset" (jeu de caractères) qui correspond le mieux, en se basant
- sur la ligne d'en-tête <code>Accept-Charset</code> . Le jeu de
- caractères ISO-8859-1 est acceptable sauf s'il est explicitement
- exclus. Les variantes avec un type de média <code>text/*</code>
- mais non explicitement associées avec un jeu de caractères
- particulier sont supposées être en ISO-8859-1.</li>
+ <li>Sélectionner les variantes possédant le paramètre de média
+ "charset" (jeu de caractères) qui correspond le mieux, en se basant
+ sur la ligne d'en-tête <code>Accept-Charset</code> . Le jeu de
+ caractères ISO-8859-1 est acceptable sauf s'il est explicitement
+ exclus. Les variantes avec un type de média <code>text/*</code>
+ mais non explicitement associées avec un jeu de caractères
+ particulier sont supposées être en ISO-8859-1.</li>
- <li>Sélectionner les variantes dont le paramètre de média "charset"
- associé n'est <em>pas</em> ISO-8859-1. S'il n'en existe pas,
- sélectionner toutes les variantes.</li>
+ <li>Sélectionner les variantes dont le paramètre de média "charset"
+ associé n'est <em>pas</em> ISO-8859-1. S'il n'en existe pas,
+ sélectionner toutes les variantes.</li>
- <li>Sélectionner les variantes avec le meilleur encodage. S'il existe
+ <li>Sélectionner les variantes avec le meilleur encodage. S'il existe
des variantes avec un encodage acceptable pour le client,
- sélectionner celles-ci. Sinon, s'il existe des variantes encodées et
- des variantes non encodées, ne sélectionner que les variantes non
- encodées. Si toutes les variantes sont encodées ou si aucune
- ne l'est, sélectionner toutes les variantes.</li>
+ sélectionner celles-ci. Sinon, s'il existe des variantes encodées et
+ des variantes non encodées, ne sélectionner que les variantes non
+ encodées. Si toutes les variantes sont encodées ou si aucune
+ ne l'est, sélectionner toutes les variantes.</li>
- <li>Sélectionner les variantes dont le contenu a la longueur
+ <li>Sélectionner les variantes dont le contenu a la longueur
la plus courte.</li>
- <li>Sélectionner la première des variantes restantes. Il s'agira
- soit de la première variante listée dans le fichier de
+ <li>Sélectionner la première des variantes restantes. Il s'agira
+ soit de la première variante listée dans le fichier de
correspondances de types, soit, quand les variantes sont lues depuis
- le répertoire, la première par ordre alphabétique quand elles sont
- triées selon le code ASCII.</li>
+ le répertoire, la première par ordre alphabétique quand elles sont
+ triées selon le code ASCII.</li>
</ol>
</li>
- <li>L'algorithme a maintenant sélectionné une variante considérée comme
- la "meilleure", il la retourne donc au client en guise de réponse.
- L'en-tête HTTP <code>Vary</code> de la réponse est renseigné de façon à
- indiquer les dimensions de la négociation (les navigateurs et les caches
+ <li>L'algorithme a maintenant sélectionné une variante considérée comme
+ la "meilleure", il la retourne donc au client en guise de réponse.
+ L'en-tête HTTP <code>Vary</code> de la réponse est renseigné de façon à
+ indiquer les dimensions de la négociation (les navigateurs et les caches
peuvent utiliser cette information lors de la mise en cache de la
- ressource). Travail terminé.</li>
-
- <li>Le passage par cette étape signifie qu'aucune variante n'a été
- sélectionnée (parcequ'aucune n'est acceptable pour le navigateur).
- Envoyer une réponse avec un code de statut 406 (qui signifie "Aucune
- représentation acceptable") et un corps comportant un document HTML qui
- affiche les variantes disponibles. Renseigner aussi l'en-tête HTTP
- <code>Vary</code> de façon à indiquer les dimensions de la variante.</li>
+ ressource). Travail terminé.</li>
+
+ <li>Le passage par cette étape signifie qu'aucune variante n'a été
+ sélectionnée (parcequ'aucune n'est acceptable pour le navigateur).
+ Envoyer une réponse avec un code de statut 406 (qui signifie "Aucune
+ représentation acceptable") et un corps comportant un document HTML qui
+ affiche les variantes disponibles. Renseigner aussi l'en-tête HTTP
+ <code>Vary</code> de façon à indiquer les dimensions de la variante.</li>
</ol>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="better" id="better">Ajustement des valeurs de qualité</a><a title="Lien permanent" href="#better" class="permalink">¶</a></h2>
+<h2><a name="better" id="better">Ajustement des valeurs de qualité</a><a title="Lien permanent" href="#better" class="permalink">¶</a></h2>
- <p>Parfois httpd modifie les valeurs de qualité par rapport à celles qui
- découleraient d'une stricte interprétation de l'algorithme de négociation
- de httpd ci-dessus, ceci pour améliorer les résultats de l'algorithme pour
- les navigateurs qui envoient des informations incomplètes ou inappropriées.
+ <p>Parfois httpd modifie les valeurs de qualité par rapport à celles qui
+ découleraient d'une stricte interprétation de l'algorithme de négociation
+ de httpd ci-dessus, ceci pour améliorer les résultats de l'algorithme pour
+ les navigateurs qui envoient des informations incomplètes ou inappropriées.
Certains des navigateurs les plus populaires envoient des informations dans
- l'en-tête <code>Accept</code> qui, sans ce traitement, provoqueraient la
- sélection d'une variante inappropriée dans de nombreux cas. Quand un
- navigateur envoie des informations complètes et correctes ces ajustements
- ne sont pas effectués.</p>
+ l'en-tête <code>Accept</code> qui, sans ce traitement, provoqueraient la
+ sélection d'une variante inappropriée dans de nombreux cas. Quand un
+ navigateur envoie des informations complètes et correctes ces ajustements
+ ne sont pas effectués.</p>
-<h3><a name="wildcards" id="wildcards">Types de média et caractères génériques</a></h3>
+<h3><a name="wildcards" id="wildcards">Types de média et caractères génériques</a></h3>
- <p>L'en-tête de requête <code>Accept:</code> indique les types de média
- souhaités. Il peut aussi contenir des types de média avec caractères
- génériques, comme "image/*" ou "*/*" où * correspond à n'importe quelle
- chaîne de caractères. Ainsi une requête contenant :</p>
+ <p>L'en-tête de requête <code>Accept:</code> indique les types de média
+ souhaités. Il peut aussi contenir des types de média avec caractères
+ génériques, comme "image/*" ou "*/*" où * correspond à n'importe quelle
+ chaîne de caractères. Ainsi une requête contenant :</p>
<div class="example"><p><code>Accept: image/*, */*</code></p></div>
- <p>indiquerait que tout type de média est acceptable, avec une préférence
- pour les types commençant par "image/".
- Certains navigateurs ajoutent par défaut des types de média avec caractères
- génériques aux types explicitement nommés qu'ils peuvent gérer.
+ <p>indiquerait que tout type de média est acceptable, avec une préférence
+ pour les types commençant par "image/".
+ Certains navigateurs ajoutent par défaut des types de média avec caractères
+ génériques aux types explicitement nommés qu'ils peuvent gérer.
Par exemple :</p>
<div class="example"><p><code>
Accept: text/html, text/plain, image/gif, image/jpeg, */*
</code></p></div>
- <p>Ceci indique que les types explicitement listés sont préférés, mais
- qu'une représentation avec un type différent de ces derniers conviendra
- aussi. Les valeurs de qualités explicites,
- afin de préciser ce que veut vraiment le navigateur, s'utilisent
+ <p>Ceci indique que les types explicitement listés sont préférés, mais
+ qu'une représentation avec un type différent de ces derniers conviendra
+ aussi. Les valeurs de qualités explicites,
+ afin de préciser ce que veut vraiment le navigateur, s'utilisent
comme suit :</p>
<div class="example"><p><code>
Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01
</code></p></div>
- <p>Les types explicites n'ont pas de facteur de qualité, la valeur par
- défaut de leur préférence est donc de 1.0 (la plus haute). Le type avec
- caractères génériques */* se voit attribuer une préférence basse de 0.01,
- si bien que les types autres que ceux explicitement listés ne seront retournés
- que s'il n'existe pas de variante correspondant à un type explicitement
- listé.</p>
-
- <p>Si l'en-tête <code>Accept:</code> ne contient <em>pas</em> aucun
- facteur de qualité, httpd positionne la valeur de qualité de
- "*/*", si present, à 0.01 pour simuler l'effet désiré. Il positionne aussi
- la valeur de qualité des types avec caractères génériques au format
- "type/*" à 0.02 (ils sont donc préférés à ceux correspondant à "*/*"). Si
- un type de média dans l'en-tête <code>Accept:</code> contient un facteur de
- qualité, ces valeurs spéciales ne seront <em>pas</em> appliquées, de façon
- à ce que les requêtes de navigateurs qui envoient les informations
- explicites à prendre en compte fonctionnent comme souhaité.</p>
-
-
-<h3><a name="exceptions" id="exceptions">Exceptions dans la négociation du
+ <p>Les types explicites n'ont pas de facteur de qualité, la valeur par
+ défaut de leur préférence est donc de 1.0 (la plus haute). Le type avec
+ caractères génériques */* se voit attribuer une préférence basse de 0.01,
+ si bien que les types autres que ceux explicitement listés ne seront retournés
+ que s'il n'existe pas de variante correspondant à un type explicitement
+ listé.</p>
+
+ <p>Si l'en-tête <code>Accept:</code> ne contient <em>pas</em> aucun
+ facteur de qualité, httpd positionne la valeur de qualité de
+ "*/*", si present, à 0.01 pour simuler l'effet désiré. Il positionne aussi
+ la valeur de qualité des types avec caractères génériques au format
+ "type/*" à 0.02 (ils sont donc préférés à ceux correspondant à "*/*"). Si
+ un type de média dans l'en-tête <code>Accept:</code> contient un facteur de
+ qualité, ces valeurs spéciales ne seront <em>pas</em> appliquées, de façon
+ à ce que les requêtes de navigateurs qui envoient les informations
+ explicites à prendre en compte fonctionnent comme souhaité.</p>
+
+
+<h3><a name="exceptions" id="exceptions">Exceptions dans la négociation du
langage</a></h3>
- <p>A partir de la version 2.0 de httpd, certaines exceptions ont été
- ajoutées à l'algorithme de négociation afin de ménager une issue de secours
- quand la négociation ne trouve aucun langage correspondant.</p>
+ <p>A partir de la version 2.0 de httpd, certaines exceptions ont été
+ ajoutées à l'algorithme de négociation afin de ménager une issue de secours
+ quand la négociation ne trouve aucun langage correspondant.</p>
<p>Quand un client demande une page sur votre serveur, si ce dernier ne
- parvient pas à trouver une page dont la langue corresponde à l'en-tête
- <code>Accept-language</code> envoyé par le navigateur, il enverra au client
- une réponse "Aucune variante acceptable" ou "Plusieurs choix possibles".
- Pour éviter ces
- messages d'erreur, il est possible de configurer httpd de façon à ce que,
- dans ces cas, il ignore l'en-tête <code>Accept-language</code> et fournisse
- tout de même un document, même s'il ne correspond pas exactement à la
+ parvient pas à trouver une page dont la langue corresponde à l'en-tête
+ <code>Accept-language</code> envoyé par le navigateur, il enverra au client
+ une réponse "Aucune variante acceptable" ou "Plusieurs choix possibles".
+ Pour éviter ces
+ messages d'erreur, il est possible de configurer httpd de façon à ce que,
+ dans ces cas, il ignore l'en-tête <code>Accept-language</code> et fournisse
+ tout de même un document, même s'il ne correspond pas exactement à la
demande explicite du client. La directive <code class="directive"><a href="./mod/mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></code>
- peut être utilisée pour éviter ces messages d'erreur et leur substituer une
- page dont le langage sera déterminé en fonction du contenu de la directive
+ peut être utilisée pour éviter ces messages d'erreur et leur substituer une
+ page dont le langage sera déterminé en fonction du contenu de la directive
<code class="directive"><a href="./mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>.</p>
- <p>Le serveur va aussi essayer d'étendre sa recherche de correspondance aux
- sous-ensembles de langages quand aucune correspondance exacte ne peut être
- trouvée. Par exemple, si un client demande des documents possédant le
- langage <code>en-GB</code>, c'est à dire anglais britannique, le standard
- HTTP/1.1 n'autorise normalement pas le serveur à faire correspondre cette
- demande à un document dont le langage est simplement <code>en</code>.
- (Notez qu'inclure <code>en-GB</code> et non <code>en</code> dans l'en-tête
+ <p>Le serveur va aussi essayer d'étendre sa recherche de correspondance aux
+ sous-ensembles de langages quand aucune correspondance exacte ne peut être
+ trouvée. Par exemple, si un client demande des documents possédant le
+ langage <code>en-GB</code>, c'est à dire anglais britannique, le standard
+ HTTP/1.1 n'autorise normalement pas le serveur à faire correspondre cette
+ demande à un document dont le langage est simplement <code>en</code>.
+ (Notez qu'inclure <code>en-GB</code> et non <code>en</code> dans l'en-tête
<code>Accept-Language</code> constitue une quasi-erreur de configuration,
- car il est très peu probable qu'un lecteur qui comprend l'anglais
- britannique, ne comprenne pas l'anglais en général. Malheureusement, de
- nombreux clients ont réellement des configurations par défaut de ce type.)
+ car il est très peu probable qu'un lecteur qui comprend l'anglais
+ britannique, ne comprenne pas l'anglais en général. Malheureusement, de
+ nombreux clients ont réellement des configurations par défaut de ce type.)
Cependant, si aucune autre correspondance de langage n'est possible, et que le
serveur est sur le point de retourner une erreur "Aucune variable
- acceptable" ou de choisir le langage défini par la directive <code class="directive"><a href="./mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>, le serveur ignorera
- la spécification du sous-ensemble de langage et associera la demande en
- <code>en-GB</code> à des documents en <code>en</code>. Implicitement,
- httpd ajoute le langage parent à la liste de langues acceptés par le
- client avec une valeur de qualité très basse. Notez cependant que si le
+ acceptable" ou de choisir le langage défini par la directive <code class="directive"><a href="./mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>, le serveur ignorera
+ la spécification du sous-ensemble de langage et associera la demande en
+ <code>en-GB</code> à des documents en <code>en</code>. Implicitement,
+ httpd ajoute le langage parent à la liste de langues acceptés par le
+ client avec une valeur de qualité très basse. Notez cependant que si le
client demande "en-GB; q=0.9, fr; q=0.8", et le serveur dispose de
- documents estampillés "en" et "fr", alors c'est le document "fr" qui sera
- retourné, tout ceci dans un souci de compatibilité avec la spécification
+ documents estampillés "en" et "fr", alors c'est le document "fr" qui sera
+ retourné, tout ceci dans un souci de compatibilité avec la spécification
HTTP/1.1 et afin de fonctionner efficacement avec les clients
- correctement configurés.</p>
+ correctement configurés.</p>
- <p>Pour supporter les techniques avancées (comme les cookies ou les chemins
- d'URL spéciaux) afin de déterminer le langage préféré de l'utilisateur, le
- module <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> reconnaît la
+ <p>Pour supporter les techniques avancées (comme les cookies ou les chemins
+ d'URL spéciaux) afin de déterminer le langage préféré de l'utilisateur, le
+ module <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> reconnaît la
<a href="env.html">variable d'environnement</a>
<code>prefer-language</code>
- depuis la version 2.0.47 de httpd. Si elle est définie et contient un
- symbole de langage approprié, <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> va essayer
- de sélectionner une variante correspondante. S'il n'existe pas de telle
- variante, le processus normal de négociation sera lancé.</p>
+ depuis la version 2.0.47 de httpd. Si elle est définie et contient un
+ symbole de langage approprié, <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> va essayer
+ de sélectionner une variante correspondante. S'il n'existe pas de telle
+ variante, le processus normal de négociation sera lancé.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SetEnvIf Cookie "language=(.+)" prefer-language=$1
Header append Vary cookie</pre>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="extensions" id="extensions">Extensions à la négociation de contenu
+<h2><a name="extensions" id="extensions">Extensions à la négociation de contenu
transparente</a><a title="Lien permanent" href="#extensions" class="permalink">¶</a></h2>
-<p>httpd étend le protocole de négociation de contenu transparente (RFC
-2295) comme suit. Un nouvel élément <code>{encodage ..}</code> est utilisé dans
+<p>httpd étend le protocole de négociation de contenu transparente (RFC
+2295) comme suit. Un nouvel élément <code>{encodage ..}</code> est utilisé dans
les listes de variantes pour marquer celles qui ne sont disponibles qu'avec un
-encodage de contenu spécifique. L'implémentation de l'algorithme
-RVSA/1.0 (RFC 2296) est étendue à la reconnaissance de variantes encodées dans
-la liste, et à leur utilisation en tant que variantes candidates à partir du
-moment où leur encodage satisfait au contenu de l'en-tête de requête
-<code>Accept-Encoding</code>. L'implémentation RVSA/1.0 n'arrondit pas les
-facteurs de qualité calculés à 5 décimales avant d'avoir choisi la meilleure
+encodage de contenu spécifique. L'implémentation de l'algorithme
+RVSA/1.0 (RFC 2296) est étendue à la reconnaissance de variantes encodées dans
+la liste, et à leur utilisation en tant que variantes candidates à partir du
+moment où leur encodage satisfait au contenu de l'en-tête de requête
+<code>Accept-Encoding</code>. L'implémentation RVSA/1.0 n'arrondit pas les
+facteurs de qualité calculés à 5 décimales avant d'avoir choisi la meilleure
variante.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="naming" id="naming">Remarques à propos des liens hypertextes et des
+<h2><a name="naming" id="naming">Remarques à propos des liens hypertextes et des
conventions de nommage</a><a title="Lien permanent" href="#naming" class="permalink">¶</a></h2>
- <p>Si vous utilisez la négociation de langage, vous avez le choix entre
- différentes conventions de nommage, car les fichiers peuvent posséder
- plusieurs extensions, et l'ordre dans lequel ces dernières apparaissent
- est en général sans rapport (voir la documentation sur le module <a href="mod/mod_mime.html#multipleext">mod_mime</a>
- pour plus de détails).</p>
+ <p>Si vous utilisez la négociation de langage, vous avez le choix entre
+ différentes conventions de nommage, car les fichiers peuvent posséder
+ plusieurs extensions, et l'ordre dans lequel ces dernières apparaissent
+ est en général sans rapport (voir la documentation sur le module <a href="mod/mod_mime.html#multipleext">mod_mime</a>
+ pour plus de détails).</p>
- <p>Un fichier type possède une extension liée au type MIME
+ <p>Un fichier type possède une extension liée au type MIME
(<em>par exemple</em>, <code>html</code>), mais parfois aussi une
- extension liée à l'encodage (<em>par exemple</em>, <code>gz</code>),
- et bien sûr une extension liée au langage
+ extension liée à l'encodage (<em>par exemple</em>, <code>gz</code>),
+ et bien sûr une extension liée au langage
(<em>par exemple</em>, <code>en</code>) quand plusieurs variantes de
langage sont disponibles pour ce fichier.</p>
<p>En regardant la table ci-dessus, vous remarquerez qu'il est toujours
possible d'utiliser le nom de fichier sans extension dans un lien
(<em>par exemple</em>, <code>foo</code>). L'avantage est de pouvoir
- dissimuler le type réel du fichier associé à un document et de pouvoir
+ dissimuler le type réel du fichier associé à un document et de pouvoir
le modifier
- ultérieurement, <em>par exemple</em>, de <code>html</code> à
- <code>shtml</code> ou <code>cgi</code> sans avoir à
- mettre à jour aucun lien.</p>
-
- <p>Si vous souhaitez continuer à utiliser un type MIME dans vos liens
- (<em>par exemple </em> <code>foo.html</code>), l'extension liée au langage
- (y compris une extension liée à l'encodage s'il en existe une)
- doit se trouver à droite de l'extension liée au type MIME
+ ultérieurement, <em>par exemple</em>, de <code>html</code> à
+ <code>shtml</code> ou <code>cgi</code> sans avoir à
+ mettre à jour aucun lien.</p>
+
+ <p>Si vous souhaitez continuer à utiliser un type MIME dans vos liens
+ (<em>par exemple </em> <code>foo.html</code>), l'extension liée au langage
+ (y compris une extension liée à l'encodage s'il en existe une)
+ doit se trouver à droite de l'extension liée au type MIME
(<em>par exemple</em>, <code>foo.html.en</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="caching" id="caching">Remarque sur la mise en cache</a><a title="Lien permanent" href="#caching" class="permalink">¶</a></h2>
- <p>Quand un cache stocke une représentation, il l'associe avec l'URL de la
- requête. Lorsque cette URL est à nouveau demandée, le cache peut utiliser
- la représentation stockée. Cependant, si la ressource est négociable au
- niveau du serveur, il se peut que seule la première variante demandée soit
+ <p>Quand un cache stocke une représentation, il l'associe avec l'URL de la
+ requête. Lorsque cette URL est à nouveau demandée, le cache peut utiliser
+ la représentation stockée. Cependant, si la ressource est négociable au
+ niveau du serveur, il se peut que seule la première variante demandée soit
mise en cache et de ce fait, la correspondance positive du cache peut
- entraîner une réponse inappropriée. Pour
- éviter ceci, httpd marque par
- défaut toutes les réponses qui sont retournées après une négociation de
+ entraîner une réponse inappropriée. Pour
+ éviter ceci, httpd marque par
+ défaut toutes les réponses qui sont retournées après une négociation de
contenu comme "non-cachables" par les clients HTTP/1.0. httpd supporte
- aussi les fonctionnalités du protocole HTTP/1.1 afin de permettre la mise
- en cache des réponses négociées.</p>
-
- <p>Pour les requêtes en provenance d'un client compatible HTTP/1.0
- (un navigateur ou un cache), la directive <code class="directive"><a href="./mod/mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></code> peut être utilisée
- pour permettre la mise en cache des réponses qui ont fait l'objet d'une
- négociation. Cette directive peut intervenir dans la configuration au
- niveau du serveur ou de l'hôte virtuel, et n'accepte aucun argument. Elle
- n'a aucun effet sur les requêtes en provenance de clients HTTP/1.1.</p>
-
- <p>Pour les clients HTTP/1.1, httpd envoie un en-tête de réponse HTTP
- <code>Vary</code> afin d'indiquer les dimensions de la négociation pour
- cette réponse. Les caches peuvent
- utiliser cette information afin de déterminer
- si une requête peut être servie à partir de la copie locale. Pour inciter
- un cache à utiliser la copie locale sans tenir compte des dimensions de la
- négociation, définissez la
+ aussi les fonctionnalités du protocole HTTP/1.1 afin de permettre la mise
+ en cache des réponses négociées.</p>
+
+ <p>Pour les requêtes en provenance d'un client compatible HTTP/1.0
+ (un navigateur ou un cache), la directive <code class="directive"><a href="./mod/mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></code> peut être utilisée
+ pour permettre la mise en cache des réponses qui ont fait l'objet d'une
+ négociation. Cette directive peut intervenir dans la configuration au
+ niveau du serveur ou de l'hôte virtuel, et n'accepte aucun argument. Elle
+ n'a aucun effet sur les requêtes en provenance de clients HTTP/1.1.</p>
+
+ <p>Pour les clients HTTP/1.1, httpd envoie un en-tête de réponse HTTP
+ <code>Vary</code> afin d'indiquer les dimensions de la négociation pour
+ cette réponse. Les caches peuvent
+ utiliser cette information afin de déterminer
+ si une requête peut être servie à partir de la copie locale. Pour inciter
+ un cache à utiliser la copie locale sans tenir compte des dimensions de la
+ négociation, définissez la
<a href="env.html#special">variable d'environnement</a>
<code>force-no-vary</code>.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/content-negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/content-negotiation.html" title="Français"> fr </a> |
+<a href="./fr/content-negotiation.html" title="Français"> fr </a> |
<a href="./ja/content-negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/content-negotiation.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Messages d'erreur personnalisés - Serveur Apache HTTP Version 2.5</title>
+<title>Messages d'erreur personnalisés - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Messages d'erreur personnalisés</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Messages d'erreur personnalisés</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/custom-error.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/custom-error.html" title="Français"> fr </a> |
+<a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/custom-error.html" title="Français"> fr </a> |
<a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Le serveur HTTP Apache fournit des messages d'erreur génériques
+ <p>Le serveur HTTP Apache fournit des messages d'erreur génériques
pour les codes de statut 4xx ou 5xx ; ces messages sont cependant
- relativement austères, imprécis, et peuvent s'avérer intimidants
+ relativement austères, imprécis, et peuvent s'avérer intimidants
pour les visiteurs du site. Si vous le souhaitez, vous pouvez
afficher des messages d'erreur plus conviviaux, dans un langage
- autre que l'anglais, ou même sous une forme plus en adéquation avec
+ autre que l'anglais, ou même sous une forme plus en adéquation avec
le style de votre site.</p>
- <p>Il est possible de définir des messages d'erreur personnalisés
- pour chaque code de statut HTTP associé à une condition d'erreur -
- c'est à dire tout code de statut 4xx ou 5xx.</p>
+ <p>Il est possible de définir des messages d'erreur personnalisés
+ pour chaque code de statut HTTP associé à une condition d'erreur -
+ c'est à dire tout code de statut 4xx ou 5xx.</p>
<p>De plus, il est possible de
personnaliser le message d'erreur en fonction d'un jeu de valeurs
- fourni, en utilisant les <a href="howto/ssi.html">Inclusions Côté
+ fourni, en utilisant les <a href="howto/ssi.html">Inclusions Côté
Serveur (SSI)</a>. Un programme CGI ou un autre gestionnaire
dynamique (PHP, mod_perl, etc...) peut aussi utiliser ces variables
- pour gérer les conditions d'erreur.</p>
+ pour gérer les conditions d'erreur.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#configuration">Configuration</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#variables">Variables disponibles</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#custom">Personnalisation des messages d'erreur</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#multi-lang">Messages d'erreur personnalisés
+<li><img alt="" src="./images/down.gif" /> <a href="#multi-lang">Messages d'erreur personnalisés
multilingues</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="configuration" id="configuration">Configuration</a><a title="Lien permanent" href="#configuration" class="permalink">¶</a></h2>
- <p>Les messages d'erreur personnalisés sont configurés via la
+ <p>Les messages d'erreur personnalisés sont configurés via la
directive <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code>, qui
- peut être utilisée dans un contexte global, serveur virtuel ou
- répertoire. On peut utiliser cette directive dans les fichiers
+ peut être utilisée dans un contexte global, serveur virtuel ou
+ répertoire. On peut utiliser cette directive dans les fichiers
.htaccess si <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> est
- définie à FileInfo.</p>
+ définie à FileInfo.</p>
- <pre class="prettyprint lang-config">ErrorDocument 500 "Désolé, notre script s'est
-crashé ; comme c'est dommage !"
+ <pre class="prettyprint lang-config">ErrorDocument 500 "Désolé, notre script s'est
+crashé ; comme c'est dommage !"
ErrorDocument 500 /cgi-bin/crash-recover
ErrorDocument 500 http://error.example.com/server_error.html
ErrorDocument 404 /errors/not_found.html
<p>La syntaxe de la directive <code>ErrorDocument</code> est :</p>
<pre class="prettyprint lang-config">ErrorDocument <code_3_chiffres> <action></pre>
- <p>où action peut être traitée comme :</p>
+ <p>où action peut être traitée comme :</p>
<ol>
<li>Une URL de redirection local (si l'action commence par un "/").</li>
<li>Une URL de redirection externe (si action est une URL valide).</li>
- <li>Le texte à afficher (si l'action ne répond à aucune des
- deux conditions précédentes). Entourez le texte de guillemets (")
+ <li>Le texte à afficher (si l'action ne répond à aucune des
+ deux conditions précédentes). Entourez le texte de guillemets (")
s'il contient plusieurs mots.</li>
</ol>
<p>Dans le cas d'une redirection vers une URL locale, des variables
- d'environnement supplémentaires sont définies de façon à ce que la
- réponse puisse être personnalisée par la suite. Elles ne sont pas
- envoyées aux URLs externes.</p>
+ d'environnement supplémentaires sont définies de façon à ce que la
+ réponse puisse être personnalisée par la suite. Elles ne sont pas
+ envoyées aux URLs externes.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="variables" id="variables">Variables disponibles</a><a title="Lien permanent" href="#variables" class="permalink">¶</a></h2>
- <p>La redirection vers une autre URL peut être utile, mais
+ <p>La redirection vers une autre URL peut être utile, mais
seulement s'il est possible de transmettre certaines informations
- qui pourront être utilisées pour expliquer ou journaliser
- la condition d'erreur ou le problème plus clairement.</p>
+ qui pourront être utilisées pour expliquer ou journaliser
+ la condition d'erreur ou le problème plus clairement.</p>
- <p>Pour y parvenir, lorsque la redirection d'erreur est envoyée,
- des variables d'environnement supplémentaires sont définies à
- partir des en-têtes de la requête originale en préfixant le nom
- d'origine de l'en-tête par 'REDIRECT_', ce qui permet de fournir au
- message d'erreur le contexte de la requête originelle.</p>
+ <p>Pour y parvenir, lorsque la redirection d'erreur est envoyée,
+ des variables d'environnement supplémentaires sont définies à
+ partir des en-têtes de la requête originale en préfixant le nom
+ d'origine de l'en-tête par 'REDIRECT_', ce qui permet de fournir au
+ message d'erreur le contexte de la requête originelle.</p>
<p>Par exemple, en plus des variables d'environnement habituelles,
vous pouvez recevoir ce qui suit :</p>
</code></p></div>
<p>Les variables d'environnement <code>REDIRECT_</code> sont
- créées à partir des variables d'environnement préexistantes à la
- redirection qui sont préfixées par la chaîne <code>REDIRECT_</code> ;
+ créées à partir des variables d'environnement préexistantes à la
+ redirection qui sont préfixées par la chaîne <code>REDIRECT_</code> ;
par exemple, <code>HTTP_USER_AGENT</code> devient
<code>REDIRECT_HTTP_USER_AGENT</code>.</p>
<p><code>REDIRECT_URL</code>, <code>REDIRECT_STATUS</code>, et
- <code>REDIRECT_QUERY_STRING</code> sont systématiquement définies,
- les autres variables n'étant définies que si l'en-tête
+ <code>REDIRECT_QUERY_STRING</code> sont systématiquement définies,
+ les autres variables n'étant définies que si l'en-tête
correspondant existait avant la condition d'erreur.</p>
- <p><strong>Aucune</strong> d'entre elles ne sera définie si votre
+ <p><strong>Aucune</strong> d'entre elles ne sera définie si votre
directive <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code>
- spécifie une redirection <em>externe</em> (toute URL commençant
- par un protocole du style <code>http:</code>, même si elle fait
- référence au même hôte que le serveur).</p>
+ spécifie une redirection <em>externe</em> (toute URL commençant
+ par un protocole du style <code>http:</code>, même si elle fait
+ référence au même hôte que le serveur).</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<p>Si vous faites pointer votre directive
<code>ErrorDocument</code> vers certains gestionnaires
- dynamiques comme les inclusions côté serveur, les scripts CGI ou
+ dynamiques comme les inclusions côté serveur, les scripts CGI ou
d'autres gestionnaires, vous pouvez utiliser les variables
- d'environnement supplémentaires disponibles pour personnaliser
+ d'environnement supplémentaires disponibles pour personnaliser
le message.</p>
- <p>Si la directive ErrorDname-basedocument spécifie une redirection locale
- vers un script CGI, ce dernier doit ajouter un en-tête
+ <p>Si la directive ErrorDname-basedocument spécifie une redirection locale
+ vers un script CGI, ce dernier doit ajouter un en-tête
"<code>Status:</code>" dans sa sortie afin de s'assurer du bon
acheminement jusqu'au client de la condition d'erreur qui a
- provoqué cette redirection. Par exemple, un script Perl spécifié
+ provoqué cette redirection. Par exemple, un script Perl spécifié
par une directive ErrorDocument pourrait contenir ce qui suit
:</p>
...</pre>
- <p>Si un script est dédié à la gestion d'une condition d'erreur
- spécifique, telle que <code>404 Not Found</code>, il
- peut utiliser le code et le texte de l'erreur spécifiques à la
+ <p>Si un script est dédié à la gestion d'une condition d'erreur
+ spécifique, telle que <code>404 Not Found</code>, il
+ peut utiliser le code et le texte de l'erreur spécifiques à la
place.</p>
- <p>Notez que si la réponse contient un en-tête
- <code>Location:</code> (afin d'initier une redirection côté
- client), le script <em>doit</em> émettre un en-tête approprié
+ <p>Notez que si la réponse contient un en-tête
+ <code>Location:</code> (afin d'initier une redirection côté
+ client), le script <em>doit</em> émettre un en-tête approprié
(comme <code>302 Found</code>). Dans le cas contraire,
- l'en-tête <code>Location:</code> ne produira aucun effet.</p>
+ l'en-tête <code>Location:</code> ne produira aucun effet.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="multi-lang" id="multi-lang">Messages d'erreur personnalisés
+<h2><a name="multi-lang" id="multi-lang">Messages d'erreur personnalisés
multilingues</a><a title="Lien permanent" href="#multi-lang" class="permalink">¶</a></h2>
<p>Vous trouverez dans la distribution du serveur HTTP Apache un
- répertoire contenant des messages d'erreur personnalisés traduits en
- 16 langues différentes. Pour activer cette fonctionnalité, vous
+ répertoire contenant des messages d'erreur personnalisés traduits en
+ 16 langues différentes. Pour activer cette fonctionnalité, vous
pouvez aussi inclure un fichier de configuration qui se trouve dans
- le répertoire de configuration <code>conf/extra</code>.</p>
+ le répertoire de configuration <code>conf/extra</code>.</p>
<p>Dans le fichier de configuration de votre serveur, vous trouverez
un groupe de lignes du style :</p>
#Include conf/extra/httpd-multilang-errordoc.conf</pre>
- <p>Décommentez la ligne <code>Include</code> pour activer cette
- fonctionnalité, et présenter des messages d'erreur dont le langage
- sera négocié en fonction du langage préféré défini au niveau du
+ <p>Décommentez la ligne <code>Include</code> pour activer cette
+ fonctionnalité, et présenter des messages d'erreur dont le langage
+ sera négocié en fonction du langage préféré défini au niveau du
navigateur du client.</p>
<p>De plus, ces documents contiennent diverses variables
- <code>REDIRECT_</code>, de façon à ce que l'utilisateur final
- dispose d'informations supplémentaires à propos de ce qui a pu se
+ <code>REDIRECT_</code>, de façon à ce que l'utilisateur final
+ dispose d'informations supplémentaires à propos de ce qui a pu se
produire, et de ce qu'il est susceptible de faire maintenant.</p>
- <p>Ces documents peuvent être personnalisés en fournissant autant
- d'informations utiles que vous le souhaitez aux utilisateurs à
+ <p>Ces documents peuvent être personnalisés en fournissant autant
+ d'informations utiles que vous le souhaitez aux utilisateurs à
propos de votre site, et de ce qu'ils sont susceptibles d'y trouver.</p>
- <p>Pour pouvoir utiliser cette fonctionnalité, vous devez activer
+ <p>Pour pouvoir utiliser cette fonctionnalité, vous devez activer
<code class="module"><a href="./mod/mod_include.html">mod_include</a></code> et <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/custom-error.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/custom-error.html" title="Français"> fr </a> |
+<a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/custom-error.html" title="Français"> fr </a> |
<a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Problèmes liés au DNS avec le serveur HTTP Apache - Serveur Apache HTTP Version 2.5</title>
+<title>Problèmes liés au DNS avec le serveur HTTP Apache - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Problèmes liés au DNS avec le serveur HTTP Apache</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Problèmes liés au DNS avec le serveur HTTP Apache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/dns-caveats.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/dns-caveats.html" title="Français"> fr </a> |
+<a href="./fr/dns-caveats.html" title="Français"> fr </a> |
<a href="./ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/dns-caveats.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/dns-caveats.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Cette page pourrait se résumer ainsi : configurez le
- serveur HTTP Apache de façon
- à ce qu'il n'ait pas besoin de résolution DNS pour interpréter les
- fichiers de configuration. Si httpd doit effectuer des résolutions
- DNS pour interpréter les fichiers de configuration, votre serveur
- pourra présenter des problèmes de fiabilité (en d'autres termes,
- il est possible qu'il refuse de démarrer), ou d'attaques par déni ou
- usurpation de service (y compris l'attribution de requêtes à un
+ <p>Cette page pourrait se résumer ainsi : configurez le
+ serveur HTTP Apache de façon
+ à ce qu'il n'ait pas besoin de résolution DNS pour interpréter les
+ fichiers de configuration. Si httpd doit effectuer des résolutions
+ DNS pour interpréter les fichiers de configuration, votre serveur
+ pourra présenter des problèmes de fiabilité (en d'autres termes,
+ il est possible qu'il refuse de démarrer), ou d'attaques par déni ou
+ usurpation de service (y compris l'attribution de requêtes à un
serveur virtuel autre que le serveur virtuel voulu).</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#example">Un exemple simple</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#denial">Déni de service</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#denial">Déni de service</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#main">L'adresse du "serveur principal"</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#tips">Conseils pour éviter ce genre de problème</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#tips">Conseils pour éviter ce genre de problème</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<p>Pour fonctionner correctement, le serveur a absolument besoin de deux
- informations à propos de chaque serveur virtuel : le nom du serveur
- défini par la directive <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code>, et au moins une adresse IP à
- laquelle le serveur va se rattacher et répondre. L'exemple ci-dessus
+ informations à propos de chaque serveur virtuel : le nom du serveur
+ défini par la directive <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code>, et au moins une adresse IP à
+ laquelle le serveur va se rattacher et répondre. L'exemple ci-dessus
ne comporte pas d'adresse IP, si bien que httpd devra utiliser le
DNS pour trouver l'adresse IP de <code>www.example.dom</code>. Si pour
- une raison quelconque, le DNS n'est pas disponible au moment où
- votre serveur interprète son fichier de configuration, ce serveur
+ une raison quelconque, le DNS n'est pas disponible au moment où
+ votre serveur interprète son fichier de configuration, ce serveur
virtuel <strong>ne sera pas pris en compte dans la
configuration</strong>. Il sera incapable de
- répondre à toute requête pour ce serveur virtuel.</p>
+ répondre à toute requête pour ce serveur virtuel.</p>
<p>Supposons que l'adresse de <code>www.example.dom</code> soit
192.0.2.1, et examinons cet extrait de configuration :</p>
<p>Cette fois, httpd doit effectuer une recherche DNS inverse pour
trouver le nom <code>ServerName</code> de ce serveur virtuel. Si
- cette recherche inverse échoue, le serveur virtuel sera
- partiellement désactivé. Si le serveur
- virtuel est à base de nom, il sera en fait totalement désactivé,
- mais s'il est à base d'adresse IP, il fonctionnera probablement.
- Cependant, httpd échouera s'il doit générer une URL complète pour
+ cette recherche inverse échoue, le serveur virtuel sera
+ partiellement désactivé. Si le serveur
+ virtuel est à base de nom, il sera en fait totalement désactivé,
+ mais s'il est à base d'adresse IP, il fonctionnera probablement.
+ Cependant, httpd échouera s'il doit générer une URL complète pour
le serveur qui inclut ce nom de serveur (comme dans le cas d'une
redirection).</p>
- <p>Voici un extrait de configuration qui permet d'éviter ces deux
- types de problèmes :</p>
+ <p>Voici un extrait de configuration qui permet d'éviter ces deux
+ types de problèmes :</p>
<pre class="prettyprint lang-config"><VirtualHost 192.0.2.1>
ServerName www.example.dom
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="denial" id="denial">Déni de service</a><a title="Lien permanent" href="#denial" class="permalink">¶</a></h2>
+<h2><a name="denial" id="denial">Déni de service</a><a title="Lien permanent" href="#denial" class="permalink">¶</a></h2>
- <p>Considérons cet extrait de configuration :</p>
+ <p>Considérons cet extrait de configuration :</p>
<pre class="prettyprint lang-config"><VirtualHost www.example1.dom>
ServerAdmin webgirl@example1.dom
</VirtualHost></pre>
- <p>Supposons que vous ayez assigné 192.0.2.1 à
- <code>www.example1.dom</code> et 192.0.2.2 à <code>www.example2.dom</code>. En
- outre, supposons que <code>example1.dom</code> gère son propre DNS. Avec
+ <p>Supposons que vous ayez assigné 192.0.2.1 à
+ <code>www.example1.dom</code> et 192.0.2.2 à <code>www.example2.dom</code>. En
+ outre, supposons que <code>example1.dom</code> gère son propre DNS. Avec
cette configuration, <code>example1.dom</code> sera en mesure de
- détourner tout trafic destiné à <code>example2.dom</code>. Pour y
- parvenir, tout ce qu'ils ont à faire consiste à
- assigner 192.0.2.2 à
- <code>www.example1.dom</code>. Comme ils gèrent leur propre DNS, vous ne
- pouvez pas les empêcher de faire pointer l'enregistrement
+ détourner tout trafic destiné à <code>example2.dom</code>. Pour y
+ parvenir, tout ce qu'ils ont à faire consiste à
+ assigner 192.0.2.2 à
+ <code>www.example1.dom</code>. Comme ils gèrent leur propre DNS, vous ne
+ pouvez pas les empêcher de faire pointer l'enregistrement
<code>www.example1.dom</code> vers l'adresse qu'ils veulent.</p>
- <p>Les requêtes à destination de 192.0.2.2 (y compris toutes celles
- où l'utilisateur à tapé une URL de la forme
+ <p>Les requêtes à destination de 192.0.2.2 (y compris toutes celles
+ où l'utilisateur à tapé une URL de la forme
<code>http://www.example2.dom/quelquepart</code>), seront toutes servies
par le serveur virtuel <code>example1.dom</code>. Une meilleur
- compréhension de la raison pour laquelle ceci peut se produire
- nécessite une discussion plus approfondie à propos de la manière
- dont httpd associe les requêtes entrantes aux différents serveurs
- virtuels qui vont les servir. Un document de base décrivant ceci <a href="vhosts/details.html">est disponible</a>.</p>
+ compréhension de la raison pour laquelle ceci peut se produire
+ nécessite une discussion plus approfondie à propos de la manière
+ dont httpd associe les requêtes entrantes aux différents serveurs
+ virtuels qui vont les servir. Un document de base décrivant ceci <a href="vhosts/details.html">est disponible</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="main" id="main">L'adresse du "serveur principal"</a><a title="Lien permanent" href="#main" class="permalink">¶</a></h2>
<p><a href="vhosts/name-based.html">Le support des
- serveurs virtuels à base de nom</a> oblige httpd à
- connaître la/les adresse(s) IP de l'hôte sur
- lequel <code class="program"><a href="./programs/httpd.html">httpd</a></code> s'exécute. Pour obtenir cette
- adresse, soit il utilise la directive <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code> globale (si elle est présente),
- soit il fait appel à la fonction C <code>gethostname</code> (qui
- doit renvoyer le même nom que la commande shell "hostname"). Il
+ serveurs virtuels à base de nom</a> oblige httpd à
+ connaître la/les adresse(s) IP de l'hôte sur
+ lequel <code class="program"><a href="./programs/httpd.html">httpd</a></code> s'exécute. Pour obtenir cette
+ adresse, soit il utilise la directive <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code> globale (si elle est présente),
+ soit il fait appel à la fonction C <code>gethostname</code> (qui
+ doit renvoyer le même nom que la commande shell "hostname"). Il
effectue ensuite une recherche DNS sur cette adresse. Pour le
- moment, il n'existe aucun moyen d'éviter cette recherche DNS.</p>
-
- <p>Si vous craignez que cette recherche DNS échoue parce que votre
- serveur DNS est arrêté, vous pouvez insérer le nom d'hôte dans le
- fichier <code>/etc/hosts</code> (où il est probablement déjà
- enregistré afin que la machine démarre correctement). Assurez-vous
- ensuite que la machine est configurée pour utiliser
- <code>/etc/hosts</code> dans le cas où la recherche DNS échoue.
- Suivant le système d'exploitation que vous utilisez, vous y
- parviendrez en éditant <code>/etc/resolv.conf</code>, ou
+ moment, il n'existe aucun moyen d'éviter cette recherche DNS.</p>
+
+ <p>Si vous craignez que cette recherche DNS échoue parce que votre
+ serveur DNS est arrêté, vous pouvez insérer le nom d'hôte dans le
+ fichier <code>/etc/hosts</code> (où il est probablement déjà
+ enregistré afin que la machine démarre correctement). Assurez-vous
+ ensuite que la machine est configurée pour utiliser
+ <code>/etc/hosts</code> dans le cas où la recherche DNS échoue.
+ Suivant le système d'exploitation que vous utilisez, vous y
+ parviendrez en éditant <code>/etc/resolv.conf</code>, ou
<code>/etc/nsswitch.conf</code>.</p>
<p>Si votre serveur n'a aucune autre raison d'effectuer des
- recherches DNS, vous pouvez définir la variable d'environnement
- <code>HOSTRESORDER</code> à "local", et vous serez alors en mesure
- d'exécuter httpd. Tout dépend du système d'exploitation et des
- bibliothèques de résolution de noms que vous utilisez. Elle affecte
- aussi les programmes CGI, à moins que vous n'utilisiez
- <code class="module"><a href="./mod/mod_env.html">mod_env</a></code> pour contrôler l'environnement. Il est
- conseillé de consulter les pages de manuel ou les FAQs de votre
- système d'exploitation.</p>
+ recherches DNS, vous pouvez définir la variable d'environnement
+ <code>HOSTRESORDER</code> à "local", et vous serez alors en mesure
+ d'exécuter httpd. Tout dépend du système d'exploitation et des
+ bibliothèques de résolution de noms que vous utilisez. Elle affecte
+ aussi les programmes CGI, à moins que vous n'utilisiez
+ <code class="module"><a href="./mod/mod_env.html">mod_env</a></code> pour contrôler l'environnement. Il est
+ conseillé de consulter les pages de manuel ou les FAQs de votre
+ système d'exploitation.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="tips" id="tips">Conseils pour éviter ce genre de problème</a><a title="Lien permanent" href="#tips" class="permalink">¶</a></h2>
+<h2><a name="tips" id="tips">Conseils pour éviter ce genre de problème</a><a title="Lien permanent" href="#tips" class="permalink">¶</a></h2>
<ul>
</li>
<li>
- vérifiez que tous les serveurs virtuels possèdent un nom
+ vérifiez que tous les serveurs virtuels possèdent un nom
<code class="directive"><a href="./mod/core.html#servername">ServerName</a></code> explicite
</li>
- <li>créez un serveur virtuel <code><VirtualHost
- _default_:*></code> qui n'a aucune page à servir</li>
+ <li>créez un serveur virtuel <code><VirtualHost
+ _default_:*></code> qui n'a aucune page à servir</li>
</ul>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/dns-caveats.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/dns-caveats.html" title="Français"> fr </a> |
+<a href="./fr/dns-caveats.html" title="Français"> fr </a> |
<a href="./ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/dns-caveats.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/dns-caveats.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Support des objets dynamiques partagés (DSO) - Serveur Apache HTTP Version 2.5</title>
+<title>Support des objets dynamiques partagés (DSO) - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Support des objets dynamiques partagés (DSO)</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Support des objets dynamiques partagés (DSO)</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/dso.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/dso.html" title="Français"> fr </a> |
+<a href="./fr/dso.html" title="Français"> fr </a> |
<a href="./ja/dso.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/dso.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/dso.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>La conception modulaire du serveur HTTP Apache permet à l'administrateur
- de choisir les fonctionnalités à inclure dans le serveur en sélectionnant
- un certain nombre de modules. Les modules seront compilés en tant
- qu'Objets Dynamiques Partagés (Dynamic Shared Objects ou DSOs)
- qui mènent une existence séparée du fichier binaire principal
- <code class="program"><a href="./programs/httpd.html">httpd</a></code>. Les modules DSO peuvent être compilés en
- même temps que le serveur, ou compilés et ajoutés ultérieurement via
- l'Outil des Extensions à Apache (Apache Extension Tool ou
+ <p>La conception modulaire du serveur HTTP Apache permet à l'administrateur
+ de choisir les fonctionnalités à inclure dans le serveur en sélectionnant
+ un certain nombre de modules. Les modules seront compilés en tant
+ qu'Objets Dynamiques Partagés (Dynamic Shared Objects ou DSOs)
+ qui mènent une existence séparée du fichier binaire principal
+ <code class="program"><a href="./programs/httpd.html">httpd</a></code>. Les modules DSO peuvent être compilés en
+ même temps que le serveur, ou compilés et ajoutés ultérieurement via
+ l'Outil des Extensions à Apache (Apache Extension Tool ou
<code class="program"><a href="./programs/apxs.html">apxs</a></code>).</p>
- <p>Les modules peuvent aussi être intégrés statiquement dans le
+ <p>Les modules peuvent aussi être intégrés statiquement dans le
binaire <code class="program"><a href="./programs/httpd.html">httpd</a></code> lors de la compilation de ce
dernier.</p>
- <p>Ce document décrit l'utilisation des modules DSO ainsi que les dessous
+ <p>Ce document décrit l'utilisation des modules DSO ainsi que les dessous
de leur fonctionnement.</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#implementation">Implémentation</a></li>
+<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#implementation">Implémentation</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#usage">Mode d'emploi succinct</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#background">Les dessous du fonctionnement des DSO</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#advantages">Avantages et inconvénients</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#advantages">Avantages et inconvénients</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="implementation" id="implementation">Implémentation</a><a title="Lien permanent" href="#implementation" class="permalink">¶</a></h2>
+<h2><a name="implementation" id="implementation">Implémentation</a><a title="Lien permanent" href="#implementation" class="permalink">¶</a></h2>
-<table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_so.html">mod_so</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code></li></ul></td></tr></table>
+<table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_so.html">mod_so</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code></li></ul></td></tr></table>
<p>Le support DSO pour le chargement de modules individuels d'Apache
httpd est
- assuré par un module nommé <code class="module"><a href="./mod/mod_so.html">mod_so</a></code> qui doit être compilé
+ assuré par un module nommé <code class="module"><a href="./mod/mod_so.html">mod_so</a></code> qui doit être compilé
statiquement dans le coeur d'Apache httpd. Il s'agit du seul module avec le
- module <code class="module"><a href="./mod/core.html">core</a></code> à ne pas pouvoir être compilé en tant que
- module DSO lui-même. Pratiquement tous les autres modules d'Apache httpd
- distribués seront alors compilés en tant que modules DSO. Une fois
- compilé en tant que module DSO nommé <code>mod_foo.so</code>, un
- module peut être chargé en mémoire au
- démarrage ou redémarrage du serveur à l'aide de
+ module <code class="module"><a href="./mod/core.html">core</a></code> à ne pas pouvoir être compilé en tant que
+ module DSO lui-même. Pratiquement tous les autres modules d'Apache httpd
+ distribués seront alors compilés en tant que modules DSO. Une fois
+ compilé en tant que module DSO nommé <code>mod_foo.so</code>, un
+ module peut être chargé en mémoire au
+ démarrage ou redémarrage du serveur à l'aide de
la directive <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> du module
- <code class="module"><a href="./mod/mod_so.html">mod_so</a></code>, placée
+ <code class="module"><a href="./mod/mod_so.html">mod_so</a></code>, placée
dans votre fichier <code>httpd.conf</code>.</p>
- <p>La compilation en mode DSO peut être désactivée pour certains
+ <p>La compilation en mode DSO peut être désactivée pour certains
modules via l'option <code>--enable-mods-static</code> du script
- <code class="program"><a href="./programs/configure.html">configure</a></code>, comme expliqué dans la <a href="install.html">Documentation sur l'installation</a>.</p>
+ <code class="program"><a href="./programs/configure.html">configure</a></code>, comme expliqué dans la <a href="install.html">Documentation sur l'installation</a>.</p>
- <p>Un utilitaire permet de simplifier la création de
+ <p>Un utilitaire permet de simplifier la création de
fichiers DSO pour les modules d'Apache httpd
- (particulièrement pour les modules tiers) ; il s'agit du programme nommé
+ (particulièrement pour les modules tiers) ; il s'agit du programme nommé
<code class="program"><a href="./programs/apxs.html">apxs</a></code> (<dfn>APache
eXtenSion</dfn>). On peut l'utiliser pour construire des modules de type
- DSO <em>en dehors</em> de l'arborescence des sources d'Apache httpd. L'idée est
- simple : à l'installation du serveur HTTP Apache, la procédure <code>make install</code>
- du script <code class="program"><a href="./programs/configure.html">configure</a></code> installe les fichiers d'en-têtes
+ DSO <em>en dehors</em> de l'arborescence des sources d'Apache httpd. L'idée est
+ simple : à l'installation du serveur HTTP Apache, la procédure <code>make install</code>
+ du script <code class="program"><a href="./programs/configure.html">configure</a></code> installe les fichiers d'en-têtes
d'Apache httpd et positionne, pour la plateforme de compilation, les drapeaux du compilateur et de
- l'éditeur de liens à l'intérieur du programme
- <code class="program"><a href="./programs/apxs.html">apxs</a></code>, qui sera utilisé pour la construction de fichiers DSO.
+ l'éditeur de liens à l'intérieur du programme
+ <code class="program"><a href="./programs/apxs.html">apxs</a></code>, qui sera utilisé pour la construction de fichiers DSO.
Il est ainsi possible d'utiliser le programme <code class="program"><a href="./programs/apxs.html">apxs</a></code>
pour compiler ses sources de modules Apache httpd sans avoir besoin de
- l'arborescence des sources de la distribution d'Apache, et sans avoir à
- régler les drapeaux du compilateur et de l'éditeur de liens pour le support DSO.</p>
+ l'arborescence des sources de la distribution d'Apache, et sans avoir à
+ régler les drapeaux du compilateur et de l'éditeur de liens pour le support DSO.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="usage" id="usage">Mode d'emploi succinct</a><a title="Lien permanent" href="#usage" class="permalink">¶</a></h2>
- <p>Afin que vous puissiez vous faire une idée des fonctionnalités DSO
- du serveur HTTP Apache 2.x, en voici un résumé court et concis :</p>
+ <p>Afin que vous puissiez vous faire une idée des fonctionnalités DSO
+ du serveur HTTP Apache 2.x, en voici un résumé court et concis :</p>
<ol>
<li>
<li>
<p>Configure le serveur HTTP Apache avec tous les modules
- activés. Seul un jeu de modules de base sera chargé au
- démarrage du serveur. Vous pouvez modifier ce jeu de modules
- chargés au démarrage en activant ou désactivant les directives <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> correspondantes dans le
+ activés. Seul un jeu de modules de base sera chargé au
+ démarrage du serveur. Vous pouvez modifier ce jeu de modules
+ chargés au démarrage en activant ou désactivant les directives <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> correspondantes dans le
fichier <code>httpd.conf</code>.</p>
<div class="example"><p><code>
<p>L'argument <code>most</code> de l'option
<code>--enable-modules</code> indique que tous les modules
- non-expérimentaux ou qui ne sont pas là à titre d'exemple seront
- compilés.</p>
+ non-expérimentaux ou qui ne sont pas là à titre d'exemple seront
+ compilés.</p>
</li>
<li>
- <p>Certains modules ne sont utilisés que par les développeurs et
- ne seront pas compilés. Si vous voulez les utiliser, spécifiez
+ <p>Certains modules ne sont utilisés que par les développeurs et
+ ne seront pas compilés. Si vous voulez les utiliser, spécifiez
l'option <em>all</em>. Pour compiler tous les modules disponibles,
- y compris les modules de développeurs, spécifiez l'option
- <em>reallyall</em>. En outre, la directive <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> peut être activée pour tous
- les modules compilés via l'option du script configure
+ y compris les modules de développeurs, spécifiez l'option
+ <em>reallyall</em>. En outre, la directive <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> peut être activée pour tous
+ les modules compilés via l'option du script configure
<code>--enable-load-all-modules</code>.</p>
<div class="example"><p><code>
Construire et installer un module Apache httpd <em>tiers</em>, par exemple
<code>mod_foo.c</code>, en tant que module DSO
<code>mod_foo.so</code> <em>en dehors</em> de l'arborescence des sources
- d'Apache httpd à l'aide du programme <code class="program"><a href="./programs/apxs.html">apxs</a></code> :
+ d'Apache httpd à l'aide du programme <code class="program"><a href="./programs/apxs.html">apxs</a></code> :
<div class="example"><p><code>
$ cd /chemin/vers/module_tiers<br />
</li>
</ol>
- <p>Dans tous les cas, une fois le module partagé compilé, vous devez
+ <p>Dans tous les cas, une fois le module partagé compilé, vous devez
ajouter une directive <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code>
dans le fichier <code>httpd.conf</code> pour qu'Apache httpd active le module.</p>
<p>Voir la <a href="programs/apxs.html">documentation sur apxs</a>
- pour plus de détails.</p>
+ pour plus de détails.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="background" id="background">Les dessous du fonctionnement des DSO</a><a title="Lien permanent" href="#background" class="permalink">¶</a></h2>
- <p>Les clônes modernes d'UNIX proposent un mécanisme
- appelé édition de liens et chargement dynamiques d'
- <em>Objets Dynamiques Partagés</em> (DSO), qui permet de construire un
- morceau de programme dans un format spécial pour le rendre chargeable
- à l'exécution dans l'espace d'adressage d'un programme exécutable.</p>
-
- <p>Ce chargement peut s'effectuer de deux manières : automatiquement par
- un programme système appelé <code>ld.so</code> quand un programme
- exécutable est démarré, ou manuellement à partir du programme en cours
- d'exécution via sa propre interface système vers le chargeur Unix à l'aide
- des appels système <code>dlopen()/dlsym()</code>.</p>
-
- <p>Dans la première méthode, les DSO sont en général appelés
- <em>bibliothèques partagées</em> ou encore <em>bibliothèques DSO</em>, et
- possèdent des noms du style
- <code>libfoo.so</code> ou <code>libfoo.so.1.2</code>. Ils résident dans un
- répertoire système (en général <code>/usr/lib</code>)
- et le lien avec le programme exécutable est établi à la compilation en
- ajoutant <code>-lfoo</code> à la commande de l'éditeur de liens. Les
- références à la bibliothèque sont ainsi codées en dur dans le fichier du
- programme exécutable de façon à ce qu'au démarrage du programme, le
+ <p>Les clônes modernes d'UNIX proposent un mécanisme
+ appelé édition de liens et chargement dynamiques d'
+ <em>Objets Dynamiques Partagés</em> (DSO), qui permet de construire un
+ morceau de programme dans un format spécial pour le rendre chargeable
+ à l'exécution dans l'espace d'adressage d'un programme exécutable.</p>
+
+ <p>Ce chargement peut s'effectuer de deux manières : automatiquement par
+ un programme système appelé <code>ld.so</code> quand un programme
+ exécutable est démarré, ou manuellement à partir du programme en cours
+ d'exécution via sa propre interface système vers le chargeur Unix à l'aide
+ des appels système <code>dlopen()/dlsym()</code>.</p>
+
+ <p>Dans la première méthode, les DSO sont en général appelés
+ <em>bibliothèques partagées</em> ou encore <em>bibliothèques DSO</em>, et
+ possèdent des noms du style
+ <code>libfoo.so</code> ou <code>libfoo.so.1.2</code>. Ils résident dans un
+ répertoire système (en général <code>/usr/lib</code>)
+ et le lien avec le programme exécutable est établi à la compilation en
+ ajoutant <code>-lfoo</code> à la commande de l'éditeur de liens. Les
+ références à la bibliothèque sont ainsi codées en dur dans le fichier du
+ programme exécutable de façon à ce qu'au démarrage du programme, le
chargeur Unix soit capable de localiser <code>libfoo.so</code> dans
- <code>/usr/lib</code>, dans des chemins codés en dur à l'aide d'options de
- l'éditeur de liens comme <code>-R</code> ou dans des chemins définis par la
+ <code>/usr/lib</code>, dans des chemins codés en dur à l'aide d'options de
+ l'éditeur de liens comme <code>-R</code> ou dans des chemins définis par la
variable d'environnement
- <code>LD_LIBRARY_PATH</code>. Le chargeur peut dès lors résoudre tous les symboles
- (jusque là non encore résolus) du DSO dans le programme exécutable.</p>
-
- <p>Les symboles du programme exécutable ne sont en général pas
- référencés par le DSO (car c'est une bibliothèque de code à usage général
- et réutilisable),
- et ainsi aucune résolution supplémentaire n'est nécessaire. De son côté,
- le programme exécutable ne doit accomplir aucune action particulière
+ <code>LD_LIBRARY_PATH</code>. Le chargeur peut dès lors résoudre tous les symboles
+ (jusque là non encore résolus) du DSO dans le programme exécutable.</p>
+
+ <p>Les symboles du programme exécutable ne sont en général pas
+ référencés par le DSO (car c'est une bibliothèque de code à usage général
+ et réutilisable),
+ et ainsi aucune résolution supplémentaire n'est nécessaire. De son côté,
+ le programme exécutable ne doit accomplir aucune action particulière
pour utiliser les
- symboles du DSO car toutes les résolutions sont effectuées par le chargeur
+ symboles du DSO car toutes les résolutions sont effectuées par le chargeur
Unix. En fait, le code permettant d'invoquer
- <code>ld.so</code> fait partie du code de démarrage pour l'exécution qui
- est lié dans tout programme exécutable non statiquement lié.
- L'avantage du chargement dynamique du code d'une bibliothèque partagée est
- évident : le code de la bibliothèque ne doit être stocké qu'une seule fois
- dans une bibliothèque système telle que <code>libc.so</code>, ce qui permet
- d'économiser de l'espace disque pour les autres programmes.</p>
-
- <p>Dans la seconde méthode, les DSO sont en général appelés <em>objets
- partagés</em> ou <em>fichiers DSO</em>, et peuvent être nommés avec
- l'extension de son choix (bien que le nom conseillé soit du style
- <code>foo.so</code>). Ces fichiers résident en général dans un répertoire
- spécifique à un programme, et aucun lien n'est automatiquement établi avec
- le programme exécutable dans lequel ils sont utilisés.
- Le programme exécutable charge manuellement le DSO à l'exécution dans son
- espace d'adressage à l'aide de l'appel système <code>dlopen()</code>.
- A ce moment, aucune résolution de symboles du DSO n'est effectuée pour le
- programme exécutable. Par contre le chargeur Unix
- résoud automatiquement tout symbole du DSO (non encore résolu)
- faisant partie de l'ensemble de symboles exporté par le programme
- exécutable et ses bibliothèques DSO déjà chargées (et en particulier tous
- les symboles de la bibliothèque à tout faire <code>libc.so</code>).
- De cette façon, le DSO prend connaissance de l'ensemble de symboles du
- programme exécutable comme s'il avait été lié statiquement avec lui
+ <code>ld.so</code> fait partie du code de démarrage pour l'exécution qui
+ est lié dans tout programme exécutable non statiquement lié.
+ L'avantage du chargement dynamique du code d'une bibliothèque partagée est
+ évident : le code de la bibliothèque ne doit être stocké qu'une seule fois
+ dans une bibliothèque système telle que <code>libc.so</code>, ce qui permet
+ d'économiser de l'espace disque pour les autres programmes.</p>
+
+ <p>Dans la seconde méthode, les DSO sont en général appelés <em>objets
+ partagés</em> ou <em>fichiers DSO</em>, et peuvent être nommés avec
+ l'extension de son choix (bien que le nom conseillé soit du style
+ <code>foo.so</code>). Ces fichiers résident en général dans un répertoire
+ spécifique à un programme, et aucun lien n'est automatiquement établi avec
+ le programme exécutable dans lequel ils sont utilisés.
+ Le programme exécutable charge manuellement le DSO à l'exécution dans son
+ espace d'adressage à l'aide de l'appel système <code>dlopen()</code>.
+ A ce moment, aucune résolution de symboles du DSO n'est effectuée pour le
+ programme exécutable. Par contre le chargeur Unix
+ résoud automatiquement tout symbole du DSO (non encore résolu)
+ faisant partie de l'ensemble de symboles exporté par le programme
+ exécutable et ses bibliothèques DSO déjà chargées (et en particulier tous
+ les symboles de la bibliothèque à tout faire <code>libc.so</code>).
+ De cette façon, le DSO prend connaissance de l'ensemble de symboles du
+ programme exécutable comme s'il avait été lié statiquement avec lui
auparavant.</p>
- <p>Finalement, pour tirer profit de l'API des DSO, le programme exécutable
- doit résoudre certains symboles du DSO à l'aide de l'appel système
- <code>dlsym()</code> pour une utilisation ultérieure dans les tables de
- distribution, <em>etc...</em> En d'autres termes, le programme exécutable doit
- résoudre manuellement tous les symboles dont il a besoin pour pouvoir les
+ <p>Finalement, pour tirer profit de l'API des DSO, le programme exécutable
+ doit résoudre certains symboles du DSO à l'aide de l'appel système
+ <code>dlsym()</code> pour une utilisation ultérieure dans les tables de
+ distribution, <em>etc...</em> En d'autres termes, le programme exécutable doit
+ résoudre manuellement tous les symboles dont il a besoin pour pouvoir les
utiliser.
- Avantage d'un tel mécanisme : les modules optionnels du programme n'ont pas
- besoin d'être chargés (et ne gaspillent donc pas de ressources mémoire)
- tant qu'il ne sont pas nécessaires au programme en question. Si nécessaire,
- ces modules peuvent être chargés dynamiquement afin d'étendre les
- fonctionnalités de base du programme.</p>
-
- <p>Bien que ce mécanisme DSO paraisse évident, il comporte au moins une
- étape difficile : la résolution des symboles depuis le programme exécutable
- pour le DSO lorsqu'on utilise un DSO pour étendre les fonctionnalités d'un
- programme (la seconde méthode). Pourquoi ? Parce que la "résolution
- inverse" des symboles DSO à partir du jeu de symboles du programme
- exécutable dépend de la conception de la bibliothèque (la bibliothèque n'a
- aucune information sur le programme qui l'utilise) et n'est ni standardisée
+ Avantage d'un tel mécanisme : les modules optionnels du programme n'ont pas
+ besoin d'être chargés (et ne gaspillent donc pas de ressources mémoire)
+ tant qu'il ne sont pas nécessaires au programme en question. Si nécessaire,
+ ces modules peuvent être chargés dynamiquement afin d'étendre les
+ fonctionnalités de base du programme.</p>
+
+ <p>Bien que ce mécanisme DSO paraisse évident, il comporte au moins une
+ étape difficile : la résolution des symboles depuis le programme exécutable
+ pour le DSO lorsqu'on utilise un DSO pour étendre les fonctionnalités d'un
+ programme (la seconde méthode). Pourquoi ? Parce que la "résolution
+ inverse" des symboles DSO à partir du jeu de symboles du programme
+ exécutable dépend de la conception de la bibliothèque (la bibliothèque n'a
+ aucune information sur le programme qui l'utilise) et n'est ni standardisée
ni disponible sur toutes les plateformes. En pratique, les symboles globaux
- du programme exécutable ne sont en général pas réexportés et donc
- indisponibles pour l'utilisation dans un DSO. Trouver une méthode pour
- forcer l'éditeur de liens à exporter tous les symboles globaux est le
- principal problème que l'on doit résoudre lorsqu'on utilise un DSO pour
- étendre les fonctionnalités d'un programme au moment de son exécution.</p>
-
- <p>L'approche des bibliothèques partagées est la plus courante, parce que
- c'est dans cette optique que le mécanisme DSO a été conçu ; c'est cette
+ du programme exécutable ne sont en général pas réexportés et donc
+ indisponibles pour l'utilisation dans un DSO. Trouver une méthode pour
+ forcer l'éditeur de liens à exporter tous les symboles globaux est le
+ principal problème que l'on doit résoudre lorsqu'on utilise un DSO pour
+ étendre les fonctionnalités d'un programme au moment de son exécution.</p>
+
+ <p>L'approche des bibliothèques partagées est la plus courante, parce que
+ c'est dans cette optique que le mécanisme DSO a été conçu ; c'est cette
approche qui est ainsi
- utilisée par pratiquement tous les types de bibliothèques que fournit le
- système d'exploitation.</p>
+ utilisée par pratiquement tous les types de bibliothèques que fournit le
+ système d'exploitation.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="advantages" id="advantages">Avantages et inconvénients</a><a title="Lien permanent" href="#advantages" class="permalink">¶</a></h2>
+<h2><a name="advantages" id="advantages">Avantages et inconvénients</a><a title="Lien permanent" href="#advantages" class="permalink">¶</a></h2>
- <p>Les fonctionnalités ci-dessus basées sur les DSO présentent les
+ <p>Les fonctionnalités ci-dessus basées sur les DSO présentent les
avantages suivants :</p>
<ul>
- <li>Le paquetage du serveur est plus flexible à l'exécution car le
- processus serveur peut être assemblé à l'exécution via la
+ <li>Le paquetage du serveur est plus flexible à l'exécution car le
+ processus serveur peut être assemblé à l'exécution via la
directive <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> du fichier de
- configuration <code>httpd.conf</code> plutôt que par des options du script
- <code class="program"><a href="./programs/configure.html">configure</a></code> à la compilation. Par exemple,
- on peut ainsi exécuter différentes instances du serveur
+ configuration <code>httpd.conf</code> plutôt que par des options du script
+ <code class="program"><a href="./programs/configure.html">configure</a></code> à la compilation. Par exemple,
+ on peut ainsi exécuter différentes instances du serveur
(standard et version SSL, version minimale et version dynamique
- [mod_perl, mod_php], <em>etc...</em>) à partir d'une seule installation
+ [mod_perl, mod_php], <em>etc...</em>) à partir d'une seule installation
d'Apache httpd.</li>
- <li>Le paquetage du serveur peut être facilement étendu avec des modules
- tiers, même après l'installation. Ceci présente un gros
- avantage pour les mainteneurs de paquetages destinés aux distributions,
- car ils peuvent créer un paquetage Apache httpd de base, et des paquetages
+ <li>Le paquetage du serveur peut être facilement étendu avec des modules
+ tiers, même après l'installation. Ceci présente un gros
+ avantage pour les mainteneurs de paquetages destinés aux distributions,
+ car ils peuvent créer un paquetage Apache httpd de base, et des paquetages
additionnels contenant des extensions telles que PHP, mod_perl, mod_fastcgi,
<em>etc...</em></li>
- <li>Une facilité de prototypage des modules Apache httpd, car la paire
+ <li>Une facilité de prototypage des modules Apache httpd, car la paire
DSO/<code class="program"><a href="./programs/apxs.html">apxs</a></code> vous permet d'une part de travailler en
dehors de l'arborescence des sources d'Apache httpd, et d'autre part de n'avoir
besoin que de la commande <code>apxs -i</code>
suivie d'un <code>apachectl restart</code> pour introduire une nouvelle
- version de votre module fraîchement développé dans le serveur HTTP Apache
- en cours d'exécution.</li>
+ version de votre module fraîchement développé dans le serveur HTTP Apache
+ en cours d'exécution.</li>
</ul>
- <p>Inconvénients des DSO :</p>
+ <p>Inconvénients des DSO :</p>
<ul>
- <li>Le serveur est environ 20 % plus lent au démarrage
- à cause des résolutions de symboles supplémentaires que le chargeur
+ <li>Le serveur est environ 20 % plus lent au démarrage
+ à cause des résolutions de symboles supplémentaires que le chargeur
Unix doit effectuer.</li>
- <li>Le serveur est environ 5 % plus lent à l'exécution
- sur certaines plates-formes, car le code indépendant de la position (PIC)
- nécessite parfois des manipulations compliquées en assembleur pour
+ <li>Le serveur est environ 5 % plus lent à l'exécution
+ sur certaines plates-formes, car le code indépendant de la position (PIC)
+ nécessite parfois des manipulations compliquées en assembleur pour
l'adressage relatif qui ne sont pas toujours aussi rapides que celles
que permet l'adressage absolu.</li>
- <li>Comme les modules DSO ne peuvent pas être liés avec d'autres
- bibliothèques basées sur DSO (<code>ld -lfoo</code>) sur toutes les
+ <li>Comme les modules DSO ne peuvent pas être liés avec d'autres
+ bibliothèques basées sur DSO (<code>ld -lfoo</code>) sur toutes les
plates-formes
- (par exemple, les plates-formes basées sur a.out ne fournissent en
- général pas cette fonctionnalité alors que les plates-formes basées sur
- ELF le font), vous ne pouvez pas utiliser le mécanisme DSO pour tous les
- types de modules. Ou en d'autres termes, les modules compilés comme
+ (par exemple, les plates-formes basées sur a.out ne fournissent en
+ général pas cette fonctionnalité alors que les plates-formes basées sur
+ ELF le font), vous ne pouvez pas utiliser le mécanisme DSO pour tous les
+ types de modules. Ou en d'autres termes, les modules compilés comme
fichiers DSO sont contraints de n'utiliser que les symboles du coeur
- d'Apache httpd, de la bibliothèque C
- (<code>libc</code>) et toutes autres bibliothèques statiques ou
- dynamiques utilisées par le coeur d'Apache httpd, ou d'archives statiques
- (<code>libfoo.a</code>) contenant du code indépendant de la
+ d'Apache httpd, de la bibliothèque C
+ (<code>libc</code>) et toutes autres bibliothèques statiques ou
+ dynamiques utilisées par le coeur d'Apache httpd, ou d'archives statiques
+ (<code>libfoo.a</code>) contenant du code indépendant de la
position (PIC).
Il y a deux solutions pour utiliser un autre type de code : soit le
- coeur d'Apache httpd contient déjà lui-même une référence au code, soit vous
- chargez le code vous-même via <code>dlopen()</code>.</li>
+ coeur d'Apache httpd contient déjà lui-même une référence au code, soit vous
+ chargez le code vous-même via <code>dlopen()</code>.</li>
</ul>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/dso.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/dso.html" title="Français"> fr </a> |
+<a href="./fr/dso.html" title="Français"> fr </a> |
<a href="./ja/dso.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/dso.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/dso.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Apache et les variables d'environnement</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/env.html" title="Français"> fr </a> |
+<a href="./fr/env.html" title="Français"> fr </a> |
<a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
<p>Deux types de variables d'environnement affectent le serveur
HTTP Apache.</p>
<p>Le premier type correspond aux variables d'environnement
- contrôlées par le système d'exploitation sous-jacent et définies
- avant le démarrage du serveur. Leurs valeurs peuvent être utilisées
+ contrôlées par le système d'exploitation sous-jacent et définies
+ avant le démarrage du serveur. Leurs valeurs peuvent être utilisées
directement dans les fichiers de configuration, et peuvent
- éventuellement être transmises aux scripts CGI et SSI via la
+ éventuellement être transmises aux scripts CGI et SSI via la
directive PassEnv.</p>
- <p>Le second type correspond aux variables nommées appelées aussi
+ <p>Le second type correspond aux variables nommées appelées aussi
<em>variables d'environnement</em> dans lesquelles le serveur HTTP
- Apache stocke des informations via un mécanisme spécial. Ces
- informations peuvent servir à contrôler diverses opérations comme
- l'enregistrement des traces ou le contrôle d'accès. On utilise aussi ces
- variables dans le mécanisme de communication avec les programmes externes
- comme les scripts CGI. Ce document présente différentes méthodes pour
+ Apache stocke des informations via un mécanisme spécial. Ces
+ informations peuvent servir à contrôler diverses opérations comme
+ l'enregistrement des traces ou le contrôle d'accès. On utilise aussi ces
+ variables dans le mécanisme de communication avec les programmes externes
+ comme les scripts CGI. Ce document présente différentes méthodes pour
manipuler et utiliser ces variables.</p>
- <p>Bien que ces variables soient référencées comme <em>variables
+ <p>Bien que ces variables soient référencées comme <em>variables
d'environnement</em>, il ne faut pas les confondre avec les variables
- d'environnement contrôlées par le système d'exploitation sous-jacent.
- En fait, ces variables sont stockées et manipulées dans une structure
- interne à Apache. Elles ne deviennent de véritables variables
- d'environnement du système d'exploitation que lorsqu'elles sont mises à la
- disposition de scripts CGI et de scripts inclus côté serveur (SSI). Si vous
- souhaitez manipuler l'environnement du système d'exploitation sous lequel
- le serveur s'exécute, vous devez utiliser les mécanismes standards de
- manipulation de l'environnement fournis par l'interpréteur de commandes
- (shell) de votre système d'exploitation.</p>
+ d'environnement contrôlées par le système d'exploitation sous-jacent.
+ En fait, ces variables sont stockées et manipulées dans une structure
+ interne à Apache. Elles ne deviennent de véritables variables
+ d'environnement du système d'exploitation que lorsqu'elles sont mises à la
+ disposition de scripts CGI et de scripts inclus côté serveur (SSI). Si vous
+ souhaitez manipuler l'environnement du système d'exploitation sous lequel
+ le serveur s'exécute, vous devez utiliser les mécanismes standards de
+ manipulation de l'environnement fournis par l'interpréteur de commandes
+ (shell) de votre système d'exploitation.</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#setting">Définition des variables d'environnement</a></li>
+<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#setting">Définition des variables d'environnement</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#using">Utilisation des variables d'environnement</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#special">Variables d'environnement à usage spécial</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#special">Variables d'environnement à usage spécial</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#examples">Exemples</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="setting" id="setting">Définition des variables d'environnement</a><a title="Lien permanent" href="#setting" class="permalink">¶</a></h2>
+<h2><a name="setting" id="setting">Définition des variables d'environnement</a><a title="Lien permanent" href="#setting" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code></li><li><code class="module"><a href="./mod/mod_env.html">mod_env</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code></li><li><code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#unsetenv">UnsetEnv</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code></li><li><code class="module"><a href="./mod/mod_env.html">mod_env</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code></li><li><code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#unsetenv">UnsetEnv</a></code></li></ul></td></tr></table>
<h3><a name="basic-manipulation" id="basic-manipulation">Manipulations de base de l'environnement</a></h3>
- <p>La méthode la plus élémentaire pour définir une variable
- d'environnement au niveau d'Apache consiste à utiliser la directive
- inconditionnelle <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code>. Les variables peuvent aussi être transmises depuis
- l'environnement du shell à partir duquel le serveur a été démarré en
+ <p>La méthode la plus élémentaire pour définir une variable
+ d'environnement au niveau d'Apache consiste à utiliser la directive
+ inconditionnelle <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code>. Les variables peuvent aussi être transmises depuis
+ l'environnement du shell à partir duquel le serveur a été démarré en
utilisant la directive
<code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code>.</p>
- <h3><a name="conditional" id="conditional">Définitions conditionnelles en fonction des requêtes</a></h3>
+ <h3><a name="conditional" id="conditional">Définitions conditionnelles en fonction des requêtes</a></h3>
<p>Pour plus de souplesse, les directives fournies par le module
- <code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> permettent de définir les
- variables d'environnement en tenant compte des caractéristiques
- de chaque requête. Par exemple, une
- variable pourrait n'être définie que lorsqu'un navigateur spécifique
- (User-Agent) a généré la requête, ou seulement quand un en-tête
- Referer particulier est présent. La directive
+ <code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> permettent de définir les
+ variables d'environnement en tenant compte des caractéristiques
+ de chaque requête. Par exemple, une
+ variable pourrait n'être définie que lorsqu'un navigateur spécifique
+ (User-Agent) a généré la requête, ou seulement quand un en-tête
+ Referer particulier est présent. La directive
<code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> du module
<code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> qui utilise l'option
- <code>[E=...]</code> pour définir
+ <code>[E=...]</code> pour définir
les variables d'environnement apporte encore plus de souplesse.</p>
<h3><a name="unique-identifiers" id="unique-identifiers">Identifiants uniques</a></h3>
- <p>Finalement, le module <code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code> définit la variable
- d'environnement <code>UNIQUE_ID</code> pour chaque requête à une valeur
- qui est garantie unique parmi "toutes" les requêtes
- sous des conditions très spécifiques.</p>
+ <p>Finalement, le module <code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code> définit la variable
+ d'environnement <code>UNIQUE_ID</code> pour chaque requête à une valeur
+ qui est garantie unique parmi "toutes" les requêtes
+ sous des conditions très spécifiques.</p>
<h3><a name="standard-cgi" id="standard-cgi">Variables CGI standards</a></h3>
- <p>En plus de l'ensemble des variables d'environnement internes à la
+ <p>En plus de l'ensemble des variables d'environnement internes à la
configuration d'Apache et de celles transmises depuis le shell,
les scripts CGI et les pages SSI
- se voient affectés un ensemble de variables
- d'environnement contenant des méta-informations à propos de la requête
- comme préconisé dans la
- <a href="http://www.ietf.org/rfc/rfc3875">spécification
+ se voient affectés un ensemble de variables
+ d'environnement contenant des méta-informations à propos de la requête
+ comme préconisé dans la
+ <a href="http://www.ietf.org/rfc/rfc3875">spécification
sur les CGIs</a>.</p>
<li>Les directives de manipulation de l'environnement ne permettent
pas de supplanter ou modifier les variables CGI standards.</li>
- <li>Lorsqu'on utilise <code class="program"><a href="./programs/suexec.html">suexec</a></code> pour exécuter des
- scripts CGI, l'environnement est nettoyé et réduit à un ensemble de
- variables <em>sûres</em> avant l'exécution du script. La liste des
- variables <em>sûres</em> est définie à la compilation dans
+ <li>Lorsqu'on utilise <code class="program"><a href="./programs/suexec.html">suexec</a></code> pour exécuter des
+ scripts CGI, l'environnement est nettoyé et réduit à un ensemble de
+ variables <em>sûres</em> avant l'exécution du script. La liste des
+ variables <em>sûres</em> est définie à la compilation dans
<code>suexec.c</code>.</li>
- <li>Pour des raisons de portabilité, les noms des variables
+ <li>Pour des raisons de portabilité, les noms des variables
d'environnement ne peuvent contenir que des lettres, des chiffres, et
- le caractère "sousligné". En outre, le premier caractère ne doit pas
- être un chiffre. Les caractères qui ne satisfont pas à ces conditions
- seront remplacés par un caractère "sousligné" quand ils seront
+ le caractère "sousligné". En outre, le premier caractère ne doit pas
+ être un chiffre. Les caractères qui ne satisfont pas à ces conditions
+ seront remplacés par un caractère "sousligné" quand ils seront
transmis aux scripts CGI et aux pages SSI.</li>
- <li>Les contenus d'en-têtes HTTP transmis aux scripts de type
+ <li>Les contenus d'en-têtes HTTP transmis aux scripts de type
CGI ou autre via des variables d'environnement constituent un
cas particulier (voir plus loin). Leur nom est converti en
- majuscules et seuls les tirets sont remplacés par des
- caractères '_' ("souligné") ; si le format du nom de l'en-tête
- n'est pas valide, celui-ci est ignoré. Voir <a href="#fixheader">plus loin</a> pour une solution de
- contournement du problème.</li>
+ majuscules et seuls les tirets sont remplacés par des
+ caractères '_' ("souligné") ; si le format du nom de l'en-tête
+ n'est pas valide, celui-ci est ignoré. Voir <a href="#fixheader">plus loin</a> pour une solution de
+ contournement du problème.</li>
- <li>La directive <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> s'exécute assez tard au
- cours du traitement de la requête, ce qui signifie que des
+ <li>La directive <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> s'exécute assez tard au
+ cours du traitement de la requête, ce qui signifie que des
directives telles que <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> et <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> ne verront pas
- les variables qu'elle aura définies.</li>
+ les variables qu'elle aura définies.</li>
- <li>Lorsque le serveur cherche un chemin via une <a class="glossarylink" href="./glossary.html#subrequest" title="voir glossaire">sous-requête</a> interne (par exemple la
- recherche d'un <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>), ou lorsqu'il génère un
- listing du contenu d'un répertoire via le module
- <code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code>, la sous-requête n'hérite pas des
- variables d'environnement spécifiques à la requête. En outre, à cause
+ <li>Lorsque le serveur cherche un chemin via une <a class="glossarylink" href="./glossary.html#subrequest" title="voir glossaire">sous-requête</a> interne (par exemple la
+ recherche d'un <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>), ou lorsqu'il génère un
+ listing du contenu d'un répertoire via le module
+ <code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code>, la sous-requête n'hérite pas des
+ variables d'environnement spécifiques à la requête. En outre, à cause
des phases de l'API auxquelles <code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> prend
- part, les directives <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> ne sont pas évaluées
- séparément dans la sous-requête.</li>
+ part, les directives <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> ne sont pas évaluées
+ séparément dans la sous-requête.</li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<h2><a name="using" id="using">Utilisation des variables d'environnement</a><a title="Lien permanent" href="#using" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code></li><li><code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code></li><li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_authz_core.html#require">Require</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code></li><li><code class="directive"><a href="./mod/mod_access_compat.html#deny">Deny</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code></li><li><code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code></li><li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_authz_core.html#require">Require</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code></li><li><code class="directive"><a href="./mod/mod_access_compat.html#deny">Deny</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li></ul></td></tr></table>
<h3><a name="cgi-scripts" id="cgi-scripts">Scripts CGI</a></h3>
<p>La communication d'informations aux scripts CGI constitue une des
- principales utilisations des variables d'environnement. Comme indiqué
+ principales utilisations des variables d'environnement. Comme indiqué
plus haut, l'environnement transmis aux scripts CGI comprend des
- méta-informations standards à propos de la requête, en plus des
- variables définies dans la configuration d'Apache. Pour plus de
- détails, se référer au
+ méta-informations standards à propos de la requête, en plus des
+ variables définies dans la configuration d'Apache. Pour plus de
+ détails, se référer au
<a href="howto/cgi.html">tutoriel CGI</a>.</p>
<h3><a name="ssi-pages" id="ssi-pages">Pages SSI</a></h3>
- <p>Les documents inclus côté serveur (SSI) traités par le filtre
+ <p>Les documents inclus côté serveur (SSI) traités par le filtre
<code>INCLUDES</code> du module <code class="module"><a href="./mod/mod_include.html">mod_include</a></code>,
peuvent afficher les
- variables d'environnement à l'aide de l'élément <code>echo</code>,
- et peuvent utiliser des variables d'environnement dans les éléments
- de contrôle de flux pour rendre certaines parties d'une page
- conditionnelles en fonction des caractéristiques de la requête.
+ variables d'environnement à l'aide de l'élément <code>echo</code>,
+ et peuvent utiliser des variables d'environnement dans les éléments
+ de contrôle de flux pour rendre certaines parties d'une page
+ conditionnelles en fonction des caractéristiques de la requête.
Apache fournit aussi les variables d'environnement CGI standards
aux pages SSI
- comme indiqué plus haut. Pour plus de détails, se référer au
+ comme indiqué plus haut. Pour plus de détails, se référer au
<a href="howto/ssi.html">tutoriel SSI</a>.</p>
- <h3><a name="access-control" id="access-control">Contrôle d'accès</a></h3>
+ <h3><a name="access-control" id="access-control">Contrôle d'accès</a></h3>
- <p>L'accès au serveur peut être contrôlé en fonction de la valeur de
- variables d'environnement à l'aide des directives
+ <p>L'accès au serveur peut être contrôlé en fonction de la valeur de
+ variables d'environnement à l'aide des directives
<code>allow from env=</code> et <code>deny from env=</code>.
En association avec la directive
- <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, ceci confère une
- grande souplesse au contrôle d'accès au serveur en fonction des
- caractéristiques du client. Par exemple, vous pouvez utiliser ces
- directives pour interdire l'accès depuis un navigateur particulier
+ <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, ceci confère une
+ grande souplesse au contrôle d'accès au serveur en fonction des
+ caractéristiques du client. Par exemple, vous pouvez utiliser ces
+ directives pour interdire l'accès depuis un navigateur particulier
(User-Agent).
</p>
<h3><a name="logging" id="logging">Enregistrement conditionnel des traces</a></h3>
- <p>Les variables d'environnement peuvent être enregistrées dans le
- fichier de log des accès à l'aide de l'option <code>%e</code> de la
+ <p>Les variables d'environnement peuvent être enregistrées dans le
+ fichier de log des accès à l'aide de l'option <code>%e</code> de la
directive <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code>.
- En outre, la décision de tracer ou non les requêtes peut être prise
- en fonction de l'état de variables d'environnement en utilisant la
+ En outre, la décision de tracer ou non les requêtes peut être prise
+ en fonction de l'état de variables d'environnement en utilisant la
forme conditionnelle de la directive
<code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code>. En
- association avec la directive <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, ceci confère une grande souplesse au contrôle
- du traçage des requêtes. Par exemple, vous pouvez choisir de ne pas
- tracer les requêtes pour des noms de fichiers se terminant par
- <code>gif</code>, ou encore de ne tracer que les requêtes des clients
- n'appartenant pas à votre sous-réseau.</p>
+ association avec la directive <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, ceci confère une grande souplesse au contrôle
+ du traçage des requêtes. Par exemple, vous pouvez choisir de ne pas
+ tracer les requêtes pour des noms de fichiers se terminant par
+ <code>gif</code>, ou encore de ne tracer que les requêtes des clients
+ n'appartenant pas à votre sous-réseau.</p>
- <h3><a name="response-headers" id="response-headers">En-têtes de réponse conditionnels</a></h3>
+ <h3><a name="response-headers" id="response-headers">En-têtes de réponse conditionnels</a></h3>
<p>La directive <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code>
- peut se baser sur la présence ou l'absence d'une variable
- d'environnement pour décider si un certain en-tête HTTP sera placé
- dans la réponse au client. Ceci permet, par exemple, de n'envoyer un
- certain en-tête de réponse que si un en-tête correspondant est présent
- dans la requête du client.</p>
+ peut se baser sur la présence ou l'absence d'une variable
+ d'environnement pour décider si un certain en-tête HTTP sera placé
+ dans la réponse au client. Ceci permet, par exemple, de n'envoyer un
+ certain en-tête de réponse que si un en-tête correspondant est présent
+ dans la requête du client.</p>
<h3><a name="external-filter" id="external-filter">Activation de filtres externes</a></h3>
- <p>Les filtres externes configurés par le module
- <code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code> à l'aide de la directive <code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code> peuvent être
- activés de manière conditionnelle en fonction d'une variable
- d'environnement à l'aide des options
+ <p>Les filtres externes configurés par le module
+ <code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code> à l'aide de la directive <code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code> peuvent être
+ activés de manière conditionnelle en fonction d'une variable
+ d'environnement à l'aide des options
<code>disableenv=</code> et <code>enableenv=</code>.</p>
- <h3><a name="url-rewriting" id="url-rewriting">Réécriture d'URL</a></h3>
+ <h3><a name="url-rewriting" id="url-rewriting">Réécriture d'URL</a></h3>
<p>La forme <code>%{ENV:<em>variable</em>}</code> de
<em>TestString</em> dans la
directive <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
- permet au moteur de réécriture du module
+ permet au moteur de réécriture du module
<code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> de prendre des
- décisions conditionnées par des variables d'environnement.
+ décisions conditionnées par des variables d'environnement.
Notez que les variables accessibles dans
- <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> sans le préfixe
- <code>ENV:</code> ne sont pas de véritables variables
- d'environnement. Ce sont plutôt des variables spécifiques à
+ <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> sans le préfixe
+ <code>ENV:</code> ne sont pas de véritables variables
+ d'environnement. Ce sont plutôt des variables spécifiques à
<code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>
qui ne sont pas accessibles pour les autres modules.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="special" id="special">Variables d'environnement à usage spécial</a><a title="Lien permanent" href="#special" class="permalink">¶</a></h2>
+<h2><a name="special" id="special">Variables d'environnement à usage spécial</a><a title="Lien permanent" href="#special" class="permalink">¶</a></h2>
- <p>Des problèmes d'interopérabilité ont conduit à l'introduction de
- mécanismes permettant de modifier le comportement d'Apache lorsqu'il
- dialogue avec certains clients. Afin de rendre ces mécanismes aussi
- souples que possible, ils sont invoqués en définissant des variables
- d'environnement, en général à l'aide de la directive
+ <p>Des problèmes d'interopérabilité ont conduit à l'introduction de
+ mécanismes permettant de modifier le comportement d'Apache lorsqu'il
+ dialogue avec certains clients. Afin de rendre ces mécanismes aussi
+ souples que possible, ils sont invoqués en définissant des variables
+ d'environnement, en général à l'aide de la directive
<code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, bien que les
directives <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> et
- <code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code> puissent aussi être
- utilisées, par exemple.</p>
+ <code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code> puissent aussi être
+ utilisées, par exemple.</p>
<h3><a name="downgrade" id="downgrade">downgrade-1.0</a></h3>
- <p>Ceci force le traitement d'une requête comme une requête HTTP/1.0
- même si elle a été rédigée dans un langage plus récent.</p>
+ <p>Ceci force le traitement d'une requête comme une requête HTTP/1.0
+ même si elle a été rédigée dans un langage plus récent.</p>
<h3><a name="force-gzip" id="force-gzip">force-gzip</a></h3>
- <p>Si le filtre <code>DEFLATE</code> est activé, cette variable
- d'environnement ignorera les réglages accept-encoding de votre
- navigateur et enverra une sortie compressée inconditionnellement.</p>
+ <p>Si le filtre <code>DEFLATE</code> est activé, cette variable
+ d'environnement ignorera les réglages accept-encoding de votre
+ navigateur et enverra une sortie compressée inconditionnellement.</p>
<h3><a name="force-no-vary" id="force-no-vary">force-no-vary</a></h3>
- <p>Cette variable entraîne la suppression de tout champ
- <code>Vary</code> des en-têtes de la réponse avant que cette dernière
- soit renvoyée au client. Certains clients n'interprètent pas ce champ
- correctement, et la définition de cette variable permet de contourner
- ce problème, mais implique aussi la définition de
+ <p>Cette variable entraîne la suppression de tout champ
+ <code>Vary</code> des en-têtes de la réponse avant que cette dernière
+ soit renvoyée au client. Certains clients n'interprètent pas ce champ
+ correctement, et la définition de cette variable permet de contourner
+ ce problème, mais implique aussi la définition de
<strong>force-response-1.0</strong>.</p>
<h3><a name="force-response" id="force-response">force-response-1.0</a></h3>
- <p>Cette variable force une réponse en langage HTTP/1.0 aux clients
- qui envoient des requêtes dans le même langage. Elle fut implémentée à
- l'origine suite à des problèmes avec les mandataires d'AOL. Certains
- clients en langage HTTP/1.0 ne réagissent pas correctement face à une
- réponse en langage HTTP/1.1, et cette variable peut être utilisée pour
- assurer l'interopérabilité avec eux.</p>
+ <p>Cette variable force une réponse en langage HTTP/1.0 aux clients
+ qui envoient des requêtes dans le même langage. Elle fut implémentée à
+ l'origine suite à des problèmes avec les mandataires d'AOL. Certains
+ clients en langage HTTP/1.0 ne réagissent pas correctement face à une
+ réponse en langage HTTP/1.1, et cette variable peut être utilisée pour
+ assurer l'interopérabilité avec eux.</p>
<h3><a name="gzip-only-text-html" id="gzip-only-text-html">gzip-only-text/html</a></h3>
- <p>Positionnée à "1", cette variable désactive le filtre en sortie
+ <p>Positionnée à "1", cette variable désactive le filtre en sortie
<code>DEFLATE</code> fourni par le module <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> pour les
- types de contenu autres que <code>text/html</code>. Si vous préférez
- utiliser des fichiers compressés statiquement,
- <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> évalue aussi la variable (non
+ types de contenu autres que <code>text/html</code>. Si vous préférez
+ utiliser des fichiers compressés statiquement,
+ <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> évalue aussi la variable (non
seulement pour gzip, mais aussi pour tous les encodages autres que
"identity").</p>
<h3><a name="no-gzip" id="no-gzip">no-gzip</a></h3>
- <p>Quand cette variable est définie, le filtre <code>DEFLATE</code> du
- module <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> est désactivé, et
- <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> refusera de délivrer des ressources
- encodées.</p>
+ <p>Quand cette variable est définie, le filtre <code>DEFLATE</code> du
+ module <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> est désactivé, et
+ <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> refusera de délivrer des ressources
+ encodées.</p>
<h3><a name="no-cache" id="no-cache">no-cache</a></h3>
- <p><em>Disponible dans les versions 2.2.12 et ultérieures d'Apache</em></p>
+ <p><em>Disponible dans les versions 2.2.12 et ultérieures d'Apache</em></p>
- <p>Lorsque cette variable est définie,
- <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> ne sauvegardera pas de réponse
- susceptible d'être mise en cache. Cette variable d'environnement
- n'a aucune incidence sur le fait qu'une réponse déjà enregistrée
- dans la cache soit utilisée ou non pour la requête courante.</p>
+ <p>Lorsque cette variable est définie,
+ <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> ne sauvegardera pas de réponse
+ susceptible d'être mise en cache. Cette variable d'environnement
+ n'a aucune incidence sur le fait qu'une réponse déjà enregistrée
+ dans la cache soit utilisée ou non pour la requête courante.</p>
<h3><a name="nokeepalive" id="nokeepalive">nokeepalive</a></h3>
- <p>Quand cette variable est définie, la directive
- <code class="directive"><a href="./mod/core.html#keepalive">KeepAlive</a></code> est désactivée.</p>
+ <p>Quand cette variable est définie, la directive
+ <code class="directive"><a href="./mod/core.html#keepalive">KeepAlive</a></code> est désactivée.</p>
<code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>. Si elle contient un symbole de
langage (tel que <code>en</code>, <code>ja</code>
ou <code>x-klingon</code>), <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> essaie de
- délivrer une variante dans ce langage. S'il n'existe pas de telle
+ délivrer une variante dans ce langage. S'il n'existe pas de telle
variante, le processus normal de
- <a href="content-negotiation.html">négociation</a> s'applique.</p>
+ <a href="content-negotiation.html">négociation</a> s'applique.</p>
<h3><a name="redirect-carefully" id="redirect-carefully">redirect-carefully</a></h3>
- <p>Cette variable force le serveur à être plus prudent lors de l'envoi
- d'une redirection au client. Elle est en général utilisée quand un
- client présente un problème connu avec les redirections. Elle fut
- implémentée à l'origine suite a un problème rencontré avec le logiciel
- WebFolders de Microsoft qui ne gère pas correctement les redirections
- vers des ressources de type répertoire via des méthodes DAV.</p>
+ <p>Cette variable force le serveur à être plus prudent lors de l'envoi
+ d'une redirection au client. Elle est en général utilisée quand un
+ client présente un problème connu avec les redirections. Elle fut
+ implémentée à l'origine suite a un problème rencontré avec le logiciel
+ WebFolders de Microsoft qui ne gère pas correctement les redirections
+ vers des ressources de type répertoire via des méthodes DAV.</p>
<h3><a name="suppress-error-charset" id="suppress-error-charset">suppress-error-charset</a></h3>
- <p><em>Disponible dans les versions postérieures à 2.0.54</em></p>
+ <p><em>Disponible dans les versions postérieures à 2.0.54</em></p>
- <p>Quand Apache génère une redirection en réponse à une requête client,
- la réponse inclut un texte destiné à être affiché au cas où le client ne
+ <p>Quand Apache génère une redirection en réponse à une requête client,
+ la réponse inclut un texte destiné à être affiché au cas où le client ne
suivrait pas, ou ne pourrait pas suivre automatiquement la redirection.
- Habituellement, Apache marque ce texte en accord avec le jeu de caractères
- qu'il utilise, à savoir ISO-8859-1.</p>
- <p> Cependant, si la redirection fait référence à une page qui utilise un
- jeu de caractères différent, certaines versions de navigateurs obsolètes
- essaieront d'utiliser le jeu de caractères du texte de la redirection
- plutôt que celui de la page réelle.
- Ceci peut entraîner, par exemple, un rendu incorrect du Grec.</p>
- <p>Si cette variable d'environnement est définie, Apache omettra le jeu de
- caractères pour le texte de la redirection, et les navigateurs obsolètes
- précités utiliseront correctement celui de la page de destination.</p>
+ Habituellement, Apache marque ce texte en accord avec le jeu de caractères
+ qu'il utilise, à savoir ISO-8859-1.</p>
+ <p> Cependant, si la redirection fait référence à une page qui utilise un
+ jeu de caractères différent, certaines versions de navigateurs obsolètes
+ essaieront d'utiliser le jeu de caractères du texte de la redirection
+ plutôt que celui de la page réelle.
+ Ceci peut entraîner, par exemple, un rendu incorrect du Grec.</p>
+ <p>Si cette variable d'environnement est définie, Apache omettra le jeu de
+ caractères pour le texte de la redirection, et les navigateurs obsolètes
+ précités utiliseront correctement celui de la page de destination.</p>
<div class="warning">
- <h3>Note concernant la sécurité</h3>
-
- <p>L'envoi de pages d'erreur sans spécifier un jeu de caractères peut
- conduire à des attaques de type "cross-site-scripting" pour les
- navigateurs qui ne respectent pas la spécification HTTP/1.1 (MSIE) et
- tentent de déduire le jeu de caractères à partir du contenu. De tels
- navigateurs peuvent être facilement trompés et utiliser le jeu de
- caractères UTF-7 ; les contenus des données en entrée de type UTF-7
- (comme les URI de requête) ne seront alors plus protégés par les
- mécanismes d'échappement usuels conçus pour prévenir les attaques
+ <h3>Note concernant la sécurité</h3>
+
+ <p>L'envoi de pages d'erreur sans spécifier un jeu de caractères peut
+ conduire à des attaques de type "cross-site-scripting" pour les
+ navigateurs qui ne respectent pas la spécification HTTP/1.1 (MSIE) et
+ tentent de déduire le jeu de caractères à partir du contenu. De tels
+ navigateurs peuvent être facilement trompés et utiliser le jeu de
+ caractères UTF-7 ; les contenus des données en entrée de type UTF-7
+ (comme les URI de requête) ne seront alors plus protégés par les
+ mécanismes d'échappement usuels conçus pour prévenir les attaques
de type "cross-site-scripting".</p>
</div>
<p>Ces directives modifient le comportement protocolaire du module
<code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>. Voir la documentation sur
- <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="./mod/mod_proxy_http.html">mod_proxy_http</a></code> pour plus de détails.</p>
+ <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="./mod/mod_proxy_http.html">mod_proxy_http</a></code> pour plus de détails.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<h2><a name="examples" id="examples">Exemples</a><a title="Lien permanent" href="#examples" class="permalink">¶</a></h2>
- <h3><a name="fixheader" id="fixheader">Transmission du contenu d'en-têtes non valides aux scripts
+ <h3><a name="fixheader" id="fixheader">Transmission du contenu d'en-têtes non valides aux scripts
CGI</a></h3>
<p>Avec la version 2.4, Apache est plus strict avec la conversion
- des en-têtes HTTP en variables d'environnement dans
+ des en-têtes HTTP en variables d'environnement dans
<code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code> et d'autres modules : dans les versions
- précédentes, tout caractère invalide dans les noms d'en-têtes
- était tout simplement remplacé par un caractère '_', ce qui
- pouvait exposer à des attaques de type cross-site-scripting via
- injection d'en-têtes (voir <a href="http://events.ccc.de/congress/2007/Fahrplan/events/2212.en.html">Bogues
+ précédentes, tout caractère invalide dans les noms d'en-têtes
+ était tout simplement remplacé par un caractère '_', ce qui
+ pouvait exposer à des attaques de type cross-site-scripting via
+ injection d'en-têtes (voir <a href="http://events.ccc.de/congress/2007/Fahrplan/events/2212.en.html">Bogues
du Web inhabituelles</a>, planche 19/20).</p>
- <p>Si vous devez supporter un client qui envoie des en-têtes non
- conformes et si ceux-ci ne peuvent pas être corrigés, il existe
+ <p>Si vous devez supporter un client qui envoie des en-têtes non
+ conformes et si ceux-ci ne peuvent pas être corrigés, il existe
une solution de contournement simple mettant en jeu les modules
<code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> et <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code>,
- et permettant de prendre en compte ces en-têtes :</p>
+ et permettant de prendre en compte ces en-têtes :</p>
-<pre class="prettyprint lang-config"># L'exemple suivant montre comment prendre en compte un en-tête<br />
-# Accept_Encoding non conforme envoyé par un client.
+<pre class="prettyprint lang-config"># L'exemple suivant montre comment prendre en compte un en-tête<br />
+# Accept_Encoding non conforme envoyé par un client.
#
SetEnvIfNoCase ^Accept.Encoding$ ^(.*)$ fix_accept_encoding=$1
RequestHeader set Accept-Encoding %{fix_accept_encoding}e env=fix_accept_encoding</pre>
- <h3><a name="misbehaving" id="misbehaving">Modification du comportement protocolaire face à des clients
- réagissant de manière non conforme</a></h3>
+ <h3><a name="misbehaving" id="misbehaving">Modification du comportement protocolaire face à des clients
+ réagissant de manière non conforme</a></h3>
- <p>Les versions antérieures recommandaient l'ajout de ces lignes dans
- httpd.conf pour tenir compte de problèmes connus avec certains clients.
- Comme les clients concernés sont maintenant très peu utilisés, cet
- ajout n'est pratiquement plus nécessaire.</p>
+ <p>Les versions antérieures recommandaient l'ajout de ces lignes dans
+ httpd.conf pour tenir compte de problèmes connus avec certains clients.
+ Comme les clients concernés sont maintenant très peu utilisés, cet
+ ajout n'est pratiquement plus nécessaire.</p>
<pre class="prettyprint lang-config">#
# The following directives modify normal HTTP response behavior.
# The first directive disables keepalive for Netscape 2.x and browsers that
- <h3><a name="no-img-log" id="no-img-log">Ne pas tracer les requêtes pour des images dans le fichier de
- trace des accès</a></h3>
+ <h3><a name="no-img-log" id="no-img-log">Ne pas tracer les requêtes pour des images dans le fichier de
+ trace des accès</a></h3>
- <p>Dans cet exemple, les requêtes pour des images n'apparaissent pas
- dans le fichier de trace des accès. Il peut être facilement adapté pour
- empêcher le traçage de répertoires particuliers, ou de requêtes
- en provenance de certains hôtes.</p>
+ <p>Dans cet exemple, les requêtes pour des images n'apparaissent pas
+ dans le fichier de trace des accès. Il peut être facilement adapté pour
+ empêcher le traçage de répertoires particuliers, ou de requêtes
+ en provenance de certains hôtes.</p>
<pre class="prettyprint lang-config">SetEnvIf Request_URI \.gif image-request
SetEnvIf Request_URI \.jpg image-request
SetEnvIf Request_URI \.png image-request
- <h3><a name="image-theft" id="image-theft">Prévention du "Vol d'image"</a></h3>
+ <h3><a name="image-theft" id="image-theft">Prévention du "Vol d'image"</a></h3>
- <p>Cet exemple montre comment empêcher les utilisateurs ne faisant pas
+ <p>Cet exemple montre comment empêcher les utilisateurs ne faisant pas
partie de votre serveur d'utiliser des images de votre serveur comme
images en ligne dans leurs pages. Cette configuration n'est pas
- recommandée, mais elle peut fonctionner dans des circonstances bien
- définies. Nous supposons que toutes vos images sont enregistrées dans
- un répertoire nommé <code>/web/images</code>.</p>
+ recommandée, mais elle peut fonctionner dans des circonstances bien
+ définies. Nous supposons que toutes vos images sont enregistrées dans
+ un répertoire nommé <code>/web/images</code>.</p>
<pre class="prettyprint lang-config">SetEnvIf Referer "^http://www\.example\.com/" local_referal
# Autorise les navigateurs qui n'envoient aucune information de Referer
SetEnvIf Referer "^$" local_referal
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/env.html" title="Français"> fr </a> |
+<a href="./fr/env.html" title="Français"> fr </a> |
<a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Les expressions dans le serveur HTTP Apache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/expr.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/expr.html" title="Français"> fr </a></p>
+<a href="./fr/expr.html" title="Français"> fr </a></p>
</div>
<p>Historiquement, il existe de nombreuses variantes dans la syntaxe
des expressions permettant d'exprimer une condition dans les
- différents modules du serveur HTTP Apache. À ce titre, des travaux sont
- en cours pour n'utiliser qu'une seule variante nommée
+ différents modules du serveur HTTP Apache. À ce titre, des travaux sont
+ en cours pour n'utiliser qu'une seule variante nommée
<em>ap_expr</em>, pour toutes les directives de configuration. Ce
- document décrit l'interpréteur d'expressions <em>ap_expr</em>.
+ document décrit l'interpréteur d'expressions <em>ap_expr</em>.
</p>
- <p>Le type d'expression <em>ap_expr</em> est appelé à remplacer la
+ <p>Le type d'expression <em>ap_expr</em> est appelé à remplacer la
plupart des autres types d'expressions dans HTTPD. Par exemple, la
- directive obsolète <code class="directive"><a href="./mod/mod_ssl.html#sslrequire">SSLRequire</a></code> peut être remplacée par la
+ directive obsolète <code class="directive"><a href="./mod/mod_ssl.html#sslrequire">SSLRequire</a></code> peut être remplacée par la
directive <a href="mod/mod_authz_core.html#reqexpr">Require
expr</a>.
</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#grammar">Syntaxe en Forme de Backus-Naur</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#vars">Variables</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#binop">Opérateurs binaires</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#unnop">Opérateurs unaires</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#binop">Opérateurs binaires</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#unnop">Opérateurs unaires</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#functions">Fonctions</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#examples">Exemples d'expressions</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#other">Autres</a></li>
<h2><a name="grammar" id="grammar">Syntaxe en Forme de Backus-Naur</a><a title="Lien permanent" href="#grammar" class="permalink">¶</a></h2>
<p>La <a href="http://fr.wikipedia.org/wiki/Forme_de_Backus-Naur">Forme de Backus-Naur</a>
- (souvent abrégée en BNF, de l'anglais Backus-Naur Form) est une notation permettant de décrire
- les règles syntaxiques des langages de programmation. En
- général, les expressions représentent des valeurs booléennes. Dans
- ce cas, le point de départ de la BNF est <code>cond</code>.
+ (souvent abrégée en BNF, de l'anglais Backus-Naur Form) est une notation permettant de décrire
+ les règles syntaxiques des langages de programmation. En
+ général, les expressions représentent des valeurs booléennes. Dans
+ ce cas, le point de départ de la BNF est <code>cond</code>.
Les directives comme
<code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code>,
<code class="directive"><a href="./mod/mod_authz_core.html#require">Require</a></code>,
<code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code>,
<code class="directive"><a href="./mod/mod_crypto.html#cryptokey">CryptoKey</a></code> ou
<code class="directive"><a href="./mod/mod_log_debug.html#logmessage">LogMessage</a></code> utilisent comme
- paramètres des expressions qui représentent des chaînes de
- caractères. Dans ce cas, le point de départ de la BNF est
+ paramètres des expressions qui représentent des chaînes de
+ caractères. Dans ce cas, le point de départ de la BNF est
<code>string</code>.
</p>
<blockquote>
<h2><a name="vars" id="vars">Variables</a><a title="Lien permanent" href="#vars" class="permalink">¶</a></h2>
- <p>L'interpréteur d'expressions fournit plusieurs variables de la
+ <p>L'interpréteur d'expressions fournit plusieurs variables de la
forme <code>%{HTTP_HOST}</code>. Notez que la valeur d'une variable
- peut dépendre de la phase du traitement de la requête au cours de
- laquelle elle est évaluée. Par exemple, une expression utilisée dans
- une directive <code class="directive"><If ></code> sera évaluée avant
- la phase d'authentification. Par conséquent, la variable
- <code>%{REMOTE_USER}</code> ne sera pas encore définie à ce stade.</p>
-
- <p>Les variables suivantes contiennent la valeur de l'en-tête de
- requête HTTP correspondant. La <a href="#functions">fonction</a>
+ peut dépendre de la phase du traitement de la requête au cours de
+ laquelle elle est évaluée. Par exemple, une expression utilisée dans
+ une directive <code class="directive"><If ></code> sera évaluée avant
+ la phase d'authentification. Par conséquent, la variable
+ <code>%{REMOTE_USER}</code> ne sera pas encore définie à ce stade.</p>
+
+ <p>Les variables suivantes contiennent la valeur de l'en-tête de
+ requête HTTP correspondant. La <a href="#functions">fonction</a>
<code>req</code> permet d'extraire les valeurs des autres
- en-têtes. L'utilisation de ces variables peut provoquer
- l'ajout du nom d'en-tête correspondant à l'en-tête Vary de la
- réponse HTTP, sauf spécification contraire pour la directive
- qui accepte l'expression comme paramètre. La <a href="#functions">function</a> <code>req_novary</code> permet de
+ en-têtes. L'utilisation de ces variables peut provoquer
+ l'ajout du nom d'en-tête correspondant à l'en-tête Vary de la
+ réponse HTTP, sauf spécification contraire pour la directive
+ qui accepte l'expression comme paramètre. La <a href="#functions">function</a> <code>req_novary</code> permet de
modifier ce comportement.</p>
<table class="bordered"><tr class="header"><th>Nom</th></tr>
<tr><td><code>HTTP_USER_AGENT</code></td></tr>
</table>
- <p>Autres variables liées aux requêtes</p>
+ <p>Autres variables liées aux requêtes</p>
<table class="bordered"><tr class="header"><th>Nom</th><th>Description</th></tr>
<tr><td><code>REQUEST_METHOD</code></td>
- <td>La méthode HTTP de la requête entrante (par exemple
+ <td>La méthode HTTP de la requête entrante (par exemple
<code>GET</code>)</td></tr>
<tr class="odd"><td><code>REQUEST_SCHEME</code></td>
- <td>Le protocole associé à l'URI de la requête</td></tr>
+ <td>Le protocole associé à l'URI de la requête</td></tr>
<tr><td><code>REQUEST_URI</code></td>
- <td>La partie chemin de l'URI de la requête</td></tr>
+ <td>La partie chemin de l'URI de la requête</td></tr>
<tr class="odd"><td><code>DOCUMENT_URI</code></td>
<td>Idem <code>REQUEST_URI</code></td></tr>
<tr><td><code>REQUEST_FILENAME</code></td>
- <td>Le chemin complet dans le système de fichiers local du
- fichier ou du script correspondant à la requête, si le serveur
- l'a dèjà déterminé à l'instant où <code>REQUEST_FILENAME</code>
- est référencée. Dans le cas contraire, comme dans un
- contexte de serveur virtuel, même valeur que <code>REQUEST_URI</code> </td></tr>
+ <td>Le chemin complet dans le système de fichiers local du
+ fichier ou du script correspondant à la requête, si le serveur
+ l'a dèjà déterminé à l'instant où <code>REQUEST_FILENAME</code>
+ est référencée. Dans le cas contraire, comme dans un
+ contexte de serveur virtuel, même valeur que <code>REQUEST_URI</code> </td></tr>
<tr class="odd"><td><code>SCRIPT_FILENAME</code></td>
- <td>Identique à <code>REQUEST_FILENAME</code></td></tr>
+ <td>Identique à <code>REQUEST_FILENAME</code></td></tr>
<tr><td><code>LAST_MODIFIED</code></td>
- <td>La date et heure de dernière modification du fichier au
- format <code>20101231235959</code>, si elle est déjà connue du
- serveur au moment où <code>LAST_MODIFIED</code> est référencé.
+ <td>La date et heure de dernière modification du fichier au
+ format <code>20101231235959</code>, si elle est déjà connue du
+ serveur au moment où <code>LAST_MODIFIED</code> est référencé.
</td></tr>
<tr class="odd"><td><code>SCRIPT_USER</code></td>
- <td>Le nom d'utilisateur du propriétaire du script.</td></tr>
+ <td>Le nom d'utilisateur du propriétaire du script.</td></tr>
<tr><td><code>SCRIPT_GROUP</code></td>
<td>Le nom du groupe auquel appartient le script.</td></tr>
<tr class="odd"><td><code>PATH_INFO</code></td>
- <td>L'information relative au nom de chemin située en fin, voir
+ <td>L'information relative au nom de chemin située en fin, voir
la directive <code class="directive"><a href="./mod/core.html#acceptpathinfo">AcceptPathInfo</a></code></td></tr>
<tr><td><code>QUERY_STRING</code></td>
- <td>La chaîne de paramètres de la requête courante</td></tr>
+ <td>La chaîne de paramètres de la requête courante</td></tr>
<tr class="odd"><td><code>IS_SUBREQ</code></td>
- <td>"<code>true</code>" si la requête courante est une
- sous-requête, "<code>false</code>" dans le cas contraire</td></tr>
+ <td>"<code>true</code>" si la requête courante est une
+ sous-requête, "<code>false</code>" dans le cas contraire</td></tr>
<tr><td><code>THE_REQUEST</code></td>
- <td>La requête complète (par exemple "<code>GET /index.html
+ <td>La requête complète (par exemple "<code>GET /index.html
HTTP/1.1</code>")</td></tr>
<tr class="odd"><td><code>REMOTE_ADDR</code></td>
- <td>L'adresse IP de l'hôte distant</td></tr>
+ <td>L'adresse IP de l'hôte distant</td></tr>
<tr><td><code>REMOTE_PORT</code></td>
- <td>Le port de l'hôte distant (à partir de la version 2.4.26)</td></tr>
+ <td>Le port de l'hôte distant (à partir de la version 2.4.26)</td></tr>
<tr class="odd"><td><code>REMOTE_HOST</code></td>
- <td>Le nom d'hôte de l'hôte distant</td></tr>
+ <td>Le nom d'hôte de l'hôte distant</td></tr>
<tr><td><code>REMOTE_USER</code></td>
- <td>Le nom de l'utilisateur authentifié, s'il existe (non
- disponible à l'intérieur d'un bloc <code class="directive"><If></code>)</td></tr>
+ <td>Le nom de l'utilisateur authentifié, s'il existe (non
+ disponible à l'intérieur d'un bloc <code class="directive"><If></code>)</td></tr>
<tr class="odd"><td><code>REMOTE_IDENT</code></td>
- <td>Le nom de l'utilisateur défini par <code class="module"><a href="./mod/mod_ident.html">mod_ident</a></code></td></tr>
+ <td>Le nom de l'utilisateur défini par <code class="module"><a href="./mod/mod_ident.html">mod_ident</a></code></td></tr>
<tr><td><code>SERVER_NAME</code></td>
<td>La valeur de la directive <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code> du serveur virtuel courant</td></tr>
<tr class="odd"><td><code>SERVER_PORT</code></td>
- <td>Le port associé au serveur virtuel courant ; voir la
+ <td>Le port associé au serveur virtuel courant ; voir la
directive <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code></td></tr>
<tr><td><code>SERVER_ADMIN</code></td>
<td>La valeur de la directive <code class="directive"><a href="./mod/core.html#serveradmin">ServerAdmin</a></code> du serveur virtuel courant</td></tr>
<tr class="odd"><td><code>SERVER_PROTOCOL</code></td>
- <td>Le protocole utilisé par la requête (par
- exemple HTTP/1.1). Avec certains types de sous-requêtes
+ <td>Le protocole utilisé par la requête (par
+ exemple HTTP/1.1). Avec certains types de sous-requêtes
internes, cette variable prend la valeur <code>INCLUDED</code>.</td></tr>
<tr><td><code>SERVER_PROTOCOL_VERSION</code></td>
- <td>Un nombre qui représente la version HTTP de la requête :
+ <td>Un nombre qui représente la version HTTP de la requête :
<code>1000 * major + minor</code>. Par exemple,
- <code>1001</code> correspond à HTTP/1.1 et <code>9</code> à
+ <code>1001</code> correspond à HTTP/1.1 et <code>9</code> à
HTTP/0.9.</td></tr>
<tr class="odd"><td><code>SERVER_PROTOCOL_VERSION_MAJOR</code></td>
- <td>La partie majeure de la version HTTP de la requête, par
+ <td>La partie majeure de la version HTTP de la requête, par
exemple <code>1</code> pour HTTP/1.0.</td></tr>
<tr><td><code>SERVER_PROTOCOL_VERSION_MINOR</code></td>
- <td>La partie mineure de la version HTTP de la requête, par
+ <td>La partie mineure de la version HTTP de la requête, par
exemple <code>0</code> pour HTTP/1.0.</td></tr>
<tr class="odd"><td><code>DOCUMENT_ROOT</code></td>
<td>La valeur de la directive <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> du serveur virtuel
<td>La valeur de la directive <code class="directive"><a href="./mod/mod_authn_core.html#authtype">AuthType</a></code> (par exemple
"<code>basic</code>")</td></tr>
<tr class="odd"><td><code>CONTENT_TYPE</code></td>
- <td>Le type de contenu de la réponse (non
- disponible à l'intérieur d'un bloc <code class="directive"><If></code>)</td></tr>
+ <td>Le type de contenu de la réponse (non
+ disponible à l'intérieur d'un bloc <code class="directive"><If></code>)</td></tr>
<tr><td><code>HANDLER</code></td>
<td>Le nom du <a href="handler.html">gestionnaire</a> qui a
- généré la réponse</td></tr>
+ généré la réponse</td></tr>
<tr class="odd"><td><code>HTTP2</code></td>
- <td>"<code>on</code>" si la requête utilise http/2,
+ <td>"<code>on</code>" si la requête utilise http/2,
"<code>off</code>" dans le cas contraire</td></tr>
<tr><td><code>HTTPS</code></td>
- <td>"<code>on</code>" si la requête utilise https,
+ <td>"<code>on</code>" si la requête utilise https,
"<code>off</code>" dans le cas contraire</td></tr>
<tr class="odd"><td><code>IPV6</code></td>
<td>"<code>on</code>" si la connexion utilise IPv6,
"<code>off</code>" dans le cas contraire</td></tr>
<tr><td><code>REQUEST_STATUS</code></td>
- <td>Le code d'erreur HTTP de la requête (non
- disponible à l'intérieur d'un bloc <code class="directive"><If></code>)</td></tr>
+ <td>Le code d'erreur HTTP de la requête (non
+ disponible à l'intérieur d'un bloc <code class="directive"><If></code>)</td></tr>
<tr class="odd"><td><code>REQUEST_LOG_ID</code></td>
- <td>L'identifiant du message d'erreur associé à la requête (voir
+ <td>L'identifiant du message d'erreur associé à la requête (voir
la directive <code class="directive"><a href="./mod/core.html#errorlogformat">ErrorLogFormat</a></code>)</td></tr>
<tr><td><code>CONN_LOG_ID</code></td>
- <td>L'identifiant du message d'erreur associé à la connexion
+ <td>L'identifiant du message d'erreur associé à la connexion
(voir la directive <code class="directive"><a href="./mod/core.html#errorlogformat">ErrorLogFormat</a></code>)</td></tr>
<tr class="odd"><td><code>CONN_REMOTE_ADDR</code></td>
<td>L'adresse IP du correspondant pour la connexion (voir le module
<table class="bordered"><tr class="header"><th>Nom</th><th>Description</th></tr>
<tr><td><code>TIME_YEAR</code></td>
- <td>L'année courante (par exemple <code>2010</code>)</td></tr>
+ <td>L'année courante (par exemple <code>2010</code>)</td></tr>
<tr class="odd"><td><code>TIME_MON</code></td>
<td>Le mois courant (<code>01</code>, ..., <code>12</code>)</td></tr>
<tr><td><code>TIME_DAY</code></td>
<tr class="odd"><td><code>TIME_SEC</code></td>
<td>Les secondes de la date courante</td></tr>
<tr><td><code>TIME_WDAY</code></td>
- <td>Le jour de la semaine (à partir de <code>0</code> pour
+ <td>Le jour de la semaine (à partir de <code>0</code> pour
dimanche)</td></tr>
<tr class="odd"><td><code>TIME</code></td>
<td>La date et heure au format <code>20101231235959</code></td></tr>
<tr><td><code>SERVER_SOFTWARE</code></td>
- <td>La chaîne contenant la version du serveur</td></tr>
+ <td>La chaîne contenant la version du serveur</td></tr>
<tr class="odd"><td><code>API_VERSION</code></td>
<td>La date de la version de l'API (module magic number)</td></tr>
</table>
- <p>Certains modules, comme <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>, définissent des
- variables supplémentaires.</p>
+ <p>Certains modules, comme <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>, définissent des
+ variables supplémentaires.</p>
- <p>Toute variable peut être insérée dans une <em>chaîne</em>, et ceci non
- seulement dans les chaînes entre quotes des expressions booléennes, mais
- aussi dans les expressions littérales issues de la concaténation de chaînes
+ <p>Toute variable peut être insérée dans une <em>chaîne</em>, et ceci non
+ seulement dans les chaînes entre quotes des expressions booléennes, mais
+ aussi dans les expressions littérales issues de la concaténation de chaînes
constantes et dynamiques.</p>
<p>On peut utiliser ici les variables (temporaires) du style
- <code>%{:<em>word</em>:}</code> qui permettent d'insérer dans les deux types
+ <code>%{:<em>word</em>:}</code> qui permettent d'insérer dans les deux types
d'expressions des variables (et des constructions) avec la syntaxe puissante
<em>word</em> sans entrer en conflit avec les parties constantes de telles
- chaînes. Même si la syntaxe <em>word</em> est directement utilisable au sein
- des expressions booléennes, ces variables sont cependant surtout utiles dans
- les expressions littérales. Ces variables permettent d'évaluer des
- expressions rationnelles, des substitutions, de concaténer ou dissocier des
- chaînes et des listes au sein des expressions littérales, et donc de
- construire des chaînes complexes dynamiquement.</p>
+ chaînes. Même si la syntaxe <em>word</em> est directement utilisable au sein
+ des expressions booléennes, ces variables sont cependant surtout utiles dans
+ les expressions littérales. Ces variables permettent d'évaluer des
+ expressions rationnelles, des substitutions, de concaténer ou dissocier des
+ chaînes et des listes au sein des expressions littérales, et donc de
+ construire des chaînes complexes dynamiquement.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="binop" id="binop">Opérateurs binaires</a><a title="Lien permanent" href="#binop" class="permalink">¶</a></h2>
+<h2><a name="binop" id="binop">Opérateurs binaires</a><a title="Lien permanent" href="#binop" class="permalink">¶</a></h2>
- <p>À l'exception de quelques opérateurs de comparaison internes, les
- opérateurs binaires sont de la forme
+ <p>À l'exception de quelques opérateurs de comparaison internes, les
+ opérateurs binaires sont de la forme
"<code>-[a-zA-Z][a-zA-Z0-9_]+</code>", autrement dit un signe moins
- et au moins deux caractères. Le nom est insensible à la casse. Les
- modules peuvent fournir des opérateurs binaires supplémentaires.</p>
+ et au moins deux caractères. Le nom est insensible à la casse. Les
+ modules peuvent fournir des opérateurs binaires supplémentaires.</p>
- <h3><a name="comp" id="comp">Opérateurs de comparaison</a></h3>
+ <h3><a name="comp" id="comp">Opérateurs de comparaison</a></h3>
<table class="bordered"><tr class="header"><th>Nom</th><th>Alternative</th> <th>Description</th></tr>
<tr><td><code>==</code></td>
<td><code>=</code></td>
- <td>Egalité de chaînes</td></tr>
+ <td>Egalité de chaînes</td></tr>
<tr class="odd"><td><code>!=</code></td>
<td />
- <td>Inégalité de chaînes</td></tr>
+ <td>Inégalité de chaînes</td></tr>
<tr><td><code><</code></td>
<td />
- <td>Chaîne inférieure à</td></tr>
+ <td>Chaîne inférieure à</td></tr>
<tr class="odd"><td><code><=</code></td>
<td />
- <td>Chaîne inférieure ou égale à</td></tr>
+ <td>Chaîne inférieure ou égale à</td></tr>
<tr><td><code>></code></td>
<td />
- <td>Chaîne supérieure à</td></tr>
+ <td>Chaîne supérieure à</td></tr>
<tr class="odd"><td><code>>=</code></td>
<td />
- <td>Chaîne supérieure ou égale à</td></tr>
+ <td>Chaîne supérieure ou égale à</td></tr>
<tr><td><code>=~</code></td>
<td />
- <td>La chaîne correspond à l'expression rationnelle</td></tr>
+ <td>La chaîne correspond à l'expression rationnelle</td></tr>
<tr class="odd"><td><code>!~</code></td>
<td />
- <td>La chaîne ne correspond pas à l'expression rationnelle</td></tr>
+ <td>La chaîne ne correspond pas à l'expression rationnelle</td></tr>
<tr><td><code>-eq</code></td>
<td><code>eq</code></td>
- <td>Egalité d'entiers</td></tr>
+ <td>Egalité d'entiers</td></tr>
<tr class="odd"><td><code>-ne</code></td>
<td><code>ne</code></td>
- <td>Inégalité d'entiers</td></tr>
+ <td>Inégalité d'entiers</td></tr>
<tr><td><code>-lt</code></td>
<td><code>lt</code></td>
- <td>Entier inférieur à</td></tr>
+ <td>Entier inférieur à</td></tr>
<tr class="odd"><td><code>-le</code></td>
<td><code>le</code></td>
- <td>Entier inférieur ou égal à</td></tr>
+ <td>Entier inférieur ou égal à</td></tr>
<tr><td><code>-gt</code></td>
<td><code>gt</code></td>
- <td>Entier supérieur à</td></tr>
+ <td>Entier supérieur à</td></tr>
<tr class="odd"><td><code>-ge</code></td>
<td><code>ge</code></td>
- <td>Entier supérieur ou égal à</td></tr>
+ <td>Entier supérieur ou égal à</td></tr>
</table>
- <h3><a name="binaryother" id="binaryother">Autres opérateurs binaires</a></h3>
+ <h3><a name="binaryother" id="binaryother">Autres opérateurs binaires</a></h3>
<table class="bordered"><tr class="header"><th>Nom</th><th>Description</th></tr>
<tr><td><code>-ipmatch</code></td>
- <td>L'adresse IP correspond à adresse/masque</td></tr>
+ <td>L'adresse IP correspond à adresse/masque</td></tr>
<tr class="odd"><td><code>-strmatch</code></td>
- <td>la chaîne de gauche correspond au modèle constitué par la
- chaîne de droite (contenant des caractères génériques *, ?, [])</td></tr>
+ <td>la chaîne de gauche correspond au modèle constitué par la
+ chaîne de droite (contenant des caractères génériques *, ?, [])</td></tr>
<tr><td><code>-strcmatch</code></td>
- <td>idem <code>-strmatch</code>, mais insensible à la casse</td></tr>
+ <td>idem <code>-strmatch</code>, mais insensible à la casse</td></tr>
<tr class="odd"><td><code>-fnmatch</code></td>
<td>idem <code>-strmatch</code>, mais les slashes ne sont pas
- pris en compte par les caractères génériques</td></tr>
+ pris en compte par les caractères génériques</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="unnop" id="unnop">Opérateurs unaires</a><a title="Lien permanent" href="#unnop" class="permalink">¶</a></h2>
+<h2><a name="unnop" id="unnop">Opérateurs unaires</a><a title="Lien permanent" href="#unnop" class="permalink">¶</a></h2>
- <p>Les opérateurs unaires acceptent un seul argument et sont
+ <p>Les opérateurs unaires acceptent un seul argument et sont
de la forme "<code>-[a-zA-Z]</code>",
- autrement dit le signe moins et un caractère. Le nom <em>est</em>
- sensible à la casse. Les modules peuvent fournir des opérateurs
- unaires supplémentaires.</p>
+ autrement dit le signe moins et un caractère. Le nom <em>est</em>
+ sensible à la casse. Les modules peuvent fournir des opérateurs
+ unaires supplémentaires.</p>
<table class="bordered"><tr class="header"><th>Nom</th><th>Description</th><th>Restreint</th></tr>
<tr><td><code>-d</code></td>
- <td>L'argument est traité comme un nom de fichier.
- Vrai si le fichier existe et correspond à un
- répertoire</td><td>oui</td></tr>
+ <td>L'argument est traité comme un nom de fichier.
+ Vrai si le fichier existe et correspond à un
+ répertoire</td><td>oui</td></tr>
<tr class="odd"><td><code>-e</code></td>
- <td>L'argument est traité comme un nom de fichier. Vrai si le
+ <td>L'argument est traité comme un nom de fichier. Vrai si le
fichier (ou dir ou special) existe</td><td>oui</td></tr>
<tr><td><code>-f</code></td>
- <td>L'argument est traité comme un nom de fichier. Vrai si le
- fichier existe et correspond à un fichier
- régulier</td><td>oui</td></tr>
+ <td>L'argument est traité comme un nom de fichier. Vrai si le
+ fichier existe et correspond à un fichier
+ régulier</td><td>oui</td></tr>
<tr class="odd"><td><code>-s</code></td>
- <td>L'argument est traité comme un nom de fichier. Vrai si le
+ <td>L'argument est traité comme un nom de fichier. Vrai si le
fichier existe et n'est pas vide</td><td>oui</td></tr>
<tr><td><code>-L</code></td>
- <td>L'argument est traité comme un nom de fichier. Vrai si le
- fichier existe et correspond à un lien
+ <td>L'argument est traité comme un nom de fichier. Vrai si le
+ fichier existe et correspond à un lien
symbolique</td><td>oui</td></tr>
<tr class="odd"><td><code>-h</code></td>
- <td>L'argument est traité comme un nom de fichier. Vrai si le
- fichier existe et correspond à un lien symbolique
- (identique à <code>-L</code>)</td><td>oui</td></tr>
+ <td>L'argument est traité comme un nom de fichier. Vrai si le
+ fichier existe et correspond à un lien symbolique
+ (identique à <code>-L</code>)</td><td>oui</td></tr>
<tr><td><code>-F</code></td>
- <td>Vrai si la chaîne correspond a un fichier valide, accessible
- avec tous les contrôles d'accès configurés pour ce chemin. A
- cette fin, une sous-requête effectue la vérification, et vous
+ <td>Vrai si la chaîne correspond a un fichier valide, accessible
+ avec tous les contrôles d'accès configurés pour ce chemin. A
+ cette fin, une sous-requête effectue la vérification, et vous
devez utiliser ce drapeau avec soin car il peut impacter les
performances de votre serveur !</td><td /></tr>
<tr class="odd"><td><code>-U</code></td>
- <td>Vrai si la chaîne correspond a une URL valide, accessible
- avec tous les contrôles d'accès configurés pour ce chemin. A
- cette fin, une sous-requête effectue la vérification, et vous
+ <td>Vrai si la chaîne correspond a une URL valide, accessible
+ avec tous les contrôles d'accès configurés pour ce chemin. A
+ cette fin, une sous-requête effectue la vérification, et vous
devez utiliser ce drapeau avec soin car il peut impacter les
performances de votre serveur !</td><td /></tr>
<tr><td><code>-A</code></td>
<td>Alias pour <code>-U</code></td><td /></tr>
<tr class="odd"><td><code>-n</code></td>
- <td>Vrai si la chaîne n'est pas vide</td><td /></tr>
+ <td>Vrai si la chaîne n'est pas vide</td><td /></tr>
<tr><td><code>-z</code></td>
- <td>Vrai si la chaîne est vide</td><td /></tr>
+ <td>Vrai si la chaîne est vide</td><td /></tr>
<tr class="odd"><td><code>-T</code></td>
- <td>Faux si la chaîne est vide, "<code>0</code>",
+ <td>Faux si la chaîne est vide, "<code>0</code>",
"<code>off</code>", "<code>false</code>", ou "<code>no</code>"
- (insensibilité à la casse). Vrai dans le cas contraire.</td><td /></tr>
+ (insensibilité à la casse). Vrai dans le cas contraire.</td><td /></tr>
<tr><td><code>-R</code></td>
<td>Idem "<code>%{REMOTE_ADDR} -ipmatch ...</code>", en plus
efficace
</td><td /></tr>
</table>
- <p>Les opérateurs marqués comme "restreints" ne sont pas disponibles
+ <p>Les opérateurs marqués comme "restreints" ne sont pas disponibles
avec certains modules comme <code class="module"><a href="./mod/mod_include.html">mod_include</a></code>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<h2><a name="functions" id="functions">Fonctions</a><a title="Lien permanent" href="#functions" class="permalink">¶</a></h2>
- <p>Normalement, les fonctions dont la valeur est une chaîne acceptent une chaîne
- comme argument et renvoient une chaîne. Les noms de fonctions sont
- insensibles à la casse. Les modules peuvent fournir des fonctions
- supplémentaires.</p>
+ <p>Normalement, les fonctions dont la valeur est une chaîne acceptent une chaîne
+ comme argument et renvoient une chaîne. Les noms de fonctions sont
+ insensibles à la casse. Les modules peuvent fournir des fonctions
+ supplémentaires.</p>
- <table class="bordered"><tr class="header"><th>Nom</th><th>Description</th><th>Remarques particulières</th></tr>
+ <table class="bordered"><tr class="header"><th>Nom</th><th>Description</th><th>Remarques particulières</th></tr>
<tr><td><code>req</code>, <code>http</code></td>
- <td>Lit l'en-tête de requête HTTP ; les noms
- d'en-tête correspondants peuvent être ajoutés à l'en-tête Vary,
+ <td>Lit l'en-tête de requête HTTP ; les noms
+ d'en-tête correspondants peuvent être ajoutés à l'en-tête Vary,
voir ci-dessous</td><td /></tr>
<tr class="odd"><td><code>req_novary</code></td>
- <td>Identique à <code>req</code>, mais les noms
- d'en-tête correspondants ne seront pas ajoutés à l'en-tête Vary</td><td /></tr>
+ <td>Identique à <code>req</code>, mais les noms
+ d'en-tête correspondants ne seront pas ajoutés à l'en-tête Vary</td><td /></tr>
<tr><td><code>resp</code></td>
- <td>Lit l'en-tête de réponse HTTP (la plupart des
- en-tête de la réponse ne sont pas encore définis pendant
- l'exécution de la directive <code class="directive"><If></code>)</td><td /></tr>
+ <td>Lit l'en-tête de réponse HTTP (la plupart des
+ en-tête de la réponse ne sont pas encore définis pendant
+ l'exécution de la directive <code class="directive"><If></code>)</td><td /></tr>
<tr class="odd"><td><code>reqenv</code></td>
- <td>Recherche une variable d'environnement de requête (on
+ <td>Recherche une variable d'environnement de requête (on
peut aussi utiliser le raccourci <code>v</code>).
</td>
<td>ordonnancement</td></tr>
<tr><td><code>osenv</code></td>
- <td>Recherche une variable d'environnement du système
+ <td>Recherche une variable d'environnement du système
d'exploitation</td><td /></tr>
<tr class="odd"><td><code>note</code></td>
- <td>Recherche une note de requête</td><td>ordonnancement</td></tr>
+ <td>Recherche une note de requête</td><td>ordonnancement</td></tr>
<tr><td><code>env</code></td>
- <td>Renvoie le premier résultat positif de <code>note</code>,
+ <td>Renvoie le premier résultat positif de <code>note</code>,
<code>reqenv</code>, <code>osenv</code></td><td>ordonnancement</td></tr>
<tr class="odd"><td><code>tolower</code></td>
- <td>Convertit une chaîne en minuscules</td><td /></tr>
+ <td>Convertit une chaîne en minuscules</td><td /></tr>
<tr><td><code>toupper</code></td>
- <td>Convertit une chaîne en majuscules</td><td /></tr>
+ <td>Convertit une chaîne en majuscules</td><td /></tr>
<tr class="odd"><td><code>escape</code></td>
- <td>Echappe les caractères spéciaux en codage hexadécimal</td><td /></tr>
+ <td>Echappe les caractères spéciaux en codage hexadécimal</td><td /></tr>
<tr><td><code>unescape</code></td>
- <td>"Déséchappe" les chaînes codées
- en hexadécimal, en ne gardant encodés que les slashes; renvoie la chaîne vide
- si la séquence %00 est rencontrée</td><td /></tr>
+ <td>"Déséchappe" les chaînes codées
+ en hexadécimal, en ne gardant encodés que les slashes; renvoie la chaîne vide
+ si la séquence %00 est rencontrée</td><td /></tr>
<tr class="odd"><td><code>base64</code></td>
- <td>Encode la chaîne en utilisant le codage base64</td><td /></tr>
+ <td>Encode la chaîne en utilisant le codage base64</td><td /></tr>
<tr><td><code>unbase64</code></td>
- <td>Décode une chaîne codée en base64, renvoie une chaîne
- tronquée si le caractère 0x00 est rencontré</td><td /></tr>
+ <td>Décode une chaîne codée en base64, renvoie une chaîne
+ tronquée si le caractère 0x00 est rencontré</td><td /></tr>
<tr class="odd"><td><code>md5</code></td>
- <td>Effectue un hashage MD5 de la chaîne, puis encode le hash
- avec un codage hexadécimal</td><td /></tr>
+ <td>Effectue un hashage MD5 de la chaîne, puis encode le hash
+ avec un codage hexadécimal</td><td /></tr>
<tr><td><code>sha1</code></td>
- <td>Effectue un hashage SHA1 de la chaîne, puis encode le hash
- avec un codage hexadécimal</td><td /></tr>
+ <td>Effectue un hashage SHA1 de la chaîne, puis encode le hash
+ avec un codage hexadécimal</td><td /></tr>
<tr class="odd"><td><code>file</code></td>
<td>Lit le contenu d'un fichier (fins de lignes incluses, si
- elles existent)</td><td>limité</td></tr>
+ elles existent)</td><td>limité</td></tr>
<tr><td><code>filemod</code></td>
- <td>Renvoie la date de dernière modification d'un fichier (ou 0
+ <td>Renvoie la date de dernière modification d'un fichier (ou 0
si le fichier n'existe pas ou n'est pas un fichier
- régulier)</td><td>limité</td></tr>
+ régulier)</td><td>limité</td></tr>
<tr class="odd"><td><code>filesize</code></td>
<td>Renvoie la taille d'un fichier (ou 0 si le fichier n'existe
- pas ou ne correspond pas à un fichier
- régulier)</td><td>limité</td></tr>
+ pas ou ne correspond pas à un fichier
+ régulier)</td><td>limité</td></tr>
<tr><td><code>ldap</code></td>
- <td>Echappe les caractères selon la RFC4514 (Echappement des
+ <td>Echappe les caractères selon la RFC4514 (Echappement des
noms distinctifs LDAP - DN) et la RFC4515 (Echappement des
filtres LDAP).</td><td /></tr>
<tr class="odd"><td><code>replace</code></td>
- <td>replace(chaîne, "de", "vers") remplace dans la chaîne
- spécifiée toutes les occurrences de "de" par "vers".</td><td /></tr>
+ <td>replace(chaîne, "de", "vers") remplace dans la chaîne
+ spécifiée toutes les occurrences de "de" par "vers".</td><td /></tr>
</table>
- <p>Les fonctions marquées comme "limité" dans la dernière colonne ne sont
+ <p>Les fonctions marquées comme "limité" dans la dernière colonne ne sont
pas disponibles avec certains modules comme
<code class="module"><a href="./mod/mod_include.html">mod_include</a></code>.</p>
- <p>Les fonctions marquées comme "ordonnancement" dans la dernière colonne
- nécessitent une attention particulière pour l'ordonnancement des différents
- composants du serveur, spécialement lorsque la fonction est utilisée au sein
+ <p>Les fonctions marquées comme "ordonnancement" dans la dernière colonne
+ nécessitent une attention particulière pour l'ordonnancement des différents
+ composants du serveur, spécialement lorsque la fonction est utilisée au sein
d'une directive <<code class="directive"><a href="./mod/core.html#if">If</a></code>> qui est
- évaluée relativement tôt.</p>
+ évaluée relativement tôt.</p>
<div class="note">
<h3>Ordonnancement des variables d'environnement</h3>
- Lorsque des variables d'environnement sont évaluées au sein d'une directive
+ Lorsque des variables d'environnement sont évaluées au sein d'une directive
<<code class="directive"><a href="./mod/core.html#if">If</a></code>>, il est important de tenir
- compte du moment où cette évaluation intervient dans le traitement de la
- requête. Par exemple, toute directive définie en dehors d'un contexte de
- serveur virtuel (directory, location, htaccess) aura peu de chance d'être
- déjà exécutée. Ainsi la directive <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> est une directive qui s'exécute
- avant cette évaluation.
+ compte du moment où cette évaluation intervient dans le traitement de la
+ requête. Par exemple, toute directive définie en dehors d'un contexte de
+ serveur virtuel (directory, location, htaccess) aura peu de chance d'être
+ déjà exécutée. Ainsi la directive <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> est une directive qui s'exécute
+ avant cette évaluation.
<br />
<br />
- Lorsque <code>reqenv</code> est utilisé en dehors de la directive
- <<code class="directive"><a href="./mod/core.html#if">If</a></code>>, l'évaluation survient en
- général plus tard, mais le moment exact dépend de la directive dans laquelle
- l'expression a été utilisée.
+ Lorsque <code>reqenv</code> est utilisé en dehors de la directive
+ <<code class="directive"><a href="./mod/core.html#if">If</a></code>>, l'évaluation survient en
+ général plus tard, mais le moment exact dépend de la directive dans laquelle
+ l'expression a été utilisée.
</div>
<p>Lorsque les fonctions <code>req</code> ou <code>http</code> sont
- utilisées, le nom d'en-tête sera automatiquement ajouté à l'en-tête
- Vary de la réponse HTTP, sauf spécification contraire pour la
- directive qui accepte l'expression comme paramètre. La fonction
- <code>req_novary</code> permet d'empêcher cet ajout.</p>
+ utilisées, le nom d'en-tête sera automatiquement ajouté à l'en-tête
+ Vary de la réponse HTTP, sauf spécification contraire pour la
+ directive qui accepte l'expression comme paramètre. La fonction
+ <code>req_novary</code> permet d'empêcher cet ajout.</p>
- <p>En plus des fonctions dont la valeur est une chaîne, il existe
+ <p>En plus des fonctions dont la valeur est une chaîne, il existe
aussi des fonctions dont la valeur est une liste, qui acceptent une
- chaîne comme argument, et renvoient une liste , par exemple
- une liste de chaînes. La liste peut être utilisée avec
- l'opérateur spécial <code>-in</code>. Les noms de fonctions sont
- insensibles à la casse. Les modules peuvent fournir des fonctions
- supplémentaires.</p>
+ chaîne comme argument, et renvoient une liste , par exemple
+ une liste de chaînes. La liste peut être utilisée avec
+ l'opérateur spécial <code>-in</code>. Les noms de fonctions sont
+ insensibles à la casse. Les modules peuvent fournir des fonctions
+ supplémentaires.</p>
<p>Il n'existe pas de fonctions internes dont la valeur est une
liste. Le module <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> fournit la fonction
<code>PeerExtList</code>. Voir la description de la directive
<code class="directive"><a href="./mod/mod_ssl.html#sslrequire">SSLRequire</a></code> pour plus de
- détails (notez que la fonction <code>PeerExtList</code> peut aussi
- être utilisée en dehors de la directive <code class="directive"><a href="./mod/mod_ssl.html#sslrequire">SSLRequire</a></code>).</p>
+ détails (notez que la fonction <code>PeerExtList</code> peut aussi
+ être utilisée en dehors de la directive <code class="directive"><a href="./mod/mod_ssl.html#sslrequire">SSLRequire</a></code>).</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<p>Les exemples suivants montent comment utiliser les
- expressions pour évaluer les requêtes :</p>
+ expressions pour évaluer les requêtes :</p>
- <pre class="prettyprint lang-config"># Comparer le nom d'hôte avec example.com et rediriger vers
-# www.example.com si le nom d'hôte correspond
+ <pre class="prettyprint lang-config"># Comparer le nom d'hôte avec example.com et rediriger vers
+# www.example.com si le nom d'hôte correspond
<If "%{HTTP_HOST} == 'example.com'">
Redirect permanent "/" "http://www.example.com/"
</If>
# Forcer le type text/plain si un fichier fait l'objet d'une
-# requête dont la chaîne de paramètres contient 'forcetext'
+# requête dont la chaîne de paramètres contient 'forcetext'
<If "%{QUERY_STRING} =~ /forcetext/">
ForceType text/plain
</If>
-# N'autoriser l'accès à ce contenu que pendant les heures de
+# N'autoriser l'accès à ce contenu que pendant les heures de
# travail
<Directory "/foo/bar/business">
Require expr %{TIME_HOUR} -gt 9 && %{TIME_HOUR} -lt 17
</Directory>
-# Vérifie si un en-tête HTTP correspond à une des valeurs d'une liste
+# Vérifie si un en-tête HTTP correspond à une des valeurs d'une liste
<If "%{HTTP:X-example-header} in { 'foo', 'bar', 'baz' }">
- La définition de l'en-tête correspond à une des valeurs recherchées
+ La définition de l'en-tête correspond à une des valeurs recherchées
</If>
# Recherche la valeur d'une expression rationnelle dans une variable
-# d'environnement, et renvoie la négation du résultat.
+# d'environnement, et renvoie la négation du résultat.
<If "! reqenv('REDIRECT_FOO') =~ /bar/">
- La condition est vérifiée
+ La condition est vérifiée
</If>
-# Vérifie le résultat de la recherche d'une correspondance d'URI dans un
-# contexte de répertoire avec l'option -f
+# Vérifie le résultat de la recherche d'une correspondance d'URI dans un
+# contexte de répertoire avec l'option -f
<Directory "/var/www">
AddEncoding x-gzip gz
<If "-f '%{REQUEST_FILENAME}.unzipme' && ! %{HTTP:Accept-Encoding} =~ /gzip/">
</If>
</Directory>
-# Vérifie l'adresse IP du client
+# Vérifie l'adresse IP du client
<If "-R '192.168.1.0/24'">
Header set matched true
</If>
-# Exemples de fonctions dans un contexte booléen
+# Exemples de fonctions dans un contexte booléen
<If "md5('foo') == 'acbd18db4cc2f85cedef654fccc4a4d8'">
Header set checksum-matched true
</If>
</If>
-# Exemple de fonction dans un contexte littéral
+# Exemple de fonction dans un contexte littéral
Header set foo-checksum "expr=%{md5:foo}"
-# L'exemple suivant retarde l'évaluation de la clause de condition par rapport à
+# L'exemple suivant retarde l'évaluation de la clause de condition par rapport à
# <If>
Header always set CustomHeader my-value "expr=%{REQUEST_URI} =~
m#^/special_path\.php$#"
-# Ajoute un en-tête permettant d'acheminer le SAN du certificat d'un client vers
-# un quelconque serveur d'arrière-plan
+# Ajoute un en-tête permettant d'acheminer le SAN du certificat d'un client vers
+# un quelconque serveur d'arrière-plan
RequestHeader set X-Client-SAN "expr=%{:join PeerExtList('subjectAltName'):}"
-# Impose la présence de l'adresse IP distante dans le SAN du certificat d'un client
+# Impose la présence de l'adresse IP distante dans le SAN du certificat d'un client
Require expr %{REMOTE_ADDR} -in split s/.*?IP Address:([^,]+)/$1/, PeerExtList('subjectAltName')
# autre solution :
Require expr "IP Address:%{REMOTE_ADDR}" -in split/, /, join PeerExtList('subjectAltName')</pre>
<table class="bordered"><tr class="header"><th>Nom</th><th>Alternative</th> <th>Description</th></tr>
<tr><td><code>-in</code></td>
<td><code>in</code></td>
- <td>chaîne contenue dans une liste</td></tr>
+ <td>chaîne contenue dans une liste</td></tr>
<tr class="odd"><td><code>/regexp/</code></td>
<td><code>m#regexp#</code></td>
- <td>Expression rationnelle (la seconde forme permet de spécifier
- des délimiteurs autres que /)</td></tr>
+ <td>Expression rationnelle (la seconde forme permet de spécifier
+ des délimiteurs autres que /)</td></tr>
<tr><td><code>/regexp/i</code></td>
<td><code>m#regexp#i</code></td>
- <td>Expression rationnelle insensible à la casse</td></tr>
+ <td>Expression rationnelle insensible à la casse</td></tr>
<tr class="odd"><td><code>$0 ... $9</code></td>
<td />
- <td>Références arrières dans les expressions rationnelles</td></tr>
+ <td>Références arrières dans les expressions rationnelles</td></tr>
</table>
- <h3><a name="rebackref" id="rebackref">Références arrières dans les expressions rationnelles</a></h3>
+ <h3><a name="rebackref" id="rebackref">Références arrières dans les expressions rationnelles</a></h3>
- <p>Les chaînes <code>$0</code> ... <code>$9</code> permettent de
- référencer les groupes de capture en provenance d'expressions
- rationnelles précédemment exécutées et mises en correspondance avec
- succès. Elles ne peuvent normalement être utilisées que dans la
- même expression que celle mise en correspondance, mais certains
- modules permettent de les utiliser de manière spéciale.</p>
+ <p>Les chaînes <code>$0</code> ... <code>$9</code> permettent de
+ référencer les groupes de capture en provenance d'expressions
+ rationnelles précédemment exécutées et mises en correspondance avec
+ succès. Elles ne peuvent normalement être utilisées que dans la
+ même expression que celle mise en correspondance, mais certains
+ modules permettent de les utiliser de manière spéciale.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<h2><a name="sslrequire" id="sslrequire">Comparaison avec SSLRequire</a><a title="Lien permanent" href="#sslrequire" class="permalink">¶</a></h2>
<p>La syntaxe <em>ap_expr</em> consiste principalement en une
- surcouche de la syntaxe de la directive obsolète <code class="directive"><a href="./mod/mod_ssl.html#sslrequire">SSLRequire</a></code>. Vous pouvez consulter la
- liste de leur différences dans la documentation de la directive
+ surcouche de la syntaxe de la directive obsolète <code class="directive"><a href="./mod/mod_ssl.html#sslrequire">SSLRequire</a></code>. Vous pouvez consulter la
+ liste de leur différences dans la documentation de la directive
<code class="directive"><a href="./mod/mod_ssl.html#sslrequire">SSLRequire</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="compatibility" id="compatibility">Historique de version</a><a title="Lien permanent" href="#compatibility" class="permalink">¶</a></h2>
<p>La <a href="#functions">fonction</a> <code>req_novary</code> est
- disponible à partir de la version 2.4.4 du serveur HTTP Apache.</p>
+ disponible à partir de la version 2.4.4 du serveur HTTP Apache.</p>
<p>Les <a href="#vars">variables</a>
<code>SERVER_PROTOCOL_VERSION</code>,
<code>SERVER_PROTOCOL_VERSION_MAJOR</code> et
- <code>SERVER_PROTOCOL_VERSION_MINOR</code> sont disponibles à partir
+ <code>SERVER_PROTOCOL_VERSION_MINOR</code> sont disponibles à partir
de la version 2.5.0 du serveur HTTP Apache.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/expr.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/expr.html" title="Français"> fr </a></p>
+<a href="./fr/expr.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Foire aux questions</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/faq/" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/faq/" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/faq/" title="Français"> fr </a> |
+<a href="../es/faq/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/faq/" title="Français"> fr </a> |
<a href="../ko/faq/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/faq/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../tr/faq/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/faq/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
- <p>La FAQ a été transférée vers le <a href="http://wiki.apache.org/httpd/FAQ">Wiki du serveur HTTP</a>.</p>
+ <p>La FAQ a été transférée vers le <a href="http://wiki.apache.org/httpd/FAQ">Wiki du serveur HTTP</a>.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/faq/" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/faq/" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/faq/" title="Français"> fr </a> |
+<a href="../es/faq/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/faq/" title="Français"> fr </a> |
<a href="../ko/faq/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/faq/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../tr/faq/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/faq/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Filtres</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/filter.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/filter.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/filter.html" title="Français"> fr </a> |
+<a href="./es/filter.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/filter.html" title="Français"> fr </a> |
<a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Ce document décrit l'utilisation des filtres avec Apache.</p>
+ <p>Ce document décrit l'utilisation des filtres avec Apache.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#intro">Le filtrage avec Apache 2</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#smart">Filtrage intelligent</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#service">Présentation des filtres en tant que service HTTP</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#service">Présentation des filtres en tant que service HTTP</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#using">Utilisation des filtres</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="intro" id="intro">Le filtrage avec Apache 2</a><a title="Lien permanent" href="#intro" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code></li><li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code></li><li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code></li><li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code></li><li><code class="module"><a href="./mod/mod_reflector.html">mod_reflector</a></code></li><li><code class="module"><a href="./mod/mod_buffer.html">mod_buffer</a></code></li><li><code class="module"><a href="./mod/mod_data.html">mod_data</a></code></li><li><code class="module"><a href="./mod/mod_ratelimit.html">mod_ratelimit</a></code></li><li><code class="module"><a href="./mod/mod_reqtimeout.html">mod_reqtimeout</a></code></li><li><code class="module"><a href="./mod/mod_request.html">mod_request</a></code></li><li><code class="module"><a href="./mod/mod_sed.html">mod_sed</a></code></li><li><code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code></li><li><code class="module"><a href="./mod/mod_xml2enc.html">mod_xml2enc</a></code></li><li><code class="module"><a href="./mod/mod_proxy_html.html">mod_proxy_html</a></code></li><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_filter.html#filterchain">FilterChain</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterdeclare">FilterDeclare</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprotocol">FilterProtocol</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addinputfilter">AddInputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removeinputfilter">RemoveInputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_reflector.html#reflectorheader">ReflectorHeader</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></code></li><li><code class="directive"><a href="./mod/core.html#setinputfilter">SetInputFilter</a></code></li><li><code class="directive"><a href="./mod/core.html#setoutputfilter">SetOutputFilter</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code></li><li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code></li><li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code></li><li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code></li><li><code class="module"><a href="./mod/mod_reflector.html">mod_reflector</a></code></li><li><code class="module"><a href="./mod/mod_buffer.html">mod_buffer</a></code></li><li><code class="module"><a href="./mod/mod_data.html">mod_data</a></code></li><li><code class="module"><a href="./mod/mod_ratelimit.html">mod_ratelimit</a></code></li><li><code class="module"><a href="./mod/mod_reqtimeout.html">mod_reqtimeout</a></code></li><li><code class="module"><a href="./mod/mod_request.html">mod_request</a></code></li><li><code class="module"><a href="./mod/mod_sed.html">mod_sed</a></code></li><li><code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code></li><li><code class="module"><a href="./mod/mod_xml2enc.html">mod_xml2enc</a></code></li><li><code class="module"><a href="./mod/mod_proxy_html.html">mod_proxy_html</a></code></li><li><code class="module"><a href="./mod/mod_policy.html">mod_policy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_filter.html#filterchain">FilterChain</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterdeclare">FilterDeclare</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprotocol">FilterProtocol</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addinputfilter">AddInputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removeinputfilter">RemoveInputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_reflector.html#reflectorheader">ReflectorHeader</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></code></li><li><code class="directive"><a href="./mod/core.html#setinputfilter">SetInputFilter</a></code></li><li><code class="directive"><a href="./mod/core.html#setoutputfilter">SetOutputFilter</a></code></li></ul></td></tr></table>
-<p>La chaîne de filtrage est disponible depuis la version 2.0 d'Apache,
-et permet aux applications de traiter les données en entrée et en sortie
-d'une manière hautement flexible et configurable, quelle que soit la
-provenance de ces données. Il est possible de pré-traiter les données
-en entrée, et post-traiter les données en sortie, selon
+<p>La chaîne de filtrage est disponible depuis la version 2.0 d'Apache,
+et permet aux applications de traiter les données en entrée et en sortie
+d'une manière hautement flexible et configurable, quelle que soit la
+provenance de ces données. Il est possible de pré-traiter les données
+en entrée, et post-traiter les données en sortie, selon
vos souhaits.
-Ces traitements sont tout à fait indépendants des traditionnelles phases
-de traitement des requêtes.</p>
+Ces traitements sont tout à fait indépendants des traditionnelles phases
+de traitement des requêtes.</p>
<p class="figure">
-<img src="images/filter_arch.png" width="569" height="392" alt="les filtres peuvent s'enchaîner, perpendiculairement au traitement des requêtes" />
+<img src="images/filter_arch.png" width="569" height="392" alt="les filtres peuvent s'enchaîner, perpendiculairement au traitement des requêtes" />
</p>
<p>Voici quelques exemples de filtrage avec la distribution standard d'Apache:</p>
<ul>
-<li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code>, implémente les inclusions côté serveur.</li>
-<li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>, implémente le cryptage SSL (https).</li>
-<li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code>, implémente la compression/décompression
-à la volée.</li>
-<li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code>, transcodage entre différents
-jeux de caractères.</li>
+<li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code>, implémente les inclusions côté serveur.</li>
+<li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>, implémente le cryptage SSL (https).</li>
+<li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code>, implémente la compression/décompression
+à la volée.</li>
+<li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code>, transcodage entre différents
+jeux de caractères.</li>
<li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code>, utilisation d'un programme externe
comme filtre.</li>
</ul>
-<p>Apache utilise aussi plusieurs filtres en interne pour accomplir des tâches
-comme le découpage des grosses requêtes (chunking) et la gestion des
-requêtes portant sur une partie d'un fichier (byte-range).</p>
+<p>Apache utilise aussi plusieurs filtres en interne pour accomplir des tâches
+comme le découpage des grosses requêtes (chunking) et la gestion des
+requêtes portant sur une partie d'un fichier (byte-range).</p>
-<p>Un grand choix d'applications sont implémentées par des modules de filtrage
-tiers disponibles à <a href="http://modules.apache.org/">modules.apache.org</a> entre autres.
+<p>Un grand choix d'applications sont implémentées par des modules de filtrage
+tiers disponibles à <a href="http://modules.apache.org/">modules.apache.org</a> entre autres.
En voici quelques exemples :</p>
<ul>
-<li>Traitement et réécriture HTML et XML</li>
+<li>Traitement et réécriture HTML et XML</li>
<li>Transformations XSLT et inclusions XML (XIncludes)</li>
<li>Support de l'espace de nommage XML</li>
-<li>Gestion du chargement de fichier et décodage des formulaires HTML</li>
+<li>Gestion du chargement de fichier et décodage des formulaires HTML</li>
<li>Traitement d'image</li>
-<li>Protection des applications vulnérables comme les scripts PHP</li>
+<li>Protection des applications vulnérables comme les scripts PHP</li>
<li>Edition de texte par Chercher/Remplacer</li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<h2><a name="smart" id="smart">Filtrage intelligent</a><a title="Lien permanent" href="#smart" class="permalink">¶</a></h2>
<p class="figure">
-<img src="images/mod_filter_new.png" width="423" height="331" alt="Le filtrage intelligent applique différents fournisseurs de filtrage en fonction de l'état du traitement de la requête" />
+<img src="images/mod_filter_new.png" width="423" height="331" alt="Le filtrage intelligent applique différents fournisseurs de filtrage en fonction de l'état du traitement de la requête" />
</p>
-<p><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>, inclus dans les version 2.1 et supérieures
-d'Apache, permet de configurer la chaîne de filtrage dynamiquement
-à l'exécution.
-Ainsi par exemple, vous pouvez définir un proxy pour réécrire du code HTML
+<p><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>, inclus dans les version 2.1 et supérieures
+d'Apache, permet de configurer la chaîne de filtrage dynamiquement
+à l'exécution.
+Ainsi par exemple, vous pouvez définir un proxy pour réécrire du code HTML
avec un filtre HTML et traiter des images JPEG avec un filtre totalement
-séparé, bien que le proxy ne possède aucune information préliminaire
-sur ce que le serveur à l'origine des données à filtrer va envoyer.
-Ceci fonctionne grâce à l'utilisation d'un gestionnaire de filtre,
-qui distribue les tâches à différents fournisseurs de filtrage en fonction
-du contenu réel à filtrer à l'exécution. Tout filtre peut se voir soit
-inséré directement dans la chaîne et lancé inconditionnellement, soit
-utilisé comme un fournisseur de filtrage et inséré dynamiquement.
+séparé, bien que le proxy ne possède aucune information préliminaire
+sur ce que le serveur à l'origine des données à filtrer va envoyer.
+Ceci fonctionne grâce à l'utilisation d'un gestionnaire de filtre,
+qui distribue les tâches à différents fournisseurs de filtrage en fonction
+du contenu réel à filtrer à l'exécution. Tout filtre peut se voir soit
+inséré directement dans la chaîne et lancé inconditionnellement, soit
+utilisé comme un fournisseur de filtrage et inséré dynamiquement.
Par exemple,</p>
<ul>
-<li>un filtre de traitement HTML sera lancé uniquement si le contenu est
+<li>un filtre de traitement HTML sera lancé uniquement si le contenu est
de type text/html ou application/xhtml+xml</li>
-<li>Un filtre de compression sera lancé uniquement si les données en entrée
-sont de type compressible et non déjà compressées</li>
-<li>Un filtre de conversion de jeux de caractères ne sera inséré que si
-le document texte n'est pas déjà dans le jeu de caractères voulu</li>
+<li>Un filtre de compression sera lancé uniquement si les données en entrée
+sont de type compressible et non déjà compressées</li>
+<li>Un filtre de conversion de jeux de caractères ne sera inséré que si
+le document texte n'est pas déjà dans le jeu de caractères voulu</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="service" id="service">Présentation des filtres en tant que service HTTP</a><a title="Lien permanent" href="#service" class="permalink">¶</a></h2>
+<h2><a name="service" id="service">Présentation des filtres en tant que service HTTP</a><a title="Lien permanent" href="#service" class="permalink">¶</a></h2>
-<p>Les filtres permettent de traiter les requêtes des clients avant
+<p>Les filtres permettent de traiter les requêtes des clients avant
traitement par le serveur, ainsi que les contenus issus du serveur avant de les renvoyer
au client. Le module <code class="module"><a href="./mod/mod_reflector.html">mod_reflector</a></code> permet aussi
-d'utiliser les filtres pour traiter les requêtes des clients avant de
-les renvoyer directement à ces derniers.</p>
+d'utiliser les filtres pour traiter les requêtes des clients avant de
+les renvoyer directement à ces derniers.</p>
-<p>Le module <code class="module"><a href="./mod/mod_reflector.html">mod_reflector</a></code> reçoit les requêtes POST des
-clients, et en répercute le corps dans la requête POST constituant la
-réponse, lors de l'envoi de cette dernière au client en passant à travers la
+<p>Le module <code class="module"><a href="./mod/mod_reflector.html">mod_reflector</a></code> reçoit les requêtes POST des
+clients, et en répercute le corps dans la requête POST constituant la
+réponse, lors de l'envoi de cette dernière au client en passant à travers la
pile de filtres en sortie.</p>
-<p>Cette technique peut être utilisée comme alternative à un service web
-s'exécutant à l'intérieur de la pile d'un serveur d'applications, où un
+<p>Cette technique peut être utilisée comme alternative à un service web
+s'exécutant à l'intérieur de la pile d'un serveur d'applications, où un
filtre en sortie effectue la transformation requise sur le corps de la
-requête. Par exemple, on peut utiliser le module
-<code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> pour fournir un service général de
+requête. Par exemple, on peut utiliser le module
+<code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> pour fournir un service général de
compression ; un filtre de transformation d'images peut aussi se voir
-mué en service de transformation d'images.</p>
+mué en service de transformation d'images.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="using" id="using">Utilisation des filtres</a><a title="Lien permanent" href="#using" class="permalink">¶</a></h2>
-<p>Il y a deux manières d'utiliser le filtrage : Simple et Dynamique.
-En général, vous utiliserez l'une ou l'autre méthode; le mélange des deux
-peut avoir des conséquences inattendues (bien que le filtrage simple en entrée
-puisse être associé sans problème avec le filtrage simple ou dynamique
+<p>Il y a deux manières d'utiliser le filtrage : Simple et Dynamique.
+En général, vous utiliserez l'une ou l'autre méthode; le mélange des deux
+peut avoir des conséquences inattendues (bien que le filtrage simple en entrée
+puisse être associé sans problème avec le filtrage simple ou dynamique
en sortie).</p>
-<p>La méthode Simple est la seule permettant de configurer les filtres
-en entrée, et suffit pour les filtres en sortie pour lesquels vous avez besoin
-d'une chaîne de filtres statique.
+<p>La méthode Simple est la seule permettant de configurer les filtres
+en entrée, et suffit pour les filtres en sortie pour lesquels vous avez besoin
+d'une chaîne de filtres statique.
Les directives correspondantes sont
<code class="directive"><a href="./mod/core.html#setinputfilter">SetInputFilter</a></code>,
<code class="directive"><a href="./mod/core.html#setoutputfilter">SetOutputFilter</a></code>,
<code class="directive"><a href="./mod/mod_mime.html#removeinputfilter">RemoveInputFilter</a></code>, et
<code class="directive"><a href="./mod/mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></code>.</p>
-<p>La méthode Dynamique permet une configuration dynamique des filtres en
-sortie à la fois statique et flexible, comme discuté dans la page
+<p>La méthode Dynamique permet une configuration dynamique des filtres en
+sortie à la fois statique et flexible, comme discuté dans la page
<code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>.
Les directives correspondantes sont
<code class="directive"><a href="./mod/mod_filter.html#filterchain">FilterChain</a></code>,
<code class="directive"><a href="./mod/mod_filter.html#filterdeclare">FilterDeclare</a></code>, et
<code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code>.</p>
-<p>Une autre directive <code class="directive"><a href="./mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code> est encore supportée,
-mais obsolète. Utilisez la
-configuration dynamique à la place.</p>
+<p>Une autre directive <code class="directive"><a href="./mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code> est encore supportée,
+mais obsolète. Utilisez la
+configuration dynamique à la place.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/filter.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/filter.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/filter.html" title="Français"> fr </a> |
+<a href="./es/filter.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/filter.html" title="Français"> fr </a> |
<a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Pour démarrer - Serveur Apache HTTP Version 2.5</title>
+<title>Pour démarrer - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Pour démarrer</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Pour démarrer</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/getting-started.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/getting-started.html" title="Français"> fr </a></p>
+<a href="./fr/getting-started.html" title="Français"> fr </a></p>
</div>
-<p>Si vous ne connaissez rien au serveur HTTP Apache, ou même au
-fonctionnement d'un site web, vous vous demandez probablement par où
+<p>Si vous ne connaissez rien au serveur HTTP Apache, ou même au
+fonctionnement d'un site web, vous vous demandez probablement par où
commencer et quelles questions poser. Ce document vous permettra de
parcourir les bases du sujet.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#clientserver">Clients, serveurs et URLs</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#dns">Noms d'hôte et DNS</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#dns">Noms d'hôte et DNS</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#configuration">Fichiers de configuration et directives</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#content">Contenu du site web</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#logs">Fichiers journaux et résolution des problèmes</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#other">Et maintenant, quelle est la suite des opérations ?</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#logs">Fichiers journaux et résolution des problèmes</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#other">Et maintenant, quelle est la suite des opérations ?</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<p>
-Les adresses des pages web sur la Toile se présentent sous forme d'URLs
+Les adresses des pages web sur la Toile se présentent sous forme d'URLs
- Uniform Resource Locators - qui comportent un protocole (par
exemple <code>http</code>), un nom de serveur (par exemple
<code>www.apache.org</code>), un chemin (par exemple
- <code>/docs/current/getting-started.html</code>), et le cas échéant
- une chaîne de requête (query string) (par exemple <code>?arg=value</code>)
- permettant de transmettre des informations supplémentaires au serveur.
+ <code>/docs/current/getting-started.html</code>), et le cas échéant
+ une chaîne de requête (query string) (par exemple <code>?arg=value</code>)
+ permettant de transmettre des informations supplémentaires au serveur.
</p>
-<p>Un client (par exemple un navigateur web) se connecte à un serveur
-(par exemple votre serveur HTTP Apache) avec un protocole spécifique, et
-effectue une <strong>requête</strong> pour une ressource en spécifiant
+<p>Un client (par exemple un navigateur web) se connecte à un serveur
+(par exemple votre serveur HTTP Apache) avec un protocole spécifique, et
+effectue une <strong>requête</strong> pour une ressource en spécifiant
son chemin.</p>
-<p>Un chemin peut représenter plusieurs types de ressources sur le
-serveur. Ce peut être un fichier (comme
+<p>Un chemin peut représenter plusieurs types de ressources sur le
+serveur. Ce peut être un fichier (comme
<code>getting-started.html</code>), un gestionnaire (comme <a href="mod/mod_status.html">server-status</a>), ou toute sorte de
-programme (comme <code>index.php</code>). Nous décrirons tout ceci plus
-en détails ci-dessous dans la section <a href="#content">Contenu d'un
+programme (comme <code>index.php</code>). Nous décrirons tout ceci plus
+en détails ci-dessous dans la section <a href="#content">Contenu d'un
site web</a>.</p>
<p>
-Le serveur envoie alors une <strong>réponse</strong> comportant un code
-d'état, et éventuellement un corps de réponse. Le code d'état indique si
-la requête a été traitée avec succès, ou dans la négative quel type
-d'erreur a été rencontré. Le client est alors sensé savoir quoi faire de
-la réponse. Vous pouvez vous familiariser avec les différents codes
-d'état en consultant le <a href="http://wiki.apache.org/httpd/CommonHTTPStatusCodes">Wiki du
+Le serveur envoie alors une <strong>réponse</strong> comportant un code
+d'état, et éventuellement un corps de réponse. Le code d'état indique si
+la requête a été traitée avec succès, ou dans la négative quel type
+d'erreur a été rencontré. Le client est alors sensé savoir quoi faire de
+la réponse. Vous pouvez vous familiariser avec les différents codes
+d'état en consultant le <a href="http://wiki.apache.org/httpd/CommonHTTPStatusCodes">Wiki du
serveur HTTP Apache</a>.</p>
-<p>Les détails de la transaction, ainsi que les erreurs rencontrées,
-sont enregistrés dans des fichiers journaux. Tout ceci est décrit en
-détails ci-dessous dans la section <a href="#logs">Débogage et fichiers
+<p>Les détails de la transaction, ainsi que les erreurs rencontrées,
+sont enregistrés dans des fichiers journaux. Tout ceci est décrit en
+détails ci-dessous dans la section <a href="#logs">Débogage et fichiers
journaux</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="dns" id="dns">Noms d'hôte et DNS</a><a title="Lien permanent" href="#dns" class="permalink">¶</a></h2>
+<h2><a name="dns" id="dns">Noms d'hôte et DNS</a><a title="Lien permanent" href="#dns" class="permalink">¶</a></h2>
-<p>Pour se connecter à un serveur, le client doit tout d'abord résoudre
-le nom du serveur en adresse IP, cette dernière permettant de localiser
+<p>Pour se connecter à un serveur, le client doit tout d'abord résoudre
+le nom du serveur en adresse IP, cette dernière permettant de localiser
le serveur sur Internet. Ainsi, pour que votre serveur web soit
-accessible, son nom doit être enregistré dans le DNS.</p>
+accessible, son nom doit être enregistré dans le DNS.</p>
<p>Si vous ne savez pas comment effectuer cet enregistrement, vous
-devrez contacter votre administrateur réseau ou votre fournisseur
-d'accès à Internet afin qu'il effectue cette opération pour vous.</p>
+devrez contacter votre administrateur réseau ou votre fournisseur
+d'accès à Internet afin qu'il effectue cette opération pour vous.</p>
-<p>Plusieurs noms d'hôte peuvent pointer vers la même adresse IP, et
-plusieurs adresses IP peuvent être attachées au même serveur physique.
-Vous pouvez ainsi héberger plusieurs serveurs web sur le même serveur
-physique grâce au mécanisme des <a href="vhosts/">serveurs virtuels</a>.</p>
+<p>Plusieurs noms d'hôte peuvent pointer vers la même adresse IP, et
+plusieurs adresses IP peuvent être attachées au même serveur physique.
+Vous pouvez ainsi héberger plusieurs serveurs web sur le même serveur
+physique grâce au mécanisme des <a href="vhosts/">serveurs virtuels</a>.</p>
<p>Pour tester un serveur non encore accessible sur Internet, vous
-pouvez renseigner son nom d'hôte dans votre fichier hosts afin
-d'effectuer une résolution de nom locale. Par exemple, pour tester le
+pouvez renseigner son nom d'hôte dans votre fichier hosts afin
+d'effectuer une résolution de nom locale. Par exemple, pour tester le
serveur web <code>www.example.com</code> depuis le serveur physique qui
-l'héberge, vous pouvez ajouter la ligne suivante au fichier hosts de ce
+l'héberge, vous pouvez ajouter la ligne suivante au fichier hosts de ce
dernier : </p>
<div class="example"><p><code>
127.0.0.1 www.example.com
</code></p></div>
-<p>En général, le fichier hosts se trouve dans le répertoire
-<code>/etc</code> sur les systèmes de style Unix, ou
+<p>En général, le fichier hosts se trouve dans le répertoire
+<code>/etc</code> sur les systèmes de style Unix, ou
<code>C:\Windows\system32\drivers\etc</code> sous Windows.</p>
-<p>Vous trouverez plus de détails à propos du fichier hosts à <a href="http://en.wikipedia.org/wiki/Hosts_(file)">Wikipedia.org/wiki/Hosts_(file)</a>,
-et à propos du DNS à <a href="http://en.wikipedia.org/wiki/Domain_Name_System">Wikipedia.org/wiki/Domain_Name_System</a>.</p>
+<p>Vous trouverez plus de détails à propos du fichier hosts à <a href="http://en.wikipedia.org/wiki/Hosts_(file)">Wikipedia.org/wiki/Hosts_(file)</a>,
+et à propos du DNS à <a href="http://en.wikipedia.org/wiki/Domain_Name_System">Wikipedia.org/wiki/Domain_Name_System</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="configuration" id="configuration">Fichiers de configuration et directives</a><a title="Lien permanent" href="#configuration" class="permalink">¶</a></h2>
<p>La configuration du serveur HTTP Apache s'effectue via de simples
fichiers textes. Ces fichiers peuvent se trouver dans de nombreux
-endroits différents en fonction du mode d'installation du serveur. Vous
+endroits différents en fonction du mode d'installation du serveur. Vous
trouverez les positions courantes de ces fichiers dans le <a href="http://wiki.apache.org/httpd/DistrosDefaultLayout">wiki httpd</a>.
-Si vous installez httpd depuis le code source, le répertoire par défaut
+Si vous installez httpd depuis le code source, le répertoire par défaut
des fichiers de configuration est <code>/usr/local/apache2/conf</code>.
-Le nom du fichier de configuration par défaut est en général
+Le nom du fichier de configuration par défaut est en général
<code>httpd.conf</code>, mais peut aussi varier en fonction des
distributions tierces du serveur.</p>
-<p>L'ensemble de la configuration est en général divisé en plusieurs
+<p>L'ensemble de la configuration est en général divisé en plusieurs
fichiers afin d'en faciliter la gestion. Ces fichiers sont inclus dans
le fichier de configuration principal via la directive <code class="directive"><a href="./mod/core.html#include">Include</a></code>. Les noms ou positions de ces fichiers
-ne sont pas figés et peuvent varier considérablement d'une distribution
-à l'autre. N'hésitez pas à les arranger et subdiviser selon
-<strong>vos</strong> goûts et besoins, quitte à en modifier
-l'organisation par défaut.</p>
+ne sont pas figés et peuvent varier considérablement d'une distribution
+à l'autre. N'hésitez pas à les arranger et subdiviser selon
+<strong>vos</strong> goûts et besoins, quitte à en modifier
+l'organisation par défaut.</p>
<p>La configuration du serveur s'effectue via des <a href="mod/quickreference.html">directives de configuration</a> que l'on
-insère dans les fichiers de configuration. Une directive se compose d'un
-mot-clé suivi d'un ou plusieurs arguments qui définissent sa valeur.</p>
+insère dans les fichiers de configuration. Une directive se compose d'un
+mot-clé suivi d'un ou plusieurs arguments qui définissent sa valeur.</p>
-<p>La réponse à la question "<em>Où dois-je placer cette directive
-?</em>" dépend en général du niveau auquel cette directive doit être
-prise en compte. S'il s'agit du niveau global, elle doit être placée
+<p>La réponse à la question "<em>Où dois-je placer cette directive
+?</em>" dépend en général du niveau auquel cette directive doit être
+prise en compte. S'il s'agit du niveau global, elle doit être placée
dans le fichier de configuration principal, et en dehors de toute
section <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="./mod/core.html#location"><Location></a></code>, <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>, ou de toute autre section. Si
-par exemple elle ne doit s'appliquer qu'à un répertoire particulier,
-elle doit être placée dans la section <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> qui fait référence à ce répertoire.
+par exemple elle ne doit s'appliquer qu'à un répertoire particulier,
+elle doit être placée dans la section <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> qui fait référence à ce répertoire.
Voir la documentation sur les <a href="sections.html">Sections de
-configuration</a> pour plus de détails.</p>
-
-<p>En complément des fichiers de configuration principaux, certaines
-directives peuvent être insérées dans des fichiers
-<code>.htaccess</code> que l'on place directement dans le répertoire
-concerné. Les fichiers <code>.htaccess</code> sont essentiellement
-destinés aux personnes qui n'ont pas accès aux fichiers de configuration
-du serveur. Vous trouverez plus de détails à propos des fichiers
+configuration</a> pour plus de détails.</p>
+
+<p>En complément des fichiers de configuration principaux, certaines
+directives peuvent être insérées dans des fichiers
+<code>.htaccess</code> que l'on place directement dans le répertoire
+concerné. Les fichiers <code>.htaccess</code> sont essentiellement
+destinés aux personnes qui n'ont pas accès aux fichiers de configuration
+du serveur. Vous trouverez plus de détails à propos des fichiers
<code>.htaccess</code> dans ce <a href="howto/htaccess.html"><code>.htaccess</code>howto</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<h2><a name="content" id="content">Contenu du site web</a><a title="Lien permanent" href="#content" class="permalink">¶</a></h2>
-<p>Si le contenu du site web peut se présenter sous de nombreuses
-formes, il peut en général être scindé en deux formes principales : les
+<p>Si le contenu du site web peut se présenter sous de nombreuses
+formes, il peut en général être scindé en deux formes principales : les
contenus statiques et les contenus dynamiques.</p>
<p>Les contenus statiques sont par exemple les fichiers HTML, les
-images, les fichiers CSS et tout autre fichier résidant dans le système
-de fichiers. La directive <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> permet de définir la position
-dans l'arborescence du site où vous devez placer ces fichiers. Cette
-directive peut être définie au niveau global, ou au niveau de chaque
+images, les fichiers CSS et tout autre fichier résidant dans le système
+de fichiers. La directive <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> permet de définir la position
+dans l'arborescence du site où vous devez placer ces fichiers. Cette
+directive peut être définie au niveau global, ou au niveau de chaque
serveur virtuel. Vous pouvez consulter vos fichiers de configuration
-pour vérifier la manière dont cette directive est définie pour votre
+pour vérifier la manière dont cette directive est définie pour votre
serveur.</p>
-<p>En général, et si aucun nom de fichier n'est spécifié dans la
-requête, c'est une page de nom <code>index.html</code> qui sera
-renvoyée. Par exemple, si la directive <code>DocumentRoot</code> est
-définie à <code>/var/www/html</code>, et si une requête est effectuée
+<p>En général, et si aucun nom de fichier n'est spécifié dans la
+requête, c'est une page de nom <code>index.html</code> qui sera
+renvoyée. Par exemple, si la directive <code>DocumentRoot</code> est
+définie à <code>/var/www/html</code>, et si une requête est effectuée
pour l'adresse <code>http://www.example.com/work/</code>, c'est le
-fichier <code>/var/www/html/work/index.html</code> qui sera envoyé au
+fichier <code>/var/www/html/work/index.html</code> qui sera envoyé au
client par le serveur.</p>
-<p>Un contenu dynamique est un contenu qui est généré au moment du
-traitement de la requête, et qui peut différer d'une requête à l'autre.
-Ces contenus dynamiques peuvent être générés de nombreuses manières par
-l'intermédiaire de <a href="handler.html">gestionnaires de contenu</a>
-ou "handlers". Il est aussi possible de créer des <a href="howto/cgi.html">programmes CGI</a> pour générer le contenu de
+<p>Un contenu dynamique est un contenu qui est généré au moment du
+traitement de la requête, et qui peut différer d'une requête à l'autre.
+Ces contenus dynamiques peuvent être générés de nombreuses manières par
+l'intermédiaire de <a href="handler.html">gestionnaires de contenu</a>
+ou "handlers". Il est aussi possible de créer des <a href="howto/cgi.html">programmes CGI</a> pour générer le contenu de
votre site.</p>
-<p>Enfin, on peut utiliser des modules tiers comme mod_php pour écrire
+<p>Enfin, on peut utiliser des modules tiers comme mod_php pour écrire
du code permettant d'effectuer de nombreuses choses. De nombreuses
-applications tierces écrites à partir de divers langages ou outils sont
-disponibles en téléchargement et peuvent être installées sur votre
-serveur HTTP Apache. Le support de ces applications dépasse le sujet de
-ce document, et nous vous invitons à consulter le site de leur éditeur
-pour accéder à leur documentation.</p>
+applications tierces écrites à partir de divers langages ou outils sont
+disponibles en téléchargement et peuvent être installées sur votre
+serveur HTTP Apache. Le support de ces applications dépasse le sujet de
+ce document, et nous vous invitons à consulter le site de leur éditeur
+pour accéder à leur documentation.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="logs" id="logs">Fichiers journaux et résolution des problèmes</a><a title="Lien permanent" href="#logs" class="permalink">¶</a></h2>
+<h2><a name="logs" id="logs">Fichiers journaux et résolution des problèmes</a><a title="Lien permanent" href="#logs" class="permalink">¶</a></h2>
<p>En tant qu'administrateur d'un serveur HTTP Apache, vos sources
d'informations principales sont les fichiers journaux, et en particulier
-le journal des erreurs. Toute tentative de résolution d'un problème sans
-consulter le journal des erreurs revient à conduire les yeux fermés.</p>
-
-<p>La position dans le système de fichiers du journal des erreurs est
-spécifiée par la directive <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code>
-qui peut être définie au niveau global, ou au niveau de chaque serveur
-virtuel. Chaque entrée du journal des erreurs vous informe sur la nature
-des problèmes et le moment de leur survenue. En outre, elle vous indique
-souvent comment résoudre le problème. Chaque message d'erreur contient
+le journal des erreurs. Toute tentative de résolution d'un problème sans
+consulter le journal des erreurs revient à conduire les yeux fermés.</p>
+
+<p>La position dans le système de fichiers du journal des erreurs est
+spécifiée par la directive <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code>
+qui peut être définie au niveau global, ou au niveau de chaque serveur
+virtuel. Chaque entrée du journal des erreurs vous informe sur la nature
+des problèmes et le moment de leur survenue. En outre, elle vous indique
+souvent comment résoudre le problème. Chaque message d'erreur contient
un code d'erreur que vous pouvez utiliser pour effectuer une recherche
-en ligne afin d'obtenir une description plus détaillée de la manière de
-résoudre le problème. Vous pouvez aussi configurer votre journal des
-erreurs de manière à ce qu'il enregistre un identifiant d'erreur que
-vous pourrez ensuite utiliser pour effectuer une corrélation avec le
-journal des accès afin de déterminer quelle requête est à l'origine de
+en ligne afin d'obtenir une description plus détaillée de la manière de
+résoudre le problème. Vous pouvez aussi configurer votre journal des
+erreurs de manière à ce qu'il enregistre un identifiant d'erreur que
+vous pourrez ensuite utiliser pour effectuer une corrélation avec le
+journal des accès afin de déterminer quelle requête est à l'origine de
l'erreur.</p>
-<p>Vous trouverez plus de détails à ce sujet dans la <a href="logs.html">Documentation sur la journalisation</a>.</p>
+<p>Vous trouverez plus de détails à ce sujet dans la <a href="logs.html">Documentation sur la journalisation</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="other" id="other">Et maintenant, quelle est la suite des opérations ?</a><a title="Lien permanent" href="#other" class="permalink">¶</a></h2>
+<h2><a name="other" id="other">Et maintenant, quelle est la suite des opérations ?</a><a title="Lien permanent" href="#other" class="permalink">¶</a></h2>
-<p>La question des prérequis étant réglée, il est temps de passer aux
-choses sérieuses.</p>
+<p>La question des prérequis étant réglée, il est temps de passer aux
+choses sérieuses.</p>
-<p>Ce document ne couvre que les notions de base. Nous espérons qu'il
-vous permettra de mettre le pied à l'étrier, mais il y a encore de
+<p>Ce document ne couvre que les notions de base. Nous espérons qu'il
+vous permettra de mettre le pied à l'étrier, mais il y a encore de
nombreuses choses que vous devez savoir.</p>
<ul>
-<li><a href="http://httpd.apache.org/download.cgi">Téléchargement</a></li>
+<li><a href="http://httpd.apache.org/download.cgi">Téléchargement</a></li>
<li><a href="install.html">Installation</a></li>
<li><a href="configuring.html">Configuration</a></li>
-<li><a href="invoking.html">Démarrage du serveur</a></li>
+<li><a href="invoking.html">Démarrage du serveur</a></li>
<li><a href="http://wiki.apache.org/httpd/FAQ">Foire aux questions</a></li>
</ul>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/getting-started.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/getting-started.html" title="Français"> fr </a></p>
+<a href="./fr/getting-started.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./de/glossary.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/glossary.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/glossary.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/glossary.html" title="Français"> fr </a> |
+<a href="./es/glossary.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/glossary.html" title="Français"> fr </a> |
<a href="./ja/glossary.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Ce glossaire définit la terminologie courante relative à Apache en
- particulier, et aux serveurs web en général. Vous trouverez plus
+ <p>Ce glossaire définit la terminologie courante relative à Apache en
+ particulier, et aux serveurs web en général. Vous trouverez plus
d'informations sur chaque concept dans les liens fournis.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="definitions" id="definitions">Définitions</a><a title="Lien permanent" href="#definitions" class="permalink">¶</a></h2>
+<h2><a name="definitions" id="definitions">Définitions</a><a title="Lien permanent" href="#definitions" class="permalink">¶</a></h2>
<dl>
<dt><a name="algorithm" id="algorithm">Algorithme</a></dt>
- <dd>Une formule sans ambiguité ou un jeu de règles destinées à
- résoudre un problème en un nombre fini d'étapes. Les algorithmes de
- chiffrement sont en général appelés
+ <dd>Une formule sans ambiguité ou un jeu de règles destinées à
+ résoudre un problème en un nombre fini d'étapes. Les algorithmes de
+ chiffrement sont en général appelés
<dfn>Ciphers</dfn>.
</dd>
<dt><a name="cipher" id="cipher">Algorithme de chiffrement
(Cipher)</a></dt>
- <dd>Un algorithme ou un système de chiffrement des données.
+ <dd>Un algorithme ou un système de chiffrement des données.
Quelques exemples : DES, IDEA, RC4, etc.<br />
Voir : <a href="ssl/">chiffrement SSL/TLS</a>
</dd>
<dt><a name="apr" id="APR">APR</a></dt>
- <dd>Voir "Bibliothèques pour la portabilité d'Apache"
+ <dd>Voir "Bibliothèques pour la portabilité d'Apache"
</dd>
<dt><a name="tarball" id="tarball">Archive Tar (Tarball)</a></dt>
- <dd>Un paquetage de fichiers rassemblés dans une archive
- à l'aide de l'utilitaire <code>tar</code>.
- Les distributions d'Apache sont stockées dans des Archives Tar compressées
+ <dd>Un paquetage de fichiers rassemblés dans une archive
+ à l'aide de l'utilitaire <code>tar</code>.
+ Les distributions d'Apache sont stockées dans des Archives Tar compressées
ou en utilisant pkzip.
</dd>
<dt><a name="authentication" id="authentication">Authentification </a></dt>
- <dd>L'identification formelle d'une entité du réseau comme un serveur, un
+ <dd>L'identification formelle d'une entité du réseau comme un serveur, un
client, ou un utilisateur.<br />
Voir : <a href="howto/auth.html">Authentification, Autorisation, et
- contrôle d'accès</a>
+ contrôle d'accès</a>
</dd>
- <dt><a name="certificationauthority" id="certificationauthority">Autorité de Certification
+ <dt><a name="certificationauthority" id="certificationauthority">Autorité de Certification
(Certification Authority)</a>
<a name="ca" id="ca">(CA)</a></dt>
- <dd>Un tiers de confiance habilité à signer des certificats pour des entités
- du réseau qu'il a authentifiées selon des critères basés sur la sécurité.
- Les autres entités du réseau peuvent alors utiliser la signature pour
- vérifier qu'une CA a authentifié le porteur du certificat.<br />
+ <dd>Un tiers de confiance habilité à signer des certificats pour des entités
+ du réseau qu'il a authentifiées selon des critères basés sur la sécurité.
+ Les autres entités du réseau peuvent alors utiliser la signature pour
+ vérifier qu'une CA a authentifié le porteur du certificat.<br />
Voir : <a href="ssl/">chiffrement SSL/TLS</a>
</dd>
- <dt><a name="apacheportableruntime" id="apacheportableruntime">Bibliothèques pour la portabilité d'Apache
+ <dt><a name="apacheportableruntime" id="apacheportableruntime">Bibliothèques pour la portabilité d'Apache
(Apache Portable Runtime)</a> <a name="apr" id="apr">(APR)</a></dt>
- <dd>Un jeu de bibliothèques qui fournit la plupart des interfaces de base
- entre le serveur et le système d'exploitation. APR est développé
- parallèlement au serveur HTTP Apache comme projet indépendant.<br />
+ <dd>Un jeu de bibliothèques qui fournit la plupart des interfaces de base
+ entre le serveur et le système d'exploitation. APR est développé
+ parallèlement au serveur HTTP Apache comme projet indépendant.<br />
Voir : <a href="http://apr.apache.org/">Apache Portable Runtime
Project</a>
</dd>
<dt><a name="certificate" id="certificate">Certificat (Certificate)</a></dt>
- <dd>Un ensemble de données servant à authentifier des entités du
- réseau comme un serveur ou un client. Un certificat contient des ensembles
- d'informations X509 à propos de son propriétaire (appelé sujet/subject)
- et de l'<a class="glossarylink" href="./glossary.html#certificationauthority" title="voir glossaire">Autorité de Certification
- (Certification Authority) ou CA</a> signataire (appelée
+ <dd>Un ensemble de données servant à authentifier des entités du
+ réseau comme un serveur ou un client. Un certificat contient des ensembles
+ d'informations X509 à propos de son propriétaire (appelé sujet/subject)
+ et de l'<a class="glossarylink" href="./glossary.html#certificationauthority" title="voir glossaire">Autorité de Certification
+ (Certification Authority) ou CA</a> signataire (appelée
le fournisseur/issuer), ainsi que la
- <a class="glossarylink" href="./glossary.html#publickey" title="voir glossaire">clé publique (public
- key)</a> du propriétaire et la
- signature de la CA. Les entités du réseau vérifient ces signatures
- en utilisant les certificats des Autorités de Certification.<br />
+ <a class="glossarylink" href="./glossary.html#publickey" title="voir glossaire">clé publique (public
+ key)</a> du propriétaire et la
+ signature de la CA. Les entités du réseau vérifient ces signatures
+ en utilisant les certificats des Autorités de Certification.<br />
Voir : <a href="ssl/">chiffrement SSL/TLS</a>
</dd>
- <dt><a name="publickeycryptography" id="publickeycryptography">Chiffrement à Clé Publique
+ <dt><a name="publickeycryptography" id="publickeycryptography">Chiffrement à Clé Publique
(Public Key Cryptography)</a></dt>
- <dd>L'étude et l'application des systèmes de chiffrement asymétriques,
- qui utilisent une clé pour le chiffrement et une autre pour le
- déchiffrement. Les deux clés correspondantes constituent une paire de clés.
- Appelé aussi chiffrement asymétrique.
+ <dd>L'étude et l'application des systèmes de chiffrement asymétriques,
+ qui utilisent une clé pour le chiffrement et une autre pour le
+ déchiffrement. Les deux clés correspondantes constituent une paire de clés.
+ Appelé aussi chiffrement asymétrique.
<br />
Voir : <a href="ssl/">chiffrement SSL/TLS</a>
</dd>
- <dt><a name="privatekey" id="privatekey">Clé Privée (Private Key)</a></dt>
- <dd>La clé secrète dans un système de
- <a class="glossarylink" href="./glossary.html#publickeycryptography" title="voir glossaire">chiffrement à clé publique</a>,
- utilisée pour déchiffrer les messages entrants et signer
+ <dt><a name="privatekey" id="privatekey">Clé Privée (Private Key)</a></dt>
+ <dd>La clé secrète dans un système de
+ <a class="glossarylink" href="./glossary.html#publickeycryptography" title="voir glossaire">chiffrement à clé publique</a>,
+ utilisée pour déchiffrer les messages entrants et signer
les messages sortants.<br />
Voir : <a href="ssl/">chiffrement SSL/TLS</a>
</dd>
-<dt><a name="publickey" id="publickey">Clé Publique (Public Key)</a></dt>
- <dd>La clé accessible au public dans un système de <a class="glossarylink" href="./glossary.html#publickeycryptography" title="voir glossaire">Chiffrement à clé publique</a>,
- utilisée pour chiffrer les messages destinés uniquement à son
- propriétaire et déchiffrer les signatures
- faites par son propriétaire.<br />
+<dt><a name="publickey" id="publickey">Clé Publique (Public Key)</a></dt>
+ <dd>La clé accessible au public dans un système de <a class="glossarylink" href="./glossary.html#publickeycryptography" title="voir glossaire">Chiffrement à clé publique</a>,
+ utilisée pour chiffrer les messages destinés uniquement à son
+ propriétaire et déchiffrer les signatures
+ faites par son propriétaire.<br />
Voir : <a href="ssl/">chiffrement SSL/TLS</a>
</dd>
<dt><a name="connect" id="connect">CONNECT</a></dt>
- <dd>Une <a class="glossarylink" href="./glossary.html#method" title="voir glossaire">méthode</a> HTTP pour encapsuler
- des données brutes dans HTTP. Elle peut aussi être utilisée pour encapsuler
+ <dd>Une <a class="glossarylink" href="./glossary.html#method" title="voir glossaire">méthode</a> HTTP pour encapsuler
+ des données brutes dans HTTP. Elle peut aussi être utilisée pour encapsuler
d'autres protocoles, comme le protocole SSL.
</dd>
<dt><a name="context" id="context">Contexte (Context)</a></dt>
<dd>Une portion des <a class="glossarylink" href="./glossary.html#configurationfile" title="voir glossaire">
fichiers de configuration</a> dans laquelle certains types de
- <a class="glossarylink" href="./glossary.html#directive" title="voir glossaire">directives</a> sont autorisés.<br />
- Voir : <a href="mod/directive-dict.html#Context">Termes utilisés
- pour décrire les directives d'Apache</a>
+ <a class="glossarylink" href="./glossary.html#directive" title="voir glossaire">directives</a> sont autorisés.<br />
+ Voir : <a href="mod/directive-dict.html#Context">Termes utilisés
+ pour décrire les directives d'Apache</a>
</dd>
- <dt><a name="accesscontrol" id="accesscontrol">Contrôle d'accès
+ <dt><a name="accesscontrol" id="accesscontrol">Contrôle d'accès
(Access Control)</a></dt>
- <dd>La restriction d'accès à des zones du réseau. Habituellement
+ <dd>La restriction d'accès à des zones du réseau. Habituellement
dans un contexte Apache,
- la restriction d'accès à certaines <em>URLs</em>.<br />
+ la restriction d'accès à certaines <em>URLs</em>.<br />
Voir : <a href="howto/auth.html">Authentification, Autorisation et
- Contrôle d'accès</a>
+ Contrôle d'accès</a>
</dd>
<dt><a name="securesocketslayer" id="securesocketslayer">
- Couche des Points de connexion Sécurisés
+ Couche des Points de connexion Sécurisés
(Secure Sockets Layer)
</a> <a name="ssl" id="ssl">(SSL)</a></dt>
- <dd>Un protocole créé par Netscape Communications Corporation pour
- l'authentification et le chiffrement généraux des communications dans les
- réseaux TCP/IP. L'utilisation la plus connue est <em>HTTPS</em>, autrement dit
+ <dd>Un protocole créé par Netscape Communications Corporation pour
+ l'authentification et le chiffrement généraux des communications dans les
+ réseaux TCP/IP. L'utilisation la plus connue est <em>HTTPS</em>, autrement dit
le Protocole de Transfert Hypertexte (HTTP) au dessus de SSL.<br />
Voir : <a href="ssl/">chiffrement SSL/TLS</a>
</dd>
- <dt><a name="subrequest" id="subrequest">Sous-requête</a></dt>
- <dd>Apache possède une API des sous-requêtes pour les modules qui
- permettent l'évaluation complète ou partielle par le serveur de
- chemins d'autres systèmes de fichiers ou d'URL. Par exemple, la
+ <dt><a name="subrequest" id="subrequest">Sous-requête</a></dt>
+ <dd>Apache possède une API des sous-requêtes pour les modules qui
+ permettent l'évaluation complète ou partielle par le serveur de
+ chemins d'autres systèmes de fichiers ou d'URL. Par exemple, la
directive <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>,
les modules <code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code> et
<code class="module"><a href="./mod/mod_include.html">mod_include</a></code> utilisent cette API.
</dd>
<dt><a name="symmetriccryptophraphy" id="symmetriccryptophraphy">
- Cryptographie Symétrique (Symmetric Cryptography)</a></dt>
- <dd>L'étude et l'application des <em>Algorithmes de chiffrement</em> qui
- utilisent une clé secrète unique pour les opérations de chiffrement et de
- déchiffrement.<br />
+ Cryptographie Symétrique (Symmetric Cryptography)</a></dt>
+ <dd>L'étude et l'application des <em>Algorithmes de chiffrement</em> qui
+ utilisent une clé secrète unique pour les opérations de chiffrement et de
+ déchiffrement.<br />
Voir : <a href="ssl/">chiffrement SSL/TLS</a>
</dd>
<dt><a name="export-crippled" id="export-crippled">
- Dégradé pour l'exportation
+ Dégradé pour l'exportation
(Export-Crippled)</a></dt>
- <dd>Diminué en terme de puissance cryptographique (et de sécurité)
- afin de respecter les Règles de l'Administration des Exportations
+ <dd>Diminué en terme de puissance cryptographique (et de sécurité)
+ afin de respecter les Règles de l'Administration des Exportations
des Etats-Unis (Export Administration Regulations ou EAR).
- Les logiciels de cryptographie dégradés pour l'exportation sont limités
- à une clé de petite taille, et produisent un
- <em>Texte crypté</em> qui peut en général être décrypté
+ Les logiciels de cryptographie dégradés pour l'exportation sont limités
+ à une clé de petite taille, et produisent un
+ <em>Texte crypté</em> qui peut en général être décrypté
par force brute.<br />
Voir : <a href="ssl/">chiffrement SSL/TLS</a>
</dd>
(Certificate Signing Request)</a>
<a name="csr" id="csr">(CSR)</a></dt>
<dd>La soumission d'un <a class="glossarylink" href="./glossary.html#certificate" title="voir glossaire">certificat</a>
- non signé à une <a class="glossarylink" href="./glossary.html#certificationauthority" title="voir glossaire">Autorité de
- certification</a>, qui le signe avec la <a class="glossarylink" href="./glossary.html#privatekey" title="voir glossaire">Clé privée</a> de leur
- <em>Certificat</em> de CA. Une fois le CSR signé, il devient un vrai
+ non signé à une <a class="glossarylink" href="./glossary.html#certificationauthority" title="voir glossaire">Autorité de
+ certification</a>, qui le signe avec la <a class="glossarylink" href="./glossary.html#privatekey" title="voir glossaire">Clé privée</a> de leur
+ <em>Certificat</em> de CA. Une fois le CSR signé, il devient un vrai
certificat.<br />
Voir : <a href="ssl/">chiffrement SSL/TLS</a>
</dd>
<dt><a name="directive" id="directive">Directive</a></dt>
- <dd>Une commande de configuration qui contrôle un ou plusieurs aspects du
- comportement d'Apache. Les directives sont placées dans le <a class="glossarylink" href="./glossary.html#configurationfile" title="voir glossaire">Fichier de configuration</a><br />
+ <dd>Une commande de configuration qui contrôle un ou plusieurs aspects du
+ comportement d'Apache. Les directives sont placées dans le <a class="glossarylink" href="./glossary.html#configurationfile" title="voir glossaire">Fichier de configuration</a><br />
Voir : <a href="mod/directives.html">Index des directives</a>
</dd>
(Configuration Directive)</a></dt>
<dd>Voir : <a class="glossarylink" href="./glossary.html#directive" title="voir glossaire">Directive</a></dd>
- <dt><a name="header" id="header">En-tête (Header)</a></dt>
- <dd>La partie de la requête et de la réponse
- <a class="glossarylink" href="./glossary.html#http" title="voir glossaire">HTTP</a> qui est envoyée avant le contenu
- proprement dit, et contient des méta-informations décrivant le contenu.
+ <dt><a name="header" id="header">En-tête (Header)</a></dt>
+ <dd>La partie de la requête et de la réponse
+ <a class="glossarylink" href="./glossary.html#http" title="voir glossaire">HTTP</a> qui est envoyée avant le contenu
+ proprement dit, et contient des méta-informations décrivant le contenu.
</dd>
<dt><a name="regularexpression" id="regularexpression">Expression Rationnelle
(Regular Expression)</a>
<a name="regex" id="regex">(Regex)</a></dt>
- <dd>Une méthode pour décrire un modèle sous forme de texte - par exemple,
- "tous les mots qui commencent par la lettre A" ou "tous les numéros de
- téléphone à 10 chiffres" ou encore "Toutes les phrases contenant 2 virgules,
- et aucun Q majuscule". Les expressions rationnelles sont très utiles dans
- Apache car elles vous permettent d'appliquer certains attributs à des
- ensembles de fichiers ou ressources avec une grande flexibilité
- - par exemple, tous les fichiers .gif et .jpg situés dans tout répertoire
- nommé "images", pourraient être enregistrés comme
+ <dd>Une méthode pour décrire un modèle sous forme de texte - par exemple,
+ "tous les mots qui commencent par la lettre A" ou "tous les numéros de
+ téléphone à 10 chiffres" ou encore "Toutes les phrases contenant 2 virgules,
+ et aucun Q majuscule". Les expressions rationnelles sont très utiles dans
+ Apache car elles vous permettent d'appliquer certains attributs à des
+ ensembles de fichiers ou ressources avec une grande flexibilité
+ - par exemple, tous les fichiers .gif et .jpg situés dans tout répertoire
+ nommé "images", pourraient être enregistrés comme
"<code>/images/.*(jpg|gif)$</code>". Lorsque l'on utilise des
- expressions rationnelles pour la substitution de chaînes, les
- variables spéciales $1 ... $9 contiennent des références arrières
- vers les parties regroupées (entre parenthèses) de l'expression
- qui correspond. La variable spéciale $0 contient une référence
- arrière vers l'ensemble de l'expression qui correspond. Pour
- insérer un caractère littéral "dollar" dans la chaîne de
- remplacement, il faut l'échapper avec un anti-slash. Pour des
- raisons historiques, la variable & peut être utilisée en tant
+ expressions rationnelles pour la substitution de chaînes, les
+ variables spéciales $1 ... $9 contiennent des références arrières
+ vers les parties regroupées (entre parenthèses) de l'expression
+ qui correspond. La variable spéciale $0 contient une référence
+ arrière vers l'ensemble de l'expression qui correspond. Pour
+ insérer un caractère littéral "dollar" dans la chaîne de
+ remplacement, il faut l'échapper avec un anti-slash. Pour des
+ raisons historiques, la variable & peut être utilisée en tant
qu'alias de $0 dans certains cas, mais ceci n'est plus possible
depuis la version 2.3.6. Apache utilise les Expressions
Rationnelles Compatibles avec Perl fournies par la librairie <a href="http://www.pcre.org/">PCRE</a>. Vous trouverez plus
- d'information à propos de la syntaxe des expressions rationnelles
+ d'information à propos de la syntaxe des expressions rationnelles
PCRE sur ce site, ou dans le <a href="http://en.wikipedia.org/wiki/PCRE">Wikipedia de la PCRE</a>.
</dd>
(Configuration File)</a></dt>
<dd>Un fichier texte contenant des
<a class="glossarylink" href="./glossary.html#directive" title="voir glossaire">Directives</a>
- qui contrôlent la configuration d'Apache.<br />
+ qui contrôlent la configuration d'Apache.<br />
Voir : <a href="configuring.html">Fichiers de configuration</a>
</dd>
<dt><a name="filter" id="filter">Filtre (Filter)</a></dt>
- <dd>Un traitement appliqué aux données envoyées ou reçues par le serveur.
- Les filtres en entrée traitent les données envoyées au serveur par le
+ <dd>Un traitement appliqué aux données envoyées ou reçues par le serveur.
+ Les filtres en entrée traitent les données envoyées au serveur par le
client, alors que les filtres en sortie traitent les documents sur le
- serveur avant qu'ils soient envoyés au client.
+ serveur avant qu'ils soient envoyés au client.
Par exemple, le filtre en sortie
<code>INCLUDES</code>
traite les documents pour les
- <a class="glossarylink" href="./glossary.html#ssi" title="voir glossaire">Server Side Includes (Inclusions côté Serveur)
+ <a class="glossarylink" href="./glossary.html#ssi" title="voir glossaire">Server Side Includes (Inclusions côté Serveur)
</a>.<br />
Voir : <a href="filter.html">Filtres</a>
</dd>
<dt><a name="handler" id="handler">Gestionnaire (Handler)</a></dt>
- <dd>Une représentation interne à Apache de l'action à entreprendre
- quand un fichier est appelé. En général, les fichiers ont des gestionnaires
- implicites, basés sur le type de fichier. Normalement, tous les
+ <dd>Une représentation interne à Apache de l'action à entreprendre
+ quand un fichier est appelé. En général, les fichiers ont des gestionnaires
+ implicites, basés sur le type de fichier. Normalement, tous les
fichiers sont directement servis par le serveur, mais certains
- types de fichiers sont "gérés" séparément. Par exemple, le gestionnaire
- <code>cgi-script</code> désigne les fichiers qui doivent être traités
+ types de fichiers sont "gérés" séparément. Par exemple, le gestionnaire
+ <code>cgi-script</code> désigne les fichiers qui doivent être traités
comme <a class="glossarylink" href="./glossary.html#cgi" title="voir glossaire">CGIs</a>.<br />
Voir : <a href="handler.html">Utilisation des gestionnaires d'Apache</a>
</dd>
<dt><a name="hash" id="hash">Hachage (Hash)</a></dt>
- <dd>Un algorithme mathématique à sens unique, irréversible, générant une
- chaîne de longueur fixe à partir d'une autre chaîne de longueur quelconque.
- Des chaînes différentes en entrée vont normalement produire des chaînes
- différentes en sortie (selon la fonction de hachage).
+ <dd>Un algorithme mathématique à sens unique, irréversible, générant une
+ chaîne de longueur fixe à partir d'une autre chaîne de longueur quelconque.
+ Des chaînes différentes en entrée vont normalement produire des chaînes
+ différentes en sortie (selon la fonction de hachage).
</dd>
- <dt><a name="virtualhosting" id="virtualhosting">Hébergement Virtuel
+ <dt><a name="virtualhosting" id="virtualhosting">Hébergement Virtuel
(Virtual Hosting)</a></dt>
<dd>Servir des sites web multiples en utilisant une seule instance d'Apache.
- Les <em>Hôtes virtuels basés sur IP</em> différencient les sites web en se
+ Les <em>Hôtes virtuels basés sur IP</em> différencient les sites web en se
basant sur leur adresse IP, alors que les
- <em>Hôtes virtuels basés sur le nom</em> utilisent uniquement le nom d'hôte
- et peuvent en conséquence héberger de nombreux sites avec la même
+ <em>Hôtes virtuels basés sur le nom</em> utilisent uniquement le nom d'hôte
+ et peuvent en conséquence héberger de nombreux sites avec la même
adresse IP.<br />
- Voir la <a href="vhosts/">Documentation des Hôtes Virtuels d'Apache</a>
+ Voir la <a href="vhosts/">Documentation des Hôtes Virtuels d'Apache</a>
</dd>
<dt><a name="htaccess" id="htaccess">.htaccess</a></dt>
<dd>Un <a class="glossarylink" href="./glossary.html#configurationfile" title="voir glossaire">fichier de configuration</a>
- placé à un certain niveau de l'arborescence du site web, et appliquant des
+ placé à un certain niveau de l'arborescence du site web, et appliquant des
<a class="glossarylink" href="./glossary.html#directive" title="voir glossaire">directives</a> de configuration au
- répertoire dans lequel il est placé, ainsi qu'à tous ses sous-répertoires.
- En dépit de son nom, ce fichier peut contenir pratiquement tout type de
- directive, et pas seulement des directives de contrôle d'accès.<br />
+ répertoire dans lequel il est placé, ainsi qu'à tous ses sous-répertoires.
+ En dépit de son nom, ce fichier peut contenir pratiquement tout type de
+ directive, et pas seulement des directives de contrôle d'accès.<br />
Voir : <a href="configuring.html">Fichiers de configuration</a>
</dd>
<dt><a name="httpd.conf" id="httpd.conf">httpd.conf</a></dt>
<dd>Le <a class="glossarylink" href="./glossary.html#configurationfile" title="voir glossaire">fichier de configuration
- </a> principal d'Apache. Sa localisation par défaut est
- <code>/usr/local/apache2/conf/httpd.conf</code>, mais ceci peut être
- changé en utilisant des options de compilation ou d'exécution.<br />
+ </a> principal d'Apache. Sa localisation par défaut est
+ <code>/usr/local/apache2/conf/httpd.conf</code>, mais ceci peut être
+ changé en utilisant des options de compilation ou d'exécution.<br />
Voir : <a href="configuring.html">Fichiers de configuration</a>
</dd>
<dt><a name="https" id="https">HTTPS</a></dt>
- <dd>Le Protocole de Transfert Hypertexte (Sécurisé), le mécanisme de
- communication cryptée standard sur le World Wide Web.
+ <dd>Le Protocole de Transfert Hypertexte (Sécurisé), le mécanisme de
+ communication cryptée standard sur le World Wide Web.
Il s'agit en fait de HTTP au dessus de
<a class="glossarylink" href="./glossary.html#ssl" title="voir glossaire">SSL</a>.<br />
Voir : <a href="ssl/">chiffrement SSL/TLS</a>
</dd>
- <dt><a name="uniformresourceidentifier" id="uniformresourceidentifier">Identificateur de Ressource Uniformisé
+ <dt><a name="uniformresourceidentifier" id="uniformresourceidentifier">Identificateur de Ressource Uniformisé
(Uniform Resource Identifier)</a>
<a name="URI" id="URI">(URI)</a></dt>
- <dd>Une chaîne de caractères compacte servant à identifier une ressource
- abstraite ou physique. Elle est formellement définie par la <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>. Les URIs
- utilisées sur le world-wide web sont souvent appelées <a class="glossarylink" href="./glossary.html#url" title="voir glossaire">URLs</a>.
+ <dd>Une chaîne de caractères compacte servant à identifier une ressource
+ abstraite ou physique. Elle est formellement définie par la <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>. Les URIs
+ utilisées sur le world-wide web sont souvent appelées <a class="glossarylink" href="./glossary.html#url" title="voir glossaire">URLs</a>.
</dd>
<dt><a name="serversideincludes" id="serversideincludes">
- Inclusions Côté Serveur
+ Inclusions Côté Serveur
(Server Side Includes)</a> <a name="ssi" id="ssi">(SSI)
</a></dt>
<dd>Une technique permettant d'englober des directives de traitement dans
des fichiers HTML.<br />
- Voir : <a href="howto/ssi.html">Introduction aux Inclusions Côté Serveur</a>
+ Voir : <a href="howto/ssi.html">Introduction aux Inclusions Côté Serveur</a>
</dd>
<dt><a name="servernameindication" id="servernameindication">Indication du nom du serveur</a> <a name="sni" id="sni">(SNI)</a></dt>
- <dd>Une fonctionnalité SSL permettant de spécifier le
- nom du serveur désiré dans le message initial de la
- négociation SSL, de façon à ce que le serveur web
- puisse choisir la bonne configuration de serveur virtuel à
- utiliser pendant le déroulement de la négociation SSL.
- Cette fonctionnalité a été ajoutée
- à SSL lorsque sont apparues les extensions TLS, RFC 3546.<br />
+ <dd>Une fonctionnalité SSL permettant de spécifier le
+ nom du serveur désiré dans le message initial de la
+ négociation SSL, de façon à ce que le serveur web
+ puisse choisir la bonne configuration de serveur virtuel à
+ utiliser pendant le déroulement de la négociation SSL.
+ Cette fonctionnalité a été ajoutée
+ à SSL lorsque sont apparues les extensions TLS, RFC 3546.<br />
Voir <a href="ssl/ssl_faq.html">la FAQ SSL</a>
et <a href="http://www.ietf.org/rfc/rfc3546.txt">la RFC 3546</a>
</dd>
Interface commune avec les programmes externes
(Common Gateway Interface)</a>
<a name="cgi" id="cgi">(CGI)</a></dt>
- <dd>La définition standard d'une interface entre un serveur web et un
- programme externe pour permettre à ce dernier de traiter des requêtes.
+ <dd>La définition standard d'une interface entre un serveur web et un
+ programme externe pour permettre à ce dernier de traiter des requêtes.
Il existe une <a href="http://www.ietf.org/rfc/rfc3875">RFC
- informationnelle</a> qui en couvre les spécificités.<br />
+ informationnelle</a> qui en couvre les spécificités.<br />
Voir : <a href="howto/cgi.html">Contenu dynamique avec CGI</a>
</dd>
<dt><a name="uniformresourcelocator" id="uniformresourcelocator">
-Localisation de Ressource Uniformisée
+Localisation de Ressource Uniformisée
(Uniform Resource Locator)
</a> <a name="url" id="url">(URL)</a></dt>
<dd>Le nom/adresse d'une ressource sur l'Internet. Il s'agit du terme
- informel commun pour ce qui est formellement défini comme <a class="glossarylink" href="./glossary.html#uniformresourceidentifier" title="voir glossaire">
- Identificateur de Ressource Uniformisé</a>.
- Les URLs sont généralement construites selon un schéma, comme
+ informel commun pour ce qui est formellement défini comme <a class="glossarylink" href="./glossary.html#uniformresourceidentifier" title="voir glossaire">
+ Identificateur de Ressource Uniformisé</a>.
+ Les URLs sont généralement construites selon un schéma, comme
<code>http</code> ou
- <code>https</code>, un nom d'hôte, et un chemin. Une URL pour cette page
- pourrait être
+ <code>https</code>, un nom d'hôte, et un chemin. Une URL pour cette page
+ pourrait être
<code>http://httpd.apache.org/docs/trunk/glossary.html</code>.
</dd>
<dt><a name="proxy" id="proxy">Mandataire (Proxy)</a></dt>
- <dd>Un serveur intermédiaire qui se situe entre le client et le
+ <dd>Un serveur intermédiaire qui se situe entre le client et le
<em>serveur d'origine</em>.
- Il prend en compte les requêtes des clients, les transmet au serveur
- d'origine, puis renvoie la réponse du serveur d'origine au client.
- Si plusieurs clients demandent le même contenu, le mandataire peut l'extraire
- de son cache, plutôt que le demander au serveur d'origine
- à chaque fois, ce qui réduit le temps de réponse.<br />
+ Il prend en compte les requêtes des clients, les transmet au serveur
+ d'origine, puis renvoie la réponse du serveur d'origine au client.
+ Si plusieurs clients demandent le même contenu, le mandataire peut l'extraire
+ de son cache, plutôt que le demander au serveur d'origine
+ à chaque fois, ce qui réduit le temps de réponse.<br />
Voir : <a href="mod/mod_proxy.html">mod_proxy</a>
</dd>
<dt><a name="reverseproxy" id="reverseproxy">Mandataire inverse
(Reverse Proxy)</a></dt>
<dd>Un serveur <a class="glossarylink" href="./glossary.html#proxy" title="voir glossaire">mandataire</a> qui est vu du client
- comme un <em>serveur d'origine</em>. Ceci peut s'avérer utile pour
- dissimuler le serveur d'origine réel au client pour des raisons de sécurité,
- ou pour répartir la charge.
+ comme un <em>serveur d'origine</em>. Ceci peut s'avérer utile pour
+ dissimuler le serveur d'origine réel au client pour des raisons de sécurité,
+ ou pour répartir la charge.
</dd>
- <dt><a name="method" id="method">Méthode (Method)</a></dt>
- <dd>Dans le contexte <a class="glossarylink" href="./glossary.html#http" title="voir glossaire">HTTP</a>, une action à
- effectuer sur une ressource spécifiée dans la ligne de requête
- par le client. Parmi les méthodes disponibles dans HTTP, on trouve
+ <dt><a name="method" id="method">Méthode (Method)</a></dt>
+ <dd>Dans le contexte <a class="glossarylink" href="./glossary.html#http" title="voir glossaire">HTTP</a>, une action à
+ effectuer sur une ressource spécifiée dans la ligne de requête
+ par le client. Parmi les méthodes disponibles dans HTTP, on trouve
<code>GET</code>, <code>POST</code>,
et <code>PUT</code>.
</dd>
<dt><a name="module" id="module">Module</a></dt>
- <dd>Une partie indépendante d'un programme. De nombreuses fonctionnalités
+ <dd>Une partie indépendante d'un programme. De nombreuses fonctionnalités
d'Apache sont fournies par des modules que vous pouvez choisir d'inclure
- ou d'exclure. Les modules qui sont compilés dans le binaire
- <code class="program"><a href="./programs/httpd.html">httpd</a></code> sont appelés <dfn>modules statiques</dfn>, alors
- que les modules qui existent séparément et peuvent être chargés
- optionnellement à l'exécution sont appelés
+ ou d'exclure. Les modules qui sont compilés dans le binaire
+ <code class="program"><a href="./programs/httpd.html">httpd</a></code> sont appelés <dfn>modules statiques</dfn>, alors
+ que les modules qui existent séparément et peuvent être chargés
+ optionnellement à l'exécution sont appelés
<dfn>modules dynamiques</dfn> ou <a class="glossarylink" href="./glossary.html#dso" title="voir glossaire">DSOs</a>.
- Les modules qui sont inclus par défaut sont appelés
+ Les modules qui sont inclus par défaut sont appelés
<dfn>modules de base</dfn>. De nombreux modules disponibles pour Apache
ne se trouvent pas dans l'<a class="glossarylink" href="./glossary.html#tarball" title="voir glossaire">archive</a>
- du Serveur HTTP Apache . Il sont appelés
+ du Serveur HTTP Apache . Il sont appelés
<dfn>modules tiers</dfn>.<br />
Voir : <a href="mod/">Index des modules</a>
</dd>
<dt><a name="passphrase" id="passphrase">Mot de Passe (Pass Phrase)</a></dt>
- <dd>Le mot ou la phrase qui protège les fichiers de clés privées.
- Il empêche les utilisateurs non autorisés de les déchiffrer. En général,
- il s'agit simplement de la clé secrète de chiffrement/déchiffrement
- utilisée pour les <a class="glossarylink" href="./glossary.html#cipher" title="voir glossaire">Algorithmes de chiffrement</a>.<br />
+ <dd>Le mot ou la phrase qui protège les fichiers de clés privées.
+ Il empêche les utilisateurs non autorisés de les déchiffrer. En général,
+ il s'agit simplement de la clé secrète de chiffrement/déchiffrement
+ utilisée pour les <a class="glossarylink" href="./glossary.html#cipher" title="voir glossaire">Algorithmes de chiffrement</a>.<br />
Voir : <a href="ssl/">chiffrement SSL/TLS</a>
</dd>
- <dt><a name="fully-qualifieddomain-name" id="fully-qualifieddomain-name">Nom de domaine entièrement qualifié
+ <dt><a name="fully-qualifieddomain-name" id="fully-qualifieddomain-name">Nom de domaine entièrement qualifié
(Fully-Qualified Domain-Name)</a>
<a name="fqdn" id="fqdn">(FQDN)</a></dt>
- <dd>Le nom unique d'une entité du réseau, comprenant un nom d'hôte et un
- nom de domaine qui peuvent être résolus en une adresse IP. Par exemple,
- <code>www</code> est un nom d'hôte, <code>example.com</code> est un nom
+ <dd>Le nom unique d'une entité du réseau, comprenant un nom d'hôte et un
+ nom de domaine qui peuvent être résolus en une adresse IP. Par exemple,
+ <code>www</code> est un nom d'hôte, <code>example.com</code> est un nom
de domaine, et <code>www.example.com</code> est un nom de domaine
- entièrement qualifié.
+ entièrement qualifié.
</dd>
<dt><a name="modulemagicnumber" id="modulemagicnumber">
Nombre Magique des Modules
(Module Magic Number)</a>
(<a name="mmn" id="mmn">MMN</a>)</dt>
- <dd>Le Nombre Magique des Modules est une constante définie dans le code
- source d'Apache et associée à la compatibilité binaire des modules.
- Sa valeur est modifiée quand des structures internes d'Apache, des appels
- de fonctions et d'autres parties significatives de l'API sont modifiées
- de telle façon que la compatibilité binaire ne peut plus être garantie.
- En cas de changement de MMN, tous les modules tiers doivent être au
- moins recompilés, et parfois même légèrement modifiés afin de pouvoir
+ <dd>Le Nombre Magique des Modules est une constante définie dans le code
+ source d'Apache et associée à la compatibilité binaire des modules.
+ Sa valeur est modifiée quand des structures internes d'Apache, des appels
+ de fonctions et d'autres parties significatives de l'API sont modifiées
+ de telle façon que la compatibilité binaire ne peut plus être garantie.
+ En cas de changement de MMN, tous les modules tiers doivent être au
+ moins recompilés, et parfois même légèrement modifiés afin de pouvoir
fonctionner avec la nouvelle version d'Apache.
</dd>
<dt><a name="dynamicsharedobject" id="dynamicsharedobject">
- Objet Dynamique Partagé (Dynamic Shared Object)
+ Objet Dynamique Partagé (Dynamic Shared Object)
</a> <a name="dso" id="dso">(DSO)</a></dt>
- <dd><a class="glossarylink" href="./glossary.html#module" title="voir glossaire">Modules</a> compilés en dehors du binaire
- Apache <code class="program"><a href="./programs/httpd.html">httpd</a></code> et qui peuvent être
- chargés à la demande.<br />
- Voir : <a href="dso.html">Support des objets dynamiques partagés</a>
+ <dd><a class="glossarylink" href="./glossary.html#module" title="voir glossaire">Modules</a> compilés en dehors du binaire
+ Apache <code class="program"><a href="./programs/httpd.html">httpd</a></code> et qui peuvent être
+ chargés à la demande.<br />
+ Voir : <a href="dso.html">Support des objets dynamiques partagés</a>
</dd>
<dt><a name="openssl" id="openssl">OpenSSL</a></dt>
Outil de gestion des extensions Apache
(APache eXtension Tool)</a>
<a name="apxs" id="apxs">(apxs)</a></dt>
- <dd>Un script Perl qui aide à la compilation des sources de <a class="glossarylink" href="./glossary.html#module" title="voir glossaire">module</a> sous forme d'Objets Dynamiques Partagés
+ <dd>Un script Perl qui aide à la compilation des sources de <a class="glossarylink" href="./glossary.html#module" title="voir glossaire">module</a> sous forme d'Objets Dynamiques Partagés
(Dynamic Shared Objects ou
<a class="glossarylink" href="./glossary.html#dso" title="voir glossaire">DSO</a>s) et facilite leur installation
dans le serveur Web Apache.<br />
</dd>
<dt><a name="plaintext" id="plaintext">Plein Texte (Plaintext)</a></dt>
- <dd>Le texte non chiffré.</dd>
+ <dd>Le texte non chiffré.</dd>
<dt><a name="hypertexttransferprotocol" id="hypertexttransferprotocol">Protocole de Transfert Hypertexte
(HyperText Transfer Protocol)</a>
<a name="http" id="hhtp">(HTTP)</a></dt>
- <dd>Le protocole de transmission standard utilisé sur le World Wide Web.
- Apache implémente la version 1.1 du protocole, référencée comme HTTP/1.1 et
- définie par la
+ <dd>Le protocole de transmission standard utilisé sur le World Wide Web.
+ Apache implémente la version 1.1 du protocole, référencée comme HTTP/1.1 et
+ définie par la
<a href="http://ietf.org/rfc/rfc2616.txt">RFC 2616</a>.
</dd>
- <dt><a name="messagedigest" id="messagedigest">Résumé de message
+ <dt><a name="messagedigest" id="messagedigest">Résumé de message
(Message Digest)</a></dt>
- <dd>Un hachage du message, qui peut être utilisé pour vérifier
- que son contenu n'a pas été altéré durant le transfert.<br />
+ <dd>Un hachage du message, qui peut être utilisé pour vérifier
+ que son contenu n'a pas été altéré durant le transfert.<br />
Voir : <a href="ssl/">chiffrement SSL/TLS</a>
</dd>
<dt><a name="transportlayersecurity" id="transportlayersecurity">
- Sécurité de la couche Transport
+ Sécurité de la couche Transport
(Transport Layer Security)
</a> <a name="tls" id="tls">(TLS)</a></dt>
- <dd>Le protocole successeur de SSL, créé par l'Internet Engineering Task
- Force (IETF) pour l'authentification et le chiffrement généraux des
- communications dans les réseaux TCP/IP. TLS version 1 est pratiquement
- identique à SSL version 3.<br />
+ <dd>Le protocole successeur de SSL, créé par l'Internet Engineering Task
+ Force (IETF) pour l'authentification et le chiffrement généraux des
+ communications dans les réseaux TCP/IP. TLS version 1 est pratiquement
+ identique à SSL version 3.<br />
Voir : <a href="ssl/">chiffrement SSL/TLS</a>
</dd>
<dt><a name="session" id="session">Session</a></dt>
- <dd>Les informations sur le contexte d'une communication en général.</dd>
+ <dd>Les informations sur le contexte d'une communication en général.</dd>
- <dt><a name="digitalsignature" id="digitalsignature">Signature numérique
+ <dt><a name="digitalsignature" id="digitalsignature">Signature numérique
(Digital Signature)</a></dt>
- <dd>Un bloc de texte crypté qui valide un certificat ou un autre fichier.
- Une <a class="glossarylink" href="./glossary.html#certificationauthority" title="voir glossaire">Autorité de certification</a>
- crée une signature en générant une empreinte de la <em>Clé publique</em>
+ <dd>Un bloc de texte crypté qui valide un certificat ou un autre fichier.
+ Une <a class="glossarylink" href="./glossary.html#certificationauthority" title="voir glossaire">Autorité de certification</a>
+ crée une signature en générant une empreinte de la <em>Clé publique</em>
fournie avec le <em>Certificat</em>; la CA chiffre ensuite l'empreinte
- avec sa propre <em>Clé privée</em>. Seule la clé publique de la CA
- peut décrypter la signature, ce qui permet de vérifier que la CA a bien
- authentifié l'entité du réseau qui possède le
+ avec sa propre <em>Clé privée</em>. Seule la clé publique de la CA
+ peut décrypter la signature, ce qui permet de vérifier que la CA a bien
+ authentifié l'entité du réseau qui possède le
<em>Certificat</em>.<br />
Voir : <a href="ssl/">chiffrement SSL/TLS</a>
</dd>
<dt><a name="ssleay" id="ssleay">SSLeay</a></dt>
- <dd>La bibliothèque originelle d'implémentation de SSL/TLS développée par
+ <dd>La bibliothèque originelle d'implémentation de SSL/TLS développée par
Eric A. Young
</dd>
-<dt><a name="ciphertext" id="ciphertext">Texte crypté
+<dt><a name="ciphertext" id="ciphertext">Texte crypté
(Ciphertext)</a></dt>
- <dd>Le résultat du passage d'un document
+ <dd>Le résultat du passage d'un document
<a class="glossarylink" href="./glossary.html#plaintext" title="voir glossaire">Plaintext</a> (Plein texte) par un
<a class="glossarylink" href="./glossary.html#cipher" title="voir glossaire">Cipher</a>.<br />
Voir : <a href="ssl/">chiffrement SSL/TLS</a>
</dd>
<dt><a name="mime-type" id="mime-type">Type MIME (MIME-type)</a></dt>
- <dd>Une méthode pour décrire le type de document transmis. Son nom
+ <dd>Une méthode pour décrire le type de document transmis. Son nom
vient du fait que son format est issu des Multipurpose
Internet Mail Extensions (Extensions Multi-usages de la
Messagerie par Internet) . Il comprend un type majeur et un type
- mineur, séparés par un slash (barre oblique). On trouve
+ mineur, séparés par un slash (barre oblique). On trouve
entre autres types <code>text/html</code>,
<code>image/gif</code>, et <code>application/octet-stream</code>. Dans
HTTP, le type MIME est transmis dans l'
- <a class="glossarylink" href="./glossary.html#header" title="voir glossaire">en-tête</a> <code>Content-Type</code>.<br />
+ <a class="glossarylink" href="./glossary.html#header" title="voir glossaire">en-tête</a> <code>Content-Type</code>.<br />
Voir : <a href="mod/mod_mime.html">mod_mime</a>
</dd>
<dt><a name="environmentvariable" id="environmentvariable">
Variable d'environnement
(Environment Variable)</a> <a name="env-variable" id="env-variable">(env-variable)</a></dt>
- <dd>Ce sont des variables nommées gérées par le shell du système
- d'exploitation, et servant au stockage d'informations et à la
- communication entre les programmes. Apache possède aussi des variables
- internes considérées comme variables d'environnement, mais stockées dans
- des structures internes à Apache, et non dans l'environnement
+ <dd>Ce sont des variables nommées gérées par le shell du système
+ d'exploitation, et servant au stockage d'informations et à la
+ communication entre les programmes. Apache possède aussi des variables
+ internes considérées comme variables d'environnement, mais stockées dans
+ des structures internes à Apache, et non dans l'environnement
du shell.<br />
Voir : <a href="env.html">Les variables d'environnement dans Apache</a>
</dd>
<dt><a name="x.509" id="x.509">X.509</a></dt>
- <dd>Une norme de certificat d'authentification recommandée par l'International
- Telecommunication Union (ITU-T) et utilisée pour
+ <dd>Une norme de certificat d'authentification recommandée par l'International
+ Telecommunication Union (ITU-T) et utilisée pour
l'authentification SSL/TLS.<br /> Voir : <a href="ssl/">chiffrement SSL/TLS</a>
</dd>
</dl>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./de/glossary.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/glossary.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/glossary.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/glossary.html" title="Français"> fr </a> |
+<a href="./es/glossary.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/glossary.html" title="Français"> fr </a> |
<a href="./ja/glossary.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/glossary.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/glossary.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Utilisation des gestionnaires d'Apache (handlers)</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/handler.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/handler.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/handler.html" title="Français"> fr </a> |
+<a href="./es/handler.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/handler.html" title="Français"> fr </a> |
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
- <p>Ce document décrit l'utilisation des gestionnaires d'Apache (handlers).</p>
+ <p>Ce document décrit l'utilisation des gestionnaires d'Apache (handlers).</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#definition">Qu'est-ce qu'un gestionnaire ?</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#examples">Exemples</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#programmer">Note du développeur</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#programmer">Note du développeur</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="definition" id="definition">Qu'est-ce qu'un gestionnaire ?</a><a title="Lien permanent" href="#definition" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code></li><li><code class="module"><a href="./mod/mod_asis.html">mod_asis</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></li><li><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></li><li><code class="module"><a href="./mod/mod_mime.html">mod_mime</a></code></li><li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code></li><li><code class="module"><a href="./mod/mod_status.html">mod_status</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_actions.html#action">Action</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removehandler">RemoveHandler</a></code></li><li><code class="directive"><a href="./mod/core.html#sethandler">SetHandler</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code></li><li><code class="module"><a href="./mod/mod_asis.html">mod_asis</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></li><li><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></li><li><code class="module"><a href="./mod/mod_mime.html">mod_mime</a></code></li><li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code></li><li><code class="module"><a href="./mod/mod_status.html">mod_status</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_actions.html#action">Action</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removehandler">RemoveHandler</a></code></li><li><code class="directive"><a href="./mod/core.html#sethandler">SetHandler</a></code></li></ul></td></tr></table>
- <p>Un "gestionnaire" est une représentation interne à Apache de l'action
- qui doit être entreprise quand un fichier est appelé. En général, les
- fichiers ont des gestionnaires implicites, basés sur le type du fichier.
- Normalement, tous les fichiers sont traités simplement par le serveur,
- mais certains types de fichiers sont "gérés" séparément.</p>
+ <p>Un "gestionnaire" est une représentation interne à Apache de l'action
+ qui doit être entreprise quand un fichier est appelé. En général, les
+ fichiers ont des gestionnaires implicites, basés sur le type du fichier.
+ Normalement, tous les fichiers sont traités simplement par le serveur,
+ mais certains types de fichiers sont "gérés" séparément.</p>
- <p>Les gestionnaires peuvent aussi être configurés explicitement,
+ <p>Les gestionnaires peuvent aussi être configurés explicitement,
soit en fonction des extensions des noms de fichier, soit en fonction
du chemin du fichier,
- sans faire référence au type de fichier. Ceci a le double avantage d'être
- une solution plus élégante, et aussi d'autoriser à associer à la fois
+ sans faire référence au type de fichier. Ceci a le double avantage d'être
+ une solution plus élégante, et aussi d'autoriser à associer à la fois
un type <strong>et</strong> un gestionnaire avec un fichier. (Voir aussi <a href="mod/mod_mime.html#multipleext">Fichiers avec extensions
multiples</a>.)</p>
- <p>Les gestionnaires peuvent être soit partie intégrante
- du serveur ou inclus dans un module, soit ajoutés à l'aide de la directive
+ <p>Les gestionnaires peuvent être soit partie intégrante
+ du serveur ou inclus dans un module, soit ajoutés à l'aide de la directive
<code class="directive"><a href="./mod/mod_actions.html#action">Action</a></code>. Les gestionnaires
- intégrés dans la distribution standard se présentent comme suit :</p>
+ intégrés dans la distribution standard se présentent comme suit :</p>
<ul>
<li><strong>default-handler</strong>: envoie le fichier en utilisant
- le <code>default_handler()</code>, qui est le gestionnaire utilisé par
- défaut pour traiter les contenus statiques. (core)</li>
+ le <code>default_handler()</code>, qui est le gestionnaire utilisé par
+ défaut pour traiter les contenus statiques. (core)</li>
- <li><strong>send-as-is</strong>: envoie les fichiers avec en-têtes HTTP
+ <li><strong>send-as-is</strong>: envoie les fichiers avec en-têtes HTTP
tels quels. (<code class="module"><a href="./mod/mod_asis.html">mod_asis</a></code>)</li>
<li><strong>cgi-script</strong>: traite le fichier comme un
script CGI. (<code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code>)</li>
<li><strong>imap-file</strong>: Traite le fichier comme un ensemble
- de règles de descriptions d'images (imagemap).
+ de règles de descriptions d'images (imagemap).
(<code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code>)</li>
<li><strong>server-info</strong>: Extrait des informations sur la
configuration du serveur. (<code class="module"><a href="./mod/mod_info.html">mod_info</a></code>)</li>
- <li><strong>server-status</strong>: Rédige un rapport sur le statut
+ <li><strong>server-status</strong>: Rédige un rapport sur le statut
du serveur. (<code class="module"><a href="./mod/mod_status.html">mod_status</a></code>)</li>
<li><strong>type-map</strong>: Traite le fichier comme une description
- de type pour la négociation du contenu.
+ de type pour la négociation du contenu.
(<code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>)</li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<h2><a name="examples" id="examples">Exemples</a><a title="Lien permanent" href="#examples" class="permalink">¶</a></h2>
- <h3><a name="example1" id="example1">Modification d'un contenu statique à l'aide d'un script CGI</a></h3>
+ <h3><a name="example1" id="example1">Modification d'un contenu statique à l'aide d'un script CGI</a></h3>
- <p>Les directives suivantes vont faire en sorte que les requêtes pour
- des fichiers possédant une extension <code>html</code> déclenchent
- l'exécution du script CGI <code>footer.pl</code>.</p>
+ <p>Les directives suivantes vont faire en sorte que les requêtes pour
+ des fichiers possédant une extension <code>html</code> déclenchent
+ l'exécution du script CGI <code>footer.pl</code>.</p>
<pre class="prettyprint lang-config">Action add-footer /cgi-bin/footer.pl
AddHandler add-footer .html</pre>
- <p>À ce moment-là, le script CGI se charge d'envoyer le document
- initialement demandé (référencé par la variable d'environnement
+ <p>À ce moment-là, le script CGI se charge d'envoyer le document
+ initialement demandé (référencé par la variable d'environnement
<code>PATH_TRANSLATED</code>) et d'effectuer tous ajout ou modification
voulus.</p>
- <h3><a name="example2" id="example2">Fichiers avec en-têtes HTTP</a></h3>
+ <h3><a name="example2" id="example2">Fichiers avec en-têtes HTTP</a></h3>
<p>Les directives suivantes vont activer le gestionnaire
- <code>send-as-is</code>, qui est utilisé pour les fichiers qui possèdent
- leurs propres en-têtes HTTP. Tous les fichiers situés dans le répertoire
- <code>/web/htdocs/asis/</code> seront traités par le gestionnaire
+ <code>send-as-is</code>, qui est utilisé pour les fichiers qui possèdent
+ leurs propres en-têtes HTTP. Tous les fichiers situés dans le répertoire
+ <code>/web/htdocs/asis/</code> seront traités par le gestionnaire
<code>send-as-is</code>, sans tenir compte de l'extension
de leur nom de fichier.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="programmer" id="programmer">Note du développeur</a><a title="Lien permanent" href="#programmer" class="permalink">¶</a></h2>
+<h2><a name="programmer" id="programmer">Note du développeur</a><a title="Lien permanent" href="#programmer" class="permalink">¶</a></h2>
- <p>Pour implémenter la fonctionnalité des gestionnaires, l'
+ <p>Pour implémenter la fonctionnalité des gestionnaires, l'
<a href="developer/API.html">API Apache</a> a fait l'objet d'un ajout
- que vous pourriez être amené à utiliser.
+ que vous pourriez être amené à utiliser.
- Plus précisément, un nouvel enregistrement a été ajouté à la structure
+ Plus précisément, un nouvel enregistrement a été ajouté à la structure
<code>request_rec</code> :</p>
<pre class="prettyprint lang-c">char *handler</pre>
- <p>Si vous voulez que votre module déclenche l'utilisation d'un
- gestionnaire, il vous suffit de définir <code>r->handler</code> avec
- le nom du gestionnaire à n'importe quel moment avant l'étape
+ <p>Si vous voulez que votre module déclenche l'utilisation d'un
+ gestionnaire, il vous suffit de définir <code>r->handler</code> avec
+ le nom du gestionnaire à n'importe quel moment avant l'étape
<code>invoke_handler</code>
- de la requête. Les gestionnaires sont implémentés comme auparavant,
- quoique l'on utilise le nom du gestionnaire à la place d'un type
+ de la requête. Les gestionnaires sont implémentés comme auparavant,
+ quoique l'on utilise le nom du gestionnaire à la place d'un type
de contenu. Bien que ce ne soit pas obligatoire, la convention de nommage
- des gestionnaires stipule l'utilisation d'un mot composé séparé par des
- tirets, sans slashes, afin de ne pas interférer avec l'espace de nommage
- des types de média.</p>
+ des gestionnaires stipule l'utilisation d'un mot composé séparé par des
+ tirets, sans slashes, afin de ne pas interférer avec l'espace de nommage
+ des types de média.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/handler.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/handler.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/handler.html" title="Français"> fr </a> |
+<a href="./es/handler.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/handler.html" title="Français"> fr </a> |
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="./tr/handler.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="./zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Contrôle d'accès - Serveur Apache HTTP Version 2.5</title>
+<title>Contrôle d'accès - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">How-To / Tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Contrôle d'accès</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">How-To / Tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Contrôle d'accès</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/howto/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/access.html" title="Français"> fr </a></p>
+<a href="../es/howto/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/access.html" title="Français"> fr </a></p>
</div>
- <p>Le contrôle d'accès fait référence à tout concept de contrôle
- d'accès à une ressource quelconque. Il est distinct du processus d'<a href="auth.html">authentification et d'autorisation</a>.</p>
+ <p>Le contrôle d'accès fait référence à tout concept de contrôle
+ d'accès à une ressource quelconque. Il est distinct du processus d'<a href="auth.html">authentification et d'autorisation</a>.</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Modules et directives concernés</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#host">Contrôle d'accès en fonction de l'hôte du
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Modules et directives concernés</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#host">Contrôle d'accès en fonction de l'hôte du
client</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#env">Contrôle d'accès en fonction de variables
+<li><img alt="" src="../images/down.gif" /> <a href="#env">Contrôle d'accès en fonction de variables
arbitraires</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#rewrite">Utilisation de mod_rewrite pour le contrôle
-d'accès</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#moreinformation">Informations complémentaires</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewrite">Utilisation de mod_rewrite pour le contrôle
+d'accès</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#moreinformation">Informations complémentaires</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="related" id="related">Modules et directives concernés</a><a title="Lien permanent" href="#related" class="permalink">¶</a></h2>
+<h2><a name="related" id="related">Modules et directives concernés</a><a title="Lien permanent" href="#related" class="permalink">¶</a></h2>
- <p>Plusieurs modules peuvent intervenir dans le contrôle d'accès.
+ <p>Plusieurs modules peuvent intervenir dans le contrôle d'accès.
Les plus importants sont <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> et
- <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>. Ce document également aussi comment
- utiliser <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour le contrôle
- d'accès.</p>
+ <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>. Ce document également aussi comment
+ utiliser <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour le contrôle
+ d'accès.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="host" id="host">Contrôle d'accès en fonction de l'hôte du
+<h2><a name="host" id="host">Contrôle d'accès en fonction de l'hôte du
client</a><a title="Lien permanent" href="#host" class="permalink">¶</a></h2>
<p>
- Si vous souhaitez restreindre l'accès à certaines parties de votre
- site web en fonction de l'adresse de l'hôte de vos visiteurs, le
- plus simple pour y parvenir consiste à utiliser le module
+ Si vous souhaitez restreindre l'accès à certaines parties de votre
+ site web en fonction de l'adresse de l'hôte de vos visiteurs, le
+ plus simple pour y parvenir consiste à utiliser le module
<code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>.
</p>
<p>La directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> permet d'accorder ou
- d'interdire l'accès à certaines ressources de différentes manières.
- Ces critères d'accès, en conjonction avec les directives <code class="directive"><a href="../mod/mod_authz_core.html#requireall">RequireAll</a></code>, <code class="directive"><a href="../mod/mod_authz_core.html#requireany">RequireAny</a></code>, et <code class="directive"><a href="../mod/mod_authz_core.html#requirenone">RequireNone</a></code>, peuvent être
- combinés d'une manière suffisamment complexe pour
- satisfaire votre politique de contrôle d'accès.</p>
+ d'interdire l'accès à certaines ressources de différentes manières.
+ Ces critères d'accès, en conjonction avec les directives <code class="directive"><a href="../mod/mod_authz_core.html#requireall">RequireAll</a></code>, <code class="directive"><a href="../mod/mod_authz_core.html#requireany">RequireAny</a></code>, et <code class="directive"><a href="../mod/mod_authz_core.html#requirenone">RequireNone</a></code>, peuvent être
+ combinés d'une manière suffisamment complexe pour
+ satisfaire votre politique de contrôle d'accès.</p>
<div class="warning"><p>
Les directives <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code>, et <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code> fournies par le module
- <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> sont obsolètes, et sont appelées à
- disparaître dans les versions futures. Il est donc déconseillé de
+ <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> sont obsolètes, et sont appelées à
+ disparaître dans les versions futures. Il est donc déconseillé de
les utiliser, et de se fier aux tutoriels qui recommandent leur
utilisation.
</p></div>
</pre>
- <p>Dans la première forme, <var>nom-hôte</var> est un nom de domaine
- pleinement qualifié (fqdn), ou un nom de domaine partiel ; vous
- pouvez spécifier plusieurs noms de domaines, si vous le désirez.</p>
+ <p>Dans la première forme, <var>nom-hôte</var> est un nom de domaine
+ pleinement qualifié (fqdn), ou un nom de domaine partiel ; vous
+ pouvez spécifier plusieurs noms de domaines, si vous le désirez.</p>
<p>Dans la seconde forme, <var>adresse-ip</var> est une adresse IP
- complète, une adresse IP partielle, une paire réseau/masque de
- sous-réseau ou une spécification CIDR de la forme réseau/nnn. Il est
- possible de spécifier des adresses IPv4 ou IPv6.</p>
+ complète, une adresse IP partielle, une paire réseau/masque de
+ sous-réseau ou une spécification CIDR de la forme réseau/nnn. Il est
+ possible de spécifier des adresses IPv4 ou IPv6.</p>
<p>Voir <a href="../mod/mod_authz_host.html#requiredirectives">la
documentation de mod_authz_host</a> pour d'autres exemples de cette
syntaxe.</p>
- <p>Vous pouvez insérer le mot-clé <code>not</code> pour inverser un
- critère particulier. Notez que le mot <code>not</code> réalise la
- négation sur la valeur, et ne peut pas être utilisé seul pour autoriser
- ou interdire une requête, car <em>non vrai</em> ne
- veut pas ici forcément dire <em>faux</em>. Ainsi, pour interdire la
- visite d'une page à l'aide d'une négation, le bloc doit contenir un
- élément, qui sera évalué à l'une des valeurs vrai ou faux.
+ <p>Vous pouvez insérer le mot-clé <code>not</code> pour inverser un
+ critère particulier. Notez que le mot <code>not</code> réalise la
+ négation sur la valeur, et ne peut pas être utilisé seul pour autoriser
+ ou interdire une requête, car <em>non vrai</em> ne
+ veut pas ici forcément dire <em>faux</em>. Ainsi, pour interdire la
+ visite d'une page à l'aide d'une négation, le bloc doit contenir un
+ élément, qui sera évalué à l'une des valeurs vrai ou faux.
Par exemple, si quelqu'un est en train de
spamer votre forum, vous pouvez ajouter cette ligne pour lui refuser
- l'accès :</p>
+ l'accès :</p>
<pre class="prettyprint lang-config"><RequireAll>
Require all granted
</RequireAll></pre>
- <p>Les visiteurs possédant cette adresse (<code>10.252.46.165</code>) ne pourront pas voir le
- contenu concerné par cette directive. Si vous voulez interdir
- l'accès à une machine en fonction de son nom, vous pouvez ajouter
+ <p>Les visiteurs possédant cette adresse (<code>10.252.46.165</code>) ne pourront pas voir le
+ contenu concerné par cette directive. Si vous voulez interdir
+ l'accès à une machine en fonction de son nom, vous pouvez ajouter
ceci :</p>
<pre class="prettyprint lang-config">Require not host <var>host.example.com</var></pre>
- <p>Et si vous voulez interdire l'accès à un domaine particulier,
- vous pouvez spécifier des adresses IP partielles ou des noms de
+ <p>Et si vous voulez interdire l'accès à un domaine particulier,
+ vous pouvez spécifier des adresses IP partielles ou des noms de
domaine, comme ceci :</p>
<pre class="prettyprint lang-config">Require not ip 192.168.205
Require not host gov</pre>
- <p>Les directives <code class="directive"><a href="../mod/mod_authz_core.html#requireall">RequireAll</a></code>, <code class="directive"><a href="../mod/mod_authz_core.html#requireany">RequireAny</a></code>, et <code class="directive"><a href="../mod/mod_authz_core.html#requirenone">RequireNone</a></code> ouvrent le champ à des
- critères d'accès plus complexes.</p>
+ <p>Les directives <code class="directive"><a href="../mod/mod_authz_core.html#requireall">RequireAll</a></code>, <code class="directive"><a href="../mod/mod_authz_core.html#requireany">RequireAny</a></code>, et <code class="directive"><a href="../mod/mod_authz_core.html#requirenone">RequireNone</a></code> ouvrent le champ à des
+ critères d'accès plus complexes.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="env" id="env">Contrôle d'accès en fonction de variables
+<h2><a name="env" id="env">Contrôle d'accès en fonction de variables
arbitraires</a><a title="Lien permanent" href="#env" class="permalink">¶</a></h2>
- <p>Vous pouvez accorder ou refuser l'accès en fonction de variables
- d'environnement arbitraires ou de valeurs d'en-têtes de la requête
- en utilisant la directive <code class="directive"><a href="../mod/core.html#if"><If></a></code>. Par exemple, pour interdire l'accès en
+ <p>Vous pouvez accorder ou refuser l'accès en fonction de variables
+ d'environnement arbitraires ou de valeurs d'en-têtes de la requête
+ en utilisant la directive <code class="directive"><a href="../mod/core.html#if"><If></a></code>. Par exemple, pour interdire l'accès en
fonction du user-agent (le type de navigateur), vous pouvez
- spécifier ceci :</p>
+ spécifier ceci :</p>
<pre class="prettyprint lang-config"><If "%{HTTP_USER_AGENT} == 'BadBot'">
Require all denied
<p>En utilisant la syntaxe <code>expr</code> de la directive
<code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>, l'exemple
- précédent peut aussi s'écrire :</p>
+ précédent peut aussi s'écrire :</p>
<pre class="prettyprint lang-config">Require expr %{HTTP_USER_AGENT} != 'BadBot'</pre>
<div class="note"><h3>Avertissement :</h3>
- <p>Contrôler l'accès en fonction de l'en-tête
+ <p>Contrôler l'accès en fonction de l'en-tête
<code>User-Agent</code> n'est pas une technique fiable, car cet
- en-tête peut être défini à une valeur quelconque, selon le bon
+ en-tête peut être défini à une valeur quelconque, selon le bon
vouloir de l'utilisateur.</p>
</div>
- <p>Voir le document à propos des <a href="../expr.html">expressions</a> pour une description plus
+ <p>Voir le document à propos des <a href="../expr.html">expressions</a> pour une description plus
approfondie des syntaxes d'expressions et des variables disponibles.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="rewrite" id="rewrite">Utilisation de mod_rewrite pour le contrôle
-d'accès</a><a title="Lien permanent" href="#rewrite" class="permalink">¶</a></h2>
+<h2><a name="rewrite" id="rewrite">Utilisation de mod_rewrite pour le contrôle
+d'accès</a><a title="Lien permanent" href="#rewrite" class="permalink">¶</a></h2>
<p>Le drapeau <code>[F]</code> de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> permet d'envoyer une
- réponse de type 403 Forbidden. Il vous permet donc d'interdire
- l'accès à une ressource en fonction d'un critère arbitraire.</p>
+ réponse de type 403 Forbidden. Il vous permet donc d'interdire
+ l'accès à une ressource en fonction d'un critère arbitraire.</p>
- <p>Par exemple, pour bloquer l'accès à une ressources entre 20h et
+ <p>Par exemple, pour bloquer l'accès à une ressources entre 20h et
7h du matin, vous pouvez utiliser <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> :</p>
<pre class="prettyprint lang-config">RewriteEngine On
RewriteRule "^/fridge" "-" [F]</pre>
- <p>Toute requête arrivant après 20h ou avant 7h du matin provoquera
- l'envoi d'une réponse de type 403 Forbidden. Vous pouvez utiliser
- cette technique pour vérifier toutes sortes de critères. En outre,
- si vous le préférez, vous pouvez rediriger ou réécrire la requête.</p>
+ <p>Toute requête arrivant après 20h ou avant 7h du matin provoquera
+ l'envoi d'une réponse de type 403 Forbidden. Vous pouvez utiliser
+ cette technique pour vérifier toutes sortes de critères. En outre,
+ si vous le préférez, vous pouvez rediriger ou réécrire la requête.</p>
- <p>Notez que la directive <code class="directive"><a href="../mod/core.html#if"><If></a></code>, ajoutée à partir de la version 2.4,
+ <p>Notez que la directive <code class="directive"><a href="../mod/core.html#if"><If></a></code>, ajoutée à partir de la version 2.4,
permet de remplacer le module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> dans de
- nombreuses situations où il était traditionnellement utilisé, et
- il sera probablement préférable pour vous de tenter de l'utiliser
+ nombreuses situations où il était traditionnellement utilisé, et
+ il sera probablement préférable pour vous de tenter de l'utiliser
avant de vous tourner vers mod_rewrite.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="moreinformation" id="moreinformation">Informations complémentaires</a><a title="Lien permanent" href="#moreinformation" class="permalink">¶</a></h2>
+<h2><a name="moreinformation" id="moreinformation">Informations complémentaires</a><a title="Lien permanent" href="#moreinformation" class="permalink">¶</a></h2>
<p>Le <a href="../expr.html">moteur d'expressions</a> vous fournit
une grande puissance d'action en fonction de variables du serveur
- arbitraires, et il vous est conseillé de consulter le document
- correspondant pour plus de détails.</p>
+ arbitraires, et il vous est conseillé de consulter le document
+ correspondant pour plus de détails.</p>
- <p>De même, vous devez lire la documentation du module
+ <p>De même, vous devez lire la documentation du module
<code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> pour des exemples de combinaison de
- critères d'accès multiples, et en particulier la manière dont ces
+ critères d'accès multiples, et en particulier la manière dont ces
derniers interagissent.</p>
<p>Voir aussi le How-To <a href="auth.html">Authentification and
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/howto/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/access.html" title="Français"> fr </a></p>
+<a href="../es/howto/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/access.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Recettes / Tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Authentification et autorisation</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/auth.html" title="Français"> fr </a> |
+<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/auth.html" title="Français"> fr </a> |
<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/howto/auth.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/howto/auth.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>L'authentification est un processus qui vous permet de vérifier
- qu'une personne est bien celle qu'elle prétend être. L'autorisation
- est un processus qui permet à une personne d'aller là où elle veut
- aller, ou d'obtenir les informations qu'elle désire.</p>
+ <p>L'authentification est un processus qui vous permet de vérifier
+ qu'une personne est bien celle qu'elle prétend être. L'autorisation
+ est un processus qui permet à une personne d'aller là où elle veut
+ aller, ou d'obtenir les informations qu'elle désire.</p>
- <p>Pour le contrôle d'accès en général, voir le How-To <a href="access.html">Contrôle d'accès</a>.</p>
+ <p>Pour le contrôle d'accès en général, voir le How-To <a href="access.html">Contrôle d'accès</a>.</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Modules et directives concernés</a></li>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Modules et directives concernés</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introduction</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#theprerequisites">Les prérequis</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#theprerequisites">Les prérequis</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#gettingitworking">Mise en oeuvre</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#lettingmorethanonepersonin">Autorisation d'accès à
+<li><img alt="" src="../images/down.gif" /> <a href="#lettingmorethanonepersonin">Autorisation d'accès à
plusieurs personnes</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#possibleproblems">Problèmes possibles</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#dbmdbd">Autre méthode de stockage des mots de
+<li><img alt="" src="../images/down.gif" /> <a href="#possibleproblems">Problèmes possibles</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#dbmdbd">Autre méthode de stockage des mots de
passe</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#multprovider">Utilisation de plusieurs fournisseurs
d'authentification</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="related" id="related">Modules et directives concernés</a><a title="Lien permanent" href="#related" class="permalink">¶</a></h2>
+<h2><a name="related" id="related">Modules et directives concernés</a><a title="Lien permanent" href="#related" class="permalink">¶</a></h2>
-<p>Trois groupes de modules sont concernés par le processus
+<p>Trois groupes de modules sont concernés par le processus
d'authentification et d'autorisation. Vous devrez utiliser au moins un
module de chaque groupe.</p>
</ul>
<p>On peut aussi ajouter <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> et
- <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code>. Ces modules implémentent des
- directives générales qui opèrent au dessus de tous les modules
+ <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code>. Ces modules implémentent des
+ directives générales qui opèrent au dessus de tous les modules
d'authentification.</p>
<p>Le module <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> est un fournisseur
d'authentification et d'autorisation. Le module
<code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> fournit une autorisation et un
- contrôle d'accès basés sur le nom du serveur, l'adresse IP ou
- certaines caractéristiques de la requête, mais ne fait pas partie du
- système fournisseur d'authentification. Le module
- <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> a été créé à des fins de
- compatibilité ascendante avec mod_access.</p>
+ contrôle d'accès basés sur le nom du serveur, l'adresse IP ou
+ certaines caractéristiques de la requête, mais ne fait pas partie du
+ système fournisseur d'authentification. Le module
+ <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> a été créé à des fins de
+ compatibilité ascendante avec mod_access.</p>
- <p>Vous devriez aussi jeter un coup d'oeil au manuel de recettes de <a href="access.html">Contrôle d'accès</a>, qui décrit les différentes
- méthodes de contrôle d'accès à votre serveur.</p>
+ <p>Vous devriez aussi jeter un coup d'oeil au manuel de recettes de <a href="access.html">Contrôle d'accès</a>, qui décrit les différentes
+ méthodes de contrôle d'accès à votre serveur.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="introduction" id="introduction">Introduction</a><a title="Lien permanent" href="#introduction" class="permalink">¶</a></h2>
<p>Si votre site web contient des informations sensibles ou
- destinées seulement à un groupe de personnes restreint, les
- techniques exposées dans cet article vont vous aider à vous assurer
- que les personnes qui ont accès à ces pages sont bien celles
- auxquelles vous avez donné l'autorisation d'accès.</p>
+ destinées seulement à un groupe de personnes restreint, les
+ techniques exposées dans cet article vont vous aider à vous assurer
+ que les personnes qui ont accès à ces pages sont bien celles
+ auxquelles vous avez donné l'autorisation d'accès.</p>
- <p>Cet article décrit les méthodes "standards" de protection de
- parties de votre site web que la plupart d'entre vous sont appelés à
+ <p>Cet article décrit les méthodes "standards" de protection de
+ parties de votre site web que la plupart d'entre vous sont appelés à
utiliser.</p>
<div class="note"><h3>Note :</h3>
- <p>Si vos données ont un réel besoin de sécurisation, prévoyez
- l'utilisation de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> en plus de toute méthode
+ <p>Si vos données ont un réel besoin de sécurisation, prévoyez
+ l'utilisation de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> en plus de toute méthode
d'authentification.</p>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="theprerequisites" id="theprerequisites">Les prérequis</a><a title="Lien permanent" href="#theprerequisites" class="permalink">¶</a></h2>
- <p>Les directives décrites dans cet article devront être insérées
+<h2><a name="theprerequisites" id="theprerequisites">Les prérequis</a><a title="Lien permanent" href="#theprerequisites" class="permalink">¶</a></h2>
+ <p>Les directives décrites dans cet article devront être insérées
soit au niveau de la configuration de votre serveur principal (en
- général dans une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>), soit au niveau de la
- configuration des répertoires (fichiers <code>.htaccess</code>)</p>
+ général dans une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>), soit au niveau de la
+ configuration des répertoires (fichiers <code>.htaccess</code>)</p>
<p>Si vous envisagez l'utilisation de fichiers
<code>.htaccess</code>, la configuration de votre serveur devra
permettre l'ajout de directives d'authentification dans ces
- fichiers. Pour ce faire, on utilise la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>, qui spécifie quelles
- directives pourront éventuellement contenir les fichiers de
- configuration de niveau répertoire.</p>
+ fichiers. Pour ce faire, on utilise la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>, qui spécifie quelles
+ directives pourront éventuellement contenir les fichiers de
+ configuration de niveau répertoire.</p>
<p>Comme il est ici question d'authentification, vous aurez besoin
d'une directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>
<p>Si vous avez l'intention d'ajouter les directives directement
dans le fichier de configuration principal, vous devrez bien entendu
- posséder les droits en écriture sur ce fichier.</p>
+ posséder les droits en écriture sur ce fichier.</p>
- <p>Vous devrez aussi connaître un tant soit peu la structure des
- répertoires de votre serveur, ne serait-ce que pour savoir où se
- trouvent certains fichiers. Cela ne devrait pas présenter de grandes
- difficultés, et nous essaierons de clarifier tout ça lorsque le besoin
+ <p>Vous devrez aussi connaître un tant soit peu la structure des
+ répertoires de votre serveur, ne serait-ce que pour savoir où se
+ trouvent certains fichiers. Cela ne devrait pas présenter de grandes
+ difficultés, et nous essaierons de clarifier tout ça lorsque le besoin
s'en fera sentir.</p>
<p>Enfin, vous devrez vous assurer que les modules
<code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> et <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code>
- ont été soit compilés avec le binaire httpd, soit chargés par le
+ ont été soit compilés avec le binaire httpd, soit chargés par le
fichier de configuration httpd.conf. Ces deux modules fournissent
- des directives générales et des fonctionnalités qui sont critiques
- quant à la configuration et l'utilisation de l'authentification et
+ des directives générales et des fonctionnalités qui sont critiques
+ quant à la configuration et l'utilisation de l'authentification et
de l'autorisation au sein du serveur 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="gettingitworking" id="gettingitworking">Mise en oeuvre</a><a title="Lien permanent" href="#gettingitworking" class="permalink">¶</a></h2>
- <p>Nous décrivons ici les bases de la protection par mot de passe
- d'un répertoire de votre serveur.</p>
+ <p>Nous décrivons ici les bases de la protection par mot de passe
+ d'un répertoire de votre serveur.</p>
- <p>Vous devez en premier lieu créer un fichier de mots de passe. La
- méthode exacte selon laquelle vous allez créer ce fichier va varier
+ <p>Vous devez en premier lieu créer un fichier de mots de passe. La
+ méthode exacte selon laquelle vous allez créer ce fichier va varier
en fonction du fournisseur d'authentification choisi. Mais nous
- entrerons dans les détails plus loin, et pour le moment, nous nous
+ entrerons dans les détails plus loin, et pour le moment, nous nous
contenterons d'un fichier de mots de passe en mode texte.</p>
- <p>Ce fichier doit être enregistré à un endroit non accessible
- depuis le web, de façon à ce que les clients ne puissent pas le
- télécharger. Par exemple, si vos documents sont servis à partir de
+ <p>Ce fichier doit être enregistré à un endroit non accessible
+ depuis le web, de façon à ce que les clients ne puissent pas le
+ télécharger. Par exemple, si vos documents sont servis à partir de
<code>/usr/local/apache/htdocs</code>, vous pouvez enregistrer le
fichier des mots de passe dans
<code>/usr/local/apache/passwd</code>.</p>
<p>L'utilitaire <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> fourni avec Apache
- permet de créer ce fichier. Vous le trouverez dans le répertoire
+ permet de créer ce fichier. Vous le trouverez dans le répertoire
<code>bin</code> de votre installation d'Apache. Si vous avez
- installé Apache à partir d'un paquetage tiers, il sera probablement
- dans le chemin par défaut de vos exécutables.</p>
+ installé Apache à partir d'un paquetage tiers, il sera probablement
+ dans le chemin par défaut de vos exécutables.</p>
- <p>Pour créer le fichier, tapez :</p>
+ <p>Pour créer le fichier, tapez :</p>
<div class="example"><p><code>
htpasswd -c /usr/local/apache/passwd/passwords rbowen
</code></p></div>
<p>Si <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> n'est pas dans le chemin par
- défaut de vos exécutables, vous devrez bien entendu entrer le chemin
- complet du fichier. Dans le cas d'une installation par défaut, il se
- trouve à <code>/usr/local/apache2/bin/htpasswd</code>.</p>
+ défaut de vos exécutables, vous devrez bien entendu entrer le chemin
+ complet du fichier. Dans le cas d'une installation par défaut, il se
+ trouve à <code>/usr/local/apache2/bin/htpasswd</code>.</p>
- <p>Ensuite, vous allez devoir configurer le serveur de façon à ce
- qu'il demande un mot de passe et lui préciser quels utilisateurs ont
- l'autorisation d'accès. Pour ce faire, vous pouvez soit éditer le
+ <p>Ensuite, vous allez devoir configurer le serveur de façon à ce
+ qu'il demande un mot de passe et lui préciser quels utilisateurs ont
+ l'autorisation d'accès. Pour ce faire, vous pouvez soit éditer le
fichier <code>httpd.conf</code>, soit utiliser un fichier
- <code>.htaccess</code>. Par exemple, si vous voulez protéger le
- répertoire <code>/usr/local/apache/htdocs/secret</code>, vous pouvez
+ <code>.htaccess</code>. Par exemple, si vous voulez protéger le
+ répertoire <code>/usr/local/apache/htdocs/secret</code>, vous pouvez
utiliser les directives suivantes, soit dans le fichier
<code>/usr/local/apache/htdocs/secret/.htaccess</code>, soit dans le
- fichier <code>httpd.conf</code> à l'intérieur d'une section <Directory
+ fichier <code>httpd.conf</code> à l'intérieur d'une section <Directory
"/usr/local/apache/htdocs/secret"> :</p>
<pre class="prettyprint lang-config">AuthType Basic
Require user rbowen</pre>
- <p>Examinons ces directives une à une. La directive <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> définit la méthode
- utilisée pour authentifier l'utilisateur. La méthode la plus
- courante est <code>Basic</code>, et elle est implémentée par
- <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>. Il faut cependant garder à l'esprit
+ <p>Examinons ces directives une à une. La directive <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> définit la méthode
+ utilisée pour authentifier l'utilisateur. La méthode la plus
+ courante est <code>Basic</code>, et elle est implémentée par
+ <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>. Il faut cependant garder à l'esprit
que l'authentification Basic transmet le mot de passe depuis le
- client vers le serveur en clair. Cette méthode ne devra donc pas
- être utilisée pour la transmission de données hautement sensibles si
- elle n'est pas associée au module <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. Apache
- supporte une autre méthode d'authentification : <code>AuthType
- Digest</code>. Cette méthode est implémentée
- par le module <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> et a été conçue pour
- améliorer la sécurité. Ce but n'a cependant pas été atteint et il est préférable
+ client vers le serveur en clair. Cette méthode ne devra donc pas
+ être utilisée pour la transmission de données hautement sensibles si
+ elle n'est pas associée au module <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. Apache
+ supporte une autre méthode d'authentification : <code>AuthType
+ Digest</code>. Cette méthode est implémentée
+ par le module <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> et a été conçue pour
+ améliorer la sécurité. Ce but n'a cependant pas été atteint et il est préférable
de chiffrer la connexion avec <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>.</p>
- <p>La directive <code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code> définit
- l'<dfn>Identificateur</dfn> (Realm) à utiliser avec
- l'authentification. L'identificateur possède deux fonctions. Tout
- d'abord, le client présente en général cette information à
- l'utilisateur dans le cadre de la boîte de dialogue de mot de passe.
- Ensuite, le client l'utilise pour déterminer quel mot de passe
- envoyer pour une zone authentifiée donnée.</p>
-
- <p>Ainsi par exemple, une fois un client authentifié dans la zone
- <code>"Fichiers réservés"</code>, il soumettra à nouveau
- automatiquement le même mot de passe pour toute zone du même serveur
- marquée de l'identificateur <code>"Fichiers réservés"</code>. De
- cette façon, vous pouvez éviter à un utilisateur d'avoir à saisir
- plusieurs fois le même mot de passe en faisant partager le même
- identificateur entre plusieurs zones réservées. Bien entendu et pour
- des raisons de sécurité, le client devra redemander le mot
- de passe chaque fois que le nom d'hôte du serveur sera modifié.</p>
+ <p>La directive <code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code> définit
+ l'<dfn>Identificateur</dfn> (Realm) à utiliser avec
+ l'authentification. L'identificateur possède deux fonctions. Tout
+ d'abord, le client présente en général cette information à
+ l'utilisateur dans le cadre de la boîte de dialogue de mot de passe.
+ Ensuite, le client l'utilise pour déterminer quel mot de passe
+ envoyer pour une zone authentifiée donnée.</p>
+
+ <p>Ainsi par exemple, une fois un client authentifié dans la zone
+ <code>"Fichiers réservés"</code>, il soumettra à nouveau
+ automatiquement le même mot de passe pour toute zone du même serveur
+ marquée de l'identificateur <code>"Fichiers réservés"</code>. De
+ cette façon, vous pouvez éviter à un utilisateur d'avoir à saisir
+ plusieurs fois le même mot de passe en faisant partager le même
+ identificateur entre plusieurs zones réservées. Bien entendu et pour
+ des raisons de sécurité, le client devra redemander le mot
+ de passe chaque fois que le nom d'hôte du serveur sera modifié.</p>
<p>La directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> est, dans ce
- cas, facultative, car <code>file</code> est la valeur par défaut
+ cas, facultative, car <code>file</code> est la valeur par défaut
pour cette directive. Par contre, cette directive sera obligatoire
si vous utilisez une autre source d'authentification comme
<code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ou
<code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p>
- <p>La directive <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> définit le chemin
- du fichier de mots de passe que nous venons de créer avec
- <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code>. Si vous possédez un grand nombre
- d'utilisateurs, la durée de la recherche dans un fichier texte pour
- authentifier un utilisateur à chaque requête va augmenter
- rapidement, et pour pallier cet inconvénient, Apache peut aussi
- stocker les données relatives aux
- utilisateurs dans des bases de données rapides. Le module
+ <p>La directive <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> définit le chemin
+ du fichier de mots de passe que nous venons de créer avec
+ <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code>. Si vous possédez un grand nombre
+ d'utilisateurs, la durée de la recherche dans un fichier texte pour
+ authentifier un utilisateur à chaque requête va augmenter
+ rapidement, et pour pallier cet inconvénient, Apache peut aussi
+ stocker les données relatives aux
+ utilisateurs dans des bases de données rapides. Le module
<code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> fournit la directive <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>. Les programmes <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code> et <code class="program"><a href="../programs/htdbm.html">htdbm</a></code> permettent de
- créer et manipuler ces fichiers. Vous
+ créer et manipuler ces fichiers. Vous
trouverez de nombreuses options d'autres types d'authentification
- fournies par des modules tiers dans la <a href="http://modules.apache.org/">Base de données des modules
+ fournies par des modules tiers dans la <a href="http://modules.apache.org/">Base de données des modules
d'Apache</a>.</p>
- <p>Enfin, la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> implémente la partie
- autorisation du processus en définissant l'utilisateur autorisé à
- accéder à cette zone du serveur. Dans la section suivante, nous
- décrirons les différentes méthodes d'utilisation de la directive
+ <p>Enfin, la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> implémente la partie
+ autorisation du processus en définissant l'utilisateur autorisé à
+ accéder à cette zone du serveur. Dans la section suivante, nous
+ décrirons les différentes méthodes d'utilisation de la directive
<code class="directive"><a href="../mod/mod_authz_core.html#require">Require</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="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Autorisation d'accès à
+<h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Autorisation d'accès à
plusieurs personnes</a><a title="Lien permanent" href="#lettingmorethanonepersonin" class="permalink">¶</a></h2>
<p>Les directives ci-dessus n'autorisent qu'une personne (quelqu'un
- possédant le nom d'utilisateur <code>rbowen</code>) à accéder au
- répertoire. Dans la plupart des cas, vous devrez autoriser
- l'accès à plusieurs personnes. C'est ici
+ possédant le nom d'utilisateur <code>rbowen</code>) à accéder au
+ répertoire. Dans la plupart des cas, vous devrez autoriser
+ l'accès à plusieurs personnes. C'est ici
qu'intervient la directive <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>.</p>
- <p>Si vous voulez autoriser l'accès à plusieurs personnes, vous
- devez créer un fichier de groupes qui associe des noms de groupes
+ <p>Si vous voulez autoriser l'accès à plusieurs personnes, vous
+ devez créer un fichier de groupes qui associe des noms de groupes
avec une liste d'utilisateurs de ce groupe. Le format de ce fichier
- est très simple, et vous pouvez le créer avec votre éditeur favori.
- Son contenu se présente comme suit :</p>
+ est très simple, et vous pouvez le créer avec votre éditeur favori.
+ Son contenu se présente comme suit :</p>
<div class="example"><p><code>
Nom-de-groupe: rbowen dpitts sungo rshersey
</code></p></div>
<p>Il s'agit simplement une liste des membres du groupe sous la
- forme d'une ligne séparée par des espaces.</p>
+ forme d'une ligne séparée par des espaces.</p>
- <p>Pour ajouter un utilisateur à votre fichier de mots de passe
- préexistant, entrez :</p>
+ <p>Pour ajouter un utilisateur à votre fichier de mots de passe
+ préexistant, entrez :</p>
<div class="example"><p><code>
htpasswd /usr/local/apache/passwd/passwords dpitts
</code></p></div>
- <p>Vous obtiendrez le même effet qu'auparavant, mais le mot de passe
- sera ajouté au fichier, plutôt que d'en créer un nouveau (C'est le
- drapeau <code>-c</code> qui permet de créer un nouveau fichier de
+ <p>Vous obtiendrez le même effet qu'auparavant, mais le mot de passe
+ sera ajouté au fichier, plutôt que d'en créer un nouveau (C'est le
+ drapeau <code>-c</code> qui permet de créer un nouveau fichier de
mots de passe)..</p>
<p>Maintenant, vous devez modifier votre fichier
<p>Maintenant, quiconque appartient au groupe
- <code>Nom-de-groupe</code>, et possède une entrée dans le fichier
- <code>password</code> pourra accéder au répertoire s'il tape le bon
+ <code>Nom-de-groupe</code>, et possède une entrée dans le fichier
+ <code>password</code> pourra accéder au répertoire s'il tape le bon
mot de passe.</p>
- <p>Il existe une autre méthode moins contraignante pour autoriser
- l'accès à plusieurs personnes. Plutôt que de créer un fichier de
+ <p>Il existe une autre méthode moins contraignante pour autoriser
+ l'accès à plusieurs personnes. Plutôt que de créer un fichier de
groupes, il vous suffit d'ajouter la directive suivante :</p>
<pre class="prettyprint lang-config">Require valid-user</pre>
<p>Le remplacement de la ligne <code>Require user rbowen</code> par
- la ligne <code>Require valid-user</code> autorisera l'accès à
- quiconque possédant une entrée dans le fichier password, et ayant
- tapé le bon mot de passe. Vous pouvez même simuler le comportement
- des groupes en associant un fichier de mots de passe différent pour
- chaque groupe. L'avantage de cette approche réside dans le fait
+ la ligne <code>Require valid-user</code> autorisera l'accès à
+ quiconque possédant une entrée dans le fichier password, et ayant
+ tapé le bon mot de passe. Vous pouvez même simuler le comportement
+ des groupes en associant un fichier de mots de passe différent pour
+ chaque groupe. L'avantage de cette approche réside dans le fait
qu'Apache ne doit consulter qu'un fichier au lieu de deux. Par
contre, vous devez maintenir un nombre plus ou moins important de
- fichiers de mots de passe, et vous assurer de faire référence au bon
+ fichiers de mots de passe, et vous assurer de faire référence au bon
fichier dans la directive <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</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="possibleproblems" id="possibleproblems">Problèmes possibles</a><a title="Lien permanent" href="#possibleproblems" class="permalink">¶</a></h2>
- <p>L'authentification Basic est spécifiée d'une telle manière que
- vos nom d'utilisateur et mot de passe doivent être vérifiés chaque
- fois que vous demandez un document au serveur, et ceci même si vous
- rechargez la même page, et pour chaque image contenue dans la page
- (si elles sont situées dans un répertoire protégé). Comme vous
+<h2><a name="possibleproblems" id="possibleproblems">Problèmes possibles</a><a title="Lien permanent" href="#possibleproblems" class="permalink">¶</a></h2>
+ <p>L'authentification Basic est spécifiée d'une telle manière que
+ vos nom d'utilisateur et mot de passe doivent être vérifiés chaque
+ fois que vous demandez un document au serveur, et ceci même si vous
+ rechargez la même page, et pour chaque image contenue dans la page
+ (si elles sont situées dans un répertoire protégé). Comme vous
pouvez l'imaginer, ceci ralentit un peu le fonctionnement. La mesure
- dans laquelle le fonctionnement est ralenti est proportionnelle à la
- taille du fichier des mots de passe, car ce dernier doit être ouvert
- et la liste des utilisateurs parcourue jusqu'à ce que votre nom soit
- trouvé, et ceci chaque fois qu'une page est chargée.</p>
+ dans laquelle le fonctionnement est ralenti est proportionnelle à la
+ taille du fichier des mots de passe, car ce dernier doit être ouvert
+ et la liste des utilisateurs parcourue jusqu'à ce que votre nom soit
+ trouvé, et ceci chaque fois qu'une page est chargée.</p>
- <p>En conséquence, ce ralentissement impose une limite pratique au
+ <p>En conséquence, ce ralentissement impose une limite pratique au
nombre d'utilisateurs que vous pouvez enregistrer dans un fichier de
mots de passe. Cette limite va varier en fonction des performances
- de votre serveur, mais vous commencerez à remarquer un
+ de votre serveur, mais vous commencerez à remarquer un
ralentissement lorsque vous atteindrez quelques centaines
- d'utilisateurs, et serez alors appelés à utiliser une méthode
- d'authentification différente.</p>
+ d'utilisateurs, et serez alors appelés à utiliser une méthode
+ d'authentification différente.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="dbmdbd" id="dbmdbd">Autre méthode de stockage des mots de
+<h2><a name="dbmdbd" id="dbmdbd">Autre méthode de stockage des mots de
passe</a><a title="Lien permanent" href="#dbmdbd" class="permalink">¶</a></h2>
- <p>Suite au problème évoqué précédemment et induit par le stockage
- des mots de passe dans un fichier texte, vous pouvez être appelé à
- stocker vos mots de passe d'une autre manière, par exemple dans une
- base de données.</p>
+ <p>Suite au problème évoqué précédemment et induit par le stockage
+ des mots de passe dans un fichier texte, vous pouvez être appelé à
+ stocker vos mots de passe d'une autre manière, par exemple dans une
+ base de données.</p>
<p>Pour y parvenir, on peut utiliser les modules
<code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ou <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.
Vous pouvez choisir comme format de stockage <code>dbm</code> ou
- <code>dbd</code> à la place de <code>file</code> pour la directive
+ <code>dbd</code> à la place de <code>file</code> pour la directive
<code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>.</p>
- <p>Par exemple, pour sélectionner un fichier dbm à la place d'un
+ <p>Par exemple, pour sélectionner un fichier dbm à la place d'un
fichier texte :</p>
<pre class="prettyprint lang-config"><Directory "/www/docs/private">
<p>D'autres options sont disponibles. Consultez la documentation de
- <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> pour plus de détails.</p>
+ <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> pour plus de détails.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="multprovider" id="multprovider">Utilisation de plusieurs fournisseurs
d'authentification</a><a title="Lien permanent" href="#multprovider" class="permalink">¶</a></h2>
- <p>Depuis l'arrivée des nouvelles architecture d'autorisation et
- d'authentification basées sur les fournisseurs, vous n'êtes plus
- limité à une méthode d'authentification et d'autorisation
+ <p>Depuis l'arrivée des nouvelles architecture d'autorisation et
+ d'authentification basées sur les fournisseurs, vous n'êtes plus
+ limité à une méthode d'authentification et d'autorisation
unique. En fait, on peut panacher autant de fournisseurs que l'on
- veut, ce qui vous permet d'élaborer l'architecture qui correspond
- exactement à vos besoins. Dans l'exemple suivant, on utilise
+ veut, ce qui vous permet d'élaborer l'architecture qui correspond
+ exactement à vos besoins. Dans l'exemple suivant, on utilise
conjointement les fournisseurs d'authentification
file et LDAP :</p>
<p>Dans cet exemple, le fournisseur file va tenter d'authentifier
l'utilisateur en premier. S'il n'y parvient pas, le fournisseur LDAP
- sera sollicité. Ceci permet l'élargissement des possibilités
- d'authentification si votre organisation implémente plusieurs types
- de bases d'authentification. D'autres scénarios d'authentification
+ sera sollicité. Ceci permet l'élargissement des possibilités
+ d'authentification si votre organisation implémente plusieurs types
+ de bases d'authentification. D'autres scénarios d'authentification
et d'autorisation peuvent associer un type d'authentification avec
un autre type d'autorisation. Par exemple, une authentification
- basée sur un fichier de mots de passe peut permettre l'attribution
- d'autorisations basée sur un annuaire LDAP.</p>
+ basée sur un fichier de mots de passe peut permettre l'attribution
+ d'autorisations basée sur un annuaire LDAP.</p>
- <p>Tout comme plusieurs fournisseurs d'authentification peuvent être
- implémentés, on peut aussi utiliser plusieurs méthodes
- d'autorisation. Dans l'exemple suivant, on utilise à la fois une
- autorisation à base de fichier de groupes et une autorisation à base
+ <p>Tout comme plusieurs fournisseurs d'authentification peuvent être
+ implémentés, on peut aussi utiliser plusieurs méthodes
+ d'autorisation. Dans l'exemple suivant, on utilise à la fois une
+ autorisation à base de fichier de groupes et une autorisation à base
de groupes LDAP.</p>
<pre class="prettyprint lang-config"><Directory "/www/docs/private">
</Directory></pre>
- <p>Pour un scénario d'autorisation un peu plus avancé, des
+ <p>Pour un scénario d'autorisation un peu plus avancé, des
directives de conteneur d'autorisation comme <code class="directive"><a href="../mod/mod_authz_core.html#requireall"><RequireAll></a></code> et
<code class="directive"><a href="../mod/mod_authz_core.html#requireany"><RequireAny></a></code> permettent d'appliquer une
logique telle que l'ordre dans lequel les autorisations sont
- appliquées peut être entièrement contrôlé au niveau de la
+ appliquées peut être entièrement contrôlé au niveau de la
configuration. Voir <a href="../mod/mod_authz_core.html#logic">Conteneurs
- d'autorisations</a> pour un exemple de ce contrôle.</p>
+ d'autorisations</a> pour un exemple de ce contrôle.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="beyond" id="beyond">Pour aller plus loin qu'une simple
autorisation</a><a title="Lien permanent" href="#beyond" class="permalink">¶</a></h2>
- <p>La manière dont les autorisations sont accordées est désormais
- beaucoup plus souple qu'une simple vérification auprès d'une seule
- base de données. Il est maintenant possible de choisir l'ordre, la
- logique et la manière selon lesquels une autorisation est
- accordée.</p>
+ <p>La manière dont les autorisations sont accordées est désormais
+ beaucoup plus souple qu'une simple vérification auprès d'une seule
+ base de données. Il est maintenant possible de choisir l'ordre, la
+ logique et la manière selon lesquels une autorisation est
+ accordée.</p>
<h3><a name="authandororder" id="authandororder">Appliquer logique et
ordonnancement</a></h3>
- <p>Le contrôle de la manière et de l'ordre selon lesquels le
- processus d'autorisation était appliqué
- constituait une sorte de mystère par
- le passé. Dans Apache 2.2, un mécanisme d'authentification basé
- sur les fournisseurs a été développé afin de séparer le
- véritable processus d'authentification de l'autorisation et ses
- différentes fonctionnalités. Un des avantages colatéraux
- résidait dans le fait que les fournisseurs d'authentification
- pouvaient être configurés et appelés selon un ordre particulier
- indépendant de l'ordre de chargement du module auth proprement
- dit. Ce mécanisme basé sur les fournisseurs a été étendu au
+ <p>Le contrôle de la manière et de l'ordre selon lesquels le
+ processus d'autorisation était appliqué
+ constituait une sorte de mystère par
+ le passé. Dans Apache 2.2, un mécanisme d'authentification basé
+ sur les fournisseurs a été développé afin de séparer le
+ véritable processus d'authentification de l'autorisation et ses
+ différentes fonctionnalités. Un des avantages colatéraux
+ résidait dans le fait que les fournisseurs d'authentification
+ pouvaient être configurés et appelés selon un ordre particulier
+ indépendant de l'ordre de chargement du module auth proprement
+ dit. Ce mécanisme basé sur les fournisseurs a été étendu au
processus d'autorisation. Ceci signifie que la directive
- <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> définit
- non seulement quelles méthodes d'autorisation doivent être
- utilisées, mais aussi l'ordre dans lequel elles sont appelées.
- Les méthodes d'autorisation sont appelées selon l'ordre dans
+ <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> définit
+ non seulement quelles méthodes d'autorisation doivent être
+ utilisées, mais aussi l'ordre dans lequel elles sont appelées.
+ Les méthodes d'autorisation sont appelées selon l'ordre dans
lequel les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> apparaissent dans la
configuration.</p>
<p>Avec l'introduction des directives de conteneur
d'autorisations <code class="directive"><a href="../mod/mod_authz_core.html#requireall"><RequireAll></a></code>
et <code class="directive"><a href="../mod/mod_authz_core.html#requireany"><RequireAny></a></code>, la
- configuration contrôle aussi le moment où les méthodes
- d'autorisation sont appelées, et quels critères déterminent
- l'autorisation d'accès. Voir <a href="../mod/mod_authz_core.html#logic">Conteneurs
- d'autorisations</a> pour un exemple de la manière de les
+ configuration contrôle aussi le moment où les méthodes
+ d'autorisation sont appelées, et quels critères déterminent
+ l'autorisation d'accès. Voir <a href="../mod/mod_authz_core.html#logic">Conteneurs
+ d'autorisations</a> pour un exemple de la manière de les
utiliser pour exprimer des logiques d'autorisation
complexes.</p>
- <p>Par défaut, toutes les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> sont
- traitées comme si elles étaient contenues dans une directive
+ <p>Par défaut, toutes les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> sont
+ traitées comme si elles étaient contenues dans une directive
<code class="directive"><a href="../mod/mod_authz_core.html#requireany"><RequireAny></a></code>. En d'autres termes, il
suffit
- qu'une méthode d'autorisation s'applique avec succès pour que
- l'autorisation soit accordée.</p>
+ qu'une méthode d'autorisation s'applique avec succès pour que
+ l'autorisation soit accordée.</p>
<h3><a name="reqaccessctrl" id="reqaccessctrl">Utilisation de fournisseurs
- d'autorisation pour le contrôle d'accès</a></h3>
- <p>La vérification du nom d'utilisateur et du mot de passe ne
- constituent qu'un aspect des méthodes d'authentification.
- Souvent, le contrôle d'accès à certaines personnes n'est pas
- basé sur leur identité ; il peut dépendre, par exemple de leur
+ d'autorisation pour le contrôle d'accès</a></h3>
+ <p>La vérification du nom d'utilisateur et du mot de passe ne
+ constituent qu'un aspect des méthodes d'authentification.
+ Souvent, le contrôle d'accès à certaines personnes n'est pas
+ basé sur leur identité ; il peut dépendre, par exemple de leur
provenance.</p>
<p>Les fournisseurs d'autorisation <code>all</code>,
<code>env</code>, <code>host</code> et <code>ip</code> vous
- permettent d'accorder ou refuser l'accès en
- fonction de critères tels que le nom d'hôte ou l'adresse
- IP de la machine qui effectue la requête.</p>
+ permettent d'accorder ou refuser l'accès en
+ fonction de critères tels que le nom d'hôte ou l'adresse
+ IP de la machine qui effectue la requête.</p>
- <p>L'utilisation de ces fournisseurs est spécifiée à l'aide de
+ <p>L'utilisation de ces fournisseurs est spécifiée à l'aide de
la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>. Cette directive
permet d'enregistrer quels fournisseurs d'autorisation
- seront appelés dans le processus d'autorisation au cours du
- traitement de la requête. Par exemple :</p>
+ seront appelés dans le processus d'autorisation au cours du
+ traitement de la requête. Par exemple :</p>
<pre class="prettyprint lang-config">Require ip <var>address</var></pre>
- <p>où <var>adresse</var> est une adresse IP (ou une adresse IP
+ <p>où <var>adresse</var> est une adresse IP (ou une adresse IP
partielle) ou :</p>
<pre class="prettyprint lang-config">Require host <var>domain_name</var></pre>
- <p>où <var>nom_domaine</var> est un nom de domaine entièrement
- qualifé (ou un nom de domaine partiel) ; vous pouvez indiquer
- plusieurs adresses ou noms de domaines, si vous le désirez.</p>
+ <p>où <var>nom_domaine</var> est un nom de domaine entièrement
+ qualifé (ou un nom de domaine partiel) ; vous pouvez indiquer
+ plusieurs adresses ou noms de domaines, si vous le désirez.</p>
<p>Par exemple, si vous voulez rejeter les spams dont une
machine vous inonde, vous pouvez utiliser ceci :</p>
<p>Ainsi, les visiteurs en provenance de cette adresse ne
- pourront pas voir le contenu concerné par cette directive. Si,
+ pourront pas voir le contenu concerné par cette directive. Si,
par contre, vous connaissez le nom de la machine, vous pouvez
utiliser ceci :</p>
</RequireAll></pre>
- <p>Et si vous voulez interdire l'accès à toutes les machines
- d'un domaine, vous pouvez spécifier une partie seulement de
+ <p>Et si vous voulez interdire l'accès à toutes les machines
+ d'un domaine, vous pouvez spécifier une partie seulement de
l'adresse ou du nom de domaine :</p>
<pre class="prettyprint lang-config"><RequireAll>
<p>L'utilisation de la directive <code class="directive"><a href="../mod/mod_authz_core.html#requireall"><RequireAll></a></code>
- avec de multiples directives <code class="directive"><a href="../mod/mod_authz_core.html#require"><Require></a></code>, toutes avec la négation
- <code>not</code>, n'accordera l'accès que si toutes les
- conditions négatives sont vérifiées. En d'autres termes, l'accès
- sera refusé si au moins une des conditions négatives n'est pas
- vérifiée.</p>
+ avec de multiples directives <code class="directive"><a href="../mod/mod_authz_core.html#require"><Require></a></code>, toutes avec la négation
+ <code>not</code>, n'accordera l'accès que si toutes les
+ conditions négatives sont vérifiées. En d'autres termes, l'accès
+ sera refusé si au moins une des conditions négatives n'est pas
+ vérifiée.</p>
- <h3><a name="filesystem" id="filesystem">Compatibilité ascendante du contrôle
- d'accès</a></h3>
- <p>L'adoption d'un mécanisme à base de fournisseurs pour
- l'authentification, a pour effet colatéral de rendre inutiles
- les directives <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>, <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> et <code class="directive"><a href="../mod/mod_access_compat.html#satisfy">Satisfy</a></code>. Cependant, et à
- des fins de compatibilité ascendante vers les anciennes
- configurations, ces directives ont été déplacées vers le module
+ <h3><a name="filesystem" id="filesystem">Compatibilité ascendante du contrôle
+ d'accès</a></h3>
+ <p>L'adoption d'un mécanisme à base de fournisseurs pour
+ l'authentification, a pour effet colatéral de rendre inutiles
+ les directives <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>, <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> et <code class="directive"><a href="../mod/mod_access_compat.html#satisfy">Satisfy</a></code>. Cependant, et à
+ des fins de compatibilité ascendante vers les anciennes
+ configurations, ces directives ont été déplacées vers le module
<code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code>.</p>
<div class="warning"><h3>Note</h3>
<p>Les directives fournies par le module
- <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> sont devenues obsolètes depuis
- la refonte du module <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>. Mélanger d'anciennes
+ <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> sont devenues obsolètes depuis
+ la refonte du module <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>. Mélanger d'anciennes
directives comme <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>, <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code> ou <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> avec des nouvelles comme
<code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> est techniquement
- possible mais déconseillé. En effet, <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> a
- été conçu pour supporter des configurations ne contenant que des anciennes
- directives afin de faciliter le passage à la version 2.4. Voir le document
- <a href="../upgrading.html">upgrading</a> pour plus de détails.
+ possible mais déconseillé. En effet, <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> a
+ été conçu pour supporter des configurations ne contenant que des anciennes
+ directives afin de faciliter le passage à la version 2.4. Voir le document
+ <a href="../upgrading.html">upgrading</a> pour plus de détails.
</p>
</div>
<div class="section">
<h2><a name="socache" id="socache">Mise en cache de l'authentification</a><a title="Lien permanent" href="#socache" class="permalink">¶</a></h2>
<p>Dans certains cas, l'authentification constitue une charge
- inacceptable pour un fournisseur d'authentification ou votre réseau.
+ inacceptable pour un fournisseur d'authentification ou votre réseau.
Ceci est susceptible d'affecter les utilisateurs du module
<code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> (ou les fournisseurs
- tiers/personnalisés). Pour résoudre ce problème, HTTPD 2.3/2.4
+ tiers/personnalisés). Pour résoudre ce problème, HTTPD 2.3/2.4
propose un nouveau fournisseur de mise en cache,
<code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code>, qui permet de mettre en cache
- les données d'authentification, et ainsi réduire la charge du/des
+ les données d'authentification, et ainsi réduire la charge du/des
fournisseurs(s) originels.</p>
<p>Cette mise en cache apportera un gain en performance substantiel
- à certains utilisateurs.</p>
+ à certains utilisateurs.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="moreinformation" id="moreinformation">Pour aller plus loin . . .</a><a title="Lien permanent" href="#moreinformation" class="permalink">¶</a></h2>
<p>Vous pouvez aussi lire la documentation de
<code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> et <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>
- qui contient des informations supplémentaires à propos du
+ qui contient des informations supplémentaires à propos du
fonctionnement de tout ceci.
- Certaines configurations d'authentification peuvent aussi être
- simplifiées à l'aide de la directive <code class="directive"><a href="../mod/mod_authn_core.html#authnprovideralias"><AuthnProviderAlias></a></code>.</p>
+ Certaines configurations d'authentification peuvent aussi être
+ simplifiées à l'aide de la directive <code class="directive"><a href="../mod/mod_authn_core.html#authnprovideralias"><AuthnProviderAlias></a></code>.</p>
- <p>Les différents algorithmes de chiffrement supportés par Apache
- pour authentifier les données sont expliqués dans <a href="../misc/password_encryptions.html">PasswordEncryptions</a>.</p>
+ <p>Les différents algorithmes de chiffrement supportés par Apache
+ pour authentifier les données sont expliqués dans <a href="../misc/password_encryptions.html">PasswordEncryptions</a>.</p>
- <p>Enfin vous pouvez consulter la recette <a href="access.html">Contrôle
- d'accès</a>, qui décrit un certain nombre de situations en relation
+ <p>Enfin vous pouvez consulter la recette <a href="access.html">Contrôle
+ d'accès</a>, qui décrit un certain nombre de situations en relation
avec le sujet.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/auth.html" title="Français"> fr </a> |
+<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/auth.html" title="Français"> fr </a> |
<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/howto/auth.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/howto/auth.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Tutoriel Apache : Contenu dynamique basé sur CGI - Serveur Apache HTTP Version 2.5</title>
+<title>Tutoriel Apache : Contenu dynamique basé sur CGI - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Recettes et tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Tutoriel Apache : Contenu dynamique basé sur CGI</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Recettes et tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Tutoriel Apache : Contenu dynamique basé sur CGI</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/howto/cgi.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/cgi.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/cgi.html" title="Français"> fr </a> |
+<a href="../es/howto/cgi.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/cgi.html" title="Français"> fr </a> |
<a href="../ja/howto/cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#intro">Introduction</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#configuring">Configurer Apache pour autoriser CGI</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#writing">Ecrire un programme CGI</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Mais ça ne marche toujours pas !</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Mais ça ne marche toujours pas !</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#behindscenes">Que se passe-t-il en coulisse</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#libraries">Bibliothèques et modules CGI</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#libraries">Bibliothèques et modules CGI</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#moreinfo">Pour plus d'informations</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<h2><a name="intro" id="intro">Introduction</a><a title="Lien permanent" href="#intro" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li></ul></td></tr></table>
- <p>CGI (Common Gateway Interface) définit une méthode d'interaction
- entre un serveur web et des programmes générateurs de contenu
- externes, plus souvent appelés programmes CGI ou scripts CGI. Il
- s'agit d'une méthode simple pour ajouter du contenu dynamique à votre site
- web en utilisant votre langage de programmation préféré.
- Ce document est une introduction à la configuration de CGI sur votre
- serveur web Apache, et une initiation à l'écriture de programmes
+ <p>CGI (Common Gateway Interface) définit une méthode d'interaction
+ entre un serveur web et des programmes générateurs de contenu
+ externes, plus souvent appelés programmes CGI ou scripts CGI. Il
+ s'agit d'une méthode simple pour ajouter du contenu dynamique à votre site
+ web en utilisant votre langage de programmation préféré.
+ Ce document est une introduction à la configuration de CGI sur votre
+ serveur web Apache, et une initiation à l'écriture de programmes
CGI.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="configuring" id="configuring">Configurer Apache pour autoriser CGI</a><a title="Lien permanent" href="#configuring" class="permalink">¶</a></h2>
- <p>Apache doit être configuré pour permettre l'exécution des
+ <p>Apache doit être configuré pour permettre l'exécution des
programmes CGI, pour que vos programmes CGI puissent fonctionner
- correctement. Il existe plusieurs méthodes pour y parvenir.</p>
+ correctement. Il existe plusieurs méthodes pour y parvenir.</p>
- <div class="warning">Note: si Apache a été compilé avec le support
- des modules partagés (DSO), vous devez vous assurer que le module CGI est
- chargé ; vous devez pour cela vérifier que la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> correspondante n'a pas été
- commentée dans votre <code>httpd.conf</code>. Une directive correcte
- doit ressembler à ceci :
+ <div class="warning">Note: si Apache a été compilé avec le support
+ des modules partagés (DSO), vous devez vous assurer que le module CGI est
+ chargé ; vous devez pour cela vérifier que la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> correspondante n'a pas été
+ commentée dans votre <code>httpd.conf</code>. Une directive correcte
+ doit ressembler à ceci :
<pre class="prettyprint lang-config">LoadModule cgid_module modules/mod_cgid.so</pre>
- Sous Windows, ou si l'on utilise un module MPM non-threadé comme prefork,
- une directive correctement configurée sera du style :
+ Sous Windows, ou si l'on utilise un module MPM non-threadé comme prefork,
+ une directive correctement configurée sera du style :
<pre class="prettyprint lang-config">LoadModule cgi_module modules/mod_cgi.so</pre>
</div>
<h3><a name="scriptalias" id="scriptalias">ScriptAlias</a></h3>
- <p>La directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> indique à Apache qu'un
- répertoire particulier est dédié aux programmes CGI. Apache
- considérera que tout fichier situé dans ce répertoire est un
- programme CGI, et tentera de l'exécuter lorsque cette ressource
- fera l'objet d'une requête client.</p>
+ <p>La directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> indique à Apache qu'un
+ répertoire particulier est dédié aux programmes CGI. Apache
+ considérera que tout fichier situé dans ce répertoire est un
+ programme CGI, et tentera de l'exécuter lorsque cette ressource
+ fera l'objet d'une requête client.</p>
- <p>La directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> se présente comme suit
+ <p>La directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> se présente comme suit
:</p>
<pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/"</pre>
- <p>Cet exemple est tiré de votre fichier de configuration
- <code>httpd.conf</code> par défaut, si vous avez installé Apache
- dans son répertoire par défaut. La directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> est similaire à la
+ <p>Cet exemple est tiré de votre fichier de configuration
+ <code>httpd.conf</code> par défaut, si vous avez installé Apache
+ dans son répertoire par défaut. La directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> est similaire à la
directive <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, qui
- définit à quel répertoire particulier doit correspondre un préfixe
+ définit à quel répertoire particulier doit correspondre un préfixe
d'URL. <code class="directive">Alias</code> et
- <code class="directive">ScriptAlias</code> sont généralement utilisés pour
- accéder à des répertoires situés en dehors du répertoire défini
- par la directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. La différence entre
+ <code class="directive">ScriptAlias</code> sont généralement utilisés pour
+ accéder à des répertoires situés en dehors du répertoire défini
+ par la directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. La différence entre
<code class="directive">Alias</code> et <code class="directive">ScriptAlias</code>
- réside dans le fait que <code class="directive">ScriptAlias</code> indique
- en plus que tout ce qui se trouve sous le préfixe d'URL doit être
- considéré comme un programme CGI. Ainsi, l'exemple ci-dessus
- indique à Apache que toute requête pour une ressource commençant
- par <code>/cgi-bin/</code> doit être servie depuis le répertoire
- <code>/usr/local/apache2/cgi-bin/</code>, et doit être traitée en
+ réside dans le fait que <code class="directive">ScriptAlias</code> indique
+ en plus que tout ce qui se trouve sous le préfixe d'URL doit être
+ considéré comme un programme CGI. Ainsi, l'exemple ci-dessus
+ indique à Apache que toute requête pour une ressource commençant
+ par <code>/cgi-bin/</code> doit être servie depuis le répertoire
+ <code>/usr/local/apache2/cgi-bin/</code>, et doit être traitée en
tant que programme CGI.</p>
- <p>Par exemple, si une requête pour l'URL
+ <p>Par exemple, si une requête pour l'URL
<code>http://www.example.com/cgi-bin/test.pl</code> est
- effectuée, Apache tentera d'exécuter le fichier
+ effectuée, Apache tentera d'exécuter le fichier
<code>/usr/local/apache2/cgi-bin/test.pl</code> et en renverra la
- sortie. Bien entendu, le fichier doit exister, être exécutable, et
- retourner sa sortie d'une manière particulière, sinon Apache
+ sortie. Bien entendu, le fichier doit exister, être exécutable, et
+ retourner sa sortie d'une manière particulière, sinon Apache
renverra un message d'erreur.</p>
- <h3><a name="nonscriptalias" id="nonscriptalias">CGI en dehors des répertoires ScripAlias</a></h3>
+ <h3><a name="nonscriptalias" id="nonscriptalias">CGI en dehors des répertoires ScripAlias</a></h3>
- <p>Pour des raisons de sécurité, la localisation des programmes
+ <p>Pour des raisons de sécurité, la localisation des programmes
CGI est souvent restreinte aux
- répertoires définis par <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>. De cette manière, les administrateurs
- peuvent contrôler précisément qui est autorisé à utiliser les
- programmes CGI. Cependant, si les précautions adéquates quant à
- la sécurité sont prises, il n'y a aucune raison pour que les
- programmes CGI ne puissent pas être exécutés depuis d'autres
- répertoires. Par exemple, vous pouvez autoriser les utilisateurs à
- enregistrer des contenus web dans leurs répertoires home à l'aide
+ répertoires définis par <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>. De cette manière, les administrateurs
+ peuvent contrôler précisément qui est autorisé à utiliser les
+ programmes CGI. Cependant, si les précautions adéquates quant à
+ la sécurité sont prises, il n'y a aucune raison pour que les
+ programmes CGI ne puissent pas être exécutés depuis d'autres
+ répertoires. Par exemple, vous pouvez autoriser les utilisateurs à
+ enregistrer des contenus web dans leurs répertoires home à l'aide
de la directive <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code>. S'ils veulent mettre en
oeuvre leurs propres programmes CGI, mais n'ont pas l'autorisation
- d'accès au répertoire <code>cgi-bin</code> principal, ils devront
- être en mesure d'exécuter ces programmes depuis un autre
- répertoire.</p>
+ d'accès au répertoire <code>cgi-bin</code> principal, ils devront
+ être en mesure d'exécuter ces programmes depuis un autre
+ répertoire.</p>
- <p>L'autorisation d'exécution des programmes CGI dans un
- répertoire arbitraire se fait en deux étapes. En premier lieu, le
- gestionnaire <code>cgi-script</code> doit être activé à l'aide
+ <p>L'autorisation d'exécution des programmes CGI dans un
+ répertoire arbitraire se fait en deux étapes. En premier lieu, le
+ gestionnaire <code>cgi-script</code> doit être activé à l'aide
d'une directive <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> ou <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>. En second lieu,
- <code>ExecCGI</code> doit être spécifié dans la directive <code class="directive"><a href="../mod/core.html#options">Options</a></code>.</p>
+ <code>ExecCGI</code> doit être spécifié dans la directive <code class="directive"><a href="../mod/core.html#options">Options</a></code>.</p>
- <h3><a name="options" id="options">Utilisation d'options explicites pour permettre l'exécution
+ <h3><a name="options" id="options">Utilisation d'options explicites pour permettre l'exécution
des programmes CGI</a></h3>
- <p>Vous pouvez utiliser de manière explicite la directive
+ <p>Vous pouvez utiliser de manière explicite la directive
<code class="directive"><a href="../mod/core.html#options">Options</a></code> dans le fichier de
configuration de votre serveur principal, pour indiquer que
- l'exécution des programmes CGI est permise depuis un répertoire
+ l'exécution des programmes CGI est permise depuis un répertoire
particulier :</p>
<pre class="prettyprint lang-config"><Directory "/usr/local/apache2/htdocs/somedir">
</Directory></pre>
- <p>La directive ci-dessus indique à Apache qu'il doit permettre
- l'exécution des fichiers CGI. Vous devez aussi indiquer au serveur
+ <p>La directive ci-dessus indique à Apache qu'il doit permettre
+ l'exécution des fichiers CGI. Vous devez aussi indiquer au serveur
quels fichiers sont des fichiers CGI. La directive <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> suivante indique au
- serveur qu'il doit traiter tous les fichiers possédant une
+ serveur qu'il doit traiter tous les fichiers possédant une
extension <code>cgi</code> ou <code>pl</code> en tant que
programmes CGI :</p>
<p>Le <a href="htaccess.html"><code>tutoriel
.htaccess</code></a> montre comment activer les programmes
- CGI si vous n'avez pas accès au
+ CGI si vous n'avez pas accès au
fichier <code>httpd.conf</code>.</p>
- <h3><a name="userdir" id="userdir">Répertoires utilisateurs</a></h3>
+ <h3><a name="userdir" id="userdir">Répertoires utilisateurs</a></h3>
- <p>Pour permettre l'exécution en tant que programme CGI de tout
- fichier possédant l'extension <code>.cgi</code> et situé dans un
- répertoire utilisateur, vous pouvez utiliser la configuration
+ <p>Pour permettre l'exécution en tant que programme CGI de tout
+ fichier possédant l'extension <code>.cgi</code> et situé dans un
+ répertoire utilisateur, vous pouvez utiliser la configuration
suivante :</p>
<pre class="prettyprint lang-config"><Directory "/home/*/public_html">
</Directory></pre>
- <p>Pour indiquer un sous-répertoire <code>cgi-bin</code> d'un
- répertoire utilisateur où tout fichier sera traité en tant que
+ <p>Pour indiquer un sous-répertoire <code>cgi-bin</code> d'un
+ répertoire utilisateur où tout fichier sera traité en tant que
programme CGI, vous pouvez utiliser ceci :</p>
<pre class="prettyprint lang-config"><Directory "/home/*/public_html/cgi-bin">
<h2><a name="writing" id="writing">Ecrire un programme CGI</a><a title="Lien permanent" href="#writing" class="permalink">¶</a></h2>
- <p>Il y a deux différences principales entre la programmation
+ <p>Il y a deux différences principales entre la programmation
"standard" et la programmation CGI.</p>
- <p>En premier lieu, toute sortie de votre programme CGI doit être
- précédée d'un en-tête <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">MIME-type</a>. Il s'agit d'un
- en-tête HTTP qui indique au client quel type de contenu il reçoit.
- La plupart du temps, il se présente comme suit :</p>
+ <p>En premier lieu, toute sortie de votre programme CGI doit être
+ précédée d'un en-tête <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">MIME-type</a>. Il s'agit d'un
+ en-tête HTTP qui indique au client quel type de contenu il reçoit.
+ La plupart du temps, il se présente comme suit :</p>
<div class="example"><p><code>
Content-type: text/html
</code></p></div>
- <p>En second lieu, votre sortie doit être en HTML, ou tout autre
+ <p>En second lieu, votre sortie doit être en HTML, ou tout autre
format qu'un navigateur est en mesure d'afficher. La plupart du
- temps, il s'agira de HTML, mais occasionnellement, vous pouvez être
- amené à écrire un programme CGI qui renvoie une image gif, ou un
+ temps, il s'agira de HTML, mais occasionnellement, vous pouvez être
+ amené à écrire un programme CGI qui renvoie une image gif, ou un
autre type de contenu non-HTML.</p>
- <p>A part ces deux différences, un programme CGI ressemblera à tout
- autre programme que vous pourriez être amené à écrire.</p>
+ <p>A part ces deux différences, un programme CGI ressemblera à tout
+ autre programme que vous pourriez être amené à écrire.</p>
<h3><a name="firstcgi" id="firstcgi">Votre premier programme CGI</a></h3>
<p>L'exemple suivant est un exemple de programme CGI qui permet
- d'afficher une ligne de caractères dans votre navigateur. Ecrivez
- ce qui suit, enregistrez le dans un fichier nommé
- <code>premier.pl</code>, et placez le dans votre répertoire
+ d'afficher une ligne de caractères dans votre navigateur. Ecrivez
+ ce qui suit, enregistrez le dans un fichier nommé
+ <code>premier.pl</code>, et placez le dans votre répertoire
<code>cgi-bin</code>.</p>
<pre class="prettyprint lang-perl">#!/usr/bin/perl
print "Hello, World.";</pre>
- <p>Même si Perl ne vous est pas familier, vous devriez être
+ <p>Même si Perl ne vous est pas familier, vous devriez être
capable de comprendre le fonctionnement de ce programme. La
- première ligne indique à Apache (ou à toute interface à partir de
- laquelle le programme s'exécute) que ce programme peut être
- exécuté en fournissant son fichier à l'interpréteur
+ première ligne indique à Apache (ou à toute interface à partir de
+ laquelle le programme s'exécute) que ce programme peut être
+ exécuté en fournissant son fichier à l'interpréteur
<code>/usr/bin/perl</code>. La seconde ligne affiche la
- déclaration du type de contenu considéré, suivie de deux paires
- "Retour chariot - Nouvelle ligne". Ceci a pour effet d'insérer une
- ligne vide après l'en-tête pour marquer la fin des en-têtes HTTP,
- et le début du corps du document. La troisième ligne affiche la
- chaîne de caractères "Bonjour tout le monde . . .". Et c'est tout
+ déclaration du type de contenu considéré, suivie de deux paires
+ "Retour chariot - Nouvelle ligne". Ceci a pour effet d'insérer une
+ ligne vide après l'en-tête pour marquer la fin des en-têtes HTTP,
+ et le début du corps du document. La troisième ligne affiche la
+ chaîne de caractères "Bonjour tout le monde . . .". Et c'est tout
ce dont vous avez besoin.</p>
<p>Si vous ouvrez votre navigateur favori et lui indiquez
http://www.example.com/cgi-bin/premier.pl
</code></p></div>
- <p>ou toute autre URL correspondant à votre programme CGI, Vous
+ <p>ou toute autre URL correspondant à votre programme CGI, Vous
verrez la ligne <code>Bonjour tout le monde . . .</code>
- s'afficher dans la fenêtre de votre navigateur. Ce n'est pas
- extraordinaire, mais si vous y êtes parvenu, vous avez de bonnes
+ s'afficher dans la fenêtre de votre navigateur. Ce n'est pas
+ extraordinaire, mais si vous y êtes parvenu, vous avez de bonnes
chances d'y parvenir pour tout autre programme plus
- sophistiqué.</p>
+ sophistiqué.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="troubleshoot" id="troubleshoot">Mais ça ne marche toujours pas !</a><a title="Lien permanent" href="#troubleshoot" class="permalink">¶</a></h2>
+<h2><a name="troubleshoot" id="troubleshoot">Mais ça ne marche toujours pas !</a><a title="Lien permanent" href="#troubleshoot" class="permalink">¶</a></h2>
<p>Vous devriez voir au moins une des quatre sorties suivantes dans
- votre navigateur lorsque vous essayez d'accéder à votre programme
+ votre navigateur lorsque vous essayez d'accéder à votre programme
CGI depuis le web :</p>
<dl>
<dt>Le flux de sortie de votre programme CGI</dt>
<dd>Impeccable ! Cela signifie que tout fonctionne correctement.
- Si la sortie est correcte mais n'est pas traitée correctement par
- le navigateur, assurez-vous d'avoir défini
- <code>Content-Type</code> de manière appropriée dans votre
+ Si la sortie est correcte mais n'est pas traitée correctement par
+ le navigateur, assurez-vous d'avoir défini
+ <code>Content-Type</code> de manière appropriée dans votre
programme CGI.</dd>
<dt>Le code source de votre programme CGI ou un message "POST
Method Not Allowed"</dt>
- <dd>Cela signifie que vous n'avez pas configuré Apache de manière
- à ce qu'il puisse traiter votre programme CGI. Relisez la section
+ <dd>Cela signifie que vous n'avez pas configuré Apache de manière
+ à ce qu'il puisse traiter votre programme CGI. Relisez la section
sur la <a href="#configuring">configuration d'Apache</a>, et
essayez de trouver votre erreur.</dd>
- <dt>Un message commençant par "Forbidden"</dt>
- <dd>Ce type de message est révélateur d'un problème de
+ <dt>Un message commençant par "Forbidden"</dt>
+ <dd>Ce type de message est révélateur d'un problème de
droits. Consultez le <a href="#errorlogs">journal des erreurs
d'Apache</a> et la section ci-dessous sur les <a href="#permissions">droits des fichiers</a>.</dd>
<dt>Un message contenant "Internal Server Error"</dt>
<dd>Si vous consultez le <a href="#errorlogs">journal des erreurs
d'Apache</a>, vous y trouverez probablement des messages du type
- "Premature end of script headers" (Fin prématurée des en-têtes de
- script), éventuellement accompagnés d'un message d'erreur généré
+ "Premature end of script headers" (Fin prématurée des en-têtes de
+ script), éventuellement accompagnés d'un message d'erreur généré
par votre programme CGI. Dans ce cas, il va vous falloir lire
- chacune des sections ci-dessous pour déterminer ce qui empêche
- votre programme CGI de générer les en-têtes appropriés.</dd>
+ chacune des sections ci-dessous pour déterminer ce qui empêche
+ votre programme CGI de générer les en-têtes appropriés.</dd>
</dl>
<h3><a name="permissions" id="permissions">Droits des fichiers</a></h3>
- <p>Souvenez-vous que le serveur ne s'exécute pas sous votre nom.
- En d'autres termes, lorsque le serveur a démarré, il s'exécute
- avec les droits d'un utilisateur non privilégié - en général
- <code>nobody</code>, ou <code>www</code> - et en conséquence, il
- aura besoin de droits supplémentaires pour pouvoir exécuter des
- fichiers dont vous êtes le propriétaire. En général, pour qu'un
- fichier ait des droits suffisants pour être exécutable par
+ <p>Souvenez-vous que le serveur ne s'exécute pas sous votre nom.
+ En d'autres termes, lorsque le serveur a démarré, il s'exécute
+ avec les droits d'un utilisateur non privilégié - en général
+ <code>nobody</code>, ou <code>www</code> - et en conséquence, il
+ aura besoin de droits supplémentaires pour pouvoir exécuter des
+ fichiers dont vous êtes le propriétaire. En général, pour qu'un
+ fichier ait des droits suffisants pour être exécutable par
<code>nobody</code>, il suffit de lui attribuer des droits
- d'exécution pour tout le monde :</p>
+ d'exécution pour tout le monde :</p>
<div class="example"><p><code>
chmod a+x premier.pl
</code></p></div>
- <p>En outre, si votre programme doit pouvoir accéder en lecture
- et/ou écriture à d'autres fichiers, ces derniers devront avoir les
- droits appropriés.</p>
+ <p>En outre, si votre programme doit pouvoir accéder en lecture
+ et/ou écriture à d'autres fichiers, ces derniers devront avoir les
+ droits appropriés.</p>
- <h3><a name="pathinformation" id="pathinformation">Chemin des exécutables (PATH) et variables
+ <h3><a name="pathinformation" id="pathinformation">Chemin des exécutables (PATH) et variables
d'environnement</a></h3>
<p>Lorsque vous lancez un programme depuis la ligne de commande,
- certaines informations sont passées au shell sans que vous vous en
+ certaines informations sont passées au shell sans que vous vous en
doutiez. Par exemple, la variable <code>PATH</code> indique au
- shell où il doit rechercher les exécutables auxquels vous faites
- référence.</p>
+ shell où il doit rechercher les exécutables auxquels vous faites
+ référence.</p>
- <p>Lorsqu'un programme s'exécute depuis le serveur web en tant que
- programme CGI, sa variable <code>PATH</code> n'aura peut-être pas
- la même valeur. Tout programme que vous invoquez dans votre
+ <p>Lorsqu'un programme s'exécute depuis le serveur web en tant que
+ programme CGI, sa variable <code>PATH</code> n'aura peut-être pas
+ la même valeur. Tout programme que vous invoquez dans votre
programme CGI ( comme par exemple <code>sendmail</code>) devra
- être spécifié par son chemin complet, de façon à ce que le shell
- puisse le trouver lorsqu'il tentera d'exécuter votre programme
+ être spécifié par son chemin complet, de façon à ce que le shell
+ puisse le trouver lorsqu'il tentera d'exécuter votre programme
CGI.</p>
- <p>Un exemple typique de spécification de programme est le chemin
- vers l'interpréteur de script (souvent <code>perl</code>) que l'on
- trouve à la première ligne de votre programme CGI et qui va
- ressembler à ceci :</p>
+ <p>Un exemple typique de spécification de programme est le chemin
+ vers l'interpréteur de script (souvent <code>perl</code>) que l'on
+ trouve à la première ligne de votre programme CGI et qui va
+ ressembler à ceci :</p>
<pre class="prettyprint lang-perl">#!/usr/bin/perl</pre>
<p>Assurez-vous qu'il s'agit bien du chemin correct vers
- l'interpréteur.</p>
+ l'interpréteur.</p>
<div class="warning">
- Lors de l'édition de scripts CGI sous Windows, il se peut que des
- caractères de fin de ligne soient ajoutés au chemin de
- l'interpréteur. Assurez-vous donc que les fichiers sont bien
+ Lors de l'édition de scripts CGI sous Windows, il se peut que des
+ caractères de fin de ligne soient ajoutés au chemin de
+ l'interpréteur. Assurez-vous donc que les fichiers sont bien
transmis au serveur en mode ASCII. Dans le cas contraire, l'OS
- pourra envoyer des avertissements "Command not found" à cause des
- caractères de fin de ligne non reconnus car considérés comme
- faisant partie du nom de fichier de l'interpréteur.
+ pourra envoyer des avertissements "Command not found" à cause des
+ caractères de fin de ligne non reconnus car considérés comme
+ faisant partie du nom de fichier de l'interpréteur.
</div>
<h3><a name="missingenv" id="missingenv">Variables d'environnement manquantes</a></h3>
- <p>Si votre programme CGI dépend de <a href="#env">variables
+ <p>Si votre programme CGI dépend de <a href="#env">variables
d'environnement</a> non standards, vous devrez vous assurez que
ces variables lui sont bien transmises par Apache.</p>
- <p>Lorsque des en-têtes HTTP ne sont pas transmis à
- l'environnement, assurez-vous qu'ils sont bien formatés selon la
+ <p>Lorsque des en-têtes HTTP ne sont pas transmis à
+ l'environnement, assurez-vous qu'ils sont bien formatés selon la
<a href="http://tools.ietf.org/html/rfc2616">RFC 2616</a>, section
- 4.2 : les noms d'en-têtes doivent commencer par une lettre,
- elle-même suivie de lettres, chiffres ou traits d'union. Tout
- en-tête dont le nom viole cette règle sera ignoré.</p>
+ 4.2 : les noms d'en-têtes doivent commencer par une lettre,
+ elle-même suivie de lettres, chiffres ou traits d'union. Tout
+ en-tête dont le nom viole cette règle sera ignoré.</p>
- <h3><a name="syntaxerrors" id="syntaxerrors">Erreurs inhérentes au programme</a></h3>
+ <h3><a name="syntaxerrors" id="syntaxerrors">Erreurs inhérentes au programme</a></h3>
- <p>La plupart des échecs dans l'exécution d'un programme CGI
- proviennent du programme lui-même. Ceci est particulièrement vrai
- lorsque ce satané programme CGI se bloque, alors que vous avez
- appris à ne plus commettre les deux erreurs précédentes. La
- première chose à faire est de vous assurer que votre programme
- s'exécute depuis la ligne de commande, avant de le tester à partir
+ <p>La plupart des échecs dans l'exécution d'un programme CGI
+ proviennent du programme lui-même. Ceci est particulièrement vrai
+ lorsque ce satané programme CGI se bloque, alors que vous avez
+ appris à ne plus commettre les deux erreurs précédentes. La
+ première chose à faire est de vous assurer que votre programme
+ s'exécute depuis la ligne de commande, avant de le tester à partir
du serveur web. Par exemple, essayez :</p>
<div class="example"><p><code>
./premier.pl
</code></p></div>
- <p>(N'invoquez pas l'interpréteur <code>perl</code>. Le shell et
- Apache doivent être capable de le déterminer à partir de <a href="#pathinformation">l'information sur le chemin</a> située sur
- la première ligne du script.)</p>
+ <p>(N'invoquez pas l'interpréteur <code>perl</code>. Le shell et
+ Apache doivent être capable de le déterminer à partir de <a href="#pathinformation">l'information sur le chemin</a> située sur
+ la première ligne du script.)</p>
- <p>La première chose que vous devriez voir affichée par votre
- programme est un ensemble d'en-têtes HTTP, comprenant entre autres
+ <p>La première chose que vous devriez voir affichée par votre
+ programme est un ensemble d'en-têtes HTTP, comprenant entre autres
le <code>Content-Type</code>, et suivi d'une ligne vide. Si vous
voyez quoi que ce soit d'autre, Apache renverra l'erreur
<code>Premature end of script headers</code> si vous tentez
- d'exécuter le programme depuis le serveur. Voir <a href="#writing">Ecriture d'un programme CGI</a> ci-dessus pour
- plus de détails.</p>
+ d'exécuter le programme depuis le serveur. Voir <a href="#writing">Ecriture d'un programme CGI</a> ci-dessus pour
+ plus de détails.</p>
<h3><a name="errorlogs" id="errorlogs">Journalisation des erreurs</a></h3>
<p>Les journaux d'erreurs sont vos amis. Toute anomalie de
- fonctionnement est consignée dans le journal des erreurs et c'est
- ici que vous devez regarder en premier en cas de problème. Si
- l'hébergeur de votre site ne vous donne pas accès au journal des
- erreurs, vous avez tout intérêt à vous tourner vers quelqu'un
- d'autre. Apprenez à déchiffrer les journaux d'erreurs, et vous
- vous apercevrez que la plupart des problèmes seront rapidement
- identifiés . . . et résolus.</p>
+ fonctionnement est consignée dans le journal des erreurs et c'est
+ ici que vous devez regarder en premier en cas de problème. Si
+ l'hébergeur de votre site ne vous donne pas accès au journal des
+ erreurs, vous avez tout intérêt à vous tourner vers quelqu'un
+ d'autre. Apprenez à déchiffrer les journaux d'erreurs, et vous
+ vous apercevrez que la plupart des problèmes seront rapidement
+ identifiés . . . et résolus.</p>
<h3><a name="suexec" id="suexec">Suexec</a></h3>
<p>Le programme <a href="../suexec.html">suexec</a> permet
- d'exécuter les programmes CGI avec des droits différents selon le
- serveur virtuel ou le répertoire utilisateur dans lequel ils
- se situent. Suexec effectue une vérification des droits très
- stricte, et toute anomalie détectée au cours de cette vérification
- entraînera un echec d'exécution de votre programme CGI avec
+ d'exécuter les programmes CGI avec des droits différents selon le
+ serveur virtuel ou le répertoire utilisateur dans lequel ils
+ se situent. Suexec effectue une vérification des droits très
+ stricte, et toute anomalie détectée au cours de cette vérification
+ entraînera un echec d'exécution de votre programme CGI avec
affichage de l'erreur <code>Premature end of script
headers</code>.</p>
<p>Pour savoir si vous pouvez utiliser suexec, tapez la commande
- <code>apachectl -V</code>, et regardez le chemin indiqué par
- <code>SUEXEC_BIN</code>. Si au démarrage d'Apache, ce dernier
- trouve un exécutable <code class="program"><a href="../programs/suexec.html">suexec</a></code> dans ce chemin,
- suexec sera activé.</p>
-
- <p>Si vous ne maîtrisez pas le fonctionnement de suexec, il vous
- est déconseillé de l'utiliser. Pour désactiver suexec, supprimer
- simplement (ou renommez) l'exécutable <code class="program"><a href="../programs/suexec.html">suexec</a></code>
- pointé par <code>SUEXEC_BIN</code> et redémarrez le serveur. Si
- après une lecture de <a href="../suexec.html">suexec</a>, vous
- décidez quand-même de l'utiliser, tapez la commande <code>suexec
- -V</code> pour voir où se situe le journal de suexec, et utilisez
- ce dernier pour déterminer quelles règles vous violez
- éventuellement.</p>
+ <code>apachectl -V</code>, et regardez le chemin indiqué par
+ <code>SUEXEC_BIN</code>. Si au démarrage d'Apache, ce dernier
+ trouve un exécutable <code class="program"><a href="../programs/suexec.html">suexec</a></code> dans ce chemin,
+ suexec sera activé.</p>
+
+ <p>Si vous ne maîtrisez pas le fonctionnement de suexec, il vous
+ est déconseillé de l'utiliser. Pour désactiver suexec, supprimer
+ simplement (ou renommez) l'exécutable <code class="program"><a href="../programs/suexec.html">suexec</a></code>
+ pointé par <code>SUEXEC_BIN</code> et redémarrez le serveur. Si
+ après une lecture de <a href="../suexec.html">suexec</a>, vous
+ décidez quand-même de l'utiliser, tapez la commande <code>suexec
+ -V</code> pour voir où se situe le journal de suexec, et utilisez
+ ce dernier pour déterminer quelles règles vous violez
+ éventuellement.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="behindscenes" id="behindscenes">Que se passe-t-il en coulisse</a><a title="Lien permanent" href="#behindscenes" class="permalink">¶</a></h2>
- <p>Lorsque vos compétences en programmation CGI seront plus
- poussées, il s'avérera intéressant pour vous de mieux comprendre ce
- qui se passe en coulisse, et en particulier la manière dont le
+ <p>Lorsque vos compétences en programmation CGI seront plus
+ poussées, il s'avérera intéressant pour vous de mieux comprendre ce
+ qui se passe en coulisse, et en particulier la manière dont le
navigateur et le serveur dialoguent entre eux. En effet, bien qu'il
- soit tout à fait louable d'écrire un programme qui affiche "Bonjour
- tout le monde . . .", cela ne sert pas à grand chose.</p>
+ soit tout à fait louable d'écrire un programme qui affiche "Bonjour
+ tout le monde . . .", cela ne sert pas à grand chose.</p>
<h3><a name="env" id="env">Variables d'environnement</a></h3>
<p>Les variables d'environnement sont des valeurs qui gravitent
autour de vous lorsque vous utilisez votre ordinateur. Elles sont
- très utiles, à l'instar de votre chemin par défaut (où votre
- ordinateur va rechercher le fichier physique correspondant à la
- commande que vous avez tapée), votre nom d'utilisateur, le type de
- votre terminal, etc... Pour obtenir une liste complète des
+ très utiles, à l'instar de votre chemin par défaut (où votre
+ ordinateur va rechercher le fichier physique correspondant à la
+ commande que vous avez tapée), votre nom d'utilisateur, le type de
+ votre terminal, etc... Pour obtenir une liste complète des
variables d'environnement standards que vous utilisez tous les
- jours, tapez <code>env</code> dans votre interpréteur
+ jours, tapez <code>env</code> dans votre interpréteur
de commandes.</p>
<p>Au cours de la transaction CGI, le serveur et le navigateur
- définissent aussi des variables d'environnement, de façon à ce
- qu'ils puissent communiquer entre eux. Ces variables définissent
+ définissent aussi des variables d'environnement, de façon à ce
+ qu'ils puissent communiquer entre eux. Ces variables définissent
entre autre le type de navigateur (Netscape, IE, Lynx), le type de
serveur (Apache, IIS, WebSite), le nom du programme CGI en cours
- d'exécution, etc...</p>
+ d'exécution, etc...</p>
- <p>Ces variables sont à la disposition du programmeur CGI, et
+ <p>Ces variables sont à la disposition du programmeur CGI, et
elles constituent 50% de la communication client-serveur. La liste
- complète des variables requises se trouve à
+ complète des variables requises se trouve à
<a href="http://www.ietf.org/rfc/rfc3875">Common Gateway
Interface RFC</a>.</p>
<p>Ce programme CGI basique en Perl permet d'afficher toutes les
- variables d'environnement qui sont échangées. Deux programmes
- similaires sont fournis avec la distribution d'Apache et situés
- dans le répertoire <code>cgi-bin</code>.
+ variables d'environnement qui sont échangées. Deux programmes
+ similaires sont fournis avec la distribution d'Apache et situés
+ dans le répertoire <code>cgi-bin</code>.
Notez que certaines variables sont
obligatoires, alors que d'autres sont optionnelles, si bien que
vous verrez s'afficher certaines variables qui ne font pas partie
de la liste officielle. De plus, Apache vous propose de nombreuses
- méthodes pour <a href="../env.html">ajouter vos propres
+ méthodes pour <a href="../env.html">ajouter vos propres
variables d'environnement</a> aux variables de base fournies par
- défaut.</p>
+ défaut.</p>
<pre class="prettyprint lang-perl">#!/usr/bin/perl
use strict;
<h3><a name="stdin" id="stdin">STDIN et STDOUT</a></h3>
- <p>L'entrée standard (<code>STDIN</code>) et la sortie standard
+ <p>L'entrée standard (<code>STDIN</code>) et la sortie standard
(<code>STDOUT</code>) constituent d'autres voies de communication
entre le client et le serveur. Dans un contexte normal,
- <code>STDIN</code> correspond au clavier, ou à un fichier fourni
- au programme à des fins de traitement, et <code>STDOUT</code> à la
- console ou à l'écran.</p>
+ <code>STDIN</code> correspond au clavier, ou à un fichier fourni
+ au programme à des fins de traitement, et <code>STDOUT</code> à la
+ console ou à l'écran.</p>
- <p>Lorsque vous transmettez un formulaire web à un programme CGI
- par la méthode <code>POST</code>, les données de ce formulaire
- sont transcrites dans un format spécial et transmises à votre
+ <p>Lorsque vous transmettez un formulaire web à un programme CGI
+ par la méthode <code>POST</code>, les données de ce formulaire
+ sont transcrites dans un format spécial et transmises à votre
programme CGI via <code>STDIN</code>. Le programme peut alors les
traiter comme si elles provenaient du clavier ou d'un
fichier.</p>
- <p>Ce "format spécial" est très simple. Un nom de champ et sa
- valeur sont reliés entre eux par un signe "égal" (=), et chacune
- de ces paires nom champ/valeur est séparée de la suivante par un
- "et" commercial (&). Les caractères
- spéciaux comme les espaces, les "et" commerciaux, et les signes
- "égal" sont convertis en leur équivalent hexadécimal pour éviter
- qu'ils ne gâchent le travail. La chaîne contenant les données doit
- ressembler à ceci :</p>
+ <p>Ce "format spécial" est très simple. Un nom de champ et sa
+ valeur sont reliés entre eux par un signe "égal" (=), et chacune
+ de ces paires nom champ/valeur est séparée de la suivante par un
+ "et" commercial (&). Les caractères
+ spéciaux comme les espaces, les "et" commerciaux, et les signes
+ "égal" sont convertis en leur équivalent hexadécimal pour éviter
+ qu'ils ne gâchent le travail. La chaîne contenant les données doit
+ ressembler à ceci :</p>
<div class="example"><p><code>
name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey
</code></p></div>
- <p>Vous verrez aussi parfois une chaîne de ce type accolée à une
- URL. Dans ce cas, le serveur enregistre cette chaîne dans la
- variable d'environnement appelée <code>QUERY_STRING</code>. On a
- alors affaire à une requête de type <code>GET</code>. Votre
- formulaire HTML indique laquelle des méthodes <code>GET</code> ou
- <code>POST</code> est utilisée pour transmettre les données, en
- définissant l'attribut <code>METHOD</code> au niveau de la balise
+ <p>Vous verrez aussi parfois une chaîne de ce type accolée à une
+ URL. Dans ce cas, le serveur enregistre cette chaîne dans la
+ variable d'environnement appelée <code>QUERY_STRING</code>. On a
+ alors affaire à une requête de type <code>GET</code>. Votre
+ formulaire HTML indique laquelle des méthodes <code>GET</code> ou
+ <code>POST</code> est utilisée pour transmettre les données, en
+ définissant l'attribut <code>METHOD</code> au niveau de la balise
<code>FORM</code>.</p>
- <p>Votre programme est ensuite chargé d'extraire les informations
- utiles de cette chaîne. Heureusement, des bibliothèques et des
- modules sont à votre disposition pour vous aider à traiter ces
- données, et à gérer les différents aspects de votre programme
+ <p>Votre programme est ensuite chargé d'extraire les informations
+ utiles de cette chaîne. Heureusement, des bibliothèques et des
+ modules sont à votre disposition pour vous aider à traiter ces
+ données, et à gérer les différents aspects de votre programme
CGI.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="libraries" id="libraries">Bibliothèques et modules CGI</a><a title="Lien permanent" href="#libraries" class="permalink">¶</a></h2>
+<h2><a name="libraries" id="libraries">Bibliothèques et modules CGI</a><a title="Lien permanent" href="#libraries" class="permalink">¶</a></h2>
- <p>Pour écrire un programme CGI, il vous est conseillé d'utiliser
- une bibliothèque de code, ou un module, qui effectueront une grande
+ <p>Pour écrire un programme CGI, il vous est conseillé d'utiliser
+ une bibliothèque de code, ou un module, qui effectueront une grande
partie du travail de base pour vous. Ceci vous permettra de diminuer
- le nombre d'erreurs et d'accélérer le développement.</p>
+ le nombre d'erreurs et d'accélérer le développement.</p>
- <p>Si vous écrivez des programmes CGI en Perl, des modules sont à
- votre disposition à <a href="http://www.cpan.org/">CPAN</a>. A ce
+ <p>Si vous écrivez des programmes CGI en Perl, des modules sont à
+ votre disposition à <a href="http://www.cpan.org/">CPAN</a>. A ce
sujet, le module le plus populaire est <code>CGI.pm</code>. Vous
- pouvez aussi essayer <code>CGI::Lite</code>, qui implémente les
- fonctionnalités strictement nécessaires, mais suffisantes pour
- la majorité des programmes.</p>
+ pouvez aussi essayer <code>CGI::Lite</code>, qui implémente les
+ fonctionnalités strictement nécessaires, mais suffisantes pour
+ la majorité des programmes.</p>
- <p>Si vous écrivez des programmes CGI en C, vous disposez de
- nombreuses options. L'une d'elles est la bibliothèque
+ <p>Si vous écrivez des programmes CGI en C, vous disposez de
+ nombreuses options. L'une d'elles est la bibliothèque
<code>CGIC</code> de <a href="http://www.boutell.com/cgic/">http://www.boutell.com/cgic/</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="moreinfo" id="moreinfo">Pour plus d'informations</a><a title="Lien permanent" href="#moreinfo" class="permalink">¶</a></h2>
- <p>La spécification CGI actuelle est disponible dans la <a href="http://www.ietf.org/rfc/rfc3875">Common Gateway
+ <p>La spécification CGI actuelle est disponible dans la <a href="http://www.ietf.org/rfc/rfc3875">Common Gateway
Interface RFC</a>.</p>
- <p>Lorsque vous postez une question à propos d'un problème CGI que
+ <p>Lorsque vous postez une question à propos d'un problème CGI que
vous rencontrez, que ce soit dans une liste de diffusion ou dans un
newsgroup, faites en sorte de fournir suffisamment d'informations
- sur le problème rencontré, ce que vous attendiez exactement, et en
- quoi ce qui se produit est réellement différent de ce que vous
+ sur le problème rencontré, ce que vous attendiez exactement, et en
+ quoi ce qui se produit est réellement différent de ce que vous
attendiez, quel serveur vous utilisez, en quel langage votre
- programme CGI a été écrit, et, si possible, son code source. Ceci
- permettra une résolution plus aisée de votre problème.</p>
+ programme CGI a été écrit, et, si possible, son code source. Ceci
+ permettra une résolution plus aisée de votre problème.</p>
- <p>Notez que les questions à propos de problèmes CGI ne doivent
- <strong>jamais</strong> être postées dans la base de données de
- bogues d'Apache, à moins que vous ne soyez sûr d'avoir trouvé un
- problème dans le code source d'Apache.</p>
+ <p>Notez que les questions à propos de problèmes CGI ne doivent
+ <strong>jamais</strong> être postées dans la base de données de
+ bogues d'Apache, à moins que vous ne soyez sûr d'avoir trouvé un
+ problème dans le code source d'Apache.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/howto/cgi.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/cgi.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/cgi.html" title="Français"> fr </a> |
+<a href="../es/howto/cgi.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/cgi.html" title="Français"> fr </a> |
<a href="../ja/howto/cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Recettes / Tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Tutoriel du serveur HTTP Apache : fichiers .htaccess</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/htaccess.html" title="Français"> fr </a> |
+<a href="../es/howto/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/htaccess.html" title="Français"> fr </a> |
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p>
+<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p>
</div>
-<p>Les fichiers <code>.htaccess</code> fournissent une méthode pour
-modifier la configuration du serveur au niveau de chaque répertoire.</p>
+<p>Les fichiers <code>.htaccess</code> fournissent une méthode pour
+modifier la configuration du serveur au niveau de chaque répertoire.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Fichiers .htaccess</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#what">Que sont ce fichiers, comment les utiliser ?</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#when">Quand doit-on (ne doit-on pas) utiliser
les fichiers .htaccess ?</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#how">Comment sont appliquées les directives ?</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#how">Comment sont appliquées les directives ?</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#auth">Exemple d'authentification</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#ssi">Exemple d'Inclusion Côté Serveur (Server Side
+<li><img alt="" src="../images/down.gif" /> <a href="#ssi">Exemple d'Inclusion Côté Serveur (Server Side
Includes - SSI)</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#rewrite">Les règles de réécriture dans les fichiers .htaccess</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewrite">Les règles de réécriture dans les fichiers .htaccess</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cgi">Exemple de CGI</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Résolution des problèmes</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Résolution des problèmes</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="related" id="related">Fichiers .htaccess</a><a title="Lien permanent" href="#related" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li><li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li><li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li></ul></td></tr></table>
- <div class="note">Les fichiers <code>.htaccess</code> ne doivent être utilisés
- que si vous n'avez pas accès au fichier de configuration du serveur
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li><li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li><li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li></ul></td></tr></table>
+ <div class="note">Les fichiers <code>.htaccess</code> ne doivent être utilisés
+ que si vous n'avez pas accès au fichier de configuration du serveur
principal. L'utilisation des fichiers <code>.htaccess</code>
ralentit le fonctionnement de votre serveur HTTP Apache. Il est toujours
- préférable de définir les directives que vous pouvez inclure dans un
+ préférable de définir les directives que vous pouvez inclure dans un
fichier <code>.htaccess</code> dans une section <code class="directive"><a href="../mod/core.html#directory">Directory</a></code>, car elles produiront le
- même effet avec de meilleures performances.</div>
+ même effet avec de meilleures performances.</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="what" id="what">Que sont ce fichiers, comment les utiliser ?</a><a title="Lien permanent" href="#what" class="permalink">¶</a></h2>
<p>Les fichiers <code>.htaccess</code> (ou "fichiers de
- configuration distribués") fournissent une méthode pour modifier la
- configuration du serveur au niveau d'un répertoire. Un fichier,
- contenant une ou plusieurs directives de configuration, est placé
- dans un répertoire de documents particulier, et ses directives
- s'appliquent à ce répertoire et à tous ses sous-répertoires.</p>
+ configuration distribués") fournissent une méthode pour modifier la
+ configuration du serveur au niveau d'un répertoire. Un fichier,
+ contenant une ou plusieurs directives de configuration, est placé
+ dans un répertoire de documents particulier, et ses directives
+ s'appliquent à ce répertoire et à tous ses sous-répertoires.</p>
<div class="note"><h3>Note :</h3>
- <p>Si vous voulez donner un autre nom à votre fichier
+ <p>Si vous voulez donner un autre nom à votre fichier
<code>.htaccess</code>, vous pouvez le faire en utilisant la
directive <code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code>. Par
- exemple, si vous préférez nommer votre fichier
+ exemple, si vous préférez nommer votre fichier
<code>.config</code>, vous pouvez mettre ceci dans le fichier de
configuration de votre serveur :</p>
</div>
- <p>En général, les fichiers <code>.htaccess</code> utilisent la même
+ <p>En général, les fichiers <code>.htaccess</code> utilisent la même
syntaxe que les <a href="../configuring.html#syntax">fichiers de
configuration principaux</a>. Ce que vous pouvez mettre dans ces
- fichier est déterminé par la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Cette directive spécifie,
- sous forme de catégories, quelles directives seront traitées si
+ fichier est déterminé par la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Cette directive spécifie,
+ sous forme de catégories, quelles directives seront traitées si
elles se trouvent dans un fichier <code>.htaccess</code>. Si une
directive est permise dans un fichier <code>.htaccess</code> file,
la documentation de cette directive contiendra une section Override,
- spécifiant quelle valeur doit prendre <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> pour que cette directive
- soit traitée.</p>
+ spécifiant quelle valeur doit prendre <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> pour que cette directive
+ soit traitée.</p>
<p>Par exemple, si vous regardez la documentation de la directive
<code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code>, vous verrez
- que cette dernière est permise dans les fichiers
- <code>.htaccess</code> (Voir la ligne de contexte dans le résumé de
+ que cette dernière est permise dans les fichiers
+ <code>.htaccess</code> (Voir la ligne de contexte dans le résumé de
la directive). La ligne <a href="../mod/directive-dict.html#Context">Override</a> indique
<code>FileInfo</code>. Vous devez donc avoir au moins
<code>AllowOverride FileInfo</code> pour que cette directive soit
- traitée dans les fichiers <code>.htaccess</code>.</p>
+ traitée dans les fichiers <code>.htaccess</code>.</p>
<div class="example"><h3>Exemple :</h3><table>
<tr>
</tr>
</table></div>
- <p>Si vous n'êtes pas sûr qu'une directive particulière soit permise
+ <p>Si vous n'êtes pas sûr qu'une directive particulière soit permise
dans un fichier <code>.htaccess</code>, lisez la documentation de
cette directive, et consultez la ligne de contexte pour
".htaccess".</p>
les fichiers .htaccess ?</a><a title="Lien permanent" href="#when" class="permalink">¶</a></h2>
<p>En principe, vous ne devriez utiliser les fichiers
- <code>.htaccess</code> que lorsque vous n'avez pas accès au fichier de
+ <code>.htaccess</code> que lorsque vous n'avez pas accès au fichier de
configuration du serveur principal. Par exemple, la fausse
- idée
+ idée
selon laquelle l'authentification de l'utilisateur devrait toujours
- être faite dans les fichiers <code>.htaccess</code> est très
- répandue. Il est aussi souvent avancé, ces dernières
- années, que les directives de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> doivent
- être définies dans les fichiers <code>.htaccess</code>. Ceci est
+ être faite dans les fichiers <code>.htaccess</code> est très
+ répandue. Il est aussi souvent avancé, ces dernières
+ années, que les directives de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> doivent
+ être définies dans les fichiers <code>.htaccess</code>. Ceci est
tout simplement faux. Vous pouvez configurer
l'authentification des utilisateurs au niveau de la configuration du
- serveur principal, et c'est en fait cette méthode qui doit être
- privilégiée. De même, les directives de
- <code>mod_rewrite</code> fonctionneront mieux, à de nombreux égards,
+ serveur principal, et c'est en fait cette méthode qui doit être
+ privilégiée. De même, les directives de
+ <code>mod_rewrite</code> fonctionneront mieux, à de nombreux égards,
dans le contexte du serveur principal.</p>
- <p>Les fichiers <code>.htaccess</code> ne devraient être utilisés
- que dans le cas où les fournisseurs de contenu ont besoin de
- modifier la configuration du serveur au niveau d'un répertoire, mais
- ne possèdent pas l'accès root sur le système du serveur. Si
+ <p>Les fichiers <code>.htaccess</code> ne devraient être utilisés
+ que dans le cas où les fournisseurs de contenu ont besoin de
+ modifier la configuration du serveur au niveau d'un répertoire, mais
+ ne possèdent pas l'accès root sur le système du serveur. Si
l'administrateur du serveur ne souhaite pas effectuer des
- modifications de configuration incessantes, il peut être intéressant
- de permettre aux utilisateurs isolés d'effectuer eux-mêmes ces
+ modifications de configuration incessantes, il peut être intéressant
+ de permettre aux utilisateurs isolés d'effectuer eux-mêmes ces
modifications par le biais de fichiers <code>.htaccess</code>. Ceci
- est particulièrement vrai dans le cas où le fournisseur d'accès à
- Internet héberge de nombreux sites d'utilisateurs sur un seul
+ est particulièrement vrai dans le cas où le fournisseur d'accès à
+ Internet héberge de nombreux sites d'utilisateurs sur un seul
serveur, et souhaite que ces utilisateurs puissent modifier
- eux-mêmes leurs configurations.</p>
+ eux-mêmes leurs configurations.</p>
- <p>Cependant et d'une manière générale, il vaut mieux éviter
- d'utiliser les fichiers <code>.htaccess</code>. Tout élément de
+ <p>Cependant et d'une manière générale, il vaut mieux éviter
+ d'utiliser les fichiers <code>.htaccess</code>. Tout élément de
configuration que vous pourriez vouloir mettre dans un fichier
- <code>.htaccess</code>, peut aussi être mis, et avec la même
- efficacité, dans une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> du fichier de configuration de
+ <code>.htaccess</code>, peut aussi être mis, et avec la même
+ efficacité, dans une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> du fichier de configuration de
votre serveur principal.</p>
- <p>Il y a deux raisons principales d'éviter l'utilisation des
+ <p>Il y a deux raisons principales d'éviter l'utilisation des
fichiers <code>.htaccess</code>.</p>
- <p>La première est liée aux performances. Lorsque la directive
- <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> est définie de
- façon à autoriser l'utilisation des fichiers <code>.htaccess</code>,
- httpd va rechercher leur présence dans chaque répertoire. Ainsi,
- permettre l'utilisation des fichiers <code>.htaccess</code> est déjà
- en soi une cause de dégradation des performances, que vous utilisiez
+ <p>La première est liée aux performances. Lorsque la directive
+ <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> est définie de
+ façon à autoriser l'utilisation des fichiers <code>.htaccess</code>,
+ httpd va rechercher leur présence dans chaque répertoire. Ainsi,
+ permettre l'utilisation des fichiers <code>.htaccess</code> est déjà
+ en soi une cause de dégradation des performances, que vous utilisiez
effectivement ces fichiers ou non ! De plus, le fichier
- <code>.htaccess</code> est chargé en mémoire chaque fois qu'un
- document fait l'objet d'une requête.</p>
+ <code>.htaccess</code> est chargé en mémoire chaque fois qu'un
+ document fait l'objet d'une requête.</p>
<p>Notez aussi que httpd doit rechercher les fichiers
- <code>.htaccess</code> dans tous les répertoires de niveau
- supérieur, afin de rassembler toutes les directives qui s'appliquent
- au répertoire courant (Voir la section <a href="#how">comment sont
- appliquées les directives</a>). Ainsi, si un fichier fait l'objet
- d'une requête à partir d'un répertoire
+ <code>.htaccess</code> dans tous les répertoires de niveau
+ supérieur, afin de rassembler toutes les directives qui s'appliquent
+ au répertoire courant (Voir la section <a href="#how">comment sont
+ appliquées les directives</a>). Ainsi, si un fichier fait l'objet
+ d'une requête à partir d'un répertoire
<code>/www/htdocs/exemple</code>, httpd doit rechercher les
fichiers suivants :</p>
/www/htdocs/exemple/.htaccess
</code></p></div>
- <p>En conséquence, chaque accès à un fichier de ce répertoire
- nécessite 4 accès au système de fichiers supplémentaires pour
- rechercher des fichiers <code>.htaccess</code>, même si
- aucun de ces fichiers n'est présent. Notez que cet exemple ne peut
- se produire que si les fichiers <code>.htaccess</code> ont été
- autorisés pour le répertoire <code>/</code>, ce qui est rarement le
+ <p>En conséquence, chaque accès à un fichier de ce répertoire
+ nécessite 4 accès au système de fichiers supplémentaires pour
+ rechercher des fichiers <code>.htaccess</code>, même si
+ aucun de ces fichiers n'est présent. Notez que cet exemple ne peut
+ se produire que si les fichiers <code>.htaccess</code> ont été
+ autorisés pour le répertoire <code>/</code>, ce qui est rarement le
cas.</p>
- <p>La seconde raison d'éviter l'utilisation des fichiers
- <code>.htaccess</code> est liée à la sécurité. Si vous permettez aux
+ <p>La seconde raison d'éviter l'utilisation des fichiers
+ <code>.htaccess</code> est liée à la sécurité. Si vous permettez aux
utilisateurs de modifier la configuration du serveur, il peut en
- résulter des conséquences sur lesquelles vous n'aurez aucun
- contrôle. Réfléchissez bien avant de donner ce privilège à vos
+ résulter des conséquences sur lesquelles vous n'aurez aucun
+ contrôle. Réfléchissez bien avant de donner ce privilège à vos
utilisateurs. Notez aussi que ne pas donner aux utilisateurs les
- privilèges dont ils ont besoin va entraîner une augmentation des
- demandes de support technique. Assurez-vous d'avoir informé
- clairement vos utilisateurs du niveau de privilèges que vous leur
- avez attribué. Indiquer exactement comment vous avez défini la
+ privilèges dont ils ont besoin va entraîner une augmentation des
+ demandes de support technique. Assurez-vous d'avoir informé
+ clairement vos utilisateurs du niveau de privilèges que vous leur
+ avez attribué. Indiquer exactement comment vous avez défini la
directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> et
diriger les utilisateurs vers la documentation correspondante vous
- évitera bien des confusions ultérieures.</p>
+ évitera bien des confusions ultérieures.</p>
<p>Notez que mettre un fichier <code>.htaccess</code> contenant une
- directive dans un répertoire <code>/www/htdocs/exemple</code>
- revient exactement au même que mettre la même directive dans une
+ directive dans un répertoire <code>/www/htdocs/exemple</code>
+ revient exactement au même que mettre la même directive dans une
section Directory <code><Directory "/www/htdocs/exemple"></code>
du fichier de configuration de votre serveur principal :</p>
</div>
<p>Cependant, la perte de performances sera moindre si vous
- définissez cette directive dans la configuration de
- votre serveur principal, car cette dernière ne sera chargée qu'une
- seule fois au moment du démarrage du serveur, alors qu'elle le sera
- à chaque accès dans le cas d'un fichier <code>.htaccess</code>.</p>
+ définissez cette directive dans la configuration de
+ votre serveur principal, car cette dernière ne sera chargée qu'une
+ seule fois au moment du démarrage du serveur, alors qu'elle le sera
+ à chaque accès dans le cas d'un fichier <code>.htaccess</code>.</p>
- <p>L'utilisation des fichiers <code>.htaccess</code> peut être
- entièrement désactivée en définissant la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> à <code>none</code> :</p>
+ <p>L'utilisation des fichiers <code>.htaccess</code> peut être
+ entièrement désactivée en définissant la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> à <code>none</code> :</p>
<pre class="prettyprint lang-config">AllowOverride None</pre>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="how" id="how">Comment sont appliquées les directives ?</a><a title="Lien permanent" href="#how" class="permalink">¶</a></h2>
+<h2><a name="how" id="how">Comment sont appliquées les directives ?</a><a title="Lien permanent" href="#how" class="permalink">¶</a></h2>
- <p>Les directives de configuration situées dans un fichier
- <code>.htaccess</code> s'appliquent au répertoire dans lequel ce
- fichier <code>.htaccess</code> se trouve, ainsi qu'à tous ses
- sous-répertoires. Cependant, il est important de garder à l'esprit
+ <p>Les directives de configuration situées dans un fichier
+ <code>.htaccess</code> s'appliquent au répertoire dans lequel ce
+ fichier <code>.htaccess</code> se trouve, ainsi qu'à tous ses
+ sous-répertoires. Cependant, il est important de garder à l'esprit
qu'il peut y avoir des fichiers <code>.htaccess</code> dans les
- répertoires de niveau supérieur. Les directives sont appliquées
- selon l'ordre dans lequel elles sont rencontrées. Ainsi, les
- directives d'un fichier <code>.htaccess</code> situé dans un
- répertoire particulier peuvent écraser les directives se trouvant
- dans des fichiers <code>.htaccess</code> situés à un niveau
- supérieur dans l'arborescence des répertoires. Et ces dernières
- peuvent elles-mêmes avoir écrasé des directives d'un fichier
- <code>.htaccess</code> situé à un niveau encore plus haut, ou dans
+ répertoires de niveau supérieur. Les directives sont appliquées
+ selon l'ordre dans lequel elles sont rencontrées. Ainsi, les
+ directives d'un fichier <code>.htaccess</code> situé dans un
+ répertoire particulier peuvent écraser les directives se trouvant
+ dans des fichiers <code>.htaccess</code> situés à un niveau
+ supérieur dans l'arborescence des répertoires. Et ces dernières
+ peuvent elles-mêmes avoir écrasé des directives d'un fichier
+ <code>.htaccess</code> situé à un niveau encore plus haut, ou dans
le fichier de configuration du serveur principal.</p>
<p>Exemple :</p>
- <p>Dans le répertoire <code>/www/htdocs/exemple1</code> se trouve un
+ <p>Dans le répertoire <code>/www/htdocs/exemple1</code> se trouve un
fichier <code>.htaccess</code> contenant ce qui suit :</p>
<pre class="prettyprint lang-config">Options +ExecCGI</pre>
- <p>Note : "<code>AllowOverride Options</code>" doit être présent
+ <p>Note : "<code>AllowOverride Options</code>" doit être présent
pour permettre l'utilisation de la directive "<code class="directive"><a href="../mod/core.html#options">Options</a></code>" dans les fichiers
<code>.htaccess</code>.</p>
- <p>Dans le répertoire <code>/www/htdocs/exemple1/exemple2</code> se
+ <p>Dans le répertoire <code>/www/htdocs/exemple1/exemple2</code> se
trouve un fichier <code>.htaccess</code> contenant ce qui suit
:</p>
<pre class="prettyprint lang-config">Options Includes</pre>
- <p>Ainsi, à cause de ce second fichier <code>.htaccess</code> du
- répertoire <code>/www/htdocs/exemple1/exemple2</code>, l'exécution
- des CGI est interdite, car la dernière définition d'options
- <code>Options Includes</code> écrase toute autre définition
- d'options d'un fichier <code>.htaccess</code> situé dans un
- répertoire de niveau supérieur.</p>
+ <p>Ainsi, à cause de ce second fichier <code>.htaccess</code> du
+ répertoire <code>/www/htdocs/exemple1/exemple2</code>, l'exécution
+ des CGI est interdite, car la dernière définition d'options
+ <code>Options Includes</code> écrase toute autre définition
+ d'options d'un fichier <code>.htaccess</code> situé dans un
+ répertoire de niveau supérieur.</p>
<h3><a name="merge" id="merge">Interactions entre les fichiers .htaccess
et les fichiers de configuration du serveur principal</a></h3>
- <p>Comme indiqué dans la documentation sur les <a href="../sections.html">Sections de configuration</a>, les fichiers
- <code>.htaccess</code> peuvent écraser les directives des sections
+ <p>Comme indiqué dans la documentation sur les <a href="../sections.html">Sections de configuration</a>, les fichiers
+ <code>.htaccess</code> peuvent écraser les directives des sections
<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> pour
- le répertoire correspondant, mais peuvent eux-mêmes être écrasés
+ le répertoire correspondant, mais peuvent eux-mêmes être écrasés
par d'autres types de sections des fichiers de la
- configuration principale. Cette possibilité peut s'avérer utile pour
- forcer certaines configurations, même en cas de présence de l'option
- libérale <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Par
- exemple, pour interdire l'exécution de scripts en autorisant la
- définition de toute autre option dans les fichiers
+ configuration principale. Cette possibilité peut s'avérer utile pour
+ forcer certaines configurations, même en cas de présence de l'option
+ libérale <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Par
+ exemple, pour interdire l'exécution de scripts en autorisant la
+ définition de toute autre option dans les fichiers
<code>.htaccess</code>, vous pouvez utiliser :</p>
<pre class="prettyprint lang-config"><Directory "/www/htdocs">
</Location></pre>
- <div class="note">Dans cet exemple, on considère que le chemin défini par la
+ <div class="note">Dans cet exemple, on considère que le chemin défini par la
directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> est
<code>/www/htdocs</code>.</div>
<div class="section">
<h2><a name="auth" id="auth">Exemple d'authentification</a><a title="Lien permanent" href="#auth" class="permalink">¶</a></h2>
- <p>Si vous accédez directement à ce point du document pour apprendre
- à effectuer une authentification, il est important de noter ceci. Il
- existe une fausse idée selon laquelle il serait nécessaire
- d'utiliser les fichiers <code>.htaccess</code> pour implémenter
+ <p>Si vous accédez directement à ce point du document pour apprendre
+ à effectuer une authentification, il est important de noter ceci. Il
+ existe une fausse idée selon laquelle il serait nécessaire
+ d'utiliser les fichiers <code>.htaccess</code> pour implémenter
l'authentification par mot de passe. Ceci est tout simplement faux.
- Pour y parvenir, il est préférable de mettre les directives
+ Pour y parvenir, il est préférable de mettre les directives
d'authentification dans une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> du fichier de configuration de
votre serveur principal, et les fichiers <code>.htaccess</code> ne
- devraient être utilisés que dans le cas où vous n'avez pas accès au
+ devraient être utilisés que dans le cas où vous n'avez pas accès au
fichier de configuration du serveur principal. Voir <a href="#when">ci-dessus</a> pour savoir dans quels cas vous devez ou
ne devez pas utiliser les fichiers <code>.htaccess</code>.</p>
- <p>Ceci étant dit, si vous pensez que vous devez quand-même utiliser
+ <p>Ceci étant dit, si vous pensez que vous devez quand-même utiliser
un fichier <code>.htaccess</code>, vous pouvez utiliser la
configuration suivante :</p>
Require group admins</pre>
- <p>Notez que <code>AllowOverride AuthConfig</code> doit être présent
+ <p>Notez que <code>AllowOverride AuthConfig</code> doit être présent
pour que ces directives produisent leur effet.</p>
- <p>Vous pouvez vous référer au <a href="auth.html">tutoriel sur
- l'authentification</a> pour une description plus détaillée de
+ <p>Vous pouvez vous référer au <a href="auth.html">tutoriel sur
+ l'authentification</a> pour une description plus détaillée de
l'authentification et de l'autorisation.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="ssi" id="ssi">Exemple d'Inclusion Côté Serveur (Server Side
+<h2><a name="ssi" id="ssi">Exemple d'Inclusion Côté Serveur (Server Side
Includes - SSI)</a><a title="Lien permanent" href="#ssi" class="permalink">¶</a></h2>
<p>Les fichiers <code>.htaccess</code> sont aussi couramment
- utilisés pour activer les SSI pour un répertoire particulier. Pour y
+ utilisés pour activer les SSI pour un répertoire particulier. Pour y
parvenir, on utilise les directives de configuration suivantes,
- placées dans un fichier <code>.htaccess</code> enregistré dans le
- répertoire considéré :</p>
+ placées dans un fichier <code>.htaccess</code> enregistré dans le
+ répertoire considéré :</p>
<pre class="prettyprint lang-config">Options +Includes
AddType text/html "shtml"
<p>Notez que <code>AllowOverride Options</code> et <code>AllowOverride
- FileInfo</code> doivent être tous les deux présents pour que ces
+ FileInfo</code> doivent être tous les deux présents pour que ces
directives puissent produire leur effet.</p>
- <p>Vous pouvez vous référer au <a href="ssi.html">tutoriel SSI</a>
- pour une description plus détaillée des SSI.</p>
+ <p>Vous pouvez vous référer au <a href="ssi.html">tutoriel SSI</a>
+ pour une description plus détaillée des SSI.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="rewrite" id="rewrite">Les règles de réécriture dans les fichiers .htaccess</a><a title="Lien permanent" href="#rewrite" class="permalink">¶</a></h2>
+<h2><a name="rewrite" id="rewrite">Les règles de réécriture dans les fichiers .htaccess</a><a title="Lien permanent" href="#rewrite" class="permalink">¶</a></h2>
<p>Sivous utilisez des directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> dans un fichier
-<code>.htaccess</code>, gardez à l'esprit que les choses sont légèrement
-différentes dans un contexte de répertoire. En particulier, les règles
-sont relatives au répertoire courant, et non à l'URI original. Considérez
+<code>.htaccess</code>, gardez à l'esprit que les choses sont légèrement
+différentes dans un contexte de répertoire. En particulier, les règles
+sont relatives au répertoire courant, et non à l'URI original. Considérez
les exemples suivants :</p>
<pre class="prettyprint lang-config"># Dans httpd.conf
RewriteRule "^/images/(.+)\.jpg" "/images/$1.png"
-# Dans un fichier .htaccess situé dans le répertoire racine de vos
+# Dans un fichier .htaccess situé dans le répertoire racine de vos
# documents
RewriteRule "^images/(.+)\.jpg" "images/$1.png"
-# Dans un fichier .htaccess situé dans le répertoire images/
+# Dans un fichier .htaccess situé dans le répertoire images/
RewriteRule "^(.+)\.jpg" "$1.png"</pre>
-<p>On voit que si le fichier <code>.htaccess</code> se situe à la racine
-de vos documents, le slash de tête est supprimé de la valeur de
-remplacement spécifiée pour la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>, et que si le fichier
-<code>.htaccess</code> se situe dans le répertoire <code>images</code>,
-la chaîne <code>/images/</code> disparaît de cette même valeur de
-remplacement. Il doit donc en être de même dans votre expression
+<p>On voit que si le fichier <code>.htaccess</code> se situe à la racine
+de vos documents, le slash de tête est supprimé de la valeur de
+remplacement spécifiée pour la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>, et que si le fichier
+<code>.htaccess</code> se situe dans le répertoire <code>images</code>,
+la chaîne <code>/images/</code> disparaît de cette même valeur de
+remplacement. Il doit donc en être de même dans votre expression
rationnelle.</p>
-<p>Veuillez vous référer à cette <a href="../rewrite/">documentation</a>
-pour une étude détaillée de l'utilisation du module
+<p>Veuillez vous référer à cette <a href="../rewrite/">documentation</a>
+pour une étude détaillée de l'utilisation du module
<code>mod_rewrite</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="cgi" id="cgi">Exemple de CGI</a><a title="Lien permanent" href="#cgi" class="permalink">¶</a></h2>
- <p>En fin de compte, vous avez décidé d'utiliser un fichier
- <code>.htaccess</code> pour permettre l'exécution des programmes CGI
- dans un répertoire particulier. Pour y parvenir, vous pouvez
+ <p>En fin de compte, vous avez décidé d'utiliser un fichier
+ <code>.htaccess</code> pour permettre l'exécution des programmes CGI
+ dans un répertoire particulier. Pour y parvenir, vous pouvez
utiliser la configuration suivante :</p>
<pre class="prettyprint lang-config">Options +ExecCGI
<p>Alternativement, si vous souhaitez que tous les fichiers d'un
- répertoire donné soient considérés comme des programmes CGI, vous
+ répertoire donné soient considérés comme des programmes CGI, vous
pouvez utiliser la configuration suivante :</p>
<pre class="prettyprint lang-config">Options +ExecCGI
<p>Notez que <code>AllowOverride Options</code> et <code>AllowOverride
- FileInfo</code> doivent être tous les deux présents pour que ces
+ FileInfo</code> doivent être tous les deux présents pour que ces
directives puissent produire leur effet.</p>
- <p>Vous pouvez vous référer au <a href="cgi.html">tutoriel CGI</a>
- pour une description plus détaillée de la configuration et de la
+ <p>Vous pouvez vous référer au <a href="cgi.html">tutoriel CGI</a>
+ pour une description plus détaillée de la configuration et de la
proprammation CGI.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="troubleshoot" id="troubleshoot">Résolution des problèmes</a><a title="Lien permanent" href="#troubleshoot" class="permalink">¶</a></h2>
+<h2><a name="troubleshoot" id="troubleshoot">Résolution des problèmes</a><a title="Lien permanent" href="#troubleshoot" class="permalink">¶</a></h2>
- <p>De nombreuses raisons peuvent être à l'origine du fait que
+ <p>De nombreuses raisons peuvent être à l'origine du fait que
les directives que vous avez mises dans un fichier
- <code>.htaccess</code> ne produisent pas l'effet désiré.</p>
+ <code>.htaccess</code> ne produisent pas l'effet désiré.</p>
- <p>Le plus souvent, le problème vient du fait que la définition de
+ <p>Le plus souvent, le problème vient du fait que la définition de
la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>
ne permet pas l'activation des directives de votre fichier
- <code>.htaccess</code>. Vérifiez si une directive
- <code>AllowOverride None</code> n'affecte pas le répertoire où se
- trouve votre fichier. Un bon test consiste à mettre des directives
- dont la syntaxe est erronée dans votre ficher <code>.htaccess</code>
- et de recharger la page. Si aucune erreur n'est générée par le
+ <code>.htaccess</code>. Vérifiez si une directive
+ <code>AllowOverride None</code> n'affecte pas le répertoire où se
+ trouve votre fichier. Un bon test consiste à mettre des directives
+ dont la syntaxe est erronée dans votre ficher <code>.htaccess</code>
+ et de recharger la page. Si aucune erreur n'est générée par le
serveur, il est pratiquement certain qu'une directive
- <code>AllowOverride None</code> affecte votre répertoire.</p>
+ <code>AllowOverride None</code> affecte votre répertoire.</p>
<p>Par contre, si vous obtenez des erreurs de serveur lorsque vous
- tentez d'accéder à des documents, consultez votre journal des
+ tentez d'accéder à des documents, consultez votre journal des
erreurs de httpd. Il vous indiquera probablement que la directive
- utilisée dans votre fichier <code>.htaccess</code> n'est pas
+ utilisée dans votre fichier <code>.htaccess</code> n'est pas
permise.</p>
<div class="example"><p><code>
</code></p></div>
<p>Cela signifie soit que vous utilisez une directive qui n'est
jamais permise dans les fichiers <code>.htaccess</code>, soit
- que vous n'avez tout simplement pas défini la directive
- <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> à un niveau
+ que vous n'avez tout simplement pas défini la directive
+ <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> à un niveau
suffisant pour la directive que vous utilisez. Consultez la
- documentation de cette directive pour déterminer quel cas
+ documentation de cette directive pour déterminer quel cas
s'applique.</p>
<p>Le journal des erreurs peut aussi vous signaler une erreur de
- syntaxe dans l'usage de la directive elle-même.</p>
+ syntaxe dans l'usage de la directive elle-même.</p>
<div class="example"><p><code>
[Sat Aug 09 16:22:34 2008] [alert] [client 192.168.200.51] /var/www/html/.htaccess: RewriteCond: bad flag delimiters
</code></p></div>
- <p>Dans ce cas, le message d'erreur sera spécifique à l'erreur
+ <p>Dans ce cas, le message d'erreur sera spécifique à l'erreur
de syntaxe que vous avez commise.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/htaccess.html" title="Français"> fr </a> |
+<a href="../es/howto/htaccess.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/htaccess.html" title="Français"> fr </a> |
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p>
+<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">How-To / Tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Guide HTTP/2</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/howto/http2.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/http2.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/http2.html" title="Français"> fr </a></p>
+<a href="../es/howto/http2.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/http2.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
- <p>Ce document est le guide de l'utilisateur de l'implémentation de HTTP/2
- dans Apache httpd. Cette fonctionnalité en est au stade
- <em>expérimental</em>, et des modifications sont à prévoir dans
- les interfaces et les directives avec les changements de versions.
+ <p>Ce document est le guide de l'utilisateur de l'implémentation de HTTP/2
+ dans Apache httpd. Cette fonctionnalité en est au stade
+ <em>de production</em>, et les interfaces et directives devraient donc être
+ dorénavant relativement stables.
</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#protocol">Le protocole HTTP/2</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#basic-config">Configuration de base</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mpm-config">Configuration du MPM</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#clients">Clients</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#tools">Outils efficaces pour déboguer HTTP/2</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#tools">Outils efficaces pour déboguer HTTP/2</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#push">Push serveur</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#earlyhints">Suggestions précoces</a></li>
-</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_http2.html">mod_http2</a></li><li><a href="#comments_section">Commentaires</a></li></ul></div>
+<li><img alt="" src="../images/down.gif" /> <a href="#earlyhints">Suggestions précoces</a></li>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code></li><li><a href="#comments_section">Commentaires</a></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="protocol" id="protocol">Le protocole HTTP/2</a><a title="Lien permanent" href="#protocol" class="permalink">¶</a></h2>
- <p>HTTP/2 est une évolution du protocole de la couche application le plus
- utilisé au monde, HTTP. Cette évolution permet en particulier une utilisation
- plus efficace des ressources réseau. Il ne modifie pas les aspects
- fondamentaux de HTTP (sa sémantique). Entre autres, il y a toujours des
- requêtes, des réponses et des en-têtes. Par conséquent, si vous connaissez
- HTTP/1, vous connaissez déjà 95% de HTTP/2.</p>
- <p>Beaucoup a déjà été écrit à propos de HTTP/2 et de son fonctionnement. La
+ <p>HTTP/2 est une évolution du protocole de la couche application le plus
+ utilisé au monde, HTTP. Cette évolution permet en particulier une utilisation
+ plus efficace des ressources réseau. Il ne modifie pas les aspects
+ fondamentaux de HTTP (sa sémantique). Entre autres, il y a toujours des
+ requêtes, des réponses et des en-têtes. Par conséquent, si vous connaissez
+ HTTP/1, vous connaissez déjà 95% de HTTP/2.</p>
+ <p>Beaucoup a déjà été écrit à propos de HTTP/2 et de son fonctionnement. La
documentation la plus officielle est bien entendu sa <a href="https://tools.ietf.org/html/rfc7540">RFC 7540</a> (ou <a href="http://httpwg.org/specs/rfc7540.html">cette version au format plus
lisible</a>). Vous trouverez ici une description des rouages de HTTP/2 dans
- leurs moindres détails.</p>
- <p>Le premier document à lire lorsqu'on ne connaît pas un mécanisme n'est
- cependant pas sa RFC. Il est préférable de comprendre tout d'abord <em>ce
- que</em> ce mécanisme est censé faire, et seulement ensuite de lire sa RFC
+ leurs moindres détails.</p>
+ <p>Le premier document à lire lorsqu'on ne connaît pas un mécanisme n'est
+ cependant pas sa RFC. Il est préférable de comprendre tout d'abord <em>ce
+ que</em> ce mécanisme est censé faire, et seulement ensuite de lire sa RFC
pour comprendre <em>comment</em> il fonctionne. <a href="https://daniel.haxx.se/http2/">http2 explained</a> de Daniel Stenberg
(l'auteur de <a href="https://curl.haxx.se">curl</a>)
- est un bien meilleur document pour démarrer l'étude de HTTP/2. En outre, de
- nouveaux langages s'ajoutent régulièrement à sa liste de traductions
+ est un bien meilleur document pour démarrer l'étude de HTTP/2. En outre, de
+ nouveaux langages s'ajoutent régulièrement à sa liste de traductions
disponibles !</p>
<p>Si vous n'avez pas envie de le lire parce que vous le trouvez trop long,
- voici certains pièges à éviter et nouveaux termes à connaître avant de lire
+ voici certains pièges à éviter et nouveaux termes à connaître avant de lire
ce document :</p>
<ul>
- <li>A la différence de HTTP/1 qui est en texte pur, HTTP/2 est un
+ <li>A la différence de HTTP/1 qui est en texte pur, HTTP/2 est un
<strong>protocole binaire</strong>, et alors que le premier est lisible par
- un humain (par exemple pour sniffer le trafic réseau), le second ne
+ un humain (par exemple pour sniffer le trafic réseau), le second ne
l'est pas. Voir la <a href="https://http2.github.io/faq/#why-is-http2-binary">FAQ
- officielle</a> pour plus de détails.</li>
- <li><strong>h2</strong> correspond à HTTP/2 sur TLS (négociation de
+ officielle</a> pour plus de détails.</li>
+ <li><strong>h2</strong> correspond à HTTP/2 sur TLS (négociation de
protocole via ALPN).</li>
- <li><strong>h2c</strong> correspond à HTTP/2 sur TCP.</li>
- <li>Une <strong>frame</strong> ou trame est la plus petite unité de
- communication au sein d'une connexion HTTP/2 et comporte une en-tête et
- une séquence d'octets de longueur variable dont la structure correspond
+ <li><strong>h2c</strong> correspond à HTTP/2 sur TCP.</li>
+ <li>Une <strong>frame</strong> ou trame est la plus petite unité de
+ communication au sein d'une connexion HTTP/2 et comporte une en-tête et
+ une séquence d'octets de longueur variable dont la structure correspond
au type de trame. Voir la <a href="http://httpwg.org/specs/rfc7540.html#FramingLayer">section
correspondante</a> de la documentation officielle pour plus de
- détails.</li>
+ détails.</li>
<li>Un <strong>stream</strong> est un flux bidirectionnel de frames au
sein d'une connexion HTTP/2. La notion correspondante dans HTTP/1 est un
- échange de messages de type requête et réponse. Voir la <a href="http://httpwg.org/specs/rfc7540.html#StreamsLayer">section
- correspondante</a> de la documentation officielle pour plus de détails.</li>
- <li>HTTP/2 peut gérer <strong>plusieurs streams</strong> de données sur
- la même connexion TCP, ce qui permet d'éviter le point de blocage
- classique de HTTP/1 pour les requêtes lentes, et de ne pas avoir à
- ouvrir de nouvelles connexions TCP pour chaque requête/réponse (les
- connexions persistantes ou KeepAlive avaient contourné le problème dans
- HTTP/1 mais ne l'avaient pas entièrement résolu)</li>
+ échange de messages de type requête et réponse. Voir la <a href="http://httpwg.org/specs/rfc7540.html#StreamsLayer">section
+ correspondante</a> de la documentation officielle pour plus de détails.</li>
+ <li>HTTP/2 peut gérer <strong>plusieurs streams</strong> de données sur
+ la même connexion TCP, ce qui permet d'éviter le point de blocage
+ classique de HTTP/1 pour les requêtes lentes, et de ne pas avoir à
+ ouvrir de nouvelles connexions TCP pour chaque requête/réponse (les
+ connexions persistantes ou KeepAlive avaient contourné le problème dans
+ HTTP/1 mais ne l'avaient pas entièrement résolu)</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="implementation" id="implementation">HTTP/2 dans Apache httpd</a><a title="Lien permanent" href="#implementation" class="permalink">¶</a></h2>
- <p>Le protocole HTTP/2 est implémenté dans Apache httpd via un module
- propre, pertinemment nommé <a href="../mod/mod_http2.html">mod_http2</a>. Ce
- module implémente toutes les fonctionnalités décrites par la RFC 7540 et
- supporte les connexions en texte pur (http:), ou sécurisées (https:).
- La variante texte pur se nomme '<code>h2c</code>', et la variante sécurisée
- '<code>h2</code>'. <code>h2c</code> peut être en mode <em>direct</em> ou
- <code>Upgrade:</code> via une requête initiale en HTTP/1.</p>
- <p><a href="#push">Server Push</a> est une nouvelle fonctionnalité offerte
- aux développeurs web par HTTP/2. La section correspondante de ce document
+ <p>Le protocole HTTP/2 est implémenté dans Apache httpd via un module
+ propre, pertinemment nommé <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code>. Ce
+ module implémente toutes les fonctionnalités décrites par la RFC 7540 et
+ supporte les connexions en texte pur (http:), ou sécurisées (https:).
+ La variante texte pur se nomme '<code>h2c</code>', et la variante sécurisée
+ '<code>h2</code>'. <code>h2c</code> peut être en mode <em>direct</em> ou
+ <code>Upgrade:</code> via une requête initiale en HTTP/1.</p>
+ <p><a href="#push">Server Push</a> est une nouvelle fonctionnalité offerte
+ aux développeurs web par HTTP/2. La section correspondante de ce document
vous indiquera comment votre application peut en tirer parti.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="building" id="building">Compilation de httpd avec le support de HTTP/2</a><a title="Lien permanent" href="#building" class="permalink">¶</a></h2>
- <p><a href="../mod/mod_http2.html">mod_http2</a> se base sur la bibliothèque
- de <a href="https://nghttp2.org">nghttp2</a> pour son implémentation. Pour
- pouvoir compiler <code>mod_http2</code>, <code>libnghttp2</code> version
- 1.2.1. ou supérieure doit être installée dans votre système.</p>
- <p>Pour déclencher la compilation de <code>mod_http2</code>, vous devez
+ <p><code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> se base sur la bibliothèque
+ de <a href="https://nghttp2.org">nghttp2</a> pour son implémentation. Pour
+ pouvoir compiler <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code>, <code>libnghttp2</code> version
+ 1.2.1. ou supérieure doit être installée dans votre système.</p>
+ <p>Pour déclencher la compilation de <code>mod_http2</code>, vous devez
ajouter l'argument '<code>--enable-http2</code>' au script
- <code>./configure</code> que vous exécutez à la racine de l'arborescence des
- sources de httpd. Si <code>libnghttp2</code> est installée dans un
- répertoire non connu du chemin de vos bibliothèques, vous devez indiquer ce
- répertoire au script <code>./configure</code> via l'argument
+ <code>./configure</code> que vous exécutez à la racine de l'arborescence des
+ sources de httpd. Si <code>libnghttp2</code> est installée dans un
+ répertoire non connu du chemin de vos bibliothèques, vous devez indiquer ce
+ répertoire au script <code>./configure</code> via l'argument
'<code>--with-nghttp2=<path></code>'.</p>
- <p>Alors que cette méthode de compilation conviendra à la plupart, certains
- préféreront lier statiquement <code>nghttp2</code> à ce module. Pour ce
+ <p>Alors que cette méthode de compilation conviendra à la plupart, certains
+ préféreront lier statiquement <code>nghttp2</code> à ce module. Pour ce
faire, utilisez l'argument <code>--enable-nghttp2-staticlib-deps</code>.
- Cette méthode est pratiquement la même que celle utilisée pour lier
- statiquement openssl à mod_ssl.</p>
+ Cette méthode est pratiquement la même que celle utilisée pour lier
+ statiquement openssl à <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>.</p>
<p>En parlant de SSL, vous devez savoir que la plupart des navigateurs ne
- communiqueront en HTTP/2 que sur des URLs sécurisées de type
+ communiqueront en HTTP/2 que sur des URLs sécurisées de type
<code>https:</code> ; votre serveur doit donc supporter SSL. Mais de plus,
- votre bibliothèque SSL devra supporter l'extension <code>ALPN</code>. Enfin,
- si la bibliothèque que vous utilisez est OpenSSL, sa version devra être
- 1.0.2. ou supérieure.</p>
+ votre bibliothèque SSL devra supporter l'extension <code>ALPN</code>. Enfin,
+ si la bibliothèque que vous utilisez est OpenSSL, sa version devra être
+ 1.0.2. ou supérieure.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="basic-config" id="basic-config">Configuration de base</a><a title="Lien permanent" href="#basic-config" class="permalink">¶</a></h2>
- <p>Maintenant que vous disposez d'un binaire <code>httpd</code> compilé avec le
- module <code>mod_http2</code>, l'activation de ce dernier nécessite un
- minimum de configuration supplémentaire. En premier lieu, comme pour tout
+ <p>Maintenant que vous disposez d'un binaire <code>httpd</code> compilé avec le
+ module <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code>, l'activation de ce dernier nécessite un
+ minimum de configuration supplémentaire. En premier lieu, comme pour tout
module Apache, vous devez le charger :</p>
<pre class="prettyprint lang-config">LoadModule http2_module modules/mod_http2.so</pre>
- <p>La seconde directive que vous devez ajouter à votre fichier de
+ <p>La seconde directive que vous devez ajouter à votre fichier de
configuration est</p>
<pre class="prettyprint lang-config">Protocols h2 http/1.1</pre>
- <p>Ceci permet de définir h2, la variante sécurisée, comme le protocole
- préféré pour les connexions à votre serveur. Si vous souhaitez que toutes les
+ <p>Ceci permet de définir h2, la variante sécurisée, comme le protocole
+ préféré pour les connexions à votre serveur. Si vous souhaitez que toutes les
variantes soient disponibles, utilisez la directive suivante :</p>
<pre class="prettyprint lang-config">Protocols h2 h2c http/1.1</pre>
- <p>Selon l'endroit où vous placez cette directive, elle affectera l'ensemble
+ <p>Selon l'endroit où vous placez cette directive, elle affectera l'ensemble
de votre serveur, ou seulement un ou plusieurs serveurs virtuels. Vous
pouvez aussi l'imbriquer comme dans l'exemple suivant :</p>
<pre class="prettyprint lang-config">Protocols http/1.1
<p>Seules les connexions en HTTP/1 seront alors permises, sauf pour le serveur
virtuel <code>test.example.org</code> qui acceptera aussi les connexions SSL
en HTTP/2.</p>
- <div class="note"><h3>Utilisez une chaîne d'algorithmes de chiffrement forte</h3>
+ <div class="note"><h3>Utilisez une chaîne d'algorithmes de chiffrement forte</h3>
<p>La directive <code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code> doit
- être définie avec une chaîne d'algorithmes de chiffrement TLS forte. Même si
- la version actuelle de mod_http2 n'impose pas d'algorithmes de chiffrement
+ être définie avec une chaîne d'algorithmes de chiffrement TLS forte. Même si
+ la version actuelle de <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> n'impose pas d'algorithmes de chiffrement
particuliers, la plupart des clients le font. Faire pointer un navigateur
- vers un serveur où <code>h2</code> est activé avec une chaîne d'algorithmes
- de chiffrement inappropriée entraînera un rejet et une retrogradation vers
+ vers un serveur où <code>h2</code> est activé avec une chaîne d'algorithmes
+ de chiffrement inappropriée entraînera un rejet et une retrogradation vers
HTTP 1.1. C'est une erreur que l'on fait couramment lorsqu'on configure
- httpd pour HTTP/2 pour la première fois ; donc gardez la à l'esprit si vous
- voulez éviter de longues sessions de débogage ! Si vous voulez être sûr de
- définir une chaîne d'algorithmes de chiffrement appropriée, évitez ceux qui
- sont listés dans la <a href="http://httpwg.org/specs/rfc7540.html#BadCipherSuites">blacklist TLS HTTP/2
+ httpd pour HTTP/2 pour la première fois ; donc gardez la à l'esprit si vous
+ voulez éviter de longues sessions de débogage ! Si vous voulez être sûr de
+ définir une chaîne d'algorithmes de chiffrement appropriée, évitez ceux qui
+ sont listés dans la <a href="http://httpwg.org/specs/rfc7540.html#BadCipherSuites">blacklist TLS HTTP/2
</a>.</p>
</div>
- <p>L'ordre des protocoles indiqués est aussi important. Par défaut, le
- premier sera le protocole préféré. Lorsqu'un client offre plusieurs choix,
- c'est le plus à gauche qui sera sélectionné. Dans</p>
+ <p>L'ordre des protocoles indiqués est aussi important. Par défaut, le
+ premier sera le protocole préféré. Lorsqu'un client offre plusieurs choix,
+ c'est le plus à gauche qui sera sélectionné. Dans</p>
<pre class="prettyprint lang-config">Protocols http/1.1 h2</pre>
- <p>le protocole préféré sera HTTP/1 et il sera toujours sélectionné sauf si
+ <p>le protocole préféré sera HTTP/1 et il sera toujours sélectionné sauf si
un client ne supporte <em>que</em> h2. Comme nous souhaitons communiquer en
- HTTP/2 avec les clients qui le supportent, la meilleure définition de la
+ HTTP/2 avec les clients qui le supportent, la meilleure définition de la
directive est</p>
<pre class="prettyprint lang-config">Protocols h2 h2c http/1.1</pre>
- <p>Toujours à propos de l'ordre des protocoles, le client a lui aussi ses
- propres préférences en la matière. À ce titre, si vous le souhaitez, vous
- pouvez configurer votre serveur pour qu'il sélectionne non plus son
- protocole préféré, mais au contraire le protocole préféré
+ <p>Toujours à propos de l'ordre des protocoles, le client a lui aussi ses
+ propres préférences en la matière. À ce titre, si vous le souhaitez, vous
+ pouvez configurer votre serveur pour qu'il sélectionne non plus son
+ protocole préféré, mais au contraire le protocole préféré
du client :</p>
<pre class="prettyprint lang-config">ProtocolsHonorOrder Off</pre>
<p>Avec cette directive, l'ordre des protocoles que <em>vous</em> avez
- défini devient caduque et seul l'ordre défini par le client sera pris en
+ défini devient caduque et seul l'ordre défini par le client sera pris en
compte.</p>
- <p>Une dernière chose : les protocoles que vous définissez ne sont pas vérifiés
- quant à leurs validité ou orthographe. Vous pouvez très bien définir des
- protocoles qui n'existent pas, et il n'est donc pas nécessaire de filtrer
- les <code>Protocoles</code> avec des vérifications de type
- <code>IfModule</code>.</p>
- <p>Pour des conseils plus avancés à propos de la configuration, voir la <a href="../mod/mod_http2.html">Documentation de mod_http2</a>, et en particulier
- la section à propos de la <a href="../mod/mod_http2.html#dimensioning">consommation supplémentaire de
- ressources</a>, ainsi que la section expliquant comment gérer les <a href="../mod/mod_http2.html#misdirected">serveurs multiples avec certificat
+ <p>Une dernière chose : les protocoles que vous définissez ne sont pas
+ vérifiés quant à leurs validité ou orthographe. Vous pouvez très bien
+ définir des protocoles qui n'existent pas, et il n'est donc pas nécessaire
+ de filtrer le contenu de la directive <code class="directive"><a href="../mod/core.html#protocols">Protocols</a></code> avec des vérifications de type
+ <code class="directive"><a href="../mod/core.html#ifmodule"><IfModule></a></code>.</p>
+ <p>Pour des conseils plus avancés à propos de la configuration, voir la <a href="../mod/mod_http2.html">Documentation de mod_http2</a>, et en particulier
+ la section à propos de la <a href="../mod/mod_http2.html#dimensioning">consommation supplémentaire de
+ ressources</a>, ainsi que la section expliquant comment gérer les <a href="../mod/mod_http2.html#misdirected">serveurs multiples avec certificat
commun</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<p>Tous les modules multiprocessus (MPM) fournis avec httpd supportent
- HTTP/2. Cependant, si vous utilisez le MPM <code>prefork</code>, vous allez
- faire face à de sévères restrictions.</p>
- <p>Avec le MPM <code>prefork</code>, <code>mod_http2</code> ne traitera
- qu'une requête à la fois par connexion alors que les clients tels que les
- navigateurs internet envoient de nombreuses requêtes au même moment. Si
- l'une d'entre elles est longue à traiter (ou implique une longue
- interrogation), les autres requêtes seront mises en attente.</p>
- <p>Par défaut, <code>mod_http2</code> ne passe pas outre cette limitation pour
- la simple et bonne raison que le MPM <code>prefork</code> n'est aujourd'hui
- choisi que si vous exécutez des moteurs de traitement qui ne sont pas préparés
+ HTTP/2. Cependant, si vous utilisez le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code>, vous allez
+ faire face à de sévères restrictions.</p>
+ <p>Avec le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> ne traitera
+ qu'une requête à la fois par connexion alors que les clients tels que les
+ navigateurs internet envoient de nombreuses requêtes au même moment. Si
+ l'une d'entre elles est longue à traiter (ou implique une longue
+ interrogation), les autres requêtes seront mises en attente.</p>
+ <p>Par défaut, <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> ne passe pas outre cette limitation pour
+ la simple et bonne raison que le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code> n'est aujourd'hui
+ choisi que si vous exécutez des moteurs de traitement qui ne sont pas préparés
pour le multithreading (par exemple qui se crashent lorsque plusieurs
- requêtes arrivent).</p>
+ requêtes arrivent).</p>
<p>Si votre plateforme et votre installation de httpd le supportent, la
- meilleur solution consiste actuellement à utiliser le MPM
- <code>event</code>.
+ meilleur solution consiste actuellement à utiliser le MPM
+ <code class="module"><a href="../mod/event.html">event</a></code>.
</p>
<p>Si vous n'avez pas d'autre choix que d'utiliser le MPM
- <code>prefork</code>, mais souhaitez tout de même traiter plusieurs requêtes
- simultanément, vous pouvez jouer avec la directive <code class="directive"><a href="../mod/mod_http2.html#h2minworkers">H2MinWorkers</a></code>, sans garantie que cela
+ <code class="module"><a href="../mod/prefork.html">prefork</a></code>, mais souhaitez tout de même traiter plusieurs requêtes
+ simultanément, vous pouvez jouer avec la directive <code class="directive"><a href="../mod/mod_http2.html#h2minworkers">H2MinWorkers</a></code>, sans garantie que cela
fonctionne.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
des connexions SSL : Firefox v43, Chrome v45, Safari v9, iOS Safari v9,
Opera v35, Chrome pour Android v49 et
Internet Explorer v11 sous Windows10 (selon cette <a href="http://caniuse.com/#search=http2">source</a>).</p>
- <p>D'autres clients et serveurs sont listés dans le <a href="https://github.com/http2/http2-spec/wiki/Implementations">wiki des
- implémentations</a> ; entre autres des implémentations pour c, c++, common
+ <p>D'autres clients et serveurs sont listés dans le <a href="https://github.com/http2/http2-spec/wiki/Implementations">wiki des
+ implémentations</a> ; entre autres des implémentations pour c, c++, common
lisp, dart, erlang, haskell, java, nodejs, php, python, perl, ruby, rust,
scala et swift.</p>
- <p>De nombreuses implémentations clientes autres que les navigateurs
+ <p>De nombreuses implémentations clientes autres que les navigateurs
supportent HTTP/2 en texte pur, h2c. L'une des plus efficaces d'entre elles
est <a href="https://curl.haxx.se">curl</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="tools" id="tools">Outils efficaces pour déboguer HTTP/2</a><a title="Lien permanent" href="#tools" class="permalink">¶</a></h2>
+<h2><a name="tools" id="tools">Outils efficaces pour déboguer HTTP/2</a><a title="Lien permanent" href="#tools" class="permalink">¶</a></h2>
- <p>Le premier d'entre eux est bien entendu <a href="https://curl.haxx.se">curl</a>. Assurez-vous au préalable que votre
- version supporte HTTP/2 en vérifiant ses <code>Fonctionnalités</code> :</p>
+ <p>Le premier d'entre eux est bien entendu <a href="https://curl.haxx.se">curl</a>. Assurez-vous au préalable que votre
+ version supporte HTTP/2 en vérifiant ses <code>Fonctionnalités</code> :</p>
<pre class="prettyprint lang-config"> $ curl -V
curl 7.45.0 (x86_64-apple-darwin15.0.0) libcurl/7.45.0 OpenSSL/1.0.2d zlib/1.2.8 nghttp2/1.3.4
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 [...]
<ul>
<li><a href="https://nghttp2.org/documentation/nghttp.1.html">nghttp</a>
- permet de visualiser les trames HTTP/2 et ainsi de se faire une meilleure
- idée du protocole.</li>
+ idée du protocole.</li>
<li><a href="https://nghttp2.org/documentation/h2load-howto.html">h2load</a> -
permet de tester votre serveur dans des conditions extremes.</li>
</ul>
- <p>Chrome fournit des journaux détaillés des connexions HTTP/2 via la page
+ <p>Chrome fournit des journaux détaillés des connexions HTTP/2 via la page
<a href="chrome://net-internals/#http2">special net-internals page</a>. Il y
- a aussi cette extension intéressante pour <a href="https://chrome.google.com/webstore/detail/http2-and-spdy-indicator/mpbpobfflnpcgagjijhmgnchggcjblin?hl=en">Chrome</a>
+ a aussi cette extension intéressante pour <a href="https://chrome.google.com/webstore/detail/http2-and-spdy-indicator/mpbpobfflnpcgagjijhmgnchggcjblin?hl=en">Chrome</a>
et <a href="https://addons.mozilla.org/en-us/firefox/addon/spdy-indicator/">Firefox</a>
qui permet d'indiquer que votre navigateur utilise HTTP/2.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="push" id="push">Push serveur</a><a title="Lien permanent" href="#push" class="permalink">¶</a></h2>
- <p>Le protocole HTTP/2 permet au serveur de proposer (PUSH) des réponses
- pour lesquelles le client n'a rien demandé. La communication autour de ces
- réponses est du style : "voici une requête que vous n'avez jamais
- envoyée, et la réponse vous parviendra bientôt tout de même ..."</p>
- <p>Il y a cependant des conditions : le client peut désactiver cette
- fonctionnalité et le serveur ne pourra alors lui proposer des réponses que
- pour les requêtes qu'il a effectivement envoyées.</p>
- <p>Cette fonctionnalité a pour but de permettre au serveur d'envoyer au
+ <p>Le protocole HTTP/2 permet au serveur de proposer (PUSH) des réponses
+ pour lesquelles le client n'a rien demandé. La communication autour de ces
+ réponses est du style : "voici une requête que vous n'avez jamais
+ envoyée, et la réponse vous parviendra bientôt tout de même ..."</p>
+ <p>Il y a cependant des conditions : le client peut désactiver cette
+ fonctionnalité et le serveur ne pourra alors lui proposer des réponses que
+ pour les requêtes qu'il a effectivement envoyées.</p>
+ <p>Cette fonctionnalité a pour but de permettre au serveur d'envoyer au
client des ressources dont il va probablement avoir besoin : par exemple une
- ressource css ou javascript appartenant à une page html que le client a
- demandée, un jeu d'images référencé par un css, etc...</p>
- <p>Cette anticipation a pour avantage de permettre au client d'économiser le
- temps qu'il lui aurait fallu pour envoyer une requête, quelques
- millisecondes à une demi-seconde en fonction de l'éloignement du serveur.
- Elle a cependant pour inconvénient d'imposer au client le téléchargement de
- ressources qu'il possède peut-être déjà dans son cache. Bien entendu, HTTP/2
- permet d'annuler prématurément de telles requêtes, mais des ressources sont
- tout de même gaspillées.</p>
- <p>En résumé : il n'existe pas encore de stratégie efficace pour faire le
- meilleur usage de cette fonctionnalité de HTTP/2 et tout le monde en est
- encore au stade de l'expérimentation. À ce titre, voici des conseils pour
- procéder vous-même à ces expérimentations :</p>
- <p><code>mod_http2</code> inspecte l'en-tête de la réponse et recherche les
- en-têtes <code>Link</code> sous un certain format :</p>
+ ressource css ou javascript appartenant à une page html que le client a
+ demandée, un jeu d'images référencé par un css, etc...</p>
+ <p>Cette anticipation a pour avantage de permettre au client d'économiser le
+ temps qu'il lui aurait fallu pour envoyer une requête, quelques
+ millisecondes à une demi-seconde en fonction de l'éloignement du serveur.
+ Elle a cependant pour inconvénient d'imposer au client le téléchargement de
+ ressources qu'il possède peut-être déjà dans son cache. Bien entendu, HTTP/2
+ permet d'annuler prématurément de telles requêtes, mais des ressources sont
+ tout de même gaspillées.</p>
+ <p>En résumé : il n'existe pas encore de stratégie efficace pour faire le
+ meilleur usage de cette fonctionnalité de HTTP/2 et tout le monde en est
+ encore au stade de l'expérimentation. À ce titre, voici des conseils pour
+ procéder vous-même à ces expérimentations :</p>
+ <p><code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> inspecte l'en-tête de la réponse et recherche les
+ en-têtes <code>Link</code> sous un certain format :</p>
<pre class="prettyprint lang-config">Link </xxx.css>;rel=preload, </xxx.js>; rel=preload</pre>
- <p>Si la connexion supporte PUSH, ces deux ressources seront envoyées au
- client. En tant que développeur web vous pouvez définir ces en-têtes soit
- directement au niveau de la réponse de votre application, soit en
+ <p>Si la connexion supporte PUSH, ces deux ressources seront envoyées au
+ client. En tant que développeur web vous pouvez définir ces en-têtes soit
+ directement au niveau de la réponse de votre application, soit en
configurant votre serveur via</p>
<pre class="prettyprint lang-config"><Location /xxx.html>
Header add Link "</xxx.css>;rel=preload"
Header add Link "</xxx.js>;rel=preload"
</Location></pre>
- <p>Si vous souhaitez utiliser des liens <code>preload</code> sans déclencher
- de PUSH, vous pouvez utiliser le paramètre <code>nopush</code> comme suit :</p>
+ <p>Si vous souhaitez utiliser des liens <code>preload</code> sans déclencher
+ de PUSH, vous pouvez utiliser le paramètre <code>nopush</code> comme suit :</p>
<pre class="prettyprint lang-config">Link </xxx.css>;rel=preload;nopush</pre>
- <p>Vous pouvez aussi désactiver les PUSHes pour l'ensemble de votre
+ <p>Vous pouvez aussi désactiver les PUSHes pour l'ensemble de votre
serveur via la directive</p>
<pre class="prettyprint lang-config">H2Push Off</pre>
- <p>À savoir aussi :</p>
+ <p>À savoir aussi :</p>
<p>Le module maintient un journal des ressources ayant fait l'objet d'un
- PUSH pour chaque connexion (en général des condensés hash des URLs), et
- n'effectuera pas deux fois un PUSH pour la même ressource. Cependant,
- lorsque la connexion est fermée, le journal de ses PUSHes est supprimé.</p>
- <p>Certains développeurs planchent sur la manière de permettre au client
- d'informer le serveur des ressources qu'il possède déjà dans son cache afin
- d'éviter les PUSHes pour ces dernières, mais ceci n'en est actuellement qu'à
- un stade très expérimental.</p>
+ PUSH pour chaque connexion (en général des condensés hash des URLs), et
+ n'effectuera pas deux fois un PUSH pour la même ressource. Cependant,
+ lorsque la connexion est fermée, le journal de ses PUSHes est supprimé.</p>
+ <p>Certains développeurs planchent sur la manière de permettre au client
+ d'informer le serveur des ressources qu'il possède déjà dans son cache afin
+ d'éviter les PUSHes pour ces dernières, mais ceci n'en est actuellement qu'à
+ un stade très expérimental.</p>
<p>L'<a href="https://tools.ietf.org/html/draft-ruellan-http-accept-push-policy-00">
- en-tête Accept-Push-Policy</a> est un autre dispositif expérimental
- implémenté dans <code>mod_http2</code> ; il permet au client de définir pour
- chaque requête quels genres de PUSHes il accepte.</p>
+ en-tête Accept-Push-Policy</a> est un autre dispositif expérimental
+ implémenté dans <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> ; il permet au client de définir pour
+ chaque requête quels genres de PUSHes il accepte.</p>
<p>
- La fonctionnalité PUSH n'apportera pas toujours le gain de performances dans
- l'obtention de réponses aux requêtes. Vous trouverez plusieurs études sur ce
- sujet sur internet qui en expliquent les avantages et inconvénients et
- comment les particularités des clients et du réseau en influencent le
+ La fonctionnalité PUSH n'apportera pas toujours le gain de performances dans
+ l'obtention de réponses aux requêtes. Vous trouverez plusieurs études sur ce
+ sujet sur internet qui en expliquent les avantages et inconvénients et
+ comment les particularités des clients et du réseau en influencent le
fonctionnement. Par exemple, le seul fait que le serveur PUSHes une
- ressource n'implique pas forcément que le navigateur l'utilisera.</p>
- <p>Ce qui influence le plus la réponse PUSHed, c'est la requête qui a été
- simulée. En effet, l'URL de la requête pour un PUSH est fournie par
- l'application, mais d'où viennent les en-têtes ? Par exemple, La requête
- PUSH requiert-elle un en-tête <code>accept-language</code> et si oui, quelle
+ ressource n'implique pas forcément que le navigateur l'utilisera.</p>
+ <p>Ce qui influence le plus la réponse PUSHed, c'est la requête qui a été
+ simulée. En effet, l'URL de la requête pour un PUSH est fournie par
+ l'application, mais d'où viennent les en-têtes ? Par exemple, La requête
+ PUSH requiert-elle un en-tête <code>accept-language</code> et si oui, quelle
sera sa valeur ?</p>
- <p>httpd va consulter la requête originale (celle qui a déclenché le PUSH)
- et copier les en-têtes suivants vers la requête PUSH :
+ <p>httpd va consulter la requête originale (celle qui a déclenché le PUSH)
+ et copier les en-têtes suivants vers la requête PUSH :
<code>user-agent</code>, <code>accept</code>, <code>accept-encoding</code>,
<code>accept-language</code> et <code>cache-control</code>.</p>
- <p>Tous les autres en-têtes sont ignorés. Les cookies eux non plus ne seront
- pas copiés. PUSHer des ressources qui requièrent la présence d'un cookie ne
- fonctionnera pas. Ceci peut être sujet à débat, mais tant que ce ne sera pas
- clairement discuté avec les navigateurs, restons prudents et évitons
- d'exposer les cookies là où ils ne sont pas censés être visibles.</p>
+ <p>Tous les autres en-têtes sont ignorés. Les cookies eux non plus ne seront
+ pas copiés. PUSHer des ressources qui requièrent la présence d'un cookie ne
+ fonctionnera pas. Ceci peut être sujet à débat, mais tant que ce ne sera pas
+ clairement discuté avec les navigateurs, restons prudents et évitons
+ d'exposer les cookies là où ils ne sont pas censés être visibles.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="earlyhints" id="earlyhints">Suggestions précoces</a><a title="Lien permanent" href="#earlyhints" class="permalink">¶</a></h2>
+<h2><a name="earlyhints" id="earlyhints">Suggestions précoces</a><a title="Lien permanent" href="#earlyhints" class="permalink">¶</a></h2>
- <p>A l'instar des ressources PUSHées, une autre méthode consiste à envoyer
- des en-têtes <code>Link</code> au client avant même que la réponse ne soit
- prête. Cette méthode utilise la fonctionnalité appelée "Suggestions
- précoces" (Early Hints) décrite dans la <a href="https://tools.ietf.org/html/rfc8297">RFC 8297</a>.</p>
- <p>Pour utiliser cette fonctionnalité, vous devez l'activer explicitement
+ <p>A l'instar des ressources PUSHées, une autre méthode consiste à envoyer
+ des en-têtes <code>Link</code> au client avant même que la réponse ne soit
+ prête. Cette méthode utilise la fonctionnalité appelée "Suggestions
+ précoces" (Early Hints) décrite dans la <a href="https://tools.ietf.org/html/rfc8297">RFC 8297</a>.</p>
+ <p>Pour utiliser cette fonctionnalité, vous devez l'activer explicitement
sur le serveur via :</p>
<pre class="prettyprint lang-config">H2EarlyHints on</pre>
- <p>Elle n'est en effet pas activée par défaut car certains navigateurs
- anciens perdent pied avec de telles réponses.</p>
- <p>Une fois cette fonctionnalité activée, vous pouvez utiliser la directive
- <code>H2PushResource</code> pour déclencher les suggestions précoces et les
- PUSHes de ressources :</p>
+ <p>Elle n'est en effet pas activée par défaut car certains navigateurs
+ anciens perdent pied avec de telles réponses.</p>
+ <p>Une fois cette fonctionnalité activée, vous pouvez utiliser la directive
+ <code class="directive"><a href="../mod/mod_http2.html#h2pushresource">H2PushResource</a></code> pour déclencher les
+ suggestions précoces et les PUSHes de ressources :</p>
<pre class="prettyprint lang-config"><Location /xxx.html>
H2PushResource /xxx.css
H2PushResource /xxx.js
</Location></pre>
- <p>Le serveur enverra alors au client une réponse <code>"103 Early
- Hints"</code> dès qu'il <em>commencera</em> à traiter la requête. Selon
- votre application web, cet envoi peut intervenir beaucoup plus tôt que le
- moment où les premiers en-têtes de réponse auront été déterminés.</p>
- <p>Si <code>H2Push</code> est activé, ceci déclenchera aussi le PUSH juste
- après la réponse 103. Mais si <code>H2Push</code> n'est pas activé, la
- réponse 103 sera quand-même envoyée au client.</p>
+ <p>Le serveur enverra alors au client une réponse <code>"103 Early
+ Hints"</code> dès qu'il <em>commencera</em> à traiter la requête. Selon
+ votre application web, cet envoi peut intervenir beaucoup plus tôt que le
+ moment où les premiers en-têtes de réponse auront été déterminés.</p>
+ <p>Si <code class="directive"><a href="../mod/mod_http2.html#h2push">H2Push</a></code> est activé, ceci
+ déclenchera aussi le PUSH juste après la réponse 103. Mais si <code class="directive"><a href="../mod/mod_http2.html#h2push">H2Push</a></code> n'est pas activé, la réponse 103 sera
+ quand-même envoyée au client.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/howto/http2.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/http2.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/http2.html" title="Français"> fr </a></p>
+<a href="../es/howto/http2.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/http2.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<variants>
<variant>en</variant>
<variant outdated="yes">es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>How-To / Tutoriels</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/howto/" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/" title="Français"> fr </a> |
+<a href="../es/howto/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/" title="Français"> fr </a> |
<a href="../ja/howto/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../zh-cn/howto/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
<dl>
<dt>Authentification et autorisation</dt>
<dd>
- <p>L'authentification représente tout processus par lequel vous
- vérifiez si quelqu'un correspond bien à l'identité qu'il
- déclare posséder. L'autorisation représente tout processus
- permettant de savoir si une personne est autorisée à aller là où
- elle veut aller, ou à obtenir les informations qu'elle demande.</p>
+ <p>L'authentification représente tout processus par lequel vous
+ vérifiez si quelqu'un correspond bien à l'identité qu'il
+ déclare posséder. L'autorisation représente tout processus
+ permettant de savoir si une personne est autorisée à aller là où
+ elle veut aller, ou à obtenir les informations qu'elle demande.</p>
<p>Voir <a href="auth.html">Authentification, Autorisation</a></p>
</dd>
</dl>
<dl>
- <dt>Contrôle d'accès</dt>
+ <dt>Contrôle d'accès</dt>
<dd>
- <p>Le contrôle d'accès se réfère au processus permettant
- d'interdire ou d'accorder l'accès à une ressource en fonction de
- certains critères, et il existe de nombreuses façons d'y
+ <p>Le contrôle d'accès se réfère au processus permettant
+ d'interdire ou d'accorder l'accès à une ressource en fonction de
+ certains critères, et il existe de nombreuses façons d'y
parvenir.</p>
- <p>Voir <a href="access.html">Contrôle d'accès</a></p>
+ <p>Voir <a href="access.html">Contrôle d'accès</a></p>
</dd>
</dl>
<dt>Contenu dynamique avec CGI</dt>
<dd>
<p>L'Interface Passerelle Commune CGI (Common Gateway Interface)
- définit pour le serveur web une méthode d'interaction avec des
- programmes externes générateurs de contenu, souvent nommés
- programmes CGI ou scripts CGI. Il s'agit d'une méthode
+ définit pour le serveur web une méthode d'interaction avec des
+ programmes externes générateurs de contenu, souvent nommés
+ programmes CGI ou scripts CGI. Il s'agit d'une méthode
simple permettant d'ajouter du contenu
- dynamique à votre site web. Ce document se veut une introduction
- à la configuration de CGI sur votre serveur web Apache et à
- l'écriture de programmes CGI.</p>
+ dynamique à votre site web. Ce document se veut une introduction
+ à la configuration de CGI sur votre serveur web Apache et à
+ l'écriture de programmes CGI.</p>
<p>Voir <a href="cgi.html">CGI : contenu dynamique</a></p>
</dd>
<dt>Fichiers <code>.htaccess</code></dt>
<dd>
<p>Les fichiers <code>.htaccess</code> permettent de modifier la
- configuration du serveur au niveau de chaque répertoire. À cet
- effet, un fichier est placé dans un répertoire particulier du site
- web, et les directives de configuration qu'il contient s'appliquent à ce
- répertoire et à tous ses sous-répertoires.</p>
+ configuration du serveur au niveau de chaque répertoire. À cet
+ effet, un fichier est placé dans un répertoire particulier du site
+ web, et les directives de configuration qu'il contient s'appliquent à ce
+ répertoire et à tous ses sous-répertoires.</p>
<p>Voir <a href="htaccess.html">Fichiers <code>.htaccess</code></a></p>
</dd>
<dl>
<dt>HTTP/2 avec httpd</dt>
<dd>
- <p>HTTP/2 est une évolution du protocole de la couche application le plus
- connu au monde, HTTP. Les efforts se sont concentrés sur une amélioration
- de l'efficacité de l'utilisation des ressources réseau sans modifier la
- sémantique de HTTP. Ce guide explique la manière dont HTTP/2 est
- implémenté dans httpd, donne des conseils pour une configuration de base
+ <p>HTTP/2 est une évolution du protocole de la couche application le plus
+ connu au monde, HTTP. Les efforts se sont concentrés sur une amélioration
+ de l'efficacité de l'utilisation des ressources réseau sans modifier la
+ sémantique de HTTP. Ce guide explique la manière dont HTTP/2 est
+ implémenté dans httpd, donne des conseils pour une configuration de base
ainsi qu'une liste de recommandations.
</p>
<dl>
- <dt>Introduction au Inclusions côté Serveur (Server Side Includes
+ <dt>Introduction au Inclusions côté Serveur (Server Side Includes
ou SSI)</dt>
<dd>
<p>Les SSI sont des directives que l'on place dans des pages
- HTML, et qui sont évaluées par le serveur lorsque ces pages sont
- servies. Elles vous permettent d'ajouter du contenu généré
- dynamiquement à une page HTML existante, sans avoir à servir
- l'intégralité de la page via un programme CGI, ou toute autre
+ HTML, et qui sont évaluées par le serveur lorsque ces pages sont
+ servies. Elles vous permettent d'ajouter du contenu généré
+ dynamiquement à une page HTML existante, sans avoir à servir
+ l'intégralité de la page via un programme CGI, ou toute autre
technologie dynamique.</p>
<p>Voir <a href="ssi.html">Server Side Includes (SSI)</a></p>
</dl>
<dl>
- <dt>Répertoires web de l'utilisateur</dt>
+ <dt>Répertoires web de l'utilisateur</dt>
<dd>
- <p>Sur les systèmes multi-utilisateurs, vous pouvez laisser
- chaque utilisateur disposer d'un site web dans son répertoire home
+ <p>Sur les systèmes multi-utilisateurs, vous pouvez laisser
+ chaque utilisateur disposer d'un site web dans son répertoire home
via la directive <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code>. Les visiteurs de l'URL
<code>http://example.com/~nom-utilisateur/</code> vont recevoir
- du contenu situé dans le répertoire home de l'utilisateur
- "<code>nom-utilisateur</code>", et dans le sous-répertoire
- spécifié par la directive <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code>.</p>
+ du contenu situé dans le répertoire home de l'utilisateur
+ "<code>nom-utilisateur</code>", et dans le sous-répertoire
+ spécifié par la directive <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code>.</p>
- <p>Voir <a href="public_html.html">Répertoires web des utilisateurs (<code>public_html</code>)</a></p>
+ <p>Voir <a href="public_html.html">Répertoires web des utilisateurs (<code>public_html</code>)</a></p>
</dd>
</dl>
<dl>
<dt>Mandataires inverses</dt>
<dd>
- <p>Apache httpd possède des fonctionnalités évoluées de serveur
+ <p>Apache httpd possède des fonctionnalités évoluées de serveur
mandataire inverse via ses directives <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> et <code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code> qui permettent
- d'implémenter un système de mandataire inverse sophistiqué garantissant
- une haute disponibilité, une répartition et une réattribution de charge,
- un regroupement de serveurs en grappe (clustering) basé sur le cloud et
- une reconfiguration dynamique à la volée.</p>
+ d'implémenter un système de mandataire inverse sophistiqué garantissant
+ une haute disponibilité, une répartition et une réattribution de charge,
+ un regroupement de serveurs en grappe (clustering) basé sur le cloud et
+ une reconfiguration dynamique à la volée.</p>
<p>Voir le <a href="reverse_proxy.html" />Guide de configuration des
mandataires inverses</p>
</dl>
<dl>
- <dt>Réécriture d'URLs avec mod_rewrite</dt>
+ <dt>Réécriture d'URLs avec mod_rewrite</dt>
<dd>
- <p>La réécriture d'URLs avec (ou sans) <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> devient
- l'une des questions les plus fréquentes posées dans nos listes de
- diffusion et nos canaux IRC. C'est pourquoi nous avons dédié une <a href="../rewrite/">section entière de notre documentation</a> à des
+ <p>La réécriture d'URLs avec (ou sans) <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> devient
+ l'une des questions les plus fréquentes posées dans nos listes de
+ diffusion et nos canaux IRC. C'est pourquoi nous avons dédié une <a href="../rewrite/">section entière de notre documentation</a> à des
howtos et recettes sur ce sujet.</p>
</dd>
</dl>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/howto/" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/" title="Français"> fr </a> |
+<a href="../es/howto/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/" title="Français"> fr </a> |
<a href="../ja/howto/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../zh-cn/howto/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Répertoires web utilisateurs - Serveur Apache HTTP Version 2.5</title>
+<title>Répertoires web utilisateurs - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Recettes et tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Répertoires web utilisateurs</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Recettes et tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Répertoires web utilisateurs</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/howto/public_html.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/public_html.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/public_html.html" title="Français"> fr </a> |
+<a href="../es/howto/public_html.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/public_html.html" title="Français"> fr </a> |
<a href="../ja/howto/public_html.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/public_html.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/howto/public_html.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/howto/public_html.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<p>Sur les systèmes multi-utilisateurs, on peut permettre à chaque
-utilisateur d'avoir un site web dans son répertoire home à l'aide de la
+<p>Sur les systèmes multi-utilisateurs, on peut permettre à chaque
+utilisateur d'avoir un site web dans son répertoire home à l'aide de la
directive <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code>. Les
visiteurs de l'URL <code>http://example.com/~nom_utilisateur/</code>
-recevront un contenu situé dans le répertoire home de l'utilisateur
-"<code>nom_utilisateur</code>", et dans le sous-répertoire spécifié par
+recevront un contenu situé dans le répertoire home de l'utilisateur
+"<code>nom_utilisateur</code>", et dans le sous-répertoire spécifié par
la directive <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code>.</p>
-<p>Notez que par défaut, l'accès à ces répertoires n'est
-<strong>pas</strong> permis. Vous pouvez en permettre l'accès à l'aide
+<p>Notez que par défaut, l'accès à ces répertoires n'est
+<strong>pas</strong> permis. Vous pouvez en permettre l'accès à l'aide
de la directive <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> en
-décommentant la ligne :</p>
+décommentant la ligne :</p>
<pre class="prettyprint lang-config">#Include conf/extra/httpd-userdir.conf</pre>
- <p>dans le fichier de configuration par défaut
+ <p>dans le fichier de configuration par défaut
<code>conf/httpd.conf</code>, et en adaptant le
fichier <code>httpd-userdir.conf</code> selon vos besoins, ou en
- incluant les directives appropriées dans une section
+ incluant les directives appropriées dans une section
<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> du fichier de
configuration principal.</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Répertoires web utilisateurs</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#userdir">Définition du chemin des fichiers avec UserDir</a></li>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Répertoires web utilisateurs</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#userdir">Définition du chemin des fichiers avec UserDir</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#redirect">Redirection vers des URLs externes</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#enable">Définition de la liste des utilisateurs autorisés à utiliser
- cette fonctionnalité</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#cgi">Définition d'un répertoire CGI pour chaque utilisateur</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#enable">Définition de la liste des utilisateurs autorisés à utiliser
+ cette fonctionnalité</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cgi">Définition d'un répertoire CGI pour chaque utilisateur</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#htaccess">Permettre aux utilisateurs de modifier la
configuration</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../urlmapping.html">Mise en correspondance des URLs
-avec le système de fichiers</a></li><li><a href="#comments_section">Commentaires</a></li></ul></div>
+avec le système de fichiers</a></li><li><a href="#comments_section">Commentaires</a></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="related" id="related">Répertoires web utilisateurs</a><a title="Lien permanent" href="#related" class="permalink">¶</a></h2>
+<h2><a name="related" id="related">Répertoires web utilisateurs</a><a title="Lien permanent" href="#related" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code></li><li><code class="directive"><a href="../mod/core.html#directorymatch">DirectoryMatch</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code></li><li><code class="directive"><a href="../mod/core.html#directorymatch">DirectoryMatch</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li></ul></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="userdir" id="userdir">Définition du chemin des fichiers avec UserDir</a><a title="Lien permanent" href="#userdir" class="permalink">¶</a></h2>
+<h2><a name="userdir" id="userdir">Définition du chemin des fichiers avec UserDir</a><a title="Lien permanent" href="#userdir" class="permalink">¶</a></h2>
<p>La directive <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code>
- permet de spécifier un répertoire à partir duquel le contenu de
- l'utilisateur pourra être chargé. Elle peut revêtir plusieurs
+ permet de spécifier un répertoire à partir duquel le contenu de
+ l'utilisateur pourra être chargé. Elle peut revêtir plusieurs
formes.</p>
- <p>Si le chemin spécifié ne commence pas par un slash, il sera
- interprété comme chemin relatif au répertoire home de l'utilisateur
- considéré. Par exemple, avec cette configuration :</p>
+ <p>Si le chemin spécifié ne commence pas par un slash, il sera
+ interprété comme chemin relatif au répertoire home de l'utilisateur
+ considéré. Par exemple, avec cette configuration :</p>
<pre class="prettyprint lang-config">UserDir public_html</pre>
correspondra au chemin fichier
<code>/home/rbowen/public_html/fichier.html</code></p>
- <p>Si le chemin spécifié commence par un slash, le chemin du fichier
+ <p>Si le chemin spécifié commence par un slash, le chemin du fichier
sera construit en utilisant ce chemin, suivi du nom de l'utilisateur
- considéré. Par exemple, avec cette configuration :</p>
+ considéré. Par exemple, avec cette configuration :</p>
<pre class="prettyprint lang-config">UserDir /var/html</pre>
correspondra au chemin fichier
<code>/var/html/rbowen/fichier.html</code></p>
- <p>Si le chemin spécifié contient un astérisque (*), ce dernier sera
- remplacé par le nom de l'utilisateur dans le chemin du fichier
+ <p>Si le chemin spécifié contient un astérisque (*), ce dernier sera
+ remplacé par le nom de l'utilisateur dans le chemin du fichier
correspondant. Par exemple, avec cette configuration :</p>
<pre class="prettyprint lang-config">UserDir /var/www/*/docs</pre>
correspondra au chemin fichier
<code>/var/www/rbowen/docs/fichier.html</code></p>
- <p>On peut aussi définir plusieurs répertoires ou chemins de
- répertoires.</p>
+ <p>On peut aussi définir plusieurs répertoires ou chemins de
+ répertoires.</p>
<pre class="prettyprint lang-config">UserDir public_html /var/html</pre>
<div class="section">
<h2><a name="redirect" id="redirect">Redirection vers des URLs externes</a><a title="Lien permanent" href="#redirect" class="permalink">¶</a></h2>
- <p>On peut utiliser la directive <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> pour rediriger les requêtes
- relatives aux répertoires utilisateurs vers des URLs externes.</p>
+ <p>On peut utiliser la directive <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> pour rediriger les requêtes
+ relatives aux répertoires utilisateurs vers des URLs externes.</p>
<pre class="prettyprint lang-config">UserDir http://example.org/users/*/</pre>
- <p>L'exemple ci-dessus va rediriger une requête pour
+ <p>L'exemple ci-dessus va rediriger une requête pour
<code>http://example.com/~bob/abc.html</code> vers
<code>http://exemple.org/users/bob/abc.html</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="enable" id="enable">Définition de la liste des utilisateurs autorisés à utiliser
- cette fonctionnalité</a><a title="Lien permanent" href="#enable" class="permalink">¶</a></h2>
+<h2><a name="enable" id="enable">Définition de la liste des utilisateurs autorisés à utiliser
+ cette fonctionnalité</a><a title="Lien permanent" href="#enable" class="permalink">¶</a></h2>
- <p>En suivant la syntaxe décrite dans la documentation de UserDir,
- vous pouvez définir quels utilisateurs sont autorisés à utiliser
- cette fonctionnalité :</p>
+ <p>En suivant la syntaxe décrite dans la documentation de UserDir,
+ vous pouvez définir quels utilisateurs sont autorisés à utiliser
+ cette fonctionnalité :</p>
<pre class="prettyprint lang-config">UserDir disabled root jro fish</pre>
<p>La configuration ci-dessus va autoriser l'utilisation de la
- fonctionnalité pour tous les utilisateurs, à l'exception de ceux
- listés à la suite de l'argument <code>disabled</code>. De même, vous
- pouvez interdire l'utilisation de la fonctionnalité à tous les
+ fonctionnalité pour tous les utilisateurs, à l'exception de ceux
+ listés à la suite de l'argument <code>disabled</code>. De même, vous
+ pouvez interdire l'utilisation de la fonctionnalité à tous les
utilisateurs sauf certains d'entre eux en utilisant une
configuration du style :</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="cgi" id="cgi">Définition d'un répertoire CGI pour chaque utilisateur</a><a title="Lien permanent" href="#cgi" class="permalink">¶</a></h2>
+<h2><a name="cgi" id="cgi">Définition d'un répertoire CGI pour chaque utilisateur</a><a title="Lien permanent" href="#cgi" class="permalink">¶</a></h2>
- <p>Afin de réserver un répertoire cgi-bin pour chaque utilisateur,
+ <p>Afin de réserver un répertoire cgi-bin pour chaque utilisateur,
vous pouvez utiliser une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> pour activer CGI dans un
- sous-répertoire particulier d'un répertoire home utilisateur.</p>
+ sous-répertoire particulier d'un répertoire home utilisateur.</p>
<pre class="prettyprint lang-config"><Directory "/home/*/public_html/cgi-bin/">
Options ExecCGI
<p>Avec la configuration ci-dessus, et en supposant que
- <code>UserDir</code> est défini à <code>public_html</code>, un
- programme CGI <code>exemple.cgi</code> pourra être chargé depuis ce
- répertoire en passant par l'URL :</p>
+ <code>UserDir</code> est défini à <code>public_html</code>, un
+ programme CGI <code>exemple.cgi</code> pourra être chargé depuis ce
+ répertoire en passant par l'URL :</p>
<div class="example"><p><code>
http://example.com/~rbowen/cgi-bin/exemple.cgi
<p>Si vous voulez que vos utilisateurs puissent modifier la
configuration du serveur pour ce qui concerne leur espace web, ils
devront utiliser des fichiers <code>.htaccess</code> pour effectuer
- ces modifications. Assurez-vous d'avoir défini la directive
- <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> à une valeur
- appropriée pour les directives dont vous voulez permettre la
- modification aux utilisateurs. Voir le <a href="htaccess.html">tutoriel .htaccess</a> pour plus de détails sur
- la manière dont tout ceci fonctionne.</p>
+ ces modifications. Assurez-vous d'avoir défini la directive
+ <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> à une valeur
+ appropriée pour les directives dont vous voulez permettre la
+ modification aux utilisateurs. Voir le <a href="htaccess.html">tutoriel .htaccess</a> pour plus de détails sur
+ la manière dont tout ceci fonctionne.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/howto/public_html.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/public_html.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/public_html.html" title="Français"> fr </a> |
+<a href="../es/howto/public_html.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/public_html.html" title="Français"> fr </a> |
<a href="../ja/howto/public_html.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/public_html.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/howto/public_html.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/howto/public_html.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Recettes / Tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Guide de configuration d'un mandataire inverse</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/howto/reverse_proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/reverse_proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/reverse_proxy.html" title="Français"> fr </a></p>
+<a href="../es/howto/reverse_proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/reverse_proxy.html" title="Français"> fr </a></p>
</div>
- <p>En plus de ses fonctions de serveur web "basique", à savoir fournir du
- contenu statique et dynamique à l'utilisateur, Apache httpd (comme la
+ <p>En plus de ses fonctions de serveur web "basique", à savoir fournir du
+ contenu statique et dynamique à l'utilisateur, Apache httpd (comme la
plupart des autres serveurs web) peut aussi assurer les fonctions de serveur
mandataire inverse, connu aussi sous le nom de serveur "passerelle".</p>
- <p>Dans un tel scénario, httpd ne génère et n'héberge pas lui-même les
- données, le contenu étant en général obtenu à partir d'un ou plusieurs serveurs
- d'arrière-plan qui n'ont normalement aucune connexion directe avec le réseau
- externe. Lorsque httpd reçoit une requête en provenance d'un client, la
- requête proprement dite est <em>mandatée</em> vers un de ces serveurs
- d'arrière-plan qui traite la requête, génère le contenu et l'envoie à httpd,
- ce dernier générant la véritable réponse HTTP à destination du client.</p>
-
- <p>De nombreuses raisons peuvent vous motiver à utiliser cette
- fonctionnalité, mais elles sont souvent du domaine de la sécurité, de
- la haute disponibilité, de la répartition de charge et de
- l'authentification/autorisation centralisée. Il est alors indispensable que
+ <p>Dans un tel scénario, httpd ne génère et n'héberge pas lui-même les
+ données, le contenu étant en général obtenu à partir d'un ou plusieurs serveurs
+ d'arrière-plan qui n'ont normalement aucune connexion directe avec le réseau
+ externe. Lorsque httpd reçoit une requête en provenance d'un client, la
+ requête proprement dite est <em>mandatée</em> vers un de ces serveurs
+ d'arrière-plan qui traite la requête, génère le contenu et l'envoie à httpd,
+ ce dernier générant la véritable réponse HTTP à destination du client.</p>
+
+ <p>De nombreuses raisons peuvent vous motiver à utiliser cette
+ fonctionnalité, mais elles sont souvent du domaine de la sécurité, de
+ la haute disponibilité, de la répartition de charge et de
+ l'authentification/autorisation centralisée. Il est alors indispensable que
l'organisation, la conception et l'architecture de l'infrastructure
- d'arrière-plan (les serveurs qui traitent au sens propre les requêtes) soient
- isolées et protégées de l'extérieur ; vu du client, le serveur mandataire
+ d'arrière-plan (les serveurs qui traitent au sens propre les requêtes) soient
+ isolées et protégées de l'extérieur ; vu du client, le serveur mandataire
inverse <em>est</em> le seul serveur accessible pouvant lui fournir du
contenu.</p>
- <p>Voici un exemple typique d'implémentation de cette fonctionnalité :</p>
+ <p>Voici un exemple typique d'implémentation de cette fonctionnalité :</p>
<p class="centered"><img src="../images/reverse-proxy-arch.png" alt="reverse-proxy-arch" /></p>
</div>
<li><img alt="" src="../images/down.gif" /> <a href="#simple">Mandatement inverse simple</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cluster">Clusters et Balancers</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#config">Configuration du Balancer et des BalancerMembers</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#failover">Gestion des indisponibilités (Failover)</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#manager">Gestion du répartiteur de charge</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#health-check">Vérification dynamique du bon fonctionnement d'un serveur
- d'arrière-plan</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#status">Drapeaux d'état d'un membre du groupe de répartition de charge</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#failover">Gestion des indisponibilités (Failover)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#manager">Gestion du répartiteur de charge</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#health-check">Vérification dynamique du bon fonctionnement d'un serveur
+ d'arrière-plan</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#status">Drapeaux d'état d'un membre du groupe de répartition de charge</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="related" id="related">Mandataire inverse</a><a title="Lien permanent" href="#related" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li><li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li><li><code class="module"><a href="../mod/mod_proxy_hcheck.html">mod_proxy_hcheck</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code></li><li><code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li><li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li><li><code class="module"><a href="../mod/mod_proxy_hcheck.html">mod_proxy_hcheck</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code></li><li><code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code></li></ul></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="simple" id="simple">Mandatement inverse simple</a><a title="Lien permanent" href="#simple" class="permalink">¶</a></h2>
<p>
La directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> permet de
- rediriger les requêtes entrantes vers un serveur d'arrière-plan (ou un
+ rediriger les requêtes entrantes vers un serveur d'arrière-plan (ou un
cluster de serveurs plus connu sous le nom de groupe
<code>Balancer</code>). Dans cet exemple le plus simple, toutes les
- requêtes (<code>"/"</code>) sont redirigées vers un serveur d'arrière-plan
+ requêtes (<code>"/"</code>) sont redirigées vers un serveur d'arrière-plan
unique :
</p>
<p>
- Pour être sur que cette redirection soit effectuée et que les en-têtes
- <code>Location:</code> générés par le serveur d'arrière-plan soient
- modifiés pour pointer vers le mandataire inverse, et non vers le serveur
- d'arrière-plan, la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> est souvent requise :
+ Pour être sur que cette redirection soit effectuée et que les en-têtes
+ <code>Location:</code> générés par le serveur d'arrière-plan soient
+ modifiés pour pointer vers le mandataire inverse, et non vers le serveur
+ d'arrière-plan, la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> est souvent requise :
</p>
<pre class="prettyprint lang-config">ProxyPass "/" "http://www.example.com/"
ProxyPassReverse "/" "http://www.example.com/"</pre>
- <p>Seules des URIs spécifiques peuvent être mandatées, comme le montre
+ <p>Seules des URIs spécifiques peuvent être mandatées, comme le montre
l'exemple suivant :</p>
<pre class="prettyprint lang-config">ProxyPass "/images" "http://www.example.com/"
ProxyPassReverse "/images" "http://www.example.com/"</pre>
- <p>Dans l'exemple précédent, si le chemin d'une requête commence par
- <code>/images</code>, elle sera redirigée vers le serveur d'arrière-plan
- spécifié ; dans le cas contraire, elle sera traitée localement.
+ <p>Dans l'exemple précédent, si le chemin d'une requête commence par
+ <code>/images</code>, elle sera redirigée vers le serveur d'arrière-plan
+ spécifié ; dans le cas contraire, elle sera traitée localement.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<p>
- Utiliser un serveur d'arrière-plan unique n'est cependant pas une solution
- idéale car ce dernier peut devenir indisponible ou surchargé, et le
- mandatement inverse vers ce serveur ne présente alors plus aucun avantage.
- La solution réside dans la définition d'un groupe de serveurs
- d'arrière-plan qui vont se partager le traitement des requêtes via un
- mécanisme de répartition de charge et de gestion des indisponibilités pris
- en charge par le mandataire. Ce groupe de répartition est plus connu sous le nom de
+ Utiliser un serveur d'arrière-plan unique n'est cependant pas une solution
+ idéale car ce dernier peut devenir indisponible ou surchargé, et le
+ mandatement inverse vers ce serveur ne présente alors plus aucun avantage.
+ La solution réside dans la définition d'un groupe de serveurs
+ d'arrière-plan qui vont se partager le traitement des requêtes via un
+ mécanisme de répartition de charge et de gestion des indisponibilités pris
+ en charge par le mandataire. Ce groupe de répartition est plus connu sous le nom de
<em>cluster</em>, mais dans la terminologie d'Apache httpd, on utilise
- plutôt le terme de <em>balancer</em>. Un balancer se définit en
+ plutôt le terme de <em>balancer</em>. Un balancer se définit en
utilisant les directives <code class="directive"><a href="../mod/mod_proxy.html#proxy"><Proxy></a></code> et <code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code> comme suit :
</p>
<p>
- Le protocole <code>balancer://</code> indique à httpd que l'on souhaite
- créer un balancer nommé <em>myset</em>. Ce balancer comporte deux serveurs
- d'arrière-plan référencés dans la terminologie httpd sous le nom de
- <em>BalancerMembers</em>. Avec cet exemple, toute requête dont le chemin
- commence par <code>/images</code> sera mandatée vers <em>un</em> des deux
- serveurs d'arrière-plan. La directive <code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code> définit ici pour le balancer
+ Le protocole <code>balancer://</code> indique à httpd que l'on souhaite
+ créer un balancer nommé <em>myset</em>. Ce balancer comporte deux serveurs
+ d'arrière-plan référencés dans la terminologie httpd sous le nom de
+ <em>BalancerMembers</em>. Avec cet exemple, toute requête dont le chemin
+ commence par <code>/images</code> sera mandatée vers <em>un</em> des deux
+ serveurs d'arrière-plan. La directive <code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code> définit ici pour le balancer
<em>myset</em> un algorithme de
- répartition de charge basé sur le trafic entrées/sorties.
+ répartition de charge basé sur le trafic entrées/sorties.
</p>
<div class="note"><h3>Remarque</h3>
<p>
- Les <em>BalancerMembers</em> sont aussi souvent référencés sous le terme
+ Les <em>BalancerMembers</em> sont aussi souvent référencés sous le terme
<em>workers</em>.
</p>
</div>
<p>
- Vous pouvez configurer de manière détaillée les <em>balancers</em> et
- <em>workers</em> via les nombreux paramètres de la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>. Par exemple, si vous souhaitez
+ Vous pouvez configurer de manière détaillée les <em>balancers</em> et
+ <em>workers</em> via les nombreux paramètres de la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>. Par exemple, si vous souhaitez
que <code>http://www3.example.com:8080</code> traite avec un facteur 3 le
trafic avec un timeout d'une seconde, utilisez la configuration suivante :
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="failover" id="failover">Gestion des indisponibilités (Failover)</a><a title="Lien permanent" href="#failover" class="permalink">¶</a></h2>
+<h2><a name="failover" id="failover">Gestion des indisponibilités (Failover)</a><a title="Lien permanent" href="#failover" class="permalink">¶</a></h2>
<p>
- Vous pouvez aussi définir finement des scénarios pour les cas
- d'indisponibilité d'un ou plusieurs serveurs d'arrière-plan en spécifiant
+ Vous pouvez aussi définir finement des scénarios pour les cas
+ d'indisponibilité d'un ou plusieurs serveurs d'arrière-plan en spécifiant
quels serveurs doivent alors prendre le relai. Dans l'exemple suivant,
- trois scénarios sont envisagés :
+ trois scénarios sont envisagés :
</p>
<ol>
<li>
<code>http://spare1.example.com:8080</code> et
- <code>http://spare2.example.com:8080</code> ne sont sollicités que si
+ <code>http://spare2.example.com:8080</code> ne sont sollicités que si
<code>http://www2.example.com:8080</code> ou
<code>http://www3.example.com:8080</code> est indisponible (un serveur
- de remplacement sera utilisé à la place d'un membre indisponible du même
+ de remplacement sera utilisé à la place d'un membre indisponible du même
jeu de serveurs cibles).
</li>
<li>
- <code>http://hstandby.example.com:8080</code> n'est sollicité que si
+ <code>http://hstandby.example.com:8080</code> n'est sollicité que si
tous les autres serveurs cibles du jeu de serveurs <code>0</code> sont
indisponibles.
</li>
<li>
Les serveurs <code>http://bkup1.example.com:8080</code> et
- <code>http://bkup2.example.com:8080</code> du jeu <code>1</code> ne seront sollicités que si
+ <code>http://bkup2.example.com:8080</code> du jeu <code>1</code> ne seront sollicités que si
tous les serveurs du jeu <code>0</code>, tous les serveurs de
remplacement et tous les serveurs de standby sont indisponibles.
</li>
</ol>
<p>
- Il est ainsi possible de définir un ou plusieurs serveurs de remplacement
- ou de standby pour chaque jeu de serveurs du répartiteur de charge.
+ Il est ainsi possible de définir un ou plusieurs serveurs de remplacement
+ ou de standby pour chaque jeu de serveurs du répartiteur de charge.
</p>
<pre class="prettyprint lang-config"><Proxy balancer://myset>
<p>
- Les serveurs de remplacement à chaud remplacent les serveurs indisponibles
- du même jeu de serveurs du répartiteur de charge. Un serveur est
- considéré comme indisponible s'il est en maintenance, arrêté ou en erreur.
- Les serveurs de standby à chaud sont utilisés si tous les serveurs et
- serveurs de remplacement du jeu de serveurs du répartiteur de charge sont
- indisponibles. Les jeux de serveurs du répartiteur de charge (avec leurs
- serveurs de standby et de remplacement à chaud respectifs) sont toujours
- sollicités dans l'ordre du plus bas lbset vers le plus haut.
+ Les serveurs de remplacement à chaud remplacent les serveurs indisponibles
+ du même jeu de serveurs du répartiteur de charge. Un serveur est
+ considéré comme indisponible s'il est en maintenance, arrêté ou en erreur.
+ Les serveurs de standby à chaud sont utilisés si tous les serveurs et
+ serveurs de remplacement du jeu de serveurs du répartiteur de charge sont
+ indisponibles. Les jeux de serveurs du répartiteur de charge (avec leurs
+ serveurs de standby et de remplacement à chaud respectifs) sont toujours
+ sollicités dans l'ordre du plus bas lbset vers le plus haut.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="manager" id="manager">Gestion du répartiteur de charge</a><a title="Lien permanent" href="#manager" class="permalink">¶</a></h2>
+<h2><a name="manager" id="manager">Gestion du répartiteur de charge</a><a title="Lien permanent" href="#manager" class="permalink">¶</a></h2>
<p>
L'application <em>balancer-manager</em> fournie avec le mandataire inverse
d'Apache httpd en est un des outils les plus utiles. Comme
<code class="module"><a href="../mod/mod_status.html">mod_status</a></code>, <em>balancer-manager</em> affiche la
- configuration et l'activité actuelles des balancers actifs. L'affichage de
+ configuration et l'activité actuelles des balancers actifs. L'affichage de
ces informations n'est cependant pas sa seule fonction ; il permet aussi de
- modifier la plupart d'entre elles et même d'ajouter des membres au groupe
- de répartition de charge en temps réel. Pour activer ces fonctionnalités,
- vous devez ajouter les lignes suivantes à votre fichier de configuration :
+ modifier la plupart d'entre elles et même d'ajouter des membres au groupe
+ de répartition de charge en temps réel. Pour activer ces fonctionnalités,
+ vous devez ajouter les lignes suivantes à votre fichier de configuration :
</p>
<pre class="prettyprint lang-config"><Location "/balancer-manager">
<div class="warning"><h3>Avertissement</h3>
- <p>N'activez le <em>balancer-manager</em> que si vous avez déjà <a href="../mod/mod_proxy.html#access">sécurisé votre serveur</a>.
- Assurez-vous en particulier que l'accès à l'URL soit fortement restreint.</p>
+ <p>N'activez le <em>balancer-manager</em> que si vous avez déjà <a href="../mod/mod_proxy.html#access">sécurisé votre serveur</a>.
+ Assurez-vous en particulier que l'accès à l'URL soit fortement restreint.</p>
</div>
<p>
- Lorsque vous accédez au serveur mandataire avec une adresse du style
+ Lorsque vous accédez au serveur mandataire avec une adresse du style
<code>http://rproxy.example.com/balancer-manager/</code>, la page suivante
s'affiche :
</p>
<p class="centered"><img src="../images/bal-man.png" alt="balancer-manager page" /></p>
<p>
- Ce formulaire permet à l'administrateur de modifier certains paramètres,
- de désactiver ou d'ajouter certains serveurs d'arrière-plan, et de
- modifier les règles de répartition de charge. Par exemple, si on clique
- sur le répartiteur, la page suivante s'affiche :
+ Ce formulaire permet à l'administrateur de modifier certains paramètres,
+ de désactiver ou d'ajouter certains serveurs d'arrière-plan, et de
+ modifier les règles de répartition de charge. Par exemple, si on clique
+ sur le répartiteur, la page suivante s'affiche :
</p>
<p class="centered"><img src="../images/bal-man-b.png" alt="balancer-manager page" /></p>
<p>
- Si on clique sur un membre du groupe de répartition de charge, la page
+ Si on clique sur un membre du groupe de répartition de charge, la page
suivante s'affiche :
</p>
<p class="centered"><img src="../images/bal-man-w.png" alt="balancer-manager page" /></p>
<p>
- Si vous souhaitez que ces modifications soient conservées après un
- redémarrage du serveur, assurez-vous que la directive <code class="directive"><a href="../mod/mod_proxy.html#balancerpersist">BalancerPersist</a></code> soit définie à On.
+ Si vous souhaitez que ces modifications soient conservées après un
+ redémarrage du serveur, assurez-vous que la directive <code class="directive"><a href="../mod/mod_proxy.html#balancerpersist">BalancerPersist</a></code> soit définie à On.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="health-check" id="health-check">Vérification dynamique du bon fonctionnement d'un serveur
- d'arrière-plan</a><a title="Lien permanent" href="#health-check" class="permalink">¶</a></h2>
+<h2><a name="health-check" id="health-check">Vérification dynamique du bon fonctionnement d'un serveur
+ d'arrière-plan</a><a title="Lien permanent" href="#health-check" class="permalink">¶</a></h2>
<p>
- Avant que le mandataire httpd ne fasse appel à un serveur d'arrière-plan, il
- peut <em>"tester"</em> si ce dernier est disponible en définissant le
- paramètre <code>ping</code> de ce serveur via la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>. Cependant, il est souvent plus
- judicieux de vérifier le bon fonctionnement d'un serveur <em>hors
- bande</em> et de manière dynamique via le module
+ Avant que le mandataire httpd ne fasse appel à un serveur d'arrière-plan, il
+ peut <em>"tester"</em> si ce dernier est disponible en définissant le
+ paramètre <code>ping</code> de ce serveur via la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>. Cependant, il est souvent plus
+ judicieux de vérifier le bon fonctionnement d'un serveur <em>hors
+ bande</em> et de manière dynamique via le module
<code class="module"><a href="../mod/mod_proxy_hcheck.html">mod_proxy_hcheck</a></code> d'Apache httpd.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="status" id="status">Drapeaux d'état d'un membre du groupe de répartition de charge</a><a title="Lien permanent" href="#status" class="permalink">¶</a></h2>
+<h2><a name="status" id="status">Drapeaux d'état d'un membre du groupe de répartition de charge</a><a title="Lien permanent" href="#status" class="permalink">¶</a></h2>
<p>
- <em>balancer-manager</em> permet d'afficher et de modifier l'état d'un
- membre du groupe de répartition de charge. Les différents états et leurs
+ <em>balancer-manager</em> permet d'afficher et de modifier l'état d'un
+ membre du groupe de répartition de charge. Les différents états et leurs
significations sont les suivants :
</p>
<table class="bordered">
<tr><th>Drapeau</th><th>Sigle</th><th>Description</th></tr>
<tr><td> </td><td><em>Ok</em></td><td>Le serveur est disponible</td></tr>
- <tr><td> </td><td><em>Init</em></td><td>Le serveur a été initialisé</td></tr>
+ <tr><td> </td><td><em>Init</em></td><td>Le serveur a été initialisé</td></tr>
<tr><td><code>D</code></td><td><em>Dis</em></td><td>Le serveur est
- désactivé et n'accepte aucune requête ; il sera retesté automatiquement.</td></tr>
- <tr><td><code>S</code></td><td><em>Stop</em></td><td>Le serveur a été
- arrêté par l'administrateur ; il n'accepte aucune requête et il ne sera
- pas retesté automatiquement.</td></tr>
+ désactivé et n'accepte aucune requête ; il sera retesté automatiquement.</td></tr>
+ <tr><td><code>S</code></td><td><em>Stop</em></td><td>Le serveur a été
+ arrêté par l'administrateur ; il n'accepte aucune requête et il ne sera
+ pas retesté automatiquement.</td></tr>
<tr><td><code>I</code></td><td><em>Ign</em></td><td>Les erreurs
- concernant ce serveur sont ignorées et il sera donc toujours considéré
+ concernant ce serveur sont ignorées et il sera donc toujours considéré
comme disponible.</td></tr>
- <tr><td><code>R</code></td><td><em>Spar</em></td><td>Le serveur cible sert de remplaçant à
- chaud. Lorsqu'un serveur cible avec un lbset donné est inutilisable
- (maintenance, arrêt, en erreur, etc...), un serveur de remplacement à
- chaud libre de même lbset sera utilisé à sa place. Les remplaçants à
- chaud permettent de s'assurer qu'un nombre déterminé de serveurs cibles
- sera toujours disponible pour un répartiteur de charge.</td></tr>
+ <tr><td><code>R</code></td><td><em>Spar</em></td><td>Le serveur cible sert de remplaçant à
+ chaud. Lorsqu'un serveur cible avec un lbset donné est inutilisable
+ (maintenance, arrêt, en erreur, etc...), un serveur de remplacement à
+ chaud libre de même lbset sera utilisé à sa place. Les remplaçants à
+ chaud permettent de s'assurer qu'un nombre déterminé de serveurs cibles
+ sera toujours disponible pour un répartiteur de charge.</td></tr>
<tr><td><code>H</code></td><td><em>Stby</em></td><td>Le serveur est en
- mode hot-standby et ne sera donc utilisé que si aucun autre serveur ou
+ mode hot-standby et ne sera donc utilisé que si aucun autre serveur ou
serveur de remplacement n'est disponible dans le jeu de serveurs du
- répartiteur de charge.</td></tr>
+ répartiteur de charge.</td></tr>
<tr><td><code>E</code></td><td><em>Err</em></td><td>Le serveur est en
- erreur, en général suite à un test préalable à une requête ; aucune
- requête ne lui sera soumise, mais il sera retesté en fonction de la
- valeur de son paramètre <code>retry</code>.</td></tr>
+ erreur, en général suite à un test préalable à une requête ; aucune
+ requête ne lui sera soumise, mais il sera retesté en fonction de la
+ valeur de son paramètre <code>retry</code>.</td></tr>
<tr><td><code>N</code></td><td><em>Drn</em></td><td>Le serveur est en
- mode drain ; il n'acceptera de requêtes que dans le cadre des sessions
- persistantes qui lui sont réservées et ignorera toutes les autres.</td></tr>
- <tr><td><code>C</code></td><td><em>HcFl</em></td><td>Le serveur a échoué
- au test dynamique de bon fonctionnement et ne sera utilisé que lorsqu'il
- aura réussi un test ultérieur.</td></tr>
+ mode drain ; il n'acceptera de requêtes que dans le cadre des sessions
+ persistantes qui lui sont réservées et ignorera toutes les autres.</td></tr>
+ <tr><td><code>C</code></td><td><em>HcFl</em></td><td>Le serveur a échoué
+ au test dynamique de bon fonctionnement et ne sera utilisé que lorsqu'il
+ aura réussi un test ultérieur.</td></tr>
</table>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/howto/reverse_proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/reverse_proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/reverse_proxy.html" title="Français"> fr </a></p>
+<a href="../es/howto/reverse_proxy.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/reverse_proxy.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Tutoriel Apache httpd : Introduction aux "Inclusions Côté Serveur"
+<title>Tutoriel Apache httpd : Introduction aux "Inclusions Côté Serveur"
(Server Side Includes - SSI) - Serveur Apache HTTP Version 2.5</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" />
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Recettes et tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Tutoriel Apache httpd : Introduction aux "Inclusions Côté Serveur"
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Recettes et tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Tutoriel Apache httpd : Introduction aux "Inclusions Côté Serveur"
(Server Side Includes - SSI)</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/howto/ssi.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/ssi.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/ssi.html" title="Français"> fr </a> |
+<a href="../es/howto/ssi.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/ssi.html" title="Français"> fr </a> |
<a href="../ja/howto/ssi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/ssi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<p>Les SSI permettent d'ajouter du contenu dynamique à des documents
-HTML préexistants.</p>
+<p>Les SSI permettent d'ajouter du contenu dynamique à des documents
+HTML préexistants.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Introduction</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#what">Qu'est-ce que SSI ?</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#basic">Directives SSI de base</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#additionalexamples">Exemples additionnels</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#config">Que puis-je configurer d'autre ?</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#exec">Exécution de commandes</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#advanced">Techniques SSI avancées</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#exec">Exécution de commandes</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#advanced">Techniques SSI avancées</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#conclusion">Conclusion</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="related" id="related">Introduction</a><a title="Lien permanent" href="#related" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code></li><li><code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code></li><li><code class="directive"><a href="../mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code></li><li><code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code></li><li><code class="directive"><a href="../mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li></ul></td></tr></table>
- <p>Cet article traite des Inclusions Côté Serveur (Server Side
- Includes), plus communément appelés SSI. Vous trouverez ici la
- manière de configurer votre serveur pour permettre les SSI, ainsi
- qu'une introduction à quelques techniques SSI de base permettant
- d'ajouter du contenu dynamique à vos pages HTML préexistantes.</p>
+ <p>Cet article traite des Inclusions Côté Serveur (Server Side
+ Includes), plus communément appelés SSI. Vous trouverez ici la
+ manière de configurer votre serveur pour permettre les SSI, ainsi
+ qu'une introduction à quelques techniques SSI de base permettant
+ d'ajouter du contenu dynamique à vos pages HTML préexistantes.</p>
- <p>La dernière partie de cet article sera consacrée aux
- configurations SSI plus avancées, telles que les expressions
+ <p>La dernière partie de cet article sera consacrée aux
+ configurations SSI plus avancées, telles que les expressions
conditionnelles dans les directives SSI.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="what" id="what">Qu'est-ce que SSI ?</a><a title="Lien permanent" href="#what" class="permalink">¶</a></h2>
- <p>SSI (Server Side Includes) est constitué de directives placées dans
- des pages HTML, et évaluées par le serveur au moment où les pages
- sont servies. Elles vous permettent d'ajouter du contenu généré
- dynamiquement à une page HTML préexistante, sans avoir à servir la
- page entière via un programme CGI, ou toute autre technologie de
+ <p>SSI (Server Side Includes) est constitué de directives placées dans
+ des pages HTML, et évaluées par le serveur au moment où les pages
+ sont servies. Elles vous permettent d'ajouter du contenu généré
+ dynamiquement à une page HTML préexistante, sans avoir à servir la
+ page entière via un programme CGI, ou toute autre technologie de
contenu dynamique.</p>
- <p>Par exemple, vous pouvez insérer la directive suivante dans une
+ <p>Par exemple, vous pouvez insérer la directive suivante dans une
page HTML existante :</p>
<div class="example"><p><code>
<!--#echo var="DATE_LOCAL" -->
</code></p></div>
- <p>Ainsi, lorsque la page sera servie, la directive sera évaluée et
- remplacée par sa valeur :</p>
+ <p>Ainsi, lorsque la page sera servie, la directive sera évaluée et
+ remplacée par sa valeur :</p>
<div class="example"><p><code>
Tuesday, 15-Jan-2013 19:28:54 EST
</code></p></div>
- <p>Le choix entre l'utilisation des SSI et la génération entière de
- la page par un programme quelconque, est en général dicté par la
- proportion de contenu statique et de contenu devant être généré
- chaque fois que la page est servie. SSI est idéal pour ajouter de
- petites quantités d'information, comme l'heure courante dans
- l'exemple précédent. Mais si la
- plus grande partie de votre page est générée au moment où elle est
+ <p>Le choix entre l'utilisation des SSI et la génération entière de
+ la page par un programme quelconque, est en général dicté par la
+ proportion de contenu statique et de contenu devant être généré
+ chaque fois que la page est servie. SSI est idéal pour ajouter de
+ petites quantités d'information, comme l'heure courante dans
+ l'exemple précédent. Mais si la
+ plus grande partie de votre page est générée au moment où elle est
servie, vous devez vous tourner vers une autre solution.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<pre class="prettyprint lang-config">Options +Includes</pre>
- <p>Cette directive indique à Apache que vous désirez permettre la
- recherche de directives SSI lors de l'interprétation des fichiers.
+ <p>Cette directive indique à Apache que vous désirez permettre la
+ recherche de directives SSI lors de l'interprétation des fichiers.
Notez cependant que la plupart des configurations contiennent de
nombreuses directives <code class="directive"><a href="../mod/core.html#options">Options</a></code>
- qui peuvent s'écraser les unes les autres. Vous devrez probablement
- appliquer ces directives <code>Options</code> au répertoire
- spécifique pour lequel vous voulez activer les SSI, afin d'être sûr
- qu'elles y seront bien activées.</p>
+ qui peuvent s'écraser les unes les autres. Vous devrez probablement
+ appliquer ces directives <code>Options</code> au répertoire
+ spécifique pour lequel vous voulez activer les SSI, afin d'être sûr
+ qu'elles y seront bien activées.</p>
<p>Tout fichier ne fera cependant pas l'objet de recherche de
- directives SSI. Vous devez indiquer à Apache quels fichiers seront
- concernés. Vous pouvez y parvenir en indiquant une extension, comme
- <code>.shtml</code>, à l'aide des directives suivantes :</p>
+ directives SSI. Vous devez indiquer à Apache quels fichiers seront
+ concernés. Vous pouvez y parvenir en indiquant une extension, comme
+ <code>.shtml</code>, à l'aide des directives suivantes :</p>
<pre class="prettyprint lang-config">AddType text/html .shtml
AddOutputFilter INCLUDES .shtml</pre>
- <p>Un des désavantages de cette approche réside dans le fait que si
- vous voulez ajouter des directives SSI à une page préexistante, vous
+ <p>Un des désavantages de cette approche réside dans le fait que si
+ vous voulez ajouter des directives SSI à une page préexistante, vous
devrez changer le nom de cette page, et donc tout lien qui la
- contient, de façon à ce qu'elle possède l'extension
- <code>.shtml</code>, condition nécessaire pour que les directives
- SSI qu'elle contient soient traitées.</p>
+ contient, de façon à ce qu'elle possède l'extension
+ <code>.shtml</code>, condition nécessaire pour que les directives
+ SSI qu'elle contient soient traitées.</p>
- <p>Une autre méthode consiste à utiliser la directive <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code> :</p>
+ <p>Une autre méthode consiste à utiliser la directive <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code> :</p>
<pre class="prettyprint lang-config">XBitHack on</pre>
<p>La directive <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>
- indique à Apache qu'il doit rechercher des directivves SSI dans les
- fichiers si leur bit d'exécution est positionné. Il n'est ainsi plus
- nécessaire de changer le nom du fichier pour ajouter des directives
- SSI à une page préexistante ; vous devez simplement attribuer les
- droits d'exécution au fichier à l'aide de <code>chmod</code>.</p>
+ indique à Apache qu'il doit rechercher des directivves SSI dans les
+ fichiers si leur bit d'exécution est positionné. Il n'est ainsi plus
+ nécessaire de changer le nom du fichier pour ajouter des directives
+ SSI à une page préexistante ; vous devez simplement attribuer les
+ droits d'exécution au fichier à l'aide de <code>chmod</code>.</p>
<div class="example"><p><code>
chmod +x pagename.html
</code></p></div>
<p>Un bref commentaire sur ce qu'il ne faut pas faire. Certaines
- personnes peuvent vous conseiller de tout simplement indiquer à
+ personnes peuvent vous conseiller de tout simplement indiquer à
Apache de rechercher des directives SSI dans tous les fichiers
- <code>.html</code>, ce qui vous évite d'avoir à gérer les noms de
+ <code>.html</code>, ce qui vous évite d'avoir à gérer les noms de
fichiers avec extension <code>.shtml</code>. Ils n'ont probablement
pas entendu parler de la directive <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>. En effet, vous devez
- garder à l'esprit qu'en faisant ceci, Apache va devoir rechercher
- des directives SSI dans chaque fichier qu'il sert, même s'il n'en
- contient aucune. Ce n'est donc pas une bonne idée car les
- performances peuvent en être sensiblement affectées.</p>
+ garder à l'esprit qu'en faisant ceci, Apache va devoir rechercher
+ des directives SSI dans chaque fichier qu'il sert, même s'il n'en
+ contient aucune. Ce n'est donc pas une bonne idée car les
+ performances peuvent en être sensiblement affectées.</p>
- <p>Bien entendu, sous Windows, il n'y a pas de bit d'exécution à
+ <p>Bien entendu, sous Windows, il n'y a pas de bit d'exécution à
positionner, ce qui limite un peu vos choix.</p>
- <p>Dans sa configuration par défaut, Apache n'envoie pas la date de
- dernière modification ou les en-têtes HTTP relatifs à la taille des
- contenus dans les pages SSI, car ses valeurs sont difficiles à
+ <p>Dans sa configuration par défaut, Apache n'envoie pas la date de
+ dernière modification ou les en-têtes HTTP relatifs à la taille des
+ contenus dans les pages SSI, car ses valeurs sont difficiles à
calculer pour les contenus dynamiques. Ceci peut induire une
- impression de diminution des performances côté client, en empêchant
- la mise en cache de votre document. Il existe deux méthodes pour
- résoudre ce problème :</p>
+ impression de diminution des performances côté client, en empêchant
+ la mise en cache de votre document. Il existe deux méthodes pour
+ résoudre ce problème :</p>
<ol>
<li>Utilisez la configuration <code>XBitHack Full</code>. Elle
- indique à Apache de déterminer la date de dernière modification en
- ne regardant que la date du fichier à l'origine de la requête,
+ indique à Apache de déterminer la date de dernière modification en
+ ne regardant que la date du fichier à l'origine de la requête,
tout en ignorant la date de modification de tout fichier inclus.</li>
<li>Utilisez les directives fournies par le module
- <code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code> pour définir de manière explicite la
- date d'expiration de vos fichiers, laissant par la-même
- aux navigateurs et aux mandataires le soin de déterminer s'il est
+ <code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code> pour définir de manière explicite la
+ date d'expiration de vos fichiers, laissant par la-même
+ aux navigateurs et aux mandataires le soin de déterminer s'il est
opportun ou non de les mettre en cache.</li>
</ol>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<!--#fonction attribut=valeur attribut=valeur ... -->
</code></p></div>
- <p>Le format d'une directive SSI étant similaire à celui d'un
- commentaire HTML, si vous n'avez pas activé correctement SSI, le
+ <p>Le format d'une directive SSI étant similaire à celui d'un
+ commentaire HTML, si vous n'avez pas activé correctement SSI, le
navigateur l'ignorera, mais elle sera encore visible dans le source
- HTML. Si SSI est correctement configuré, la directive sera remplacée
- par ses résultats.</p>
+ HTML. Si SSI est correctement configuré, la directive sera remplacée
+ par ses résultats.</p>
- <p>"fonction" peut prendre de nombreuses formes, et nous décrirons
- plus précisément la plupart d'entre eux dans la prochaine version de
+ <p>"fonction" peut prendre de nombreuses formes, et nous décrirons
+ plus précisément la plupart d'entre eux dans la prochaine version de
ce document. Pour le moment, voici quelques exemples de ce que vous
pouvez faire avec SSI.</p>
<p>La fonction <code>echo</code> permet d'afficher la valeur d'une
variable. Il existe un grand nombre de variables standards, y
compris l'ensemble des variables d'environnement disponibles pour
- les programmes CGI. De plus, vous pouvez définir vos propres
- variables à l'aide de la fonction <code>set</code>.</p>
+ les programmes CGI. De plus, vous pouvez définir vos propres
+ variables à l'aide de la fonction <code>set</code>.</p>
<p>Si vous n'aimez pas le format sous lequel la date s'affiche, vous
pouvez utiliser la fonction <code>config</code> avec un attribut
<h3><a name="lastmodified" id="lastmodified">Date de modification du fichier</a></h3>
<div class="example"><p><code>
- Dernière modification du document <!--#flastmod file="index.html" -->
+ Dernière modification du document <!--#flastmod file="index.html" -->
</code></p></div>
- <p>Le format peut là aussi être modifié à l'aide de l'attribut
+ <p>Le format peut là aussi être modifié à l'aide de l'attribut
<code>timefmt</code>.</p>
-<h3><a name="cgi" id="cgi">Inclusion des résultats d'un programme CGI</a></h3>
+<h3><a name="cgi" id="cgi">Inclusion des résultats d'un programme CGI</a></h3>
<p>C'est le cas le plus courant d'utilisation des SSI - afficher les
- résultats d'un programme CGI, comme l'universellement adoré
- "compteur d'accès".</p>
+ résultats d'un programme CGI, comme l'universellement adoré
+ "compteur d'accès".</p>
<div class="example"><p><code>
<!--#include virtual="/cgi-bin/counter.pl" -->
<h2><a name="additionalexamples" id="additionalexamples">Exemples additionnels</a><a title="Lien permanent" href="#additionalexamples" class="permalink">¶</a></h2>
- <p>Vous trouverez dans ce qui suit quelques exemples spécifiques de
+ <p>Vous trouverez dans ce qui suit quelques exemples spécifiques de
ce que vous pouvez faire de vos documents HTML avec SSI.</p>
-<h3><a name="docmodified" id="docmodified">Quand ce document a-t-il été modifié ?</a></h3>
+<h3><a name="docmodified" id="docmodified">Quand ce document a-t-il été modifié ?</a></h3>
- <p>Nous avons mentionné plus haut que vous pouviez utiliser SSI pour
- informer l'utilisateur de la date de dernière modification du
- document. Cependant, la méthode pour y parvenir n'a pas été vraiment
- abordée. Placé dans votre document HTML, le code suivant va insérer
- un repère de temps dans votre page. Bien entendu, SSI devra avoir
- été correctement activé, comme décrit plus haut.</p>
+ <p>Nous avons mentionné plus haut que vous pouviez utiliser SSI pour
+ informer l'utilisateur de la date de dernière modification du
+ document. Cependant, la méthode pour y parvenir n'a pas été vraiment
+ abordée. Placé dans votre document HTML, le code suivant va insérer
+ un repère de temps dans votre page. Bien entendu, SSI devra avoir
+ été correctement activé, comme décrit plus haut.</p>
<div class="example"><p><code>
<!--#config timefmt="%A %B %d, %Y" --><br />
- Dernière modification du fichier <!--#flastmod file="ssi.shtml" -->
+ Dernière modification du fichier <!--#flastmod file="ssi.shtml" -->
</code></p></div>
<p>Bien entendu, vous devez remplacer <code>ssi.shtml</code> par le
- nom du fichier auquel vous faites référence. Ceci ne conviendra pas
- si vous recherchez un morceau de code générique que vous pourrez
- insérer dans tout fichier ; dans ce cas, il est préférable
+ nom du fichier auquel vous faites référence. Ceci ne conviendra pas
+ si vous recherchez un morceau de code générique que vous pourrez
+ insérer dans tout fichier ; dans ce cas, il est préférable
d'utiliser la variable <code>LAST_MODIFIED</code> :</p>
<div class="example"><p><code>
<!--#config timefmt="%D" --><br />
This file last modified <!--#echo var="LAST_MODIFIED" -->
</code></p></div>
- <p>Pour plus de détails sur le format <code>timefmt</code>, tapez
- <code>strftime</code> dans votre moteur de recherche préferé. La
+ <p>Pour plus de détails sur le format <code>timefmt</code>, tapez
+ <code>strftime</code> dans votre moteur de recherche préferé. La
syntaxe est identique.</p>
<h3><a name="standard-footer" id="standard-footer">Inclusion d'un pied de page standard</a></h3>
- <p>Si le site que vous gérez comporte plus que quelques pages, vous
+ <p>Si le site que vous gérez comporte plus que quelques pages, vous
allez vite vous apercevoir qu'effectuer des modifications sur toutes
- ces pages peut devenir très contraignant, en particulier si vous
- voulez qu'elles conservent un aspect homogène.</p>
+ ces pages peut devenir très contraignant, en particulier si vous
+ voulez qu'elles conservent un aspect homogène.</p>
- <p>Inclure un fichier pour un en-tête et/ou un pied de page peut
- simplifier cette corvée de mises à jour. Il vous suffit de
+ <p>Inclure un fichier pour un en-tête et/ou un pied de page peut
+ simplifier cette corvée de mises à jour. Il vous suffit de
confectionner un fichier de pied de page, et de l'inclure dans
- chaque page à l'aide de l'élément SSI <code>include</code>. Pour
- définir le fichier à inclure, la fonction <code>include</code> peut
+ chaque page à l'aide de l'élément SSI <code>include</code>. Pour
+ définir le fichier à inclure, la fonction <code>include</code> peut
utiliser soit l'attribut <code>file</code>, soit l'attribut
<code>virtual</code>. L'attribut <code>file</code> est un chemin de
- fichier <em>relatif au répertoire courant</em>. C'est à dire qu'il
- ne peut ni avoir pour valeur un chemin absolu (commençant par /), ni
+ fichier <em>relatif au répertoire courant</em>. C'est à dire qu'il
+ ne peut ni avoir pour valeur un chemin absolu (commençant par /), ni
comporter "../" dans son chemin. L'attribut <code>virtual</code> est
- probablement plus commode, et peut spécifier une URL relative au
+ probablement plus commode, et peut spécifier une URL relative au
document servi. Elle peut commencer par un /, mais le fichier inclus
- et le fichier servi doivent résider sur le même serveur.</p>
+ et le fichier servi doivent résider sur le même serveur.</p>
<div class="example"><p><code>
<!--#include virtual="/footer.html" -->
</code></p></div>
<p>Je combinerai souvent ces deux derniers points, en ajoutant une
directive <code>LAST_MODIFIED</code> dans un fichier de pied de page
- destiné à être inclus. Le fichier inclus peut contenir des
- directives SSI, et les inclusions peuvent être imbriquées - à
+ destiné à être inclus. Le fichier inclus peut contenir des
+ directives SSI, et les inclusions peuvent être imbriquées - à
savoir, le fichier inclus peut inclure un autre fichier, etc...</p>
<h2><a name="config" id="config">Que puis-je configurer d'autre ?</a><a title="Lien permanent" href="#config" class="permalink">¶</a></h2>
- <p>En plus du format de date, vous pouvez utiliser l'élément
+ <p>En plus du format de date, vous pouvez utiliser l'élément
<code>config</code> pour configurer deux autres choses.</p>
- <p>En général, lorsque quelque chose se passe mal avec votre
+ <p>En général, lorsque quelque chose se passe mal avec votre
directive SSI, vous recevez le message :</p>
<div class="example"><p><code>
[an error occurred while processing this directive]
</code></p></div>
<p>Il est cependant probable que les utilisateurs finaux ne voient
- jamais ce message, car vous aurez résolu tous les problèmes issus de
+ jamais ce message, car vous aurez résolu tous les problèmes issus de
vos directives SSI avant que votre site ne soit mis en production.
(N'est-ce pas ?)</p>
<p>Vous pouvez aussi modifier le format sous lequel les tailles de
- fichiers sont affichées à l'aide de l'attribut <code>sizefmt</code>.
- Vous pouvez spécifier <code>bytes</code> pour un affichage en
+ fichiers sont affichées à l'aide de l'attribut <code>sizefmt</code>.
+ Vous pouvez spécifier <code>bytes</code> pour un affichage en
octets, ou <code>abbrev</code> pour un affichage plus concis en Ko
ou Mo, selon le cas.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="exec" id="exec">Exécution de commandes</a><a title="Lien permanent" href="#exec" class="permalink">¶</a></h2>
+<h2><a name="exec" id="exec">Exécution de commandes</a><a title="Lien permanent" href="#exec" class="permalink">¶</a></h2>
<p>Voici autre chose que vous pouvez faire avec la fonction
- <code>exec</code>. Vous pouvez vraiment faire exécuter une commande
- par SSI en utilisant le shell (<code>/bin/sh</code>, pour être plus
- précis - ou le shell DOS, si vous êtes sous Win32). Par exemple, ce
- qui suit vous permet d'afficher le contenu d'un répertoire.</p>
+ <code>exec</code>. Vous pouvez vraiment faire exécuter une commande
+ par SSI en utilisant le shell (<code>/bin/sh</code>, pour être plus
+ précis - ou le shell DOS, si vous êtes sous Win32). Par exemple, ce
+ qui suit vous permet d'afficher le contenu d'un répertoire.</p>
<div class="example"><p><code>
<pre><br />
<!--#exec cmd="ls" --><br />
</pre>
</code></p></div>
- <p>Vous noterez probablement l'étrange formatage provoqué par cette
+ <p>Vous noterez probablement l'étrange formatage provoqué par cette
directive sous Windows, car la sortie de <code>dir</code> contient
- la chaîne de caractères "<<code>dir</code>>", ce qui trompe le
+ la chaîne de caractères "<<code>dir</code>>", ce qui trompe le
navigateur.</p>
- <p>Notez que cette fonctionnalité est très dangereuse, car elle va
- permettre d'exécuter tout code associé à l'élément
- <code>exec</code>. Si vous êtes dans la situation où les
- utilisateurs peuvent éditer le contenu de vos pages web, dans le cas
- d'un "livre d'or" par exemple, assurez-vous de désactiver cette
- fonctionnalité. Vous pouvez, tout en permettant les SSI, désactiver
- la fonctionnalité <code>exec</code> à l'aide de l'argument
+ <p>Notez que cette fonctionnalité est très dangereuse, car elle va
+ permettre d'exécuter tout code associé à l'élément
+ <code>exec</code>. Si vous êtes dans la situation où les
+ utilisateurs peuvent éditer le contenu de vos pages web, dans le cas
+ d'un "livre d'or" par exemple, assurez-vous de désactiver cette
+ fonctionnalité. Vous pouvez, tout en permettant les SSI, désactiver
+ la fonctionnalité <code>exec</code> à l'aide de l'argument
<code>IncludesNOEXEC</code> de la directive
<code>Options</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="advanced" id="advanced">Techniques SSI avancées</a><a title="Lien permanent" href="#advanced" class="permalink">¶</a></h2>
+<h2><a name="advanced" id="advanced">Techniques SSI avancées</a><a title="Lien permanent" href="#advanced" class="permalink">¶</a></h2>
<p>Outre l'affichage de contenu, les SSI d'Apache vous permettent de
- définir des variables, et de les utiliser dans des comparaisons et
+ définir des variables, et de les utiliser dans des comparaisons et
des conditions.</p>
-<h3><a name="variables" id="variables">Définition de variables</a></h3>
+<h3><a name="variables" id="variables">Définition de variables</a></h3>
- <p>Avec l'élément <code>set</code>, vous pouvez définir des
- variables pour un usage ultérieur. Comme nous en aurons besoin plus
- loin, nous allons en parler tout de suite. La syntaxe se présente
+ <p>Avec l'élément <code>set</code>, vous pouvez définir des
+ variables pour un usage ultérieur. Comme nous en aurons besoin plus
+ loin, nous allons en parler tout de suite. La syntaxe se présente
comme suit :</p>
<div class="example"><p><code>
<!--#set var="name" value="Rich" -->
</code></p></div>
- <p>Pour affecter une valeur à vos variables, en plus de la
- définition littérale de l'exemple ci-dessus, vous pouvez utiliser
+ <p>Pour affecter une valeur à vos variables, en plus de la
+ définition littérale de l'exemple ci-dessus, vous pouvez utiliser
une autre variable, y compris les <a href="../env.html">variables d'environnement</a>, ou les variables
- décrites plus haut (comme <code>LAST_MODIFIED</code> par exemple).
- Pour indiquer qu'il s'agit d'une variable et non d'une chaîne, vous
+ décrites plus haut (comme <code>LAST_MODIFIED</code> par exemple).
+ Pour indiquer qu'il s'agit d'une variable et non d'une chaîne, vous
devez utiliser le symbole dollar ($) devant le nom de la
variable.</p>
<div class="example"><p><code> <!--#set var="modified" value="$LAST_MODIFIED" -->
</code></p></div>
- <p>Pour insérer un caractère $ dans la valeur de votre variable,
- vous devez l'échapper à l'aide d'un backslash.</p>
+ <p>Pour insérer un caractère $ dans la valeur de votre variable,
+ vous devez l'échapper à l'aide d'un backslash.</p>
<div class="example"><p><code>
<!--#set var="cost" value="\$100" -->
</code></p></div>
- <p>Enfin, si vous voulez insérer une variable dans une chaîne, et
+ <p>Enfin, si vous voulez insérer une variable dans une chaîne, et
s'il y a une chance pour que le nom de la variable se confonde avec
- le reste de la chaîne, vous pouvez l'entourer d'accolades pour
+ le reste de la chaîne, vous pouvez l'entourer d'accolades pour
eviter toute confusion (Il est difficile de trouver un bon exemple
- pour illustrer ceci, mais j'espère que vous comprendrez).</p>
+ pour illustrer ceci, mais j'espère que vous comprendrez).</p>
<div class="example"><p><code>
<!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" -->
</code></p></div>
<p>Maintenent que nous avons des variables, et que nous pouvons
- définir et comparer leurs valeurs, nous sommes à même de les
- utiliser dans des expressions conditionnelles. Ceci confère à SSI le
+ définir et comparer leurs valeurs, nous sommes à même de les
+ utiliser dans des expressions conditionnelles. Ceci confère à SSI le
statut de petit langage de programmation.
<code class="module"><a href="../mod/mod_include.html">mod_include</a></code> fournit une structure <code>if</code>,
<code>elif</code>, <code>else</code>, <code>endif</code> pour la
construction d'expressions conditionnelles, ce qui vous permet de
- générer plusieurs pages logiques à partir d'une seule vraie
+ générer plusieurs pages logiques à partir d'une seule vraie
page.</p>
<p>La structure de l'expression conditionnelle est :</p>
<!--#endif -->
</code></p></div>
- <p>Une <em>condition</em> peut revêtir la forme de toute comparaison
+ <p>Une <em>condition</em> peut revêtir la forme de toute comparaison
logique - soit une comparaison de valeurs avec une autre, soit une
- vérification de la "vérité" d'une valeur particulière (Une chaîne
- donnée est vraie si elle n'est pas vide). Pour une liste exhaustive
- des opérateurs de comparaison disponibles, voir la documentation du
+ vérification de la "vérité" d'une valeur particulière (Une chaîne
+ donnée est vraie si elle n'est pas vide). Pour une liste exhaustive
+ des opérateurs de comparaison disponibles, voir la documentation du
module <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>.</p>
- <p>Par exemple, spour insérer l'heure du jour dans votre page web,
+ <p>Par exemple, spour insérer l'heure du jour dans votre page web,
vous pouvez ajouter ces lignes dans la page HTML :</p>
<div class="example"><p><code>
<!--#endif --><br />
</code></p></div>
- <p>Toute autre variable (que vous avez définie, ou une variable
- d'environnement normale) peut être utilisée dans les expressions
+ <p>Toute autre variable (que vous avez définie, ou une variable
+ d'environnement normale) peut être utilisée dans les expressions
conditionnelles. Voir le document <a href="../expr.html">Expressions
- rationnelles dans le serveur HTTP Apache</a> pour plus de détails à
- propos du fonctionnement du moteur d'évaluation des expressions
+ rationnelles dans le serveur HTTP Apache</a> pour plus de détails à
+ propos du fonctionnement du moteur d'évaluation des expressions
rationnelles.</p>
- <p>Associée à la possibilité avec Apache de définir
- des variables d'environnement à l'aide de directives
+ <p>Associée à la possibilité avec Apache de définir
+ des variables d'environnement à l'aide de directives
<code>SetEnvIf</code>, ainsi que d'autres directives en rapport,
- cette fonctionnalité vous permet d'ajouter une grande variété
- de contenus dynamiques côté serveur sans avoir à concevoir une
- application web de A à Z.</p>
+ cette fonctionnalité vous permet d'ajouter une grande variété
+ de contenus dynamiques côté serveur sans avoir à concevoir une
+ application web de A à Z.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="conclusion" id="conclusion">Conclusion</a><a title="Lien permanent" href="#conclusion" class="permalink">¶</a></h2>
<p>SSI ne remplace certainement pas CGI, ou d'autres technologies
- utilisées pour la génération de pages web dynamiques. Mais c'est une
- bonne méthode pour ajouter des petits contenus dynamiques à vos
- pages, sans devoir fournir un gros effort supplémentaire.</p>
+ utilisées pour la génération de pages web dynamiques. Mais c'est une
+ bonne méthode pour ajouter des petits contenus dynamiques à vos
+ pages, sans devoir fournir un gros effort supplémentaire.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/howto/ssi.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/howto/ssi.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/howto/ssi.html" title="Français"> fr </a> |
+<a href="../es/howto/ssi.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/howto/ssi.html" title="Français"> fr </a> |
<a href="../ja/howto/ssi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/ssi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<p><span>Langues Disponibles: </span><a href="./da/" hreflang="da" rel="alternate" title="Dansk"> da </a> |
<a href="./de/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/" title="Français"> fr </a> |
+<a href="./es/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/" title="Français"> fr </a> |
<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> |
-<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> |
+<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
<form method="get" action="http://www.google.com/search"><p><input name="as_q" value="" type="text" /> <input value="Recherche Google" type="submit" /><input value="10" name="num" type="hidden" /><input value="fr" name="hl" type="hidden" /><input value="ISO-8859-1" name="ie" type="hidden" /><input value="Google Search" name="btnG" type="hidden" /><input name="as_epq" value="Version 2.5" type="hidden" /><input name="as_oq" value="" type="hidden" /><input name="as_eq" value=""List-Post"" type="hidden" /><input value="" name="lr" type="hidden" /><input value="i" name="as_ft" type="hidden" /><input value="" name="as_filetype" type="hidden" /><input value="all" name="as_qdr" type="hidden" /><input value="any" name="as_occt" type="hidden" /><input value="i" name="as_dt" type="hidden" /><input value="httpd.apache.org" name="as_sitesearch" type="hidden" /><input value="off" name="safe" type="hidden" /></p></form>
<table id="indextable"><tr><td class="col1"><div class="category"><h2><a name="release" id="release">Notes de version</a></h2>
-<ul><li><a href="new_features_2_4.html">Nouvelles fonctionnalités dApache 2.3/2.4</a></li>
-<li><a href="new_features_2_2.html">Nouvelles fonctionnalités d'Apache 2.1/2.2</a></li>
-<li><a href="new_features_2_0.html.fr">Nouvelles fonctionnalités d'Apache 2.0</a></li>
-<li><a href="upgrading.html">Mise à jour de la version 2.2 vers la version 2.4</a></li>
+<ul><li><a href="new_features_2_4.html">Nouvelles fonctionnalités dApache 2.3/2.4</a></li>
+<li><a href="new_features_2_2.html">Nouvelles fonctionnalités d'Apache 2.1/2.2</a></li>
+<li><a href="new_features_2_0.html.fr">Nouvelles fonctionnalités d'Apache 2.0</a></li>
+<li><a href="upgrading.html">Mise à jour de la version 2.2 vers la version 2.4</a></li>
<li><a href="license.html">Licence Apache</a></li>
</ul>
-</div><div class="category"><h2><a name="manual" id="manual">Manuel de référence</a></h2>
+</div><div class="category"><h2><a name="manual" id="manual">Manuel de référence</a></h2>
<ul><li><a href="install.html">Compilation et installation</a></li>
-<li><a href="invoking.html">Démarrage</a></li>
-<li><a href="stopping.html">Arrêt ou redémarrage</a></li>
-<li><a href="mod/quickreference.html">Directives de configuration à l'exécution</a></li>
+<li><a href="invoking.html">Démarrage</a></li>
+<li><a href="stopping.html">Arrêt ou redémarrage</a></li>
+<li><a href="mod/quickreference.html">Directives de configuration à l'exécution</a></li>
<li><a href="mod/">Modules</a></li>
<li><a href="mpm.html">Modules multi-processus (MPMs)</a></li>
<li><a href="filter.html">Filtres</a></li>
<li><a href="handler.html">Gestionnaires</a></li>
-<li><a href="expr.html">Interpréteur d'expressions</a></li>
+<li><a href="expr.html">Interpréteur d'expressions</a></li>
<li><a href="mod/overrides.html">Index des directives disponibles dans les
fichiers .htaccess</a></li>
<li><a href="programs/">Le serveur et ses utilitaires</a></li>
<li><a href="glossary.html">Glossaire</a></li>
</ul>
</div></td><td><div class="category"><h2><a name="usersguide" id="usersguide">Guide de l'utilisateur</a></h2>
-<ul><li><a href="getting-started.html">Bien démarrer</a></li>
-<li><a href="bind.html">Ecoute sélective</a></li>
+<ul><li><a href="getting-started.html">Bien démarrer</a></li>
+<li><a href="bind.html">Ecoute sélective</a></li>
<li><a href="configuring.html">Fichiers de configuration</a></li>
<li><a href="sections.html">Sections de configuration</a></li>
<li><a href="caching.html">Mise en cache du contenu</a></li>
-<li><a href="content-negotiation.html">Négociation sur le contenu</a></li>
-<li><a href="dso.html">Objets Dynamiques Partagés (DSO)</a></li>
+<li><a href="content-negotiation.html">Négociation sur le contenu</a></li>
+<li><a href="dso.html">Objets Dynamiques Partagés (DSO)</a></li>
<li><a href="env.html">Variables d'environnement</a></li>
<li><a href="logs.html">Fichiers de traces</a></li>
-<li><a href="compliance.html">Conformité au protocole HTTP</a></li>
-<li><a href="urlmapping.html">Mise en correspondance des URLs avec le système de fichiers</a></li>
+<li><a href="compliance.html">Conformité au protocole HTTP</a></li>
+<li><a href="urlmapping.html">Mise en correspondance des URLs avec le système de fichiers</a></li>
<li><a href="misc/perf-tuning.html">Optimisation des performances</a></li>
-<li><a href="misc/security_tips.html">Conseils sur la sécurité</a></li>
-<li><a href="server-wide.html">Configuration à l'échelle du serveur</a></li>
+<li><a href="misc/security_tips.html">Conseils sur la sécurité</a></li>
+<li><a href="server-wide.html">Configuration à l'échelle du serveur</a></li>
<li><a href="ssl/">Chiffrement SSL/TLS</a></li>
-<li><a href="suexec.html">Exécution des CGI avec suexec</a></li>
-<li><a href="rewrite/">Réécriture des URLs avec mod_rewrite</a></li>
-<li><a href="vhosts/">Hôtes virtuels</a></li>
+<li><a href="suexec.html">Exécution des CGI avec suexec</a></li>
+<li><a href="rewrite/">Réécriture des URLs avec mod_rewrite</a></li>
+<li><a href="vhosts/">Hôtes virtuels</a></li>
</ul>
</div></td><td class="col3"><div class="category"><h2><a name="howto" id="howto">Recettes / Tutoriels</a></h2>
<ul><li><a href="howto">Index des recettes et tutoriels</a></li>
<li><a href="howto/auth.html">Authentification et autorisation</a></li>
-<li><a href="howto/access.html">Contrôle d'accès</a></li>
+<li><a href="howto/access.html">Contrôle d'accès</a></li>
<li><a href="howto/cgi.html">CGI: Contenu dynamique</a></li>
<li><a href="howto/htaccess.html">Fichiers .htaccess</a></li>
<li><a href="howto/ssi.html">Server Side Includes (SSI)</a></li>
-<li><a href="howto/public_html.html">Répertoires Web des utilisateurs (public_html)</a></li>
+<li><a href="howto/public_html.html">Répertoires Web des utilisateurs (public_html)</a></li>
<li><a href="howto/reverse_proxy.html">Guide de configuration d'un mandataire
inverse</a></li>
<li><a href="howto/http2.html">Guide HTTP/2</a></li>
</ul>
-</div><div class="category"><h2><a name="platform" id="platform">Notes spécifiques aux différentes plateformes</a></h2>
+</div><div class="category"><h2><a name="platform" id="platform">Notes spécifiques aux différentes plateformes</a></h2>
<ul><li><a href="platform/windows.html">Microsoft Windows</a></li>
-<li><a href="platform/rpm.html">Systèmes basés sur les paquet RPM (Redhat / CentOS / Fedora)</a></li>
+<li><a href="platform/rpm.html">Systèmes basés sur les paquet RPM (Redhat / CentOS / Fedora)</a></li>
<li><a href="platform/netware.html">Novell NetWare</a></li>
</ul>
</div><div class="category"><h2><a name="other" id="other">Autres sujets</a></h2>
<ul><li><a href="http://wiki.apache.org/httpd/FAQ">Foire Aux Questions</a></li>
<li><a href="sitemap.html">Plan du site</a></li>
-<li><a href="developer/">Documentation du développeur</a></li>
+<li><a href="developer/">Documentation du développeur</a></li>
<li><a href="http://httpd.apache.org/docs-project/">Aide pour la
documentation</a></li>
<li><a href="misc/">Autres notes</a></li>
<p><span>Langues Disponibles: </span><a href="./da/" hreflang="da" rel="alternate" title="Dansk"> da </a> |
<a href="./de/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/" title="Français"> fr </a> |
+<a href="./es/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/" title="Français"> fr </a> |
<a href="./ja/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> |
-<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="./pt-br/" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> |
+<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./de/install.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/install.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/install.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/install.html" title="Français"> fr </a> |
+<a href="./es/install.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/install.html" title="Français"> fr </a> |
<a href="./ja/install.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/install.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/install.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/install.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
<p>Ce document couvre l'installation et la compilation du serveur
HTTP Apache
- sur les systèmes Unix et similaires seulement. Pour la compilation et
+ sur les systèmes Unix et similaires seulement. Pour la compilation et
l'installation sous Windows, voir <a href="platform/windows.html">Utiliser le serveur HTTP Apache avec Microsoft
Windows</a> et <a href="platform/win_compiling.html">Compilation
d'Apache sous Microsoft Windows</a>. Pour les autres plateformes, se
- référer à la documentation par
+ référer à la documentation par
<a href="platform/">plateforme</a>.</p>
<p>Apache httpd utilise <code>libtool</code> et <code>autoconf</code>
- afin de créer un environnement de construction similaire à la plupart
+ afin de créer un environnement de construction similaire à la plupart
des projets Open Source .</p>
- <p>Si vous effectuez une mise à jour depuis une version mineure vers
- la suivante (par exemple, 2.4.8 à 2.4.9), veuillez passer à la section
- <a href="#upgrading">mise à jour</a>.</p>
+ <p>Si vous effectuez une mise à jour depuis une version mineure vers
+ la suivante (par exemple, 2.4.8 à 2.4.9), veuillez passer à la section
+ <a href="#upgrading">mise à jour</a>.</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#overview">Aperçu pour les plus pressés</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#requirements">Prérequis</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#download">Téléchargement</a></li>
+<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#overview">Aperçu pour les plus pressés</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#requirements">Prérequis</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#download">Téléchargement</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#extract">Extraction</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#configure">Configuration de l'arborescence des sources</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#compile">Construction</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#install">Installation</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#customize">Personnalisation</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#test">Test</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#upgrading">Mise à jour</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#upgrading">Mise à jour</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#thirdp">Paquets tiers</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="programs/configure.html">Configuration de l'arborescence
- des sources</a></li><li><a href="invoking.html">Démarrer Apache httpd</a></li><li><a href="stopping.html">Arrêt et redémarrage</a></li><li><a href="#comments_section">Commentaires</a></li></ul></div>
+ des sources</a></li><li><a href="invoking.html">Démarrer Apache httpd</a></li><li><a href="stopping.html">Arrêt et redémarrage</a></li><li><a href="#comments_section">Commentaires</a></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="overview" id="overview">Aperçu pour les plus pressés</a><a title="Lien permanent" href="#overview" class="permalink">¶</a></h2>
+<h2><a name="overview" id="overview">Aperçu pour les plus pressés</a><a title="Lien permanent" href="#overview" class="permalink">¶</a></h2>
<dl>
<dt>Installation sous Fedora/CentOS/Red Hat Enterprise Linux</dt>
sudo service httpd start</pre>
- <div class="warning">Les dernières versions de ces distributions préfèrent
- <code>dnf</code> à <code>yum</code>. Voir la <a href="https://fedoraproject.org/wiki/Apache_HTTP_Server">documentation du
- projet Fedora</a> pour des informations spécifiques à cette plateforme.</div>
+ <div class="warning">Les dernières versions de ces distributions préfèrent
+ <code>dnf</code> à <code>yum</code>. Voir la <a href="https://fedoraproject.org/wiki/Apache_HTTP_Server">documentation du
+ projet Fedora</a> pour des informations spécifiques à cette plateforme.</div>
</dd>
<dt>Installation sous Ubuntu/Debian</dt>
<div class="warning">Voir la <a href="https://help.ubuntu.com/lts/serverguide/httpd.html">documentation
- Ubuntu</a> pour des informations spécifiques à cette plateforme.</div>
+ Ubuntu</a> pour des informations spécifiques à cette plateforme.</div>
</dd>
- <dt>Installation à partir des sources</dt>
+ <dt>Installation à partir des sources</dt>
<dd>
<table>
<tr>
- <td><a href="#download">Téléchargement</a></td>
+ <td><a href="#download">Téléchargement</a></td>
- <td>Téléchargez la dernière version depuis <a href="http://httpd.apache.org/download.cgi#apache24">http://httpd.apache.org/download.cgi</a>
+ <td>Téléchargez la dernière version depuis <a href="http://httpd.apache.org/download.cgi#apache24">http://httpd.apache.org/download.cgi</a>
</td>
</tr>
</tr>
</table>
- <p><em>NN</em> doit être remplacé par le numéro de version courant,
+ <p><em>NN</em> doit être remplacé par le numéro de version courant,
et <em>PREFIX</em> par le
- chemin du répertoire d'installation. Si
- <em>PREFIX</em> n'est pas spécifié, le chemin du répertoire
- d'installation prendra sa valeur par défaut, à savoir
+ chemin du répertoire d'installation. Si
+ <em>PREFIX</em> n'est pas spécifié, le chemin du répertoire
+ d'installation prendra sa valeur par défaut, à savoir
<code>/usr/local/apache2</code>.</p>
- <p>Chaque étape du processus de compilation et d'installation est
- décrite plus en détails ci-dessous, à commencer par les prérequis
+ <p>Chaque étape du processus de compilation et d'installation est
+ décrite plus en détails ci-dessous, à commencer par les prérequis
pour compiler et installer Apache httpd.</p>
</dd>
</dl>
<div class="warning">L'installation sous votre plateforme favorite n'est pas
- traitée ici ? N'hésitez pas à nous <a href="http://httpd.apache.org/docs-project/">aider à compléter cette
- documentation</a> en nous faisant profiter de votre expérience.</div>
+ traitée ici ? N'hésitez pas à nous <a href="http://httpd.apache.org/docs-project/">aider à compléter cette
+ documentation</a> en nous faisant profiter de votre expérience.</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="requirements" id="requirements">Prérequis</a><a title="Lien permanent" href="#requirements" class="permalink">¶</a></h2>
+<h2><a name="requirements" id="requirements">Prérequis</a><a title="Lien permanent" href="#requirements" class="permalink">¶</a></h2>
- <p>Les prérequis pour la construction d'Apache httpd sont les suivants:</p>
+ <p>Les prérequis pour la construction d'Apache httpd sont les suivants:</p>
<dl>
<dt>APR et APR-Util</dt>
- <dd>APR et APR-Util doivent être déjà installés sur votre système.
- Si ce n'est pas le cas, ou si vous préférez ne pas utiliser les
- versions fournies par le système, téléchargez les dernières
- versions d'APR et APR-Util depuis <a href="http://apr.apache.org/">Apache APR</a>, décompressez-les
+ <dd>APR et APR-Util doivent être déjà installés sur votre système.
+ Si ce n'est pas le cas, ou si vous préférez ne pas utiliser les
+ versions fournies par le système, téléchargez les dernières
+ versions d'APR et APR-Util depuis <a href="http://apr.apache.org/">Apache APR</a>, décompressez-les
respectivement dans <code>/racine_sources_httpd/srclib/apr</code> et
- <code>/racine_sources_httpd/srclib/apr-util</code> (les noms des répertoires ne
- doivent pas comporter de numéros de versions ; par exemple, la
+ <code>/racine_sources_httpd/srclib/apr-util</code> (les noms des répertoires ne
+ doivent pas comporter de numéros de versions ; par exemple, la
distribution d'APR doit se trouver dans /racine_sources_httpd/srclib/apr/), et
utilisez l'option <code>--with-included-apr</code> du script
<code>./configure</code>. Sur certaines plateformes, vous devrez
- peut-être installer les paquets <code>-dev</code> correspondants
+ peut-être installer les paquets <code>-dev</code> correspondants
pour permettre la compilation de httpd avec les versions
- installées d'APR et APR-Util.</dd>
+ installées d'APR et APR-Util.</dd>
- <dt>Bibliothèque d'expressions rationnelles compatibles Perl
+ <dt>Bibliothèque d'expressions rationnelles compatibles Perl
(PCRE)</dt>
- <dd>Cette bibliothèque est nécessaire mais n'est plus fournie avec la
- distribution de httpd. Téléchargez le code source depuis <a href="http://www.pcre.org/">http://www.pcre.org</a> ou installez
+ <dd>Cette bibliothèque est nécessaire mais n'est plus fournie avec la
+ distribution de httpd. Téléchargez le code source depuis <a href="http://www.pcre.org/">http://www.pcre.org</a> ou installez
un portage du paquet. Si votre suite de compilation ne trouve pas
- le script pcre-config installé au cours du processus de
+ le script pcre-config installé au cours du processus de
construction de PCRE, indiquez son chemin via l'option
<code>--with-pcre</code> du script <code>./configure</code>. Sur
certaines plateformes, vous devrez
- peut-être installer les paquets <code>-dev</code> correspondants
+ peut-être installer les paquets <code>-dev</code> correspondants
pour permettre la compilation de httpd avec la version
- installée de PCRE.</dd>
+ installée de PCRE.</dd>
<dt>Espace disque</dt>
<dd>Assurez-vous d'avoir au moins 50 Mo d'espace disque disponible
- temporaire. Après l'installation le serveur occupe
- approximativement 10 Mo d'espace disque. L'espace disque réellement
- nécessaire va varier considérablement en fonction de vos options
- de configuration, de la présence éventuelle de
+ temporaire. Après l'installation le serveur occupe
+ approximativement 10 Mo d'espace disque. L'espace disque réellement
+ nécessaire va varier considérablement en fonction de vos options
+ de configuration, de la présence éventuelle de
modules tiers, et bien entendu de la taille de votre site web et
- des sites que vous hébergez sur votre serveur.</dd>
+ des sites que vous hébergez sur votre serveur.</dd>
- <dt>Compilateur ANSI-C et système de construction</dt>
+ <dt>Compilateur ANSI-C et système de construction</dt>
<dd>Vous devez disposer d'un compilateur ANSI-C. Le compilateur <a href="http://gcc.gnu.org/">GNU C (GCC)</a> de la <a href="http://www.gnu.org/">Free Software Foundation (FSF)</a>
- est recommandé. Si vous ne possédez pas GCC,
+ est recommandé. Si vous ne possédez pas GCC,
assurez-vous au moins que votre compilateur soit compatible ANSI.
En outre, votre <code>PATH</code> doit contenir
les outils de construction de base tels que <code>make</code>.</dd>
<dt>Connaissance de l'heure exacte</dt>
- <dd>Les éléments du protocole HTTP font référence à l'heure du jour.
- Par conséquent, il est nécessaire d'équiper votre système d'un
+ <dd>Les éléments du protocole HTTP font référence à l'heure du jour.
+ Par conséquent, il est nécessaire d'équiper votre système d'un
dispositif de synchronisation du temps. Les programmes
- <code>ntpdate</code> ou <code>xntpd</code>, basés sur le protocole NTP,
- sont couramment utilisés à cet effet.
+ <code>ntpdate</code> ou <code>xntpd</code>, basés sur le protocole NTP,
+ sont couramment utilisés à cet effet.
Voir la <a href="http://www.ntp.org">page d'accueil de NTP</a>
- pour plus de détails à propos du logiciel NTP et des serveurs
+ pour plus de détails à propos du logiciel NTP et des serveurs
de temps publics.</dd>
<dt><a href="http://www.perl.org/">Perl 5</a>
[OPTIONNEL]</dt>
- <dd>L'interpréteur Perl 5 (les versions 5.003 ou supérieures conviennent)
- est nécessaire pour l'exécution de certains scripts comme
+ <dd>L'interpréteur Perl 5 (les versions 5.003 ou supérieures conviennent)
+ est nécessaire pour l'exécution de certains scripts comme
<code class="program"><a href="./programs/apxs.html">apxs</a></code> ou <code class="program"><a href="./programs/dbmmanage.html">dbmmanage</a></code>
- (qui sont écrits en Perl).
- Si le script <code class="program"><a href="./programs/configure.html">configure</a></code> ne trouve pas d'interpréteur
+ (qui sont écrits en Perl).
+ Si le script <code class="program"><a href="./programs/configure.html">configure</a></code> ne trouve pas d'interpréteur
Perl 5, vous ne pourrez pas utiliser les scripts qui en ont besoin.
- Bien entendu, vous pourrez tout de même construire et utiliser
+ Bien entendu, vous pourrez tout de même construire et utiliser
Apache httpd.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="download" id="download">Téléchargement</a><a title="Lien permanent" href="#download" class="permalink">¶</a></h2>
+<h2><a name="download" id="download">Téléchargement</a><a title="Lien permanent" href="#download" class="permalink">¶</a></h2>
- <p>Le serveur HTTP Apache peut être téléchargé à partir du
- <a href="http://httpd.apache.org/download.cgi">site de téléchargement
+ <p>Le serveur HTTP Apache peut être téléchargé à partir du
+ <a href="http://httpd.apache.org/download.cgi">site de téléchargement
du serveur HTTP Apache</a>, qui fournit la liste de nombreux miroirs.
- Il sera plus commode à la plupart des utilisateurs d'Apache sur les
- systèmes UNIX ou similaires de télécharger et de compiler
- la version sources. Le processus de construction (décrit ci-dessous) est
+ Il sera plus commode à la plupart des utilisateurs d'Apache sur les
+ systèmes UNIX ou similaires de télécharger et de compiler
+ la version sources. Le processus de construction (décrit ci-dessous) est
simple, et vous permet de personnaliser votre serveur selon vos besoins.
En outre, les versions binaires sont souvent plus anciennes que les
- dernières versions sources. Si vous téléchargez une version binaire,
- suivez les instructions décrites dans le fichier
+ dernières versions sources. Si vous téléchargez une version binaire,
+ suivez les instructions décrites dans le fichier
<code>INSTALL.bindist</code> inclus dans la distribution.</p>
- <p>Après le téléchargement, il est important de vérifier que vous
- disposez d'une version complète et non modifiée du serveur HTTP Apache.
- Vous pouvez le faire en testant l'archive téléchargée à l'aide de
- la signature PGP. Vous trouverez les détails de cette opération sur la <a href="http://httpd.apache.org/download.cgi#verify">page de téléchargement</a> ainsi qu'un exemple précis décrivant <a href="http://httpd.apache.org/dev/verification.html">l'utilisation de
+ <p>Après le téléchargement, il est important de vérifier que vous
+ disposez d'une version complète et non modifiée du serveur HTTP Apache.
+ Vous pouvez le faire en testant l'archive téléchargée à l'aide de
+ la signature PGP. Vous trouverez les détails de cette opération sur la <a href="http://httpd.apache.org/download.cgi#verify">page de téléchargement</a> ainsi qu'un exemple précis décrivant <a href="http://httpd.apache.org/dev/verification.html">l'utilisation de
PGP</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<h2><a name="extract" id="extract">Extraction</a><a title="Lien permanent" href="#extract" class="permalink">¶</a></h2>
<p>L'extraction des sources depuis l'archive du serveur HTTP Apache consiste
- simplement à décompresser et à désarchiver cette dernière :</p>
+ simplement à décompresser et à désarchiver cette dernière :</p>
<div class="example"><p><code>
$ gzip -d httpd-<em>NN</em>.tar.gz<br />
$ tar xvf httpd-<em>NN</em>.tar
</code></p></div>
- <p>Ceci créera, dans le répertoire courant, un nouveau répertoire
+ <p>Ceci créera, dans le répertoire courant, un nouveau répertoire
contenant le code source de la distribution. Vous devrez vous positionner
- dans ce répertoire avant de procéder à la compilation du serveur.</p>
+ dans ce répertoire avant de procéder à la compilation du serveur.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="configure" id="configure">Configuration de l'arborescence des sources</a><a title="Lien permanent" href="#configure" class="permalink">¶</a></h2>
- <p>L'étape suivante consiste à configurer l'arborescence des sources
+ <p>L'étape suivante consiste à configurer l'arborescence des sources
d'Apache en fonction de votre plateforme et de vos besoins personnels.
- Le script <code class="program"><a href="./programs/configure.html">configure</a></code>, situé à la racine du
- répertoire de la distribution, a été conçu à cet effet
- (Les développeurs qui téléchargent
+ Le script <code class="program"><a href="./programs/configure.html">configure</a></code>, situé à la racine du
+ répertoire de la distribution, a été conçu à cet effet
+ (Les développeurs qui téléchargent
une version non officielle de l'arborescence des sources d'Apache
devront disposer de
<code>autoconf</code> et <code>libtool</code> et
- exécuter <code>buildconf</code> avant de passer à l'étape suivante,
- ce qui n'est pas nécessaire pour les versions officielles).</p>
+ exécuter <code>buildconf</code> avant de passer à l'étape suivante,
+ ce qui n'est pas nécessaire pour les versions officielles).</p>
- <p>Pour configurer l'arborescence des sources avec les valeurs par défaut
+ <p>Pour configurer l'arborescence des sources avec les valeurs par défaut
pour toutes les options, entrez simplement <code>./configure</code>.
Pour modifier les valeurs des options, <code class="program"><a href="./programs/configure.html">configure</a></code>
- accepte toute une variété de variables et
+ accepte toute une variété de variables et
d'options de ligne de commande.</p>
<p>L'option la plus importante <code>--prefix</code> est le chemin
- du répertoire d'installation d'Apache, car Apache doit être configuré
+ du répertoire d'installation d'Apache, car Apache doit être configuré
en fonction de ce chemin pour pouvoir fonctionner correctement.
- Il est possible de définir plus finement le chemin d'installation des fichiers
- à l'aide d'<a href="programs/configure.html#installationdirectories">options
- supplémentaires de configure</a>.</p>
-
- <p>À ce niveau, vous pouvez aussi spécifier de quelles <a href="programs/configure.html#optionalfeatures">fonctionnalités</a> vous
- voulez disposer dans Apache en activant ou désactivant des <a href="mod/">modules</a>. Apache est fourni avec un grand nombre de
- modules inclus par défaut. Ils seront compilés en tant qu'<a href="dso.html">objets partagés (DSOs)</a> qui pourront être chargés
- ou déchargés à l'exécution. Vous pouvez aussi choisir de compiler
+ Il est possible de définir plus finement le chemin d'installation des fichiers
+ à l'aide d'<a href="programs/configure.html#installationdirectories">options
+ supplémentaires de configure</a>.</p>
+
+ <p>À ce niveau, vous pouvez aussi spécifier de quelles <a href="programs/configure.html#optionalfeatures">fonctionnalités</a> vous
+ voulez disposer dans Apache en activant ou désactivant des <a href="mod/">modules</a>. Apache est fourni avec un grand nombre de
+ modules inclus par défaut. Ils seront compilés en tant qu'<a href="dso.html">objets partagés (DSOs)</a> qui pourront être chargés
+ ou déchargés à l'exécution. Vous pouvez aussi choisir de compiler
les modules statiquement via l'option
<code>--enable-<var>module</var>=static</code>.</p>
- <p>Des modules supplémentaires peuvent être activés à l'aide de l'option
- <code>--enable-<var>module</var></code>, où
- <var>module</var> est le nom du module sans la chaîne
- <code>mod_</code> et où tout caractère de soulignement est converti
- en tiret. D'une manière similaire,
- vous pouvez désactiver des modules à l'aide de l'option
- <code>--disable-<var>module</var></code>. Faites très attention
+ <p>Des modules supplémentaires peuvent être activés à l'aide de l'option
+ <code>--enable-<var>module</var></code>, où
+ <var>module</var> est le nom du module sans la chaîne
+ <code>mod_</code> et où tout caractère de soulignement est converti
+ en tiret. D'une manière similaire,
+ vous pouvez désactiver des modules à l'aide de l'option
+ <code>--disable-<var>module</var></code>. Faites très attention
en utilisant ces options, car <code class="program"><a href="./programs/configure.html">configure</a></code> n'est pas en
- mesure de vous avertir si le module que vous avez spécifié n'existe pas;
+ mesure de vous avertir si le module que vous avez spécifié n'existe pas;
il ignorera tout simplement l'option.</p>
- <p>En outre, vous devrez peut-être fournir au script
- <code class="program"><a href="./programs/configure.html">configure</a></code> des informations supplémentaires sur
- le chemin de votre compilateur, de vos bibliothèques, ou de vos fichiers
- d'en-têtes. A cet effet, vous pouvez passer des options de ligne de
+ <p>En outre, vous devrez peut-être fournir au script
+ <code class="program"><a href="./programs/configure.html">configure</a></code> des informations supplémentaires sur
+ le chemin de votre compilateur, de vos bibliothèques, ou de vos fichiers
+ d'en-têtes. A cet effet, vous pouvez passer des options de ligne de
commande ou des variables d'environnement au script
<code class="program"><a href="./programs/configure.html">configure</a></code>. Pour plus d'informations, voir la
page de manuel de <code class="program"><a href="./programs/configure.html">configure</a></code>, ou lancez le script
<code class="program"><a href="./programs/configure.html">configure</a></code> avec l'option <code>--help</code>.
</p>
- <p>Pour vous faire une idée des possibilités qui s'offrent à vous, voici
- un exemple typique de compilation d'Apache avec le répertoire
+ <p>Pour vous faire une idée des possibilités qui s'offrent à vous, voici
+ un exemple typique de compilation d'Apache avec le répertoire
d'installation <code>/sw/pkg/apache</code>, un compilateur et des drapeaux
particuliers et les deux modules additionnels <code class="module"><a href="./mod/mod_ldap.html">mod_ldap</a></code>
et <code class="module"><a href="./mod/mod_lua.html">mod_lua</a></code> :</p>
--enable-lua=shared
</code></p></div>
- <p>Plusieurs minutes peuvent être nécessaires à
- <code class="program"><a href="./programs/configure.html">configure</a></code> pour tester la disponibilité des
- fonctionnalités
- au sein de votre système, et construire les Makefiles qui seront utilisés
+ <p>Plusieurs minutes peuvent être nécessaires à
+ <code class="program"><a href="./programs/configure.html">configure</a></code> pour tester la disponibilité des
+ fonctionnalités
+ au sein de votre système, et construire les Makefiles qui seront utilisés
par la suite pour compiler le serveur.</p>
- <p>Vous trouverez une description détaillée des options de
+ <p>Vous trouverez une description détaillée des options de
<code class="program"><a href="./programs/configure.html">configure</a></code> dans sa page de manuel.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="compile" id="compile">Construction</a><a title="Lien permanent" href="#compile" class="permalink">¶</a></h2>
- <p>Vous pouvez maintenant construire les différents éléments qui
- composent le paquet Apache en lançant tout simplement la commande :</p>
+ <p>Vous pouvez maintenant construire les différents éléments qui
+ composent le paquet Apache en lançant tout simplement la commande :</p>
<div class="example"><p><code>$ make</code></p></div>
- <p>Vous devez être patient, car il faut plusieurs minutes pour compiler
- une configuration de base, et cette durée peut varier considérablement
- en fonction de votre matériel et du nombre de modules que vous avez activés.</p>
+ <p>Vous devez être patient, car il faut plusieurs minutes pour compiler
+ une configuration de base, et cette durée peut varier considérablement
+ en fonction de votre matériel et du nombre de modules que vous avez activés.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="install" id="install">Installation</a><a title="Lien permanent" href="#install" class="permalink">¶</a></h2>
- <p>Il est temps maintenant d'installer le paquet dans le répertoire
- d'installation défini par <em>PREFIX</em> (voir plus haut l'option
- <code>--prefix</code>) en lançant:</p>
+ <p>Il est temps maintenant d'installer le paquet dans le répertoire
+ d'installation défini par <em>PREFIX</em> (voir plus haut l'option
+ <code>--prefix</code>) en lançant:</p>
<div class="example"><p><code>$ make install</code></p></div>
- <p>Cette étape nécessite habituellement les privilèges
- de root, car <em>PREFIX</em> est en général un
- répertoire possèdant des droits en écriture
+ <p>Cette étape nécessite habituellement les privilèges
+ de root, car <em>PREFIX</em> est en général un
+ répertoire possèdant des droits en écriture
restreints.</p>
- <p>Si vous effectuez une mise à jour, l'installation n'écrasera pas
+ <p>Si vous effectuez une mise à jour, l'installation n'écrasera pas
vos fichiers de configuration ou autres documents.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="customize" id="customize">Personnalisation</a><a title="Lien permanent" href="#customize" class="permalink">¶</a></h2>
<p>Ensuite, vous pourrez personnaliser votre Serveur HTTP Apache en
- éditant les <a href="configuring.html">fichiers de configuration</a>
- situés dans <code><em>PREFIX</em>/conf/</code>.</p>
+ éditant les <a href="configuring.html">fichiers de configuration</a>
+ situés dans <code><em>PREFIX</em>/conf/</code>.</p>
<div class="example"><p><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code></p></div>
- <p>Consultez le manuel d'Apache situé dans
+ <p>Consultez le manuel d'Apache situé dans
<code><em>PREFIX</em>/docs/manual/</code> ou
<a href="http://httpd.apache.org/docs/trunk/">http://httpd.apache.org/docs/trunk/</a> pour la version la plus
- récente de ce manuel et la liste complète des <a href="mod/directives.html">directives de configuration</a> disponibles.</p>
+ récente de ce manuel et la liste complète des <a href="mod/directives.html">directives de configuration</a> disponibles.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="test" id="test">Test</a><a title="Lien permanent" href="#test" class="permalink">¶</a></h2>
- <p>Vous pouvez maintenant <a href="invoking.html">démarrer</a> votre
- serveur HTTP Apache en lançant:</p>
+ <p>Vous pouvez maintenant <a href="invoking.html">démarrer</a> votre
+ serveur HTTP Apache en lançant:</p>
<div class="example"><p><code>$ <em>PREFIX</em>/bin/apachectl -k start</code></p></div>
- <p>Vous devriez alors pouvoir requérir votre premier document
- à l'aide de l'URL <code>http://localhost/</code>. La page web que vous
- voyez est située dans le répertoire défini par la directive
+ <p>Vous devriez alors pouvoir requérir votre premier document
+ à l'aide de l'URL <code>http://localhost/</code>. La page web que vous
+ voyez est située dans le répertoire défini par la directive
<code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>,
- qui est généralement <code><em>PREFIX</em>/htdocs/</code>.
- Pour <a href="stopping.html">arrêter</a> le serveur, lancez:</p>
+ qui est généralement <code><em>PREFIX</em>/htdocs/</code>.
+ Pour <a href="stopping.html">arrêter</a> le serveur, lancez:</p>
<div class="example"><p><code>$ <em>PREFIX</em>/bin/apachectl -k stop</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="upgrading" id="upgrading">Mise à jour</a><a title="Lien permanent" href="#upgrading" class="permalink">¶</a></h2>
+<h2><a name="upgrading" id="upgrading">Mise à jour</a><a title="Lien permanent" href="#upgrading" class="permalink">¶</a></h2>
- <p>La première étape d'une mise à jour consiste à lire l'annonce de la
+ <p>La première étape d'une mise à jour consiste à lire l'annonce de la
sortie de la nouvelle version et le fichier <code>CHANGES</code>
- dans la distribution des sources afin de déceler toutes les modifications
+ dans la distribution des sources afin de déceler toutes les modifications
qui pourraient affecter votre site. Lors d'un changement majeur de version
- (par exemple de 2.0 à 2.2 ou de 2.2 à 2.4),
- il y aura certainement des différences importantes quant à la
- configuration de la compilation et de l'exécution qui nécessiteront des
+ (par exemple de 2.0 à 2.2 ou de 2.2 à 2.4),
+ il y aura certainement des différences importantes quant à la
+ configuration de la compilation et de l'exécution qui nécessiteront des
ajustements manuels. Tous les
- modules devront aussi être mis à jour pour qu'ils s'adaptent aux
+ modules devront aussi être mis à jour pour qu'ils s'adaptent aux
changements de l'API des modules.</p>
- <p>La mise à jour d'une version mineure à la suivante (par exemple, de
- 2.2.55 à 2.2.57) est plus aisée. Le processus <code>make install</code>
- n'écrasera aucun de vos documents existants, fichiers de log,
- ou fichiers de configuration. De plus, les développeurs font tout
- leur possible pour éviter les changements entraînant une
- incompatibilité dans les options de
- <code class="program"><a href="./programs/configure.html">configure</a></code>, la configuration de l'exécution, ou l'API
- des modules d'une version mineure à l'autre. Dans la plupart des cas,
+ <p>La mise à jour d'une version mineure à la suivante (par exemple, de
+ 2.2.55 à 2.2.57) est plus aisée. Le processus <code>make install</code>
+ n'écrasera aucun de vos documents existants, fichiers de log,
+ ou fichiers de configuration. De plus, les développeurs font tout
+ leur possible pour éviter les changements entraînant une
+ incompatibilité dans les options de
+ <code class="program"><a href="./programs/configure.html">configure</a></code>, la configuration de l'exécution, ou l'API
+ des modules d'une version mineure à l'autre. Dans la plupart des cas,
vous pourrez utiliser une ligne de commande
- <code class="program"><a href="./programs/configure.html">configure</a></code> identique, le même fichier de configuration,
+ <code class="program"><a href="./programs/configure.html">configure</a></code> identique, le même fichier de configuration,
et tous vos modules continueront de fonctionner.</p>
- <p>Pour effectuer une mise à jour entre deux versions mineures,
+ <p>Pour effectuer une mise à jour entre deux versions mineures,
commencez par trouver le fichier
- <code>config.nice</code> dans le répertoire de <code>construction</code>
- de votre serveur installé ou à la racine de l'arborescence des sources
+ <code>config.nice</code> dans le répertoire de <code>construction</code>
+ de votre serveur installé ou à la racine de l'arborescence des sources
de votre ancienne installation. Il contient la reproduction exacte de la
- ligne de commande <code class="program"><a href="./programs/configure.html">configure</a></code> que vous avez utilisée pour
- configurer l'arborescence des sources. Ensuite, pour mettre à jour
+ ligne de commande <code class="program"><a href="./programs/configure.html">configure</a></code> que vous avez utilisée pour
+ configurer l'arborescence des sources. Ensuite, pour mettre à jour
l'ancienne version vers la nouvelle,
il vous suffit de copier le fichier <code>config.nice</code> dans
- l'arborescence des sources de la nouvelle version, de l'éditer pour
- effectuer toute modification souhaitée, et de lancer :</p>
+ l'arborescence des sources de la nouvelle version, de l'éditer pour
+ effectuer toute modification souhaitée, et de lancer :</p>
<div class="example"><p><code>
$ ./config.nice<br />
<div class="warning">Vous devez toujours effectuer un test de la nouvelle
version dans votre environnement avant de la mettre en production.
- Par exemple, vous pouvez installer et exécuter la nouvelle version
- en parallèle avec l'ancienne en utilisant une option
- <code>--prefix</code> et un port différents (en ajustant la directive
- <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>) afin de déceler toute
- incompatibilité avant d'effectuer la mise à jour définitive.</div>
-
- <p>Vous pouvez ajouter des arguments supplémentaires à
- <code>config.nice</code> ; ils seront alors ajoutés aux options de
+ Par exemple, vous pouvez installer et exécuter la nouvelle version
+ en parallèle avec l'ancienne en utilisant une option
+ <code>--prefix</code> et un port différents (en ajustant la directive
+ <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>) afin de déceler toute
+ incompatibilité avant d'effectuer la mise à jour définitive.</div>
+
+ <p>Vous pouvez ajouter des arguments supplémentaires à
+ <code>config.nice</code> ; ils seront alors ajoutés aux options de
votre script <code class="program"><a href="./programs/configure.html">configure</a></code> original :</p>
<div class="example"><p><code>
<h2><a name="thirdp" id="thirdp">Paquets tiers</a><a title="Lien permanent" href="#thirdp" class="permalink">¶</a></h2>
<p>De nombreux tiers fournissent leur propre distribution du
- serveur HTTP Apache à installer sur une plate-forme particulière. On
- peut citer les différentes distributions Linux, divers
+ serveur HTTP Apache à installer sur une plate-forme particulière. On
+ peut citer les différentes distributions Linux, divers
paquets tiers Windows, Mac OS X, Solaris et de nombreux autres.</p>
<p>Notre license logicielle non seulement permet, mais aussi
- encourage ce genre de redistribution. Cependant, ceci conduit à une
+ encourage ce genre de redistribution. Cependant, ceci conduit à une
situation ou l'organisation de la configuration et les valeurs par
- défaut de votre installation du serveur peuvent ne pas correspondre
- à ce qui est écrit dans la documentation. Bien que fâcheuse, cette
- situation n'est pas appelée à évoluer de sitôt.</p>
+ défaut de votre installation du serveur peuvent ne pas correspondre
+ à ce qui est écrit dans la documentation. Bien que fâcheuse, cette
+ situation n'est pas appelée à évoluer de sitôt.</p>
<p>Une <a href="http://wiki.apache.org/httpd/DistrosDefaultLayout">description
de ces distributions tierces</a> est maintenue dans le wiki du
- serveur HTTP, et doit en refléter l'état actuel. Vous devrez
- cependant vous familiariser par vous-même avec la gestion du paquet
- de votre plate-forme particulière et les procédures d'installation.</p>
+ serveur HTTP, et doit en refléter l'état actuel. Vous devrez
+ cependant vous familiariser par vous-même avec la gestion du paquet
+ de votre plate-forme particulière et les procédures d'installation.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./de/install.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/install.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/install.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/install.html" title="Français"> fr </a> |
+<a href="./es/install.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/install.html" title="Français"> fr </a> |
<a href="./ja/install.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/install.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/install.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/install.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Démarrage d'Apache - Serveur Apache HTTP Version 2.5</title>
+<title>Démarrage d'Apache - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Démarrage d'Apache</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Démarrage d'Apache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./de/invoking.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/invoking.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/invoking.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/invoking.html" title="Français"> fr </a> |
+<a href="./es/invoking.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/invoking.html" title="Français"> fr </a> |
<a href="./ja/invoking.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/invoking.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/invoking.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/invoking.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Sous Windows, Apache est habituellement lancé en tant que
- service. Pour plus de détails, voir <a href="platform/windows.html#winsvc">Démarrer Apache en tant
+ <p>Sous Windows, Apache est habituellement lancé en tant que
+ service. Pour plus de détails, voir <a href="platform/windows.html#winsvc">Démarrer Apache en tant
que service</a>.</p>
<p>Sous Unix, le programme <code class="program"><a href="./programs/httpd.html">httpd</a></code>
- est lancé en mode démon et s'exécute de manière permanente en
- arrière-plan pour gérer les requêtes. Ce document décrit comment invoquer
+ est lancé en mode démon et s'exécute de manière permanente en
+ arrière-plan pour gérer les requêtes. Ce document décrit comment invoquer
<code class="program"><a href="./programs/httpd.html">httpd</a></code>.</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#startup">Comment Apache démarre</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#errors">Erreurs en cours de démarrage</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#boot">Lancement au démarrage du système</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#info">Informations supplémentaires</a></li>
-</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="stopping.html">Arrêt et redémarrage</a></li><li><code class="program"><a href="./programs/httpd.html">httpd</a></code></li><li><code class="program"><a href="./programs/apachectl.html">apachectl</a></code></li><li><a href="#comments_section">Commentaires</a></li></ul></div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#startup">Comment Apache démarre</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#errors">Erreurs en cours de démarrage</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#boot">Lancement au démarrage du système</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#info">Informations supplémentaires</a></li>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="stopping.html">Arrêt et redémarrage</a></li><li><code class="program"><a href="./programs/httpd.html">httpd</a></code></li><li><code class="program"><a href="./programs/apachectl.html">apachectl</a></code></li><li><a href="#comments_section">Commentaires</a></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="startup" id="startup">Comment Apache démarre</a><a title="Lien permanent" href="#startup" class="permalink">¶</a></h2>
+<h2><a name="startup" id="startup">Comment Apache démarre</a><a title="Lien permanent" href="#startup" class="permalink">¶</a></h2>
<p>Si la directive <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>
- spécifiée dans le fichier de configuration est à sa valeur par défaut
- de 80 (ou tout autre port inférieur à 1024), il est nécessaire de
- posséder les privilèges root pour pouvoir démarrer apache, et lui
- permettre d'être associé à ce port privilégié. Lorsque le serveur est
- démarré, il effectue quelques opérations préliminaires
+ spécifiée dans le fichier de configuration est à sa valeur par défaut
+ de 80 (ou tout autre port inférieur à 1024), il est nécessaire de
+ posséder les privilèges root pour pouvoir démarrer apache, et lui
+ permettre d'être associé à ce port privilégié. Lorsque le serveur est
+ démarré, il effectue quelques opérations préliminaires
comme ouvrir ses fichiers de log, puis il lance plusieurs processus
- <em>enfants</em> qui ont pour rôle d'écouter et de répondre aux
- requêtes des clients. Le processus <code>httpd</code> principal
- continue à s'exécuter sous l'utilisateur root, tandis que les processus
- enfants s'exécutent sous un utilisateur aux privilèges restreints.
+ <em>enfants</em> qui ont pour rôle d'écouter et de répondre aux
+ requêtes des clients. Le processus <code>httpd</code> principal
+ continue à s'exécuter sous l'utilisateur root, tandis que les processus
+ enfants s'exécutent sous un utilisateur aux privilèges restreints.
Ceci s'effectue par la voie du
<a href="mpm.html">Module Multi-Processus (MPM)</a>.</p>
- <p>Il est recommandé d'utiliser le script de contrôle
- <code class="program"><a href="./programs/apachectl.html">apachectl</a></code> pour invoquer l'exécutable
- <code class="program"><a href="./programs/httpd.html">httpd</a></code>. A cet effet, ce script définit certaines variables
- d'environnement nécessaires pour permettre à
- <code class="program"><a href="./programs/httpd.html">httpd</a></code> de fonctionner correctement sous certains systèmes
+ <p>Il est recommandé d'utiliser le script de contrôle
+ <code class="program"><a href="./programs/apachectl.html">apachectl</a></code> pour invoquer l'exécutable
+ <code class="program"><a href="./programs/httpd.html">httpd</a></code>. A cet effet, ce script définit certaines variables
+ d'environnement nécessaires pour permettre à
+ <code class="program"><a href="./programs/httpd.html">httpd</a></code> de fonctionner correctement sous certains systèmes
d'exploitation.
<code class="program"><a href="./programs/apachectl.html">apachectl</a></code> accepte des arguments de ligne de
commande ;
- ainsi toute option de <code class="program"><a href="./programs/httpd.html">httpd</a></code> peut aussi être utilisée avec
- <code class="program"><a href="./programs/apachectl.html">apachectl</a></code>. Vous pouvez aussi éditer directement le
+ ainsi toute option de <code class="program"><a href="./programs/httpd.html">httpd</a></code> peut aussi être utilisée avec
+ <code class="program"><a href="./programs/apachectl.html">apachectl</a></code>. Vous pouvez aussi éditer directement le
script <code class="program"><a href="./programs/apachectl.html">apachectl</a></code> en modifiant la variable
- <code>HTTPD</code> située en début de script pour spécifier la
+ <code>HTTPD</code> située en début de script pour spécifier la
localisation du binaire <code class="program"><a href="./programs/httpd.html">httpd</a></code> et tout argument de ligne
- de commande que vous souhaitez voir <em>systématiquement</em> présent.</p>
+ de commande que vous souhaitez voir <em>systématiquement</em> présent.</p>
- <p>La première chose qu'effectue <code class="program"><a href="./programs/httpd.html">httpd</a></code> quand il est
- invoqué est de localiser et lire le <a href="configuring.html">fichier de configuration</a>
- <code>httpd.conf</code>. La localisation de ce fichier est définie à la
- compilation, mais il est possible d'en spécifier une autre à
- l'exécution en utilisant l'option de ligne de commande <code>-f</code> comme suit:</p>
+ <p>La première chose qu'effectue <code class="program"><a href="./programs/httpd.html">httpd</a></code> quand il est
+ invoqué est de localiser et lire le <a href="configuring.html">fichier de configuration</a>
+ <code>httpd.conf</code>. La localisation de ce fichier est définie à la
+ compilation, mais il est possible d'en spécifier une autre à
+ l'exécution en utilisant l'option de ligne de commande <code>-f</code> comme suit:</p>
<div class="example"><p><code>/usr/local/apache2/bin/apachectl -f
/usr/local/apache2/conf/httpd.conf</code></p></div>
- <p>Si tout se passe bien pendant le démarrage, le serveur va se dissocier
- du terminal et l'invite de commande réapparaîtra presque immédiatement.
- Ceci indique que le serveur a démarré et est en cours d'exécution.
- À partir de ce moment, vous pouvez utiliser votre navigateur pour vous connecter
- au serveur et afficher la page de test située dans le répertoire défini
+ <p>Si tout se passe bien pendant le démarrage, le serveur va se dissocier
+ du terminal et l'invite de commande réapparaîtra presque immédiatement.
+ Ceci indique que le serveur a démarré et est en cours d'exécution.
+ À partir de ce moment, vous pouvez utiliser votre navigateur pour vous connecter
+ au serveur et afficher la page de test située dans le répertoire défini
par la directive <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</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="errors" id="errors">Erreurs en cours de démarrage</a><a title="Lien permanent" href="#errors" class="permalink">¶</a></h2>
+<h2><a name="errors" id="errors">Erreurs en cours de démarrage</a><a title="Lien permanent" href="#errors" class="permalink">¶</a></h2>
- <p>Si un problème fatal survient pendant le démarrage
+ <p>Si un problème fatal survient pendant le démarrage
d'Apache, ce dernier va
- afficher un message décrivant le problème sur la console ou
- enregistrer ces informations dans le fichier défini par la directive
+ afficher un message décrivant le problème sur la console ou
+ enregistrer ces informations dans le fichier défini par la directive
<code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code> avant de quitter.
Un des messages d'erreur les plus courants est "<code>Unable
to bind to Port ...</code>". Ce message d'erreur est habituellement
- provoqué par :</p>
+ provoqué par :</p>
<ul>
- <li>Une tentative de démarrage du serveur avec un port privilégié sans
- être connecté root</li>
+ <li>Une tentative de démarrage du serveur avec un port privilégié sans
+ être connecté root</li>
- <li>Une tentative de démarrage du serveur alors qu'une autre instance
- d'Apache ou un autre serveur web est déjà associé au même port.</li>
+ <li>Une tentative de démarrage du serveur alors qu'une autre instance
+ d'Apache ou un autre serveur web est déjà associé au même port.</li>
</ul>
- <p>Pour plus d'instructions de dépannage, consultez la
+ <p>Pour plus d'instructions de dépannage, consultez la
<a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> Apache.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="boot" id="boot">Lancement au démarrage du système</a><a title="Lien permanent" href="#boot" class="permalink">¶</a></h2>
+<h2><a name="boot" id="boot">Lancement au démarrage du système</a><a title="Lien permanent" href="#boot" class="permalink">¶</a></h2>
<p>Si vous souhaitez que votre serveur soit automatiquement
- disponible après
- un redémarrage du système, vous devez ajouter un appel à
- <code class="program"><a href="./programs/apachectl.html">apachectl</a></code> à vos
- fichiers de démarrage système (en général <code>rc.local</code> ou un
- fichier dans un répertoire <code>rc.N</code>), ce qui démarrera Apache sous
+ disponible après
+ un redémarrage du système, vous devez ajouter un appel à
+ <code class="program"><a href="./programs/apachectl.html">apachectl</a></code> à vos
+ fichiers de démarrage système (en général <code>rc.local</code> ou un
+ fichier dans un répertoire <code>rc.N</code>), ce qui démarrera Apache sous
l'utilisateur root. Avant de faire ceci, assurez-vous que votre serveur
- soit correctement configuré en ce qui concerne la sécurité et les
- restrictions d'accès.</p>
+ soit correctement configuré en ce qui concerne la sécurité et les
+ restrictions d'accès.</p>
- <p>Le script <code class="program"><a href="./programs/apachectl.html">apachectl</a></code> est conçu pour fonctionner
+ <p>Le script <code class="program"><a href="./programs/apachectl.html">apachectl</a></code> est conçu pour fonctionner
comme un script d'initialisation SysV standard ; il accepte les arguments
<code>start</code>, <code>restart</code>, et <code>stop</code>
- et les traduit en signaux appropriés pour
- <code class="program"><a href="./programs/httpd.html">httpd</a></code>, et il suffit en général d'installer
+ et les traduit en signaux appropriés pour
+ <code class="program"><a href="./programs/httpd.html">httpd</a></code>, et il suffit en général d'installer
un lien vers
- <code class="program"><a href="./programs/apachectl.html">apachectl</a></code> dans le répertoire d'initialisation approprié.
- Mais prenez soin de vérifier les besoins exacts de votre système
- en la matière.</p>
+ <code class="program"><a href="./programs/apachectl.html">apachectl</a></code> dans le répertoire d'initialisation approprié.
+ Mais prenez soin de vérifier les besoins exacts de votre système
+ en la matière.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="info" id="info">Informations supplémentaires</a><a title="Lien permanent" href="#info" class="permalink">¶</a></h2>
+<h2><a name="info" id="info">Informations supplémentaires</a><a title="Lien permanent" href="#info" class="permalink">¶</a></h2>
- <p>Des informations supplémentaires à propos des options en ligne de
+ <p>Des informations supplémentaires à propos des options en ligne de
commande de <code class="program"><a href="./programs/httpd.html">httpd</a></code> et <code class="program"><a href="./programs/apachectl.html">apachectl</a></code>
ainsi que d'autres programmes support inclus dans la distribution
sont disponibles sur la page
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./de/invoking.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/invoking.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/invoking.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/invoking.html" title="Français"> fr </a> |
+<a href="./es/invoking.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/invoking.html" title="Français"> fr </a> |
<a href="./ja/invoking.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/invoking.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/invoking.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/invoking.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Fichiers journaux</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/logs.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/logs.html" title="Français"> fr </a> |
+<a href="./fr/logs.html" title="Français"> fr </a> |
<a href="./ja/logs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/logs.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/logs.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Pour véritablement gérer un serveur web,
- il est nécessaire de disposer d'un
- retour d'informations à propos de l'activité et des performances du
- serveur, ainsi que de tout problème qui pourrait survenir. Le serveur HTTP
- Apache propose des fonctionnalités de journalisation souples et très
- complètes. Ce document décrit comment configurer ces fonctionnalités de
- journalisation et interpréter le contenu des journaux.</p>
+ <p>Pour véritablement gérer un serveur web,
+ il est nécessaire de disposer d'un
+ retour d'informations à propos de l'activité et des performances du
+ serveur, ainsi que de tout problème qui pourrait survenir. Le serveur HTTP
+ Apache propose des fonctionnalités de journalisation souples et très
+ complètes. Ce document décrit comment configurer ces fonctionnalités de
+ journalisation et interpréter le contenu des journaux.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#overview">Vue d'ensemble</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#security">Avertissement à propos de la sécurité</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#security">Avertissement à propos de la sécurité</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#errorlog">Journal des erreurs</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#permodule">Journalisation par module</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#accesslog">Journal des accès</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#accesslog">Journal des accès</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#rotation">Rotation des journaux</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#piped">Journaux redirigés</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#virtualhost">Hôtes virtuels</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#piped">Journaux redirigés</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#virtualhost">Hôtes virtuels</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#other">Autres fichiers journaux</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<h2><a name="overview" id="overview">Vue d'ensemble</a><a title="Lien permanent" href="#overview" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code></li><li><code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li></ul></td><td /></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code></li><li><code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li></ul></td><td /></tr></table>
<p>
- Le serveur HTTP Apache fournit toute une variété de mécanismes
- différents pour la journalisation de tout ce qui peut se passer au
- sein de votre serveur, depuis la requête initiale, en passant par le
- processus de mise en correspondance des URLs, et jusqu'à la fermeture
+ Le serveur HTTP Apache fournit toute une variété de mécanismes
+ différents pour la journalisation de tout ce qui peut se passer au
+ sein de votre serveur, depuis la requête initiale, en passant par le
+ processus de mise en correspondance des URLs, et jusqu'à la fermeture
de la connexion, y compris toute erreur pouvant survenir au cours du
traitement. De plus, certains modules tiers fournissent des
- fonctionnalités de journalisation ou insèrent des entrées dans les
+ fonctionnalités de journalisation ou insèrent des entrées dans les
fichiers journaux existants, et les applications comme les programmes
CGI, les scripts PHP ou autres gestionnaires peuvent envoyer des
messages vers le journal des erreurs du serveur.
</p>
<p>
- Ce document décrit le fonctionnement des modules de journalisation
+ Ce document décrit le fonctionnement des modules de journalisation
fournis en standard avec le serveur httpd.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="security" id="security">Avertissement à propos de la sécurité</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
+<h2><a name="security" id="security">Avertissement à propos de la sécurité</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
- <p>Tout utilisateur qui a les droits en écriture sur le répertoire dans
- lequel Apache httpd écrit ses journaux pourra quasi
- certainement avoir accès à l'uid sous lequel le serveur est démarré, en
+ <p>Tout utilisateur qui a les droits en écriture sur le répertoire dans
+ lequel Apache httpd écrit ses journaux pourra quasi
+ certainement avoir accès à l'uid sous lequel le serveur est démarré, en
l'occurrence habituellement root. N'accordez <em>PAS</em> aux utilisateurs
- l'accès en écriture au répertoire dans lequel les journaux sont stockés
- sans savoir exactement quelles en seraient les conséquences ; voir le
- document <a href="misc/security_tips.html">conseils sur la sécurité</a>
- pour plus de détails.</p>
+ l'accès en écriture au répertoire dans lequel les journaux sont stockés
+ sans savoir exactement quelles en seraient les conséquences ; voir le
+ document <a href="misc/security_tips.html">conseils sur la sécurité</a>
+ pour plus de détails.</p>
<p>En outre, les journaux peuvent contenir des informations fournies
- directement par un client, sans caractères d'échappement. Des clients mal
- intentionnés peuvent donc insérer des caractères de contrôle dans les
- journaux, et il convient par conséquent d'être très prudent lors de la
+ directement par un client, sans caractères d'échappement. Des clients mal
+ intentionnés peuvent donc insérer des caractères de contrôle dans les
+ journaux, et il convient par conséquent d'être très prudent lors de la
manipulation des journaux bruts.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="errorlog" id="errorlog">Journal des erreurs</a><a title="Lien permanent" href="#errorlog" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/core.html">core</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code></li><li><code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/core.html">core</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code></li><li><code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code></li></ul></td></tr></table>
<p>Le journal des erreurs du serveur, dont le nom et la localisation sont
- définis par la directive <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code>,
+ définis par la directive <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code>,
est le journal le plus important. C'est dans celui-ci
- que le démon Apache httpd va envoyer les informations de diagnostic et
+ que le démon Apache httpd va envoyer les informations de diagnostic et
enregistrer toutes les erreurs qui surviennent lors du traitement des
- requêtes. Lorsqu'un problème survient au démarrage du serveur ou pendant
- son fonctionnement, la première chose à faire est de regarder dans ce
- journal, car il vous renseignera souvent sur le problème rencontré et
- la manière d'y remédier.</p>
-
- <p>Le journal des erreurs est habituellement enregistré dans un fichier
- (en général <code>error_log</code> sur les systèmes de type Unix et
- <code>error.log</code> sur Windows et OS/2). Sur les systèmes de type Unix,
+ requêtes. Lorsqu'un problème survient au démarrage du serveur ou pendant
+ son fonctionnement, la première chose à faire est de regarder dans ce
+ journal, car il vous renseignera souvent sur le problème rencontré et
+ la manière d'y remédier.</p>
+
+ <p>Le journal des erreurs est habituellement enregistré dans un fichier
+ (en général <code>error_log</code> sur les systèmes de type Unix et
+ <code>error.log</code> sur Windows et OS/2). Sur les systèmes de type Unix,
le serveur peut aussi enregistrer ses erreurs dans
<code>syslog</code> ou les
- <a href="#piped">rediriger vers un programme</a> par l'intermédiaire d'un
+ <a href="#piped">rediriger vers un programme</a> par l'intermédiaire d'un
tube de communication (pipe).</p>
- <p>Le format par défaut du journal des erreurs est descriptif et de forme
+ <p>Le format par défaut du journal des erreurs est descriptif et de forme
relativement libre. Certaines informations apparaissent cependant dans la
- plupart des entrées du journal. Voici un message typique
- à titre d'exemple : </p>
+ plupart des entrées du journal. Voici un message typique
+ à titre d'exemple : </p>
<div class="example"><p><code>
[Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1]
/export/home/live/ap/htdocs/test
</code></p></div>
- <p>Le premier champ de l'entrée du journal est la date et l'heure du
- message. Le second champ indique la sévérité de l'erreur rapportée. La
+ <p>Le premier champ de l'entrée du journal est la date et l'heure du
+ message. Le second champ indique la sévérité de l'erreur rapportée. La
directive <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> permet de
- restreindre le type des erreurs qui doivent être enregistrées
- dans le journal des erreurs en définissant leur niveau de sévérité. Le
- troisième champ contient l'adresse IP du client qui a généré l'erreur.
+ restreindre le type des erreurs qui doivent être enregistrées
+ dans le journal des erreurs en définissant leur niveau de sévérité. Le
+ troisième champ contient l'adresse IP du client qui a généré l'erreur.
Vient ensuite le message proprement dit, qui indique dans ce cas que le
- serveur a été configuré pour interdire l'accès au client. Le serveur
- indique le chemin système du document requis (et non
+ serveur a été configuré pour interdire l'accès au client. Le serveur
+ indique le chemin système du document requis (et non
son chemin web).</p>
- <p>Une grande variété de messages différents peuvent apparaître dans le
- journal des erreurs. La plupart d'entre eux sont similaires à l'exemple
+ <p>Une grande variété de messages différents peuvent apparaître dans le
+ journal des erreurs. La plupart d'entre eux sont similaires à l'exemple
ci-dessus. Le journal des erreurs peut aussi contenir des informations de
- débogage en provenance de scripts CGI. Toute information qu'un script CGI
- écrit sur la sortie d'erreurs standard <code>stderr</code> sera recopiée
+ débogage en provenance de scripts CGI. Toute information qu'un script CGI
+ écrit sur la sortie d'erreurs standard <code>stderr</code> sera recopiée
telle quelle dans le journal des erreurs.</p>
<p>La directive <code class="directive"><a href="./mod/core.html#errorlogformat">ErrorLogFormat</a></code>
vous permet de personnaliser le format du journal des erreurs, et de
- définir les informations à journaliser. Si
- <code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code> est présent, vous pouvez utiliser le
- drapeau <code>%L</code> à la fois dans le journal des erreurs et
+ définir les informations à journaliser. Si
+ <code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code> est présent, vous pouvez utiliser le
+ drapeau <code>%L</code> à la fois dans le journal des erreurs et
dans le
- journal des accès, ce qui aura pour effet de générer un identifiant
- d'entrée qui vous permettra de corréler les entrées du journal des
- erreurs avec celles du journal des accès.</p>
+ journal des accès, ce qui aura pour effet de générer un identifiant
+ d'entrée qui vous permettra de corréler les entrées du journal des
+ erreurs avec celles du journal des accès.</p>
<p>Pendant la phase de test, il est souvent utile de visualiser en continu
- le journal des erreurs afin de détecter tout problème éventuel. Sur les
- systèmes de type Unix, ceci s'effectue à l'aide de la commande :</p>
+ le journal des erreurs afin de détecter tout problème éventuel. Sur les
+ systèmes de type Unix, ceci s'effectue à l'aide de la commande :</p>
<div class="example"><p><code>
tail -f error_log
<p>La directive <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> permet
- de spécifier un niveau de sévérité de journalisation pour chaque
- module. Vous pouvez ainsi résoudre un problème propre à un module particulier
+ de spécifier un niveau de sévérité de journalisation pour chaque
+ module. Vous pouvez ainsi résoudre un problème propre à un module particulier
en augmentant son volume de journalisation sans augmenter ce volume
- pour les autres modules. Ceci est particulièrement utile lorsque
- vous voulez obtenir des détails sur le fonctionnement de modules
+ pour les autres modules. Ceci est particulièrement utile lorsque
+ vous voulez obtenir des détails sur le fonctionnement de modules
comme <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> ou <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
- <p>Pour ce faire, vous devez spécifier le nom du module dans votre
+ <p>Pour ce faire, vous devez spécifier le nom du module dans votre
directive <code class="directive">LogLevel</code> :</p>
<pre class="prettyprint lang-config">LogLevel info rewrite:trace5</pre>
- <p>Dans cet exemple, le niveau de journalisation général est défini
- à info, et à <code>trace5</code> pour <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+ <p>Dans cet exemple, le niveau de journalisation général est défini
+ à info, et à <code>trace5</code> pour <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
<div class="note">Cette directive remplace les directives de journalisation par
- module des versions précédentes du serveur, comme
+ module des versions précédentes du serveur, comme
<code>RewriteLog</code>.</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="accesslog" id="accesslog">Journal des accès</a><a title="Lien permanent" href="#accesslog" class="permalink">¶</a></h2>
+<h2><a name="accesslog" id="accesslog">Journal des accès</a><a title="Lien permanent" href="#accesslog" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li></ul></td></tr></table>
- <p>Le journal des accès au serveur
- enregistre toutes les requêtes que traite
- ce dernier. La localisation et le contenu du journal des accès sont définis
+ <p>Le journal des accès au serveur
+ enregistre toutes les requêtes que traite
+ ce dernier. La localisation et le contenu du journal des accès sont définis
par la directive <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code>.
La directive <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code>
- permet de simplifier la sélection du contenu du journal. Cette section
- décrit comment configurer le serveur pour l'enregistrement des informations
- dans le journal des accès.</p>
-
- <p>Bien évidemment, le stockage d'informations dans le journal des accès
- n'est que le point de départ de la gestion de la journalisation. L'étape
- suivante consiste à analyser ces informations de façon à pouvoir en
- extraire des statistiques utiles. L'analyse de journaux en général est en
- dehors du sujet de ce document et ne fait pas vraiment partie intégrante
- du travail du serveur web lui-même. Pour plus d'informations à propos de ce
- sujet et des applications dédiées à l'analyse de journaux, vous pouvez vous
- référer à <a href="http://dmoz.org/Computers/Software/Internet/ Site_Management/Log_analysis/">Open Directory</a>.
+ permet de simplifier la sélection du contenu du journal. Cette section
+ décrit comment configurer le serveur pour l'enregistrement des informations
+ dans le journal des accès.</p>
+
+ <p>Bien évidemment, le stockage d'informations dans le journal des accès
+ n'est que le point de départ de la gestion de la journalisation. L'étape
+ suivante consiste à analyser ces informations de façon à pouvoir en
+ extraire des statistiques utiles. L'analyse de journaux en général est en
+ dehors du sujet de ce document et ne fait pas vraiment partie intégrante
+ du travail du serveur web lui-même. Pour plus d'informations à propos de ce
+ sujet et des applications dédiées à l'analyse de journaux, vous pouvez vous
+ référer à <a href="http://dmoz.org/Computers/Software/Internet/ Site_Management/Log_analysis/">Open Directory</a>.
</p>
- <p>Différentes versions du démon Apache httpd utilisaient d'autres modules
- et directives pour contrôler la journalisation des accès, à l'instar de
+ <p>Différentes versions du démon Apache httpd utilisaient d'autres modules
+ et directives pour contrôler la journalisation des accès, à l'instar de
mod_log_referer, mod_log_agent, et de la directive
<code>TransferLog</code>. La directive
<code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> rassemble
- désormais les fonctionnalités de toutes les anciennes directives.</p>
+ désormais les fonctionnalités de toutes les anciennes directives.</p>
- <p>Le format du journal des accès est hautement configurable. Il est
- défini à l'aide d'une chaîne de format qui ressemble sensiblement à la
- chaîne de format de style langage C de printf(1). Vous trouverez quelques
+ <p>Le format du journal des accès est hautement configurable. Il est
+ défini à l'aide d'une chaîne de format qui ressemble sensiblement à la
+ chaîne de format de style langage C de printf(1). Vous trouverez quelques
exemples dans les sections suivantes. Pour une liste exhaustive de ce que
- peut contenir une chaîne de format, vous pouvez vous référer au chapitre
- <a href="mod/mod_log_config.html#formats">chaînes de format</a> de la
+ peut contenir une chaîne de format, vous pouvez vous référer au chapitre
+ <a href="mod/mod_log_config.html#formats">chaînes de format</a> de la
documentation du module <code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code>.</p>
<h3><a name="common" id="common">Format habituel du journal</a></h3>
- <p>Voici une configuration typique pour le journal des accès :</p>
+ <p>Voici une configuration typique pour le journal des accès :</p>
<pre class="prettyprint lang-config">LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog "logs/access_log" common</pre>
- <p>Ici est définie l'<em>identité</em> <code>common</code> qui est
- ensuite associée à une chaîne de format de journalisation particulière.
- La chaîne de format est constituée de directives débutant par le
- caractère %, chacune d'entre elles indiquant au serveur d'enregistrer
- un élément particulier d'information. Des caractères littéraux peuvent
- aussi être insérés dans la chaîne de format ; il seront copiés tels
- quels dans le flux de sortie destiné à la journalisation.
- Les guillemets (<code>"</code>) doivent être échappées en les faisant
- précéder d'un anti-slash (<code>\</code>) afin qu'elles ne soient pas
- interprétées comme la fin de la chaîne de format. La chaîne de format
- peut aussi contenir les caractères de contrôle spéciaux
- "<code>\n</code>" et "<code>\t</code>" pour insérer respectivement
- un passage à la ligne et une tabulation.</p>
+ <p>Ici est définie l'<em>identité</em> <code>common</code> qui est
+ ensuite associée à une chaîne de format de journalisation particulière.
+ La chaîne de format est constituée de directives débutant par le
+ caractère %, chacune d'entre elles indiquant au serveur d'enregistrer
+ un élément particulier d'information. Des caractères littéraux peuvent
+ aussi être insérés dans la chaîne de format ; il seront copiés tels
+ quels dans le flux de sortie destiné à la journalisation.
+ Les guillemets (<code>"</code>) doivent être échappées en les faisant
+ précéder d'un anti-slash (<code>\</code>) afin qu'elles ne soient pas
+ interprétées comme la fin de la chaîne de format. La chaîne de format
+ peut aussi contenir les caractères de contrôle spéciaux
+ "<code>\n</code>" et "<code>\t</code>" pour insérer respectivement
+ un passage à la ligne et une tabulation.</p>
<p>La directive <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code>
- définit un nouveau fichier journal en l'associant à l'identité
- précédemment définie. Le chemin du nom de fichier associé au journal
- des accès est relatif au chemin défini par la directive
+ définit un nouveau fichier journal en l'associant à l'identité
+ précédemment définie. Le chemin du nom de fichier associé au journal
+ des accès est relatif au chemin défini par la directive
<code class="directive"><a href="./mod/core.html#serverroot">ServerRoot</a></code>, sauf s'il
- débute par un slash.</p>
+ débute par un slash.</p>
- <p>La configuration ci-dessus va enregistrer les entrées de
+ <p>La configuration ci-dessus va enregistrer les entrées de
journalisation selon un format connu sous le nom de
Common Log Format (CLF) pour "Format de journalisation standard".
- Ce format standard peut être produit par de nombreux serveurs web
- différents et lu par de nombreux programmes d'analyse de journaux.
- Les entrées de fichier journal générées selon le format CLF
- ressemblent à ceci :</p>
+ Ce format standard peut être produit par de nombreux serveurs web
+ différents et lu par de nombreux programmes d'analyse de journaux.
+ Les entrées de fichier journal générées selon le format CLF
+ ressemblent à ceci :</p>
<div class="example"><p><code>
127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET
/apache_pb.gif HTTP/1.0" 200 2326
</code></p></div>
- <p>Chaque partie de cette entrée de journal est décrite
+ <p>Chaque partie de cette entrée de journal est décrite
dans ce qui suit.</p>
<dl>
<dt><code>127.0.0.1</code> (<code>%h</code>)</dt>
- <dd>Il s'agit de l'adresse IP du client (l'hôte distant) qui a envoyé
- la requête au serveur. Si la directive
- <code class="directive"><a href="./mod/core.html#hostnamelookups">HostnameLookups</a></code> est positionnée à
- <code>On</code>, le serveur va essayer de déterminer le nom de l'hôte
- et de l'enregistrer à la place de l'adresse IP. Cette configuration
- n'est cependant pas recommandée car elle peut ralentir le serveur de
- manière significative. Il est par conséquent préférable d'utiliser un
+ <dd>Il s'agit de l'adresse IP du client (l'hôte distant) qui a envoyé
+ la requête au serveur. Si la directive
+ <code class="directive"><a href="./mod/core.html#hostnamelookups">HostnameLookups</a></code> est positionnée à
+ <code>On</code>, le serveur va essayer de déterminer le nom de l'hôte
+ et de l'enregistrer à la place de l'adresse IP. Cette configuration
+ n'est cependant pas recommandée car elle peut ralentir le serveur de
+ manière significative. Il est par conséquent préférable d'utiliser un
processeur d'analyse de journaux a posteriori
tel que <code class="program"><a href="./programs/logresolve.html">logresolve</a></code>
- pour déterminer les noms d'hôte. L'adresse IP indiquée ici n'est pas
- nécessairement l'adresse IP de la machine devant laquelle se trouve
+ pour déterminer les noms d'hôte. L'adresse IP indiquée ici n'est pas
+ nécessairement l'adresse IP de la machine devant laquelle se trouve
l'utilisateur. Si un serveur mandataire s'intercale entre le serveur
- et l'utilisateur, l'adresse indiquée sera celle du mandataire et non
- celle de la machine à l'origine de la requête.</dd>
+ et l'utilisateur, l'adresse indiquée sera celle du mandataire et non
+ celle de la machine à l'origine de la requête.</dd>
<dt><code>-</code> (<code>%l</code>)</dt>
<dd>Le "trait d'union" indique que la portion d'information
- correspondante n'est pas disponible. Dans le cas présent, l'information
- non disponible est l'identité (RFC 1413) du client telle que déterminée
+ correspondante n'est pas disponible. Dans le cas présent, l'information
+ non disponible est l'identité (RFC 1413) du client telle que déterminée
par <code>identd</code> sur la machine cliente. Cette information est
- très peu fiable et ne devrait jamais être utilisée, sauf dans le cas
- de réseaux internes étroitement contrôlés. Le démon httpd ne cherchera
- d'ailleurs à obtenir cette information que si la directive
- <code class="directive"><a href="./mod/mod_ident.html#identitycheck">IdentityCheck</a></code> est positionnée
- à <code>On</code>.</dd>
+ très peu fiable et ne devrait jamais être utilisée, sauf dans le cas
+ de réseaux internes étroitement contrôlés. Le démon httpd ne cherchera
+ d'ailleurs à obtenir cette information que si la directive
+ <code class="directive"><a href="./mod/mod_ident.html#identitycheck">IdentityCheck</a></code> est positionnée
+ à <code>On</code>.</dd>
<dt><code>frank</code> (<code>%u</code>)</dt>
<dd>Il s'agit de l'identifiant utilisateur de la personne qui a
- demandé le document, issu d'une authentification HTTP.
- Ce même identifiant est en général fourni aux scripts CGI par
- l'intermédiaire de la valeur de la variable d'environnement
- <code>REMOTE_USER</code>. Si le statut de la requête (voir plus loin)
+ demandé le document, issu d'une authentification HTTP.
+ Ce même identifiant est en général fourni aux scripts CGI par
+ l'intermédiaire de la valeur de la variable d'environnement
+ <code>REMOTE_USER</code>. Si le statut de la requête (voir plus loin)
est 401, cette identifiant n'est pas fiable car l'utilisateur n'est
- pas encore authentifié. Si le document n'est pas protégé par
- mot de passe, cette partie d'information sera représentée par
- "<code>-</code>", comme la partie précédente.</dd>
+ pas encore authentifié. Si le document n'est pas protégé par
+ mot de passe, cette partie d'information sera représentée par
+ "<code>-</code>", comme la partie précédente.</dd>
<dt><code>[10/Oct/2000:13:55:36 -0700]</code>
(<code>%t</code>)</dt>
<dd>
- L'heure à laquelle la requête a été reçue.
+ L'heure à laquelle la requête a été reçue.
Le format est le suivant :
<p class="indent">
- <code>[jour/mois/année:heure:minutes:secondes zone]<br />
+ <code>[jour/mois/année:heure:minutes:secondes zone]<br />
jour = 2*chiffre<br />
mois = 3*lettre<br />
- année = 4*chiffre<br />
+ année = 4*chiffre<br />
heure = 2*chiffre<br />
minutes = 2*chiffre<br />
secondes = 2*chiffre<br />
zone = (`+' | `-') 4*chiffre</code>
</p>Il est possible de modifier le format d'affichage de l'heure
- en spécifiant <code>%{format}t</code> dans la chaîne de format du
- journal, où <code>format</code> est une chaîne de format
+ en spécifiant <code>%{format}t</code> dans la chaîne de format du
+ journal, où <code>format</code> est une chaîne de format
de la forme de celle de la fonction <code>strftime(3)</code>
- de la bibliothèque C standard, ou choisie parmi les
- formats spéciaux supportés. Pour plus de détails,
- reportez-vous aux. <a href="mod/mod_log_config.html#formats">chaînes de format</a>
+ de la bibliothèque C standard, ou choisie parmi les
+ formats spéciaux supportés. Pour plus de détails,
+ reportez-vous aux. <a href="mod/mod_log_config.html#formats">chaînes de format</a>
de <code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code>.
</dd>
<dt><code>"GET /apache_pb.gif HTTP/1.0"</code>
(<code>\"%r\"</code>)</dt>
- <dd>La ligne de la requête du client est placée entre guillemets.
+ <dd>La ligne de la requête du client est placée entre guillemets.
Elle contient de nombreuses informations utiles. Tout d'abord, la
- méthode utilisée par le client est <code>GET</code>. Ensuite, le
- client a demandé la ressource <code>/apache_pb.gif</code>, et enfin,
- le client a utilisé le protocole <code>HTTP/1.0</code>. Il est aussi
- possible d'enregistrer séparément une ou plusieurs parties de la
- requête. Par exemple, la chaîne de format "<code>%m %U %q %H</code>"
- va enregistrer la méthode, le chemin, la chaîne de la requête et le
- protocole, ce qui donnera le même résultat que
+ méthode utilisée par le client est <code>GET</code>. Ensuite, le
+ client a demandé la ressource <code>/apache_pb.gif</code>, et enfin,
+ le client a utilisé le protocole <code>HTTP/1.0</code>. Il est aussi
+ possible d'enregistrer séparément une ou plusieurs parties de la
+ requête. Par exemple, la chaîne de format "<code>%m %U %q %H</code>"
+ va enregistrer la méthode, le chemin, la chaîne de la requête et le
+ protocole, ce qui donnera le même résultat que
"<code>%r</code>".</dd>
<dt><code>200</code> (<code>%>s</code>)</dt>
<dd>C'est le code de statut que le serveur retourne au client. Cette
- information est très importante car elle indique si la requête a fait
- l'objet d'une réponse positive (codes commençant par 2), une
- redirection (codes commençant par 3), une erreur due au client (codes
- commençant par 4), ou une erreur due au serveur (codes commençant
- par 5). Vous trouverez la liste complète des codes de statut possibles
+ information est très importante car elle indique si la requête a fait
+ l'objet d'une réponse positive (codes commençant par 2), une
+ redirection (codes commençant par 3), une erreur due au client (codes
+ commençant par 4), ou une erreur due au serveur (codes commençant
+ par 5). Vous trouverez la liste complète des codes de statut possibles
dans la <a href="http://www.w3.org/Protocols/rfc2616/ rfc2616.txt">specification HTTP</a> (RFC2616 section 10).</dd>
<dt><code>2326</code> (<code>%b</code>)</dt>
- <dd>La dernière partie indique la taille de l'objet retourné au client,
- en-têtes non compris. Si aucun contenu n'a été retourné au client, cette
+ <dd>La dernière partie indique la taille de l'objet retourné au client,
+ en-têtes non compris. Si aucun contenu n'a été retourné au client, cette
partie contiendra "<code>-</code>". Pour indiquer l'absence de contenu
par "<code>0</code>", utilisez <code>%B</code> au lieu de
<code>%b</code>.</dd>
</dl>
- <h3><a name="combined" id="combined">Combined Log Format (Format de journalisation combiné)</a></h3>
+ <h3><a name="combined" id="combined">Combined Log Format (Format de journalisation combiné)</a></h3>
- <p>Une autre chaîne de format couramment utilisée est le
- "Combined Log Format" (Format de journalisation combiné). Il s'utilise
+ <p>Une autre chaîne de format couramment utilisée est le
+ "Combined Log Format" (Format de journalisation combiné). Il s'utilise
comme suit :</p>
<pre class="prettyprint lang-config">LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
<p>Ce format est identique au Common Log Format, avec deux champs
- supplémentaires. Chacun de ces deux champs utilise la directive
- commençant par le caractère "%" <code>%{<em>header</em>}i</code>,
- où <em>header</em> peut être n'importe quel en-tête de requête HTTP.
- Avec ce format, le journal des accès se présentera comme suit :</p>
+ supplémentaires. Chacun de ces deux champs utilise la directive
+ commençant par le caractère "%" <code>%{<em>header</em>}i</code>,
+ où <em>header</em> peut être n'importe quel en-tête de requête HTTP.
+ Avec ce format, le journal des accès se présentera comme suit :</p>
<div class="example"><p><code>
127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET
(Win98; I ;Nav)"
</code></p></div>
- <p>Les champs supplémentaires sont :</p>
+ <p>Les champs supplémentaires sont :</p>
<dl>
<dt><code>"http://www.example.com/start.html"</code>
(<code>\"%{Referer}i\"</code>)</dt>
- <dd>L'en-tête "Referer" (sic) de la requête HTTP. Il indique le site
- depuis lequel le client prétend avoir lancé sa requête. (Ce doit être
+ <dd>L'en-tête "Referer" (sic) de la requête HTTP. Il indique le site
+ depuis lequel le client prétend avoir lancé sa requête. (Ce doit être
la page qui contient un lien vers <code>/apache_pb.gif</code> ou
inclut ce dernier fichier).</dd>
<dt><code>"Mozilla/4.08 [en] (Win98; I ;Nav)"</code>
(<code>\"%{User-agent}i\"</code>)</dt>
- <dd>L'en-tête User-Agent de la requête HTTP. C'est une information
- d'identification que le navigateur du client envoie à propos
- de lui-même.</dd>
+ <dd>L'en-tête User-Agent de la requête HTTP. C'est une information
+ d'identification que le navigateur du client envoie à propos
+ de lui-même.</dd>
</dl>
- <h3><a name="multiple" id="multiple">Journaux d'accès multiples</a></h3>
+ <h3><a name="multiple" id="multiple">Journaux d'accès multiples</a></h3>
- <p>Plusieurs journaux d'accès peuvent être créés en spécifiant tout
+ <p>Plusieurs journaux d'accès peuvent être créés en spécifiant tout
simplement plusieurs directives
<code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> dans le
fichier de configuration. Par exemple, les directives suivantes vont
- créer trois journaux d'accès. Le premier contiendra les informations
- de base CLF, le second les informations du Referer, et le troisième
- les informations sur le navigateur. Les deux dernières directives
+ créer trois journaux d'accès. Le premier contiendra les informations
+ de base CLF, le second les informations du Referer, et le troisième
+ les informations sur le navigateur. Les deux dernières directives
<code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> montrent
comment simuler les effets des directives <code>ReferLog</code> et
<code>AgentLog</code>.</p>
<p>Cet exemple montre aussi qu'il n'est pas obligatoire d'associer
- une chaîne de format à un alias au moyen de la directive
+ une chaîne de format à un alias au moyen de la directive
<code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code>. Elle peut
- être définie directement dans la ligne de la directive
+ être définie directement dans la ligne de la directive
<code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code>.</p>
<h3><a name="conditional" id="conditional">Journalisation conditionnelle</a></h3>
- <p>Il est parfois souhaitable d'exclure certaines entrées des journaux
- d'accès en fonction des caractéristiques de la requête du client. On
- peut aisément accomplir ceci à l'aide des
+ <p>Il est parfois souhaitable d'exclure certaines entrées des journaux
+ d'accès en fonction des caractéristiques de la requête du client. On
+ peut aisément accomplir ceci à l'aide des
<a href="env.html">variables d'environnement</a>. Tout d'abord, une
- variable d'environnement doit être définie pour indiquer que la
- requête remplit certaines conditions. Pour ceci, on utilise en général
+ variable d'environnement doit être définie pour indiquer que la
+ requête remplit certaines conditions. Pour ceci, on utilise en général
la directive <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>,
puis la clause <code>env=</code> de la directive
<code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> pour inclure
- ou exclure les requêtes pour lesquelles
- la variable d'environnement est définie.
+ ou exclure les requêtes pour lesquelles
+ la variable d'environnement est définie.
Quelques exemples :</p>
- <pre class="prettyprint lang-config"># Marque les requêtes en provenance de l'interface loop-back
+ <pre class="prettyprint lang-config"># Marque les requêtes en provenance de l'interface loop-back
SetEnvIf Remote_Addr "127\.0\.0\.1" dontlog
-# Marque les requêtes pour le fichier robots.txt
+# Marque les requêtes pour le fichier robots.txt
SetEnvIf Request_URI "^/robots\.txt$" dontlog
-# Journalise toutes les autres requêtes
+# Journalise toutes les autres requêtes
CustomLog "logs/access_log" common env=!dontlog</pre>
- <p>Autre exemple, imaginons l'enregistrement des requêtes en provenance
+ <p>Autre exemple, imaginons l'enregistrement des requêtes en provenance
d'utilisateurs de langue anglaise dans un journal, et celles des autres
utilisateurs dans un autre journal.</p>
CustomLog "logs/non_english_log" common env=!english</pre>
- <p>Dans le contexte d'une mise en cache, il peut être
- intéressant de connaître l'efficacité du cache. Pour y parvenir,
- on pourrait utiliser cette méthode simple :</p>
+ <p>Dans le contexte d'une mise en cache, il peut être
+ intéressant de connaître l'efficacité du cache. Pour y parvenir,
+ on pourrait utiliser cette méthode simple :</p>
<pre class="prettyprint lang-config">SetEnv CACHE_MISS 1
LogFormat "%h %l %u %t "%r " %>s %b %{CACHE_MISS}e" common-cache
CustomLog "logs/access_log" common-cache</pre>
- <p><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> va s'exécuter avant
- <code class="module"><a href="./mod/mod_env.html">mod_env</a></code>, et si son action est couronnée de
- succès, il délivrera le contenu sans faire appel à ce dernier. Si
- l'URL se trouve dans le cache, la valeur journalisée sera alors
+ <p><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> va s'exécuter avant
+ <code class="module"><a href="./mod/mod_env.html">mod_env</a></code>, et si son action est couronnée de
+ succès, il délivrera le contenu sans faire appel à ce dernier. Si
+ l'URL se trouve dans le cache, la valeur journalisée sera alors
<code>-</code>, tandis que dans le cas contraire elle sera
<code>1</code>.</p>
<p>En plus de la syntaxe <code>env=</code>, la directive <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> supporte les
- valeurs de journalisation conditionnelles basées sur le code de la
- réponse HTTP :</p>
+ valeurs de journalisation conditionnelles basées sur le code de la
+ réponse HTTP :</p>
<pre class="prettyprint lang-config">LogFormat "%400,501{User-agent}i" browserlog
LogFormat "%!200,304,302{Referer}i" refererlog</pre>
<p>Dans le premier exemple, le <code>User-agent</code> sera
- enregistré si le code d'état HTTP est 400 ou 501. Dans le cas
- contraire, c'est un caractère "-" qui sera enregistré à la place.
- Dans le second exemple, le <code>Referer</code> sera enregistré si
- le code d'état HTTP n'est <strong>pas</strong> 200, 204, ou 302
- (remarquez le caractère "!" avant les codes d'état).</p>
+ enregistré si le code d'état HTTP est 400 ou 501. Dans le cas
+ contraire, c'est un caractère "-" qui sera enregistré à la place.
+ Dans le second exemple, le <code>Referer</code> sera enregistré si
+ le code d'état HTTP n'est <strong>pas</strong> 200, 204, ou 302
+ (remarquez le caractère "!" avant les codes d'état).</p>
<p>Bien que nous venions de montrer que la journalisation conditionnelle
- est souple et très puissante, cette méthode de contrôle du contenu des
+ est souple et très puissante, cette méthode de contrôle du contenu des
journaux n'est pas la seule. Les fichiers journaux sont plus utiles
- quand ils contiennent un enregistrement complet de l'activité du serveur,
- et il est souvent plus aisé de simplement traiter à posteriori les fichiers
- journaux pour supprimer les requêtes que vous ne voulez pas y voir
- apparaître.</p>
+ quand ils contiennent un enregistrement complet de l'activité du serveur,
+ et il est souvent plus aisé de simplement traiter à posteriori les fichiers
+ journaux pour supprimer les requêtes que vous ne voulez pas y voir
+ apparaître.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="rotation" id="rotation">Rotation des journaux</a><a title="Lien permanent" href="#rotation" class="permalink">¶</a></h2>
- <p>Même dans le cas d'un serveur modérément sollicité, la quantité
- d'informations stockées dans les fichiers journaux est très importante.
- Le fichier journal des accès grossit en général d'1 Mo ou plus toutes
- les 10000 requêtes. Il est par conséquent nécessaire d'effectuer
- périodiquement la rotation des journaux en déplaçant ou supprimant les
+ <p>Même dans le cas d'un serveur modérément sollicité, la quantité
+ d'informations stockées dans les fichiers journaux est très importante.
+ Le fichier journal des accès grossit en général d'1 Mo ou plus toutes
+ les 10000 requêtes. Il est par conséquent nécessaire d'effectuer
+ périodiquement la rotation des journaux en déplaçant ou supprimant les
fichiers correspondants. On ne peut pas le faire pendant que le serveur
- est en cours d'exécution, car Apache httpd va continuer à écrire dans l'ancien
+ est en cours d'exécution, car Apache httpd va continuer à écrire dans l'ancien
fichier journal aussi longtemps qu'il le maintiendra ouvert.
- C'est pourquoi le serveur doit être
- <a href="stopping.html">redémarré</a> après le déplacement ou la
- suppression des fichiers journaux de façon à ce qu'il en ouvre
+ C'est pourquoi le serveur doit être
+ <a href="stopping.html">redémarré</a> après le déplacement ou la
+ suppression des fichiers journaux de façon à ce qu'il en ouvre
de nouveaux.</p>
- <p>Avec un redémarrage <em>graceful</em>, on peut faire en sorte que le
+ <p>Avec un redémarrage <em>graceful</em>, on peut faire en sorte que le
serveur ouvre de nouveaux fichiers journaux sans perdre de connexions
existantes ou en cours avec les clients. Cependant, pour que ceci soit
- possible, le serveur doit continuer à écrire dans les anciens fichiers
- journaux pendant qu'il termine le traitement des requêtes en cours.
- Il est donc nécessaire d'attendre un certain temps après le rédémarrage
+ possible, le serveur doit continuer à écrire dans les anciens fichiers
+ journaux pendant qu'il termine le traitement des requêtes en cours.
+ Il est donc nécessaire d'attendre un certain temps après le rédémarrage
avant d'effectuer tout traitement sur les fichiers journaux. Voici un
- scénario typique dans lequel on effectue une simple rotation des
+ scénario typique dans lequel on effectue une simple rotation des
journaux en compressant les anciens fichiers correspondants afin
de gagner de l'espace disque :</p>
gzip access_log.old error_log.old
</code></p></div>
- <p>La section suivante présente une autre méthode de rotation des journaux
- qui consiste à utiliser les
- <a href="#piped">journaux redirigés</a>.</p>
+ <p>La section suivante présente une autre méthode de rotation des journaux
+ qui consiste à utiliser les
+ <a href="#piped">journaux redirigés</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="piped" id="piped">Journaux redirigés</a><a title="Lien permanent" href="#piped" class="permalink">¶</a></h2>
+<h2><a name="piped" id="piped">Journaux redirigés</a><a title="Lien permanent" href="#piped" class="permalink">¶</a></h2>
- <p>Nous avons vu que le démon httpd écrivait les informations de
- journalisation des erreurs et des accès dans un fichier journal ;
+ <p>Nous avons vu que le démon httpd écrivait les informations de
+ journalisation des erreurs et des accès dans un fichier journal ;
il peut aussi
- rediriger ces informations vers un autre processus par l'intermédiaire d'un
- tube de communication (pipe). Cette fonctionnalité améliore
- considérablement la souplesse de la journalisation, sans ajouter de code
+ rediriger ces informations vers un autre processus par l'intermédiaire d'un
+ tube de communication (pipe). Cette fonctionnalité améliore
+ considérablement la souplesse de la journalisation, sans ajouter de code
au serveur principal. Pour rediriger les informations de journalisation
vers un tube de communication, remplacez simplement le nom de fichier
journal par
- le caractère pipe "<code>|</code>", suivi du nom de l'exécutable qui va
- recueillir les entrées de journal sur son entrée
+ le caractère pipe "<code>|</code>", suivi du nom de l'exécutable qui va
+ recueillir les entrées de journal sur son entrée
standard. Le serveur va
- lancer le processus de redirection des journaux au moment du démarrage du
+ lancer le processus de redirection des journaux au moment du démarrage du
serveur, et le relancera s'il cesse de fonctionner
- pendant l'exécution du serveur.
- (Nous dénommons cette technique "journalisation
- redirigée fiable" grâce à cette dernière fonctionnalité.)</p>
-
- <p>Les processus de journalisation redirigée sont lancés par le processus
- httpd parent, et héritent de l'UID de ce dernier. Cela signifie que les
- programmes de journalisation dirigée s'exécutent généralement en tant que
- root. Il est donc très important que ces programmes soient simples et
- sécurisés.</p>
-
- <p>Un des grands avantages de la journalisation redirigée est la possibilité
- d'effectuer la rotation des journaux sans avoir à redémarrer le serveur. Pour
- accomplir cette tâche, le serveur HTTP Apache fournit un programme simple
- appelé <code class="program"><a href="./programs/rotatelogs.html">rotatelogs</a></code>. Par exemple, pour une rotation des
+ pendant l'exécution du serveur.
+ (Nous dénommons cette technique "journalisation
+ redirigée fiable" grâce à cette dernière fonctionnalité.)</p>
+
+ <p>Les processus de journalisation redirigée sont lancés par le processus
+ httpd parent, et héritent de l'UID de ce dernier. Cela signifie que les
+ programmes de journalisation dirigée s'exécutent généralement en tant que
+ root. Il est donc très important que ces programmes soient simples et
+ sécurisés.</p>
+
+ <p>Un des grands avantages de la journalisation redirigée est la possibilité
+ d'effectuer la rotation des journaux sans avoir à redémarrer le serveur. Pour
+ accomplir cette tâche, le serveur HTTP Apache fournit un programme simple
+ appelé <code class="program"><a href="./programs/rotatelogs.html">rotatelogs</a></code>. Par exemple, pour une rotation des
journaux toutes les 24 heures, ajoutez ces lignes :</p>
<pre class="prettyprint lang-config">CustomLog "|/usr/local/apache/bin/rotatelogs /var/log/access_log 86400" common</pre>
- <p>Notez que l'ensemble de la commande qui sera appelée par le tube de
- communication a été placée entre guillemets. Bien que cet exemple
- concerne le journal des accès, la même technique peut être utilisée
+ <p>Notez que l'ensemble de la commande qui sera appelée par le tube de
+ communication a été placée entre guillemets. Bien que cet exemple
+ concerne le journal des accès, la même technique peut être utilisée
pour le journal des erreurs.</p>
- <p>Comme la journalisation conditionnelle, la journalisation redirigée est
- un outil très puissant, mais si elle existe, il est préférable d'utiliser
- une solution plus simple comme le traitement à posteriori hors ligne.</p>
+ <p>Comme la journalisation conditionnelle, la journalisation redirigée est
+ un outil très puissant, mais si elle existe, il est préférable d'utiliser
+ une solution plus simple comme le traitement à posteriori hors ligne.</p>
- <p>Par défaut, le processus de redirection du journal est lancé sans
+ <p>Par défaut, le processus de redirection du journal est lancé sans
invoquer un shell. Pour invoquer un shell, utilisez "<code>|$</code>"
- au lieu de "<code>|</code>" (en général avec <code>/bin/sh -c</code>)
+ au lieu de "<code>|</code>" (en général avec <code>/bin/sh -c</code>)
:</p>
<pre class="prettyprint lang-config"># Invocation de "rotatelogs" en utilisant un shell
- <p>Il s'agissait du comportement par défaut sous Apache 2.2. Selon
- les spécificités du shell, ceci peut générer un processus shell
- supplémentaire pour toute la durée du programme de redirection du
- journal, et induire des problèmes de gestion de signaux au cours du
- redémarrage. La notation "<code>||</code>" est aussi supportée pour
- des raisons de compatibilité avec Apache 2.2 et est équivalente à
+ <p>Il s'agissait du comportement par défaut sous Apache 2.2. Selon
+ les spécificités du shell, ceci peut générer un processus shell
+ supplémentaire pour toute la durée du programme de redirection du
+ journal, et induire des problèmes de gestion de signaux au cours du
+ redémarrage. La notation "<code>||</code>" est aussi supportée pour
+ des raisons de compatibilité avec Apache 2.2 et est équivalente à
"<code>|</code>".</p>
- <div class="note"><h3>Note à propos de la plateforme Windows</h3>
- <p>Notez que sous Windows, la mémoire allouée au bureau (desktop
+ <div class="note"><h3>Note à propos de la plateforme Windows</h3>
+ <p>Notez que sous Windows, la mémoire allouée au bureau (desktop
heap) peut devenir insuffisante si vous utilisez de nombreux
- processus vers lesquels sont redirigés des journaux via un pipe, et
- ceci particulièrement si httpd s'exécute en tant que service. La
- quantité de mémoire du bureau allouée à chaque service est spécifiée
- dans le troisième argument du paramètre <code>SharedSection</code>
- de la clé de registre
+ processus vers lesquels sont redirigés des journaux via un pipe, et
+ ceci particulièrement si httpd s'exécute en tant que service. La
+ quantité de mémoire du bureau allouée à chaque service est spécifiée
+ dans le troisième argument du paramètre <code>SharedSection</code>
+ de la clé de registre
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\SubSystems\Windows.
<strong>Modifiez cette valeur avec prudence</strong> ; les
- précautions d'usage s'imposent lorsqu'on modifie la base de registre,
- mais vous pouvez aussi saturer la mémoire du bureau si vous
- spécifiez une valeur trop élevée.</p>
+ précautions d'usage s'imposent lorsqu'on modifie la base de registre,
+ mais vous pouvez aussi saturer la mémoire du bureau si vous
+ spécifiez une valeur trop élevée.</p>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="virtualhost" id="virtualhost">Hôtes virtuels</a><a title="Lien permanent" href="#virtualhost" class="permalink">¶</a></h2>
+<h2><a name="virtualhost" id="virtualhost">Hôtes virtuels</a><a title="Lien permanent" href="#virtualhost" class="permalink">¶</a></h2>
- <p>Lorsqu'un serveur possède plusieurs <a href="vhosts/">hôtes virtuels</a>, il existe de nombreuses solutions pour gérer
+ <p>Lorsqu'un serveur possède plusieurs <a href="vhosts/">hôtes virtuels</a>, il existe de nombreuses solutions pour gérer
les fichiers journaux. Par exemple, on peut utiliser les journaux comme
- s'il s'agissait d'un serveur avec un seul hôte. Il suffit pour cela de
+ s'il s'agissait d'un serveur avec un seul hôte. Il suffit pour cela de
placer les directives de journalisation en dehors des sections
<code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code> au niveau
du serveur principal, ce qui a pour effet de journaliser toutes les
- requêtes dans le même journal des accès et des erreurs. Cette technique
- est cependant inappropriée pour recueillir des statistiques sur chaque
- hôte virtuel individuellement.</p>
+ requêtes dans le même journal des accès et des erreurs. Cette technique
+ est cependant inappropriée pour recueillir des statistiques sur chaque
+ hôte virtuel individuellement.</p>
<p>Si des directives <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> ou
- <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code> sont placées dans une section
+ <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code> sont placées dans une section
<code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>, toutes les
- requêtes ou erreurs pour cet hôte virtuel ne seront enregistrées que dans
- le fichier spécifié. Tout hôte virtuel qui ne possède pas de directives de
- journalisation verra ses requêtes enregistrées dans le journal du serveur
- principal. Cette technique est appropriée pour un petit nombre d'hôtes
- virtuels, mais si ce nombre est important, elle peut devenir compliquée à
- gérer. En outre, des problèmes de <a href="vhosts/fd-limits.html">nombre de descripteurs
- de fichiers insuffisant</a> peuvent rapidement apparaître.</p>
-
- <p>Il existe un très bon compromis pour le journal des accès. En intégrant
- les informations à propos de l'hôte virtuel à la chaîne de format du
- journal, il est possible de journaliser tous les hôtes dans le même
- journal, puis de séparer ultérieurement le journal en plusieurs journaux
- individuels. Considérons par exemple les directives suivantes :</p>
+ requêtes ou erreurs pour cet hôte virtuel ne seront enregistrées que dans
+ le fichier spécifié. Tout hôte virtuel qui ne possède pas de directives de
+ journalisation verra ses requêtes enregistrées dans le journal du serveur
+ principal. Cette technique est appropriée pour un petit nombre d'hôtes
+ virtuels, mais si ce nombre est important, elle peut devenir compliquée à
+ gérer. En outre, des problèmes de <a href="vhosts/fd-limits.html">nombre de descripteurs
+ de fichiers insuffisant</a> peuvent rapidement apparaître.</p>
+
+ <p>Il existe un très bon compromis pour le journal des accès. En intégrant
+ les informations à propos de l'hôte virtuel à la chaîne de format du
+ journal, il est possible de journaliser tous les hôtes dans le même
+ journal, puis de séparer ultérieurement le journal en plusieurs journaux
+ individuels. Considérons par exemple les directives suivantes :</p>
<pre class="prettyprint lang-config">LogFormat "%v %l %u %t \"%r\" %>s %b" comonvhost
CustomLog "logs/access_log" comonvhost</pre>
- <p>Le champ <code>%v</code> sert à enregistrer le nom de l'hôte virtuel qui
- traite la requête. Un programme tel que <a href="programs/split-logfile.html">split-logfile</a> peut ensuite être utilisé
- pour générer "à froid" autant de journaux que d'hôtes virtuels.</p>
+ <p>Le champ <code>%v</code> sert à enregistrer le nom de l'hôte virtuel qui
+ traite la requête. Un programme tel que <a href="programs/split-logfile.html">split-logfile</a> peut ensuite être utilisé
+ pour générer "à froid" autant de journaux que d'hôtes virtuels.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="other" id="other">Autres fichiers journaux</a><a title="Lien permanent" href="#other" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code></li><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#bufferedlogs">BufferedLogs</a></code></li><li><code class="directive"><a href="./mod/mod_log_forensic.html#forensiclog">ForensicLog</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlog">ScriptLog</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptloglength">ScriptLogLength</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code></li><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#bufferedlogs">BufferedLogs</a></code></li><li><code class="directive"><a href="./mod/mod_log_forensic.html#forensiclog">ForensicLog</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlog">ScriptLog</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptloglength">ScriptLogLength</a></code></li></ul></td></tr></table>
- <h3>Enregistrement du nombre réel d'octets envoyés et reçus</h3>
+ <h3>Enregistrement du nombre réel d'octets envoyés et reçus</h3>
<p>Le module <code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code> fournit deux champs
- <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> supplémentaires
- (%I et %O) qui permettent d'enregistrer le nombre réel d'octets reçus et
- envoyés sur le réseau.</p>
+ <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> supplémentaires
+ (%I et %O) qui permettent d'enregistrer le nombre réel d'octets reçus et
+ envoyés sur le réseau.</p>
<h3>Journalisation de style investigation judiciaire (forensic logging)</h3>
<p>Le module <code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code> permet la journalisation
- à des fins d'investigation judiciaire des requêtes des clients. La
- journalisation est effectuée avant et après le traitement de la requête,
- qui fait donc l'objet de deux entrées dans le journal. Le générateur de
- journaux d'investigation est très strict et ne permet aucune
- personnalisation. C'est un inestimable outil de débogage et de sécurité.</p>
+ à des fins d'investigation judiciaire des requêtes des clients. La
+ journalisation est effectuée avant et après le traitement de la requête,
+ qui fait donc l'objet de deux entrées dans le journal. Le générateur de
+ journaux d'investigation est très strict et ne permet aucune
+ personnalisation. C'est un inestimable outil de débogage et de sécurité.</p>
<h3><a name="pidfile" id="pidfile">Fichier PID</a></h3>
- <p>Au démarrage, le démon httpd Apache enregistre l'identifiant du
+ <p>Au démarrage, le démon httpd Apache enregistre l'identifiant du
processus httpd parent dans le fichier <code>logs/httpd.pid</code>.
- Le nom de ce fichier peut être modifié à l'aide de la directive
+ Le nom de ce fichier peut être modifié à l'aide de la directive
<code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code>. Cet identifiant
- permet à l'administrateur de redémarrer et arrêter le démon en
+ permet à l'administrateur de redémarrer et arrêter le démon en
envoyant des signaux au processus parent ; sous Windows, vous devez
- utiliser l'option de ligne de commande -k. Pour plus de détails,
- consulter la page <a href="stopping.html">Arrêt et redémarrage</a>.</p>
+ utiliser l'option de ligne de commande -k. Pour plus de détails,
+ consulter la page <a href="stopping.html">Arrêt et redémarrage</a>.</p>
<h3><a name="scriptlog" id="scriptlog">Journal des scripts</a></h3>
- <p>Afin de faciliter le débogage, la directive
+ <p>Afin de faciliter le débogage, la directive
<code class="directive"><a href="./mod/mod_cgi.html#scriptlog">ScriptLog</a></code> vous permet
- d'enregistrer les entrées et sorties des scripts CGI. Elle ne doit être
- utilisée que pendant la phase de test, et en aucun cas sur un
+ d'enregistrer les entrées et sorties des scripts CGI. Elle ne doit être
+ utilisée que pendant la phase de test, et en aucun cas sur un
serveur en production. Vous trouverez plus d'informations dans la
documentation du module <a href="mod/mod_cgi.html">mod_cgi</a>.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/logs.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/logs.html" title="Français"> fr </a> |
+<a href="./fr/logs.html" title="Français"> fr </a> |
<a href="./ja/logs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/logs.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/logs.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Documentations diverses sur Apache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/misc/" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/misc/" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/misc/" title="Français"> fr </a> |
+<a href="../es/misc/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/misc/" title="Français"> fr </a> |
<a href="../ko/misc/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/misc/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../tr/misc/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/misc/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
<p>Vous trouverez plus loin une liste de pages de documentation
- additionnelles concernant le projet de développement du serveur web
+ additionnelles concernant le projet de développement du serveur web
Apache.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>La mise à jour des documents ci-dessous permettant de prendre en
- compte les modifications apportées par la version 2.1 du serveur
- HTTP Apache n'a pas été entièrement menée à bien. Certaines
- informations sont probablement encore pertinentes, mais utilisez-les tout de même avec
- précautions.</p>
+ <p>La mise à jour des documents ci-dessous permettant de prendre en
+ compte les modifications apportées par la version 2.1 du serveur
+ HTTP Apache n'a pas été entièrement menée à bien. Certaines
+ informations sont probablement encore pertinentes, mais utilisez-les tout de même avec
+ précautions.</p>
</div>
<dl>
- <dt><a href="perf-tuning.html">Notes à propos des performances -
- Réglages fins d'Apache</a></dt>
+ <dt><a href="perf-tuning.html">Notes à propos des performances -
+ Réglages fins d'Apache</a></dt>
<dd>
- <p>Notes à propos de la configuration d'Apache pour de plus
- hautes performances (à l'exécution et à la compilation). Notes
+ <p>Notes à propos de la configuration d'Apache pour de plus
+ hautes performances (à l'exécution et à la compilation). Notes
expliquant pourquoi Apache accomplit certaines choses et
- n'en accomplit pas certaines autres (les premières l'accélérant
- et les deuxièmes le ralentissant).</p>
+ n'en accomplit pas certaines autres (les premières l'accélérant
+ et les deuxièmes le ralentissant).</p>
</dd>
- <dt><a href="perf-scaling.html">Amélioration des performances</a></dt>
+ <dt><a href="perf-scaling.html">Amélioration des performances</a></dt>
<dd>
<p>Quelques options de personnalisation de la configuration
</dd>
<dt><a href="security_tips.html">Conseils concernant la
- sécurité</a></dt>
+ sécurité</a></dt>
<dd>
<p>Quelques conseils de type "faites" ou "ne faites pas" pour
- que votre site web Apache reste sécurisé.</p>
+ que votre site web Apache reste sécurisé.</p>
</dd>
- <dt><a href="relevant_standards.html">Standards concernés</a></dt>
+ <dt><a href="relevant_standards.html">Standards concernés</a></dt>
<dd>
- <p>Ce document constitue une page de référence pour la plupart
- des standards concernés par Apache.</p>
+ <p>Ce document constitue une page de référence pour la plupart
+ des standards concernés par Apache.</p>
</dd>
<dt><a href="password_encryptions.html">Formats de chiffrement des
mots de passe</a></dt>
<dd>
- <p>Discussion à propos des divers algorithmes de chiffrement
- supportés par Apache à des fins d'authentification.</p>
+ <p>Discussion à propos des divers algorithmes de chiffrement
+ supportés par Apache à des fins d'authentification.</p>
</dd>
</dl>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/misc/" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/misc/" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/misc/" title="Français"> fr </a> |
+<a href="../es/misc/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/misc/" title="Français"> fr </a> |
<a href="../ko/misc/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/misc/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../tr/misc/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/misc/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Documentations diverses</a></div><div id="page-content"><div id="preamble"><h1>Formats de mots de passe</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/misc/password_encryptions.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/misc/password_encryptions.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/misc/password_encryptions.html" title="Français"> fr </a></p>
+<a href="../es/misc/password_encryptions.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/misc/password_encryptions.html" title="Français"> fr </a></p>
</div>
- <p>Notes à propos des formats de chiffrement des mots de passe
- générés et reconnus par Apache.</p>
+ <p>Notes à propos des formats de chiffrement des mots de passe
+ générés et reconnus par Apache.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#basic">Authentification de base</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#digest">Authentification à base de condensés - (digest)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#digest">Authentification à base de condensés - (digest)</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="basic" id="basic">Authentification de base</a><a title="Lien permanent" href="#basic" class="permalink">¶</a></h2>
- <p>Voici les cinq formats de mots de passe qu'Apache reconnaît
+ <p>Voici les cinq formats de mots de passe qu'Apache reconnaît
pour l'authentification de base. Notez que tous les formats ne sont
- pas supportés par toutes les plates-formes :</p>
+ pas supportés par toutes les plates-formes :</p>
<dl>
<dt>bcrypt</dt>
- <dd>"$2y$" + résultat de l'algorithme de chiffrement crypt_blowfish. Voir le fichier
+ <dd>"$2y$" + résultat de l'algorithme de chiffrement crypt_blowfish. Voir le fichier
source APR <a href="http://svn.apache.org/viewvc/apr/apr/trunk/crypto/crypt_blowfish.c?view=markup">crypt_blowfish.c</a>
- pour plus de détails à propos de cet algorithme.</dd>
+ pour plus de détails à propos de cet algorithme.</dd>
<dt>MD5</dt>
- <dd>"$apr1$" + le résultat d'un algorithme spécifique à Apache
- utilisant un condensé MD5 réitéré (1000 fois) de combinaisons
- variées du mot de passe et d'une source d'entropie sur 32 bits.
+ <dd>"$apr1$" + le résultat d'un algorithme spécifique à Apache
+ utilisant un condensé MD5 réitéré (1000 fois) de combinaisons
+ variées du mot de passe et d'une source d'entropie sur 32 bits.
Voir le fichier source APR <a href="http://svn.apache.org/viewvc/apr/apr/trunk/crypto/apr_md5.c?view=markup">apr_md5.c</a>
- pour les détails de l'algorithme.</dd>
+ pour les détails de l'algorithme.</dd>
<dt>SHA1</dt>
- <dd>"{SHA}" + un condensé SHA-1 du mot de passe codé en
- Base64. Non sécurisé.</dd>
+ <dd>"{SHA}" + un condensé SHA-1 du mot de passe codé en
+ Base64. Non sécurisé.</dd>
<dt>CRYPT</dt>
<dd>Unix seulement. Utilise la fonction Unix traditionnelle
<code>crypt(3)</code> avec une source d'entropie sur 32 bits
- (seuls 12 bits sont utilisés), et seulement les 8 premiers
- caractères du mot de passe. Non sécurisé.</dd>
+ (seuls 12 bits sont utilisés), et seulement les 8 premiers
+ caractères du mot de passe. Non sécurisé.</dd>
- <dt>PLAIN TEXT (autrement dit <em>non chiffré</em>)</dt>
- <dd>Windows & Netware seulement. Non sécurisé.</dd>
+ <dt>PLAIN TEXT (autrement dit <em>non chiffré</em>)</dt>
+ <dd>Windows & Netware seulement. Non sécurisé.</dd>
</dl>
- <h3>Générer des mots de passe avec htpasswd</h3>
+ <h3>Générer des mots de passe avec htpasswd</h3>
<div class="example"><h3>bcrypt</h3><p><code>
$ htpasswd -nbB monNom Mon-Mot-de-passe<br />
- <h3>Générer des mots de passe CRYPT et MD5 avec le programme
+ <h3>Générer des mots de passe CRYPT et MD5 avec le programme
OpenSSL en ligne de commande</h3>
- <p>OpenSSL connaît l'algorithme MD5 spécifique à Apache.</p>
+ <p>OpenSSL connaît l'algorithme MD5 spécifique à Apache.</p>
<div class="example"><h3>MD5</h3><p><code>
$ openssl passwd -apr1 Mon-Mot-de-passe<br />
<h3>Valider des mots de passe CRYPT et MD5 avec le programme
OpenSSL en ligne de commande</h3>
- <p>La source d'entropie pour un mot de passe CRYPT est constituée
- des deux premiers caractères (convertis en valeur binaire). Pour
- valider <code>Mon-Mot-de-passe</code> par rapport à
+ <p>La source d'entropie pour un mot de passe CRYPT est constituée
+ des deux premiers caractères (convertis en valeur binaire). Pour
+ valider <code>Mon-Mot-de-passe</code> par rapport à
<code>rqXexS6ZhobKA</code></p>
<div class="example"><h3>CRYPT</h3><p><code>
rqXexS6ZhobKA
</code></p></div>
- <p>Notez que spécifier <code>Mon-Mot-</code> au lieu de
- <code>Mon-Mot-de-passe</code> produira le même résultat car seuls
- les 8 premiers caractères des mots de passe CRYPT sont pris en
+ <p>Notez que spécifier <code>Mon-Mot-</code> au lieu de
+ <code>Mon-Mot-de-passe</code> produira le même résultat car seuls
+ les 8 premiers caractères des mots de passe CRYPT sont pris en
compte.</p>
<p>La source d'entropie pour un mot de passe MD5 se situe entre
- <code>$apr1$</code> et le caractère <code>$</code> suivant (sous
- la forme d'une valeur binaire codée en Base64 - au maximum 8
- caractères). Pour valider <code>Mon-Mot-de-passe</code> par rapport
- à <code>$apr1$r31.....$HqJZimcKQFAMYayBlzkrA/</code></p>
+ <code>$apr1$</code> et le caractère <code>$</code> suivant (sous
+ la forme d'une valeur binaire codée en Base64 - au maximum 8
+ caractères). Pour valider <code>Mon-Mot-de-passe</code> par rapport
+ à <code>$apr1$r31.....$HqJZimcKQFAMYayBlzkrA/</code></p>
<div class="example"><h3>MD5</h3><p><code>
$ openssl passwd -apr1 -salt r31..... Mon-Mot-de-passe<br />
</code></p></div>
- <h3>Champs mot de passe de base de données pour
+ <h3>Champs mot de passe de base de données pour
mod_dbd</h3>
<p>La variante SHA1 constitue probablement le format le mieux
- approprié pour l'authentification DBD. Comme les fonctions SHA1 et
- Base64 sont en général disponibles, d'autres logiciels peuvent
- renseigner une base de données avec des mots de passe chiffrés
+ approprié pour l'authentification DBD. Comme les fonctions SHA1 et
+ Base64 sont en général disponibles, d'autres logiciels peuvent
+ renseigner une base de données avec des mots de passe chiffrés
utilisables par l'authentification basique d'Apache.</p>
- <p>Pour créer des mots de passe au format SHA1 pour
+ <p>Pour créer des mots de passe au format SHA1 pour
l'authentification de base d'Apache dans divers langages :</p>
<div class="example"><h3>PHP</h3><p><code>
</code></p></div>
<div class="example"><h3>PostgreSQL (avec les fonctions contrib/pgcrypto
- installées)</h3><p><code>
+ installées)</h3><p><code>
'{SHA}'||encode(digest(password,'sha1'),'base64')
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="digest" id="digest">Authentification à base de condensés - (digest)</a><a title="Lien permanent" href="#digest" class="permalink">¶</a></h2>
- <p>Apache ne reconnaît qu'un format pour les mots de passe
- d'authentification à base de condensés - le condensé MD5 de la
- chaîne <code>utilisateur:domaine-de-protection:mot-de-passe</code>
- sous la forme d'une chaîne de 32 caractères au format hexadécimal.
+<h2><a name="digest" id="digest">Authentification à base de condensés - (digest)</a><a title="Lien permanent" href="#digest" class="permalink">¶</a></h2>
+ <p>Apache ne reconnaît qu'un format pour les mots de passe
+ d'authentification à base de condensés - le condensé MD5 de la
+ chaîne <code>utilisateur:domaine-de-protection:mot-de-passe</code>
+ sous la forme d'une chaîne de 32 caractères au format hexadécimal.
<code>domaine-de-protection</code> est l'identifiant du domaine de
- protection de l'autorisation passé en argument à la directive
+ protection de l'autorisation passé en argument à la directive
<code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code> dans
httpd.conf.</p>
- <h3>Champs de mot de passe de base de données pour
+ <h3>Champs de mot de passe de base de données pour
mod_dbd</h3>
- <p>Comme la fonction MD5 est en général disponible, d'autres
- logiciels peuvent renseigner une base de données avec des mots de
- passe chiffrés utilisables par l'authentification à base de
- condensés d'Apache.</p>
+ <p>Comme la fonction MD5 est en général disponible, d'autres
+ logiciels peuvent renseigner une base de données avec des mots de
+ passe chiffrés utilisables par l'authentification à base de
+ condensés d'Apache.</p>
- <p>Pour créer des mots de passe pour l'authentification à base de
- condensés d'Apache dans divers langages :</p>
+ <p>Pour créer des mots de passe pour l'authentification à base de
+ condensés d'Apache dans divers langages :</p>
<div class="example"><h3>PHP</h3><p><code>
md5($user . ':' . $realm . ':' .$password)
<span class="indent">
s = "0" + s;
</span>
- // La chaîne s contient le mot de passe chiffré
+ // La chaîne s contient le mot de passe chiffré
</code></p></div>
<div class="example"><h3>ColdFusion</h3><p><code>
</code></p></div>
<div class="example"><h3>PostgreSQL (avec les fonctions contrib/pgcrypto
- installées)</h3><p><code>
+ installées)</h3><p><code>
encode(digest( user || ':' || realm || ':' || password , 'md5'), 'hex')
</code></p></div>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/misc/password_encryptions.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/misc/password_encryptions.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/misc/password_encryptions.html" title="Français"> fr </a></p>
+<a href="../es/misc/password_encryptions.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/misc/password_encryptions.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Amélioration des performances - Serveur Apache HTTP Version 2.5</title>
+<title>Amélioration des performances - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Documentations diverses</a></div><div id="page-content"><div id="preamble"><h1>Amélioration des performances</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Documentations diverses</a></div><div id="page-content"><div id="preamble"><h1>Amélioration des performances</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/misc/perf-scaling.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/misc/perf-scaling.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/misc/perf-scaling.html" title="Français"> fr </a></p>
+<a href="../es/misc/perf-scaling.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/misc/perf-scaling.html" title="Français"> fr </a></p>
</div>
<p>Il est dit dans la documentation d'Apache 1.3
- à propos de l'amélioration des performances :
+ à propos de l'amélioration des performances :
</p>
<blockquote><p>
- "Apache est un serveur web à vocation générale, conçu pour
- être non seulement efficace mais aussi rapide. Dans sa
- configuration de base, ses performances sont déjà
- relativement satisfaisantes. La plupart des sites possèdent
- une bande passante en sortie inférieure à 10 Mbits que le
- serveur Apache peut mettre pleinement à profit en utilisant un serveur à base
+ "Apache est un serveur web à vocation générale, conçu pour
+ être non seulement efficace mais aussi rapide. Dans sa
+ configuration de base, ses performances sont déjà
+ relativement satisfaisantes. La plupart des sites possèdent
+ une bande passante en sortie inférieure à 10 Mbits que le
+ serveur Apache peut mettre pleinement à profit en utilisant un serveur à base
de processeur Pentium bas de gamme."</p>
</blockquote>
- <p>Cette phrase ayant été écrite il y a plusieurs années,
- entre temps de nombreuses choses ont changé. D'une part, les
+ <p>Cette phrase ayant été écrite il y a plusieurs années,
+ entre temps de nombreuses choses ont changé. D'une part, les
serveurs sont devenus beaucoup plus rapides. D'autre part, de
- nombreux sites se voient maintenant allouée une bande passante
- en sortie bien supérieure à 10 Mbits. En outre, les applications
+ nombreux sites se voient maintenant allouée une bande passante
+ en sortie bien supérieure à 10 Mbits. En outre, les applications
web sont devenues beaucoup plus complexes. Les sites classiques
ne proposant que des pages du style brochure sont toujours
- présents, mais le web a souvent évolué vers une plateforme
- exécutant des traitements, et les webmasters peuvent maintenant
+ présents, mais le web a souvent évolué vers une plateforme
+ exécutant des traitements, et les webmasters peuvent maintenant
mettre en ligne des contenus dynamiques en Perl, PHP ou Java,
- qui exigent un niveau de performances bien supérieur.
+ qui exigent un niveau de performances bien supérieur.
</p>
- <p>C'est pourquoi en dépit des progrès en matière de bandes passantes
- allouées et de rapidité des serveurs, les performances
+ <p>C'est pourquoi en dépit des progrès en matière de bandes passantes
+ allouées et de rapidité des serveurs, les performances
des serveurs web et des applications web sont toujours un sujet
- d'actualité. C'est dans ce cadre que cette documentation s'attache à
- présenter de nombreux points concernant les performances des
+ d'actualité. C'est dans ce cadre que cette documentation s'attache à
+ présenter de nombreux points concernant les performances des
serveurs web.
</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#what-will-and-will-not-be-discussed">Ce qui sera abordé et ce qui ne le sera pas</a></li>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#what-will-and-will-not-be-discussed">Ce qui sera abordé et ce qui ne le sera pas</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#monitoring-your-server">Monitoring de votre serveur</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#configuring-for-performance">Configuration dans une optique de performances
</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="what-will-and-will-not-be-discussed" id="what-will-and-will-not-be-discussed">Ce qui sera abordé et ce qui ne le sera pas</a><a title="Lien permanent" href="#what-will-and-will-not-be-discussed" class="permalink">¶</a></h2>
+<h2><a name="what-will-and-will-not-be-discussed" id="what-will-and-will-not-be-discussed">Ce qui sera abordé et ce qui ne le sera pas</a><a title="Lien permanent" href="#what-will-and-will-not-be-discussed" class="permalink">¶</a></h2>
- <p>Ce document se concentre sur l'amélioration des performances
+ <p>Ce document se concentre sur l'amélioration des performances
via des options facilement accessibles, ainsi que sur les outils
de monitoring. Les outils de monitoring vous permettront de
surveiller le fonctionnement de votre serveur web afin de
- rassembler des informations à propos de ses performances et des
- éventuels problèmes qui s'y rapportent. Nous supposerons
- que votre budget n'est pas illimité ; c'est pourquoi les
- améliorations apportées le seront sans modifier l'infrastructure
- matérielle existante. Vous ne souhaitez probablement pas
- compiler vous-même votre serveur Apache, ni recompiler le noyau
- de votre système d'exploitation ; nous supposerons cependant que
- vous possédez quelques notions à propos du fichier de
+ rassembler des informations à propos de ses performances et des
+ éventuels problèmes qui s'y rapportent. Nous supposerons
+ que votre budget n'est pas illimité ; c'est pourquoi les
+ améliorations apportées le seront sans modifier l'infrastructure
+ matérielle existante. Vous ne souhaitez probablement pas
+ compiler vous-même votre serveur Apache, ni recompiler le noyau
+ de votre système d'exploitation ; nous supposerons cependant que
+ vous possédez quelques notions à propos du fichier de
configuration du serveur HTTP Apache.
</p>
<div class="section">
<h2><a name="monitoring-your-server" id="monitoring-your-server">Monitoring de votre serveur</a><a title="Lien permanent" href="#monitoring-your-server" class="permalink">¶</a></h2>
- <p>Si vous envisagez de redimensionner ou d'améliorer les performances
- de votre serveur, vous devez tout d'abord observer la manière dont il
- fonctionne. En observant son fonctionnement en conditions réelles ou
- sous une charge créée artificiellement, vous serez en mesure
+ <p>Si vous envisagez de redimensionner ou d'améliorer les performances
+ de votre serveur, vous devez tout d'abord observer la manière dont il
+ fonctionne. En observant son fonctionnement en conditions réelles ou
+ sous une charge créée artificiellement, vous serez en mesure
d'extrapoler son fonctionnement sous une charge accrue, par exemple dans
- le cas où il serait mentionné sur Slashdot. </p>
+ le cas où il serait mentionné sur Slashdot. </p>
<h3><a name="monitoring-tools" id="monitoring-tools">Outils de monitoring</a></h3>
</a></h4>
<p>L'outil top est fourni avec Linux et FreeBSD. Solaris
- quant à lui, fournit <code>prstat(1)</code>. Cet outil
- permet de rassembler de nombreuses données statistiques
- à propos du système et de chaque processus en cours
- d'exécution avant de les afficher de manière
- interactive sur votre terminal. Les données affichées
- sont rafraîchies toutes les secondes et varient en
+ quant à lui, fournit <code>prstat(1)</code>. Cet outil
+ permet de rassembler de nombreuses données statistiques
+ à propos du système et de chaque processus en cours
+ d'exécution avant de les afficher de manière
+ interactive sur votre terminal. Les données affichées
+ sont rafraîchies toutes les secondes et varient en
fonction de la plateforme, mais elles comportent en
- général la charge moyenne du système, le nombre de
- processus et leur état courant, le pourcentage de temps
- CPU(s) passé à exécuter le code système et utilisateur,
- et l'état de la mémoire virtuelle système. Les données
- affichées pour chaque processus sont en général
+ général la charge moyenne du système, le nombre de
+ processus et leur état courant, le pourcentage de temps
+ CPU(s) passé à exécuter le code système et utilisateur,
+ et l'état de la mémoire virtuelle système. Les données
+ affichées pour chaque processus sont en général
configurables et comprennent le nom et l'identifiant du
- processus, sa priorité et la valeur définie par nice,
- l'empreinte mémoire, et le pourcentage d'utilisation CPU.
+ processus, sa priorité et la valeur définie par nice,
+ l'empreinte mémoire, et le pourcentage d'utilisation CPU.
L'exemple suivant montre plusieurs processus httpd (avec
- les MPM worker et event) s'exécutant sur un système
+ les MPM worker et event) s'exécutant sur un système
Linux (Xen) :
</p>
69 root 15 -5 0 0 0 S 0 0.0 0:00.04 kblockd/1
70 root 15 -5 0 0 0 S 0 0.0 0:00.04 kblockd/2</pre></div>
- <p>Top est un merveilleux outil, même s'il est
+ <p>Top est un merveilleux outil, même s'il est
relativement gourmand en ressources (lorsqu'il
- s'exécute, son propre processus se trouve en général
+ s'exécute, son propre processus se trouve en général
dans le top dix des consommations CPU). Il est
- indispensable pour déterminer la taille d'un processus
- en cours d'exécution, information précieuse lorsque vous
- voudrez déterminer combien de processus httpd vous
- pourrez exécuter sur votre machine. La méthode pour
- effectuer ce calcul est décrite ici : <a href="#sizing-maxClients">calculer MaxClients</a>. Top
- est cependant un outil interactif, et l'exécuter de
- manière continu présente peu ou pas d'avantage.
+ indispensable pour déterminer la taille d'un processus
+ en cours d'exécution, information précieuse lorsque vous
+ voudrez déterminer combien de processus httpd vous
+ pourrez exécuter sur votre machine. La méthode pour
+ effectuer ce calcul est décrite ici : <a href="#sizing-maxClients">calculer MaxClients</a>. Top
+ est cependant un outil interactif, et l'exécuter de
+ manière continu présente peu ou pas d'avantage.
</p>
<h4><a name="free" id="free">free
</a></h4>
<p>Cette commande n'est disponible que sous Linux. Elle
- indique la mémoire vive et l'espace de swap utilisés.
- Linux alloue la mémoire inutilisée en tant que cache du
- système de fichiers. La commande free montre
- l'utilisation de la mémoire avec et sans ce cache. On
- peut utiliser la commande free pour déterminer la
- quantité de mémoire utilisée par le système, comme
- décrit dans le paragraphe <a href="#sizing-maxClients">calculer MaxClients</a>.
- L'affichage de la sortie de la commande free ressemble à
+ indique la mémoire vive et l'espace de swap utilisés.
+ Linux alloue la mémoire inutilisée en tant que cache du
+ système de fichiers. La commande free montre
+ l'utilisation de la mémoire avec et sans ce cache. On
+ peut utiliser la commande free pour déterminer la
+ quantité de mémoire utilisée par le système, comme
+ décrit dans le paragraphe <a href="#sizing-maxClients">calculer MaxClients</a>.
+ L'affichage de la sortie de la commande free ressemble à
ceci :
</p>
<p>Cette commande est disponible sur de nombreuses
plateformes de style Unix. Elle affiche un grand nombre
- de données système. Lancée sans argument, elle affiche
- une ligne d'état pour l'instant actuel. Lorsqu'on lui
- ajoute un chiffre, la ligne d'état actuelle est ajoutée à
- intervalles réguliers à l'affichage existant.
+ de données système. Lancée sans argument, elle affiche
+ une ligne d'état pour l'instant actuel. Lorsqu'on lui
+ ajoute un chiffre, la ligne d'état actuelle est ajoutée à
+ intervalles réguliers à l'affichage existant.
Par exemple, la commande
- <code>vmstat 5</code> ajoute la ligne d'état actuelle
+ <code>vmstat 5</code> ajoute la ligne d'état actuelle
toutes les 5 secondes. La commande vmstat affiche la
- quantité de mémoire virtuelle utilisée, la quantité de
- mémoire échangée avec l'espace de swap en entrée et en
- sortie à chaque seconde, le nombre de processus
- actuellement en cours d'exécution ou inactifs, le nombre
+ quantité de mémoire virtuelle utilisée, la quantité de
+ mémoire échangée avec l'espace de swap en entrée et en
+ sortie à chaque seconde, le nombre de processus
+ actuellement en cours d'exécution ou inactifs, le nombre
d'interruptions et de changements de contexte par
seconde, et le pourcentage d'utilisation du CPU.
</p>
0 0 0 0 186244 6696 37516 0 0 0 16 41 314 0 0 100
0 0 0 0 186236 6704 37516 0 0 0 9 44 314 0 0 100</pre></div>
- <p>Et voici cette même sortie pour un serveur en charge
- de cent connexions simultanées pour du contenu statique :
+ <p>Et voici cette même sortie pour un serveur en charge
+ de cent connexions simultanées pour du contenu statique :
</p>
<div class="example"><pre>[sctemme@GayDeceiver sctemme]$ vmstat 5 3
6 0 1 0 163280 6856 40248 0 0 0 66 6384 1117 42 25 32
11 0 0 0 162780 6864 40436 0 0 0 61 6309 1165 33 28 40</pre></div>
- <p>La première ligne indique des valeurs moyennes depuis
- le dernier redémarrage. Les lignes suivantes donnent des
- informations d'état à intervalles de 5 secondes. Le
- second argument demande à vmstat de générer 3 lignes
- d'état, puis de s'arrêter.
+ <p>La première ligne indique des valeurs moyennes depuis
+ le dernier redémarrage. Les lignes suivantes donnent des
+ informations d'état à intervalles de 5 secondes. Le
+ second argument demande à vmstat de générer 3 lignes
+ d'état, puis de s'arrêter.
</p>
- <h4><a name="se-toolkit" id="se-toolkit">Boîte à outils SE
+ <h4><a name="se-toolkit" id="se-toolkit">Boîte à outils SE
</a></h4>
- <p>La boîte à outils SE est une solution de supervision
- pour Solaris. Son langage de programmation est basé sur
- le préprocesseur C et est fourni avec de nombreux
+ <p>La boîte à outils SE est une solution de supervision
+ pour Solaris. Son langage de programmation est basé sur
+ le préprocesseur C et est fourni avec de nombreux
exemples de scripts. Les informations fournies
- peuvent être exploitées en mode console ou en mode
- graphique. Cette boîte à outils peut aussi être programmée pour
- appliquer des règles aux données système. Avec l'exemple
+ peuvent être exploitées en mode console ou en mode
+ graphique. Cette boîte à outils peut aussi être programmée pour
+ appliquer des règles aux données système. Avec l'exemple
de script de la Figure 2, Zoom.se, des voyants verts,
oranges ou rouges s'allument lorsque certaines valeurs
- du système dépassent un seuil spécifié. Un autre script
+ du système dépassent un seuil spécifié. Un autre script
fourni, Virtual Adrian, permet d'affiner les
performances en tenant compte de ces valeurs.
</p>
- <p>Depuis sa création, de nombreux propriétaires se sont
- succédés à la tête de la boîte à outils SE, et elle a de
- ce fait largement évolué. Il semble qu'elle ait
- maintenant trouvé sa place chez Sunfreeware.com d'où
- elle peut être téléchargée gratuitement. Il n'y a qu'un
+ <p>Depuis sa création, de nombreux propriétaires se sont
+ succédés à la tête de la boîte à outils SE, et elle a de
+ ce fait largement évolué. Il semble qu'elle ait
+ maintenant trouvé sa place chez Sunfreeware.com d'où
+ elle peut être téléchargée gratuitement. Il n'y a qu'un
seul paquet pour Solaris 8, 9 et 10 sur SPARC et x86, et
- il inclut le code source. Le concepteur de la boîte à
- outils SE, Richard Pettit, a fondé une nouvelle sociéte,
+ il inclut le code source. Le concepteur de la boîte à
+ outils SE, Richard Pettit, a fondé une nouvelle sociéte,
Captive Metrics4, et a l'intention de mettre sur le
- marché un outil de supervision multiplateforme en Java basé sur
- les mêmes principes que la boîte à outils SE.
+ marché un outil de supervision multiplateforme en Java basé sur
+ les mêmes principes que la boîte à outils SE.
</p>
<h4><a name="dtrace" id="dtrace">DTrace
</a></h4>
- <p>Etant donné que DTrace est disponible sous Solaris,
- FreeBSD et OS X, il serait intéressant de l'étudier. Il
+ <p>Etant donné que DTrace est disponible sous Solaris,
+ FreeBSD et OS X, il serait intéressant de l'étudier. Il
y a aussi le module mod_dtrace pour httpd.
</p>
<h4><a name="mod_status" id="mod_status">mod_status
</a></h4>
- <p>Le module mod_status donne un aperçu des performances
- du serveur à un instant donné. Il génère une page HTML
+ <p>Le module mod_status donne un aperçu des performances
+ du serveur à un instant donné. Il génère une page HTML
comportant, entre autres, le nombre de processus Apache
- en cours d'exécution avec la quantité de données qu'ils
+ en cours d'exécution avec la quantité de données qu'ils
ont servies, ainsi que la charge CPU induite par httpd
- et le reste du système. L'Apache Software Foundation
- utilise elle-même <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> pour son
+ et le reste du système. L'Apache Software Foundation
+ utilise elle-même <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> pour son
propre <a href="http://apache.org/server-status">site
web</a>. Si vous ajoutez une directive
- <code>ExtendedStatus On</code> à votre fichier
+ <code>ExtendedStatus On</code> à votre fichier
<code>httpd.conf</code>, la page de
<code class="module"><a href="../mod/mod_status.html">mod_status</a></code> vous fournira d'avantage
d'informations, au prix d'une consommation de ressources
- légèrement supérieure par requête.
+ légèrement supérieure par requête.
</p>
<h3><a name="web-server-log-files" id="web-server-log-files">Les journaux du serveur web
</a></h3>
- <p>Le moyen le plus efficace pour vérifier la bonne santé et
- le niveau de performance de votre serveur consiste à
- surveiller et analyser les journaux écrits par httpd. La
+ <p>Le moyen le plus efficace pour vérifier la bonne santé et
+ le niveau de performance de votre serveur consiste à
+ surveiller et analyser les journaux écrits par httpd. La
surveillance du journal des erreurs vous permet de
- déterminer les sources d'erreurs, de détecter des attaques
- ou des problèmes de performance. L'analyse du journal des
- accès vous indique le niveau de charge de votre serveur,
+ déterminer les sources d'erreurs, de détecter des attaques
+ ou des problèmes de performance. L'analyse du journal des
+ accès vous indique le niveau de charge de votre serveur,
quelles sont les ressources les plus populaires, ainsi que
la provenance de vos utilisateurs. Une analyse historique des
- données de journalisation peut vous fournir des informations
- précieuses quant aux tendances d'utilisation de votre
- serveur au cours du temps, ce qui vous permet de prévoir les
- périodes où les besoins en performance risquent de dépasser
- les capacités du serveur.
+ données de journalisation peut vous fournir des informations
+ précieuses quant aux tendances d'utilisation de votre
+ serveur au cours du temps, ce qui vous permet de prévoir les
+ périodes où les besoins en performance risquent de dépasser
+ les capacités du serveur.
</p>
<p>Le journal des erreurs peut indiquer que le nombre
maximum de processus actifs ou de fichiers ouverts
- simultanément a été atteint. Le journal des erreurs
- signele aussi le lancement de processus supplémentaires selon un
- taux supérieur à la normale en réponse à
+ simultanément a été atteint. Le journal des erreurs
+ signele aussi le lancement de processus supplémentaires selon un
+ taux supérieur à la normale en réponse à
une augmentation soudaine de la charge. Lorsque le
- serveur démarre, le descripteur de fichier stderr est
- redirigé vers le journal des erreurs, si bien que toute
- erreur rencontrée par httpd après avoir ouvert ses
- fichiers journaux apparaîtra dans ce journal. Consulter
- fréquemment le journal des erreurs est donc une bonne
+ serveur démarre, le descripteur de fichier stderr est
+ redirigé vers le journal des erreurs, si bien que toute
+ erreur rencontrée par httpd après avoir ouvert ses
+ fichiers journaux apparaîtra dans ce journal. Consulter
+ fréquemment le journal des erreurs est donc une bonne
habitude.
</p>
<p>Lorsque Apache httpd n'a pas encore ouvert ses
- fichiers journaux, tout message d'erreur sera envoyé
+ fichiers journaux, tout message d'erreur sera envoyé
vers la sortie d'erreur standard stderr. Si vous
- démarrez httpd manuellement, ces messages d'erreur
- apparaîtront sur votre terminal, et vous pourrez les
- utiliser directement pour résoudre les problèmes de
- votre serveur. Si httpd est lancé via un script de
- démarrage, la destination de ces messages d'erreur
- dépend de leur conception.
- <code>/var/log/messages</code> est alors le premier fichier à
- consulter. Sous Windows, ces messages d'erreur précoces
- sont écrits dans le journal des évènements des
- applications, qui peut être visualisé via l'observateur
- d'évènements dans les outils d'administration.
+ démarrez httpd manuellement, ces messages d'erreur
+ apparaîtront sur votre terminal, et vous pourrez les
+ utiliser directement pour résoudre les problèmes de
+ votre serveur. Si httpd est lancé via un script de
+ démarrage, la destination de ces messages d'erreur
+ dépend de leur conception.
+ <code>/var/log/messages</code> est alors le premier fichier à
+ consulter. Sous Windows, ces messages d'erreur précoces
+ sont écrits dans le journal des évènements des
+ applications, qui peut être visualisé via l'observateur
+ d'évènements dans les outils d'administration.
</p>
<p>
- Le journal des erreurs est configuré via les
+ Le journal des erreurs est configuré via les
directives de configuration <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code> et <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code>. Le journal des
erreurs de la configuration du serveur principal de
- httpd reçoit les messages d'erreur concernant
- l'ensemble du serveur : démarrage, arrêt, crashes,
- lancement de processus supplémentaires excessif,
- etc... La directive <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code> peut aussi être
- utilisée dans les blocs de configuration des
+ httpd reçoit les messages d'erreur concernant
+ l'ensemble du serveur : démarrage, arrêt, crashes,
+ lancement de processus supplémentaires excessif,
+ etc... La directive <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code> peut aussi être
+ utilisée dans les blocs de configuration des
serveurs virtuels. Le journal des erreurs d'un
- serveur virtuel ne reçoit que les messages d'erreur
- spécifiques à ce serveur virtuel, comme les erreurs
+ serveur virtuel ne reçoit que les messages d'erreur
+ spécifiques à ce serveur virtuel, comme les erreurs
d'authentification et les erreurs du style 'File not
Found'.
</p>
<p>Dans le cas d'un serveur accessible depuis Internet,
- attendez-vous à voir de nombreuses tentatives
+ attendez-vous à voir de nombreuses tentatives
d'exploitation et attaques de vers dans le journal des
erreurs. La plupart d'entre elles ciblent des serveurs
- autres qu'Apache, mais dans l'état actuel des choses,
+ autres qu'Apache, mais dans l'état actuel des choses,
les scripts se contentent d'envoyer leurs attaques vers
tout port ouvert, sans tenir compte du serveur web
- effectivement en cours d'exécution ou du type
- des applications installées. Vous pouvez bloquer ces
+ effectivement en cours d'exécution ou du type
+ des applications installées. Vous pouvez bloquer ces
tentatives d'attaque en utilisant un pare-feu ou le
module <a href="http://www.modsecurity.org/">mod_security</a>,
- mais ceci dépasse la portée de cette discussion.
+ mais ceci dépasse la portée de cette discussion.
</p>
<p>
- La directive <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> permet de définir
- le niveau de détail des messages enregistrés dans
+ La directive <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> permet de définir
+ le niveau de détail des messages enregistrés dans
les journaux. Il existe huit niveaux de
journalisation :
</p>
<p>emerg</p>
</td>
<td>
- <p>Urgence - le système est inutilisable.</p>
+ <p>Urgence - le système est inutilisable.</p>
</td>
</tr>
<tr>
<p>alert</p>
</td>
<td>
- <p>Une action doit être entreprise
- immédiatement.</p>
+ <p>Une action doit être entreprise
+ immédiatement.</p>
</td>
</tr>
<tr>
<p>notice</p>
</td>
<td>
- <p>Evènement normal, mais important.</p>
+ <p>Evènement normal, mais important.</p>
</td>
</tr>
<tr>
<p>debug</p>
</td>
<td>
- <p>Messages de débogage.</p>
+ <p>Messages de débogage.</p>
</td>
</tr>
</table>
- <p>Le niveau de journalisation par défaut est warn. Un
- serveur en production ne doit pas s'exécuter en mode
- debug, mais augmenter le niveau de détail dans le
- journal des erreurs peut s'avérer utile pour résoudre
- certains problèmes. A partir de la
- version 2.3.8, la directive <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> peut être définie au
+ <p>Le niveau de journalisation par défaut est warn. Un
+ serveur en production ne doit pas s'exécuter en mode
+ debug, mais augmenter le niveau de détail dans le
+ journal des erreurs peut s'avérer utile pour résoudre
+ certains problèmes. A partir de la
+ version 2.3.8, la directive <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> peut être définie au
niveau de chaque module :
</p>
<p>
Dans cet exemple, l'ensemble du serveur est en mode
debug, sauf le module <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>
- qui a tendance à être très bavard.
+ qui a tendance à être très bavard.
</p>
- <h4><a name="AccessLog" id="AccessLog">Journal des accès
+ <h4><a name="AccessLog" id="AccessLog">Journal des accès
</a></h4>
- <p>Apache httpd garde la trace de toutes les requêtes
- qu'il reçoit dans son journal des accès. En plus de
- l'heure et de la nature d'une requête, httpd peut
+ <p>Apache httpd garde la trace de toutes les requêtes
+ qu'il reçoit dans son journal des accès. En plus de
+ l'heure et de la nature d'une requête, httpd peut
enregistrer l'adresse IP du client, la date et l'heure
- de la requête, le résultat et quantité d'autres
- informations. Les différents formats de journaux sont
- documentés dans le manuel. Le fichier concerne par
- défaut le serveur principal, mais il peut être configuré
+ de la requête, le résultat et quantité d'autres
+ informations. Les différents formats de journaux sont
+ documentés dans le manuel. Le fichier concerne par
+ défaut le serveur principal, mais il peut être configuré
pour chaque serveur virtuel via les directives de
configuration <code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code> ou
<code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code>.
</p>
<p>De nombreux programmes libres ou commerciaux
- permettent d'analyser les journaux d'accès. Analog et
+ permettent d'analyser les journaux d'accès. Analog et
Webalyser sont des programmes d'analyse libres parmi les
plus populaires. L'analyse des journaux doit s'effectuer
hors ligne afin de ne pas surcharger le serveur web avec
le traitement des fichiers journaux. La plupart des
programmes d'analyse des journaux sont compatibles avec le format
de journal "Common". Voici une description des
- différents champs présents dans une entrée du journal :
+ différents champs présents dans une entrée du journal :
</p>
<p>195.54.228.42</p>
</td>
<td>
- <p>Adresse IP d'où provient la requête</p>
+ <p>Adresse IP d'où provient la requête</p>
</td>
</tr>
<tr>
<td>
- <p>Identité RFC 1413</p>
+ <p>Identité RFC 1413</p>
</td>
<td>
<p>-</p>
</td>
<td>
- <p>Identité de l'utilisateur distant renvoyée
- par son démon identd</p>
+ <p>Identité de l'utilisateur distant renvoyée
+ par son démon identd</p>
</td>
</tr>
<tr>
<p>[24/Mar/2007:23:05:11 -0400]</p>
</td>
<td>
- <p>Date et heure de la requête</p>
+ <p>Date et heure de la requête</p>
</td>
</tr>
<tr>
<td>
- <p>Requête</p>
+ <p>Requête</p>
</td>
<td>
<p>"GET /sander/feed/ HTTP/1.1"</p>
</td>
<td>
- <p>La requête proprement dite</p>
+ <p>La requête proprement dite</p>
</td>
</tr>
<tr>
<td>
- <p>Code d'état</p>
+ <p>Code d'état</p>
</td>
<td>
<p>200</p>
</td>
<td>
- <p>Code d'état renvoyé avec la réponse</p>
+ <p>Code d'état renvoyé avec la réponse</p>
</td>
</tr>
<tr>
<p>9747</p>
</td>
<td>
- <p>Total des octets transférés sans les
- en-têtes</p>
+ <p>Total des octets transférés sans les
+ en-têtes</p>
</td>
</tr>
</table>
</a></h4>
<p>Il y a de nombreuses raisons pour mettre en oeuvre la
- rotation des fichiers journaux. Même si pratiquement
- plus aucun système d'exploitation n'impose une limite de
+ rotation des fichiers journaux. Même si pratiquement
+ plus aucun système d'exploitation n'impose une limite de
taille pour les fichiers de deux GigaOctets, avec le
temps, les fichiers journaux deviennent trop gros pour
- pouvoir être traités. En outre, toute analyse de journal
- ne doit pas être effectuée sur un fichier dans lequel le
- serveur est en train d'écrire. Une rotation périodique
+ pouvoir être traités. En outre, toute analyse de journal
+ ne doit pas être effectuée sur un fichier dans lequel le
+ serveur est en train d'écrire. Une rotation périodique
des fichiers journaux permet de faciliter leur analyse,
- et de se faire une idée plus précise des habitudes
+ et de se faire une idée plus précise des habitudes
d'utilisation.
</p>
- <p>Sur les systèmes unix, vous pouvez simplement
+ <p>Sur les systèmes unix, vous pouvez simplement
effectuer cette rotation en changeant le nom du fichier
- journal via la commande mv. Le serveur continuera à
- écrire dans le fichier ouvert même s'il a changé de nom.
- Lorsque vous enverrez un signal de redémarrage
+ journal via la commande mv. Le serveur continuera à
+ écrire dans le fichier ouvert même s'il a changé de nom.
+ Lorsque vous enverrez un signal de redémarrage
"Graceful" au serveur, il ouvrira un nouveau fichier
- journal avec le nom configuré par défaut. Par exemple,
- vous pouvez écrire un script de ce style pour cron :
+ journal avec le nom configuré par défaut. Par exemple,
+ vous pouvez écrire un script de ce style pour cron :
</p>
<p>Cette approche fonctionne aussi sous Windows, mais
avec moins de souplesse. Alors que le processus httpd de
- votre serveur sous Windows continuera à écrire dans le
- fichier journal une fois ce dernier renommé, le service
- Windows qui exécute Apache n'est pas en mesure
- d'effectuer un redémarrage graceful. Sous Windows, le
- redémarrage d'un service consiste simplement à l'arrêter
- et à le démarrer à nouveau, alors qu'avec un redémarrage
+ votre serveur sous Windows continuera à écrire dans le
+ fichier journal une fois ce dernier renommé, le service
+ Windows qui exécute Apache n'est pas en mesure
+ d'effectuer un redémarrage graceful. Sous Windows, le
+ redémarrage d'un service consiste simplement à l'arrêter
+ et à le démarrer à nouveau, alors qu'avec un redémarrage
graceful, les processus enfants terminent
- le traitement des requêtes en cours avant de s'arrêter,
- et le serveur httpd est alors immédiatement à
- nouveau disponible pour traiter les nouvelles requêtes.
- Sous Windows, le processus d'arrêt/redémarrage du
- service interrompt les traitements de requêtes en cours,
- et le serveur demeure indisponible jusqu'à ce qu'il ait
- terminé son redémarrage. Vous devez donc tenir compte de
+ le traitement des requêtes en cours avant de s'arrêter,
+ et le serveur httpd est alors immédiatement à
+ nouveau disponible pour traiter les nouvelles requêtes.
+ Sous Windows, le processus d'arrêt/redémarrage du
+ service interrompt les traitements de requêtes en cours,
+ et le serveur demeure indisponible jusqu'à ce qu'il ait
+ terminé son redémarrage. Vous devez donc tenir compte de
toutes ces contraintes lorsque vous planifiez un
- redémarrage.
+ redémarrage.
</p>
<p>
- Une seconde approche consiste à utiliser la
+ Une seconde approche consiste à utiliser la
redirection des logs. Les directives <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code>,
<code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code> ou
<code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code>
- permettent de rediriger les données de journalisation
- vers tout programme via le caractère pipe
+ permettent de rediriger les données de journalisation
+ vers tout programme via le caractère pipe
(<code>|</code>) comme dans cet exemple :
</p>
</code></p></div>
<p>Le programme cible de la redirection recevra alors les
- données de journalisation d'Apache sur son entrée
+ données de journalisation d'Apache sur son entrée
standard stdin, et pourra en faire ce qu'il voudra. Le
programme rotatelogs fourni avec Apache effectue une
- rotation des journaux de manière transparente en
- fonction du temps ou de la quantité de données écrites,
+ rotation des journaux de manière transparente en
+ fonction du temps ou de la quantité de données écrites,
et archive l'ancien fichier journal en ajoutant un
- suffixe d'horodatage à son nom. Cependant, si cette
- méthode fonctionne de manière satisfaisante sur les
- plateformes de style unix, il n'en est pas de même sous
+ suffixe d'horodatage à son nom. Cependant, si cette
+ méthode fonctionne de manière satisfaisante sur les
+ plateformes de style unix, il n'en est pas de même sous
Windows.
</p>
<h4><a name="logging-and-performance" id="logging-and-performance">Journalisation et performances
</a></h4>
- <p>L'écriture d'entrées dans les fichiers journaux est
+ <p>L'écriture d'entrées dans les fichiers journaux est
consommatrice de ressources, mais l'importance de ces
- données est telle qu'il est fortement déconseillé de
- désactiver la journalisation. Pour optimiser les
+ données est telle qu'il est fortement déconseillé de
+ désactiver la journalisation. Pour optimiser les
performances, vous devez enregistrer vos journaux sur un
- disque physique différent de celui où se situe votre
- site web car les modes d'accès sont très différents. La
- lecture de données sur un disque possède un caractère
- essentiellement aléatoire, alors que l'écriture dans les
- fichiers journaux s'effectue de manière séquentielle.
+ disque physique différent de celui où se situe votre
+ site web car les modes d'accès sont très différents. La
+ lecture de données sur un disque possède un caractère
+ essentiellement aléatoire, alors que l'écriture dans les
+ fichiers journaux s'effectue de manière séquentielle.
</p>
<p>
- Ne définissez jamais la directive <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> à debug pour un
+ Ne définissez jamais la directive <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> à debug pour un
serveur en production. En effet, lorsque ce niveau de
- journalisation est défini, une grande quantité de
- données est écrite dans le journal des erreurs, y
- compris, dans le cas d'un accès SSL, toutes les
- opérations de lecture/écriture de la négociation de la
- connexion. Les implications en matière de performances
- sont donc importantes et vous devez plutôt utiliser le
+ journalisation est défini, une grande quantité de
+ données est écrite dans le journal des erreurs, y
+ compris, dans le cas d'un accès SSL, toutes les
+ opérations de lecture/écriture de la négociation de la
+ connexion. Les implications en matière de performances
+ sont donc importantes et vous devez plutôt utiliser le
niveau de journalisation warn.
</p>
- <p>Si votre serveur possède plus d'un serveur virtuel,
- il est conseillé d'attribuer un journal des accès séparé à
+ <p>Si votre serveur possède plus d'un serveur virtuel,
+ il est conseillé d'attribuer un journal des accès séparé à
chacun d'entre eux, ce qui a pour effet de faciliter son
- exploitation ultérieure. Par contre, si votre serveur
- possède un grand nombre de serveurs virtuels, le nombre
- de fichiers journaux à ouvrir va représenter une
+ exploitation ultérieure. Par contre, si votre serveur
+ possède un grand nombre de serveurs virtuels, le nombre
+ de fichiers journaux à ouvrir va représenter une
consommation de ressources importante pour votre
- système, et il sera peut-être alors plus judicieux
- d'utiliser un seul fichier journal avec l'aménagement
- suivant : utiliser l'élément de format <code>%v</code>
- en tête de votre directive <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> (et de
+ système, et il sera peut-être alors plus judicieux
+ d'utiliser un seul fichier journal avec l'aménagement
+ suivant : utiliser l'élément de format <code>%v</code>
+ en tête de votre directive <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> (et de
votre directive <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code> depuis la version
2.3.8) afin que httpd enregistre le nom du serveur
- virtuel qui traite la requête ou l'erreur au début de
- chaque entrée du journal. Un simple script Perl peut
- alors éclater le journal en fichiers spécifiques à
- chaque serveur virtuel après sa rotation ; Apache
- fournit un tel script dans le répertoire
+ virtuel qui traite la requête ou l'erreur au début de
+ chaque entrée du journal. Un simple script Perl peut
+ alors éclater le journal en fichiers spécifiques à
+ chaque serveur virtuel après sa rotation ; Apache
+ fournit un tel script dans le répertoire
<code>support/split-logfile</code>.
</p>
<p>
Vous pouvez aussi utiliser la directive <code class="directive"><a href="../mod/mod_log_config.html#bufferedlogs">BufferedLogs</a></code>
- pour qu'Apache conserve en mémoire plusieurs entrées
- de journal avant de les écrire sur disque. Gardez
- cependant à l'esprit que si les performances peuvent
- s'en trouver améliorées, la chronologie des
- évènements enregistrés peut quant à elle s'en
- trouver affectée.
+ pour qu'Apache conserve en mémoire plusieurs entrées
+ de journal avant de les écrire sur disque. Gardez
+ cependant à l'esprit que si les performances peuvent
+ s'en trouver améliorées, la chronologie des
+ évènements enregistrés peut quant à elle s'en
+ trouver affectée.
</p>
</a></h3>
<p>Il est interessant de mettre en oeuvre une charge de test
- afin d'évaluer les performances du système en conditions
- réelles de fonctionnement. A cet effet, il existe des
+ afin d'évaluer les performances du système en conditions
+ réelles de fonctionnement. A cet effet, il existe des
paquets commerciaux comme <a href="http://learnloadrunner.com/">LoadRunner</a>, mais
- aussi de nombreux outils libres permettant de générer une
+ aussi de nombreux outils libres permettant de générer une
charge de test pour votre serveur web.
</p>
<ul>
- <li>Apache est fourni avec un programme de test nommé ab
- (initiales de Apache Bench). Ce dernier peut générer une
- charge de serveur web consistant à demander le même
- fichier de manière répétitive à un rythme rapide. Vous
- pouvez spécifier le nombre de connexions simultanées, et
- choisir entre une durée de fonctionnement ou un nombre
- de requêtes.
+ <li>Apache est fourni avec un programme de test nommé ab
+ (initiales de Apache Bench). Ce dernier peut générer une
+ charge de serveur web consistant à demander le même
+ fichier de manière répétitive à un rythme rapide. Vous
+ pouvez spécifier le nombre de connexions simultanées, et
+ choisir entre une durée de fonctionnement ou un nombre
+ de requêtes.
</li>
- <li>http load11 est un autre exemple de générateur de
+ <li>http load11 est un autre exemple de générateur de
charge libre. Ce programme fonctionne avec un ficher
- d'URLs et peut être compilé avec le support SSL.
+ d'URLs et peut être compilé avec le support SSL.
</li>
- <li>L'Apache Software Foundation propose un outil nommé
- flood12. Flood est un programme assez sophistiqué que
+ <li>L'Apache Software Foundation propose un outil nommé
+ flood12. Flood est un programme assez sophistiqué que
l'on configure via un fichier XML.
</li>
<li>Pour finir, JMeter13, un sous-projet de Jakarta, est
- un outil de test en charge entièrement en Java. Alors
- que les premières versions de cette application étaient
+ un outil de test en charge entièrement en Java. Alors
+ que les premières versions de cette application étaient
lentes et difficiles d'utilisation, la version 2.1.1
- actuelle semble être plus souple d'utilisation et
+ actuelle semble être plus souple d'utilisation et
efficace.
</li>
<li>
- <p>Des projets externes à l'ASF et réputés
+ <p>Des projets externes à l'ASF et réputés
relativement corrects : grinder, httperf, tsung, <a href="http://funkload.nuxeo.org/">FunkLoad</a>.
</p>
</li>
</ul>
- <p>Lorsque vous appliquez une charge de test à votre serveur
- web, gardez à l'esprit que si ce dernier est en production,
- la charge de test peut en affecter négativement les
- performances. En outre, le transfert de données
- supplémentaires induit peut être comptabilisé dans le
- quota mensuel qui vous a été éventuellement alloué.
+ <p>Lorsque vous appliquez une charge de test à votre serveur
+ web, gardez à l'esprit que si ce dernier est en production,
+ la charge de test peut en affecter négativement les
+ performances. En outre, le transfert de données
+ supplémentaires induit peut être comptabilisé dans le
+ quota mensuel qui vous a été éventuellement alloué.
</p>
<h3><a name="apache-configuration" id="apache-configuration">Configuration de httpd
</a></h3>
- <p>httpd version 2.2 est par défaut un serveur web avec des
- processus enfants lancés au préalable. Au démarrage du
+ <p>httpd version 2.2 est par défaut un serveur web avec des
+ processus enfants lancés au préalable. Au démarrage du
serveur, le processus parent lance un certain nombre de
- processus enfants et ce sont eux qui seront chargés de traiter les
- requêtes. Mais avec httpd version 2.0 est apparu le concept
- de module multi-process (MPM). Les développeurs purent alors
- écrire des MPMs qui pouvaient fonctionner avec l'architecture
- à base de processus ou de threads de leur système
- d'exploitation spécifique. Apache 2 est fourni avec des MPMs
- spécifiques pour Windows, OS/2, Netware et BeOS. Pour les
+ processus enfants et ce sont eux qui seront chargés de traiter les
+ requêtes. Mais avec httpd version 2.0 est apparu le concept
+ de module multi-process (MPM). Les développeurs purent alors
+ écrire des MPMs qui pouvaient fonctionner avec l'architecture
+ à base de processus ou de threads de leur système
+ d'exploitation spécifique. Apache 2 est fourni avec des MPMs
+ spécifiques pour Windows, OS/2, Netware et BeOS. Pour les
plateformes de style unix, les deux MPMS les plus connus
- sont Prefork et Worker. Le MPM Prefork offre le même modèle
- de processus enfants prélancés que celui d'Apache 1.3. Le
- MPM Worker quant à lui, lance un nombre de processus enfants
- moins important, mais attribue à chacun d'entre eux un
- certain nombre de threads pour traiter les requêtes. Avec la
- version 2.4, le MPM n'est plus défini à la compilation,
- mais peut être chargé à l'exécution via la directive
+ sont Prefork et Worker. Le MPM Prefork offre le même modèle
+ de processus enfants prélancés que celui d'Apache 1.3. Le
+ MPM Worker quant à lui, lance un nombre de processus enfants
+ moins important, mais attribue à chacun d'entre eux un
+ certain nombre de threads pour traiter les requêtes. Avec la
+ version 2.4, le MPM n'est plus défini à la compilation,
+ mais peut être chargé à l'exécution via la directive
<code class="directive"><a href="../mod/core.html#loadmodule">LoadModule</a></code>. Le MPM par
- défaut pour la version 2.4 est le MPM event.
+ défaut pour la version 2.4 est le MPM event.
</p>
- <p>Le nombre maximum de process, à savoir le nombre de processus
- enfants prélancés et/ou de threads, donne une approximation
- du nombre de requêtes que votre serveur peut traiter
- simultanément. Ce n'est cependant qu'une estimation car le
+ <p>Le nombre maximum de process, à savoir le nombre de processus
+ enfants prélancés et/ou de threads, donne une approximation
+ du nombre de requêtes que votre serveur peut traiter
+ simultanément. Ce n'est cependant qu'une estimation car le
noyau peut mettre en file d'attente des tentatives de
- connexion à votre serveur. Lorsque votre site approche de la
+ connexion à votre serveur. Lorsque votre site approche de la
saturation et si le nombre maximum de process est atteint, la
machine n'impose pas de limite absolue au
- delà de laquelle les clients se verront refuser l'accès.
- Cependant, lorsque les requêtes commencent à être mises en
- file d'attente, les performances du système se dégradent
+ delà de laquelle les clients se verront refuser l'accès.
+ Cependant, lorsque les requêtes commencent à être mises en
+ file d'attente, les performances du système se dégradent
rapidement.
</p>
- <p>Enfin, si le serveur httpd en question n'exécute aucun
+ <p>Enfin, si le serveur httpd en question n'exécute aucun
code tiers via <code>mod_php</code>, <code>mod_perl</code>,
etc..., nous recommandons l'utilisation de
- <code class="module">mpm_event</code>. Ce MPM est idéal pour les
- situations où httpd sert d'intermédiaire entre les clients
- et des serveurs d'arrière-plan qui accomplissent le travail
+ <code class="module">mpm_event</code>. Ce MPM est idéal pour les
+ situations où httpd sert d'intermédiaire entre les clients
+ et des serveurs d'arrière-plan qui accomplissent le travail
proprement dit (par exemple en mode mandataire ou cache).
</p>
</a></h4>
<p>La directive <code>MaxClients</code> permet de
- spécifier le nombre maximum de process que votre serveur
- pourra créer. Deux autres directives lui sont associées
+ spécifier le nombre maximum de process que votre serveur
+ pourra créer. Deux autres directives lui sont associées
: <code>MinSpareServers</code> et
<code>MaxSpareServers</code>, qui permettent d'encadrer
- le nombre de process que httpd garde en réserve pour
- traiter les requêtes. Le nombre total de process que
- httpd peut créer peut
- être défini via la directive <code>ServerLimit</code>.
+ le nombre de process que httpd garde en réserve pour
+ traiter les requêtes. Le nombre total de process que
+ httpd peut créer peut
+ être défini via la directive <code>ServerLimit</code>.
</p>
<h4><a name="spinning-threads" id="spinning-threads">Rotation des threads
</a></h4>
- <p>Les directives ci-dessus suffisent pour définir les
+ <p>Les directives ci-dessus suffisent pour définir les
limites des nombres de process dans le cas du MPM Prefork.
- Cependant, si vous utilisez un MPM à base de threads, la
- situation est un peu plus compliquée. Les MPMs à base de
+ Cependant, si vous utilisez un MPM à base de threads, la
+ situation est un peu plus compliquée. Les MPMs à base de
threads supportent la directive
<code>ThreadsPerChild</code>. httpd impose le fait que
- <code>MaxClients</code> doit être divisible par
+ <code>MaxClients</code> doit être divisible par
<code>ThreadsPerChild</code>. Si les valeurs que vous
- attribuez à ces deux directives ne respectent pas cette
- règle, httpd affichera un message d'erreur et corrigera
+ attribuez à ces deux directives ne respectent pas cette
+ règle, httpd affichera un message d'erreur et corrigera
la valeur de la directive <code>ThreadsPerChild</code>
- en la diminuant jusqu'à ce que la valeur de la directive
+ en la diminuant jusqu'à ce que la valeur de la directive
<code>MaxClients</code> soit divisible par elle.
</p>
<h4><a name="sizing-maxClients" id="sizing-maxClients">Choix de la valeur de MaxClients
</a></h4>
- <p>Idéalement, le nombre maximum de processus devrait
- être choisi de façon à ce que toute la mémoire système
- soit utilisée, sans la dépasser. En effet, si votre
- système est surchargé au point de devoir faire appel de
- manière intensive au swap (utilisation de la mémoire
- disque), les performances vont se dégrader rapidement.
- La formule permettant de déterminer la valeur de
+ <p>Idéalement, le nombre maximum de processus devrait
+ être choisi de façon à ce que toute la mémoire système
+ soit utilisée, sans la dépasser. En effet, si votre
+ système est surchargé au point de devoir faire appel de
+ manière intensive au swap (utilisation de la mémoire
+ disque), les performances vont se dégrader rapidement.
+ La formule permettant de déterminer la valeur de
<code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxClients</a></code>
est assez simple :
</p>
<div class="example"><p><code>
- MaxClients = (RAM totale − RAM système − RAM pour
- les programmes externes) divisé par la RAM nécessaire pour
+ MaxClients = (RAM totale − RAM système − RAM pour
+ les programmes externes) divisé par la RAM nécessaire pour
chaque processus enfant.
</code></p></div>
- <p>L'observation est la meilleure manière de déterminer
- les différentes quantités de mémoire allouées au
- système, aux programmes externes et aux processus httpd
- : à cet effet, vous pouvez utiliser les commandes top et
- free décrites plus haut pour étudier l'empreinte mémoire
- du système lorsque le serveur web n'est pas en cours
- d'exécution. Vous pouvez aussi étudier l'empreinte d'un
+ <p>L'observation est la meilleure manière de déterminer
+ les différentes quantités de mémoire allouées au
+ système, aux programmes externes et aux processus httpd
+ : à cet effet, vous pouvez utiliser les commandes top et
+ free décrites plus haut pour étudier l'empreinte mémoire
+ du système lorsque le serveur web n'est pas en cours
+ d'exécution. Vous pouvez aussi étudier l'empreinte d'un
processus type du serveur web via la commande top ; en
- effet, la plupart des implémentations de cette commande
- présentent une colonne Mémoire résidente (RSS - Resident
- Size) et Mémoire partagée (Shared Memory).
- </p>
- <p>La différence entre ces deux colonnes est la
- quantité de mémoire par processus. Le segment de mémoire
- partagée n'existe effectivement qu'une seule fois, et
- est utilisé par le code et les bibliothèques chargées et
- la concurrence inter-processus (ou tableau de résultat -
- scoreboard) géré par Apache. La quantité de mémoire
- utilisée par chaque processus dépend fortement du nombre
- et du type de modules utilisés. La meilleure façon d'en
- déterminer les besoins consiste à générer une charge
- type pour votre site web et à observer l'importance que
+ effet, la plupart des implémentations de cette commande
+ présentent une colonne Mémoire résidente (RSS - Resident
+ Size) et Mémoire partagée (Shared Memory).
+ </p>
+ <p>La différence entre ces deux colonnes est la
+ quantité de mémoire par processus. Le segment de mémoire
+ partagée n'existe effectivement qu'une seule fois, et
+ est utilisé par le code et les bibliothèques chargées et
+ la concurrence inter-processus (ou tableau de résultat -
+ scoreboard) géré par Apache. La quantité de mémoire
+ utilisée par chaque processus dépend fortement du nombre
+ et du type de modules utilisés. La meilleure façon d'en
+ déterminer les besoins consiste à générer une charge
+ type pour votre site web et à observer l'importance que
prennent les processus httpd.
</p>
<p>La RAM pour les programmes externes comprend
- principalement la mémoire utilisée pour les programmes
- CGI et les scripts qui s'exécutent indépendamment des
+ principalement la mémoire utilisée pour les programmes
+ CGI et les scripts qui s'exécutent indépendamment des
processus httpd. Par contre, si vous utilisez une
- machine virtuelle Java qui exécute Tomcat sur le même
- serveur, cette dernière va aussi nécessiter une quantité
- de mémoire significative. En conséquence, la formule
- ci-dessus qui sert à calculer la valeur maximale de
- <code>MaxClients</code> permet d'effectuer une première approche,
+ machine virtuelle Java qui exécute Tomcat sur le même
+ serveur, cette dernière va aussi nécessiter une quantité
+ de mémoire significative. En conséquence, la formule
+ ci-dessus qui sert à calculer la valeur maximale de
+ <code>MaxClients</code> permet d'effectuer une première approche,
mais ne constitue en aucun cas une science exacte. En
cas de doute, soyez pragmatique et utilisez une valeur assez
basse pour <code>MaxClients</code>. Le noyau Linux
- réserve une certaine quantité de mémoire pour la mise en
- cache des accès disque. Sous Solaris par contre, il faut disposer
- de suffisamment de mémoire RAM pour créer un processus,
- et si ce n'est pas le cas, httpd va démarrer avec un
+ réserve une certaine quantité de mémoire pour la mise en
+ cache des accès disque. Sous Solaris par contre, il faut disposer
+ de suffisamment de mémoire RAM pour créer un processus,
+ et si ce n'est pas le cas, httpd va démarrer avec un
message d'erreur du style "No space left on device" dans
- le journal des erreurs, et sera incapable de créer
+ le journal des erreurs, et sera incapable de créer
d'autres processus httpd enfants ; une valeur trop
- élevée pour <code>MaxClients</code> constituera alors
- réellement un désavantage.
+ élevée pour <code>MaxClients</code> constituera alors
+ réellement un désavantage.
</p>
</a></h4>
<p>La commutation entre threads est plus
- aisée pour le système, et ceux-ci consomment moins de
+ aisée pour le système, et ceux-ci consomment moins de
ressources que les processus ; c'est la raison
- principale pour laquelle il est recommandé de choisir un
- MPM threadé. Et
- ceci est encore plus flagrant pour certains systèmes
+ principale pour laquelle il est recommandé de choisir un
+ MPM threadé. Et
+ ceci est encore plus flagrant pour certains systèmes
d'exploitation que pour d'autres. Par exemple, sous
Solaris ou AIX, la manipulation des processus est assez
- lourde en termes de ressources système ; l'utilisation
- d'un MPM threadé est donc tout à fait indiquée pour ces
- systèmes. Sous Linux en revanche, l'implémentation des
+ lourde en termes de ressources système ; l'utilisation
+ d'un MPM threadé est donc tout à fait indiquée pour ces
+ systèmes. Sous Linux en revanche, l'implémentation des
threads utilise en fait un processus par thread. Les
- processus Linux sont assez légers, mais cela signifie qu'un
- MPM threadé présentera ici un gain en performance
- moindre que sous d'autres systèmes.
+ processus Linux sont assez légers, mais cela signifie qu'un
+ MPM threadé présentera ici un gain en performance
+ moindre que sous d'autres systèmes.
</p>
<p>Dans certaines situations cependant, l'utilisation
- d'un MPM threadé peut induire des problèmes de
- stabilité. Par exemple, si un processus enfant du MPM
+ d'un MPM threadé peut induire des problèmes de
+ stabilité. Par exemple, si un processus enfant du MPM
prefork se crashe, au plus une connexion client sera
- affectée ; par contre, si un processus enfant threadé se
+ affectée ; par contre, si un processus enfant threadé se
crashe, ce sont tous les threads de ce processus qui
- vont se crasher à leur tour, ce qui signifie que tous
- les clients qui étaient servis par ce processus verront
- leur connexion interrompue. De plus, certains problèmes
- de sécurité des threads ("thread-safety")
- peuvent apparaître, particulièrement avec les
- bibliothèques tierces. Avec les applications threadées,
- les différents threads peuvent avoir accès aux mêmes
+ vont se crasher à leur tour, ce qui signifie que tous
+ les clients qui étaient servis par ce processus verront
+ leur connexion interrompue. De plus, certains problèmes
+ de sécurité des threads ("thread-safety")
+ peuvent apparaître, particulièrement avec les
+ bibliothèques tierces. Avec les applications threadées,
+ les différents threads peuvent avoir accès aux mêmes
variables sans distinction, sans savoir si une variable
- n'a pas été modifiée par un autre thread.
+ n'a pas été modifiée par un autre thread.
</p>
- <p>Ce problème a fait l'objet d'un point sensible au
- sein de la communauté PHP car Le processeur PHP repose
- fortement sur des bibliothèques tierces, et il n'est pas
- garanti que la totalité d'entre elles soient
+ <p>Ce problème a fait l'objet d'un point sensible au
+ sein de la communauté PHP car Le processeur PHP repose
+ fortement sur des bibliothèques tierces, et il n'est pas
+ garanti que la totalité d'entre elles soient
"thread-safe". Bonne nouvelle cependant : si vous
- exécutez Apache sous Linux, vous pouvez utiliser PHP
+ exécutez Apache sous Linux, vous pouvez utiliser PHP
avec le MPM prefork sans craindre une diminution de
- performance trop importante par rapport à une option
- threadée.
+ performance trop importante par rapport à une option
+ threadée.
</p>
<h4><a name="spinning-locks" id="spinning-locks">Verrous tournants</a></h4>
<p>Apache httpd maintient un verrou inter-processus du
- point de vue de son écoute du réseau. Dans les faits,
- cela signifie qu'un seul processus httpd enfant à la
- fois peut recevoir une requête. Ainsi, soient les autres
- processus en profitent alors pour traiter les requêtes
- qu'ils ont déjà reçues, soient ils attendent de pouvoir
- à leur tour récupérer le verrou et ainsi écouter le
- réseau pour recevoir une nouvelle requête. Ceci peut se
+ point de vue de son écoute du réseau. Dans les faits,
+ cela signifie qu'un seul processus httpd enfant à la
+ fois peut recevoir une requête. Ainsi, soient les autres
+ processus en profitent alors pour traiter les requêtes
+ qu'ils ont déjà reçues, soient ils attendent de pouvoir
+ à leur tour récupérer le verrou et ainsi écouter le
+ réseau pour recevoir une nouvelle requête. Ceci peut se
voir comme une porte tournante par laquelle un seul
- processus peut passer à la fois. Sur un serveur web
- fortement chargé où les requêtes arrivent constamment,
- la porte tourne rapidement et les requêtes sont
- acceptées à un rythme soutenu. Sur un serveur faiblement
- chargé en revanche, le processus qui "détient"
+ processus peut passer à la fois. Sur un serveur web
+ fortement chargé où les requêtes arrivent constamment,
+ la porte tourne rapidement et les requêtes sont
+ acceptées à un rythme soutenu. Sur un serveur faiblement
+ chargé en revanche, le processus qui "détient"
le verrou est suceptible de garder sa porte ouverte un
certain temps durant lequel tous les autres processus
seront inactifs, attendant de pouvoir s'approprier le
verrou. Dans une telle situation, le processus parent
- pourra décider d'arrêter quelques processus enfants en
+ pourra décider d'arrêter quelques processus enfants en
fonction de la valeur de la directive
<code>MaxSpareServers</code>.</p>
<h4><a name="the-thundering-herd" id="the-thundering-herd">L'assaut de la foule
</a></h4>
- <p>La fonction de l'"accept mutex" (c'est le nom donné au
- verrou inter-processus) consiste à gérer la réception
- des requêtes de manière ordonnée. Si ce verrou est
+ <p>La fonction de l'"accept mutex" (c'est le nom donné au
+ verrou inter-processus) consiste à gérer la réception
+ des requêtes de manière ordonnée. Si ce verrou est
absent, le syndrome de l'"assaut de la foule" peut
- apparaître.
+ apparaître.
</p>
- <p>Imaginez une équipe de football américain en attente
+ <p>Imaginez une équipe de football américain en attente
devant la ligne de remise en jeu. Si les joueurs se
comportaient comme des processus Apache, ils se
- précipiteraient tous à la fois pour récupérer la balle au
+ précipiteraient tous à la fois pour récupérer la balle au
signal de la reprise. Un seul d'entre eux y
- parviendrait, et tous les autres n'auraient plus qu'à se
- regrouper à nouveau sur la ligne jusqu'à la reprise
- suivante. Dans cette métaphore, c'est le quaterback qui
- va jouer le rôle d'"accept mutex" en donnant la balle
- au joueur approprié.
- </p>
- <p>La transmission d'une telle quantité d'informations
- représente naturellement beaucoup de travail et, comme
+ parviendrait, et tous les autres n'auraient plus qu'à se
+ regrouper à nouveau sur la ligne jusqu'à la reprise
+ suivante. Dans cette métaphore, c'est le quaterback qui
+ va jouer le rôle d'"accept mutex" en donnant la balle
+ au joueur approprié.
+ </p>
+ <p>La transmission d'une telle quantité d'informations
+ représente naturellement beaucoup de travail et, comme
une personne intelligente, un serveur intelligent
- tentera d'éviter cette surcharge dans la mesure du
- possible, d'où l'idée de la porte tournante. Dans les
- dernières années, de nombreux systèmes d'exploitation,
- comme Linux et Solaris, ont développé du code pour
- éviter le syndrome de l'"assaut de la foule". Apache
- reconnaît ce code, et si vous n'effectuez qu'une seule
- écoute du réseau, autrement dit si vous n'utilisez que
+ tentera d'éviter cette surcharge dans la mesure du
+ possible, d'où l'idée de la porte tournante. Dans les
+ dernières années, de nombreux systèmes d'exploitation,
+ comme Linux et Solaris, ont développé du code pour
+ éviter le syndrome de l'"assaut de la foule". Apache
+ reconnaît ce code, et si vous n'effectuez qu'une seule
+ écoute du réseau, autrement dit si vous n'utilisez que
le serveur principal ou un seul serveur virtuel, Apache
n'utilisera pas d'"accept mutex" ; par contre, si vous
- effectuez plusieurs écoutes du réseau (par exemple si
- un serveur virtuel sert les requêtes SSL), Apache
- utilisera un "accept mutex" afin d'éviter les conflits
+ effectuez plusieurs écoutes du réseau (par exemple si
+ un serveur virtuel sert les requêtes SSL), Apache
+ utilisera un "accept mutex" afin d'éviter les conflits
internes.
</p>
<p>Vous pouvez manipuler l'"accept mutex" via la
- directive <code>AcceptMutex</code>. Cette dernière
+ directive <code>AcceptMutex</code>. Cette dernière
permet en particulier de fermer l'"accept mutex", mais
- aussi de sélectionner le mécanisme de verrouillage. Les
- mécanismes de verrouillage courants comprennent fcntl,
- les sémaphores System V et le verrouillage par threads.
- Tous ne sont pas supportés par toutes les plateformes,
- et leur disponibilité dépend aussi des options de
- compilation. Les différents mécanismes de verrouillage
- peuvent avoir des exigences particulières en matière de
- ressources système ; il est donc recommandé de les
- utiliser avec précautions.
- </p>
- <p>Il n'existe aucune raison particulière pour
- désactiver l'"accept mutex". Apache détermine
+ aussi de sélectionner le mécanisme de verrouillage. Les
+ mécanismes de verrouillage courants comprennent fcntl,
+ les sémaphores System V et le verrouillage par threads.
+ Tous ne sont pas supportés par toutes les plateformes,
+ et leur disponibilité dépend aussi des options de
+ compilation. Les différents mécanismes de verrouillage
+ peuvent avoir des exigences particulières en matière de
+ ressources système ; il est donc recommandé de les
+ utiliser avec précautions.
+ </p>
+ <p>Il n'existe aucune raison particulière pour
+ désactiver l'"accept mutex". Apache détermine
automatiquement s'il doit utiliser ou non mutex sur
- votre plateforme en fonction du nombre d'écoutes réseau
- de votre serveur, comme décrit précédemment.
+ votre plateforme en fonction du nombre d'écoutes réseau
+ de votre serveur, comme décrit précédemment.
</p>
- <h3><a name="tuning-the-operating-system" id="tuning-the-operating-system">Optimisation du système d'exploitation
+ <h3><a name="tuning-the-operating-system" id="tuning-the-operating-system">Optimisation du système d'exploitation
</a></h3>
- <p>Souvent, les utilisateurs recherchent le paramètre magique qui va
- multiplier par quatre les performances de leur système. En
- fait, les systèmes de type Unix actuels sont déjà optimisés
- à l'origine, et il n'y a plus grand chose à faire pour
- améliorer leurs performances. L'administrateur peut
+ <p>Souvent, les utilisateurs recherchent le paramètre magique qui va
+ multiplier par quatre les performances de leur système. En
+ fait, les systèmes de type Unix actuels sont déjà optimisés
+ à l'origine, et il n'y a plus grand chose à faire pour
+ améliorer leurs performances. L'administrateur peut
cependant encore effectuer quelques modifications qui
permettront de peaufiner la configuration.
</p>
<h4><a name="ram-and-swap-space" id="ram-and-swap-space">RAM et swap
</a></h4>
- <p>Le leitmotiv en matière de mémoire est souvent "plus
+ <p>Le leitmotiv en matière de mémoire est souvent "plus
on en a, mieux c'est". En effet, comme nous avons dit
- plus haut, la mémoire inutilisée peut être
- avantageusement utilisée comme cache du système de
+ plus haut, la mémoire inutilisée peut être
+ avantageusement utilisée comme cache du système de
fichiers. Plus vous chargez de modules, plus les processus
Apache grossissent, et ceci d'autant plus si vous
- utilisez des modules qui génèrent des contenus
+ utilisez des modules qui génèrent des contenus
dynamiques comme PHP et mod_perl. Un gros fichier de
configuration - avec de nombreux serveurs virtuels - a
- aussi tendance à augmenter l'empreinte mémoire des
- processus. Une quantité de mémoire importante vous
- permettra d'exécuter Apache avec plus de processus
- enfants, et donc de traiter d'avantage de requêtes
- simultanément.
- </p>
- <p>Même si les différentes plateformes traitent leur
- mémoire virtuelle de différentes manières, il est
- déconseillé de configurer un espace disque de swap
- inférieur à la mémoire RAM. En effet, le système de mémoire
- virtuelle a été conçu de manière à prendre le relai
- lorsque la mémoire RAM fait défaut, et lorsque l'espace
- disque, et donc l'espace de swap vient à manquer, votre
- serveur risque de s'arrêter. Vous devrez alors
- redémarrer physiquement votre serveur, et votre
- hébergeur pourra vous facturer le service.
- </p>
- <p>Evidemment, ce genre problème survient au moment le
- plus défavorable : lorsque le monde vient découvrir votre
- site web et se présente avec insistance à votre porte.
- Si votre espace de swap est suffisant, même si la
- machine sera de plus en plus surchargée et deviendra
- très très lente car le système devra swapper les pages
- entre la mémoire et le disque, lorsque la charge diminuera à
- nouveau, le système reviendra dans son mode de
+ aussi tendance à augmenter l'empreinte mémoire des
+ processus. Une quantité de mémoire importante vous
+ permettra d'exécuter Apache avec plus de processus
+ enfants, et donc de traiter d'avantage de requêtes
+ simultanément.
+ </p>
+ <p>Même si les différentes plateformes traitent leur
+ mémoire virtuelle de différentes manières, il est
+ déconseillé de configurer un espace disque de swap
+ inférieur à la mémoire RAM. En effet, le système de mémoire
+ virtuelle a été conçu de manière à prendre le relai
+ lorsque la mémoire RAM fait défaut, et lorsque l'espace
+ disque, et donc l'espace de swap vient à manquer, votre
+ serveur risque de s'arrêter. Vous devrez alors
+ redémarrer physiquement votre serveur, et votre
+ hébergeur pourra vous facturer le service.
+ </p>
+ <p>Evidemment, ce genre problème survient au moment le
+ plus défavorable : lorsque le monde vient découvrir votre
+ site web et se présente avec insistance à votre porte.
+ Si votre espace de swap est suffisant, même si la
+ machine sera de plus en plus surchargée et deviendra
+ très très lente car le système devra swapper les pages
+ entre la mémoire et le disque, lorsque la charge diminuera à
+ nouveau, le système reviendra dans son mode de
fonctionnement normal. Rappelez-vous que vous disposez
- de la directive <code>MaxClients</code> pour garder le contrôle.
+ de la directive <code>MaxClients</code> pour garder le contrôle.
</p>
- <p>La plupart des systèmes de type Unix utilisent des
- partitions dédiées au swap. Au démarrage du système,
+ <p>La plupart des systèmes de type Unix utilisent des
+ partitions dédiées au swap. Au démarrage du système,
celui-ci enregistre toutes les partitions de swap du ou
des disques en fonction du type de la partition ou du
contenu du fichier <code>/etc/fstab</code> et les
- active de manière automatique. Lorsque vous ajoutez un
- disque, ou lorsque vous installez le système
+ active de manière automatique. Lorsque vous ajoutez un
+ disque, ou lorsque vous installez le système
d'exploitation, assurez-vous d'allouer suffisamment
- d'espace de swap afin de rester en adéquation avec une
- éventuelle augmentation de la mémoire RAM. La
- réallocation d'espace disque sur un système en
- production est en effet pénible et fastidieuse.
- </p>
- <p>Prévoyez un espace de swap de deux fois la taille de
- votre mémoire RAM, et même jusqu'à quatre fois lorsque
- les surcharges peuvent s'avérer fréquentes. Assurez-vous
- de réajuster ces valeurs lorsque vous augmentez la
- quantité de mémoire RAM de votre système. En secours,
+ d'espace de swap afin de rester en adéquation avec une
+ éventuelle augmentation de la mémoire RAM. La
+ réallocation d'espace disque sur un système en
+ production est en effet pénible et fastidieuse.
+ </p>
+ <p>Prévoyez un espace de swap de deux fois la taille de
+ votre mémoire RAM, et même jusqu'à quatre fois lorsque
+ les surcharges peuvent s'avérer fréquentes. Assurez-vous
+ de réajuster ces valeurs lorsque vous augmentez la
+ quantité de mémoire RAM de votre système. En secours,
vous pouvez aussi utilisez un fichier comme espace de
swap. Pour ce faire, vous trouverez les instructions
dans les pages de manuel de <code>mkswap</code> et
<h4><a name="ulimit-files-and-processes" id="ulimit-files-and-processes">ulimit: fichiers et processus
</a></h4>
- <p>Supposons que vous disposiez d'une machine possédant
- une énorme quantité de mémoire RAM et un processeur aux
- performances astronomiques ; vous pourrez alors exécuter
+ <p>Supposons que vous disposiez d'une machine possédant
+ une énorme quantité de mémoire RAM et un processeur aux
+ performances astronomiques ; vous pourrez alors exécuter
des centaines de processus Apache selon vos besoins,
- mais tout en restant en deçà des limites imposées par le
- noyau de votre système.
+ mais tout en restant en deçà des limites imposées par le
+ noyau de votre système.
</p>
- <p>Considérez maintenant une situation où plusieurs
- centaines de serveurs web sont en cours d'exécution ; si
- certains d'entre eux doivent à leur tour lancer des
- processus CGI, le nombre maximum de processus autorisé
+ <p>Considérez maintenant une situation où plusieurs
+ centaines de serveurs web sont en cours d'exécution ; si
+ certains d'entre eux doivent à leur tour lancer des
+ processus CGI, le nombre maximum de processus autorisé
par le noyau sera vite atteint.
</p>
<p>Dans ce cas, vous pouvez modifier cette limite avec
ulimit [-H|-S] -u [nouvelle valeur]
</code></p></div>
- <p>Cette modification doit être effectuée avant le
- démarrage du serveur, car la nouvelle valeur ne sera
+ <p>Cette modification doit être effectuée avant le
+ démarrage du serveur, car la nouvelle valeur ne sera
prise en compte que dans le shell courant et pour les
- programmes lancés depuis ce dernier. Dans les derniers
- noyaux Linux, la valeur par défaut a été fixée à 2048.
- Sous FreeBSD, ce nombre semble être limité à la valeur
- inhabituelle de 513. Dans le shell par défaut de ce
- système, <code>csh</code>, la commande équivalente est
- <code>limit</code> et possède une syntaxe analogue à
+ programmes lancés depuis ce dernier. Dans les derniers
+ noyaux Linux, la valeur par défaut a été fixée à 2048.
+ Sous FreeBSD, ce nombre semble être limité à la valeur
+ inhabituelle de 513. Dans le shell par défaut de ce
+ système, <code>csh</code>, la commande équivalente est
+ <code>limit</code> et possède une syntaxe analogue à
celle de la commande de style Bourne <code>ulimit</code> :
</p>
</code></p></div>
<p>En outre, le noyau peut limiter le nombre de fichiers
- ouverts par processus. Ce n'est généralement pas un
- problème pour les serveurs dont les processus sont lancés
- à l'avance, et où chacun de ceux-ci ne traite qu'une
- requête à la fois. Les processus des serveurs threadés,
- quant à eux, traitent plusieurs requêtes simultanément,
- et sont d'avantage susceptibles de dépasser la limite du
+ ouverts par processus. Ce n'est généralement pas un
+ problème pour les serveurs dont les processus sont lancés
+ à l'avance, et où chacun de ceux-ci ne traite qu'une
+ requête à la fois. Les processus des serveurs threadés,
+ quant à eux, traitent plusieurs requêtes simultanément,
+ et sont d'avantage susceptibles de dépasser la limite du
nombre de descripteurs de fichiers. Vous pouvez alors
augmenter cette valeur limite du nombre de fichiers
ouverts avec la commande :
<div class="example"><p><code>ulimit -n [newvalue]
</code></p></div>
- <p>Là encore, cette modification doit être effectuée
- avant le démarrage du serveur Apache.
+ <p>Là encore, cette modification doit être effectuée
+ avant le démarrage du serveur Apache.
</p>
- <h4><a name="setting-user-limits-on-system-startup" id="setting-user-limits-on-system-startup">Définition des limites en fonction de l'utilisateur ou du
- groupe au démarrage du système
+ <h4><a name="setting-user-limits-on-system-startup" id="setting-user-limits-on-system-startup">Définition des limites en fonction de l'utilisateur ou du
+ groupe au démarrage du système
</a></h4>
- <p>Sous Linux, vous pouvez définir les paramètres de
- ulimit au démarrage en éditant le fichier
+ <p>Sous Linux, vous pouvez définir les paramètres de
+ ulimit au démarrage en éditant le fichier
<code>/etc/security/limits.conf</code>. Ce fichier vous
- permet de définir des limites "soft" et "hard"
+ permet de définir des limites "soft" et "hard"
en fonction de l'utilisateur ou du groupe ;
vous y trouverez aussi des commentaires explicatifs des
- différentes options. Pour que ce fichier soit pris en
+ différentes options. Pour que ce fichier soit pris en
compte, le fichier <code>/etc/pam.d/login</code> doit
contenir la ligne :
</p>
<div class="example"><p><code>session required /lib/security/pam_limits.so
</code></p></div>
- <p>Chaque item peut posséder une valeur "soft" et
- "hard" : la première est la valeur
- par défaut, et la seconde la valeur maximale de cet
+ <p>Chaque item peut posséder une valeur "soft" et
+ "hard" : la première est la valeur
+ par défaut, et la seconde la valeur maximale de cet
item.
</p>
<p>Dans le fichier <code>/etc/login.conf</code> de
- FreeBSD, ces valeurs peuvent être limitées ou étendues à
- tout le système de manière analogue au fichier
+ FreeBSD, ces valeurs peuvent être limitées ou étendues à
+ tout le système de manière analogue au fichier
<code>limits.conf</code>. Les limites "soft" sont
- spécifiées via le paramètre <code>-cur</code>, et les
- limites "hard" via le paramètre <code>-max</code>.
+ spécifiées via le paramètre <code>-cur</code>, et les
+ limites "hard" via le paramètre <code>-max</code>.
</p>
- <p>Solaris possède un mécanisme similaire pour manipuler
- les valeurs limites au démarrage du système : dans le
- fichier <code>/etc/system</code>, vous pouvez définir au
- démarrage des paramètres du noyau valables pour
- l'ensemble du système. Ce sont les mêmes paramètres que
- ceux définis à l'exécution par le débogueur de noyau
- <code>mdb</code>. Les commandes équivalentes à ulimit -u
- pour définir les limites hard et soft seront du style :
+ <p>Solaris possède un mécanisme similaire pour manipuler
+ les valeurs limites au démarrage du système : dans le
+ fichier <code>/etc/system</code>, vous pouvez définir au
+ démarrage des paramètres du noyau valables pour
+ l'ensemble du système. Ce sont les mêmes paramètres que
+ ceux définis à l'exécution par le débogueur de noyau
+ <code>mdb</code>. Les commandes équivalentes à ulimit -u
+ pour définir les limites hard et soft seront du style :
</p>
<div class="example"><p><code>
</code></p></div>
<p>Solaris calcule le nombre maximal de processus
- autorisé par utilisateur (<code>maxuprc</code>) en
- fonction de la mémoire système disponible
+ autorisé par utilisateur (<code>maxuprc</code>) en
+ fonction de la mémoire système disponible
(<code>maxusers</code>). Vous pouvez obtenir ces valeurs
avec la commande :
</p>
<div class="example"><p><code>sysdef -i | grep maximum
</code></p></div>
- <p>Il est cependant déconseillé de les modifier.
+ <p>Il est cependant déconseillé de les modifier.
</p>
- <h4><a name="turn-off-unused-services-and-modules" id="turn-off-unused-services-and-modules">Désactiver les services et modules non utilisés
+ <h4><a name="turn-off-unused-services-and-modules" id="turn-off-unused-services-and-modules">Désactiver les services et modules non utilisés
</a></h4>
<p>Dans la plupart des distributions Unix et Linux, de
- nombreux services sont activés par défaut, et vous n'
- avez probablement besoin que d'une minorité d'entre eux.
+ nombreux services sont activés par défaut, et vous n'
+ avez probablement besoin que d'une minorité d'entre eux.
Par exemple, votre serveur web n'a pas besoin de
- sendmail, de fournir le service NFS, etc... Désactivez
+ sendmail, de fournir le service NFS, etc... Désactivez
les tout simplement.
</p>
<p>Pour ce faire, sous RedHat Linux, vous
disposez de l'utilitaire chkconfig en ligne de commande.
Sous Solaris, les commandes <code>svcs</code> et
<code>svcadm</code> vous permettent respectivement
- de lister les services activés et de désactiver ceux
+ de lister les services activés et de désactiver ceux
dont vous n'avez pas besoin.
</p>
- <p>Vous devez aussi prêter attention aux modules Apache
- chargés par défaut. La plupart des distributions binaires
- d'Apache httpd et des versions préinstallées fournies
+ <p>Vous devez aussi prêter attention aux modules Apache
+ chargés par défaut. La plupart des distributions binaires
+ d'Apache httpd et des versions préinstallées fournies
avec les distributions de Linux chargent les modules
Apache via la directive
<code class="directive">LoadModule</code>.
</p>
- <p>Les modules inutilisés peuvent être désactivés : si
- vous n'avez pas besoin de leurs fonctionnalités et des
- directives de configuration qu'ils implémentent,
- désactivez-les en commentant les lignes
+ <p>Les modules inutilisés peuvent être désactivés : si
+ vous n'avez pas besoin de leurs fonctionnalités et des
+ directives de configuration qu'ils implémentent,
+ désactivez-les en commentant les lignes
<code class="directive">LoadModule</code> correspondantes. Vous
- devez cependant lire la documentation relative à ces
- modules avant de les désactiver, et garder à l'esprit que
- la désactivation d'un module très peu gourmand en
- ressources n'est pas absolument nécessaire.
+ devez cependant lire la documentation relative à ces
+ modules avant de les désactiver, et garder à l'esprit que
+ la désactivation d'un module très peu gourmand en
+ ressources n'est pas absolument nécessaire.
</p>
<h2><a name="caching-content" id="caching-content">Mise en cache des contenus
</a><a title="Lien permanent" href="#caching-content" class="permalink">¶</a></h2>
- <p>Les requêtes impliquant des contenus dynamiques nécessitent
- en général d'avantage de ressources que les
- requêtes pour des contenus statiques. Les contenus statiques
+ <p>Les requêtes impliquant des contenus dynamiques nécessitent
+ en général d'avantage de ressources que les
+ requêtes pour des contenus statiques. Les contenus statiques
consistent en simples pages issues de documents ou images
- sur disque, et sont servis très rapidement. En outre, de
- nombreux systèmes d'exploitation mettent automatiquement en
- cache en mémoire les contenus des fichiers fréquemment accédés.
+ sur disque, et sont servis très rapidement. En outre, de
+ nombreux systèmes d'exploitation mettent automatiquement en
+ cache en mémoire les contenus des fichiers fréquemment accédés.
</p>
- <p>Comme indiqué précédemment, le traitement des requêtes dynamiques peut
- nécessiter beaucoup plus de ressources. L'exécution de scripts
- CGI, le transfert de requêtes à un serveur d'applications
- externe, ou les accès à une base de données peuvent impliquer
+ <p>Comme indiqué précédemment, le traitement des requêtes dynamiques peut
+ nécessiter beaucoup plus de ressources. L'exécution de scripts
+ CGI, le transfert de requêtes à un serveur d'applications
+ externe, ou les accès à une base de données peuvent impliquer
des temps d'attente et charges de travail significatifs pour un
- serveur web fortement sollicité. Dans de nombreuses
- circonstances, vous pourrez alors améliorer les performances en
- transformant les requêtes dynamiques courantes en requêtes
- statiques. Pour ce faire, deux approches seront discutées dans
+ serveur web fortement sollicité. Dans de nombreuses
+ circonstances, vous pourrez alors améliorer les performances en
+ transformant les requêtes dynamiques courantes en requêtes
+ statiques. Pour ce faire, deux approches seront discutées dans
la suite de cette section.
</p>
statiques
</a></h3>
- <p>En générant à l'avance les réponses pour les requêtes les
- plus courantes de votre application, vous pouvez améliorer
- de manière significative les performances de votre serveur
- sans abandonner la flexibilité des contenus générés
+ <p>En générant à l'avance les réponses pour les requêtes les
+ plus courantes de votre application, vous pouvez améliorer
+ de manière significative les performances de votre serveur
+ sans abandonner la flexibilité des contenus générés
dynamiquement. Par exemple, si votre application est un
- service de livraison de fleurs, vous aurez tout intérêt à
- générer à l'avance les pages de votre catalogue concernant
- les roses rouges dans les semaines précédant le jour de la
+ service de livraison de fleurs, vous aurez tout intérêt à
+ générer à l'avance les pages de votre catalogue concernant
+ les roses rouges dans les semaines précédant le jour de la
Saint Valentin. Lorsqu'un utilisateur cherchera des roses
- rouges, il téléchargera alors les pages générées à
+ rouges, il téléchargera alors les pages générées à
l'avance. Par contre, les recherches de roses jaunes seront
- quant à elles traitées directement via une requête vers la
- base de données. Pour effectuer ces aiguillages de requêtes,
- vous disposez d'un outil particulièrement approprié fourni
+ quant à elles traitées directement via une requête vers la
+ base de données. Pour effectuer ces aiguillages de requêtes,
+ vous disposez d'un outil particulièrement approprié fourni
avec Apache : le module mod_rewrite.
</p>
<p>Blosxom est un programme CGI de journalisation web
- léger. Il est écrit en Perl et utilise des fichiers
- texte pour ses entrées. Outre sa qualité de programme
- CGI, Blosxom peut être exécuté en ligne de commande pour
- générer à l'avance des pages de blog. Lorsque votre blog
- commence à être lu par un grand nombre de personnes, la
- génération à l'avance de pages en HTML satique peut
- améliorer de manière significative les performances de
+ léger. Il est écrit en Perl et utilise des fichiers
+ texte pour ses entrées. Outre sa qualité de programme
+ CGI, Blosxom peut être exécuté en ligne de commande pour
+ générer à l'avance des pages de blog. Lorsque votre blog
+ commence à être lu par un grand nombre de personnes, la
+ génération à l'avance de pages en HTML satique peut
+ améliorer de manière significative les performances de
votre serveur.
</p>
- <p>Pour générer des pages statiques avec blosxom, éditez
- le script CGI selon la documentation. Définissez la
- variable $static dir à la valeur de
+ <p>Pour générer des pages statiques avec blosxom, éditez
+ le script CGI selon la documentation. Définissez la
+ variable $static dir à la valeur de
<code class="directive">DocumentRoot</code> de votre serveur
- web, et exécutez le script en ligne de commande comme
+ web, et exécutez le script en ligne de commande comme
suit :
</p>
<div class="example"><p><code>$ perl blosxom.cgi -password='whateveryourpassword'
</code></p></div>
- <p>Vous pouvez exécuter ce script périodiquement via
- cron, à chaque fois que vous ajoutez un nouveau contenu. Pour
+ <p>Vous pouvez exécuter ce script périodiquement via
+ cron, à chaque fois que vous ajoutez un nouveau contenu. Pour
faire en sorte qu'Apache substitue les pages
statiques au contenu dynamique, nous
utiliserons mod_rewrite. Ce module est fourni avec le
- code source d'Apache, mais n'est pas compilé par défaut.
+ code source d'Apache, mais n'est pas compilé par défaut.
Pour le compiler avec la distribution d'Apache, vous
pouvez utiliser l'option de la commande configure
<code>--enable-rewrite[=shared]</code>. De nombreuses
distributions binaires d'Apache sont fournies avec
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> inclus. Dans l'exemple
suivant, un serveur virtuel Apache utilise les pages de
- blog générées à l'avance :
+ blog générées à l'avance :
</p>
<pre class="prettyprint lang-config">Listen *:8001
<p>
Si les directives <code class="directive">RewriteCond</code>
- indiquent que la ressource demandée n'existe ni en tant que
- fichier, ni en tant que répertoire, son
- chemin sera redirigé par la directive
+ indiquent que la ressource demandée n'existe ni en tant que
+ fichier, ni en tant que répertoire, son
+ chemin sera redirigé par la directive
<code class="directive">RewriteRule</code> vers le programme
- CGI Blosxom qui va générer la réponse. Blosxom
- utilise Path Info pour spécifier les entrées de blog
+ CGI Blosxom qui va générer la réponse. Blosxom
+ utilise Path Info pour spécifier les entrées de blog
en tant que pages d'index, et si un chemin dans
- Blosxom existe en tant que fichier statique dans le système de
- fichiers, c'est ce dernier qui sera par conséquent privilégié.
- Toute requête dont la réponse n'a pas été générée à
- l'avance sera traitée par le programme CGI. Cela
- signifie que les entrées individuelles comme les
+ Blosxom existe en tant que fichier statique dans le système de
+ fichiers, c'est ce dernier qui sera par conséquent privilégié.
+ Toute requête dont la réponse n'a pas été générée à
+ l'avance sera traitée par le programme CGI. Cela
+ signifie que les entrées individuelles comme les
commentaires seront toujours servies par le
programme CGI, et seront donc toujours visibles.
Cette configuration permet aussi de ne pas faire
- apparaître le programme CGI Blosxom dans l'URL de la barre
- d'adresse. Enfin, mod_rewrite est un module extrêmement
+ apparaître le programme CGI Blosxom dans l'URL de la barre
+ d'adresse. Enfin, mod_rewrite est un module extrêmement
souple et puissant ; prenez le temps de bien
- l'étudier afin de parvenir à la configuration qui
- correspondra le mieux à votre situation.
+ l'étudier afin de parvenir à la configuration qui
+ correspondra le mieux à votre situation.
</p>
<h3><a name="caching-content-with-mod_cache" id="caching-content-with-mod_cache">Mise en cache du contenu avec mod_cache
</a></h3>
- <p>Le module mod_cache implémente une mise en cache
- intelligente des réponses HTTP : il tient compte des délais
- de péremption et des contraintes en matière de contenu
- inhérentes à la spécification HTTP. Le module mod_cache met
- en cache les URL des contenus des réponses. Si un contenu envoyé au
- client peut être mis en cache, il est sauvegardé sur disque.
- Les requêtes ultérieures pour cette URL seront alors servies
+ <p>Le module mod_cache implémente une mise en cache
+ intelligente des réponses HTTP : il tient compte des délais
+ de péremption et des contraintes en matière de contenu
+ inhérentes à la spécification HTTP. Le module mod_cache met
+ en cache les URL des contenus des réponses. Si un contenu envoyé au
+ client peut être mis en cache, il est sauvegardé sur disque.
+ Les requêtes ultérieures pour cette URL seront alors servies
directement depuis le cache. Le module fournisseur pour
- mod_cache, mod_disk_cache, détermine la manière dont les
- contenus sont stockés sur disque. La plupart des systèmes de
- serveur possèdent plus d'espace disque que de mémoire, et il
- est bon de garder à l'esprit que certains noyaux système mettent en
- cache de manière transparente en mémoire les contenus sur
- disque fréquemment accédés ; il n'est donc pas très utile de
- répéter cette opération au niveau du serveur.
+ mod_cache, mod_disk_cache, détermine la manière dont les
+ contenus sont stockés sur disque. La plupart des systèmes de
+ serveur possèdent plus d'espace disque que de mémoire, et il
+ est bon de garder à l'esprit que certains noyaux système mettent en
+ cache de manière transparente en mémoire les contenus sur
+ disque fréquemment accédés ; il n'est donc pas très utile de
+ répéter cette opération au niveau du serveur.
</p>
<p>Pour mettre en oeuvre une mise en cache de contenu
- efficace et éviter de présenter à l'utilisateur un contenu
- invalide ou périmé, l'application qui génère le contenu à
- jour doit envoyer les en-têtes de réponse corrects. En
- effet, en l'absence d'en-têtes comme <code>Etag:</code>,
+ efficace et éviter de présenter à l'utilisateur un contenu
+ invalide ou périmé, l'application qui génère le contenu à
+ jour doit envoyer les en-têtes de réponse corrects. En
+ effet, en l'absence d'en-têtes comme <code>Etag:</code>,
<code>Last-Modified:</code> ou <code>Expires:</code>,
- <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> ne sera pas en mesure de décider
- de manière appropriée
+ <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> ne sera pas en mesure de décider
+ de manière appropriée
s'il doit mettre le contenu en cache, s'il doit le servir
directement depuis ce dernier, ou s'il doit tout simplement
ne rien faire. Lorsque vous testerez la mise en cache, vous
- devrez peut-être modifier votre application ou, en cas
- d'impossibilité, désactiver de manière sélective la mise en
- cache des URLs qui posent problème. Les modules mod_cache ne
- sont pas compilés par défaut ; pour ce faire, vous devez
+ devrez peut-être modifier votre application ou, en cas
+ d'impossibilité, désactiver de manière sélective la mise en
+ cache des URLs qui posent problème. Les modules mod_cache ne
+ sont pas compilés par défaut ; pour ce faire, vous devez
utiliser l'option <code>--enable-cache[=shared]</code> du
script configure. Si vous utilisez une distribution binaire
d'Apache httpd, ou si elle fait partie de votre portage ou
- de votre sélection de paquets, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
- sera probablement déjà inclus.
+ de votre sélection de paquets, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
+ sera probablement déjà inclus.
</p>
<p>
Le Wiki de l'Apache Software Foundation est servi
- par MoinMoin. MoinMoin est écrit en Python et
- s'exécute en tant que programme CGI. A l'heure
- actuelle, toute tentative pour l'exécuter via
- mod_python s'est soldée par un échec. Le programme
+ par MoinMoin. MoinMoin est écrit en Python et
+ s'exécute en tant que programme CGI. A l'heure
+ actuelle, toute tentative pour l'exécuter via
+ mod_python s'est soldée par un échec. Le programme
CGI induit une charge inacceptable sur le serveur,
- particulièrement lorsque le Wiki est indexé par des
- moteurs de recherche comme Google. Pour alléger la
- charge de la machine, l'équipe d'infrastructure
- d'Apache s'est tournée vers mod_cache. Il s'est
- avéré que <a href="/httpd/MoinMoin">MoinMoin</a>
- nécessitait un petit patch pour adopter un
- comportement approprié en aval du serveur de mise
- en cache : certaines requêtes ne pouvaient jamais
- être mises en cache, et les modules Python
- concernés ont été mis à jour pour pouvoir envoyer
- les en-têtes de réponse HTTP corrects. Après cette
+ particulièrement lorsque le Wiki est indexé par des
+ moteurs de recherche comme Google. Pour alléger la
+ charge de la machine, l'équipe d'infrastructure
+ d'Apache s'est tournée vers mod_cache. Il s'est
+ avéré que <a href="/httpd/MoinMoin">MoinMoin</a>
+ nécessitait un petit patch pour adopter un
+ comportement approprié en aval du serveur de mise
+ en cache : certaines requêtes ne pouvaient jamais
+ être mises en cache, et les modules Python
+ concernés ont été mis à jour pour pouvoir envoyer
+ les en-têtes de réponse HTTP corrects. Après cette
modification, la mise en cache en amont du Wiki a
- été activée via l'insertion des lignes suivantes
+ été activée via l'insertion des lignes suivantes
dans le fichier de configuration
<code>httpd.conf</code> :
</p>
<pre class="prettyprint lang-config">CacheRoot /raid1/cacheroot
CacheEnable disk /
-# Une page modifiée il y a 100 minutes expirera dans 10 minutes
+# Une page modifiée il y a 100 minutes expirera dans 10 minutes
CacheLastModifiedFactor .1
-# Dans tous les cas, vérifier la validité des pages après 6 heures
+# Dans tous les cas, vérifier la validité des pages après 6 heures
CacheMaxExpire 21600</pre>
contenu de son serveur virtuel. Elle ne mettra jamais en
cache un contenu plus vieux que 6 heures (voir la
directive <code class="directive"><a href="../mod/mod_cache.html#cachemaxexpire">CacheMaxExpire</a></code>). Si
- l'en-tête <code>Expires:</code> est absent de la
- réponse, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> va calculer une date
- d'expiration en fonction du contenu de l'en-tête
+ l'en-tête <code>Expires:</code> est absent de la
+ réponse, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> va calculer une date
+ d'expiration en fonction du contenu de l'en-tête
<code>Last-Modified:</code>. Le principe de ce calcul
qui utilise la directive <code class="directive"><a href="../mod/mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor</a></code>
- se base sur l'hypothèse que si une page a été modifiée
- récemment, il y a de fortes chances pour qu'elle le soit
- à nouveau dans un futur proche et devra donc être remise
+ se base sur l'hypothèse que si une page a été modifiée
+ récemment, il y a de fortes chances pour qu'elle le soit
+ à nouveau dans un futur proche et devra donc être remise
en cache.
</p>
<p>
- Notez qu'il peut s'avérer payant de
- <em>désactiver</em> l'en-tête <code>ETag:</code> :
- pour les fichiers inférieurs à 1 ko, le serveur
- doit calculer la somme de vérification checksum (en
- général MD5) et envoyer une réponse <code>304 Not
+ Notez qu'il peut s'avérer payant de
+ <em>désactiver</em> l'en-tête <code>ETag:</code> :
+ pour les fichiers inférieurs à 1 ko, le serveur
+ doit calculer la somme de vérification checksum (en
+ général MD5) et envoyer une réponse <code>304 Not
Modified</code>, ce qui utilise des ressources CPU
- et réseau pour le transfert (1 paquet TCP). Pour les
- ressources supérieures à 1 ko, les ressources CPU
- consommées peuvent devenir importantes car l'en-tête
- est calculé à chaque requête. Malheureusement, il
+ et réseau pour le transfert (1 paquet TCP). Pour les
+ ressources supérieures à 1 ko, les ressources CPU
+ consommées peuvent devenir importantes car l'en-tête
+ est calculé à chaque requête. Malheureusement, il
n'existe actuellement aucun moyen pour mettre en
- cache ces en-têtes.
+ cache ces en-têtes.
</p>
<pre class="prettyprint lang-config"><FilesMatch "\.(jpe?g|png|gif|js|css|x?html|xml)">
FileETag None
<p>
- Dans l'exemple précédent: la génération d'un en-tête
- <code>ETag:</code> sera désactivée pour la plupart
- des ressources statiques. Le serveur ne génère pas
- ces en-têtes pour les ressources dynamiques.
+ Dans l'exemple précédent: la génération d'un en-tête
+ <code>ETag:</code> sera désactivée pour la plupart
+ des ressources statiques. Le serveur ne génère pas
+ ces en-têtes pour les ressources dynamiques.
</p>
<h2><a name="further-considerations" id="further-considerations">Pour aller plus loin
</a><a title="Lien permanent" href="#further-considerations" class="permalink">¶</a></h2>
- <p>Armés du savoir-faire pour personnaliser un système afin
- qu'il affiche les performances désirées, nous découvrirons vite
- qu'<em>1</em> sytème à lui seul peut constituer un goulot
- d'étranglement. A ce sujet, la page du Wiki <a href="http://wiki.apache.org/httpd/PerformanceScalingOut">PerformanceScalingOut</a>
- décrit comment adapter un système à mesure qu'il prend de
- l'ampleur, ou comment personnaliser plusieurs systèmes dans leur
+ <p>Armés du savoir-faire pour personnaliser un système afin
+ qu'il affiche les performances désirées, nous découvrirons vite
+ qu'<em>1</em> sytème à lui seul peut constituer un goulot
+ d'étranglement. A ce sujet, la page du Wiki <a href="http://wiki.apache.org/httpd/PerformanceScalingOut">PerformanceScalingOut</a>
+ décrit comment adapter un système à mesure qu'il prend de
+ l'ampleur, ou comment personnaliser plusieurs systèmes dans leur
ensemble.
</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/misc/perf-scaling.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/misc/perf-scaling.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/misc/perf-scaling.html" title="Français"> fr </a></p>
+<a href="../es/misc/perf-scaling.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/misc/perf-scaling.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Documentations diverses</a></div><div id="page-content"><div id="preamble"><h1>Optimisation des performances d'Apache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/misc/perf-tuning.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/misc/perf-tuning.html" title="Français"> fr </a> |
+<a href="../fr/misc/perf-tuning.html" title="Français"> fr </a> |
<a href="../ko/misc/perf-tuning.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/misc/perf-tuning.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/misc/perf-tuning.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
<div class="warning"><h3>Avertissement</h3>
- <p>Ce document est en partie obsolète et son contenu peut s'avérer
- inapproprié.</p>
+ <p>Ce document est en partie obsolète et son contenu peut s'avérer
+ inapproprié.</p>
</div>
- <p>Apache 2.4 est un serveur web à usage général, conçu dans un but
- d'équilibre entre souplesse, portabilité et performances. Bien que non
- conçu dans le seul but d'établir une référence en la matière,
+ <p>Apache 2.4 est un serveur web à usage général, conçu dans un but
+ d'équilibre entre souplesse, portabilité et performances. Bien que non
+ conçu dans le seul but d'établir une référence en la matière,
Apache 2.4 est capable de hautes performances dans de nombreuses situations
- du monde réel.</p>
+ du monde réel.</p>
<p>Ce
- document décrit les options qu'un administrateur de serveur peut configurer
- pour améliorer les performances d'une installation d'Apache 2.4. Certaines
- de ces options de configuration permettent au démon httpd de mieux tirer
- parti des possibilités du matériel et du système d'exploitation, tandis
- que d'autres permettent à l'administrateur de privilégier la vitesse
- par rapport aux fonctionnalités.</p>
+ document décrit les options qu'un administrateur de serveur peut configurer
+ pour améliorer les performances d'une installation d'Apache 2.4. Certaines
+ de ces options de configuration permettent au démon httpd de mieux tirer
+ parti des possibilités du matériel et du système d'exploitation, tandis
+ que d'autres permettent à l'administrateur de privilégier la vitesse
+ par rapport aux fonctionnalités.</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#hardware">Problèmes matériels et relatifs au système d'exploitation</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#runtime">Optimisation de la configuration à l'exécution</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#compiletime">Optimisation de la configuration à la compilation</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#trace">Appendice : Analyse détaillée d'une trace</a></li>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#hardware">Problèmes matériels et relatifs au système d'exploitation</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#runtime">Optimisation de la configuration à l'exécution</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#compiletime">Optimisation de la configuration à la compilation</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#trace">Appendice : Analyse détaillée d'une trace</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="hardware" id="hardware">Problèmes matériels et relatifs au système d'exploitation</a><a title="Lien permanent" href="#hardware" class="permalink">¶</a></h2>
+<h2><a name="hardware" id="hardware">Problèmes matériels et relatifs au système d'exploitation</a><a title="Lien permanent" href="#hardware" class="permalink">¶</a></h2>
- <p>Le principal problème matériel qui affecte les performances du serveur
- web est la mémoire vive (RAM). Un serveur web ne devrait jamais avoir à
- utiliser le swap, car le swapping augmente le temps de réponse de chaque
- requête au delà du point que les utilisateurs considèrent comme
- "trop lent". Ceci incite les utilisateurs à cliquer sur "Stop", puis
- "Charger à nouveau", ce qui a pour effet d'augmenter encore la charge
- du serveur. Vous pouvez, et même devez définir la valeur de la directive
- <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> de façon à ce que
+ <p>Le principal problème matériel qui affecte les performances du serveur
+ web est la mémoire vive (RAM). Un serveur web ne devrait jamais avoir à
+ utiliser le swap, car le swapping augmente le temps de réponse de chaque
+ requête au delà du point que les utilisateurs considèrent comme
+ "trop lent". Ceci incite les utilisateurs à cliquer sur "Stop", puis
+ "Charger à nouveau", ce qui a pour effet d'augmenter encore la charge
+ du serveur. Vous pouvez, et même devez définir la valeur de la directive
+ <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> de façon à ce que
votre serveur ne lance pas un nombre de processus enfants tel qu'il
- commence à faire du swapping. La méthode pour y parvenir est
- simple : déterminez la taille de votre processus Apache standard en
- consultant votre liste de processus à l'aide d'un outil tel que
- <code>top</code>, et divisez votre quantité totale de mémoire disponible
+ commence à faire du swapping. La méthode pour y parvenir est
+ simple : déterminez la taille de votre processus Apache standard en
+ consultant votre liste de processus à l'aide d'un outil tel que
+ <code>top</code>, et divisez votre quantité totale de mémoire disponible
par cette taille, tout en gardant un espace suffisant
pour les autres processus.</p>
- <p>Hormis ce réglage relatif à la mémoire, le reste est trivial : le
- processeur, la carte réseau et les disques doivent être suffisamment
- rapides, où "suffisamment rapide" doit être déterminé par
- l'expérience.</p>
+ <p>Hormis ce réglage relatif à la mémoire, le reste est trivial : le
+ processeur, la carte réseau et les disques doivent être suffisamment
+ rapides, où "suffisamment rapide" doit être déterminé par
+ l'expérience.</p>
- <p>Le choix du système d'exploitation dépend principalement du
+ <p>Le choix du système d'exploitation dépend principalement du
contexte local. Voici cependant quelques conseils qui se sont
- généralement avérés utiles :</p>
+ généralement avérés utiles :</p>
<ul>
<li>
- <p>Exécutez la dernière version stable et le niveau de patches le
- plus haut du système d'exploitation que vous avez choisi. De nombreux
- éditeurs de systèmes d'exploitation ont amélioré de manière
+ <p>Exécutez la dernière version stable et le niveau de patches le
+ plus haut du système d'exploitation que vous avez choisi. De nombreux
+ éditeurs de systèmes d'exploitation ont amélioré de manière
significative les performances de leurs piles TCP et de leurs
- bibliothèques de thread ces dernières années.</p>
+ bibliothèques de thread ces dernières années.</p>
</li>
<li>
- <p>Si votre système d'exploitation possède un appel système
- <code>sendfile(2)</code>, assurez-vous d'avoir installé la version
- et/ou les patches nécessaires à son activation. (Pour Linux, par
+ <p>Si votre système d'exploitation possède un appel système
+ <code>sendfile(2)</code>, assurez-vous d'avoir installé la version
+ et/ou les patches nécessaires à son activation. (Pour Linux, par
exemple, cela se traduit par Linux 2.4 ou plus. Pour les versions
- anciennes de Solaris 8, vous pouvez être amené à appliquer un patch.)
- Sur les systèmes où il est disponible, <code>sendfile</code> permet
- à Apache de servir les contenus statiques plus rapidement, tout en
- induisant une charge CPU inférieure.</p>
+ anciennes de Solaris 8, vous pouvez être amené à appliquer un patch.)
+ Sur les systèmes où il est disponible, <code>sendfile</code> permet
+ à Apache de servir les contenus statiques plus rapidement, tout en
+ induisant une charge CPU inférieure.</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="runtime" id="runtime">Optimisation de la configuration à l'exécution</a><a title="Lien permanent" href="#runtime" class="permalink">¶</a></h2>
+<h2><a name="runtime" id="runtime">Optimisation de la configuration à l'exécution</a><a title="Lien permanent" href="#runtime" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code></li><li><code class="module"><a href="../mod/mpm_common.html">mpm_common</a></code></li><li><code class="module"><a href="../mod/mod_status.html">mod_status</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li><li><code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code></li><li><code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code></li><li><code class="directive"><a href="../mod/core.html#enablemmap">EnableMMAP</a></code></li><li><code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code></li><li><code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code></li><li><code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code></li><li><code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code></li><li><code class="module"><a href="../mod/mpm_common.html">mpm_common</a></code></li><li><code class="module"><a href="../mod/mod_status.html">mod_status</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li><li><code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code></li><li><code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code></li><li><code class="directive"><a href="../mod/core.html#enablemmap">EnableMMAP</a></code></li><li><code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code></li><li><code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code></li><li><code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code></li><li><code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li></ul></td></tr></table>
- <h3><a name="dns" id="dns">HostnameLookups et autres considérations à propos du DNS</a></h3>
+ <h3><a name="dns" id="dns">HostnameLookups et autres considérations à propos du DNS</a></h3>
<p>Avant Apache 1.3, la directive
- <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> était positionnée
- par défaut à <code>On</code>, ce qui impliquait une recherche DNS et donc un temps d'attente
- supplémentaire pour chaque requête. Avec Apache 2.4, <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> est positionnée par défaut à
+ <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> était positionnée
+ par défaut à <code>On</code>, ce qui impliquait une recherche DNS et donc un temps d'attente
+ supplémentaire pour chaque requête. Avec Apache 2.4, <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> est positionnée par défaut à
<code>Off</code>. Si vous avez besoin de convertir des adresses IP en noms
- d'hôtes dans vos fichiers journaux, il est préférable d'effectuer un
- traitement à postériori plutôt que de forcer Apache à le faire en temps
- réel. Il est recommandé d'effectuer ce genre de traitement a posteriori
- de vos fichiers journaux sur une autre machine que celle qui héberge le
- serveur web en production, afin que cette activité n'affecte pas les
+ d'hôtes dans vos fichiers journaux, il est préférable d'effectuer un
+ traitement à postériori plutôt que de forcer Apache à le faire en temps
+ réel. Il est recommandé d'effectuer ce genre de traitement a posteriori
+ de vos fichiers journaux sur une autre machine que celle qui héberge le
+ serveur web en production, afin que cette activité n'affecte pas les
performances du serveur.</p>
<p>Si vous utilisez une directive
<code><code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>from domain</code>
ou
<code><code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> from domain</code>
- (ce qui signifie que vous utilisez un nom d'hôte ou un nom de domaine à
+ (ce qui signifie que vous utilisez un nom d'hôte ou un nom de domaine à
la place d'une adresse IP), vous devrez compter avec deux recherches
DNS (une recherche inverse suivie d'une recherche directe pour
- s'assurer que l'adresse IP n'a pas été usurpée). C'est pourquoi il est
- préférable, pour améliorer les performances, et chaque fois que c'est
- possible, d'utiliser des adresses IP plutôt que des noms de domaines.</p>
+ s'assurer que l'adresse IP n'a pas été usurpée). C'est pourquoi il est
+ préférable, pour améliorer les performances, et chaque fois que c'est
+ possible, d'utiliser des adresses IP plutôt que des noms de domaines.</p>
<div class="warning"><h3>Avertissement :</h3>
<p>Veuillez utiliser la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> avec Apache 2.4 ; pour plus de
- détails, reportez-vous au <a href="../upgrading.html">guide de mise à
+ détails, reportez-vous au <a href="../upgrading.html">guide de mise à
jour</a> correspondant.</p>
</div>
- <p>Notez qu'il est possible de modifier la portée des directives, en les
- plaçant par exemple à l'intérieur d'une section
+ <p>Notez qu'il est possible de modifier la portée des directives, en les
+ plaçant par exemple à l'intérieur d'une section
<code><Location "/server-status"></code>. Les recherches DNS ne
- seront alors effectuées que pour les requêtes qui satisfont aux critères.
- Voici un exemple qui désactive les recherches DNS sauf pour les fichiers
+ seront alors effectuées que pour les requêtes qui satisfont aux critères.
+ Voici un exemple qui désactive les recherches DNS sauf pour les fichiers
<code>.html</code> et <code>.cgi</code> :</p>
<pre class="prettyprint lang-config"><Files ~ "\.(html|cgi)$">
</Files></pre>
- <p>Mais même dans ce cas, si vous n'avez besoin de noms DNS que dans
- certains CGIs, vous pouvez effectuer l'appel à <code>gethostbyname</code>
- dans les CGIs spécifiques qui en ont besoin.</p>
+ <p>Mais même dans ce cas, si vous n'avez besoin de noms DNS que dans
+ certains CGIs, vous pouvez effectuer l'appel à <code>gethostbyname</code>
+ dans les CGIs spécifiques qui en ont besoin.</p>
<p>Chaque fois que la ligne <code>Options FollowSymLinks</code> sera
absente, ou que la ligne <code>Options SymLinksIfOwnerMatch</code> sera
- présente dans votre espace d'adressage, Apache devra effectuer des
- appels système supplémentaires pour vérifier la présence de liens
- symboliques. Un appel supplémentaire par élément du chemin du fichier.
+ présente dans votre espace d'adressage, Apache devra effectuer des
+ appels système supplémentaires pour vérifier la présence de liens
+ symboliques. Un appel supplémentaire par élément du chemin du fichier.
Par exemple, si vous avez :</p>
<pre class="prettyprint lang-config">DocumentRoot "/www/htdocs"
</Directory></pre>
- <p>et si une requête demande l'URI <code>/index.html</code>, Apache
- effectuera un appel à <code>lstat(2)</code> pour
+ <p>et si une requête demande l'URI <code>/index.html</code>, Apache
+ effectuera un appel à <code>lstat(2)</code> pour
<code>/www</code>, <code>/www/htdocs</code>, et
- <code>/www/htdocs/index.html</code>. Les résultats de ces appels à
- <code>lstat</code> ne sont jamais mis en cache, ils devront donc être
- générés à nouveau pour chaque nouvelle requête. Si vous voulez absolument
- vérifier la sécurité des liens symboliques, vous pouvez utiliser une
+ <code>/www/htdocs/index.html</code>. Les résultats de ces appels à
+ <code>lstat</code> ne sont jamais mis en cache, ils devront donc être
+ générés à nouveau pour chaque nouvelle requête. Si vous voulez absolument
+ vérifier la sécurité des liens symboliques, vous pouvez utiliser une
configuration du style :</p>
<pre class="prettyprint lang-config">DocumentRoot "/www/htdocs"
</Directory></pre>
- <p>Ceci évite au moins les vérifications supplémentaires pour le chemin
- défini par <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. Notez que
+ <p>Ceci évite au moins les vérifications supplémentaires pour le chemin
+ défini par <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. Notez que
vous devrez ajouter des sections similaires si vous avez des chemins
- définis par les directives
+ définis par les directives
<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> ou
<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> en dehors de
- la racine de vos documents. Pour améliorer les performances, et supprimer
+ la racine de vos documents. Pour améliorer les performances, et supprimer
toute protection des liens symboliques, ajoutez l'option
<code>FollowSymLinks</code> partout, et n'utilisez jamais l'option
<code>SymLinksIfOwnerMatch</code>.</p>
- <p>Dans toute partie de votre espace d'adressage où vous autoriserez
- la surcharge de la configuration (en général à l'aide de fichiers
+ <p>Dans toute partie de votre espace d'adressage où vous autoriserez
+ la surcharge de la configuration (en général à l'aide de fichiers
<code>.htaccess</code>), Apache va tenter d'ouvrir <code>.htaccess</code>
- pour chaque élément du chemin du fichier demandé. Par exemple, si vous
+ pour chaque élément du chemin du fichier demandé. Par exemple, si vous
avez : </p>
<pre class="prettyprint lang-config">DocumentRoot "/www/htdocs"
</Directory></pre>
- <p>et qu'une requête demande l'URI <code>/index.html</code>, Apache
+ <p>et qu'une requête demande l'URI <code>/index.html</code>, Apache
tentera d'ouvrir <code>/.htaccess</code>, <code>/www/.htaccess</code>,
- et <code>/www/htdocs/.htaccess</code>. Les solutions sont similaires à
- celles évoquées précédemment pour <code>Options FollowSymLinks</code>.
- Pour améliorer les performances, utilisez <code>AllowOverride None</code>
+ et <code>/www/htdocs/.htaccess</code>. Les solutions sont similaires à
+ celles évoquées précédemment pour <code>Options FollowSymLinks</code>.
+ Pour améliorer les performances, utilisez <code>AllowOverride None</code>
pour tous les niveaux de votre espace d'adressage.</p>
- <h3><a name="negotiation" id="negotiation">Négociation</a></h3>
+ <h3><a name="negotiation" id="negotiation">Négociation</a></h3>
- <p>Dans la mesure du possible, évitez toute négociation de contenu si
+ <p>Dans la mesure du possible, évitez toute négociation de contenu si
vous tenez au moindre gain en performances. En pratique toutefois,
- les bénéfices de la négociation l'emportent souvent sur la diminution
+ les bénéfices de la négociation l'emportent souvent sur la diminution
des performances.
- Il y a cependant un cas dans lequel vous pouvez accélérer le serveur.
- Au lieu d'utiliser une directive générique comme :</p>
+ Il y a cependant un cas dans lequel vous pouvez accélérer le serveur.
+ Au lieu d'utiliser une directive générique comme :</p>
<pre class="prettyprint lang-config">DirectoryIndex index</pre>
<pre class="prettyprint lang-config">DirectoryIndex index.cgi index.pl index.shtml index.html</pre>
- <p>où vous placez le choix courant en première position.</p>
+ <p>où vous placez le choix courant en première position.</p>
- <p>Notez aussi que créer explicitement un fichier de
+ <p>Notez aussi que créer explicitement un fichier de
<code>correspondances de type</code> fournit de meilleures performances
que l'utilisation des <code>MultiViews</code>, car les informations
- nécessaires peuvent être simplement obtenues en lisant ce fichier, sans
- avoir à parcourir le répertoire à la recherche de types de fichiers.</p>
+ nécessaires peuvent être simplement obtenues en lisant ce fichier, sans
+ avoir à parcourir le répertoire à la recherche de types de fichiers.</p>
- <p>Par conséquent, si la négociation de contenu est nécessaire pour votre
- site, préférez les fichiers de <code>correspondances de type</code> aux
- directives <code>Options MultiViews</code> pour mener à bien cette
- négociation. Se référer au document sur la
- <a href="../content-negotiation.html">Négociation de contenu</a> pour une
- description complète des méthodes de négociation, et les instructions
- permettant de créer des fichiers de <code>correspondances de type</code>.</p>
+ <p>Par conséquent, si la négociation de contenu est nécessaire pour votre
+ site, préférez les fichiers de <code>correspondances de type</code> aux
+ directives <code>Options MultiViews</code> pour mener à bien cette
+ négociation. Se référer au document sur la
+ <a href="../content-negotiation.html">Négociation de contenu</a> pour une
+ description complète des méthodes de négociation, et les instructions
+ permettant de créer des fichiers de <code>correspondances de type</code>.</p>
- <h3>Transfert en mémoire</h3>
+ <h3>Transfert en mémoire</h3>
- <p>Dans les situations où Apache 2.x doit consulter le contenu d'un
- fichier en train d'être servi - par exemple à l'occasion du traitement
- d'une inclusion côté serveur - il transfère en général le fichier en
- mémoire si le système d'exploitation supporte une forme quelconque
+ <p>Dans les situations où Apache 2.x doit consulter le contenu d'un
+ fichier en train d'être servi - par exemple à l'occasion du traitement
+ d'une inclusion côté serveur - il transfère en général le fichier en
+ mémoire si le système d'exploitation supporte une forme quelconque
de <code>mmap(2)</code>.</p>
- <p>Sur certains systèmes, ce transfert en mémoire améliore les
- performances. Dans certains cas, ce transfert peut toutefois les dégrader
- et même diminuer la stabilité du démon httpd :</p>
+ <p>Sur certains systèmes, ce transfert en mémoire améliore les
+ performances. Dans certains cas, ce transfert peut toutefois les dégrader
+ et même diminuer la stabilité du démon httpd :</p>
<ul>
<li>
- <p>Dans certains systèmes d'exploitation, <code>mmap</code> devient
+ <p>Dans certains systèmes d'exploitation, <code>mmap</code> devient
moins efficace que <code>read(2)</code> quand le nombre de
processeurs augmente. Sur les serveurs multiprocesseurs sous Solaris,
- par exemple, Apache 2.x sert parfois les fichiers consultés par le
- serveur plus rapidement quand <code>mmap</code> est désactivé.</p>
+ par exemple, Apache 2.x sert parfois les fichiers consultés par le
+ serveur plus rapidement quand <code>mmap</code> est désactivé.</p>
</li>
<li>
- <p>Si vous transférez en mémoire un fichier localisé dans un système
- de fichiers monté par NFS, et si un processus sur
+ <p>Si vous transférez en mémoire un fichier localisé dans un système
+ de fichiers monté par NFS, et si un processus sur
une autre machine cliente NFS supprime ou tronque le fichier, votre
processus peut rencontrer une erreur de bus la prochaine fois qu'il
- essaiera d'accéder au contenu du fichier en mémoire.</p>
+ essaiera d'accéder au contenu du fichier en mémoire.</p>
</li>
</ul>
- <p>Pour les installations où une de ces situations peut se produire,
- vous devez utiliser <code>EnableMMAP off</code> afin de désactiver le
- transfert en mémoire des fichiers servis. (Note : il est possible de
- passer outre cette directive au niveau de chaque répertoire.)</p>
+ <p>Pour les installations où une de ces situations peut se produire,
+ vous devez utiliser <code>EnableMMAP off</code> afin de désactiver le
+ transfert en mémoire des fichiers servis. (Note : il est possible de
+ passer outre cette directive au niveau de chaque répertoire.)</p>
- <p>Dans les cas où Apache peut se permettre d'ignorer le contenu du
- fichier à servir - par exemple, lorsqu'il sert un contenu de fichier
- statique - il utilise en général le support sendfile du noyau si le
- système d'exploitation supporte l'opération <code>sendfile(2)</code>.</p>
+ <p>Dans les cas où Apache peut se permettre d'ignorer le contenu du
+ fichier à servir - par exemple, lorsqu'il sert un contenu de fichier
+ statique - il utilise en général le support sendfile du noyau si le
+ système d'exploitation supporte l'opération <code>sendfile(2)</code>.</p>
- <p>Sur la plupart des plateformes, l'utilisation de sendfile améliore
- les performances en éliminant les mécanismes de lecture et envoi séparés.
- Dans certains cas cependant, l'utilisation de sendfile peut nuire à la
- stabilité du démon httpd :</p>
+ <p>Sur la plupart des plateformes, l'utilisation de sendfile améliore
+ les performances en éliminant les mécanismes de lecture et envoi séparés.
+ Dans certains cas cependant, l'utilisation de sendfile peut nuire à la
+ stabilité du démon httpd :</p>
<ul>
<li>
- <p>Certaines plateformes peuvent présenter un support de sendfile
- défaillant que la construction du système n'a pas détecté, en
- particulier si les binaires ont été construits sur une autre machine
- et transférés sur la machine où le support de sendfile est
- défaillant.</p>
+ <p>Certaines plateformes peuvent présenter un support de sendfile
+ défaillant que la construction du système n'a pas détecté, en
+ particulier si les binaires ont été construits sur une autre machine
+ et transférés sur la machine où le support de sendfile est
+ défaillant.</p>
</li>
<li>
- <p>Dans le cas d'un système de fichiers monté
- sous NFS, le noyau peut s'avérer incapable de servir
- les fichiers réseau de manière fiable depuis
+ <p>Dans le cas d'un système de fichiers monté
+ sous NFS, le noyau peut s'avérer incapable de servir
+ les fichiers réseau de manière fiable depuis
son propre cache.</p>
</li>
</ul>
- <p>Pour les installations où une de ces situations peut se produire,
- vous devez utiliser <code>EnableSendfile off</code> afin de désactiver
- la mise à disposition de contenus de fichiers par sendfile. (Note : il
+ <p>Pour les installations où une de ces situations peut se produire,
+ vous devez utiliser <code>EnableSendfile off</code> afin de désactiver
+ la mise à disposition de contenus de fichiers par sendfile. (Note : il
est possible de passer outre cette directive au niveau de chaque
- répertoire.)</p>
+ répertoire.)</p>
<p>La directive <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> permet de limiter le
- nombre de connexions qu'un processus enfant peut gérer au cours de sa vie
- (par défaut, la valeur est <code>0</code>, soit aucune limite). Tous les <a href="../mpm.html#defaults">MPMs</a> sont concernés, même ceux qui utilisent
- des threads. Par exemple, chaque processus créé par le MPM
- <code class="module"><a href="../mod/worker.html">worker</a></code> lance plusieurs threads qui gèrent les connexions,
+ nombre de connexions qu'un processus enfant peut gérer au cours de sa vie
+ (par défaut, la valeur est <code>0</code>, soit aucune limite). Tous les <a href="../mpm.html#defaults">MPMs</a> sont concernés, même ceux qui utilisent
+ des threads. Par exemple, chaque processus créé par le MPM
+ <code class="module"><a href="../mod/worker.html">worker</a></code> lance plusieurs threads qui gèrent les connexions,
mais cette directive n'en affecte pas le nombre total. Cela signifie
seulement que la valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> ne limitera que le
- nombre de requêtes traitées par les threads lancés par un seul processus
+ nombre de requêtes traitées par les threads lancés par un seul processus
enfant.</p>
<p>Dans des conditions d'utilisation optimales, la directive <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> ne devrait imposer
- aucune limite, car il n'y a à priori aucune raison de tuer un processus, si
- ce n'est suite à un bug logiciel causant des fuites de mémoire ou un usage
+ aucune limite, car il n'y a à priori aucune raison de tuer un processus, si
+ ce n'est suite à un bug logiciel causant des fuites de mémoire ou un usage
excessif du CPU.</p>
- <p>Lorsque le mode "keep-alive" est activé, un processus (ou un thread lancé
+ <p>Lorsque le mode "keep-alive" est activé, un processus (ou un thread lancé
par un processus) est
- maintenu et ne fait rien sinon attendre la prochaine requête sur la
- connexion déjà ouverte. La valeur par défaut de <code>5</code> de la
- directive <code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code> tend à
+ maintenu et ne fait rien sinon attendre la prochaine requête sur la
+ connexion déjà ouverte. La valeur par défaut de <code>5</code> de la
+ directive <code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code> tend à
minimiser cet effet. Il faut trouver le bon compromis entre la bande
- passante réseau et les ressources du serveur.</p>
+ passante réseau et les ressources du serveur.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="compiletime" id="compiletime">Optimisation de la configuration à la compilation</a><a title="Lien permanent" href="#compiletime" class="permalink">¶</a></h2>
+<h2><a name="compiletime" id="compiletime">Optimisation de la configuration à la compilation</a><a title="Lien permanent" href="#compiletime" class="permalink">¶</a></h2>
- <p>Apache 2.x supporte les modèles simultanés enfichables, appelés
+ <p>Apache 2.x supporte les modèles simultanés enfichables, appelés
<a href="../mpm.html">Modules Multi-Processus</a> (MPMs). Vous devez
choisir un MPM au moment de la construction d'Apache. Certaines
- plateformes ont des modules MPM spécifiques :
+ plateformes ont des modules MPM spécifiques :
<code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> et
- <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>. Sur les systèmes de type Unix, vous avez le
+ <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>. Sur les systèmes de type Unix, vous avez le
choix entre un grand nombre de modules MPM. Le choix du MPM peut affecter
- la vitesse et l'évolutivité du démon httpd :</p>
+ la vitesse et l'évolutivité du démon httpd :</p>
<ul>
<li>Le MPM <code class="module"><a href="../mod/worker.html">worker</a></code> utilise plusieurs processus
- enfants possédant chacun de nombreux threads. Chaque thread gère une
- seule connexion à la fois. Worker est en général un bon choix pour les
- serveurs présentant un traffic important car il possède une empreinte
- mémoire plus petite que le MPM prefork.</li>
+ enfants possédant chacun de nombreux threads. Chaque thread gère une
+ seule connexion à la fois. Worker est en général un bon choix pour les
+ serveurs présentant un traffic important car il possède une empreinte
+ mémoire plus petite que le MPM prefork.</li>
<li>Comme le MPM Worker, le MPM <code class="module"><a href="../mod/event.html">event</a></code> utilise
- les threads, mais il a été conçu pour traiter davantage de
- requêtes simultanément en confiant une partie du travail à des
+ les threads, mais il a été conçu pour traiter davantage de
+ requêtes simultanément en confiant une partie du travail à des
threads de support, ce qui permet aux threads principaux de
- traiter de nouvelles requêtes.</li>
+ traiter de nouvelles requêtes.</li>
<li>Le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code> utilise plusieurs processus enfants
- possédant chacun un seul thread. Chaque processus gère une seule
- connexion à la fois. Sur de nombreux systèmes, prefork est comparable
- en matière de vitesse à worker, mais il utilise plus de mémoire. De par
- sa conception sans thread, prefork présente des avantages par rapport à
- worker dans certaines situations : il peut être utilisé avec les
- modules tiers qui ne supportent pas le threading, et son débogage est plus
- aisé sur les platesformes présentant un support du débogage des threads
+ possédant chacun un seul thread. Chaque processus gère une seule
+ connexion à la fois. Sur de nombreux systèmes, prefork est comparable
+ en matière de vitesse à worker, mais il utilise plus de mémoire. De par
+ sa conception sans thread, prefork présente des avantages par rapport à
+ worker dans certaines situations : il peut être utilisé avec les
+ modules tiers qui ne supportent pas le threading, et son débogage est plus
+ aisé sur les platesformes présentant un support du débogage des threads
rudimentaire.</li>
</ul>
<p>Pour plus d'informations sur ces deux MPMs et les autres, veuillez
- vous référer à la <a href="../mpm.html">documentation sur les
+ vous référer à la <a href="../mpm.html">documentation sur les
MPM</a>.</p>
- <p>Comme le contrôle de l'utilisation de la mémoire est très important
- en matière de performance, il est conseillé d'éliminer les modules que
+ <p>Comme le contrôle de l'utilisation de la mémoire est très important
+ en matière de performance, il est conseillé d'éliminer les modules que
vous n'utilisez pas vraiment. Si vous avez construit ces modules en
- tant que <a href="../dso.html">DSOs</a>, leur élimination consiste
- simplement à commenter la directive
- <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> associée à ce
- module. Ceci vous permet de vérifier si votre site fonctionne toujours
- après la suppression de tel ou tel module.</p>
+ tant que <a href="../dso.html">DSOs</a>, leur élimination consiste
+ simplement à commenter la directive
+ <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> associée à ce
+ module. Ceci vous permet de vérifier si votre site fonctionne toujours
+ après la suppression de tel ou tel module.</p>
- <p>Par contre, si les modules que vous voulez supprimer sont liés
- statiquement à votre binaire Apache, vous devrez recompiler ce dernier
- afin de pouvoir les éliminer.</p>
+ <p>Par contre, si les modules que vous voulez supprimer sont liés
+ statiquement à votre binaire Apache, vous devrez recompiler ce dernier
+ afin de pouvoir les éliminer.</p>
- <p>La question qui découle de ce qui précède est évidemment de
+ <p>La question qui découle de ce qui précède est évidemment de
savoir de quels modules vous avez besoin et desquels vous pouvez vous
- passer. La réponse sera bien entendu différente d'un site web à
- l'autre. Cependant, la liste <em>minimale</em> de modules nécessaire à
+ passer. La réponse sera bien entendu différente d'un site web à
+ l'autre. Cependant, la liste <em>minimale</em> de modules nécessaire à
la survie de votre site contiendra certainement
<code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code>, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> et
<code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>. <code>mod_log_config</code> est bien
entendu optionnel puisque vous pouvez faire fonctionner un site web
en se passant de fichiers journaux ; ceci est cependant
- déconseillé.</p>
+ déconseillé.</p>
- <h3>Opérations atomiques</h3>
+ <h3>Opérations atomiques</h3>
- <p>Certains modules, à l'instar de <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> et des
- versions de développement récentes du MPM worker, utilisent l'API
- atomique d'APR. Cette API propose des opérations atomiques que l'on
- peut utiliser pour alléger la synchronisation des threads.</p>
-
- <p>Par défaut, APR implémente ces opérations en utilisant les
- mécanismes les plus efficaces disponibles sur chaque plateforme cible
- (Système d'exploitation et processeur). De nombreux processeurs modernes,
- par exemple, possèdent une instruction qui effectue une opération
- atomique de type comparaison et échange ou compare-and-swap (CAS) au
- niveau matériel. Sur certaines platesformes cependant, APR utilise par
- défaut une implémentation de l'API atomique plus lente, basée sur les
- mutex, afin d'assurer la compatibilité avec les anciens modèles de
- processeurs qui ne possèdent pas ce genre d'instruction. Si vous
- construisez Apache pour une de ces platesformes, et ne prévoyez de
- l'exécuter que sur des processeurs récents, vous pouvez sélectionner une
- implémentation atomique plus rapide à la compilation en utilisant
+ <p>Certains modules, à l'instar de <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> et des
+ versions de développement récentes du MPM worker, utilisent l'API
+ atomique d'APR. Cette API propose des opérations atomiques que l'on
+ peut utiliser pour alléger la synchronisation des threads.</p>
+
+ <p>Par défaut, APR implémente ces opérations en utilisant les
+ mécanismes les plus efficaces disponibles sur chaque plateforme cible
+ (Système d'exploitation et processeur). De nombreux processeurs modernes,
+ par exemple, possèdent une instruction qui effectue une opération
+ atomique de type comparaison et échange ou compare-and-swap (CAS) au
+ niveau matériel. Sur certaines platesformes cependant, APR utilise par
+ défaut une implémentation de l'API atomique plus lente, basée sur les
+ mutex, afin d'assurer la compatibilité avec les anciens modèles de
+ processeurs qui ne possèdent pas ce genre d'instruction. Si vous
+ construisez Apache pour une de ces platesformes, et ne prévoyez de
+ l'exécuter que sur des processeurs récents, vous pouvez sélectionner une
+ implémentation atomique plus rapide à la compilation en utilisant
l'option <code>--enable-nonportable-atomics</code> du
script configure :</p>
<ul>
<li>Solaris sur SPARC<br />
- Sur Solaris/SPARC, APR utilise par défaut les opérations
- atomiques basées sur les mutex. Cependant, si vous ajoutez l'option
+ Sur Solaris/SPARC, APR utilise par défaut les opérations
+ atomiques basées sur les mutex. Cependant, si vous ajoutez l'option
<code>--enable-nonportable-atomics</code> au script configure, APR
- génère un code qui utilise le code opération SPARC v8plus pour des
- opérations de compare-and-swap matériel plus rapides. Si vous
- utilisez cette option de configure avec Apache, les opérations
- atomiques seront plus efficaces (permettant d'alléger la charge du
- processeur et un plus haut niveau de simultanéité), mais
- l'exécutable produit ne fonctionnera que sur les processeurs
+ génère un code qui utilise le code opération SPARC v8plus pour des
+ opérations de compare-and-swap matériel plus rapides. Si vous
+ utilisez cette option de configure avec Apache, les opérations
+ atomiques seront plus efficaces (permettant d'alléger la charge du
+ processeur et un plus haut niveau de simultanéité), mais
+ l'exécutable produit ne fonctionnera que sur les processeurs
UltraSPARC.
</li>
<li>Linux sur x86<br />
- Sous Linux, APR utilise par défaut les opérations atomiques basées
+ Sous Linux, APR utilise par défaut les opérations atomiques basées
sur les mutex. Cependant, si vous ajoutez l'option
<code>--enable-nonportable-atomics</code> au script configure,
- APR générera un code qui utilise un code d'opération du 486
- pour des opérations de compare-and-swap matériel plus rapides. Le
- code résultant est plus efficace en matière d'opérations atomiques,
- mais l'exécutable produit ne fonctionnera que sur des processeurs
- 486 et supérieurs (et non sur des 386).
+ APR générera un code qui utilise un code d'opération du 486
+ pour des opérations de compare-and-swap matériel plus rapides. Le
+ code résultant est plus efficace en matière d'opérations atomiques,
+ mais l'exécutable produit ne fonctionnera que sur des processeurs
+ 486 et supérieurs (et non sur des 386).
</li>
</ul>
- <p>Si vous incluez le module <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> à la
- construction d'Apache et ajoutez <code>ExtendedStatus On</code> à sa
- configuration, Apache va effectuer pour chaque requête deux appels à
+ <p>Si vous incluez le module <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> à la
+ construction d'Apache et ajoutez <code>ExtendedStatus On</code> à sa
+ configuration, Apache va effectuer pour chaque requête deux appels à
<code>gettimeofday(2)</code> (ou <code>times(2)</code> selon votre
- système d'exploitation), et (pour les versions antérieures à 1.3) de
- nombreux appels supplémentaires à <code>time(2)</code>. Tous ces
- appels sont effectués afin que le rapport de statut puisse contenir
- des indications temporelles. Pour améliorer les performances, utilisez
- <code>ExtendedStatus off</code> (qui est le réglage par défaut).</p>
+ système d'exploitation), et (pour les versions antérieures à 1.3) de
+ nombreux appels supplémentaires à <code>time(2)</code>. Tous ces
+ appels sont effectués afin que le rapport de statut puisse contenir
+ des indications temporelles. Pour améliorer les performances, utilisez
+ <code>ExtendedStatus off</code> (qui est le réglage par défaut).</p>
- <h3>accept Serialization - points de connexion à un programme (sockets) multiples</h3>
+ <h3>accept Serialization - points de connexion à un programme (sockets) multiples</h3>
<div class="warning"><h3>Mise en garde :</h3>
- <p>Cette section n'a pas été totalement mise à jour car elle ne tient pas
+ <p>Cette section n'a pas été totalement mise à jour car elle ne tient pas
compte des changements intervenus dans la version 2.x du Serveur HTTP
Apache. Certaines informations sont encore pertinentes, il vous est
- cependant conseillé de les utiliser avec prudence.</p>
+ cependant conseillé de les utiliser avec prudence.</p>
</div>
- <p>Ce qui suit est une brève discussion à propos de l'API des sockets
+ <p>Ce qui suit est une brève discussion à propos de l'API des sockets
Unix. Supposons que votre serveur web utilise plusieurs directives
- <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> afin d'écouter
+ <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> afin d'écouter
plusieurs ports ou de multiples adresses. Afin de tester chaque socket
pour voir s'il a une connexion en attente, Apache utilise
<code>select(2)</code>. <code>select(2)</code> indique si un socket a
- <em>zéro</em> ou <em>au moins une</em> connexion en attente. Le modèle
+ <em>zéro</em> ou <em>au moins une</em> connexion en attente. Le modèle
d'Apache comporte plusieurs processus enfants, et tous ceux qui sont
- inactifs testent la présence de nouvelles connexions au même moment.
- Une implémentation rudimentaire de ceci pourrait ressembler à
+ inactifs testent la présence de nouvelles connexions au même moment.
+ Une implémentation rudimentaire de ceci pourrait ressembler à
l'exemple suivant
(ces exemples ne sont pas extraits du code d'Apache, ils ne sont
- proposés qu'à des fins pédagogiques) :</p>
+ proposés qu'à des fins pédagogiques) :</p>
<pre class="prettyprint lang-c"> for (;;) {
for (;;) {
}</pre>
- <p>Mais cette implémentation rudimentaire présente une sérieuse lacune.
- Rappelez-vous que les processus enfants exécutent cette boucle au même
+ <p>Mais cette implémentation rudimentaire présente une sérieuse lacune.
+ Rappelez-vous que les processus enfants exécutent cette boucle au même
moment ; ils vont ainsi bloquer sur <code>select</code> s'ils se trouvent
- entre deux requêtes. Tous ces processus bloqués vont se réactiver et
- sortir de <code>select</code> quand une requête va apparaître sur un des
- sockets (le nombre de processus enfants qui se réactivent varie en
- fonction du système d'exploitation et des réglages de synchronisation).
+ entre deux requêtes. Tous ces processus bloqués vont se réactiver et
+ sortir de <code>select</code> quand une requête va apparaître sur un des
+ sockets (le nombre de processus enfants qui se réactivent varie en
+ fonction du système d'exploitation et des réglages de synchronisation).
Ils vont alors tous entrer dans la boucle et tenter un
<code>"accept"</code> de la connexion. Mais seulement un d'entre eux y
parviendra (en supposant qu'il ne reste q'une seule connexion en
attente), les autres vont se bloquer au niveau de <code>accept</code>.
Ceci verrouille vraiment ces processus de telle sorte qu'ils ne peuvent
- plus servir de requêtes que par cet unique socket, et il en sera ainsi
- jusqu'à ce que suffisamment de nouvelles requêtes apparaissent sur ce
- socket pour les réactiver tous. Cette lacune a été documentée pour la
- première fois dans
+ plus servir de requêtes que par cet unique socket, et il en sera ainsi
+ jusqu'à ce que suffisamment de nouvelles requêtes apparaissent sur ce
+ socket pour les réactiver tous. Cette lacune a été documentée pour la
+ première fois dans
<a href="http://bugs.apache.org/index/full/467">PR#467</a>. Il existe
au moins deux solutions.</p>
- <p>La première consiste à rendre les sockets non blocants. Dans ce cas,
+ <p>La première consiste à rendre les sockets non blocants. Dans ce cas,
<code>accept</code> ne bloquera pas les processus enfants, et ils
- pourront continuer à s'exécuter immédiatement. Mais ceci consomme des
+ pourront continuer à s'exécuter immédiatement. Mais ceci consomme des
ressources processeur. Supposons que vous ayez dix processus enfants
inactifs dans <code>select</code>, et qu'une connexion arrive.
- Neuf des dix processus vont se réactiver, tenter un <code>accept</code>
- de la connexion, échouer, et boucler dans <code>select</code>, tout en
+ Neuf des dix processus vont se réactiver, tenter un <code>accept</code>
+ de la connexion, échouer, et boucler dans <code>select</code>, tout en
n'ayant finalement rien accompli. Pendant ce temps, aucun de ces processus
- ne traite les requêtes qui arrivent sur d'autres sockets jusqu'à ce
+ ne traite les requêtes qui arrivent sur d'autres sockets jusqu'à ce
qu'ils retournent dans <code>select</code>. Finalement, cette solution
- ne semble pas très efficace, à moins que vous ne disposiez d'autant de
+ ne semble pas très efficace, à moins que vous ne disposiez d'autant de
processeurs inactifs (dans un serveur multiprocesseur) que de processus
- enfants inactifs, ce qui n'est pas une situation très courante.</p>
+ enfants inactifs, ce qui n'est pas une situation très courante.</p>
- <p>Une autre solution, celle qu'utilise Apache, consiste à sérialiser les
- entrées dans la boucle interne. La boucle ressemble à ceci (les
- différences sont mises en surbrillance) :</p>
+ <p>Une autre solution, celle qu'utilise Apache, consiste à sérialiser les
+ entrées dans la boucle interne. La boucle ressemble à ceci (les
+ différences sont mises en surbrillance) :</p>
<pre class="prettyprint lang-c"> for (;;) {
<strong>accept_mutex_on ();</strong>
<p><a id="serialize" name="serialize">Les fonctions</a>
<code>accept_mutex_on</code> et <code>accept_mutex_off</code>
- implémentent un sémaphore permettant une exclusion mutuelle. Un seul
- processus enfant à la fois peut posséder le mutex. Plusieurs choix se
- présentent pour implémenter ces mutex. Ce choix est défini dans
- <code>src/conf.h</code> (versions antérieures à 1.3) ou
- <code>src/include/ap_config.h</code> (versions 1.3 ou supérieures).
+ implémentent un sémaphore permettant une exclusion mutuelle. Un seul
+ processus enfant à la fois peut posséder le mutex. Plusieurs choix se
+ présentent pour implémenter ces mutex. Ce choix est défini dans
+ <code>src/conf.h</code> (versions antérieures à 1.3) ou
+ <code>src/include/ap_config.h</code> (versions 1.3 ou supérieures).
Certaines architectures ne font pas ce choix du mode de verrouillage ;
l'utilisation de directives
<code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> multiples sur ces
- architectures est donc peu sûr.</p>
+ architectures est donc peu sûr.</p>
<p>La directive <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code> permet
- de modifier l'implémentation du mutex <code>mpm-accept</code> à
- l'exécution. Des considérations spécifiques aux différentes
- implémentations de mutex sont documentées avec cette directive.</p>
-
- <p>Une autre solution qui a été imaginée mais jamais implémentée, consiste
- à sérialiser partiellement la boucle -- c'est à dire y faire entrer un
- certain nombre de processus. Ceci ne présenterait un intérêt que sur les
- machines multiprocesseurs où plusieurs processus enfants peuvent
- s'exécuter simultanément, et encore, la sérialisation ne tire pas
- vraiment parti de toute la bande passante. C'est une possibilité
- d'investigation future, mais demeure de priorité basse car les serveurs
- web à architecture hautement parallèle ne sont pas la norme.</p>
+ de modifier l'implémentation du mutex <code>mpm-accept</code> à
+ l'exécution. Des considérations spécifiques aux différentes
+ implémentations de mutex sont documentées avec cette directive.</p>
+
+ <p>Une autre solution qui a été imaginée mais jamais implémentée, consiste
+ à sérialiser partiellement la boucle -- c'est à dire y faire entrer un
+ certain nombre de processus. Ceci ne présenterait un intérêt que sur les
+ machines multiprocesseurs où plusieurs processus enfants peuvent
+ s'exécuter simultanément, et encore, la sérialisation ne tire pas
+ vraiment parti de toute la bande passante. C'est une possibilité
+ d'investigation future, mais demeure de priorité basse car les serveurs
+ web à architecture hautement parallèle ne sont pas la norme.</p>
<p>Pour bien faire, vous devriez faire fonctionner votre serveur sans
directives <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> multiples
- si vous visez les performances les plus élevées.
+ si vous visez les performances les plus élevées.
Mais lisez ce qui suit.</p>
- <h3>accept Serialization - point de connexion à un programme (sockets) unique</h3>
+ <h3>accept Serialization - point de connexion à un programme (sockets) unique</h3>
- <p>Ce qui précède convient pour les serveurs à sockets multiples, mais
- qu'en est-il des serveurs à socket unique ? En théorie, ils ne
- devraient pas rencontrer les mêmes problèmes car tous les processus
- enfants peuvent se bloquer dans <code>accept(2)</code> jusqu'à ce qu'une
- connexion arrive, et ils ne sont pas utilisés à ne rien faire. En
- pratique, ceci dissimule un même comportement de bouclage
- discuté plus haut dans la solution non-blocante. De la manière dont
- sont implémentées les piles TCP, le noyau réactive véritablement tous les
- processus bloqués dans <code>accept</code> quand une seule connexion
+ <p>Ce qui précède convient pour les serveurs à sockets multiples, mais
+ qu'en est-il des serveurs à socket unique ? En théorie, ils ne
+ devraient pas rencontrer les mêmes problèmes car tous les processus
+ enfants peuvent se bloquer dans <code>accept(2)</code> jusqu'à ce qu'une
+ connexion arrive, et ils ne sont pas utilisés à ne rien faire. En
+ pratique, ceci dissimule un même comportement de bouclage
+ discuté plus haut dans la solution non-blocante. De la manière dont
+ sont implémentées les piles TCP, le noyau réactive véritablement tous les
+ processus bloqués dans <code>accept</code> quand une seule connexion
arrive. Un de ces processus prend la connexion en compte et retourne
dans l'espace utilisateur, les autres bouclant dans l'espace du
- noyau et se désactivant quand ils s'aperçoivent qu'il n'y a pas de
+ noyau et se désactivant quand ils s'aperçoivent qu'il n'y a pas de
connexion pour eux. Ce bouclage est invisible depuis le code de l'espace
- utilisateur, mais il est quand-même présent. Ceci peut conduire à la
- même augmentation de charge à perte que la solution non blocante au cas
+ utilisateur, mais il est quand-même présent. Ceci peut conduire à la
+ même augmentation de charge à perte que la solution non blocante au cas
des sockets multiples peut induire.</p>
- <p>Pour cette raison, il apparaît que de nombreuses architectures se
- comportent plus "proprement" si on sérialise même dans le cas d'une socket
- unique. Il s'agit en fait du comportement par défaut dans la plupart des
- cas. Des expériences poussées sous Linux (noyau 2.0.30 sur un
- biprocesseur Pentium pro 166 avec 128 Mo de RAM) ont montré que la
- sérialisation d'une socket unique provoque une diminution inférieure à 3%
- du nombre de requêtes par secondes par rapport au traitement non
- sérialisé. Mais le traitement non sérialisé des sockets uniques induit
- un temps de réponse supplémentaire de 100 ms pour chaque requête. Ce
- temps de réponse est probablement provoqué par une limitation sur les
- lignes à haute charge, et ne constitue un problème que sur les réseaux
- locaux. Si vous voulez vous passer de la sérialisation des sockets
- uniques, vous pouvez définir
+ <p>Pour cette raison, il apparaît que de nombreuses architectures se
+ comportent plus "proprement" si on sérialise même dans le cas d'une socket
+ unique. Il s'agit en fait du comportement par défaut dans la plupart des
+ cas. Des expériences poussées sous Linux (noyau 2.0.30 sur un
+ biprocesseur Pentium pro 166 avec 128 Mo de RAM) ont montré que la
+ sérialisation d'une socket unique provoque une diminution inférieure à 3%
+ du nombre de requêtes par secondes par rapport au traitement non
+ sérialisé. Mais le traitement non sérialisé des sockets uniques induit
+ un temps de réponse supplémentaire de 100 ms pour chaque requête. Ce
+ temps de réponse est probablement provoqué par une limitation sur les
+ lignes à haute charge, et ne constitue un problème que sur les réseaux
+ locaux. Si vous voulez vous passer de la sérialisation des sockets
+ uniques, vous pouvez définir
<code>SINGLE_LISTEN_UNSERIALIZED_ACCEPT</code> et les
- serveurs à socket unique ne pratiqueront plus du tout la
- sérialisation.</p>
+ serveurs à socket unique ne pratiqueront plus du tout la
+ sérialisation.</p>
- <p>Comme discuté dans <a href="http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-connection-00.txt">
- draft-ietf-http-connection-00.txt</a> section 8, pour implémenter de
- manière <strong>fiable</strong> le protocole, un serveur HTTP doit fermer
- les deux directions d'une communication indépendamment (rappelez-vous
- qu'une connexion TCP est bidirectionnelle, chaque direction étant
- indépendante de l'autre).</p>
-
- <p>Quand cette fonctionnalité fut ajoutée à Apache, elle causa une
- avalanche de problèmes sur plusieurs versions d'Unix à cause d'une
- implémentation à courte vue. La spécification TCP ne précise pas que
- l'état <code>FIN_WAIT_2</code> possède un temps de réponse mais elle ne
- l'exclut pas. Sur les systèmes qui n'introduisent pas ce temps de
- réponse, Apache 1.2 induit de nombreux blocages définitifs de socket
- dans l'état <code>FIN_WAIT_2</code>. On peut eviter ceci dans de nombreux
- cas tout simplement en mettant à jour TCP/IP avec le dernier patch mis à
- disposition par le fournisseur. Dans les cas où le fournisseur n'a
+ <p>Comme discuté dans <a href="http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-connection-00.txt">
+ draft-ietf-http-connection-00.txt</a> section 8, pour implémenter de
+ manière <strong>fiable</strong> le protocole, un serveur HTTP doit fermer
+ les deux directions d'une communication indépendamment (rappelez-vous
+ qu'une connexion TCP est bidirectionnelle, chaque direction étant
+ indépendante de l'autre).</p>
+
+ <p>Quand cette fonctionnalité fut ajoutée à Apache, elle causa une
+ avalanche de problèmes sur plusieurs versions d'Unix à cause d'une
+ implémentation à courte vue. La spécification TCP ne précise pas que
+ l'état <code>FIN_WAIT_2</code> possède un temps de réponse mais elle ne
+ l'exclut pas. Sur les systèmes qui n'introduisent pas ce temps de
+ réponse, Apache 1.2 induit de nombreux blocages définitifs de socket
+ dans l'état <code>FIN_WAIT_2</code>. On peut eviter ceci dans de nombreux
+ cas tout simplement en mettant à jour TCP/IP avec le dernier patch mis à
+ disposition par le fournisseur. Dans les cas où le fournisseur n'a
jamais fourni de patch (par exemple, SunOS4 -- bien que les utilisateurs
- possédant une license source puissent le patcher eux-mêmes), nous avons
- décidé de désactiver cette fonctionnalité.</p>
+ possédant une license source puissent le patcher eux-mêmes), nous avons
+ décidé de désactiver cette fonctionnalité.</p>
- <p>Il y a deux méthodes pour arriver à ce résultat. La première est
+ <p>Il y a deux méthodes pour arriver à ce résultat. La première est
l'option de socket <code>SO_LINGER</code>. Mais le sort a voulu que cette
- solution ne soit jamais implémentée correctement dans la plupart des
- piles TCP/IP. Et même dans les rares cas où cette solution a été
- implémentée correctement (par exemple Linux 2.0.31), elle se
+ solution ne soit jamais implémentée correctement dans la plupart des
+ piles TCP/IP. Et même dans les rares cas où cette solution a été
+ implémentée correctement (par exemple Linux 2.0.31), elle se
montre beaucoup plus gourmande (en temps processeur) que la solution
suivante.</p>
- <p>Pour la plus grande partie, Apache implémente cette solution à l'aide
- d'une fonction appelée <code>lingering_close</code> (définie dans
- <code>http_main.c</code>). La fonction ressemble approximativement à
+ <p>Pour la plus grande partie, Apache implémente cette solution à l'aide
+ d'une fonction appelée <code>lingering_close</code> (définie dans
+ <code>http_main.c</code>). La fonction ressemble approximativement à
ceci :</p>
<pre class="prettyprint lang-c"> void lingering_close (int s)
}</pre>
- <p>Ceci ajoute naturellement un peu de charge à la fin d'une connexion,
- mais s'avère nécessaire pour une implémentation fiable. Comme HTTP/1.1
- est de plus en plus présent et que toutes les connexions sont
- persistentes, la charge sera amortie par la multiplicité des requêtes.
- Si vous voulez jouer avec le feu en désactivant cette fonctionnalité,
- vous pouvez définir <code>NO_LINGCLOSE</code>, mais c'est fortement
- déconseillé. En particulier, comme les connexions persistantes en
- pipeline de HTTP/1.1 commencent à être utilisées,
- <code>lingering_close</code> devient une absolue nécessité (et les
+ <p>Ceci ajoute naturellement un peu de charge à la fin d'une connexion,
+ mais s'avère nécessaire pour une implémentation fiable. Comme HTTP/1.1
+ est de plus en plus présent et que toutes les connexions sont
+ persistentes, la charge sera amortie par la multiplicité des requêtes.
+ Si vous voulez jouer avec le feu en désactivant cette fonctionnalité,
+ vous pouvez définir <code>NO_LINGCLOSE</code>, mais c'est fortement
+ déconseillé. En particulier, comme les connexions persistantes en
+ pipeline de HTTP/1.1 commencent à être utilisées,
+ <code>lingering_close</code> devient une absolue nécessité (et les
<a href="http://www.w3.org/Protocols/HTTP/Performance/Pipeline.html">
connexions en pipeline sont plus rapides</a> ; vous avez donc tout
- intérêt à les supporter).</p>
+ intérêt à les supporter).</p>
- <p>Les processus parent et enfants d'Apache communiquent entre eux à
- l'aide d'un objet appelé "Tableau de bord" (Scoreboard). Idéalement, cet
- échange devrait s'effectuer en mémoire partagée. Pour les systèmes
- d'exploitation auxquels nous avons eu accès, ou pour lesquels nous avons
- obtenu des informations suffisamment détaillées pour effectuer un
- portage, cet échange est en général implémenté en utilisant la mémoire
- partagée. Pour les autres, on utilise par défaut un fichier d'échange sur
- disque. Le fichier d'échange sur disque est non seulement lent, mais
- aussi peu fiable (et propose moins de fonctionnalités). Recherchez dans
- le fichier <code>src/main/conf.h</code> correspondant à votre
+ <p>Les processus parent et enfants d'Apache communiquent entre eux à
+ l'aide d'un objet appelé "Tableau de bord" (Scoreboard). Idéalement, cet
+ échange devrait s'effectuer en mémoire partagée. Pour les systèmes
+ d'exploitation auxquels nous avons eu accès, ou pour lesquels nous avons
+ obtenu des informations suffisamment détaillées pour effectuer un
+ portage, cet échange est en général implémenté en utilisant la mémoire
+ partagée. Pour les autres, on utilise par défaut un fichier d'échange sur
+ disque. Le fichier d'échange sur disque est non seulement lent, mais
+ aussi peu fiable (et propose moins de fonctionnalités). Recherchez dans
+ le fichier <code>src/main/conf.h</code> correspondant à votre
architecture soit <code>USE_MMAP_SCOREBOARD</code>, soit
- <code>USE_SHMGET_SCOREBOARD</code>. La définition de l'un des deux
+ <code>USE_SHMGET_SCOREBOARD</code>. La définition de l'un des deux
(ainsi que leurs compagnons respectifs <code>HAVE_MMAP</code> et
- <code>HAVE_SHMGET</code>), active le code fourni pour la mémoire
- partagée. Si votre système propose une autre solution pour la gestion de
- la mémoire partagée, éditez le fichier <code>src/main/http_main.c</code>
- et ajoutez la portion de code nécessaire pour pouvoir l'utiliser dans
+ <code>HAVE_SHMGET</code>), active le code fourni pour la mémoire
+ partagée. Si votre système propose une autre solution pour la gestion de
+ la mémoire partagée, éditez le fichier <code>src/main/http_main.c</code>
+ et ajoutez la portion de code nécessaire pour pouvoir l'utiliser dans
Apache (Merci de nous envoyer aussi le patch correspondant).</p>
- <div class="note">Note à caractère historique : le portage d'Apache sous Linux
- n'utilisait pas la mémoire partagée avant la version 1.2. Ceci entraînait
- un comportement très rudimentaire et peu fiable des versions antérieures
+ <div class="note">Note à caractère historique : le portage d'Apache sous Linux
+ n'utilisait pas la mémoire partagée avant la version 1.2. Ceci entraînait
+ un comportement très rudimentaire et peu fiable des versions antérieures
d'Apache sous Linux.</div>
- <p>Si vous n'avez pas l'intention d'utiliser les modules chargés
- dynamiquement (ce qui est probablement le cas si vous êtes en train de
+ <p>Si vous n'avez pas l'intention d'utiliser les modules chargés
+ dynamiquement (ce qui est probablement le cas si vous êtes en train de
lire ce document afin de personnaliser votre serveur en recherchant le
- moindre des gains en performances), vous pouvez ajouter la définition
- <code>-DDYNAMIC_MODULE_LIMIT=0</code> à la construction de votre serveur.
- Ceci aura pour effet de libérer la mémoire RAM allouée pour le
+ moindre des gains en performances), vous pouvez ajouter la définition
+ <code>-DDYNAMIC_MODULE_LIMIT=0</code> à la construction de votre serveur.
+ Ceci aura pour effet de libérer la mémoire RAM allouée pour le
chargement dynamique des modules.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="trace" id="trace">Appendice : Analyse détaillée d'une trace</a><a title="Lien permanent" href="#trace" class="permalink">¶</a></h2>
+<h2><a name="trace" id="trace">Appendice : Analyse détaillée d'une trace</a><a title="Lien permanent" href="#trace" class="permalink">¶</a></h2>
- <p>Voici la trace d'un appel système d'Apache 2.0.38 avec le MPM worker
- sous Solaris 8. Cette trace a été collectée à l'aide de la commande :</p>
+ <p>Voici la trace d'un appel système d'Apache 2.0.38 avec le MPM worker
+ sous Solaris 8. Cette trace a été collectée à l'aide de la commande :</p>
<div class="example"><p><code>
truss -l -p <var>httpd_child_pid</var>.
</code></p></div>
- <p>L'option <code>-l</code> demande à truss de tracer l'ID du LWP
+ <p>L'option <code>-l</code> demande à truss de tracer l'ID du LWP
(lightweight process--la version de Solaris des threads niveau noyau) qui
- invoque chaque appel système.</p>
+ invoque chaque appel système.</p>
- <p>Les autres systèmes peuvent proposer des utilitaires de traçage
- des appels système différents comme <code>strace</code>,
+ <p>Les autres systèmes peuvent proposer des utilitaires de traçage
+ des appels système différents comme <code>strace</code>,
<code>ktrace</code>, ou <code>par</code>. Ils produisent cependant tous une
trace similaire.</p>
- <p>Dans cette trace, un client a demandé un fichier statique de 10 ko au
- démon httpd. Le traçage des requêtes pour des contenus non statiques
- ou comportant une négociation de contenu a une présentation
- différente (et même assez laide dans certains cas).</p>
+ <p>Dans cette trace, un client a demandé un fichier statique de 10 ko au
+ démon httpd. Le traçage des requêtes pour des contenus non statiques
+ ou comportant une négociation de contenu a une présentation
+ différente (et même assez laide dans certains cas).</p>
<div class="example"><pre>/67: accept(3, 0x00200BEC, 0x00200C0C, 1) (sleeping...)
/67: accept(3, 0x00200BEC, 0x00200C0C, 1) = 9</pre></div>
- <p>Dans cette trace, le thread à l'écoute s'exécute à l'intérieur de
+ <p>Dans cette trace, le thread à l'écoute s'exécute à l'intérieur de
LWP #67.</p>
- <div class="note">Notez l'absence de la sérialisation d'<code>accept(2)</code>. Sur
- cette plateforme spécifique, le MPM worker utilise un accept non sérialisé
- par défaut sauf s'il est en écoute sur des ports multiples.</div>
+ <div class="note">Notez l'absence de la sérialisation d'<code>accept(2)</code>. Sur
+ cette plateforme spécifique, le MPM worker utilise un accept non sérialisé
+ par défaut sauf s'il est en écoute sur des ports multiples.</div>
<div class="example"><pre>/65: lwp_park(0x00000000, 0) = 0
/67: lwp_unpark(65, 1) = 0</pre></div>
- <p>Après avoir accepté la connexion, le thread à l'écoute réactive un
- thread du worker pour effectuer le traitement de la requête. Dans cette
- trace, le thread du worker qui traite la requête est associé à
+ <p>Après avoir accepté la connexion, le thread à l'écoute réactive un
+ thread du worker pour effectuer le traitement de la requête. Dans cette
+ trace, le thread du worker qui traite la requête est associé à
LWP #65.</p>
<div class="example"><pre>/65: getsockname(9, 0x00200BA4, 0x00200BC4, 1) = 0</pre></div>
- <p>Afin de pouvoir implémenter les hôtes virtuels, Apache doit connaître
- l'adresse du socket local utilisé pour accepter la connexion. On pourrait
+ <p>Afin de pouvoir implémenter les hôtes virtuels, Apache doit connaître
+ l'adresse du socket local utilisé pour accepter la connexion. On pourrait
supprimer cet appel dans de nombreuses situations (par exemple dans le cas
- où il n'y a pas d'hôte virtuel ou dans le cas où les directives
+ où il n'y a pas d'hôte virtuel ou dans le cas où les directives
<code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> contiennent des adresses
- sans caractères de substitution). Mais aucun effort n'a été accompli à ce
+ sans caractères de substitution). Mais aucun effort n'a été accompli à ce
jour pour effectuer ces optimisations.</p>
<div class="example"><pre>/65: brk(0x002170E8) = 0
/65: brk(0x002190E8) = 0</pre></div>
- <p>L'appel <code>brk(2)</code> alloue de la mémoire dans le tas. Ceci est
- rarement visible dans une trace d'appel système, car le démon httpd
- utilise des allocateurs mémoire de son cru (<code>apr_pool</code> et
- <code>apr_bucket_alloc</code>) pour la plupart des traitements de requêtes.
- Dans cette trace, le démon httpd vient juste de démarrer, et il doit
- appeler <code>malloc(3)</code> pour réserver les blocs de mémoire
- nécessaires à la création de ses propres allocateurs de mémoire.</p>
+ <p>L'appel <code>brk(2)</code> alloue de la mémoire dans le tas. Ceci est
+ rarement visible dans une trace d'appel système, car le démon httpd
+ utilise des allocateurs mémoire de son cru (<code>apr_pool</code> et
+ <code>apr_bucket_alloc</code>) pour la plupart des traitements de requêtes.
+ Dans cette trace, le démon httpd vient juste de démarrer, et il doit
+ appeler <code>malloc(3)</code> pour réserver les blocs de mémoire
+ nécessaires à la création de ses propres allocateurs de mémoire.</p>
<div class="example"><pre>/65: fcntl(9, F_GETFL, 0x00000000) = 2
/65: fstat64(9, 0xFAF7B818) = 0
<p>Ensuite, le thread de worker passe la connexion du client (descripteur
de fichier 9) en mode non blocant. Les appels <code>setsockopt(2)</code>
- et <code>getsockopt(2)</code> constituent un effet de bord de la manière
+ et <code>getsockopt(2)</code> constituent un effet de bord de la manière
dont la libc de Solaris utilise <code>fcntl(2)</code> pour les sockets.</p>
<div class="example"><pre>/65: read(9, " G E T / 1 0 k . h t m".., 8000) = 97</pre></div>
- <p>Le thread de worker lit la requête du client.</p>
+ <p>Le thread de worker lit la requête du client.</p>
<div class="example"><pre>/65: stat("/var/httpd/apache/httpd-8999/htdocs/10k.html", 0xFAF7B978) = 0
/65: open("/var/httpd/apache/httpd-8999/htdocs/10k.html", O_RDONLY) = 10</pre></div>
- <p>Ce démon httpd a été configuré avec les options
+ <p>Ce démon httpd a été configuré avec les options
<code>Options FollowSymLinks</code> et <code>AllowOverride None</code>. Il
- n'a donc ni besoin d'appeler <code>lstat(2)</code> pour chaque répertoire
- du chemin du fichier demandé, ni besoin de vérifier la présence de fichiers
+ n'a donc ni besoin d'appeler <code>lstat(2)</code> pour chaque répertoire
+ du chemin du fichier demandé, ni besoin de vérifier la présence de fichiers
<code>.htaccess</code>. Il appelle simplement <code>stat(2)</code> pour
- vérifier d'une part que le fichier existe, et d'autre part que c'est un
- fichier régulier, et non un répertoire.</p>
+ vérifier d'une part que le fichier existe, et d'autre part que c'est un
+ fichier régulier, et non un répertoire.</p>
<div class="example"><pre>/65: sendfilev(0, 9, 0x00200F90, 2, 0xFAF7B53C) = 10269</pre></div>
- <p>Dans cet exemple, le démon httpd peut envoyer l'en-tête de la réponse
- HTTP et le fichier demandé à l'aide d'un seul appel système
- <code>sendfilev(2)</code>. La sémantique de sendfile varie en fonction des
- systèmes d'exploitation. Sur certains autres systèmes, il faut faire un
- appel à <code>write(2)</code> ou <code>writev(2)</code> pour envoyer les
- en-têtes avant d'appeler <code>sendfile(2)</code>.</p>
+ <p>Dans cet exemple, le démon httpd peut envoyer l'en-tête de la réponse
+ HTTP et le fichier demandé à l'aide d'un seul appel système
+ <code>sendfilev(2)</code>. La sémantique de sendfile varie en fonction des
+ systèmes d'exploitation. Sur certains autres systèmes, il faut faire un
+ appel à <code>write(2)</code> ou <code>writev(2)</code> pour envoyer les
+ en-têtes avant d'appeler <code>sendfile(2)</code>.</p>
<div class="example"><pre>/65: write(4, " 1 2 7 . 0 . 0 . 1 - ".., 78) = 78</pre></div>
- <p>Cet appel à <code>write(2)</code> enregistre la requête dans le journal
- des accès. Notez qu'une des choses manquant à cette trace est un appel à
- <code>time(2)</code>. A la différence d'Apache 1.3, Apache 2.x utilise
- <code>gettimeofday(3)</code> pour consulter l'heure. Sur certains systèmes
+ <p>Cet appel à <code>write(2)</code> enregistre la requête dans le journal
+ des accès. Notez qu'une des choses manquant à cette trace est un appel à
+ <code>time(2)</code>. A la différence d'Apache 1.3, Apache 2.x utilise
+ <code>gettimeofday(3)</code> pour consulter l'heure. Sur certains systèmes
d'exploitation, comme Linux ou Solaris, <code>gettimeofday</code> est
- implémenté de manière optimisée de telle sorte qu'il consomme moins de
- ressources qu'un appel système habituel.</p>
+ implémenté de manière optimisée de telle sorte qu'il consomme moins de
+ ressources qu'un appel système habituel.</p>
<div class="example"><pre>/65: shutdown(9, 1, 1) = 0
/65: poll(0xFAF7B980, 1, 2000) = 1
<div class="example"><pre>/65: close(10) = 0
/65: lwp_park(0x00000000, 0) (sleeping...)</pre></div>
- <p>Enfin, le thread de worker ferme le fichier qu'il vient de délivrer et
- se bloque jusqu'à ce que le thread en écoute lui assigne une autre
+ <p>Enfin, le thread de worker ferme le fichier qu'il vient de délivrer et
+ se bloque jusqu'à ce que le thread en écoute lui assigne une autre
connexion.</p>
<div class="example"><pre>/67: accept(3, 0x001FEB74, 0x001FEB94, 1) (sleeping...)</pre></div>
- <p>Pendant ce temps, le thread à l'écoute peut accepter une autre connexion
- à partir du moment où il a assigné la connexion présente à un thread de
- worker (selon une certaine logique de contrôle de flux dans le MPM worker
- qui impose des limites au thread à l'écoute si tous les threads de worker
- sont occupés). Bien que cela n'apparaisse pas dans cette trace,
- l'<code>accept(2)</code> suivant peut (et le fait en général, en situation
- de charge élevée) s'exécuter en parallèle avec le traitement de la
- connexion qui vient d'être acceptée par le thread de worker.</p>
+ <p>Pendant ce temps, le thread à l'écoute peut accepter une autre connexion
+ à partir du moment où il a assigné la connexion présente à un thread de
+ worker (selon une certaine logique de contrôle de flux dans le MPM worker
+ qui impose des limites au thread à l'écoute si tous les threads de worker
+ sont occupés). Bien que cela n'apparaisse pas dans cette trace,
+ l'<code>accept(2)</code> suivant peut (et le fait en général, en situation
+ de charge élevée) s'exécuter en parallèle avec le traitement de la
+ connexion qui vient d'être acceptée par le thread de worker.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/misc/perf-tuning.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/misc/perf-tuning.html" title="Français"> fr </a> |
+<a href="../fr/misc/perf-tuning.html" title="Français"> fr </a> |
<a href="../ko/misc/perf-tuning.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/misc/perf-tuning.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/misc/perf-tuning.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Documentations diverses</a></div><div id="page-content"><div id="preamble"><h1>Standards applicables</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/misc/relevant_standards.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/misc/relevant_standards.html" title="Français"> fr </a> |
+<a href="../fr/misc/relevant_standards.html" title="Français"> fr </a> |
<a href="../ko/misc/relevant_standards.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<p>Cette page documente tous les standards applicables que suit le
- serveur HTTP Apache, accompagnés d'une brève description.</p>
+ serveur HTTP Apache, accompagnés d'une brève description.</p>
- <p>Pour compléter les informations fournies ci-dessous, vous pouvez
+ <p>Pour compléter les informations fournies ci-dessous, vous pouvez
consulter les ressources suivantes :</p>
<ul>
<li>
<a href="http://purl.org/NET/http-errata">
http://purl.org/NET/http-errata</a> - Corrections de la
- spécification HTTP/1.1
+ spécification HTTP/1.1
</li>
<li>
<a href="http://www.rfc-editor.org/errata.php">
<li>
<a href="http://ftp.ics.uci.edu/pub/ietf/http/#RFC">
http://ftp.ics.uci.edu/pub/ietf/http/#RFC</a> - Une liste
- précompilée des RFCs en rapport avec HTTP
+ précompilée des RFCs en rapport avec HTTP
</li>
</ul>
<div class="warning"><h3>Avertissement</h3>
- <p>Ce document n'est pas encore finalisé.</p>
+ <p>Ce document n'est pas encore finalisé.</p>
</div>
</div>
<div class="section">
<h2><a name="http_recommendations" id="http_recommendations">Recommandations HTTP</a><a title="Lien permanent" href="#http_recommendations" class="permalink">¶</a></h2>
- <p>Sans tenir compte des modules compilés et utilisés, Apache en
+ <p>Sans tenir compte des modules compilés et utilisés, Apache en
tant que serveur web de base respecte les recommandations IETF
suivantes :</p>
<dd>Le Protocole de Transfert Hypertexte (Hypertext Transfer
Protocol - HTTP) est un protocole de niveau application avec la
- clarté et la vitesse nécessaires pour les systèmes d'informations
- distribués, collaboratifs et hypermédia. Cette RFC documente le
+ clarté et la vitesse nécessaires pour les systèmes d'informations
+ distribués, collaboratifs et hypermédia. Cette RFC documente le
protocole HTTP/1.0.</dd>
<dt><a href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC 2616</a>
- (Série de standards)</dt>
+ (Série de standards)</dt>
<dd>Le Protocole de Transfert Hypertexte (Hypertext Transfer
Protocol - HTTP) est un protocole de niveau application pour les
- systèmes d'informations distribués, collaboratifs et hypermédia.
+ systèmes d'informations distribués, collaboratifs et hypermédia.
Cette RFC documente le protocole HTTP/1.1.</dd>
<dt><a href="http://www.rfc-editor.org/rfc/rfc2396.txt">RFC 2396</a>
- (Série de standards)</dt>
+ (Série de standards)</dt>
<dd>Un Identificateur de Ressource Uniforme (Uniform Resource
- Identifier - URI) est une chaîne de caractères compacte permettant
+ Identifier - URI) est une chaîne de caractères compacte permettant
d'identifier une ressource physique ou abstraite.</dd>
<dt><a href="http://www.rfc-editor.org/rfc/rfc4346.txt">RFC 4346</a>
- (Série de standards)</dt>
+ (Série de standards)</dt>
<dd>Le protocole TLS permet l'utilisation de communications
- sécurisées sur l'Internet. Il fournit le chiffrement, et a été
- conçu pour se prémunir contre l'interception, la modification et
+ sécurisées sur l'Internet. Il fournit le chiffrement, et a été
+ conçu pour se prémunir contre l'interception, la modification et
la falsification de messages.</dd>
</dl>
<dt><a href="http://www.rfc-editor.org/rfc/rfc2854.txt">RFC 2854</a>
(Informations)</dt>
- <dd>Ce document résume l'historique du développement de HTML, et
- définit le type MIME "text/html" en pointant les recommandations
+ <dd>Ce document résume l'historique du développement de HTML, et
+ définit le type MIME "text/html" en pointant les recommandations
W3C correspondantes.</dd>
- <dt><a href="http://www.w3.org/TR/html401">Spécification HTML
+ <dt><a href="http://www.w3.org/TR/html401">Spécification HTML
4.01</a>
(<a href="http://www.w3.org/MarkUp/html4-updates/errata">Corrections
Erreurs</a>)
</dt>
- <dd>Cette spécification définit le Langage à Balises HyperTexte
+ <dd>Cette spécification définit le Langage à Balises HyperTexte
(HyperText Markup Language - HTML), le langage de publication du
- World Wide Web. Elle définit HTML 4.01, qui est une sous-version
+ World Wide Web. Elle définit HTML 4.01, qui est une sous-version
de HTML 4.</dd>
- <dt><a href="http://www.w3.org/TR/REC-html32">Référence HTML
+ <dt><a href="http://www.w3.org/TR/REC-html32">Référence HTML
3.2</a></dt>
- <dd>Le langage à Balises HyperTexte (HyperText Markup Language -
- HTML) est un langage à balises simple permettant de créer des
+ <dd>Le langage à Balises HyperTexte (HyperText Markup Language -
+ HTML) est un langage à balises simple permettant de créer des
documents hypertextes portables. Les documents HTML sont aussi des
documents SGML.</dd>
d'erreurs</a>)
</dt>
- <dd>Cette recommandation définit un nouveau type de document XHTML
- basé sur le cadre de développement des modules et les modules
- définis dans la modularisation de XHTML.</dd>
+ <dd>Cette recommandation définit un nouveau type de document XHTML
+ basé sur le cadre de développement des modules et les modules
+ définis dans la modularisation de XHTML.</dd>
- <dt><a href="http://www.w3.org/TR/xhtml1">XHTML 1.0, le Langage à
+ <dt><a href="http://www.w3.org/TR/xhtml1">XHTML 1.0, le Langage à
Balises Hypertexte Extensible (Extensible HyperText Markup
- Language) - Seconde édition</a>
+ Language) - Seconde édition</a>
(<a href="http://www.w3.org/2002/08/REC-xhtml1-20020801-errata/">Corrections
d'erreurs</a>)
</dt>
- <dd>Cette spécification définit la seconde édition de XHTML 1.0,
+ <dd>Cette spécification définit la seconde édition de XHTML 1.0,
une reformulation de HTML 4 en tant qu'application XML 1.0, ainsi
- que trois DTDs correspondant à celles définies par HTML 4.</dd>
+ que trois DTDs correspondant à celles définies par HTML 4.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="authentication" id="authentication">Authentification</a><a title="Lien permanent" href="#authentication" class="permalink">¶</a></h2>
- <p>En ce qui concerne les différentes méthodes d'authentification,
+ <p>En ce qui concerne les différentes méthodes d'authentification,
Apache respecte les recommandations IETF suivantes :</p>
<dl>
<dt><a href="http://www.rfc-editor.org/rfc/rfc2617.txt">RFC 2617</a>
(Le track des standards)</dt>
- <dd>"HTTP/1.0", y compris la spécification d'un protocole
- d'authentification et de contrôle d'accès basique.</dd>
+ <dd>"HTTP/1.0", y compris la spécification d'un protocole
+ d'authentification et de contrôle d'accès basique.</dd>
</dl>
<h2><a name="language_country_codes" id="language_country_codes">Codes de langages et de
pays</a><a title="Lien permanent" href="#language_country_codes" class="permalink">¶</a></h2>
- <p>Les liens suivants fournissent des informations à propos des
+ <p>Les liens suivants fournissent des informations à propos des
codes de langages et de pays aux normes ISO ou autres :</p>
<dl>
<dt><a href="http://www.loc.gov/standards/iso639-2/">ISO 639-2</a></dt>
<dd>ISO 639 fournit deux jeux de codes de langages permettant de
- représenter les noms des langues ; le premier est
+ représenter les noms des langues ; le premier est
un jeu de codes sur deux lettres (639-1), le second (celui
- présenté dans le lien ci-dessus), est un jeu de codes sur trois
+ présenté dans le lien ci-dessus), est un jeu de codes sur trois
lettres (639-2).</dd>
<dt><a href="http://www.iso.org/iso/country_codes">
ISO 3166-1</a></dt>
- <dd>Ce document présente les noms de pays (les noms raccourcis
- officiels en anglais) dans l'ordre alphabétique, tels qu'ils sont
- présentés dans la norme ISO 3166-1 et les éléments de codes
+ <dd>Ce document présente les noms de pays (les noms raccourcis
+ officiels en anglais) dans l'ordre alphabétique, tels qu'ils sont
+ présentés dans la norme ISO 3166-1 et les éléments de codes
correspondants de la norme ISO 3166-1-alpha-2.</dd>
<dt><a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">BCP 47</a>
(Les meilleurs pratiques courantes),
<a href="http://www.rfc-editor.org/rfc/rfc3066.txt">RFC 3066</a></dt>
- <dd>Ce document décrit une balise de langue permettant de
- spécifier la langue utilisée dans un objet contenant des
- informations, la manière d'enregistrer des valeurs à utiliser dans
- cette balise de langue, et une méthode pour comparer les balises
+ <dd>Ce document décrit une balise de langue permettant de
+ spécifier la langue utilisée dans un objet contenant des
+ informations, la manière d'enregistrer des valeurs à utiliser dans
+ cette balise de langue, et une méthode pour comparer les balises
de langue de ce style.</dd>
<dt><a href="http://www.rfc-editor.org/rfc/rfc3282.txt">RFC 3282</a>
- (Série de standards)</dt>
+ (Série de standards)</dt>
- <dd>Ce document définit une en-tête "Content-language:" permettant
- de spécifier la langue d'un élément possédant des en-têtes du
+ <dd>Ce document définit une en-tête "Content-language:" permettant
+ de spécifier la langue d'un élément possédant des en-têtes du
style RFC 822, comme les portions de corps MIME ou les documents
- Web, et un en-tête "Accept-Language:" permettant de spécifier des
- préférences en matière de langue.</dd>
+ Web, et un en-tête "Accept-Language:" permettant de spécifier des
+ préférences en matière de langue.</dd>
</dl>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/misc/relevant_standards.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/misc/relevant_standards.html" title="Français"> fr </a> |
+<a href="../fr/misc/relevant_standards.html" title="Français"> fr </a> |
<a href="../ko/misc/relevant_standards.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Conseils sur la sécurité - Serveur Apache HTTP Version 2.5</title>
+<title>Conseils sur la sécurité - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Documentations diverses</a></div><div id="page-content"><div id="preamble"><h1>Conseils sur la sécurité</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Documentations diverses</a></div><div id="page-content"><div id="preamble"><h1>Conseils sur la sécurité</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/misc/security_tips.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/misc/security_tips.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/misc/security_tips.html" title="Français"> fr </a> |
+<a href="../es/misc/security_tips.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/misc/security_tips.html" title="Français"> fr </a> |
<a href="../ko/misc/security_tips.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/misc/security_tips.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/misc/security_tips.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
<p>Ce document propose quelques conseils et astuces concernant les
- problèmes de sécurité liés
- à l'installation d'un serveur web. Certaines suggestions seront à caractère
- général, tandis que d'autres seront spécifiques à Apache.</p>
+ problèmes de sécurité liés
+ à l'installation d'un serveur web. Certaines suggestions seront à caractère
+ général, tandis que d'autres seront spécifiques à Apache.</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#uptodate">Maintenez votre serveur à jour</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#dos">Attaques de type "Déni de service"
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#uptodate">Maintenez votre serveur à jour</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#dos">Attaques de type "Déni de service"
(Denial of Service - DoS)</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#serverroot">Permissions sur les répertoires de la racine du serveur</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#ssi">Inclusions côté serveur</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#cgi">Les CGI en général</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#serverroot">Permissions sur les répertoires de la racine du serveur</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ssi">Inclusions côté serveur</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cgi">Les CGI en général</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#nsaliasedcgi">CGI sans alias de script</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#saliasedcgi">CGI avec alias de script</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#dynamic">Autres sources de contenu dynamique</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#systemsettings">Protection de la configuration du système</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#protectserverfiles">Protection par défaut des fichiers du serveur</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#systemsettings">Protection de la configuration du système</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#protectserverfiles">Protection par défaut des fichiers du serveur</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#watchyourlogs">Surveillez vos journaux</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#merging">Fusion des sections de configuration</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="uptodate" id="uptodate">Maintenez votre serveur à jour</a><a title="Lien permanent" href="#uptodate" class="permalink">¶</a></h2>
+<h2><a name="uptodate" id="uptodate">Maintenez votre serveur à jour</a><a title="Lien permanent" href="#uptodate" class="permalink">¶</a></h2>
- <p>Le serveur HTTP Apache a une bonne réputation en matière de sécurité
- et possède une communauté de développeurs très sensibilisés aux problèmes
- de sécurité. Mais il est inévitable de trouver certains problèmes
- -- petits ou grands -- une fois le logiciel mis à disposition. C'est pour
- cette raison qu'il est crucial de se tenir informé des mises à jour. Si
+ <p>Le serveur HTTP Apache a une bonne réputation en matière de sécurité
+ et possède une communauté de développeurs très sensibilisés aux problèmes
+ de sécurité. Mais il est inévitable de trouver certains problèmes
+ -- petits ou grands -- une fois le logiciel mis à disposition. C'est pour
+ cette raison qu'il est crucial de se tenir informé des mises à jour. Si
vous avez obtenu votre version du serveur HTTP directement depuis Apache,
- nous vous conseillons grandement de vous abonner à la <a href="http://httpd.apache.org/lists.html#http-announce">Liste de diffusion
+ nous vous conseillons grandement de vous abonner à la <a href="http://httpd.apache.org/lists.html#http-announce">Liste de diffusion
des annonces du serveur HTTP</a> qui vous informera de
- la parution des nouvelles versions et des mises à jour de sécurité. La
+ la parution des nouvelles versions et des mises à jour de sécurité. La
plupart des distributeurs tiers d'Apache fournissent des services
similaires.</p>
- <p>Gardez cependant à l'esprit que lorsqu'un serveur web est compromis, le
- code du serveur HTTP n'est la plupart du temps pas en cause. Les problèmes
- proviennent plutôt de code ajouté, de scripts CGI, ou du système
- d'exploitation sous-jacent. Vous devez donc vous tenir informé des
- problèmes et mises à jour concernant tous les logiciels présents sur
- votre système.</p>
+ <p>Gardez cependant à l'esprit que lorsqu'un serveur web est compromis, le
+ code du serveur HTTP n'est la plupart du temps pas en cause. Les problèmes
+ proviennent plutôt de code ajouté, de scripts CGI, ou du système
+ d'exploitation sous-jacent. Vous devez donc vous tenir informé des
+ problèmes et mises à jour concernant tous les logiciels présents sur
+ votre système.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="dos" id="dos">Attaques de type "Déni de service"
+<h2><a name="dos" id="dos">Attaques de type "Déni de service"
(Denial of Service - DoS)</a><a title="Lien permanent" href="#dos" class="permalink">¶</a></h2>
- <p>Tous les services réseau peuvent faire l'objet d'attaques de type
- "Déni de service" qui tentent de les empêcher de répondre aux clients en
- saturant leurs ressources. Il est impossible de se prémunir totalement
+ <p>Tous les services réseau peuvent faire l'objet d'attaques de type
+ "Déni de service" qui tentent de les empêcher de répondre aux clients en
+ saturant leurs ressources. Il est impossible de se prémunir totalement
contre ce type d'attaques, mais vous pouvez accomplir certaines actions
- afin de minimiser les problèmes qu'elles créent.</p>
+ afin de minimiser les problèmes qu'elles créent.</p>
- <p>Souvent, l'outil anti-DoS le plus efficace sera constitué par le
- pare-feu ou certaines configurations du système d'exploitation. Par
- exemple, la plupart des pare-feu peuvent être configurés de façon à
- limiter le nombre de connexions simultanées depuis une adresse IP ou un
- réseau, ce qui permet de prévenir toute une gamme d'attaques simples.
- Bien sûr, ceci n'est d'aucun secours contre les attaques de type
- "Déni de service" distribuées (DDoS).</p>
+ <p>Souvent, l'outil anti-DoS le plus efficace sera constitué par le
+ pare-feu ou certaines configurations du système d'exploitation. Par
+ exemple, la plupart des pare-feu peuvent être configurés de façon à
+ limiter le nombre de connexions simultanées depuis une adresse IP ou un
+ réseau, ce qui permet de prévenir toute une gamme d'attaques simples.
+ Bien sûr, ceci n'est d'aucun secours contre les attaques de type
+ "Déni de service" distribuées (DDoS).</p>
- <p>Certains réglages de la configuration d'Apache peuvent aussi
- minimiser les problèmes :</p>
+ <p>Certains réglages de la configuration d'Apache peuvent aussi
+ minimiser les problèmes :</p>
<ul>
<li>La directive <code class="directive"><a href="../mod/mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout</a></code> permet de
- limiter le temps que met le client pour envoyer sa requête.</li>
+ limiter le temps que met le client pour envoyer sa requête.</li>
<li>La valeur de la directive
- <code class="directive"><a href="../mod/core.html#timeout">TimeOut</a></code> doit être diminuée sur les
+ <code class="directive"><a href="../mod/core.html#timeout">TimeOut</a></code> doit être diminuée sur les
sites sujets aux attaques DoS. Une valeur de quelques secondes devrait
convenir. Cependant, comme <code class="directive"><a href="../mod/core.html#timeout">TimeOut</a></code>
- est actuellement concerné par de nombreuses opérations différentes, lui
- attribuer une valeur trop faible peut provoquer des problèmes avec les
- scripts CGI qui présentent un long temps de réponse.</li>
+ est actuellement concerné par de nombreuses opérations différentes, lui
+ attribuer une valeur trop faible peut provoquer des problèmes avec les
+ scripts CGI qui présentent un long temps de réponse.</li>
<li>La valeur de la directive
- <code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code> doit aussi être
- diminuée sur les sites sujets aux attaques DoS. Certains sites
- désactivent même complètement le "maintien en vie" (keepalives)
- à l'aide de la directive
- <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code>, ce qui bien sûr
- présente des inconvénients en matière de performances.</li>
+ <code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code> doit aussi être
+ diminuée sur les sites sujets aux attaques DoS. Certains sites
+ désactivent même complètement le "maintien en vie" (keepalives)
+ à l'aide de la directive
+ <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code>, ce qui bien sûr
+ présente des inconvénients en matière de performances.</li>
- <li>Les valeurs des différentes directives fournies par d'autres modules
- et en rapport avec des délais doivent aussi être vérifiées.</li>
+ <li>Les valeurs des différentes directives fournies par d'autres modules
+ et en rapport avec des délais doivent aussi être vérifiées.</li>
<li>Les directives
<code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code>,
<code class="directive"><a href="../mod/core.html#limitrequestfields">LimitRequestFields</a></code>,
<code class="directive"><a href="../mod/core.html#limitrequestfieldsize">LimitRequestFieldSize</a></code>,
<code class="directive"><a href="../mod/core.html#limitrequestline">LimitRequestLine</a></code>, et
- <code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code> doivent être
- configurées avec prudence afin de limiter la consommation de ressources
+ <code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code> doivent être
+ configurées avec prudence afin de limiter la consommation de ressources
induite par les demandes des clients.
</li>
- <li>Sur les systèmes d'exploitation qui le supportent, assurez-vous que
+ <li>Sur les systèmes d'exploitation qui le supportent, assurez-vous que
la directive <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> est
- activée afin de déléguer une partie du traitement des requêtes au
- système d'exploitation. Elle est activée par défaut dans le démon httpd
- d'Apache, mais peut nécessiter une reconfiguration de votre noyau.</li>
+ activée afin de déléguer une partie du traitement des requêtes au
+ système d'exploitation. Elle est activée par défaut dans le démon httpd
+ d'Apache, mais peut nécessiter une reconfiguration de votre noyau.</li>
- <li>Optimisez la directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> de façon à définir le nombre
- maximum de connexions simultanées au dessus duquel les ressources
- s'épuisent. Voir aussi la <a href="perf-tuning.html">documentation sur l'optimisation des
+ <li>Optimisez la directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> de façon à définir le nombre
+ maximum de connexions simultanées au dessus duquel les ressources
+ s'épuisent. Voir aussi la <a href="perf-tuning.html">documentation sur l'optimisation des
performances</a>.</li>
- <li>L'utilisation d'un <a href="../mpm.html">module mpm</a> threadé
- vous permet de traiter d'avantage de connexions simultanées, ce qui
+ <li>L'utilisation d'un <a href="../mpm.html">module mpm</a> threadé
+ vous permet de traiter d'avantage de connexions simultanées, ce qui
minimise l'effet des attaques DoS. Dans le futur, le module mpm
<code class="module"><a href="../mod/event.html">event</a></code> utilisera un traitement asynchrone afin de ne pas
- dédier un thread à chaque connexion. De par la
- nature de la bibliothèque OpenSSL, le module mpm <code class="module"><a href="../mod/event.html">event</a></code> est actuellement incompatible
+ dédier un thread à chaque connexion. De par la
+ nature de la bibliothèque OpenSSL, le module mpm <code class="module"><a href="../mod/event.html">event</a></code> est actuellement incompatible
avec le module <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> ainsi que d'autres filtres
- en entrée. Dans ces cas, son comportement se ramène à celui
+ en entrée. Dans ces cas, son comportement se ramène à celui
du module mpm <code class="module"><a href="../mod/worker.html">worker</a></code>.</li>
- <li>Il existe de nombreux modules tiers disponibles à <a href="http://modules.apache.org/">http://modules.apache.org/</a> qui
+ <li>Il existe de nombreux modules tiers disponibles à <a href="http://modules.apache.org/">http://modules.apache.org/</a> qui
peuvent retreindre les comportements de certains clients et ainsi
- minimiser les problèmes de DoS.</li>
+ minimiser les problèmes de DoS.</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="serverroot" id="serverroot">Permissions sur les répertoires de la racine du serveur</a><a title="Lien permanent" href="#serverroot" class="permalink">¶</a></h2>
+<h2><a name="serverroot" id="serverroot">Permissions sur les répertoires de la racine du serveur</a><a title="Lien permanent" href="#serverroot" class="permalink">¶</a></h2>
- <p>Typiquement, Apache est démarré par l'utilisateur root, puis il devient
- la propriété de l'utilisateur défini par la directive <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> afin de répondre aux demandes. Comme
- pour toutes les commandes exécutées par root, vous devez vous assurer
+ <p>Typiquement, Apache est démarré par l'utilisateur root, puis il devient
+ la propriété de l'utilisateur défini par la directive <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> afin de répondre aux demandes. Comme
+ pour toutes les commandes exécutées par root, vous devez vous assurer
qu'elle n'est pas modifiable par les utilisateurs autres que root. Les
- fichiers eux-mêmes, mais aussi les répertoires ainsi que leurs parents ne
- doivent être modifiables que par root. Par exemple, si vous avez choisi de
- placer la racine du serveur dans <code>/usr/local/apache</code>, il est conseillé de
- créer le répertoire en tant que root, avec des commandes du style :</p>
+ fichiers eux-mêmes, mais aussi les répertoires ainsi que leurs parents ne
+ doivent être modifiables que par root. Par exemple, si vous avez choisi de
+ placer la racine du serveur dans <code>/usr/local/apache</code>, il est conseillé de
+ créer le répertoire en tant que root, avec des commandes du style :</p>
<div class="example"><p><code>
mkdir /usr/local/apache <br />
<p>Nous supposerons que <code>/</code>, <code>/usr</code> et
<code>/usr/local</code> ne sont modifiables que par
- root. Quand vous installez l'exécutable <code class="program"><a href="../programs/httpd.html">httpd</a></code>, vous
- devez vous assurer qu'il possède des protections similaires :</p>
+ root. Quand vous installez l'exécutable <code class="program"><a href="../programs/httpd.html">httpd</a></code>, vous
+ devez vous assurer qu'il possède des protections similaires :</p>
<div class="example"><p><code>
cp httpd /usr/local/apache/bin <br />
chmod 511 /usr/local/apache/bin/httpd
</code></p></div>
- <p>Vous pouvez créer un sous-répertoire htdocs modifiable par d'autres
- utilisateurs -- car root ne crée ni exécute aucun fichier dans ce
- sous-répertoire.</p>
+ <p>Vous pouvez créer un sous-répertoire htdocs modifiable par d'autres
+ utilisateurs -- car root ne crée ni exécute aucun fichier dans ce
+ sous-répertoire.</p>
- <p>Si vous permettez à des utilisateurs non root de modifier des fichiers
- que root écrit ou exécute, vous exposez votre système à une compromission
+ <p>Si vous permettez à des utilisateurs non root de modifier des fichiers
+ que root écrit ou exécute, vous exposez votre système à une compromission
de l'utilisateur root. Par exemple, quelqu'un pourrait remplacer le binaire
- <code class="program"><a href="../programs/httpd.html">httpd</a></code> de façon à ce que la prochaine fois que vous le
- redémarrerez, il exécutera un code arbitraire. Si le répertoire des
- journaux a les droits en écriture (pour un utilisateur non root), quelqu'un
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code> de façon à ce que la prochaine fois que vous le
+ redémarrerez, il exécutera un code arbitraire. Si le répertoire des
+ journaux a les droits en écriture (pour un utilisateur non root), quelqu'un
pourrait remplacer un fichier journal par un lien symbolique vers un autre
- fichier système, et root pourrait alors écraser ce fichier avec des données
- arbitraires. Si les fichiers journaux eux-mêmes ont des droits en
- écriture (pour un utilisateur non root), quelqu'un pourrait
- modifier les journaux eux-mêmes avec des données fausses.</p>
+ fichier système, et root pourrait alors écraser ce fichier avec des données
+ arbitraires. Si les fichiers journaux eux-mêmes ont des droits en
+ écriture (pour un utilisateur non root), quelqu'un pourrait
+ modifier les journaux eux-mêmes avec des données fausses.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="ssi" id="ssi">Inclusions côté serveur</a><a title="Lien permanent" href="#ssi" class="permalink">¶</a></h2>
+<h2><a name="ssi" id="ssi">Inclusions côté serveur</a><a title="Lien permanent" href="#ssi" class="permalink">¶</a></h2>
- <p>Les inclusions côté serveur (Server Side Includes - SSI) exposent
- l'administrateur du serveur à de nombreux risques potentiels en matière de
- sécurité.</p>
+ <p>Les inclusions côté serveur (Server Side Includes - SSI) exposent
+ l'administrateur du serveur à de nombreux risques potentiels en matière de
+ sécurité.</p>
<p>Le premier risque est l'augmentation de la charge du serveur. Tous les
- fichiers où SSI est activé doivent être analysés par Apache, qu'ils
+ fichiers où SSI est activé doivent être analysés par Apache, qu'ils
contiennent des directives SSI ou non. L'augmentation de la charge induite
est minime, mais peut devenir significative dans le contexte d'un
- serveur partagé.</p>
+ serveur partagé.</p>
- <p>Les fichiers SSI présentent les mêmes risques que les scripts CGI en
- général. Les fichiers où SSI est activé peuvent exécuter tout script CGI
- ou autre programme à l'aide de la commande <code>"exec cmd"</code> avec les permissions
- des utilisateur et groupe sous lesquels Apache s'exécute, comme défini
+ <p>Les fichiers SSI présentent les mêmes risques que les scripts CGI en
+ général. Les fichiers où SSI est activé peuvent exécuter tout script CGI
+ ou autre programme à l'aide de la commande <code>"exec cmd"</code> avec les permissions
+ des utilisateur et groupe sous lesquels Apache s'exécute, comme défini
dans <code>httpd.conf</code>.</p>
- <p>Des méthodes existent pour améliorer la sécurité des fichiers SSI, tout
- en tirant parti des bénéfices qu'ils apportent.</p>
+ <p>Des méthodes existent pour améliorer la sécurité des fichiers SSI, tout
+ en tirant parti des bénéfices qu'ils apportent.</p>
<p>Pour limiter les dommages qu'un fichier SSI agressif pourrait causer,
l'administrateur du serveur peut activer<a href="../suexec.html">suexec</a>
- comme décrit dans la section <a href="#cgi">Les CGI en général</a>.</p>
+ comme décrit dans la section <a href="#cgi">Les CGI en général</a>.</p>
- <p>L'activation des SSI pour des fichiers possédant des extensions
+ <p>L'activation des SSI pour des fichiers possédant des extensions
<code>.html</code> ou
- <code>.htm</code> peut s'avérer dangereux. Ceci est particulièrement vrai dans un
- environnement de serveur partagé ou étant le siège d'un traffic élevé. Les
- fichiers où SSI est activé doivent posséder une extension spécifique, telle
+ <code>.htm</code> peut s'avérer dangereux. Ceci est particulièrement vrai dans un
+ environnement de serveur partagé ou étant le siège d'un traffic élevé. Les
+ fichiers où SSI est activé doivent posséder une extension spécifique, telle
que la conventionnelle <code>.shtml</code>. Ceci permet de limiter la charge du serveur
- à un niveau minimum et de simplifier la gestion des risques.</p>
+ à un niveau minimum et de simplifier la gestion des risques.</p>
- <p>Une autre solution consiste à interdire l'exécution de scripts et
- programmes à partir de pages SSI. Pour ce faire, remplacez
+ <p>Une autre solution consiste à interdire l'exécution de scripts et
+ programmes à partir de pages SSI. Pour ce faire, remplacez
<code>Includes</code> par <code>IncludesNOEXEC</code> dans la directive
<code class="directive"><a href="../mod/core.html#options">Options</a></code>. Notez que les utilisateurs
- pourront encore utiliser <code><--#include virtual="..." --></code> pour exécuter
- des scripts CGI si ces scripts sont situés dans des répertoires spécifiés
+ pourront encore utiliser <code><--#include virtual="..." --></code> pour exécuter
+ des scripts CGI si ces scripts sont situés dans des répertoires spécifiés
par une directive
<code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</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="cgi" id="cgi">Les CGI en général</a><a title="Lien permanent" href="#cgi" class="permalink">¶</a></h2>
+<h2><a name="cgi" id="cgi">Les CGI en général</a><a title="Lien permanent" href="#cgi" class="permalink">¶</a></h2>
- <p>Tout d'abord, vous devez toujours garder à l'esprit que vous devez
- faire confiance aux développeurs de scripts ou programmes CGI ainsi qu'à
- vos compétences pour déceler les trous de sécurité potentiels dans les
- CGI, que ceux-ci soient délibérés ou accidentels. Les scripts CGI peuvent
- essentiellement exécuter des commandes arbitraires sur votre système avec
- les droits de l'utilisateur du serveur web, et peuvent par conséquent être
- extrèmement dangereux s'ils ne sont pas vérifiés avec soin.</p>
-
- <p>Tous les scripts CGI s'exécutent sous le même utilisateur, il peuvent
- donc entrer en conflit (accidentellement ou délibérément) avec d'autres
- scripts. Par exemple, l'utilisateur A hait l'utilisateur B, il écrit donc
- un script qui efface la base de données CGI de l'utilisateur B. Vous pouvez
+ <p>Tout d'abord, vous devez toujours garder à l'esprit que vous devez
+ faire confiance aux développeurs de scripts ou programmes CGI ainsi qu'à
+ vos compétences pour déceler les trous de sécurité potentiels dans les
+ CGI, que ceux-ci soient délibérés ou accidentels. Les scripts CGI peuvent
+ essentiellement exécuter des commandes arbitraires sur votre système avec
+ les droits de l'utilisateur du serveur web, et peuvent par conséquent être
+ extrèmement dangereux s'ils ne sont pas vérifiés avec soin.</p>
+
+ <p>Tous les scripts CGI s'exécutent sous le même utilisateur, il peuvent
+ donc entrer en conflit (accidentellement ou délibérément) avec d'autres
+ scripts. Par exemple, l'utilisateur A hait l'utilisateur B, il écrit donc
+ un script qui efface la base de données CGI de l'utilisateur B. Vous pouvez
utiliser le programme <a href="../suexec.html">suEXEC</a> pour faire en
- sorte que les scripts s'exécutent sous des utilisateurs différents. Ce
+ sorte que les scripts s'exécutent sous des utilisateurs différents. Ce
programme est inclus dans la distribution d'Apache depuis la version 1.2
- et est appelé à partir de certaines portions de code du serveur Apache. Une
- autre méthode plus connue est l'utilisation de
+ et est appelé à partir de certaines portions de code du serveur Apache. Une
+ autre méthode plus connue est l'utilisation de
<a href="http://cgiwrap.sourceforge.net/">CGIWrap</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
- <p>Vous ne devez permettre aux utilisateurs d'exécuter des scripts CGI
- depuis n'importe quel répertoire que dans l'éventualité où :</p>
+ <p>Vous ne devez permettre aux utilisateurs d'exécuter des scripts CGI
+ depuis n'importe quel répertoire que dans l'éventualité où :</p>
<ul>
- <li>Vous faites confiance à vos utilisateurs pour ne pas écrire de
- scripts qui vont délibérément ou accidentellement exposer votre
- système à une attaque.</li>
- <li>Vous estimez que le niveau de sécurité dans les autres parties de
- votre site est si faible qu'un trou de sécurité de plus ou de moins
- n'est pas très important.</li>
- <li>Votre système ne comporte aucun utilisateur, et personne ne visite
+ <li>Vous faites confiance à vos utilisateurs pour ne pas écrire de
+ scripts qui vont délibérément ou accidentellement exposer votre
+ système à une attaque.</li>
+ <li>Vous estimez que le niveau de sécurité dans les autres parties de
+ votre site est si faible qu'un trou de sécurité de plus ou de moins
+ n'est pas très important.</li>
+ <li>Votre système ne comporte aucun utilisateur, et personne ne visite
jamais votre site.</li>
</ul>
- <p>Le confinement des CGI dans des répertoires spécifiques permet à
- l'administrateur de contrôler ce que l'on met dans ces répertoires. Ceci
- est bien entendu mieux sécurisé que les CGI sans alias de script, mais
- seulement à condition que les utilisateurs avec les droits en écriture sur
- les répertoires soient dignes de confiance, et que l'administrateur ait la
- volonté de tester chaque programme ou script CGI à la recherche d'éventuels
- trous de sécurité.</p>
+ <p>Le confinement des CGI dans des répertoires spécifiques permet à
+ l'administrateur de contrôler ce que l'on met dans ces répertoires. Ceci
+ est bien entendu mieux sécurisé que les CGI sans alias de script, mais
+ seulement à condition que les utilisateurs avec les droits en écriture sur
+ les répertoires soient dignes de confiance, et que l'administrateur ait la
+ volonté de tester chaque programme ou script CGI à la recherche d'éventuels
+ trous de sécurité.</p>
- <p>La plupart des sites choisissent cette approche au détriment des CGI
+ <p>La plupart des sites choisissent cette approche au détriment des CGI
sans alias de script.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<p>
- Les options de scripting intégrées qui s'exécutent en tant que partie du
- serveur lui-même, comme <code>mod_php</code>, <code>mod_perl</code>,
+ Les options de scripting intégrées qui s'exécutent en tant que partie du
+ serveur lui-même, comme <code>mod_php</code>, <code>mod_perl</code>,
<code>mod_tcl</code>, et <code>mod_python</code>,
- s'exécutent sous le même utilisateur que le serveur (voir la directive
- <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code>), et par conséquent,
- les scripts que ces moteurs exécutent peuvent accéder aux mêmes ressources
+ s'exécutent sous le même utilisateur que le serveur (voir la directive
+ <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code>), et par conséquent,
+ les scripts que ces moteurs exécutent peuvent accéder aux mêmes ressources
que le serveur. Certains moteurs de scripting peuvent proposer des
- restrictions, mais pour plus de sûreté, il vaut mieux partir du principe
+ restrictions, mais pour plus de sûreté, il vaut mieux partir du principe
que ce n'est pas le cas.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="systemsettings" id="systemsettings">Protection de la configuration du système</a><a title="Lien permanent" href="#systemsettings" class="permalink">¶</a></h2>
+<h2><a name="systemsettings" id="systemsettings">Protection de la configuration du système</a><a title="Lien permanent" href="#systemsettings" class="permalink">¶</a></h2>
- <p>Pour contrôler étroitement votre serveur, vous pouvez interdire
+ <p>Pour contrôler étroitement votre serveur, vous pouvez interdire
l'utilisation des fichiers <code>.htaccess</code> qui permettent de
- passer outre les fonctionnalités de sécurité que vous avez configurées.
+ passer outre les fonctionnalités de sécurité que vous avez configurées.
Voici un moyen pour y parvenir :</p>
<p>Ajoutez dans le fichier de configuration du serveur</p>
<p>Ceci interdit l'utilisation des fichiers <code>.htaccess</code> dans
- tous les répertoires, sauf ceux pour lesquels c'est explicitement
- autorisé.</p>
+ tous les répertoires, sauf ceux pour lesquels c'est explicitement
+ autorisé.</p>
- <p>Notez que c'est la configuration par défaut depuis Apache 2.3.9.</p>
+ <p>Notez que c'est la configuration par défaut depuis Apache 2.3.9.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="protectserverfiles" id="protectserverfiles">Protection par défaut des fichiers du serveur</a><a title="Lien permanent" href="#protectserverfiles" class="permalink">¶</a></h2>
+<h2><a name="protectserverfiles" id="protectserverfiles">Protection par défaut des fichiers du serveur</a><a title="Lien permanent" href="#protectserverfiles" class="permalink">¶</a></h2>
- <p>Le concept d'accès par défaut est un aspect d'Apache qui est parfois mal
- compris. C'est à dire que, à moins que vous ne changiez explicitement ce
+ <p>Le concept d'accès par défaut est un aspect d'Apache qui est parfois mal
+ compris. C'est à dire que, à moins que vous ne changiez explicitement ce
comportement, si le serveur trouve son chemin vers un fichier en suivant
- les règles normales de correspondance URL - fichier, il peut le retourner
+ les règles normales de correspondance URL - fichier, il peut le retourner
aux clients.</p>
- <p>Considérons l'exemple suivant :</p>
+ <p>Considérons l'exemple suivant :</p>
<div class="example"><p><code>
# cd /; ln -s / public_html <br />
- puis accès à <code>http://localhost/~root/</code>
+ puis accès à <code>http://localhost/~root/</code>
</code></p></div>
- <p>Ceci permettrait aux clients de parcourir l'ensemble du système de
- fichiers. Pour l'éviter, ajoutez le bloc suivant à la configuration
+ <p>Ceci permettrait aux clients de parcourir l'ensemble du système de
+ fichiers. Pour l'éviter, ajoutez le bloc suivant à la configuration
de votre serveur :</p>
<pre class="prettyprint lang-config"><Directory "/">
</Directory></pre>
- <p>ceci va interdire l'accès par défaut à tous les fichiers du système de
+ <p>ceci va interdire l'accès par défaut à tous les fichiers du système de
fichiers. Vous devrez ensuite ajouter les blocs
- <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> appropriés correspondant
- aux répertoires auxquels vous voulez autorisez l'accès. Par exemple,</p>
+ <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> appropriés correspondant
+ aux répertoires auxquels vous voulez autorisez l'accès. Par exemple,</p>
<pre class="prettyprint lang-config"><Directory "/usr/users/*/public_html">
Require all granted
</Directory></pre>
- <p>Portez une attention particulière aux interactions entre les directives
+ <p>Portez une attention particulière aux interactions entre les directives
<code class="directive"><a href="../mod/core.html#location">Location</a></code> et
<code class="directive"><a href="../mod/core.html#directory">Directory</a></code> ; par exemple, si une
- directive <code><Directory "/"></code> interdit un accès, une
+ directive <code><Directory "/"></code> interdit un accès, une
directive <code><Location "/"></code> pourra passer outre.</p>
- <p>De même, soyez méfiant en jouant avec la directive
- <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> ; la positionner à
- <code>"./"</code> aurait le même effet, pour root, que le premier exemple plus haut.
+ <p>De même, soyez méfiant en jouant avec la directive
+ <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> ; la positionner à
+ <code>"./"</code> aurait le même effet, pour root, que le premier exemple plus haut.
Nous vous conseillons
fortement d'inclure la ligne suivante dans le fichier de configuration de
votre serveur :</p>
- <p>Pour vous tenir informé de ce qui se passe réellement dans votre
+ <p>Pour vous tenir informé de ce qui se passe réellement dans votre
serveur, vous devez consulter vos
- <a href="../logs.html">fichiers journaux</a>. Même si les fichiers journaux
- ne consignent que des évènements qui se sont déjà produits, ils vous
- informeront sur la nature des attaques qui sont lancées contre le serveur
- et vous permettront de vérifier si le niveau de sécurité nécessaire est
+ <a href="../logs.html">fichiers journaux</a>. Même si les fichiers journaux
+ ne consignent que des évènements qui se sont déjà produits, ils vous
+ informeront sur la nature des attaques qui sont lancées contre le serveur
+ et vous permettront de vérifier si le niveau de sécurité nécessaire est
atteint.</p>
<p>Quelques exemples :</p>
</code></p></div>
<p>Le premier exemple listera les attaques essayant d'exploiter la
- <a href="http://online.securityfocus.com/bid/4876/info/">vulnérabilité
+ <a href="http://online.securityfocus.com/bid/4876/info/">vulnérabilité
d'Apache Tomcat pouvant provoquer la divulgation d'informations par des
- requêtes Source.JSP mal formées</a>, le second donnera la liste des dix
- dernières interdictions client ; par exemple :</p>
+ requêtes Source.JSP mal formées</a>, le second donnera la liste des dix
+ dernières interdictions client ; par exemple :</p>
<div class="example"><p><code>
[Thu Jul 11 17:18:39 2002] [error] [client foo.example.com] client denied
</code></p></div>
<p>Comme vous le voyez, les fichiers journaux ne consignent que ce qui
- s'est déjà produit ; ainsi, si le client a pu accéder au fichier
+ s'est déjà produit ; ainsi, si le client a pu accéder au fichier
<code>.htpasswd</code>, vous devriez avoir quelque chose du style :</p>
<div class="example"><p><code>
foo.example.com - - [12/Jul/2002:01:59:13 +0200] "GET /.htpasswd HTTP/1.1"
</code></p></div>
- <p>dans votre <a href="../logs.html#accesslog">journal des accès</a> ; ce
+ <p>dans votre <a href="../logs.html#accesslog">journal des accès</a> ; ce
qui signifie que vous avez probablement mis en commentaire ce qui suit dans
le fichier de configuration de votre serveur :</p>
- <p>La fusion des sections de configuration est complexe et dépend
- souvent des directives utilisées. Vous devez systématiquement tester
- vos modifications pour vérifier la manière dont les directives sont
- fusionnées.</p>
+ <p>La fusion des sections de configuration est complexe et dépend
+ souvent des directives utilisées. Vous devez systématiquement tester
+ vos modifications pour vérifier la manière dont les directives sont
+ fusionnées.</p>
- <p>Concernant les modules qui n'implémentent aucune logique de
+ <p>Concernant les modules qui n'implémentent aucune logique de
fusion, comme <code class="directive">mod_access_compat</code>, le
- comportement des sections suivantes est tributaire de la présence
- dans ces dernières de directives appartenant à ces modules. La
- configuration est héritée jusqu'à ce qu'une modification soit
- effectuée ; à ce moment, la configuration est <em>remplacée</em> et
- non fusionnée.</p>
+ comportement des sections suivantes est tributaire de la présence
+ dans ces dernières de directives appartenant à ces modules. La
+ configuration est héritée jusqu'à ce qu'une modification soit
+ effectuée ; à ce moment, la configuration est <em>remplacée</em> et
+ non fusionnée.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/misc/security_tips.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/misc/security_tips.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/misc/security_tips.html" title="Français"> fr </a> |
+<a href="../es/misc/security_tips.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/misc/security_tips.html" title="Français"> fr </a> |
<a href="../ko/misc/security_tips.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/misc/security_tips.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/misc/security_tips.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
<div id="page-content">
-<div id="preamble"><h1>Fonctionalités de Base Apache</h1>
+<div id="preamble"><h1>Fonctionalités de Base Apache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/core.html" title="Français"> fr </a> |
+<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/core.html" title="Français"> fr </a> |
<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
-<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalités de base du serveur HTTP Apache toujours
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalités de base du serveur HTTP Apache toujours
disponibles</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Core</td></tr></table>
</div>
<li><img alt="" src="../images/down.gif" /> <a href="#virtualhost"><VirtualHost></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#warning">Warning</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=core">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=core">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=core">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=core">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="directive-section"><h2><a name="acceptfilter" id="acceptfilter">Directive</a> <a name="AcceptFilter" id="AcceptFilter">AcceptFilter</a><a title="Lien permanent" href="#acceptfilter" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'optimiser la configuration d'une socket pour
-l'écoute d'un protocole</td></tr>
+l'écoute d'un protocole</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AcceptFilter <var>protocole</var> <var>filtre
d'acceptation</var></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#Module">Module:</a></th><td>core</td></tr>
</table>
<p>Cette directive permet d'effectuer une optimisation de la socket
- d'écoute d'un type de protocole en fonction du système
+ d'écoute d'un type de protocole en fonction du système
d'exploitation. Le but premier est de faire en sorte que le noyau
- n'envoie pas de socket au processus du serveur jusqu'à ce que
- des données soient reçues, ou qu'une requête HTTP complète soit mise
+ n'envoie pas de socket au processus du serveur jusqu'à ce que
+ des données soient reçues, ou qu'une requête HTTP complète soit mise
en tampon. Seuls les <a href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter& sektion=9">Filtres d'acceptation de FreeBSD</a>, le filtre plus
primitif <code>TCP_DEFER_ACCEPT</code> sous Linux, et la version
- optimisée d'AcceptEx() de Windows sont actuellement supportés.</p>
+ optimisée d'AcceptEx() de Windows sont actuellement supportés.</p>
- <p>L'utilisation de l'argument <code>none</code> va désactiver tout
- filtre d'acceptation pour ce protocole. Ceci s'avère utile pour les
- protocoles qui nécessitent l'envoi de données par le serveur en
+ <p>L'utilisation de l'argument <code>none</code> va désactiver tout
+ filtre d'acceptation pour ce protocole. Ceci s'avère utile pour les
+ protocoles qui nécessitent l'envoi de données par le serveur en
premier, comme <code>ftp:</code> ou <code>nntp</code>:</p>
<pre class="prettyprint lang-config">AcceptFilter nntp none</pre>
- <p>Les noms de protocoles par défaut sont <code>https</code> pour le
+ <p>Les noms de protocoles par défaut sont <code>https</code> pour le
port 443 et <code>http</code> pour tous les autres ports. Pour
- spécifier un autre protocole à utiliser avec un port en écoute,
- ajoutez l'argument <var>protocol</var> à la directive <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p>
+ spécifier un autre protocole à utiliser avec un port en écoute,
+ ajoutez l'argument <var>protocol</var> à la directive <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p>
- <p>Sous FreeBSD, les valeurs par défaut sont :</p>
+ <p>Sous FreeBSD, les valeurs par défaut sont :</p>
<pre class="prettyprint lang-config">AcceptFilter http httpready
AcceptFilter https dataready</pre>
<p>Le filtre d'acceptation <code>httpready</code> met en tampon des
- requêtes HTTP entières au niveau du noyau. Quand une requête
- entière a été reçue, le noyau l'envoie au serveur. Voir la page de
- manuel de <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_http& sektion=9">accf_http(9)</a> pour plus de détails. Comme les requêtes
- HTTPS sont chiffrées, celles-ci n'autorisent que le filtre <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_data& sektion=9">accf_data(9)</a>.</p>
+ requêtes HTTP entières au niveau du noyau. Quand une requête
+ entière a été reçue, le noyau l'envoie au serveur. Voir la page de
+ manuel de <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_http& sektion=9">accf_http(9)</a> pour plus de détails. Comme les requêtes
+ HTTPS sont chiffrées, celles-ci n'autorisent que le filtre <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_data& sektion=9">accf_data(9)</a>.</p>
- <p>Sous Linux, les valeurs par défaut sont :</p>
+ <p>Sous Linux, les valeurs par défaut sont :</p>
<pre class="prettyprint lang-config">AcceptFilter http data
AcceptFilter https data</pre>
<p>Le filtre <code>TCP_DEFER_ACCEPT</code> de Linux ne supporte pas
- la mise en tampon des requêtes http. Toute valeur autre que
+ la mise en tampon des requêtes http. Toute valeur autre que
<code>none</code> active le filtre <code>TCP_DEFER_ACCEPT</code>
- pour ce protocole. Pour plus de détails, voir la page de
+ pour ce protocole. Pour plus de détails, voir la page de
manuel Linux de <a href="http://man7.org/linux/man-pages/man7/tcp.7.html">tcp(7)</a>.</p>
- <p>Sous Windows, les valeurs par défaut sont :</p>
+ <p>Sous Windows, les valeurs par défaut sont :</p>
<pre class="prettyprint lang-config">AcceptFilter http connect
AcceptFilter https connect</pre>
<p>Le module MPM pour Windows mpm_winnt utilise la directive
AcceptFilter comme commutateur de l'API AcceptEx(), et ne supporte
pas la mise en tampon du protocole http. <code>connect</code>
- utilise l'API AcceptEx(), extrait aussi les adresses réseau finales,
- mais à l'instar de <code>none</code>, la valeur <code>connect</code>
- n'attend pas la transmission des données initiales.</p>
+ utilise l'API AcceptEx(), extrait aussi les adresses réseau finales,
+ mais à l'instar de <code>none</code>, la valeur <code>connect</code>
+ n'attend pas la transmission des données initiales.</p>
<p>Sous Windows, <code>none</code> utilise accept() au lieu
d'AcceptEx(), et ne recycle pas les sockets entre les connexions.
- Ceci s'avère utile pour les interfaces réseau dont le pilote est
- défectueux, ainsi que pour certains fournisseurs de réseau comme les
+ Ceci s'avère utile pour les interfaces réseau dont le pilote est
+ défectueux, ainsi que pour certains fournisseurs de réseau comme les
pilotes vpn, ou les filtres anti-spam, anti-virus ou
anti-spyware.</p>
<div class="warning">
<h3>L'AcceptFilter <code>data</code> (Windows)</h3>
- <p>Jusqu'à la version 2.4.23, le filtre d'acceptation <code>data</code>
- attendait que des données aient été transmises et que le tampon de données
- initial et l'adresse réseau finale aient été déterminés par l'invocation
- AcceptEx(). Cette implémentation étant vulnérable à une attaque de type
- denial of service, elle a été désactivée.</p>
+ <p>Jusqu'à la version 2.4.23, le filtre d'acceptation <code>data</code>
+ attendait que des données aient été transmises et que le tampon de données
+ initial et l'adresse réseau finale aient été déterminés par l'invocation
+ AcceptEx(). Cette implémentation étant vulnérable à une attaque de type
+ denial of service, elle a été désactivée.</p>
- <p>La version actuelle de httpd prend par défaut le filtre
+ <p>La version actuelle de httpd prend par défaut le filtre
<code>connect</code> sous Windows, et reprendra la valeur
- <code>data</code> si <code>data</code> est spécifié. Il est fortement
- conseillé aux utilisateurs des versions plus anciennes de définir
+ <code>data</code> si <code>data</code> est spécifié. Il est fortement
+ conseillé aux utilisateurs des versions plus anciennes de définir
explicitement le filtre <code>connect</code> pour leurs AcceptFilter
- comme indiqué plus haut.</p>
+ comme indiqué plus haut.</p>
</div>
<div class="directive-section"><h2><a name="acceptpathinfo" id="acceptpathinfo">Directive</a> <a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a><a title="Lien permanent" href="#acceptpathinfo" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les ressources acceptent des informations sous forme d'un
-nom de chemin en fin de requête.</td></tr>
+nom de chemin en fin de requête.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AcceptPathInfo On|Off|Default</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AcceptPathInfo Default</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#Default">Défaut:</a></th><td><code>AcceptPathInfo Default</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">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Cette directive permet de définir si les requêtes contenant des
+ <p>Cette directive permet de définir si les requêtes contenant des
informations sous forme d'un nom de chemin suivant le nom d'un
- fichier réel (ou un fichier qui n'existe pas dans un répertoire qui
- existe) doivent être acceptées ou rejetées. Les scripts peuvent
- accéder à cette information via la variable d'environnement
+ fichier réel (ou un fichier qui n'existe pas dans un répertoire qui
+ existe) doivent être acceptées ou rejetées. Les scripts peuvent
+ accéder à cette information via la variable d'environnement
<code>PATH_INFO</code>.</p>
<p>Supposons par exemple que <code>/test/</code> pointe vers un
- répertoire qui ne contient que le fichier <code>here.html</code>.
- Les requêtes pour <code>/test/here.html/more</code> et
+ répertoire qui ne contient que le fichier <code>here.html</code>.
+ Les requêtes pour <code>/test/here.html/more</code> et
<code>/test/nothere.html/more</code> vont affecter la valeur
- <code>/more</code> à la variable d'environnement
+ <code>/more</code> à la variable d'environnement
<code>PATH_INFO</code>.</p>
<p>L'argument de la directive <code class="directive">AcceptPathInfo</code>
- possède trois valeurs possibles :</p>
+ possède trois valeurs possibles :</p>
<dl>
- <dt><code>Off</code></dt><dd>Une requête ne sera acceptée que si
- elle correspond à un chemin qui existe. Par conséquent, une requête
- contenant une information de chemin après le nom de fichier réel
+ <dt><code>Off</code></dt><dd>Une requête ne sera acceptée que si
+ elle correspond à un chemin qui existe. Par conséquent, une requête
+ contenant une information de chemin après le nom de fichier réel
comme <code>/test/here.html/more</code> dans l'exemple ci-dessus
renverra une erreur "404 NOT FOUND".</dd>
- <dt><code>On</code></dt><dd>Une requête sera acceptée si la partie
- principale du chemin correspond à un fichier existant. Dans
- l'exemple ci-dessus <code>/test/here.html/more</code>, la requête
- sera acceptée si <code>/test/here.html</code> correspond à un nom de
+ <dt><code>On</code></dt><dd>Une requête sera acceptée si la partie
+ principale du chemin correspond à un fichier existant. Dans
+ l'exemple ci-dessus <code>/test/here.html/more</code>, la requête
+ sera acceptée si <code>/test/here.html</code> correspond à un nom de
fichier valide.</dd>
- <dt><code>Default</code></dt><dd>Le traitement des requêtes est
- déterminé par le <a href="../handler.html">gestionnaire</a> responsable de la requête.
- Le gestionnaire de base pour les fichiers normaux rejette par défaut
- les requêtes avec <code>PATH_INFO</code>. Les gestionnaires qui
- servent des scripts, comme<a href="mod_cgi.html">cgi-script</a> et <a href="mod_isapi.html">isapi-handler</a>, acceptent en général par
- défaut les requêtes avec <code>PATH_INFO</code>.</dd>
+ <dt><code>Default</code></dt><dd>Le traitement des requêtes est
+ déterminé par le <a href="../handler.html">gestionnaire</a> responsable de la requête.
+ Le gestionnaire de base pour les fichiers normaux rejette par défaut
+ les requêtes avec <code>PATH_INFO</code>. Les gestionnaires qui
+ servent des scripts, comme<a href="mod_cgi.html">cgi-script</a> et <a href="mod_isapi.html">isapi-handler</a>, acceptent en général par
+ défaut les requêtes avec <code>PATH_INFO</code>.</dd>
</dl>
<p>Le but premier de la directive <code>AcceptPathInfo</code> est de
vous permettre de remplacer le choix du gestionnaire d'accepter ou
- de rejeter <code>PATH_INFO</code>. Ce remplacement est nécessaire
- par exemple, lorsque vous utilisez un <a href="../filter.html">filtre</a>, comme <a href="mod_include.html">INCLUDES</a>, pour générer un contenu basé
- sur <code>PATH_INFO</code>. Le gestionnaire de base va en général
- rejeter la requête, et vous pouvez utiliser la configuration
+ de rejeter <code>PATH_INFO</code>. Ce remplacement est nécessaire
+ par exemple, lorsque vous utilisez un <a href="../filter.html">filtre</a>, comme <a href="mod_include.html">INCLUDES</a>, pour générer un contenu basé
+ sur <code>PATH_INFO</code>. Le gestionnaire de base va en général
+ rejeter la requête, et vous pouvez utiliser la configuration
suivante pour utiliser un tel script :</p>
<pre class="prettyprint lang-config"><Files "mypaths.shtml">
Options +Includes
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="accessfilename" id="accessfilename">Directive</a> <a name="AccessFileName" id="AccessFileName">AccessFileName</a><a title="Lien permanent" href="#accessfilename" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du fichier de configuration distribué</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du fichier de configuration distribué</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AccessFileName <var>nom-du-fichier</var>
[<var>nom-du-fichier</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AccessFileName .htaccess</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AccessFileName .htaccess</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Au cours du traitement d'une requête, le serveur recherche le
- premier fichier de configuration existant à partir de la liste
- de noms dans chaque répertoire composant le chemin du document, à
- partir du moment où les fichiers de configuration distribués sont <a href="#allowoverride">activés pour ce répertoire</a>. Par exemple
+ <p>Au cours du traitement d'une requête, le serveur recherche le
+ premier fichier de configuration existant à partir de la liste
+ de noms dans chaque répertoire composant le chemin du document, à
+ partir du moment où les fichiers de configuration distribués sont <a href="#allowoverride">activés pour ce répertoire</a>. Par exemple
:</p>
<pre class="prettyprint lang-config">AccessFileName .acl</pre>
<code>/usr/local/web/index.html</code>, le serveur va rechercher les
fichiers <code>/.acl</code>, <code>/usr/.acl</code>,
<code>/usr/local/.acl</code> et <code>/usr/local/web/.acl</code>
- pour y lire d'éventuelles directives, à moins quelles n'aient été
- désactivées avec</p>
+ pour y lire d'éventuelles directives, à moins quelles n'aient été
+ désactivées avec</p>
<pre class="prettyprint lang-config"><Directory "/">
AllowOverride None
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="adddefaultcharset" id="adddefaultcharset">Directive</a> <a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a><a title="Lien permanent" href="#adddefaultcharset" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Paramètre jeu de caractères par défaut à ajouter quand le
-type de contenu d'une réponse est <code>text/plain</code> ou
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Paramètre jeu de caractères par défaut à ajouter quand le
+type de contenu d'une réponse est <code>text/plain</code> ou
<code>text/html</code></td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddDefaultCharset On|Off|<var>jeu de caractères</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AddDefaultCharset Off</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#Syntax">Syntaxe:</a></th><td><code>AddDefaultCharset On|Off|<var>jeu de caractères</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AddDefaultCharset Off</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">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Cette directive spécifie une valeur par défaut pour le paramètre
- jeu de caractères du type de média (le nom d'un codage de
- caractères) à ajouter à une réponse, si et seulement si le type de
- contenu de la réponse est soit <code>text/plain</code>, soit
+ <p>Cette directive spécifie une valeur par défaut pour le paramètre
+ jeu de caractères du type de média (le nom d'un codage de
+ caractères) à ajouter à une réponse, si et seulement si le type de
+ contenu de la réponse est soit <code>text/plain</code>, soit
<code>text/html</code>. Ceci va remplacer
- tout jeu de caractères spécifié dans le corps de la réponse via un
- élément <code>META</code>, bien que cet effet dépende en fait
+ tout jeu de caractères spécifié dans le corps de la réponse via un
+ élément <code>META</code>, bien que cet effet dépende en fait
souvent de la configuration du client de l'utilisateur. La
- définition de <code>AddDefaultCharset Off</code> désactive cette
- fonctionnalité. <code>AddDefaultCharset On</code> ajoute un jeu de
- caractères par défaut de <code>iso-8859-1</code>. Toute autre valeur
- peut être définie via le paramètre <var>jeu de caractères</var>, qui
- doit appartenir à la liste des <a href="http://www.iana.org/assignments/character-sets">valeurs de
- jeux de caractères enregistrés par l'IANA</a> à utiliser dans les
- types de média Internet (types MIME).
+ définition de <code>AddDefaultCharset Off</code> désactive cette
+ fonctionnalité. <code>AddDefaultCharset On</code> ajoute un jeu de
+ caractères par défaut de <code>iso-8859-1</code>. Toute autre valeur
+ peut être définie via le paramètre <var>jeu de caractères</var>, qui
+ doit appartenir à la liste des <a href="http://www.iana.org/assignments/character-sets">valeurs de
+ jeux de caractères enregistrés par l'IANA</a> à utiliser dans les
+ types de média Internet (types MIME).
Par exemple :</p>
<pre class="prettyprint lang-config">AddDefaultCharset utf-8</pre>
<p>La directive <code class="directive">AddDefaultCharset</code> ne doit
- être utilisée que lorsque toutes les ressources textes auxquelles
- elle s'applique possèdent le jeu de caractère spécifié, et qu'il est
- trop contraignant de définir leur jeu de caractères
- individuellement. Un exemple de ce type est l'ajout du paramètre jeu
- de caractères aux ressources comportant un contenu généré, comme les
- scripts CGI hérités qui peuvent être vulnérables à des attaques de
- type cross-site scripting à cause des données utilisateurs incluses
+ être utilisée que lorsque toutes les ressources textes auxquelles
+ elle s'applique possèdent le jeu de caractère spécifié, et qu'il est
+ trop contraignant de définir leur jeu de caractères
+ individuellement. Un exemple de ce type est l'ajout du paramètre jeu
+ de caractères aux ressources comportant un contenu généré, comme les
+ scripts CGI hérités qui peuvent être vulnérables à des attaques de
+ type cross-site scripting à cause des données utilisateurs incluses
dans leur sortie. Notez cependant qu'une meilleur solution consiste
- à corriger (ou supprimer) ces scripts, car la définition d'un jeu de
- caractères par défaut ne protège pas les utilisateurs qui ont activé
- la fonctionnalité "Détection automatique de l'encodage des
- caractères" dans leur navigateur.</p>
+ à corriger (ou supprimer) ces scripts, car la définition d'un jeu de
+ caractères par défaut ne protège pas les utilisateurs qui ont activé
+ la fonctionnalité "Détection automatique de l'encodage des
+ caractères" dans leur navigateur.</p>
<h3>Voir aussi</h3>
<ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="allowencodedslashes" id="allowencodedslashes">Directive</a> <a name="AllowEncodedSlashes" id="AllowEncodedSlashes">AllowEncodedSlashes</a><a title="Lien permanent" href="#allowencodedslashes" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les séparateurs de chemin encodés sont
-autorisés à transiter dans les URLs tels quels</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les séparateurs de chemin encodés sont
+autorisés à transiter dans les URLs tels quels</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowEncodedSlashes On|Off|NoDecode</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'option NoDecode est disponible depuis la version
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'option NoDecode est disponible depuis la version
2.3.12.</td></tr>
</table>
<p>La directive <code class="directive">AllowEncodedSlashes</code> permet
- l'utilisation des URLs contenant des séparateurs de chemin
- encodés dans la partie chemin
- (<code>%2F</code> pour <code>/</code> et même <code>%5C</code> pour
- <code>\</code> sur les systèmes concernés).</p>
+ l'utilisation des URLs contenant des séparateurs de chemin
+ encodés dans la partie chemin
+ (<code>%2F</code> pour <code>/</code> et même <code>%5C</code> pour
+ <code>\</code> sur les systèmes concernés).</p>
- <p>Avec la valeur par défaut, <code>Off</code>, de telles URLs sont
- refusées et provoquent le renvoi d'une erreur 404 (Not found).</p>
+ <p>Avec la valeur par défaut, <code>Off</code>, de telles URLs sont
+ refusées et provoquent le renvoi d'une erreur 404 (Not found).</p>
- <p>Avec la valeur <code>On</code>, ces URLs sont acceptées, et les
- slashes encodés sont décodés comme tout autre caractère codé.</p>
+ <p>Avec la valeur <code>On</code>, ces URLs sont acceptées, et les
+ slashes encodés sont décodés comme tout autre caractère codé.</p>
- <p>Avec la valeur <code>NoDecode</code>, ces URLs sont acceptées,
- mais les slashes codés ne sont pas décodés et laissés dans leur état
- codé.</p>
+ <p>Avec la valeur <code>NoDecode</code>, ces URLs sont acceptées,
+ mais les slashes codés ne sont pas décodés et laissés dans leur état
+ codé.</p>
- <p>Définir <code class="directive">AllowEncodedSlashes</code> à
+ <p>Définir <code class="directive">AllowEncodedSlashes</code> à
<code>On</code> est surtout utile en association avec
<code>PATH_INFO</code>.</p>
<div class="note"><h3>Note</h3>
- <p>Si le codage des slashes dans la partie chemin est nécessaire,
+ <p>Si le codage des slashes dans la partie chemin est nécessaire,
l'utilisation de l'option <code>NoDecode</code> est fortement
- recommandée par mesure de sécurité. Permettre le décodage des
- slashes pourrait éventuellement induire l'autorisation de chemins
- non sûrs.</p>
+ recommandée par mesure de sécurité. Permettre le décodage des
+ slashes pourrait éventuellement induire l'autorisation de chemins
+ non sûrs.</p>
</div>
<h3>Voir aussi</h3>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="allowoverride" id="allowoverride">Directive</a> <a name="AllowOverride" id="AllowOverride">AllowOverride</a><a title="Lien permanent" href="#allowoverride" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Types de directives autorisées dans les fichiers
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Types de directives autorisées dans les fichiers
<code>.htaccess</code></td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowOverride All|None|<var>directive-type</var>
[<var>directive-type</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowOverride None à partir de la version 2.3.9, AllowOverride
-All pour les versions antérieures</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowOverride None à partir de la version 2.3.9, AllowOverride
+All pour les versions antérieures</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>Lorsque le serveur trouve un fichier <code>.htaccess</code> (dont
- le nom est défini par la directive <code class="directive"><a href="#accessfilename">AccessFileName</a></code>), il doit savoir lesquelles
- des directives placées dans ce fichier sont autorisées à modifier la
- configuration préexistante.</p>
+ le nom est défini par la directive <code class="directive"><a href="#accessfilename">AccessFileName</a></code>), il doit savoir lesquelles
+ des directives placées dans ce fichier sont autorisées à modifier la
+ configuration préexistante.</p>
<div class="note"><h3>Valable seulement dans les sections
<Directory></h3>
- La directive <code class="directive">AllowOverride</code> ne peut être
- utilisée que dans les sections <code class="directive"><a href="#directory"><Directory></a></code> définies sans expressions
+ La directive <code class="directive">AllowOverride</code> ne peut être
+ utilisée que dans les sections <code class="directive"><a href="#directory"><Directory></a></code> définies sans expressions
rationnelles, et non dans les sections <code class="directive"><a href="#location"><Location></a></code>, <code class="directive"><a href="#directorymatch"><DirectoryMatch></a></code> ou
<code class="directive"><a href="#files"><Files></a></code>.
</div>
- <p>Lorsque cette directive et la directive <code class="directive"><a href="#allowoverridelist">AllowOverrideList</a></code> sont définies à <code>None</code>, les
+ <p>Lorsque cette directive et la directive <code class="directive"><a href="#allowoverridelist">AllowOverrideList</a></code> sont définies à <code>None</code>, les
fichiers <a href="#accessfilename">.htaccess</a> sont totalement
- ignorés. Dans ce cas, le serveur n'essaiera même pas de lire les
- fichiers <code>.htaccess</code> du système de fichiers.</p>
+ ignorés. Dans ce cas, le serveur n'essaiera même pas de lire les
+ fichiers <code>.htaccess</code> du système de fichiers.</p>
- <p>Lorsque cette directive est définie à <code>All</code>, toute
+ <p>Lorsque cette directive est définie à <code>All</code>, toute
directive valable dans le <a href="directive-dict.html#Context">Contexte</a> .htaccess sera
- autorisée dans les fichiers <code>.htaccess</code>.</p>
+ autorisée dans les fichiers <code>.htaccess</code>.</p>
<p>L'argument <var>directive-type</var> peut contenir les
- groupements de directives suivants (Voir l'<a href="overrides.html">index de la class override</a> pour obtenir une liste mise à
- jour des directives activées par chaque argument <var>directive-type</var>) :</p>
+ groupements de directives suivants (Voir l'<a href="overrides.html">index de la class override</a> pour obtenir une liste mise à
+ jour des directives activées par chaque argument <var>directive-type</var>) :</p>
<dl>
<dt><a href="overrides.html#override-authconfig">AuthConfig</a></dt>
<dt><a href="overrides.html#override-fileinfo">FileInfo</a></dt>
<dd>
- Permet l'utilisation des directives qui contrôlent les types de
+ Permet l'utilisation des directives qui contrôlent les types de
documents (directives <code class="directive"><a href="#errordocument">ErrorDocument</a></code>, <code class="directive"><a href="#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>,
<code class="directive"><a href="#sethandler">SetHandler</a></code>, <code class="directive"><a href="#setinputfilter">SetInputFilter</a></code>, <code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code>, et directives du
- module <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> Add* et Remove*), des metadonnées
+ module <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> Add* et Remove*), des metadonnées
des documents (<code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code>, <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookieexpires">CookieExpires</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiedomain">CookieDomain</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiestyle">CookieStyle</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookietracking">CookieTracking</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiename">CookieName</a></code>), des directives du
module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> directives (<code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriteoptions">RewriteOptions</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>), des directives du
module <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> directives (<code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirecttemp">RedirectTemp</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirectpermanent">RedirectPermanent</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code>), et de la directive
<dt><a href="overrides.html#override-indexes">Indexes</a></dt>
<dd>
- Permet l'utilisation des directives qui contrôlent l'indexation
- des répertoires (<code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>,
+ Permet l'utilisation des directives qui contrôlent l'indexation
+ des répertoires (<code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>,
<code class="directive"><a href="../mod/mod_autoindex.html#addicon">AddIcon</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></code>,
<code class="directive"><a href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>,
<code class="directive"><a href="../mod/mod_autoindex.html#defaulticon">DefaultIcon</a></code>, <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, <code class="directive"><a href="../mod/mod_dir.html#fallbackresource">FallbackResource</a></code>, <a href="mod_autoindex.html#indexoptions.fancyindexing"><code>FancyIndexing</code></a>,
<dt><a href="overrides.html#override-limit">Limit</a></dt>
<dd>
- Permet l'utilisation des directives contrôlant l'accès au serveur
+ Permet l'utilisation des directives contrôlant l'accès au serveur
(<code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> et <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>).</dd>
<dd>Permet d'utiliser l'option AllowOverride pour rendre non fatales les
directives invalides (non reconnues ou non permises) dans les fichiers
.htaccess : au lieu de causer une Internal Server Error, les directives
- non autorisées ou non reconnues seront ignorées et un avertissement
- enregistré dans le journal :
+ non autorisées ou non reconnues seront ignorées et un avertissement
+ enregistré dans le journal :
<ul>
<li><strong>Nonfatal=Override</strong> rend les directives
interdite par AllowOverride non fatales.</li>
<li><strong>Nonfatal=Unknown</strong> rend les directives
- inconnues non fatales. Sont concernées les erreurs de frappe
- et les directives implémentées par un module non chargé.</li>
+ inconnues non fatales. Sont concernées les erreurs de frappe
+ et les directives implémentées par un module non chargé.</li>
<li><strong>Nonfatal=All</strong> rend toutes les directives
- précédentes non fatales.</li>
+ précédentes non fatales.</li>
</ul>
<p>Notez qu'une erreur de syntaxe dans une directive valide
causera toujours une Internal Server Error.</p>
- <div class="warning"><h3>Sécurité</h3>
- Les erreurs non fatales peuvent être à l'origine de problèmes
- de sécurité pour les utilisateurs de fichiers .htaccess. Par
+ <div class="warning"><h3>Sécurité</h3>
+ Les erreurs non fatales peuvent être à l'origine de problèmes
+ de sécurité pour les utilisateurs de fichiers .htaccess. Par
exemple, si AllowOverride interdit AuthConfig, toute
- configuration utilisateur destinée à restreindre l'accès à un
+ configuration utilisateur destinée à restreindre l'accès à un
site ne sera pas prise en compte.
</div>
</dd>
<dt><a href="overrides.html#override-options">Options</a>[=<var>Option</var>,...]</dt>
<dd>
- Permet l'utilisation des directives contrôlant les fonctionnalités
- spécifiques d'un répertoire (<code class="directive"><a href="#options">Options</a></code> et <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>). "Options" doit être
- suivi d'un signe "égal", puis d'une liste d'options séparées par des
- virgules (pas d'espaces) ; ces options doivent être définies à
+ Permet l'utilisation des directives contrôlant les fonctionnalités
+ spécifiques d'un répertoire (<code class="directive"><a href="#options">Options</a></code> et <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>). "Options" doit être
+ suivi d'un signe "égal", puis d'une liste d'options séparées par des
+ virgules (pas d'espaces) ; ces options doivent être définies à
l'aide de la commande <code class="directive"><a href="#options">Options</a></code>.
- <div class="note"><h3>Désactivation implicite des options</h3>
+ <div class="note"><h3>Désactivation implicite des options</h3>
<p>Bien que la liste des options disponibles dans les fichiers
- .htaccess puisse être limitée par cette directive, tant qu'un
+ .htaccess puisse être limitée par cette directive, tant qu'un
directive <code class="directive"><a href="#options">Options</a></code> est
- autorisée, toute autre option héritée peut être désactivée en
+ autorisée, toute autre option héritée peut être désactivée en
utilisant la syntaxe non-relative. En d'autres termes, ce
- mécanisme ne peut pas forcer une option spécifique à rester
- <em>activée</em> tout en permettant à toute autre option d'être
- activée.
+ mécanisme ne peut pas forcer une option spécifique à rester
+ <em>activée</em> tout en permettant à toute autre option d'être
+ activée.
</p></div>
<div class="example"><p><code>
<code>Indexes</code>, provoquent une erreur "Internal
Server Error".</p>
- <div class="note"><p>Pour des raisons de sécurité et de performance, ne
- définissez pas <code>AllowOverride</code> à autre chose que
+ <div class="note"><p>Pour des raisons de sécurité et de performance, ne
+ définissez pas <code>AllowOverride</code> à autre chose que
<code>None</code> dans votre bloc <code><Directory "/"></code>.
- Recherchez plutôt (ou créez) le bloc <code><Directory></code>
- qui se réfère au répertoire où vous allez précisément placer un
+ Recherchez plutôt (ou créez) le bloc <code><Directory></code>
+ qui se réfère au répertoire où vous allez précisément placer un
fichier <code>.htaccess</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="allowoverridelist" id="allowoverridelist">Directive</a> <a name="AllowOverrideList" id="AllowOverrideList">AllowOverrideList</a><a title="Lien permanent" href="#allowoverridelist" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directives autorisées dans les fichiers <code>.htaccess</code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directives autorisées dans les fichiers <code>.htaccess</code></td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowOverrideList None|<var>directive</var>
[<var>directive-type</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowOverrideList None</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowOverrideList None</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>Lorsque le serveur trouve un fichier <code>.htaccess</code>
- (comme spécifié par la directive <code class="directive"><a href="#accessfilename">AccessFileName</a></code>), il doit savoir lesquelles
- des directives déclarées dans ce fichier peuvent remplacer des
+ (comme spécifié par la directive <code class="directive"><a href="#accessfilename">AccessFileName</a></code>), il doit savoir lesquelles
+ des directives déclarées dans ce fichier peuvent remplacer des
directives des fichiers de configuration du serveur.</p>
<div class="note"><h3>Seulement disponible dans les sections <Directory></h3>
La directive <code class="directive">AllowOverrideList</code> n'est
- disponible que dans les sections <code class="directive"><a href="#directory"><Directory></a></code> spécifiées sans expressions
+ disponible que dans les sections <code class="directive"><a href="#directory"><Directory></a></code> spécifiées sans expressions
rationnelles.
</div>
- <p>Lorsque cette directive et la directive <code class="directive"><a href="#allowoverride">AllowOverride</a></code> sont définies à
- <code>None</code>, les fichiers <a href="#accessfilename">.htaccess</a> sont totalement ignorés. Dans
- ce cas, le serveur ne cherchera même pas à lire des fichiers
- <code>.htaccess</code> dans le système de fichiers.</p>
+ <p>Lorsque cette directive et la directive <code class="directive"><a href="#allowoverride">AllowOverride</a></code> sont définies à
+ <code>None</code>, les fichiers <a href="#accessfilename">.htaccess</a> sont totalement ignorés. Dans
+ ce cas, le serveur ne cherchera même pas à lire des fichiers
+ <code>.htaccess</code> dans le système de fichiers.</p>
<p>Example:</p>
<p>Dans l'exemple ci-dessus, seules les directives
- <code>Redirect</code> et <code>RedirectMatch</code> sont autorisées.
+ <code>Redirect</code> et <code>RedirectMatch</code> sont autorisées.
Toutes les autres provoqueront une erreur interne du serveur.</p>
<p>Example:</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="asyncfilter" id="asyncfilter">Directive</a> <a name="AsyncFilter" id="AsyncFilter">AsyncFilter</a><a title="Lien permanent" href="#asyncfilter" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le type de filtrage minimal disponible pour le
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le type de filtrage minimal disponible pour le
traitement asynchrone</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AsyncFilter request|connection|network</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AsyncFilter request</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AsyncFilter request</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur
HTTP Apache</td></tr>
</table>
- <p>Cette directive permet de définir les niveaux minimaux de
+ <p>Cette directive permet de définir les niveaux minimaux de
filtrage disponibles pour le traitement asynchrone. Son
- utilisation s'avère nécessaire pour le support des filtres
- externes anciens qui ne géraient pas les meta-conteneurs
+ utilisation s'avère nécessaire pour le support des filtres
+ externes anciens qui ne géraient pas les meta-conteneurs
correctement.</p>
- <p>Si elle est définie à "network", le traitement asynchrone se
- limitera aux filtrages réseau. Si elle est définie à
- "connection", tous les filtres de réseau et de connexion seront
+ <p>Si elle est définie à "network", le traitement asynchrone se
+ limitera aux filtrages réseau. Si elle est définie à
+ "connection", tous les filtres de réseau et de connexion seront
disponibles pour le traitement asynchrone, y compris
- <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. Si elle est définie à "request", tous
+ <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. Si elle est définie à "request", tous
les filtres seront disponibles pour le traitement asynchrone.</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="cgimapextension" id="cgimapextension">Directive</a> <a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a><a title="Lien permanent" href="#cgimapextension" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Technique permettant de localiser l'interpréteur des
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Technique permettant de localiser l'interpréteur des
scripts CGI</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CGIMapExtension <var>chemin CGI</var> <var>.extension</var></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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>NetWare uniquement</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>NetWare uniquement</td></tr>
</table>
- <p>Cette directive permet de contrôler la manière dont Apache httpd trouve
- l'interpréteur servant à exécuter les scripts CGI. Par exemple, avec
- la définition <code>CGIMapExtension sys:\foo.nlm .foo</code>, tous
- les fichiers scripts CGI possédant une extension <code>.foo</code>
- seront passés à l'interpréteur FOO.</p>
+ <p>Cette directive permet de contrôler la manière dont Apache httpd trouve
+ l'interpréteur servant à exécuter les scripts CGI. Par exemple, avec
+ la définition <code>CGIMapExtension sys:\foo.nlm .foo</code>, tous
+ les fichiers scripts CGI possédant une extension <code>.foo</code>
+ seront passés à l'interpréteur FOO.</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="cgipassauth" id="cgipassauth">Directive</a> <a name="CGIPassAuth" id="CGIPassAuth">CGIPassAuth</a><a title="Lien permanent" href="#cgipassauth" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la transmission d'en-têtes d'autorisation HTTP aux scripts en
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la transmission d'en-têtes d'autorisation HTTP aux scripts en
tant que variables CGI</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CGIPassAuth On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CGIPassAuth 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#Default">Défaut:</a></th><td><code>CGIPassAuth 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">AllowOverride:</a></th><td>AuthConfig</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.13 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.13 du serveur HTTP
Apache</td></tr>
</table>
<p>La directive <code class="directive">CGIPassAuth</code> permet aux
- scripts d'accéder aux en-têtes d'autorisation HTTP tels que
- <code>Authorization</code>, en-tête nécessaire aux scripts qui
- implémente une authentification HTTP de base. Normalement, ces
- en-têtes HTTP sont invisibles pour les scripts car ils leurs
+ scripts d'accéder aux en-têtes d'autorisation HTTP tels que
+ <code>Authorization</code>, en-tête nécessaire aux scripts qui
+ implémente une authentification HTTP de base. Normalement, ces
+ en-têtes HTTP sont invisibles pour les scripts car ils leurs
permettraient de voir les identifiants et mots de passe
- utilisés pour accéder au serveur lorsque l'authentification HTTP de
- base est activée au niveau du serveur web. Cette directive doit être
- définie à "On" lorsque des scripts sont autorisés à implémenter une
+ utilisés pour accéder au serveur lorsque l'authentification HTTP de
+ base est activée au niveau du serveur web. Cette directive doit être
+ définie à "On" lorsque des scripts sont autorisés à implémenter une
authentification HTTP de base.</p>
- <p>Cette directive constitue une alternative à l'option de
- compilation <code>SECURITY_HOLE_PASS_AUTHORIZATION</code> qui était
- déjà disponible dans les versions précédentes du serveur HTTP
+ <p>Cette directive constitue une alternative à l'option de
+ compilation <code>SECURITY_HOLE_PASS_AUTHORIZATION</code> qui était
+ déjà disponible dans les versions précédentes du serveur HTTP
Apache.</p>
<p>Cette option est prise en compte par tout module qui utilise
<code>ap_add_common_vars()</code>, comme <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>,
<code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code>, <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>,
<code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code>, etc... En particulier, elle affecte
- les modules qui ne traitent pas à proprement parler les requêtes,
- mais utilisent quand-même cette API, comme
+ les modules qui ne traitent pas à proprement parler les requêtes,
+ mais utilisent quand-même cette API, comme
<code class="module"><a href="../mod/mod_include.html">mod_include</a></code> ou <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>. Les
modules tiers qui n'utilisent pas <code>ap_add_common_vars()</code>
peuvent aussi choisir de prendre en compte cette option.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cgivar" id="cgivar">Directive</a> <a name="CGIVar" id="CGIVar">CGIVar</a><a title="Lien permanent" href="#cgivar" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la manière dont certaines variables CGI sont définies</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la manière dont certaines variables CGI sont définies</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CGIVar <var>variable</var> <var>rule</var></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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.21 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.21 du serveur HTTP Apache</td></tr>
</table>
- <p>Cette directive permet de contrôler la manière dont certaines variables CGI
- sont définies.</p>
+ <p>Cette directive permet de contrôler la manière dont certaines variables CGI
+ sont définies.</p>
- <p>règles <strong>REQUEST_URI</strong> :</p>
+ <p>règles <strong>REQUEST_URI</strong> :</p>
<dl>
- <dt><code>original-uri</code> (valeur par défaut)</dt>
- <dd>La valeur est extraite de la requête originale, et ne tient pas compte
- des redirections internes ou des sous-requêtes qui pourraient modifier la
- ressource demandée.</dd>
+ <dt><code>original-uri</code> (valeur par défaut)</dt>
+ <dd>La valeur est extraite de la requête originale, et ne tient pas compte
+ des redirections internes ou des sous-requêtes qui pourraient modifier la
+ ressource demandée.</dd>
<dt><code>current-uri</code></dt>
- <dd>La valeur reflète la ressource en cours de traitement ; elle peut être
- différente de la ressource demandée dans la requête initiale du client suite à
- d'éventuelles redirections internes ou sous-requêtes.</dd>
+ <dd>La valeur reflète la ressource en cours de traitement ; elle peut être
+ différente de la ressource demandée dans la requête initiale du client suite à
+ d'éventuelles redirections internes ou sous-requêtes.</dd>
</dl>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="contentdigest" id="contentdigest">Directive</a> <a name="ContentDigest" id="ContentDigest">ContentDigest</a><a title="Lien permanent" href="#contentdigest" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la génération d'un en-tête <code>Content-MD5</code>
-dans la réponse HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la génération d'un en-tête <code>Content-MD5</code>
+dans la réponse HTTP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ContentDigest On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ContentDigest Off</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#Default">Défaut:</a></th><td><code>ContentDigest Off</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">AllowOverride:</a></th><td>Options</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Cette directive active la génération d'un en-tête
- <code>Content-MD5</code> selon les définitions des RFC 1864 et
+ <p>Cette directive active la génération d'un en-tête
+ <code>Content-MD5</code> selon les définitions des RFC 1864 et
2616.</p>
- <p>MD5 est un algorithme permettant de générer un condensé (parfois
- appelé "empreinte") à partir de données d'une taille aléatoire ; le
- degré de précision est tel que la moindre altération des données
- d'origine entraîne une altération de l'empreinte.</p>
+ <p>MD5 est un algorithme permettant de générer un condensé (parfois
+ appelé "empreinte") à partir de données d'une taille aléatoire ; le
+ degré de précision est tel que la moindre altération des données
+ d'origine entraîne une altération de l'empreinte.</p>
- <p>L'en-tête <code>Content-MD5</code> permet de vérifier
- l'intégrité de la réponse HTTP dans son ensemble. Un serveur mandataire
- ou un client peut utiliser cet en-tête pour rechercher une
- éventuelle modification accidentelle de la réponse au cours de sa
- transmission. Exemple d'en-tête :</p>
+ <p>L'en-tête <code>Content-MD5</code> permet de vérifier
+ l'intégrité de la réponse HTTP dans son ensemble. Un serveur mandataire
+ ou un client peut utiliser cet en-tête pour rechercher une
+ éventuelle modification accidentelle de la réponse au cours de sa
+ transmission. Exemple d'en-tête :</p>
<div class="example"><p><code>
Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
</code></p></div>
- <p>Notez que des problèmes de performances peuvent affecter votre
- serveur, car l'empreinte est générée pour chaque requête (il n'y a
+ <p>Notez que des problèmes de performances peuvent affecter votre
+ serveur, car l'empreinte est générée pour chaque requête (il n'y a
pas de mise en cache).</p>
- <p>L'en-tête <code>Content-MD5</code> n'est envoyé qu'avec les
- documents servis par le module <code class="module"><a href="../mod/core.html">core</a></code>, à l'exclusion
+ <p>L'en-tête <code>Content-MD5</code> n'est envoyé qu'avec les
+ documents servis par le module <code class="module"><a href="../mod/core.html">core</a></code>, à l'exclusion
de tout autre module. Ainsi, les documents SSI, les sorties de
- scripts CGI, et les réponses à des requêtes partielles (byte range)
- ne comportent pas cet en-tête.</p>
+ scripts CGI, et les réponses à des requêtes partielles (byte range)
+ ne comportent pas cet en-tête.</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="defaultruntimedir" id="defaultruntimedir">Directive</a> <a name="DefaultRuntimeDir" id="DefaultRuntimeDir">DefaultRuntimeDir</a><a title="Lien permanent" href="#defaultruntimedir" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire de base des fichiers créés au cours de l'exécution du serveur</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DefaultRuntimeDir <var>chemin-répertoire</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)</code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire de base des fichiers créés au cours de l'exécution du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DefaultRuntimeDir <var>chemin-répertoire</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)</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>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis de la version 2.4.2 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis de la version 2.4.2 du serveur HTTP
Apache</td></tr>
</table>
<p>La directive <code class="directive">DefaultRuntimeDir</code> permet de
- définir le répertoire dans lequel le serveur va créer les différents
- fichiers relatifs à son exécution (mémoire partagée, verrous,
- etc...). Si le chemin spécifié est relatif, le chemin absolu sera
- généré relativement à la valeur de la directive
+ définir le répertoire dans lequel le serveur va créer les différents
+ fichiers relatifs à son exécution (mémoire partagée, verrous,
+ etc...). Si le chemin spécifié est relatif, le chemin absolu sera
+ généré relativement à la valeur de la directive
<code class="directive">ServerRoot</code>.</p>
<p><strong>Example</strong></p>
<pre class="prettyprint lang-config">DefaultRuntimeDir scratch/</pre>
- <p>La valeur par défaut de la directive
- <code class="directive">DefaultRuntimeDir</code> peut être modifiée en
+ <p>La valeur par défaut de la directive
+ <code class="directive">DefaultRuntimeDir</code> peut être modifiée en
changeant la valeur de la macro <code>DEFAULT_REL_RUNTIMEDIR</code>
- définie à la compilation.</p>
+ définie à la compilation.</p>
<p>Note: si la valeur de <code class="directive">ServerRoot</code> n'a pas
- été spécifiée avant d'utiliser cette directive, c'est la valeur par
- défaut de <code class="directive">ServerRoot</code> qui sera utilisée pour
- définir la base du répertoire.</p>
+ été spécifiée avant d'utiliser cette directive, c'est la valeur par
+ défaut de <code class="directive">ServerRoot</code> qui sera utilisée pour
+ définir la base du répertoire.</p>
<h3>Voir aussi</h3>
<ul>
-<li>Voir les <a href="../misc/security_tips.html#serverroot">conseils à propos de
-sésurité</a> pour plus d'informations en vue de définir correctement les
+<li>Voir les <a href="../misc/security_tips.html#serverroot">conseils à propos de
+sésurité</a> pour plus d'informations en vue de définir correctement les
permissions sur la racine du serveur <code class="directive">ServerRoot</code></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="defaulttype" id="defaulttype">Directive</a> <a name="DefaultType" id="DefaultType">DefaultType</a><a title="Lien permanent" href="#defaulttype" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les seuls effets de cette directive sont des émissions
-d'avertissements si sa valeur est différente de <code>none</code>. Dans
-les versions précédentes, DefaultType permettait de spécifier un type de
-média à assigner par défaut au contenu d'une réponse pour lequel aucun
-autre type de média n'avait été trouvé.
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les seuls effets de cette directive sont des émissions
+d'avertissements si sa valeur est différente de <code>none</code>. Dans
+les versions précédentes, DefaultType permettait de spécifier un type de
+média à assigner par défaut au contenu d'une réponse pour lequel aucun
+autre type de média n'avait été trouvé.
</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DefaultType <var>type média|none</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DefaultType none</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#Syntax">Syntaxe:</a></th><td><code>DefaultType <var>type média|none</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DefaultType none</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">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Tous les arguments, excepté <code>none</code>, sont
-DESACTIVÉS à partir de la version 2.3.0.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Tous les arguments, excepté <code>none</code>, sont
+DESACTIVÉS à partir de la version 2.3.0.</td></tr>
</table>
- <p>Cette directive a été désactivée. Pour la compatibilité
+ <p>Cette directive a été désactivée. Pour la compatibilité
ascendante avec les anciens fichiers de configuration, elle peut
- être spécifiée avec la valeur <code>none</code>, c'est à dire sans
- type de médium par défaut. Par exemple :</p>
+ être spécifiée avec la valeur <code>none</code>, c'est à dire sans
+ type de médium par défaut. Par exemple :</p>
<pre class="prettyprint lang-config">DefaultType None</pre>
<p><code>DefaultType None</code> n'est disponible que dans les
- versions d'Apache 2.2.7 et supérieures.</p>
+ versions d'Apache 2.2.7 et supérieures.</p>
<p>Utilisez le fichier de configuration mime.types et la directive
<code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> pour configurer
- l'assignement d'un type de médium via les extensions de fichiers, ou
+ l'assignement d'un type de médium via les extensions de fichiers, ou
la directive <code class="directive"><a href="#forcetype">ForceType</a></code> pour
- attribuer un type de médium à des ressources spécifiques. Dans le
- cas contraire, le serveur enverra sa réponse sans champ d'en-tête
- Content-Type, et le destinataire devra déterminer lui-même le type
- de médium.</p>
+ attribuer un type de médium à des ressources spécifiques. Dans le
+ cas contraire, le serveur enverra sa réponse sans champ d'en-tête
+ Content-Type, et le destinataire devra déterminer lui-même le type
+ de médium.</p>
<h3>Voir aussi</h3>
<ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="define" id="define">Directive</a> <a name="Define" id="Define">Define</a><a title="Lien permanent" href="#define" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet de définir une variable</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Define <var>nom-paramètre</var> [<var>valeur-paramètre</var>]</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet de définir une variable</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Define <var>nom-paramètre</var> [<var>valeur-paramètre</var>]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Avec un seul paramètre, l'effet de la directive
- <code class="directive">Define</code> est identique à celui de l'argument
+ <p>Avec un seul paramètre, l'effet de la directive
+ <code class="directive">Define</code> est identique à celui de l'argument
<code>-D</code> du programme <code class="program"><a href="../programs/httpd.html">httpd</a></code>. Il permet de
- modifier le comportement des sections <code class="directive"><a href="#ifdefine"><IfDefine></a></code> sans avoir à ajouter d'argument
- <code>-D</code> au sein des scripts de démarrage.</p>
+ modifier le comportement des sections <code class="directive"><a href="#ifdefine"><IfDefine></a></code> sans avoir à ajouter d'argument
+ <code>-D</code> au sein des scripts de démarrage.</p>
- <p>De plus, le second paramètre permet d'affecter une valeur à la
- variable définie par le premier. Cette variable peut être référencée
+ <p>De plus, le second paramètre permet d'affecter une valeur à la
+ variable définie par le premier. Cette variable peut être référencée
dans le fichier de configuration via la syntaxe <code>${VAR}</code>.
- La portée de la variable est toujours globale, et n'est jamais
- limitée à la section de configuration courante.</p>
+ La portée de la variable est toujours globale, et n'est jamais
+ limitée à la section de configuration courante.</p>
<pre class="prettyprint lang-config"><IfDefine TEST>
Define servername test.example.com
DocumentRoot "/var/www/${servername}/htdocs"</pre>
- <p>Le caractère ":" est interdit dans les noms de variables afin
- d'éviter les conflits avec la syntaxe de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>.</p>
+ <p>Le caractère ":" est interdit dans les noms de variables afin
+ d'éviter les conflits avec la syntaxe de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>.</p>
- <div class="note"><h3>Portée de la directive et pièges à éviter</h3>
- <p>Si cette directive est définie au sein d'un bloc VirtualHost, les
+ <div class="note"><h3>Portée de la directive et pièges à éviter</h3>
+ <p>Si cette directive est définie au sein d'un bloc VirtualHost, les
changements qu'elle induit sont visibles de toute directive
- ultérieure, au delà de tout bloc VirtualHost.</p>
+ ultérieure, au delà de tout bloc VirtualHost.</p>
</div>
</div>
<div class="directive-section"><h2><a name="directory" id="directory">Directive</a> <a name="Directory" id="Directory"><Directory></a><a title="Lien permanent" href="#directory" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe un ensemble de directives qui ne s'appliquent
-qu'au répertoire concerné du système de fichiers, à ses
-sous-répertoires, et à leur contenu.</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Directory <var>chemin répertoire</var>>
+qu'au répertoire concerné du système de fichiers, à ses
+sous-répertoires, et à leur contenu.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Directory <var>chemin répertoire</var>>
... </Directory></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
</table>
<p>Les balises <code class="directive"><Directory></code> et
<code></Directory></code> permettent de regrouper un ensemble
- de directives qui ne s'appliquent qu'au répertoire précisé,
- à ses sous-répertoires, et aux fichiers situés dans ces
- sous-répertoires. Toute directive
- autorisée dans un contexte de répertoire peut être utilisée.
- <var>chemin répertoire</var> est soit le chemin absolu d'un
- répertoire, soit une chaîne de caractères avec caractères génériques
- utilisant la comparaison Unix de style shell. Dans une chaîne de
- caractères avec caractères génériques, <code>?</code> correspond à
- un caractère quelconque, et <code>*</code> à toute chaîne de
- caractères. Les intervalles de caractères <code>[]</code> sont aussi
- autorisés. Aucun caractère générique ne peut remplacer le caractère
+ de directives qui ne s'appliquent qu'au répertoire précisé,
+ à ses sous-répertoires, et aux fichiers situés dans ces
+ sous-répertoires. Toute directive
+ autorisée dans un contexte de répertoire peut être utilisée.
+ <var>chemin répertoire</var> est soit le chemin absolu d'un
+ répertoire, soit une chaîne de caractères avec caractères génériques
+ utilisant la comparaison Unix de style shell. Dans une chaîne de
+ caractères avec caractères génériques, <code>?</code> correspond à
+ un caractère quelconque, et <code>*</code> à toute chaîne de
+ caractères. Les intervalles de caractères <code>[]</code> sont aussi
+ autorisés. Aucun caractère générique ne peut remplacer le caractère
`/', si bien que l'expression <code><Directory
"/*/public_html"></code> ne conviendra pas pour le chemin
* <code>/home/user/public_html</code>, alors que <code><Directory
</Directory></pre>
- <p>Les chemins de répertoires contenant des espaces <em>doivent</em> être
- entourés de guillemets afin d'empêcher l'interprétation de ces
+ <p>Les chemins de répertoires contenant des espaces <em>doivent</em> être
+ entourés de guillemets afin d'empêcher l'interprétation de ces
espaces comme fins d'arguments.</p>
<div class="note">
- <p>Soyez prudent avec l'argument <var>chemin répertoire</var> : il
- doit correspondre exactement au chemin du système de fichier
- qu'Apache httpd utilise pour accéder aux fichiers. Les directives
+ <p>Soyez prudent avec l'argument <var>chemin répertoire</var> : il
+ doit correspondre exactement au chemin du système de fichier
+ qu'Apache httpd utilise pour accéder aux fichiers. Les directives
comprises dans une section <code><Directory></code> ne
- s'appliqueront pas aux fichiers du même répertoire auxquels on
- aura accédé via un chemin différent, per exemple via un lien
+ s'appliqueront pas aux fichiers du même répertoire auxquels on
+ aura accédé via un chemin différent, per exemple via un lien
symbolique.</p>
</div>
<p> Les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions rationnelles</a>
- peuvent aussi être utilisées en ajoutant le caractère
+ peuvent aussi être utilisées en ajoutant le caractère
<code>~</code>. Par exemple :</p>
<pre class="prettyprint lang-config"><Directory ~ "^/www/[0-9]{3}">
</Directory></pre>
- <p>pourra correspondre à tout répertoire situé dans /www/ et dont le
+ <p>pourra correspondre à tout répertoire situé dans /www/ et dont le
nom se compose de trois chiffres.</p>
<p>Si plusieurs sections <code class="directive"><Directory></code> (sans expression rationnelle)
- correspondent au répertoire (ou à un de ses parents) qui contient le
+ correspondent au répertoire (ou à un de ses parents) qui contient le
document, les directives de la section <code class="directive"><Directory></code> dont le chemin est le plus
- court sont appliquées en premier, en s'intercalant avec les
+ court sont appliquées en premier, en s'intercalant avec les
directives des fichiers <a href="#accessfilename">.htaccess</a>. Par
exemple, avec</p>
</Directory></pre>
- <p>l'accès au document <code>/home/web/dir/doc.html</code> emprunte
+ <p>l'accès au document <code>/home/web/dir/doc.html</code> emprunte
le chemin suivant :</p>
<ul>
<li>Aplication de la directive <code>AllowOverride None</code>
- (qui désactive les fichiers <code>.htaccess</code>).</li>
+ (qui désactive les fichiers <code>.htaccess</code>).</li>
<li>Application de la directive <code>AllowOverride
- FileInfo</code> (pour le répertoire <code>/home</code>).</li>
+ FileInfo</code> (pour le répertoire <code>/home</code>).</li>
<li>Application de toute directive <code>FileInfo</code> qui se
- trouverait dans d'éventuels fichiers <code>/home/.htaccess</code>,
+ trouverait dans d'éventuels fichiers <code>/home/.htaccess</code>,
<code>/home/web/.htaccess</code> ou
<code>/home/web/dir/.htaccess</code>, dans cet ordre.</li>
</ul>
- <p>Les directives associées aux répertoires sous forme d'expressions
+ <p>Les directives associées aux répertoires sous forme d'expressions
rationnelles ne sont prises en compte qu'une fois toutes les
- directives des sections sans expressions rationnelles appliquées.
- Alors, tous les répertoires avec expressions rationnelles sont
- testés selon l'ordre dans lequel ils apparaissent dans le fichier de
+ directives des sections sans expressions rationnelles appliquées.
+ Alors, tous les répertoires avec expressions rationnelles sont
+ testés selon l'ordre dans lequel ils apparaissent dans le fichier de
configuration. Par exemple, avec</p>
<pre class="prettyprint lang-config"><Directory ~ "abc$">
<p>la section avec expression rationnelle ne sera prise en compte
- qu'après les sections <code class="directive"><Directory></code> sans expression rationnelle
+ qu'après les sections <code class="directive"><Directory></code> sans expression rationnelle
et les fichiers <code>.htaccess</code>. Alors, l'expression
rationnelle conviendra pour <code>/home/abc/public_html/abc</code>
et la section <code class="directive"><Directory></code>
correspondante s'appliquera.</p>
- <p><strong>Notez que la politique d'accès par défaut
- dans les sections <code><Directory "/"></code> consiste à
- autoriser tout accès sans restriction. Ceci signifie qu'Apache httpd va servir tout fichier
- correspondant à une URL. Il est recommandé de modifier cette
- situation à l'aide d'un bloc du style</strong></p>
+ <p><strong>Notez que la politique d'accès par défaut
+ dans les sections <code><Directory "/"></code> consiste à
+ autoriser tout accès sans restriction. Ceci signifie qu'Apache httpd va servir tout fichier
+ correspondant à une URL. Il est recommandé de modifier cette
+ situation à l'aide d'un bloc du style</strong></p>
<pre class="prettyprint lang-config"><Directory "/">
Require all denied
</Directory></pre>
- <p><strong>puis d'affiner la configuration pour les répertoires que vous
- voulez rendre accessibles. Voir la page <a href="../misc/security_tips.html">Conseils à propos de sécurité</a>
- pour plus de détails.</strong></p>
+ <p><strong>puis d'affiner la configuration pour les répertoires que vous
+ voulez rendre accessibles. Voir la page <a href="../misc/security_tips.html">Conseils à propos de sécurité</a>
+ pour plus de détails.</strong></p>
<p>Les sections <code class="directive"><Directory></code> se situent
- dans le fichier <code>httpd.conf</code>. Les directives <code class="directive"><Directory></code> ne peuvent pas être imbriquées
- et ne sont pas autorisées dans les sections <code class="directive"><a href="#limit"><Limit></a></code> ou <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>.</p>
+ dans le fichier <code>httpd.conf</code>. Les directives <code class="directive"><Directory></code> ne peuvent pas être imbriquées
+ et ne sont pas autorisées dans les sections <code class="directive"><a href="#limit"><Limit></a></code> ou <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>.</p>
<h3>Voir aussi</h3>
<ul>
<li><a href="../sections.html">Comment fonctionnent les sections
<Directory>, <Location> et <Files></a> pour des
-explications à propos de la manière dont ces différentes sections se
-combinent entre elles à la réception d'une requête</li>
+explications à propos de la manière dont ces différentes sections se
+combinent entre elles à la réception d'une requête</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="directorymatch" id="directorymatch">Directive</a> <a name="DirectoryMatch" id="DirectoryMatch"><DirectoryMatch></a><a title="Lien permanent" href="#directorymatch" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives qui s'appliquent au contenu de répertoires
-du système de fichiers correspondant à une expression rationnelle</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives qui s'appliquent au contenu de répertoires
+du système de fichiers correspondant à une expression rationnelle</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><DirectoryMatch <var>regex</var>>
... </DirectoryMatch></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
</table>
<p>Les balises <code class="directive"><DirectoryMatch></code>
et <code></DirectoryMatch></code> permettent de regrouper un
- ensemble de directives qui ne s'appliqueront qu'au répertoire
- précisé (et aux fichiers qu'il contient), comme pour la section <code class="directive"><a href="#directory"><Directory></a></code>. Cependant, le
- répertoire est précisé sous la forme d'une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>. Par exemple :</p>
+ ensemble de directives qui ne s'appliqueront qu'au répertoire
+ précisé (et aux fichiers qu'il contient), comme pour la section <code class="directive"><a href="#directory"><Directory></a></code>. Cependant, le
+ répertoire est précisé sous la forme d'une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>. Par exemple :</p>
<pre class="prettyprint lang-config"><DirectoryMatch "^/www/(.+/)?[0-9]{3}/">
# ...
</DirectoryMatch></pre>
- <p>convient pour les sous-répertoires de <code>/www/</code> dont
+ <p>convient pour les sous-répertoires de <code>/www/</code> dont
le nom se compose de trois chiffres.</p>
- <div class="note"><h3>Compatibilité</h3>
+ <div class="note"><h3>Compatibilité</h3>
Avant la version 2.3.9, cette directive s'appliquait aussi aux
- sous-répertoires (comme la directive <code class="directive"><a href="#directory"><Directory></a></code>), et ne tenait pas compte du
+ sous-répertoires (comme la directive <code class="directive"><a href="#directory"><Directory></a></code>), et ne tenait pas compte du
symbole de fin de ligne ($). Depuis la version 2.3.9, seuls les
- répertoires qui correspondent à l'expression sont affectés par les
+ répertoires qui correspondent à l'expression sont affectés par les
directives contenues dans la section.
</div>
<div class="note"><h3>slash de fin</h3>
- Cette directive s'applique aux requêtes pour des répertoires avec
+ Cette directive s'applique aux requêtes pour des répertoires avec
ou sans slash de fin ; les expressions contenant un symbole de fin
de ligne ($) doivent donc faire l'objet d'une attention
- particulière.
+ particulière.
</div>
- <p>A partir de la version 2.4.8, les groupes nommés et les
- références arrières sont extraits et enregistrés dans
- l'environnement avec leur nom en majuscules et préfixé
+ <p>A partir de la version 2.4.8, les groupes nommés et les
+ références arrières sont extraits et enregistrés dans
+ l'environnement avec leur nom en majuscules et préfixé
par "MATCH_". Ceci permet
- de référencer des URLs dans des <a href="../expr.html">expressions</a>
+ de référencer des URLs dans des <a href="../expr.html">expressions</a>
ou au sein de modules comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pour
- éviter toute confusion, les références arrières numérotées (non
- nommées) sont ignorées. Vous devez utiliser à la place des groupes
- nommés.</p>
+ éviter toute confusion, les références arrières numérotées (non
+ nommées) sont ignorées. Vous devez utiliser à la place des groupes
+ nommés.</p>
<pre class="prettyprint lang-config"><DirectoryMatch "^/var/www/combined/(?<sitename>[^/]+)">
Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
<h3>Voir aussi</h3>
<ul>
<li><code class="directive"><a href="#directory"><Directory></a></code>
-pour une description de la manière dont les expressions rationnelles
-sont traitées en présence d'autres sections <code class="directive"><Directory></code> sans expressions rationnelles</li>
+pour une description de la manière dont les expressions rationnelles
+sont traitées en présence d'autres sections <code class="directive"><Directory></code> sans expressions rationnelles</li>
<li><a href="../sections.html">Comment fonctionnent les sections
<Directory>, <Location> et <Files></a> pour une
-explication à propos de la manière dont ces différentes sections se
-combinent entre elles à la réception d'une requête</li>
+explication à propos de la manière dont ces différentes sections se
+combinent entre elles à la réception d'une requête</li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Racine principale de l'arborescence des documents visible
depuis Internet</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DocumentRoot <var>chemin répertoire</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DocumentRoot "/usr/local/apache/htdocs"</code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DocumentRoot <var>chemin répertoire</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DocumentRoot "/usr/local/apache/htdocs"</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Cette directive permet de définir le répertoire à partir duquel
+ <p>Cette directive permet de définir le répertoire à partir duquel
<code class="program"><a href="../programs/httpd.html">httpd</a></code> va servir les fichiers. S'il ne correspond
- pas à un <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, le chemin
- de l'URL sera ajouté par le serveur à la racine des documents afin
- de construire le chemin du document recherché. Exemple :</p>
+ pas à un <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, le chemin
+ de l'URL sera ajouté par le serveur à la racine des documents afin
+ de construire le chemin du document recherché. Exemple :</p>
<pre class="prettyprint lang-config">DocumentRoot "/usr/web"</pre>
- <p>un accès à <code>http://my.example.com/index.html</code> se
- réfère alors à <code>/usr/web/index.html</code>. Si <var>chemin
- répertoire</var> n'est pas un chemin absolu, il est considéré comme
- relatif au chemin défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
+ <p>un accès à <code>http://my.example.com/index.html</code> se
+ réfère alors à <code>/usr/web/index.html</code>. Si <var>chemin
+ répertoire</var> n'est pas un chemin absolu, il est considéré comme
+ relatif au chemin défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
- <p>Le répertoire défini par la directive
+ <p>Le répertoire défini par la directive
<code class="directive">DocumentRoot</code> ne doit pas comporter de slash
final.</p>
<h3>Voir aussi</h3>
<ul>
<li><a href="../urlmapping.html#documentroot">Mise en
-correspondance des URLs avec le système de fichiers</a></li>
+correspondance des URLs avec le système de fichiers</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="else" id="else">Directive</a> <a name="Else" id="Else"><Else></a><a title="Lien permanent" href="#else" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent que si la
-condition correspondant à la section <code class="directive"><a href="#if"><If></a></code> ou <code class="directive"><a href="#elseif"><ElseIf></a></code> précédente n'est pas satisfaite par la
-requête à l'exécution</td></tr>
+condition correspondant à la section <code class="directive"><a href="#if"><If></a></code> ou <code class="directive"><a href="#elseif"><ElseIf></a></code> précédente n'est pas satisfaite par la
+requête à l'exécution</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Else> ... </Else></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les conditions imbriquées sont supportées à partir de la version
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les conditions imbriquées sont supportées à partir de la version
2.4.26 du serveur HTTP Apache</td></tr>
</table>
<p>La section <code class="directive"><Else></code> applique
les directives qu'elle contient si et seulement si les conditions
- correspondant à la section <code class="directive"><If></code>
- ou <code class="directive"><ElseIf></code> immédiatement
- supérieure et dans la même portée n'ont pas été satisfaites. Par
+ correspondant à la section <code class="directive"><If></code>
+ ou <code class="directive"><ElseIf></code> immédiatement
+ supérieure et dans la même portée n'ont pas été satisfaites. Par
exemple, dans :</p>
<pre class="prettyprint lang-config"><If "-z req('Host')">
</Else></pre>
- <p>La condition de la section <code class="directive"><If></code> serait satisfaite pour les requêtes
- HTTP/1.0 sans en-tête <var>Host:</var>, alors que celle de la section
+ <p>La condition de la section <code class="directive"><If></code> serait satisfaite pour les requêtes
+ HTTP/1.0 sans en-tête <var>Host:</var>, alors que celle de la section
<code class="directive"><Else></code> le serait pour les
- requêtes comportant un en-tête <var>Host:</var>.</p>
+ requêtes comportant un en-tête <var>Host:</var>.</p>
<h3>Voir aussi</h3>
<li><code class="directive"><a href="#if"><If></a></code></li>
<li><code class="directive"><a href="#elseif"><ElseIf></a></code></li>
<li><a href="../sections.html">Fonctionnement des sections <Directory>, <Location>,
- <Files></a> pour une explication de la manière dont ces
- différentes section se combinent entre elles lorsqu'une requête est
- reçue. Les directives <code class="directive"><If></code>,
+ <Files></a> pour une explication de la manière dont ces
+ différentes section se combinent entre elles lorsqu'une requête est
+ reçue. Les directives <code class="directive"><If></code>,
<code class="directive"><ElseIf></code>, et <code class="directive"><Else></code> s'appliquent en dernier.</li>
</ul>
</div>
<div class="directive-section"><h2><a name="elseif" id="elseif">Directive</a> <a name="ElseIf" id="ElseIf"><ElseIf></a><a title="Lien permanent" href="#elseif" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent que si la
-condition correspondante est satisfaite par une requête à l'exécution,
-alors que la condition correspondant à la section <code class="directive"><a href="#if"><If></a></code> ou <code class="directive"><ElseIf></code> précédente ne l'était pas.</td></tr>
+condition correspondante est satisfaite par une requête à l'exécution,
+alors que la condition correspondant à la section <code class="directive"><a href="#if"><If></a></code> ou <code class="directive"><ElseIf></code> précédente ne l'était pas.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><ElseIf <var>expression</var>> ... </ElseIf></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les conditions imbriquées sont supportées à partir de la version
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les conditions imbriquées sont supportées à partir de la version
2.4.26 du serveur HTTP Apache</td></tr>
</table>
<p>La section <code class="directive"><ElseIf></code> applique
les directives qu'elle contient si et seulement si d'une part la
condition correspondante est satisfaite, et d'autre part la condition
- correspondant à la section <code class="directive"><If></code>
- ou <code class="directive"><ElseIf></code> de la même portée ne
+ correspondant à la section <code class="directive"><If></code>
+ ou <code class="directive"><ElseIf></code> de la même portée ne
l'est pas. Par exemple, dans :</p>
<pre class="prettyprint lang-config"><If "-R '10.1.0.0/16'">
</Else></pre>
- <p>La condition correspondant à la section <code class="directive"><ElseIf></code> est satisfaite si l'adresse
- distante de la requête appartient au sous-réseau 10.0.0.0/8, mais
- pas si elle appartient au sous-réseau 10.1.0.0/16.</p>
+ <p>La condition correspondant à la section <code class="directive"><ElseIf></code> est satisfaite si l'adresse
+ distante de la requête appartient au sous-réseau 10.0.0.0/8, mais
+ pas si elle appartient au sous-réseau 10.1.0.0/16.</p>
<h3>Voir aussi</h3>
<ul>
<li><a href="../expr.html">Les expressions dans le serveur HTTP
-Apache</a>, pour une référence complète et d'autres exemples.</li>
+Apache</a>, pour une référence complète et d'autres exemples.</li>
<li><code class="directive"><a href="#if"><If></a></code></li>
<li><code class="directive"><a href="#else"><Else></a></code></li>
<li><a href="../sections.html">Fonctionnement des sections <Directory>, <Location>,
- <Files></a> pour une explication de la manière dont ces
- différentes section se combinent entre elles lorsqu'une requête est
- reçue. Les directives <code class="directive"><If></code>,
+ <Files></a> pour une explication de la manière dont ces
+ différentes section se combinent entre elles lorsqu'une requête est
+ reçue. Les directives <code class="directive"><If></code>,
<code class="directive"><ElseIf></code>, et <code class="directive"><Else></code> s'appliquent en dernier.</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="enablemmap" id="enablemmap">Directive</a> <a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a><a title="Lien permanent" href="#enablemmap" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise la projection en mémoire (Memory-Mapping) pour
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise la projection en mémoire (Memory-Mapping) pour
lire les fichiers pendant qu'ils sont servis</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableMMAP On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableMMAP On</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#Default">Défaut:</a></th><td><code>EnableMMAP On</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">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Cette directive définit si <code class="program"><a href="../programs/httpd.html">httpd</a></code> peut utiliser
- la projection en mémoire (Memory-Mapping) quand il doit lire le contenu
- d'un fichier pendant qu'il est servi. Par défaut, lorsque le
- traitement d'une requête requiert l'accès aux données contenues dans
- un fichier -- par exemple, pour servir un fichier interprété par le
- serveur à l'aide de <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> -- Apache httpd projette
- le fichier en mémoire si le système d'exploitation le permet.</p>
-
- <p>Cette projection en mémoire induit parfois une amélioration des
- performances. Sur certains systèmes cependant, il est préférable de
- désactiver la projection en mémoire afin d'éviter certains problèmes
- opérationnels :</p>
+ <p>Cette directive définit si <code class="program"><a href="../programs/httpd.html">httpd</a></code> peut utiliser
+ la projection en mémoire (Memory-Mapping) quand il doit lire le contenu
+ d'un fichier pendant qu'il est servi. Par défaut, lorsque le
+ traitement d'une requête requiert l'accès aux données contenues dans
+ un fichier -- par exemple, pour servir un fichier interprété par le
+ serveur à l'aide de <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> -- Apache httpd projette
+ le fichier en mémoire si le système d'exploitation le permet.</p>
+
+ <p>Cette projection en mémoire induit parfois une amélioration des
+ performances. Sur certains systèmes cependant, il est préférable de
+ désactiver la projection en mémoire afin d'éviter certains problèmes
+ opérationnels :</p>
<ul>
- <li>Sur certains systèmes multi-processeurs, la projection en
- mémoire peut dégrader les performances du programme
+ <li>Sur certains systèmes multi-processeurs, la projection en
+ mémoire peut dégrader les performances du programme
<code class="program"><a href="../programs/httpd.html">httpd</a></code>.</li>
- <li>S'il fait l'objet d'une projection en mémoire par
+ <li>S'il fait l'objet d'une projection en mémoire par
<code class="program"><a href="../programs/httpd.html">httpd</a></code>, la suppression ou la troncature d'un
fichier peut provoquer un crash de <code class="program"><a href="../programs/httpd.html">httpd</a></code> avec une
erreur de segmentation.</li>
</ul>
- <p>Pour les configurations de serveur sujettes à ce genre de
- problème, il est préférable de désactiver la projection en mémoire
- des fichiers servis en spécifiant :</p>
+ <p>Pour les configurations de serveur sujettes à ce genre de
+ problème, il est préférable de désactiver la projection en mémoire
+ des fichiers servis en spécifiant :</p>
<pre class="prettyprint lang-config">EnableMMAP Off</pre>
- <p>Pour les montages NFS, cette fonctionnalité peut être
- explicitement désactivée pour les fichiers concernés en spécifiant
+ <p>Pour les montages NFS, cette fonctionnalité peut être
+ explicitement désactivée pour les fichiers concernés en spécifiant
:</p>
<pre class="prettyprint lang-config"><Directory "/path-to-nfs-files">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le support sendfile du noyau pour servir les
fichiers aux clients</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableSendfile On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableSendfile Off</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#Default">Défaut:</a></th><td><code>EnableSendfile Off</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">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Par défaut à Off depuis la version 2.3.9.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Par défaut à Off depuis la version 2.3.9.</td></tr>
</table>
- <p>Cette directive définit si le programme <code class="program"><a href="../programs/httpd.html">httpd</a></code>
+ <p>Cette directive définit si le programme <code class="program"><a href="../programs/httpd.html">httpd</a></code>
peut utiliser le support sendfile du noyau pour transmettre le
- contenu des fichiers aux clients. Par défaut, lorsque le traitement
- d'une requête ne requiert pas l'accès aux données contenues dans un
+ contenu des fichiers aux clients. Par défaut, lorsque le traitement
+ d'une requête ne requiert pas l'accès aux données contenues dans un
fichier -- par exemple, pour la transmission d'un fichier statique
-- Apache httpd utilise sendfile pour transmettre le contenu du fichier
- sans même lire ce dernier, si le système d'exploitation le
+ sans même lire ce dernier, si le système d'exploitation le
permet.</p>
- <p>Ce mécanisme sendfile évite la séparation des opérations de
- lecture et d'envoi, ainsi que les réservations de tampons. sur
- certains systèmes cependant, ou sous certains systèmes de fichiers,
- il est préférable de désactiver cette fonctionnalité afin d'éviter
- certains problèmes opérationnels :</p>
+ <p>Ce mécanisme sendfile évite la séparation des opérations de
+ lecture et d'envoi, ainsi que les réservations de tampons. sur
+ certains systèmes cependant, ou sous certains systèmes de fichiers,
+ il est préférable de désactiver cette fonctionnalité afin d'éviter
+ certains problèmes opérationnels :</p>
<ul>
- <li>Certains systèmes peuvent présenter un support sendfile
- défectueux que le système de compilation n'a pas détecté, en
- particulier si les exécutables ont été compilés sur une autre
- machine, puis copiés sur la première avec un support sendfile
- défectueux.</li>
+ <li>Certains systèmes peuvent présenter un support sendfile
+ défectueux que le système de compilation n'a pas détecté, en
+ particulier si les exécutables ont été compilés sur une autre
+ machine, puis copiés sur la première avec un support sendfile
+ défectueux.</li>
<li>Sous Linux, l'utilisation de sendfile induit des bogues lors de
- la récupération des paquets de vérification TCP (TCP-checksum) avec
- certaines cartes réseau lorsqu'on utilise IPv6.</li>
- <li>Sous Linux sur Itanium, <code>sendfile</code> peut s'avérer incapable de
+ la récupération des paquets de vérification TCP (TCP-checksum) avec
+ certaines cartes réseau lorsqu'on utilise IPv6.</li>
+ <li>Sous Linux sur Itanium, <code>sendfile</code> peut s'avérer incapable de
traiter les fichiers de plus de 2 Go.</li>
- <li>Avec un montage réseau de <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (par exemple NFS, SMB, CIFS,
+ <li>Avec un montage réseau de <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (par exemple NFS, SMB, CIFS,
FUSE), le
- noyau peut s'avérer incapable de servir un fichier de ce montage
- réseau en passant par son propre cache.</li>
+ noyau peut s'avérer incapable de servir un fichier de ce montage
+ réseau en passant par son propre cache.</li>
</ul>
- <p>Pour les configurations de serveur non sujettes à ce genre de
- problème, vous pouvez activer cette fonctionnalité en
- spécifiant :</p>
+ <p>Pour les configurations de serveur non sujettes à ce genre de
+ problème, vous pouvez activer cette fonctionnalité en
+ spécifiant :</p>
<pre class="prettyprint lang-config">EnableSendfile On</pre>
- <p>Pour les montages réseau, cette fonctionnalité peut être
- explicitement désactivée pour les fichiers concernés en spécifiant
+ <p>Pour les montages réseau, cette fonctionnalité peut être
+ explicitement désactivée pour les fichiers concernés en spécifiant
:</p>
<pre class="prettyprint lang-config"><Directory "/path-to-nfs-files">
</Directory></pre>
<p>Veuillez noter que la configuration de la directive
- <code class="directive">EnableSendfile</code> dans un contexte de répertoire
- ou de fichier .htaccess n'est pas supportée par
+ <code class="directive">EnableSendfile</code> dans un contexte de répertoire
+ ou de fichier .htaccess n'est pas supportée par
<code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code>. Le module ne prend en compte la
- définition de <code class="directive">EnableSendfile</code> que dans un
+ définition de <code class="directive">EnableSendfile</code> que dans un
contexte global.
</p>
<div class="directive-section"><h2><a name="error" id="error">Directive</a> <a name="Error" id="Error">Error</a><a title="Lien permanent" href="#error" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interrompt la lecture de la configuration avec un message
-d'erreur personnalisé</td></tr>
+d'erreur personnalisé</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Error <var>message</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>à partir de la version 2.3.9</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>à partir de la version 2.3.9</td></tr>
</table>
- <p>Si une erreur peut être détectée dans la configuration, souvent
+ <p>Si une erreur peut être détectée dans la configuration, souvent
un module manquant, cette
- directive peut être utilisée pour générer un message d'erreur
- personnalisé, et interrompre la lecture de la configuration. </p>
+ directive peut être utilisée pour générer un message d'erreur
+ personnalisé, et interrompre la lecture de la configuration. </p>
<pre class="prettyprint lang-config"># Exemple
-# vérification du chargement de mod_include
+# vérification du chargement de mod_include
<IfModule !include_module>
Error "mod_include is required by mod_foo. Load it with LoadModule."
</IfModule>
-# vérification de la définition de SSL ou (exclusif) NOSSL
+# vérification de la définition de SSL ou (exclusif) NOSSL
<IfDefine SSL>
<IfDefine NOSSL>
Error "Both SSL and NOSSL are defined. Define only one of them."
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Document que le serveur renvoie au client en cas
d'erreur</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ErrorDocument <var>code erreur</var> <var>document</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Apache httpd peut traiter les problèmes et les erreurs de quatre
- manières,</p>
+ <p>Apache httpd peut traiter les problèmes et les erreurs de quatre
+ manières,</p>
<ol>
<li>afficher un simple message d'erreur au contenu fixe</li>
- <li>afficher un message personnalisé</li>
+ <li>afficher un message personnalisé</li>
<li>rediriger en interne vers un <var>chemin d'URL</var> local pour traiter
- le problème ou l'erreur</li>
+ le problème ou l'erreur</li>
<li>rediriger vers une <var>URL</var> externe pour traiter
- le problème ou l'erreur</li>
+ le problème ou l'erreur</li>
</ol>
- <p>La première option constitue le comportement par défaut; pour
- choisir une des trois autres options, il faut configurer Apache à
+ <p>La première option constitue le comportement par défaut; pour
+ choisir une des trois autres options, il faut configurer Apache à
l'aide de la directive <code class="directive">ErrorDocument</code>, suivie
- du code de la réponse HTTP et d'une URL ou d'un message. Apache
- httpd fournit parfois des informations supplémentaires à propos du
- problème ou de l'erreur.</p>
+ du code de la réponse HTTP et d'une URL ou d'un message. Apache
+ httpd fournit parfois des informations supplémentaires à propos du
+ problème ou de l'erreur.</p>
<p>A partir de la version 2.4.13, cette directive peut utiliser la
- <a href="../expr.html">syntaxe des expressions</a> pour générer des
- chaînes de caractères et des URLs dynamiques.</p>
+ <a href="../expr.html">syntaxe des expressions</a> pour générer des
+ chaînes de caractères et des URLs dynamiques.</p>
<p>Les URLs peuvent commencer par un slash (/) pour les chemins web
- locaux (relatifs au répertoire défini par la directive <code class="directive"><a href="#documentroot">DocumentRoot</a></code>), ou se présenter sous la
- forme d'une URL complète que le client pourra résoudre.
- Alternativement, un message à afficher par le navigateur pourra être
- fourni. Notez que la décision à propos de la nature du paramètre, à
+ locaux (relatifs au répertoire défini par la directive <code class="directive"><a href="#documentroot">DocumentRoot</a></code>), ou se présenter sous la
+ forme d'une URL complète que le client pourra résoudre.
+ Alternativement, un message à afficher par le navigateur pourra être
+ fourni. Notez que la décision à propos de la nature du paramètre, à
savoir une URL, un chemin ou un message, est prise avant
- l'interprétation de toute expression. Exemples :</p>
+ l'interprétation de toute expression. Exemples :</p>
<pre class="prettyprint lang-config">ErrorDocument 500 http://example.com/cgi-bin/server-error.cgi
ErrorDocument 404 /errors/bad_urls.php
ErrorDocument 401 /subscription_info.html
-ErrorDocument 403 "Désolé, nous ne pouvons pas vous accorder l'accès aujourd'hui"
+ErrorDocument 403 "Désolé, nous ne pouvons pas vous accorder l'accès aujourd'hui"
ErrorDocument 403 Forbidden!
ErrorDocument 403 /errors/forbidden.py?referrer=%{escape:%{HTTP_REFERER}}</pre>
- <p>De plus, on peut spécifier la valeur spéciale <code>default</code>
- pour indiquer l'utilisation d'un simple message d'Apache httpd codé en
- dur. Bien que non nécessaire dans des circonstances normales, la
- spécification de la valeur <code>default</code> va permettre de
- rétablir l'utilisation du simple message d'Apache httpd codé en dur pour
- les configurations qui sans cela, hériteraient d'une directive
+ <p>De plus, on peut spécifier la valeur spéciale <code>default</code>
+ pour indiquer l'utilisation d'un simple message d'Apache httpd codé en
+ dur. Bien que non nécessaire dans des circonstances normales, la
+ spécification de la valeur <code>default</code> va permettre de
+ rétablir l'utilisation du simple message d'Apache httpd codé en dur pour
+ les configurations qui sans cela, hériteraient d'une directive
<code class="directive">ErrorDocument</code> existante.</p>
<pre class="prettyprint lang-config">ErrorDocument 404 /cgi-bin/bad_urls.pl
</Directory></pre>
- <p>Notez que lorsque vous spécifiez une directive
+ <p>Notez que lorsque vous spécifiez une directive
<code class="directive">ErrorDocument</code> pointant vers une URL distante
- (c'est à dire tout ce qui commence par le préfixe http), le serveur
+ (c'est à dire tout ce qui commence par le préfixe http), le serveur
HTTP Apache va
- envoyer une redirection au client afin de lui indiquer où trouver le
- document, même dans le cas où ce document se trouve sur le serveur
- local. Ceci a de nombreuses conséquences dont la plus importante
- réside dans le fait que le client ne recevra pas le code d'erreur
+ envoyer une redirection au client afin de lui indiquer où trouver le
+ document, même dans le cas où ce document se trouve sur le serveur
+ local. Ceci a de nombreuses conséquences dont la plus importante
+ réside dans le fait que le client ne recevra pas le code d'erreur
original, mais au contraire un code de statut de redirection. Ceci
peut en retour semer la confusion chez les robots web et divers
- clients qui tentent de déterminer la validité d'une URL en examinant
+ clients qui tentent de déterminer la validité d'une URL en examinant
le code de statut. De plus, si vous utilisez une URL distante avec
<code>ErrorDocument 401</code>, le client ne saura pas qu'il doit
- demander un mot de passe à l'utilisateur car il ne recevra pas le
+ demander un mot de passe à l'utilisateur car il ne recevra pas le
code de statut 401. C'est pourquoi, <strong>si vous utilisez une
- directive <code>ErrorDocument 401</code>, elle devra faire référence
- à un document par le biais d'un chemin local.</strong></p>
+ directive <code>ErrorDocument 401</code>, elle devra faire référence
+ à un document par le biais d'un chemin local.</strong></p>
- <p>Microsoft Internet Explorer (MSIE) ignore par défaut les messages
- d'erreur générés par le serveur lorsqu'ils sont trop courts et
+ <p>Microsoft Internet Explorer (MSIE) ignore par défaut les messages
+ d'erreur générés par le serveur lorsqu'ils sont trop courts et
remplacent ses propres messages d'erreur "amicaux". Le seuil de
- taille varie en fonction du type d'erreur, mais en général, si la
- taille de votre message d'erreur est supérieure à 512 octets, il y a
- peu de chances pour que MSIE l'occulte, et il sera affiché par ce
+ taille varie en fonction du type d'erreur, mais en général, si la
+ taille de votre message d'erreur est supérieure à 512 octets, il y a
+ peu de chances pour que MSIE l'occulte, et il sera affiché par ce
dernier. Vous trouverez d'avantage d'informations dans l'article de
la base de connaissances Microsoft <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a>.</p>
<p>Bien que la plupart des messages d'erreur internes originaux
- puissent être remplacés, ceux-ci sont cependant conservés dans
- certaines circonstances sans tenir compte de la définition de la
+ puissent être remplacés, ceux-ci sont cependant conservés dans
+ certaines circonstances sans tenir compte de la définition de la
directive <code class="directive"><a href="#errordocument">ErrorDocument</a></code>. En
- particulier, en cas de détection d'une requête mal formée, le
- processus de traitement normal des requêtes est immédiatement
- interrompu, et un message d'erreur interne est renvoyé, ceci afin de
- se prémunir contre les problèmes de sécurité liés aux requêtes mal
- formées.</p>
-
- <p>Si vous utilisez mod_proxy, il est en général préférable
- d'activer <code class="directive"><a href="../mod/mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></code> afin d'être en
- mesure de produire des messages d'erreur personnalisés pour le
+ particulier, en cas de détection d'une requête mal formée, le
+ processus de traitement normal des requêtes est immédiatement
+ interrompu, et un message d'erreur interne est renvoyé, ceci afin de
+ se prémunir contre les problèmes de sécurité liés aux requêtes mal
+ formées.</p>
+
+ <p>Si vous utilisez mod_proxy, il est en général préférable
+ d'activer <code class="directive"><a href="../mod/mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></code> afin d'être en
+ mesure de produire des messages d'erreur personnalisés pour le
compte de votre serveur d'origine. Si vous n'activez pas
- ProxyErrorOverride, Apache httpd ne générera pas de messages d'erreur
- personnalisés pour le contenu mandaté.</p>
+ ProxyErrorOverride, Apache httpd ne générera pas de messages d'erreur
+ personnalisés pour le contenu mandaté.</p>
<h3>Voir aussi</h3>
<ul>
<li><a href="../custom-error.html">documentation sur la
-personnalisation des réponses</a></li>
+personnalisation des réponses</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="errorlog" id="errorlog">Directive</a> <a name="ErrorLog" id="ErrorLog">ErrorLog</a><a title="Lien permanent" href="#errorlog" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définition du chemin du journal des erreurs</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définition du chemin du journal des erreurs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> ErrorLog <var>file-path</var>|syslog[:[<var>facility</var>][:<var>tag</var>]]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>La directive <code class="directive">ErrorLog</code> permet de définir le
+ <p>La directive <code class="directive">ErrorLog</code> permet de définir le
nom du fichier dans lequel le serveur va journaliser toutes les
erreurs qu'il rencontre. Si le <var>file-path</var> n'est pas
- absolu, il est considéré comme relatif au chemin défini par la
+ absolu, il est considéré comme relatif au chemin défini par la
directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
<pre class="prettyprint lang-config">ErrorLog "/var/log/httpd/error_log"</pre>
<p>Si le <var>file-path</var> commence par une barre verticale
- "<code>(|)</code>", il est considéré comme une commande à lancer pour traiter la
+ "<code>(|)</code>", il est considéré comme une commande à lancer pour traiter la
journalisation de l'erreur.</p>
<pre class="prettyprint lang-config">ErrorLog "|/usr/local/bin/httpd_errors"</pre>
- <p>Voir les notes à propos des <a href="../logs.html#piped">journaux
- redirigés</a> pour plus d'informations.</p>
+ <p>Voir les notes à propos des <a href="../logs.html#piped">journaux
+ redirigés</a> pour plus d'informations.</p>
- <p>L'utilisation de <code>syslog</code> à la place d'un nom de
- fichier active la journalisation via syslogd(8) si le système le
- supporte et si <code class="module"><a href="../mod/mod_syslog.html">mod_syslog</a></code> a été chargé. Le
- dispositif syslog par défaut est <code>local7</code>,
- mais vous pouvez le modifier à l'aide de la syntaxe
- <code>syslog:<var>facility</var></code>, où <var>facility</var> peut
- être remplacé par un des noms habituellement documentés dans la page
+ <p>L'utilisation de <code>syslog</code> à la place d'un nom de
+ fichier active la journalisation via syslogd(8) si le système le
+ supporte et si <code class="module"><a href="../mod/mod_syslog.html">mod_syslog</a></code> a été chargé. Le
+ dispositif syslog par défaut est <code>local7</code>,
+ mais vous pouvez le modifier à l'aide de la syntaxe
+ <code>syslog:<var>facility</var></code>, où <var>facility</var> peut
+ être remplacé par un des noms habituellement documentés dans la page
de man syslog(1). Le dispositif syslog <code>local7</code> est
- global, et si il est modifié dans un serveur virtuel, le dispositif
- final spécifié affecte l'ensemble du serveur. La même règle s'applique au
- tag syslog qui utilise par défaut le nom du binaire du serveur HTTP Apache
+ global, et si il est modifié dans un serveur virtuel, le dispositif
+ final spécifié affecte l'ensemble du serveur. La même règle s'applique au
+ tag syslog qui utilise par défaut le nom du binaire du serveur HTTP Apache
<code>httpd</code> dans la plupart des cas. Vous pouvez aussi modifier cette
valeur en utilisant la syntaxe <code>syslog::<var>tag</var></code>.</p>
ErrorLog syslog::httpd.srv2</pre>
- <p>Des modules additionnels peuvent implémenter leur propre
- fournisseur ErrorLog. La syntaxe est similaire à l'exemple
+ <p>Des modules additionnels peuvent implémenter leur propre
+ fournisseur ErrorLog. La syntaxe est similaire à l'exemple
<code>syslog</code> ci-dessus.</p>
- <p>SECURITE : Voir le document <a href="../misc/security_tips.html#serverroot">conseils à propos de
- sécurité</a> pour des détails sur les raisons pour lesquelles votre
- sécurité peut être compromise si le répertoire contenant les
- fichiers journaux présente des droits en écriture pour tout autre
- utilisateur que celui sous lequel le serveur est démarré.</p>
+ <p>SECURITE : Voir le document <a href="../misc/security_tips.html#serverroot">conseils à propos de
+ sécurité</a> pour des détails sur les raisons pour lesquelles votre
+ sécurité peut être compromise si le répertoire contenant les
+ fichiers journaux présente des droits en écriture pour tout autre
+ utilisateur que celui sous lequel le serveur est démarré.</p>
<div class="warning"><h3>Note</h3>
- <p>Lors de la spécification d'un chemin de fichier sur les
- plates-formes non-Unix, on doit veiller à n'utiliser que des
- slashes (/), même si la plate-forme autorise l'utilisation des
- anti-slashes (\). Et d'une manière générale, il est recommandé de
+ <p>Lors de la spécification d'un chemin de fichier sur les
+ plates-formes non-Unix, on doit veiller à n'utiliser que des
+ slashes (/), même si la plate-forme autorise l'utilisation des
+ anti-slashes (\). Et d'une manière générale, il est recommandé de
n'utiliser que des slashes (/) dans les fichiers de
configuration.</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="errorlogformat" id="errorlogformat">Directive</a> <a name="ErrorLogFormat" id="ErrorLogFormat">ErrorLogFormat</a><a title="Lien permanent" href="#errorlogformat" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécification du format des entrées du journal des erreurs</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécification du format des entrées du journal des erreurs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> ErrorLogFormat [connection|request] <var>format</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>La directive <code class="directive">ErrorLogFormat</code> permet de
- spécifier quelles informations supplémentaires vont être enregistrées
+ spécifier quelles informations supplémentaires vont être enregistrées
dans le journal des erreurs en plus du message habituel.</p>
<pre class="prettyprint lang-config"># Exemple simple
ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"</pre>
- <p>La spécification de <code>connection</code> ou
- <code>request</code> comme premier paramètre permet de définir des
- formats supplémentaires, ce qui a pour effet de journaliser des
+ <p>La spécification de <code>connection</code> ou
+ <code>request</code> comme premier paramètre permet de définir des
+ formats supplémentaires, ce qui a pour effet de journaliser des
informations additionnelles lorsque le premier message est
- enregistré respectivement pour une connexion ou une requête
- spécifique. Ces informations additionnelles ne sont enregistrées
- qu'une seule fois par connexion/requête. Si le traitement d'une
- connexion ou d'une requête ne génère aucun message dans le journal,
- alors aucune information additionnelle n'est enregistrée.</p>
-
- <p>Il peut arriver que certains items de la chaîne de format ne
- produisent aucune sortie. Par exemple, l'en-tête Referer n'est
- présent que si le message du journal est associé à une requête et s'il
- est généré à un moment où l'en-tête Referer a déjà été lu par le
- client. Si aucune sortie n'est générée, le comportement par défaut
- consiste à supprimer tout ce qui se trouve entre l'espace précédent
+ enregistré respectivement pour une connexion ou une requête
+ spécifique. Ces informations additionnelles ne sont enregistrées
+ qu'une seule fois par connexion/requête. Si le traitement d'une
+ connexion ou d'une requête ne génère aucun message dans le journal,
+ alors aucune information additionnelle n'est enregistrée.</p>
+
+ <p>Il peut arriver que certains items de la chaîne de format ne
+ produisent aucune sortie. Par exemple, l'en-tête Referer n'est
+ présent que si le message du journal est associé à une requête et s'il
+ est généré à un moment où l'en-tête Referer a déjà été lu par le
+ client. Si aucune sortie n'est générée, le comportement par défaut
+ consiste à supprimer tout ce qui se trouve entre l'espace précédent
et le suivant. Ceci implique que la ligne de journalisation est
- divisée en champs ne contenant pas d'espace séparés par des espaces.
- Si un item de la chaîne de format ne génère aucune sortie,
+ divisée en champs ne contenant pas d'espace séparés par des espaces.
+ Si un item de la chaîne de format ne génère aucune sortie,
l'ensemble du champ est omis. Par exemple, si l'adresse distante
<code>%a</code> du format <code>[%t] [%l] [%a] %M </code> n'est
- pas disponible, les crochets qui l'entourent ne seront eux-mêmes pas
- enregistrés. Il est possible d'échapper les espaces par un anti-slash
- afin qu'ils ne soient pas considérés comme séparateurs de champs.
- La combinaison '% ' (pourcentage espace) est un délimiteur de
- champ de taille nulle qui ne génère aucune sortie.</p>
-
- <p>Ce comportement peut être changé en ajoutant des modificateurs à
- l'item de la chaîne de format. Le modificateur <code>-</code>
+ pas disponible, les crochets qui l'entourent ne seront eux-mêmes pas
+ enregistrés. Il est possible d'échapper les espaces par un anti-slash
+ afin qu'ils ne soient pas considérés comme séparateurs de champs.
+ La combinaison '% ' (pourcentage espace) est un délimiteur de
+ champ de taille nulle qui ne génère aucune sortie.</p>
+
+ <p>Ce comportement peut être changé en ajoutant des modificateurs à
+ l'item de la chaîne de format. Le modificateur <code>-</code>
(moins) provoque l'enregistrement d'un signe moins si l'item
- considéré ne génère aucune sortie. Pour les formats à enregistrement
- unique par connexion/requête, il est aussi possible d'utiliser le
- modificateur <code>+</code> (plus). Si un item ne générant aucune
- sortie possède le modificateur plus, la ligne dans son ensemble est
+ considéré ne génère aucune sortie. Pour les formats à enregistrement
+ unique par connexion/requête, il est aussi possible d'utiliser le
+ modificateur <code>+</code> (plus). Si un item ne générant aucune
+ sortie possède le modificateur plus, la ligne dans son ensemble est
omise.</p>
<p>Un modificateur de type entier permet d'assigner un niveau de
- sévérité à un item de format. L'item considéré ne
- sera journalisé que si la sévérité du message n'est pas
- plus haute que le niveau de sévérité spécifié. Les
- valeurs possibles vont de 1 (alert) à 15 (trace8), en passant par 4
+ sévérité à un item de format. L'item considéré ne
+ sera journalisé que si la sévérité du message n'est pas
+ plus haute que le niveau de sévérité spécifié. Les
+ valeurs possibles vont de 1 (alert) à 15 (trace8), en passant par 4
(warn) ou 7 (debug).</p>
<p>Par exemple, voici ce qui arriverait si vous ajoutiez des
- modificateurs à l'item <code>%{Referer}i</code> qui enregistre le
- contenu de l'en-tête <code>Referer</code>.</p>
+ modificateurs à l'item <code>%{Referer}i</code> qui enregistre le
+ contenu de l'en-tête <code>Referer</code>.</p>
- <table class="bordered"><tr class="header"><th>Item modifié</th><th>Signification</th></tr>
+ <table class="bordered"><tr class="header"><th>Item modifié</th><th>Signification</th></tr>
<tr>
<td><code>%-{Referer}i</code></td>
- <td>Enregistre le caractère <code>-</code> si l'en-tête
- <code>Referer</code> n'est pas défini.</td>
+ <td>Enregistre le caractère <code>-</code> si l'en-tête
+ <code>Referer</code> n'est pas défini.</td>
</tr>
<tr class="odd">
<td><code>%+{Referer}i</code></td>
- <td>N'enregistre rien si l'en-tête
- <code>Referer</code> n'est pas défini.</td>
+ <td>N'enregistre rien si l'en-tête
+ <code>Referer</code> n'est pas défini.</td>
</tr>
<tr>
<td><code>%4{Referer}i</code></td>
- <td>N'enregistre le contenu de l'en-tête <code>Referer</code> que si
- la sévérité du message de journalisation est supérieure à 4.</td>
+ <td>N'enregistre le contenu de l'en-tête <code>Referer</code> que si
+ la sévérité du message de journalisation est supérieure à 4.</td>
</tr>
</table>
- <p>Certains items de format acceptent des paramètres supplémentaires
+ <p>Certains items de format acceptent des paramètres supplémentaires
entre accolades.</p>
- <table class="bordered"><tr class="header"><th>Chaîne de format</th> <th>Description</th></tr>
+ <table class="bordered"><tr class="header"><th>Chaîne de format</th> <th>Description</th></tr>
<tr><td><code>%%</code></td>
<td>Le signe pourcentage</td></tr>
<tr class="odd"><td><code>%a</code></td>
<tr class="odd"><td><code>%A</code></td>
<td>Adresse IP et port locaux</td></tr>
<tr><td><code>%{<em>name</em>}e</code></td>
- <td>Variable d'environnement de requête <em>name</em></td></tr>
+ <td>Variable d'environnement de requête <em>name</em></td></tr>
<tr class="odd"><td><code>%E</code></td>
- <td>Etat d'erreur APR/OS et chaîne</td></tr>
+ <td>Etat d'erreur APR/OS et chaîne</td></tr>
<tr><td><code>%F</code></td>
- <td>Nom du fichier source et numéro de ligne de l'appel du
+ <td>Nom du fichier source et numéro de ligne de l'appel du
journal</td></tr>
<tr class="odd"><td><code>%{<em>name</em>}i</code></td>
- <td>En-tête de requête <em>name</em></td></tr>
+ <td>En-tête de requête <em>name</em></td></tr>
<tr><td><code>%k</code></td>
- <td>Nombre de requêtes persistantes pour cette connexion</td></tr>
+ <td>Nombre de requêtes persistantes pour cette connexion</td></tr>
<tr class="odd"><td><code>%l</code></td>
- <td>Sévérité du message</td></tr>
+ <td>Sévérité du message</td></tr>
<tr><td><code>%L</code></td>
- <td>Identifiant journal de la requête</td></tr>
+ <td>Identifiant journal de la requête</td></tr>
<tr class="odd"><td><code>%{c}L</code></td>
<td>Identifiant journal de la connexion</td></tr>
<tr><td><code>%{C}L</code></td>
- <td>Identifiant journal de la connexion si utilisé dans la
- portée de la connexion, vide sinon</td></tr>
+ <td>Identifiant journal de la connexion si utilisé dans la
+ portée de la connexion, vide sinon</td></tr>
<tr class="odd"><td><code>%m</code></td>
<td>Nom du module qui effectue la journalisation du message</td></tr>
<tr><td><code>%M</code></td>
<td>Le message effectif</td></tr>
<tr class="odd"><td><code>%{<em>name</em>}n</code></td>
- <td>Note de requête <em>name</em></td></tr>
+ <td>Note de requête <em>name</em></td></tr>
<tr><td><code>%P</code></td>
<td>Identifiant du processus courant</td></tr>
<tr class="odd"><td><code>%T</code></td>
<td>Identifiant du thread courant</td></tr>
<tr><td><code>%{g}T</code></td>
- <td>Identifiant unique de thread système du thread courant
- (l'identifiant affiché par la commande <code>top</code> par
+ <td>Identifiant unique de thread système du thread courant
+ (l'identifiant affiché par la commande <code>top</code> par
exemple ; seulement sous Linux pour l'instant)</td></tr>
<tr class="odd"><td><code>%t</code></td>
<td>L'heure courante</td></tr>
<tr><td><code>%v</code></td>
<td>Le nom de serveur canonique <code class="directive"><a href="#servername">ServerName</a></code> du serveur courant.</td></tr>
<tr class="odd"><td><code>%V</code></td>
- <td>Le nom de serveur du serveur qui sert la requête en accord
- avec la définition de la directive <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code>.</td></tr>
+ <td>Le nom de serveur du serveur qui sert la requête en accord
+ avec la définition de la directive <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code>.</td></tr>
<tr><td><code>\ </code> (anti-slash espace)</td>
- <td>Espace non délimiteur</td></tr>
+ <td>Espace non délimiteur</td></tr>
<tr class="odd"><td><code>% </code> (pourcentage espace)</td>
- <td>Délimiteur de champ (aucune sortie)</td></tr>
+ <td>Délimiteur de champ (aucune sortie)</td></tr>
</table>
- <p>L'item de format identifiant journal <code>%L</code> génère un
- identifiant unique pour une connexion ou une requête. Il peut servir
- à déterminer quelles lignes correspondent à la même connexion ou
- requête ou quelle requête est associée à tel connexion. Un item de
+ <p>L'item de format identifiant journal <code>%L</code> génère un
+ identifiant unique pour une connexion ou une requête. Il peut servir
+ à déterminer quelles lignes correspondent à la même connexion ou
+ requête ou quelle requête est associée à tel connexion. Un item de
format <code>%L</code> est aussi disponible dans le module
<code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>, mais il permet dans ce contexte de
- corréler les entrées du journal des accès avec celles du journal des
- erreurs. Si le module <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> est chargé,
- c'est son identifiant unique qui sera utilisé comme identifiant de
- journal pour les requêtes.</p>
+ corréler les entrées du journal des accès avec celles du journal des
+ erreurs. Si le module <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> est chargé,
+ c'est son identifiant unique qui sera utilisé comme identifiant de
+ journal pour les requêtes.</p>
- <pre class="prettyprint lang-config"># Exemple (format par défaut pour les MPMs threadés)
-ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"</pre>
+ <pre class="prettyprint lang-config"># Exemple (format par défaut pour les MPMs threadés)
+ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"</pre>
<p>Cet exemple renverrait un message d'erreur du style :</p>
[Thu May 12 08:28:57.652118 2011] [core:error] [pid 8777:tid 4326490112] [client ::1:58619] File does not exist: /usr/local/apache2/htdocs/favicon.ico
</code></p></div>
- <p>Notez que, comme indiqué plus haut, certains champs sont
- totalement supprimés s'ils n'ont pas été définis.</p>
+ <p>Notez que, comme indiqué plus haut, certains champs sont
+ totalement supprimés s'ils n'ont pas été définis.</p>
<pre class="prettyprint lang-config"># Exemple (similaire au format 2.2.x)
-ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"</pre>
+ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"</pre>
- <pre class="prettyprint lang-config"># Exemple avancé avec identifiants journal de requête/connexion
+ <pre class="prettyprint lang-config"># Exemple avancé avec identifiants journal de requête/connexion
ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"
ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"
ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="extendedstatus" id="extendedstatus">Directive</a> <a name="ExtendedStatus" id="ExtendedStatus">ExtendedStatus</a><a title="Lien permanent" href="#extendedstatus" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Extrait des informations d'état étendues pour chaque
-requête</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Extrait des informations d'état étendues pour chaque
+requête</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExtendedStatus On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ExtendedStatus Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ExtendedStatus Off</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>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Cette option permet d'extraire des données supplémentaires
- concernant la requête en cours de traitement pour un processus
- donné, ainsi qu'un résumé d'utilisation ; vous pouvez accéder à
- ces variables pendant l'exécution en configurant
+ <p>Cette option permet d'extraire des données supplémentaires
+ concernant la requête en cours de traitement pour un processus
+ donné, ainsi qu'un résumé d'utilisation ; vous pouvez accéder à
+ ces variables pendant l'exécution en configurant
<code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. Notez que d'autres modules sont
susceptibles de s'appuyer sur ce tableau de bord.</p>
<p>Cette directive s'applique au serveur dans son ensemble, et ne
- peut pas être activée/désactivée pour un serveur virtuel
- particulier. Notez que l'extraction des informations d'état étendues
- peut ralentir le serveur. Notez aussi que cette définition ne peut
- pas être modifiée au cours d'un redémarrage graceful.</p>
+ peut pas être activée/désactivée pour un serveur virtuel
+ particulier. Notez que l'extraction des informations d'état étendues
+ peut ralentir le serveur. Notez aussi que cette définition ne peut
+ pas être modifiée au cours d'un redémarrage graceful.</p>
<div class="note">
- <p>Notez que le chargement de <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> définit
- automatiquement ExtendedStatus à On, et que d'autres modules tiers
- sont susceptibles d'en faire de même. De tels modules ont besoin
- d'informations détaillées à propos de l'état de tous les processus.
- Depuis la version 2.3.6, <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> a définit la
- valeur par défaut à On, alors qu'elle était à Off dans les versions
- antérieures.</p>
+ <p>Notez que le chargement de <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> définit
+ automatiquement ExtendedStatus à On, et que d'autres modules tiers
+ sont susceptibles d'en faire de même. De tels modules ont besoin
+ d'informations détaillées à propos de l'état de tous les processus.
+ Depuis la version 2.3.6, <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> a définit la
+ valeur par défaut à On, alors qu'elle était à Off dans les versions
+ antérieures.</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="fileetag" id="fileetag">Directive</a> <a name="FileETag" id="FileETag">FileETag</a><a title="Lien permanent" href="#fileetag" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Caractéristiques de fichier utilisées lors de la génération
-de l'en-tête de réponse HTTP ETag pour les fichiers statiques</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Caractéristiques de fichier utilisées lors de la génération
+de l'en-tête de réponse HTTP ETag pour les fichiers statiques</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FileETag <var>composant</var> ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>FileETag MTime Size</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#Default">Défaut:</a></th><td><code>FileETag MTime Size</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">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La valeur par défaut était "INode MTime Size"
-dans les versions 2.3.14 et antérieures.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La valeur par défaut était "INode MTime Size"
+dans les versions 2.3.14 et antérieures.</td></tr>
</table>
<p>
- La directive <code class="directive">FileETag</code> définit les
- caractéristiques de fichier utilisées lors de la génération de
- l'en-tête de réponse HTTP <code>ETag</code> (entity tag) quand le
+ La directive <code class="directive">FileETag</code> définit les
+ caractéristiques de fichier utilisées lors de la génération de
+ l'en-tête de réponse HTTP <code>ETag</code> (entity tag) quand le
document est contenu dans un fichier statique(la valeur de
<code>ETag</code>
- est utilisée dans le cadre de la gestion du cache pour préserver la
- bande passante réseau). La directive
+ est utilisée dans le cadre de la gestion du cache pour préserver la
+ bande passante réseau). La directive
<code class="directive">FileETag</code> vous permet maintenant de choisir
- quelles caractéristiques du fichier vont être utilisées, le cas
- échéant. Les mots-clés reconnus sont :
+ quelles caractéristiques du fichier vont être utilisées, le cas
+ échéant. Les mots-clés reconnus sont :
</p>
<dl>
<dt><strong>INode</strong></dt>
- <dd>Le numéro d'i-node du fichier sera inclus dans le processus de
- génération</dd>
+ <dd>Le numéro d'i-node du fichier sera inclus dans le processus de
+ génération</dd>
<dt><strong>MTime</strong></dt>
- <dd>La date et l'heure auxquelles le fichier a été modifié la
- dernière fois seront incluses</dd>
+ <dd>La date et l'heure auxquelles le fichier a été modifié la
+ dernière fois seront incluses</dd>
<dt><strong>Size</strong></dt>
<dd>La taille du fichier en octets sera incluse</dd>
<dt><strong>All</strong></dt>
- <dd>Tous les champs disponibles seront utilisés. Cette définition
- est équivalente à :
+ <dd>Tous les champs disponibles seront utilisés. Cette définition
+ est équivalente à :
<pre class="prettyprint lang-config">FileETag INode MTime Size</pre>
</dd>
<dt><strong>None</strong></dt>
<dd>Si le document se compose d'un fichier, aucun champ
- <code>ETag</code> ne sera inclus dans la réponse</dd>
+ <code>ETag</code> ne sera inclus dans la réponse</dd>
</dl>
- <p>Les mots-clés <code>INode</code>, <code>MTime</code>, et
- <code>Size</code> peuvent être préfixés par <code>+</code> ou
- <code>-</code>, ce qui permet de modifier les valeurs par défaut
- héritées d'un niveau de configuration plus général. Tout mot-clé
- apparaissant sans aucun préfixe annule entièrement et immédiatement
- les configurations héritées.</p>
+ <p>Les mots-clés <code>INode</code>, <code>MTime</code>, et
+ <code>Size</code> peuvent être préfixés par <code>+</code> ou
+ <code>-</code>, ce qui permet de modifier les valeurs par défaut
+ héritées d'un niveau de configuration plus général. Tout mot-clé
+ apparaissant sans aucun préfixe annule entièrement et immédiatement
+ les configurations héritées.</p>
- <p>Si la configuration d'un répertoire contient
+ <p>Si la configuration d'un répertoire contient
<code>FileETag INode MTime Size</code>, et si un de
- ses sous-répertoires contient <code>FileETag -INode</code>, la
- configuration de ce sous-répertoire (qui sera propagée vers tout
- sous-répertoire qui ne la supplante pas), sera équivalente à
+ ses sous-répertoires contient <code>FileETag -INode</code>, la
+ configuration de ce sous-répertoire (qui sera propagée vers tout
+ sous-répertoire qui ne la supplante pas), sera équivalente à
<code>FileETag MTime Size</code>.</p>
<div class="warning"><h3>Avertissement</h3>
- Ne modifiez pas les valeurs par défaut pour les répertoires ou
- localisations où WebDAV est activé et qui utilisent
+ Ne modifiez pas les valeurs par défaut pour les répertoires ou
+ localisations où WebDAV est activé et qui utilisent
<code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> comme fournisseur de stockage.
<code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> utilise
<code>MTime Size</code> comme format fixe pour les
- comparaisons de champs <code>ETag</code> dans les requêtes
- conditionnelles. Ces requêtes conditionnelles échoueront si le
- format <code>ETag</code> est modifié via la directive
+ comparaisons de champs <code>ETag</code> dans les requêtes
+ conditionnelles. Ces requêtes conditionnelles échoueront si le
+ format <code>ETag</code> est modifié via la directive
<code class="directive">FileETag</code>.
</div>
- <div class="note"><h3>Inclusions côté serveur</h3>
- Aucun champ ETag n'est généré pour les réponses interprétées par
- <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>, car l'entité de la réponse peut
+ <div class="note"><h3>Inclusions côté serveur</h3>
+ Aucun champ ETag n'est généré pour les réponses interprétées par
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>, car l'entité de la réponse peut
changer sans modification de l'INode, du MTime, ou de la taille du
fichier statique contenant les directives SSI.
</div>
<div class="directive-section"><h2><a name="files" id="files">Directive</a> <a name="Files" id="Files"><Files></a><a title="Lien permanent" href="#files" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui s'appliquent aux fichiers
-précisés</td></tr>
+précisés</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Files <var>nom fichier</var>> ... </Files></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>La directive <code class="directive"><Files></code> limite
- la portée des directives qu'elle contient aux fichiers précisés.
+ la portée des directives qu'elle contient aux fichiers précisés.
Elle est comparable aux directives <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#location"><Location></a></code>. Elle doit se terminer par une
balise <code></Files></code>. Les directives contenues dans
- cette section s'appliqueront à tout objet dont le nom de base (la
- dernière partie du nom de fichier) correspond au fichier spécifié.
+ cette section s'appliqueront à tout objet dont le nom de base (la
+ dernière partie du nom de fichier) correspond au fichier spécifié.
Les sections <code class="directive"><Files></code> sont
- traitées selon l'ordre dans lequel elles apparaissent dans le
- fichier de configuration, après les sections <code class="directive"><a href="#directory"><Directory></a></code> et la lecture des fichiers
+ traitées selon l'ordre dans lequel elles apparaissent dans le
+ fichier de configuration, après les sections <code class="directive"><a href="#directory"><Directory></a></code> et la lecture des fichiers
<code>.htaccess</code>, mais avant les sections <code class="directive"><a href="#location"><Location></a></code>. Notez que les
- sections <code class="directive"><Files></code> peuvent être
- imbriquées dans les sections <code class="directive"><a href="#directory"><Directory></a></code> afin de restreindre la portion
- du système de fichiers à laquelle ces dernières vont
+ sections <code class="directive"><Files></code> peuvent être
+ imbriquées dans les sections <code class="directive"><a href="#directory"><Directory></a></code> afin de restreindre la portion
+ du système de fichiers à laquelle ces dernières vont
s'appliquer.</p>
<p>L'argument <var>filename</var> peut contenir un nom de fichier
- ou une chaîne de caractères avec caractères génériques, où
- <code>?</code> remplace un caractère, et <code>*</code> toute chaîne
- de caractères.</p>
+ ou une chaîne de caractères avec caractères génériques, où
+ <code>?</code> remplace un caractère, et <code>*</code> toute chaîne
+ de caractères.</p>
<pre class="prettyprint lang-config"><Files "cat.html">
- # Insérer ici des directives qui s'appliquent au fichier cat.html
+ # Insérer ici des directives qui s'appliquent au fichier cat.html
</Files>
<Files "?at.*">
- # Les directives insérées ici s'appliqueront aux fichiers
+ # Les directives insérées ici s'appliqueront aux fichiers
# cat.html, bat.html, hat.php, et ainsi de suite.
</Files></pre>
<p>On peut aussi utiliser les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions rationnelles</a> en ajoutant la
- caractère <code>~</code>. Par exemple :</p>
+ caractère <code>~</code>. Par exemple :</p>
<pre class="prettyprint lang-config"><Files ~ "\.(gif|jpe?g|png)$">
#...
</Files></pre>
- <p>correspondrait à la plupart des formats graphiques de l'Internet.
- Il est cependant préférable d'utiliser la directive <code class="directive"><a href="#filesmatch"><FilesMatch></a></code>.</p>
+ <p>correspondrait à la plupart des formats graphiques de l'Internet.
+ Il est cependant préférable d'utiliser la directive <code class="directive"><a href="#filesmatch"><FilesMatch></a></code>.</p>
- <p>Notez qu'à la différence des sections <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#location"><Location></a></code>, les sections <code class="directive"><Files></code> peuvent être utilisées dans les
+ <p>Notez qu'à la différence des sections <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#location"><Location></a></code>, les sections <code class="directive"><Files></code> peuvent être utilisées dans les
fichiers <code>.htaccess</code>. Ceci permet aux utilisateurs de
- contrôler l'accès à leurs propres ressources, fichier par
+ contrôler l'accès à leurs propres ressources, fichier par
fichier.</p>
<ul>
<li><a href="../sections.html">Comment fonctionnent les sections
<Directory>, <Location> et <Files></a> pour une
-explication de la manière dont ces différentes sections se combinent
-entre elles à la réception d'une requête</li>
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête</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="filesmatch" id="filesmatch">Directive</a> <a name="FilesMatch" id="FilesMatch"><FilesMatch></a><a title="Lien permanent" href="#filesmatch" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui s'appliquent à des fichiers
-spécifiés sous la forme d'expressions rationnelles</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui s'appliquent à des fichiers
+spécifiés sous la forme d'expressions rationnelles</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><FilesMatch <var>expression rationnelle</var>> ...
</FilesMatch></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>La section <code class="directive"><FilesMatch></code>
- limite la portée des directives qu'elle contient aux fichiers
- spécifiés, tout comme le ferait une section <code class="directive"><a href="#files"><Files></a></code>. Mais elle accepte aussi les
+ limite la portée des directives qu'elle contient aux fichiers
+ spécifiés, tout comme le ferait une section <code class="directive"><a href="#files"><Files></a></code>. Mais elle accepte aussi les
<a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>. Par
exemple :</p>
</FilesMatch></pre>
- <p>correspondrait à la plupart des formats graphiques de
+ <p>correspondrait à la plupart des formats graphiques de
l'Internet.</p>
- <div class="note">Les caractères <code>.+</code> au début de l'expression
+ <div class="note">Les caractères <code>.+</code> au début de l'expression
rationnelle permettent de s'assurer que les fichiers de nom
<code>.png</code>, ou <code>.gif</code>, par exemple, ne seront pas
pris en compte.</div>
- <p>A partir de la version 2.4.8, les groupes nommés et les
- références arrières sont extraits et enregistrés dans
- l'environnement avec leur nom en majuscules et préfixé
+ <p>A partir de la version 2.4.8, les groupes nommés et les
+ références arrières sont extraits et enregistrés dans
+ l'environnement avec leur nom en majuscules et préfixé
par "MATCH_". Ceci permet
- de référencer des URLs dans des <a href="../expr.html">expressions</a>
+ de référencer des URLs dans des <a href="../expr.html">expressions</a>
ou au sein de modules comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pour
- éviter toute confusion, les références arrières numérotées (non
- nommées) sont ignorées. Vous devez utiliser à la place des groupes
- nommés.</p>
+ éviter toute confusion, les références arrières numérotées (non
+ nommées) sont ignorées. Vous devez utiliser à la place des groupes
+ nommés.</p>
<pre class="prettyprint lang-config"><FilesMatch "^(?<sitename>[^/]+)">
require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
<ul>
<li><a href="../sections.html">Comment fonctionnent les sections
<Directory>, <Location> et <Files></a> pour une
-explication de la manière dont ces différentes sections se combinent
-entre elles à la réception d'une requête</li>
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête</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="forcetype" id="forcetype">Directive</a> <a name="ForceType" id="ForceType">ForceType</a><a title="Lien permanent" href="#forcetype" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force le type de médium spécifié dans le champ d'en-tête
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force le type de médium spécifié dans le champ d'en-tête
HTTP Content-Type pour les fichiers correspondants</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ForceType <var>type médium</var>|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#Syntax">Syntaxe:</a></th><td><code>ForceType <var>type médium</var>|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">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Lorsqu'elle est placée dans un fichier <code>.htaccess</code> ou
+ <p>Lorsqu'elle est placée dans un fichier <code>.htaccess</code> ou
une section <code class="directive"><a href="#directory"><Directory></a></code>, <code class="directive"><a href="#location"><Location></a></code>, ou <code class="directive"><a href="#files"><Files></a></code>, cette directive force
- l'identification du type MIME des fichiers spécifiés à la valeur de
- l'argument <var>type médium</var>. Par exemple, si vous possédez un
- répertoire ne contenant que des fichiers GIF, et si vous ne voulez
+ l'identification du type MIME des fichiers spécifiés à la valeur de
+ l'argument <var>type médium</var>. Par exemple, si vous possédez un
+ répertoire ne contenant que des fichiers GIF, et si vous ne voulez
pas leur ajouter l'extension <code>.gif</code>, vous pouvez utiliser
:</p>
<p>Notez que cette directive l'emporte sur d'autres associations de
- type de médium indirectes définies dans mime.types ou via la
+ type de médium indirectes définies dans mime.types ou via la
directive <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code>.</p>
- <p>Vous pouvez aussi annuler toute définition plus générale de
+ <p>Vous pouvez aussi annuler toute définition plus générale de
<code class="directive">ForceType</code> en affectant la valeur
- <code>None</code> à l'argument <var>type médium</var> :</p>
+ <code>None</code> à l'argument <var>type médium</var> :</p>
- <pre class="prettyprint lang-config"># force le type MIME de tous les fichiers à image/gif:
+ <pre class="prettyprint lang-config"># force le type MIME de tous les fichiers à image/gif:
<Location "/images">
ForceType image/gif
</Location>
-# mais utilise les méthodes classiques d'attribution du type MIME
-# dans le sous-répertoire suivant :
+# mais utilise les méthodes classiques d'attribution du type MIME
+# dans le sous-répertoire suivant :
<Location "/images/mixed">
ForceType None
</Location></pre>
- <p>A la base, cette directive écrase le type de contenu généré pour
- les fichiers statiques servis à partir du sytème de fichiers. Pour
+ <p>A la base, cette directive écrase le type de contenu généré pour
+ les fichiers statiques servis à partir du sytème de fichiers. Pour
les ressources autres que les fichiers statiques pour lesquels le
- générateur de réponse spécifie en général un type de contenu, cette
- directive est ignorée.</p>
+ générateur de réponse spécifie en général un type de contenu, cette
+ directive est ignorée.</p>
<div class="note"><h3>Note</h3>
- <p>Si aucun gestionnaire n'est explicitement défini pour une
- requête, le type de contenu spécifié sera aussi utilisé comme nom de
+ <p>Si aucun gestionnaire n'est explicitement défini pour une
+ requête, le type de contenu spécifié sera aussi utilisé comme nom de
gestionnaire.</p>
<p>Lorsque des directives explicites comme <code class="directive"><a href="#sethandler">SetHandler</a></code> ou
<code class="directive">module="mod_mime">AddHandler</code> ne s'appliquent
- pas à la requête courante, le nom du gestionnaire interne
- normalement défini par ces directives correspondra alors au type de
- contenu spécifié par cette directive.
+ pas à la requête courante, le nom du gestionnaire interne
+ normalement défini par ces directives correspondra alors au type de
+ contenu spécifié par cette directive.
</p>
<p>Il s'agit d'un comportement historique que certains modules
- tiers, comme mod_php, peuvent interpréter comme un type de contenu
- artificiel ne servant qu'à indiquer le module qui doit prendre en
- compte la requête considérée.
+ tiers, comme mod_php, peuvent interpréter comme un type de contenu
+ artificiel ne servant qu'à indiquer le module qui doit prendre en
+ compte la requête considérée.
</p>
- <p>Dans la mesure du possible, il est conseillé d'éviter les
+ <p>Dans la mesure du possible, il est conseillé d'éviter les
configurations qui comportent de tels types artificiels. En outre,
- les configurations qui restreignent l'accès aux directives
+ les configurations qui restreignent l'accès aux directives
<code class="directive"><a href="#sethandler">SetHandler</a></code> ou <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> doivent aussi restreindre
- l'accès à cette directive.</p>
+ l'accès à cette directive.</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="gprofdir" id="gprofdir">Directive</a> <a name="GprofDir" id="GprofDir">GprofDir</a><a title="Lien permanent" href="#gprofdir" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire dans lequel écrire les données de profiling
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire dans lequel écrire les données de profiling
gmon.out.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Lorsque le serveur a été compilé avec le support du profiling
+ <p>Lorsque le serveur a été compilé avec le support du profiling
gprof, la directive <code class="directive">GprofDir</code> permet de
- spécifier dans quel répertoire les fichiers <code>gmon.out</code>
- doivent être écrits lorsque le processus s'arrête. Si l'argument se
- termine par un caractère pourcentage ('%'), des sous-répertoires
- sont créés pour chaque identifiant de processus.</p>
+ spécifier dans quel répertoire les fichiers <code>gmon.out</code>
+ doivent être écrits lorsque le processus s'arrête. Si l'argument se
+ termine par un caractère pourcentage ('%'), des sous-répertoires
+ sont créés pour chaque identifiant de processus.</p>
<p>Cette directive ne fonctionne actuellement qu'avec le MPM
<code class="module"><a href="../mod/prefork.html">prefork</a></code>.</p>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la recherche DNS sur les adresses IP des
clients</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HostnameLookups On|Off|Double</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HostnameLookups Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HostnameLookups Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>Cette directive active la recherche DNS afin de pouvoir
- journaliser les nom d'hôtes (et les passer aux programmes CGI et aux
+ journaliser les nom d'hôtes (et les passer aux programmes CGI et aux
inclusions SSI via la variable <code>REMOTE_HOST</code>). La valeur
- <code>Double</code> déclenche une double recherche DNS inverse. En
- d'autres termes, une fois la recherche inverse effectuée, on lance
- une recherche directe sur le résultat de cette dernière. Au moins
+ <code>Double</code> déclenche une double recherche DNS inverse. En
+ d'autres termes, une fois la recherche inverse effectuée, on lance
+ une recherche directe sur le résultat de cette dernière. Au moins
une des adresses IP fournies par la recherche directe doit
- correspondre à l'adresse originale (ce que l'on nomme
+ correspondre à l'adresse originale (ce que l'on nomme
<code>PARANOID</code> dans la terminologie "tcpwrappers").</p>
<p>Quelle que soit la configuration, lorsqu'on utilise
- <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> pour contrôler l'accès en fonction
- du nom d'hôte, une double recherche DNS inverse est effectuée,
- sécurité oblige. Notez cependant que le résultat de cette double
- recherche n'est en général pas accessible, à moins que vous n'ayez
- spécifié <code>HostnameLookups Double</code>. Par exemple, si vous
- n'avez spécifié que <code>HostnameLookups On</code>, et si une
- requête concerne un objet protégé par des restrictions en fonction
- du nom d'hôte, quel que soit le résultat de la double recherche
- inverse, les programmes CGI ne recevront que le résultat de la
+ <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> pour contrôler l'accès en fonction
+ du nom d'hôte, une double recherche DNS inverse est effectuée,
+ sécurité oblige. Notez cependant que le résultat de cette double
+ recherche n'est en général pas accessible, à moins que vous n'ayez
+ spécifié <code>HostnameLookups Double</code>. Par exemple, si vous
+ n'avez spécifié que <code>HostnameLookups On</code>, et si une
+ requête concerne un objet protégé par des restrictions en fonction
+ du nom d'hôte, quel que soit le résultat de la double recherche
+ inverse, les programmes CGI ne recevront que le résultat de la
recherche inverse simple dans la variable
<code>REMOTE_HOST</code>.</p>
- <p>La valeur par défaut est <code>Off</code> afin de préserver le
- traffic réseau des sites pour lesquels la recherche inverse n'est
- pas vraiment nécessaire. Cette valeur par défaut est aussi bénéfique
- pour les utilisateurs finaux car il n'ont ainsi pas à subir de temps
- d'attente supplémentaires dus aux recherches DNS. Les sites
- fortement chargés devraient laisser cette directive à
+ <p>La valeur par défaut est <code>Off</code> afin de préserver le
+ traffic réseau des sites pour lesquels la recherche inverse n'est
+ pas vraiment nécessaire. Cette valeur par défaut est aussi bénéfique
+ pour les utilisateurs finaux car il n'ont ainsi pas à subir de temps
+ d'attente supplémentaires dus aux recherches DNS. Les sites
+ fortement chargés devraient laisser cette directive à
<code>Off</code>, car les recherches DNS peuvent prendre des temps
- très longs. Vous pouvez éventuellement utiliser hors ligne
- l'utilitaire <code class="program"><a href="../programs/logresolve.html">logresolve</a></code>, compilé par défaut dans
- le sous-répertoire <code>bin</code> de votre répertoire
- d'installation, afin de déterminer les noms d'hôtes associés aux
- adresses IP journalisées.</p>
+ très longs. Vous pouvez éventuellement utiliser hors ligne
+ l'utilitaire <code class="program"><a href="../programs/logresolve.html">logresolve</a></code>, compilé par défaut dans
+ le sous-répertoire <code>bin</code> de votre répertoire
+ d'installation, afin de déterminer les noms d'hôtes associés aux
+ adresses IP journalisées.</p>
- <p>Enfin, si vous avez des <a href="mod_authz_host.html#reqhost">directives Require à base de
- nom</a>, une recherche de nom d'hôte sera effectuée quelle que soit
- la définition de la directive <code>HostnameLookups</code>.</p>
+ <p>Enfin, si vous avez des <a href="mod_authz_host.html#reqhost">directives Require à base de
+ nom</a>, une recherche de nom d'hôte sera effectuée quelle que soit
+ la définition de la directive <code>HostnameLookups</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="httpprotocoloptions" id="httpprotocoloptions">Directive</a> <a name="HttpProtocolOptions" id="HttpProtocolOptions">HttpProtocolOptions</a><a title="Lien permanent" href="#httpprotocoloptions" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Modifie les contraintes sur le format des requêtes HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Modifie les contraintes sur le format des requêtes HTTP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods]
[Allow0.9|Require1.0]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HttpProtocolOptions Strict LenientMethods Allow0.9</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HttpProtocolOptions Strict LenientMethods Allow0.9</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir des versions 2.2.32 et 2.4.24 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir des versions 2.2.32 et 2.4.24 du serveur HTTP
Apache</td></tr>
</table>
- <p>Cette directive permet de modifier les règles qui s'appliquent à la ligne
- de requête HTTP (<a href="https://tools.ietf.org/html/rfc7230#section-3.1.1">RFC 7230
- §3.1.1</a>) et aux champs des en-têtes des requêtes HTTP (<a href="https://tools.ietf.org/html/rfc7230#section-3.2">RFC 7230
- §3.2</a>), qui s'appliquent maintenant par défaut ou en utilisant
+ <p>Cette directive permet de modifier les règles qui s'appliquent à la ligne
+ de requête HTTP (<a href="https://tools.ietf.org/html/rfc7230#section-3.1.1">RFC 7230
+ §3.1.1</a>) et aux champs des en-têtes des requêtes HTTP (<a href="https://tools.ietf.org/html/rfc7230#section-3.2">RFC 7230
+ §3.2</a>), qui s'appliquent maintenant par défaut ou en utilisant
l'option <code>Strict</code>. L'option <code>Unsafe</code>
- a été ajoutée pour pouvoir restaurer les anciens
- comportements nécessaires aux anciens modules et applications et aux agents
- utilisateurs personnalisés considérés comme obsolètes.</p>
-
- <p>Ces règles
- s'appliquant avant le traitement de la requête, elles doivent, pour être prises en
- compte, être définies
- au niveau global ou dans la première section par défaut du serveur virtuel
- qui correspond à la requête considérée, par interface IP/port et non par
+ a été ajoutée pour pouvoir restaurer les anciens
+ comportements nécessaires aux anciens modules et applications et aux agents
+ utilisateurs personnalisés considérés comme obsolètes.</p>
+
+ <p>Ces règles
+ s'appliquant avant le traitement de la requête, elles doivent, pour être prises en
+ compte, être définies
+ au niveau global ou dans la première section par défaut du serveur virtuel
+ qui correspond à la requête considérée, par interface IP/port et non par
nom.</p>
- <p>Cette directive accepte trois paramètres issus de la liste suivante, ceux
- qui ne sont pas spécifiés prenant leur valeur par défaut :</p>
+ <p>Cette directive accepte trois paramètres issus de la liste suivante, ceux
+ qui ne sont pas spécifiés prenant leur valeur par défaut :</p>
<dl>
<dt>Strict|Unsafe</dt>
<dd>
- <p>Avant l'introduction de cette directive, les interpréteurs de requêtes du
- serveur HTTP Apache toléraient un grand nombre de formats en entrée qui
- n'étaient pas forcément conformes au protocole. <a href="https://tools.ietf.org/html/rfc7230#section-9.4">RFC 7230 §9.4
- Request Splitting</a> et <a href="https://tools.ietf.org/html/rfc7230#section-9.5">§9.5 Response
+ <p>Avant l'introduction de cette directive, les interpréteurs de requêtes du
+ serveur HTTP Apache toléraient un grand nombre de formats en entrée qui
+ n'étaient pas forcément conformes au protocole. <a href="https://tools.ietf.org/html/rfc7230#section-9.4">RFC 7230 §9.4
+ Request Splitting</a> et <a href="https://tools.ietf.org/html/rfc7230#section-9.5">§9.5 Response
Smuggling</a> ne rappellent que deux des risques potentiels induits par des
- requêtes non conformes, alors que <a href="https://tools.ietf.org/html/rfc7230#section-3.5">RFC 7230
- §3.5</a> signale les risques encourus par l'acceptation de blancs non
- conformes dans les lignes de requête. Avec l'introduction de cette
- directive, toutes les règles de grammaire de la spécification doivent être
- respectées dans le mode d'opérations par défaut <code>Strict</code>.</p>
-
- <div class="warning"><h3>Risques de sécurité liés au mode Unsafe</h3>
- <p>Il est fortement déconseillé aux utilisateurs d'utiliser le mode
- d'opération <code>Unsafe</code>, ou
- <code>UnsafeWhitespace</code>, en particulier pour les déploiements de
- serveurs ouverts sur l'extérieur et/ou accessibles au public. Si un moniteur
- défectueux ou autre logiciel spécialisé ne s'exécutant que sur un intranet
- nécessite une interface, les utilisateurs ne doivent utiliser les options de
- type UnSafe qu'en cas de nécessité et uniquement au sein d'un serveur
- virtuel bien spécifique et sur un réseau privé.</p>
+ requêtes non conformes, alors que <a href="https://tools.ietf.org/html/rfc7230#section-3.5">RFC 7230
+ §3.5</a> signale les risques encourus par l'acceptation de blancs non
+ conformes dans les lignes de requête. Avec l'introduction de cette
+ directive, toutes les règles de grammaire de la spécification doivent être
+ respectées dans le mode d'opérations par défaut <code>Strict</code>.</p>
+
+ <div class="warning"><h3>Risques de sécurité liés au mode Unsafe</h3>
+ <p>Il est fortement déconseillé aux utilisateurs d'utiliser le mode
+ d'opération <code>Unsafe</code>, ou
+ <code>UnsafeWhitespace</code>, en particulier pour les déploiements de
+ serveurs ouverts sur l'extérieur et/ou accessibles au public. Si un moniteur
+ défectueux ou autre logiciel spécialisé ne s'exécutant que sur un intranet
+ nécessite une interface, les utilisateurs ne doivent utiliser les options de
+ type UnSafe qu'en cas de nécessité et uniquement au sein d'un serveur
+ virtuel bien spécifique et sur un réseau privé.</p>
</div>
- <div class="example"><h3>Exemple de requête provoquant l'envoi d'un message HTTP 400 en
+ <div class="example"><h3>Exemple de requête provoquant l'envoi d'un message HTTP 400 en
mode Strict</h3><p><code>
# Missing CRLF<br />
GET / HTTP/1.0\n\n
</code></p></div>
<div class="warning"><h3>Utilitaires en ligne de commande et CRLF</h3>
- <p>Il peut s'avérer nécessaire de forcer certains utilitaires à utiliser
- CRLF ; si ce n'est pas le cas, httpd reverra une réponse HTTP 400 comme
- dans le cas précédent. Par exemple, le <strong>client OpenSSL s_client
- doit utiliser le paramètre -crlf pour fonctionner correctement</strong>.</p>
- <p>Pour détecter des problèmes tels que l'absence de CRLF, vous pouvez
- utiliser la directive <code class="directive"><a href="../mod/mod_dumpio.html#dumpioinput">DumpIOInput</a></code> qui permet de décortiquer
- les requêtes HTTP.</p>
+ <p>Il peut s'avérer nécessaire de forcer certains utilitaires à utiliser
+ CRLF ; si ce n'est pas le cas, httpd reverra une réponse HTTP 400 comme
+ dans le cas précédent. Par exemple, le <strong>client OpenSSL s_client
+ doit utiliser le paramètre -crlf pour fonctionner correctement</strong>.</p>
+ <p>Pour détecter des problèmes tels que l'absence de CRLF, vous pouvez
+ utiliser la directive <code class="directive"><a href="../mod/mod_dumpio.html#dumpioinput">DumpIOInput</a></code> qui permet de décortiquer
+ les requêtes HTTP.</p>
</div>
</dd>
<dt>RegisteredMethods|LenientMethods</dt>
<dd>
<p>La section de la <a href="https://tools.ietf.org/html/rfc7231#section-4.1">RFC 7231
- §4.1</a> "Request Methods" "Overview" indique que les serveurs doivent
- renvoyer un message d'erreur lorsque la ligne de requête comporte une
- méthode non supportée. C'est déjà le cas lorsque l'option
- <code>LenientMethods</code> est utilisée, mais les administrateurs ont la
- possibilité de limiter les méthodes utilisées via l'option
- <code>RegisteredMethods</code> en enregistrant toute méthode non standard
+ §4.1</a> "Request Methods" "Overview" indique que les serveurs doivent
+ renvoyer un message d'erreur lorsque la ligne de requête comporte une
+ méthode non supportée. C'est déjà le cas lorsque l'option
+ <code>LenientMethods</code> est utilisée, mais les administrateurs ont la
+ possibilité de limiter les méthodes utilisées via l'option
+ <code>RegisteredMethods</code> en enregistrant toute méthode non standard
via la directive <code class="directive">RegisterHttpMethod</code>, en particulier
- si l'option <code>Unsafe</code> est utilisée.</p>
+ si l'option <code>Unsafe</code> est utilisée.</p>
- <div class="warning"><h3>Compatibilité avec le mandat direct</h3>
+ <div class="warning"><h3>Compatibilité avec le mandat direct</h3>
<p>L'option
- <code>RegisteredMethods</code> <strong>ne doit pas</strong> être utilisée
+ <code>RegisteredMethods</code> <strong>ne doit pas</strong> être utilisée
pour les serveurs mandataires car ces derniers ne connaissent pas les
- méthodes supportées par les serveurs originaux.</p>
+ méthodes supportées par les serveurs originaux.</p>
</div>
- <div class="example"><h3>Exemple de requête provoquant l'envoi d'un message HTTP 501 en
+ <div class="example"><h3>Exemple de requête provoquant l'envoi d'un message HTTP 501 en
mode LenientMethods</h3><p><code>
- # Méthode HTTP inconnue<br />
+ # Méthode HTTP inconnue<br />
WOW / HTTP/1.0\r\n\r\n<br /><br />
- # Méthode HTTP spécifiée en minuscules<br />
+ # Méthode HTTP spécifiée en minuscules<br />
get / HTTP/1.0\r\n\r\n<br />
</code></p></div>
</dd>
<dt>Allow0.9|Require1.0</dt>
<dd>
<p>La section de la <a href="https://tools.ietf.org/html/rfc2616#section-19.6">RFC 2616
- §19.6</a> "Compatibility With Previous Versions" encouragait les
- serveurs HTTP à supporter les anciennes requêtes HTTP/0.9. La RFC 7230 va
- cependant à son encontre via sa préconisation "Le souhait de supporter les
- requêtes HTTP/0.9 a été supprimé" et y adjoint des commentaires dans <a href="https://tools.ietf.org/html/rfc7230#appendix-A">RFC 7230 Appendix
- A</a>. A ce titre, l'option <code>Require1.0</code> permet à l'utilisateur
- d'inhiber le comportement induit par l'option par défaut
+ §19.6</a> "Compatibility With Previous Versions" encouragait les
+ serveurs HTTP à supporter les anciennes requêtes HTTP/0.9. La RFC 7230 va
+ cependant à son encontre via sa préconisation "Le souhait de supporter les
+ requêtes HTTP/0.9 a été supprimé" et y adjoint des commentaires dans <a href="https://tools.ietf.org/html/rfc7230#appendix-A">RFC 7230 Appendix
+ A</a>. A ce titre, l'option <code>Require1.0</code> permet à l'utilisateur
+ d'inhiber le comportement induit par l'option par défaut
<code>Allow0.9</code>.</p>
- <div class="example"><h3>Exemple de requête provoquant l'envoi d'un message HTTP 400 en
+ <div class="example"><h3>Exemple de requête provoquant l'envoi d'un message HTTP 400 en
mode Require1.0</h3><p><code>
- # Version HTTP non supportée<br />
+ # Version HTTP non supportée<br />
GET /\r\n\r\n
</code></p></div>
</dd>
</dl>
- <p>La consultation des messages enregistrés dans le journal
- <code class="directive">ErrorLog</code>, configuré via la directive
+ <p>La consultation des messages enregistrés dans le journal
+ <code class="directive">ErrorLog</code>, configuré via la directive
<code class="directive">LogLevel</code> avec un niveau <code>info</code>, pourra
- vous aider à identifier de telles requêtes non conformes ainsi que leur
- provenance. Les utilisateurs devront accorder une attention particulière aux
- messages d'erreur de type 400 dans le journal access pour détecter les
- requêtes apparemment valides mais rejetées.</p>
+ vous aider à identifier de telles requêtes non conformes ainsi que leur
+ provenance. Les utilisateurs devront accorder une attention particulière aux
+ messages d'erreur de type 400 dans le journal access pour détecter les
+ requêtes apparemment valides mais rejetées.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent que si une
condition est satisfaite au cours du traitement d'une
-requête</td></tr>
+requête</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><If <var>expression</var>> ... </If></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les conditions imbriquées sont supportées à partir de la version
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les conditions imbriquées sont supportées à partir de la version
2.4.26 du serveur HTTP Apache</td></tr>
</table>
- <p>La directive <code class="directive"><If></code> évalue une
- expression à la volée, et applique les directives qu'elle contient
+ <p>La directive <code class="directive"><If></code> évalue une
+ expression à la volée, et applique les directives qu'elle contient
si et seulement si l'expression renvoie la valeur "vrai". Par
exemple :</p>
<pre class="prettyprint lang-config"><If "-z req('Host')"></pre>
- <p>serait satisfaite pour les requêtes HTTP/1.0 sans en-tête
- <var>Host:</var>. Les expressions peuvent contenir différents
- opérateurs de type shell pour la comparaison de chaînes
+ <p>serait satisfaite pour les requêtes HTTP/1.0 sans en-tête
+ <var>Host:</var>. Les expressions peuvent contenir différents
+ opérateurs de type shell pour la comparaison de chaînes
(<code>==</code>, <code>!=</code>, <code><</code>, ...), la
comparaison d'entiers (<code>-eq</code>, <code>-ne</code>, ...), ou
- à usages divers (<code>-n</code>, <code>-z</code>, <code>-f</code>,
- ...). Les expressions rationnelles sont aussi supportées,</p>
+ à usages divers (<code>-n</code>, <code>-z</code>, <code>-f</code>,
+ ...). Les expressions rationnelles sont aussi supportées,</p>
<pre class="prettyprint lang-config"><If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/"></pre>
- <p>ainsi que les comparaison de modèles de type shell et de
- nombreuses autres opérations. Ces opérations peuvent être effectuées
- sur les en-têtes de requêtes (<code>req</code>), les variables
+ <p>ainsi que les comparaison de modèles de type shell et de
+ nombreuses autres opérations. Ces opérations peuvent être effectuées
+ sur les en-têtes de requêtes (<code>req</code>), les variables
d'environnement (<code>env</code>), et un grand nombre d'autres
- propriétés. La documentation complète est disponible dans <a href="../expr.html">Les expressions dans le serveur HTTP Apache</a>.</p>
+ propriétés. La documentation complète est disponible dans <a href="../expr.html">Les expressions dans le serveur HTTP Apache</a>.</p>
<p>Cette section de configuration ne peut contenir que des
- directives qui supportent le <a href="directive-dict.html#Context">contexte de répertoire</a>.</p>
+ directives qui supportent le <a href="directive-dict.html#Context">contexte de répertoire</a>.</p>
<div class="warning">
Certaines variables comme <code>CONTENT_TYPE</code> ainsi que
- d'autres en-têtes de réponse ne seront pas disponibles dans ce bloc,
- car elle sont définies après l'évaluation des conditions <If>.
+ d'autres en-têtes de réponse ne seront pas disponibles dans ce bloc,
+ car elle sont définies après l'évaluation des conditions <If>.
</div>
<h3>Voir aussi</h3>
<ul>
<li><a href="../expr.html">Les expressions dans le serveur HTTP
-Apache</a>, pour une référence complète et d'autres exemples.</li>
+Apache</a>, pour une référence complète et d'autres exemples.</li>
<li><code class="directive"><a href="#elseif"><ElseIf></a></code></li>
<li><code class="directive"><a href="#else"><Else></a></code></li>
<li><a href="../sections.html">Comment fonctionnent les sections
<Directory>, <Location> et <Files></a> pour une
-explication de la manière dont ces différentes sections se combinent
-entre elles à la réception d'une requête. Les
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête. Les
directives <code class="directive"><If></code>, <code class="directive"><ElseIf></code>, et <code class="directive"><Else></code> s'appliquent en dernier.</li>
</ul>
</div>
<div class="directive-section"><h2><a name="ifdefine" id="ifdefine">Directive</a> <a name="IfDefine" id="IfDefine"><IfDefine></a><a title="Lien permanent" href="#ifdefine" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliqueront que si un
-test retourne "vrai" au démarrage du serveur</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfDefine [!]<var>paramètre</var>> ...
+test retourne "vrai" au démarrage du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfDefine [!]<var>paramètre</var>> ...
</IfDefine></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>La section <code><IfDefine
<var>test</var>>...</IfDefine></code> permet de
- conférer un caractère conditionnel à un ensemble de directives. Les
- directives situées à l'intérieur d'une section <code class="directive"><IfDefine></code> ne s'appliquent que si
+ conférer un caractère conditionnel à un ensemble de directives. Les
+ directives situées à l'intérieur d'une section <code class="directive"><IfDefine></code> ne s'appliquent que si
<var>test</var> est vrai. Si <var>test</var> est faux, tout ce qui
- se trouve entre les balises de début et de fin est ignoré.</p>
+ se trouve entre les balises de début et de fin est ignoré.</p>
- <p><var>test</var> peut se présenter sous deux formes :</p>
+ <p><var>test</var> peut se présenter sous deux formes :</p>
<ul>
- <li><var>nom paramètre</var></li>
+ <li><var>nom paramètre</var></li>
- <li><code>!</code><var>nom paramètre</var></li>
+ <li><code>!</code><var>nom paramètre</var></li>
</ul>
- <p>Dans le premier cas, les directives situées entre les balises de
- début et de fin ne s'appliqueront que si le paramètre nommé <var>nom
- paramètre</var> est défini. Le second format inverse le test, et
+ <p>Dans le premier cas, les directives situées entre les balises de
+ début et de fin ne s'appliqueront que si le paramètre nommé <var>nom
+ paramètre</var> est défini. Le second format inverse le test, et
dans ce cas, les directives ne s'appliqueront que si <var>nom
- paramètre</var> n'est <strong>pas</strong> défini.</p>
+ paramètre</var> n'est <strong>pas</strong> défini.</p>
- <p>L'argument <var>nom paramètre</var> est une définition qui peut
- être effectuée par la ligne de commande
- <code class="program"><a href="../programs/httpd.html">httpd</a></code> via le paramètre
- <code>-D<var>paramètre</var></code> au démarrage du serveur, ou via la
+ <p>L'argument <var>nom paramètre</var> est une définition qui peut
+ être effectuée par la ligne de commande
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code> via le paramètre
+ <code>-D<var>paramètre</var></code> au démarrage du serveur, ou via la
directive <code class="directive"><a href="#define">Define</a></code>.</p>
<p>Les sections <code class="directive"><IfDefine></code>
- peuvent être imbriquées, ce qui permet d'implémenter un test
- multi-paramètres simple. Exemple :</p>
+ peuvent être imbriquées, ce qui permet d'implémenter un test
+ multi-paramètres simple. Exemple :</p>
<div class="example"><p><code>httpd -DReverseProxy -DUseCache -DMemCache ...</code></p></div>
<pre class="prettyprint lang-config"><IfDefine ReverseProxy>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ifdirective" id="ifdirective">Directive</a> <a name="IfDirective" id="IfDirective"><IfDirective></a><a title="Lien permanent" href="#ifdirective" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives dont le traitement est conditionné par la
-présence ou l'absence d'une directive particulière</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives dont le traitement est conditionné par la
+présence ou l'absence d'une directive particulière</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfDirective [!]<var>directive-name</var>> ...
</IfDirective></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.34 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.34 du serveur HTTP Apache</td></tr>
</table>
<p>La section <code><IfDirective
<var>test</var>>...</IfDirective></code> permet de regrouper des
- directives dont le traitement n'est effectué que si une directive
- particulière est présente, autrement dit si l'expression <var>test</var> est
- évaluée à true. Si l'expression <var>test</var> est évaluée à false, toutes
- les lignes qui se trouvent entre les balises de début et de fin de la
- section sont ignorées.</p>
+ directives dont le traitement n'est effectué que si une directive
+ particulière est présente, autrement dit si l'expression <var>test</var> est
+ évaluée à true. Si l'expression <var>test</var> est évaluée à false, toutes
+ les lignes qui se trouvent entre les balises de début et de fin de la
+ section sont ignorées.</p>
<p>L'expression <var>test</var> de la section <code class="directive"><IfDirective></code> peut prendre les deux formes
suivantes :</p>
</ul>
<p>Dans le premier cas, les directives qui se situent entre les balises de
- début et de fin de la section ne sont traitées que si une directive de nom
- directive-name est disponible à cet instant. Dans le second cas, la condition est
- inversée, et les directives ne sont traitées que si
+ début et de fin de la section ne sont traitées que si une directive de nom
+ directive-name est disponible à cet instant. Dans le second cas, la condition est
+ inversée, et les directives ne sont traitées que si
<var>directive-name</var> n'est <strong>pas</strong> disponible.</p>
- <div class="note">Cette section ne doit être utilisée que si vous devez partager le même
+ <div class="note">Cette section ne doit être utilisée que si vous devez partager le même
fichier de configuration entre plusieurs versions de
- <code class="program"><a href="../programs/httpd.html">httpd</a></code>, sans tenir compte de la disponibilité de telle ou
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code>, sans tenir compte de la disponibilité de telle ou
telle directive. Dans une configuration standard, il est inutile de placer
les directives dans des sections <code class="directive"><IfDirective></code>.</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="iffile" id="iffile">Directive</a> <a name="IfFile" id="IfFile"><IfFile></a><a title="Lien permanent" href="#iffile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives qui ne seront traitées que si un fichier
-existe au démarrage</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives qui ne seront traitées que si un fichier
+existe au démarrage</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfFile [!]<var>parameter-name</var>> ...
</IfFile></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.34 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.34 du serveur HTTP Apache</td></tr>
</table>
<p>La section <code><IfFile <var>filename</var>>...</IfFile></code>
- permet de conditionner le traitement de directives à
- l'existence d'un fichier sur disque. Ainsi, les directives définies au sein
+ permet de conditionner le traitement de directives à
+ l'existence d'un fichier sur disque. Ainsi, les directives définies au sein
d'une section <code class="directive"><IfFile></code> ne seront
- traitées que si le fichier <var>filename</var> existe. Si le fichier
+ traitées que si le fichier <var>filename</var> existe. Si le fichier
<var>filename</var> n'existe pas, tout ce qui se trouve entre les marqueurs
- start et end sera ignoré. <var>filename</var> peut être un chemin absolu ou
- relatif au chemin défini par la directive ServerRoot.</p>
+ start et end sera ignoré. <var>filename</var> peut être un chemin absolu ou
+ relatif au chemin défini par la directive ServerRoot.</p>
- <p>Le paramètre <var>filename</var> de l'en-tête d'une section <code class="directive"><IfFile></code> peut prendre la même forme que la variable
- <var>test</var> de la section <code class="directive"><a href="#ifdefine"><IfDefine></a></code> ; à ce titre, le résultat du test peut
- être inversé en plaçant le caractère <code>!</code> juste avant
+ <p>Le paramètre <var>filename</var> de l'en-tête d'une section <code class="directive"><IfFile></code> peut prendre la même forme que la variable
+ <var>test</var> de la section <code class="directive"><a href="#ifdefine"><IfDefine></a></code> ; à ce titre, le résultat du test peut
+ être inversé en plaçant le caractère <code>!</code> juste avant
<var>filename</var>.
</p>
- <p>Si <var>filename</var> est un chemin relatif, il sera généré par rapport
- au chemin défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>. Lorsque la directive <code class="directive"><IfFile></code> intervient avant la définition de la
+ <p>Si <var>filename</var> est un chemin relatif, il sera généré par rapport
+ au chemin défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>. Lorsque la directive <code class="directive"><IfFile></code> intervient avant la définition de la
directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>,
- <var>filename</var> sera relatif au répertoire racine par défaut du serveur
- ou au répertoire racine passé dans la ligne de commande via l'option
+ <var>filename</var> sera relatif au répertoire racine par défaut du serveur
+ ou au répertoire racine passé dans la ligne de commande via l'option
<code>-d</code>.</p>
<div class="directive-section"><h2><a name="ifmodule" id="ifmodule">Directive</a> <a name="IfModule" id="IfModule"><IfModule></a><a title="Lien permanent" href="#ifmodule" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent qu'en fonction
-de la présence ou de l'absence d'un module spécifique</td></tr>
+de la présence ou de l'absence d'un module spécifique</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfModule [!]<var>fichier module</var>|<var>identificateur
module</var>> ... </IfModule></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>La section <code><IfModule
- <var>test</var>>...</IfModule></code> permet de conférer à
- des directives un caractère conditionnel basé sur la présence d'un
- module spécifique. Les directives situées dans une section
+ <var>test</var>>...</IfModule></code> permet de conférer à
+ des directives un caractère conditionnel basé sur la présence d'un
+ module spécifique. Les directives situées dans une section
<code class="directive"><IfModule></code> ne s'appliquent que
si <var>test</var> est vrai. Si <var>test</var> est faux, tout ce
- qui se trouve entre les balises de début et de fin est ignoré.</p>
+ qui se trouve entre les balises de début et de fin est ignoré.</p>
- <p><var>test</var> peut se présenter sous deux formes :</p>
+ <p><var>test</var> peut se présenter sous deux formes :</p>
<ul>
<li><var>module</var></li>
<li>!<var>module</var></li>
</ul>
- <p>Dans le premier cas, les directives situées entre les balises de
- début et de fin ne s'appliquent que si le module <var>module</var>
- est présent -- soit compilé avec le binaire Apache httpd, soit chargé
+ <p>Dans le premier cas, les directives situées entre les balises de
+ début et de fin ne s'appliquent que si le module <var>module</var>
+ est présent -- soit compilé avec le binaire Apache httpd, soit chargé
dynamiquement via la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>. Le second format inverse le test, et dans
ce cas, les directives ne s'appliquent que si <var>module</var>
- n'est <strong>pas</strong> présent.</p>
+ n'est <strong>pas</strong> présent.</p>
<p>L'argument <var>module</var> peut contenir soit l'identificateur
du module, soit le nom du fichier source du module. Par exemple,
<code>rewrite_module</code> est un identificateur et
<code>mod_rewrite.c</code> le nom du fichier source
correspondant. Si un module comporte plusieurs fichiers sources,
- utilisez le nom du fichier qui contient la chaîne de caractères
+ utilisez le nom du fichier qui contient la chaîne de caractères
<code>STANDARD20_MODULE_STUFF</code>.</p>
<p>Les sections <code class="directive"><IfModule></code>
- peuvent être imbriquées, ce qui permet d'implémenter des tests
+ peuvent être imbriquées, ce qui permet d'implémenter des tests
multi-modules simples.</p>
- <div class="note">Cette section ne doit être utilisée que si votre fichier de
- configuration ne fonctionne qu'en fonction de la présence ou de
- l'absence d'un module spécifique. D'une manière générale, il n'est
- pas nécessaire de placer les directives à l'intérieur de sections
+ <div class="note">Cette section ne doit être utilisée que si votre fichier de
+ configuration ne fonctionne qu'en fonction de la présence ou de
+ l'absence d'un module spécifique. D'une manière générale, il n'est
+ pas nécessaire de placer les directives à l'intérieur de sections
<code class="directive"><IfModule></code>.</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="ifsection" id="ifsection">Directive</a> <a name="IfSection" id="IfSection"><IfSection></a><a title="Lien permanent" href="#ifsection" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives dont le traitement est conditionné par la
-présence ou l'absence d'une section particulière</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives dont le traitement est conditionné par la
+présence ou l'absence d'une section particulière</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfSection [!]<var>section-name</var>> ...
</IfSection></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.34 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.34 du serveur HTTP Apache</td></tr>
</table>
<p>La section <code><IfSection
<var>test</var>>...</IfSection></code> permet de regrouper des
- directives dont le traitement n'est effectué que si une section de
- configuration particulière est présente. Une section, par exemple <code class="directive"><VirtualHost></code>, permet de regrouper des directives
- et possède un nom précédé du caractère "<".</p>
+ directives dont le traitement n'est effectué que si une section de
+ configuration particulière est présente. Une section, par exemple <code class="directive"><VirtualHost></code>, permet de regrouper des directives
+ et possède un nom précédé du caractère "<".</p>
- <p>Les directives situées à l'intérieur d'une section <code class="directive"><IfSection></code> ne sont traitées que si l'expression
- <var>test</var> est évaluée à true. Si l'expression <var>test</var> est
- évaluée à false, toutes les lignes situées entre les balises de début et de
- fin de la section sont ignorées.</p>
+ <p>Les directives situées à l'intérieur d'une section <code class="directive"><IfSection></code> ne sont traitées que si l'expression
+ <var>test</var> est évaluée à true. Si l'expression <var>test</var> est
+ évaluée à false, toutes les lignes situées entre les balises de début et de
+ fin de la section sont ignorées.</p>
- <p><var>section-name</var> doit être spécifié sans les caractères de début
+ <p><var>section-name</var> doit être spécifié sans les caractères de début
"<" ou fin ">". L'expression <var>test</var> de la section <code class="directive"><IfSection></code> peut prendre deux formes :</p>
<ul>
</ul>
<p>Dans le premier cas, les directives qui se situent entre les balises de
- début et de fin de la section ne sont traitées que si une section de nom
- section-name est disponible à cet instant. Dans le second cas, la condition est
- inversée, et les directives ne sont traitées que si
+ début et de fin de la section ne sont traitées que si une section de nom
+ section-name est disponible à cet instant. Dans le second cas, la condition est
+ inversée, et les directives ne sont traitées que si
<var>section-name</var> n'est <strong>pas</strong> disponible.</p>
<p>Par exemple :</p>
</IfSection></pre>
- <div class="note">Cette section ne doit être utilisée que si vous devez partager le même
+ <div class="note">Cette section ne doit être utilisée que si vous devez partager le même
fichier de configuration entre plusieurs versions de
- <code class="program"><a href="../programs/httpd.html">httpd</a></code>, sans tenir compte de la disponibilité de telle ou
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code>, sans tenir compte de la disponibilité de telle ou
telle section. Dans une configuration standard, il est inutile de placer
les directives dans des sections <code class="directive"><IfSection></code>.</div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Inclut d'autres fichiers de configuration dans un des
fichiers de configuration du serveur</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Include <var>chemin-fichier</var>|<var>chemin-répertoire</var>|<var>wildcard</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Include <var>chemin-fichier</var>|<var>chemin-répertoire</var>|<var>wildcard</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Utilisation des caractères
-génériques dans la partie chemin depuis la version 2.3.6</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Utilisation des caractères
+génériques dans la partie chemin depuis la version 2.3.6</td></tr>
</table>
<p>Cette directive permet l'inclusion d'autres fichiers de
configuration dans un des fichiers de configuration du serveur.</p>
- <p>On peut utiliser des caractères génériques de style Shell
+ <p>On peut utiliser des caractères génériques de style Shell
(<code>fnmatch()</code>) aussi bien dans la partie nom de fichier du
- chemin que dans la partie répertoires pour inclure plusieurs
+ chemin que dans la partie répertoires pour inclure plusieurs
fichiers en une
- seule fois, selon leur ordre alphabétique. De plus, si la directive
- <code class="directive">Include</code> pointe vers un répertoire, Apache
- httpd inclura tous les fichiers de ce répertoire et de tous ces
- sous-répertoires. L'inclusion de répertoires entiers est cependant
- déconseillée, car il est fréquent d'oublier des fichiers
- temporaires dans un répertoire, ce qui causerait une erreur
+ seule fois, selon leur ordre alphabétique. De plus, si la directive
+ <code class="directive">Include</code> pointe vers un répertoire, Apache
+ httpd inclura tous les fichiers de ce répertoire et de tous ces
+ sous-répertoires. L'inclusion de répertoires entiers est cependant
+ déconseillée, car il est fréquent d'oublier des fichiers
+ temporaires dans un répertoire, ce qui causerait une erreur
<code class="program"><a href="../programs/httpd.html">httpd</a></code> en cas d'inclusion. Pour inclure des
- fichiers qui correspondent à un certain modèle, comme *.conf par
- exemple, nous vous recommandons d'utiliser plutôt la syntaxe avec
- caractères génériques comme ci-dessous.</p>
+ fichiers qui correspondent à un certain modèle, comme *.conf par
+ exemple, nous vous recommandons d'utiliser plutôt la syntaxe avec
+ caractères génériques comme ci-dessous.</p>
<p>La directive <code class="directive"><a href="#include">Include</a></code>
- <strong>échouera avec un code d'erreur</strong> si une expression
- contenant des caractères génériques ne correspond à aucun fichier.
- Pour ignorer les expressions contenant des caractères génériques ne
- correspondant à aucun fichier, utilisez la directive <code class="directive"><a href="#includeoptional">IncludeOptional</a></code>.</p>
+ <strong>échouera avec un code d'erreur</strong> si une expression
+ contenant des caractères génériques ne correspond à aucun fichier.
+ Pour ignorer les expressions contenant des caractères génériques ne
+ correspondant à aucun fichier, utilisez la directive <code class="directive"><a href="#includeoptional">IncludeOptional</a></code>.</p>
- <p>Le chemin fichier spécifié peut être soit un chemin absolu, soit
- un chemin relatif au répertoire défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
+ <p>Le chemin fichier spécifié peut être soit un chemin absolu, soit
+ un chemin relatif au répertoire défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
<p>Exemples :</p>
Include /usr/local/apache2/conf/vhosts/*.conf</pre>
- <p>ou encore, avec des chemins relatifs au répertoire défini par la
+ <p>ou encore, avec des chemins relatifs au répertoire défini par la
directive <code class="directive"><a href="#serverroot">ServerRoot</a></code> :</p>
<pre class="prettyprint lang-config">Include conf/ssl.conf
Include conf/vhosts/*.conf</pre>
- <p>On peut aussi insérer des caractères génériques dans la partie
- répertoires du chemin. Dans l'exemple suivant, la directive
- échouera si aucun sous-répertoire de conf/vhosts ne contient au
+ <p>On peut aussi insérer des caractères génériques dans la partie
+ répertoires du chemin. Dans l'exemple suivant, la directive
+ échouera si aucun sous-répertoire de conf/vhosts ne contient au
moins un fichier *.conf :</p>
<pre class="prettyprint lang-config">Include conf/vhosts/*/*.conf</pre>
<p>Par contre, dans l'exemple suivant, la directive sera simplement
- ignorée si aucun sous-répertoire de conf/vhosts ne contient au
+ ignorée si aucun sous-répertoire de conf/vhosts ne contient au
moins un fichier *.conf :</p>
<pre class="prettyprint lang-config">IncludeOptional conf/vhosts/*/*.conf</pre>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Inclusion de fichiers dans le fichier de configuration</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IncludeOptional
-<var>chemin-fichier</var>|<var>chemin-répertoire</var>|<var>wildcard</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<var>chemin-fichier</var>|<var>chemin-répertoire</var>|<var>wildcard</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.6 du serveur HTTP
-Apache. Les chemins de fichier inexistants sans caractère générique ne
-provoquent plus d'erreur de syntaxe après de la version 2.4.30</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.6 du serveur HTTP
+Apache. Les chemins de fichier inexistants sans caractère générique ne
+provoquent plus d'erreur de syntaxe après de la version 2.4.30</td></tr>
</table>
<p>Cette directive permet d'inclure des fichiers dans les fichiers de
- configuration du serveur. Elle fonctionne de manière identique à la
- directive <code class="directive"><a href="#include">Include</a></code>, à l'exception du
- fait que si l'expression avec ou sans caractères génériques wilcard ne
- correspond à aucun fichier ou répertoire, elle sera ignorée silencieusement
+ configuration du serveur. Elle fonctionne de manière identique à la
+ directive <code class="directive"><a href="#include">Include</a></code>, à l'exception du
+ fait que si l'expression avec ou sans caractères génériques wilcard ne
+ correspond à aucun fichier ou répertoire, elle sera ignorée silencieusement
au lieu de causer une erreur.</p>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active les connexions HTTP persistantes</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>KeepAlive On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeepAlive On</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeepAlive On</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>L'extension Keep-Alive de HTTP/1.0 et l'implémentation des
+ <p>L'extension Keep-Alive de HTTP/1.0 et l'implémentation des
connexions persistantes dans HTTP/1.1 ont rendu possibles des
- sessions HTTP de longue durée, ce qui permet de transmettre
- plusieurs requêtes via la même connexion TCP. Dans certains cas, le
- gain en rapidité pour des documents comportant de nombreuses images
+ sessions HTTP de longue durée, ce qui permet de transmettre
+ plusieurs requêtes via la même connexion TCP. Dans certains cas, le
+ gain en rapidité pour des documents comportant de nombreuses images
peut atteindre 50%. Pour activer les connexions persistantes,
- définissez <code>KeepAlive On</code>.</p>
+ définissez <code>KeepAlive On</code>.</p>
<p>Pour les clients HTTP/1.0, les connexions persistantes ne seront
- mises en oeuvre que si elles ont été spécialement demandées par un
+ mises en oeuvre que si elles ont été spécialement demandées par un
client. De plus, une connexion persistante avec un client HTTP/1.0
- ne peut être utilisée que si la taille du contenu est connue
+ ne peut être utilisée que si la taille du contenu est connue
d'avance. Ceci implique que les contenus dynamiques comme les
- sorties CGI, les pages SSI, et les listings de répertoires générés
- par le serveur n'utiliseront en général pas les connexions
+ sorties CGI, les pages SSI, et les listings de répertoires générés
+ par le serveur n'utiliseront en général pas les connexions
persistantes avec les clients HTTP/1.0. Avec les clients HTTP/1.1,
- les connexions persistantes sont utilisées par défaut, sauf
+ les connexions persistantes sont utilisées par défaut, sauf
instructions contraires. Si le client le demande, le transfert par
- tronçons de taille fixe (chunked encoding) sera utilisé afin de
+ tronçons de taille fixe (chunked encoding) sera utilisé afin de
transmettre un contenu de longueur inconnue via une connexion
persistante.</p>
<p>Lorsqu'un client utilise une connexion persistante, elle comptera
- pour une seule requête pour la directive <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>, quel
- que soit le nombre de requêtes transmises via cette connexion.</p>
+ pour une seule requête pour la directive <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>, quel
+ que soit le nombre de requêtes transmises via cette connexion.</p>
<h3>Voir aussi</h3>
<ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="keepalivetimeout" id="keepalivetimeout">Directive</a> <a name="KeepAliveTimeout" id="KeepAliveTimeout">KeepAliveTimeout</a><a title="Lien permanent" href="#keepalivetimeout" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée pendant laquelle le serveur va attendre une requête
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée pendant laquelle le serveur va attendre une requête
avant de fermer une connexion persistante</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>KeepAliveTimeout <var>num</var>[ms]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeepAliveTimeout 5</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeepAliveTimeout 5</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>Le nombre de secondes pendant lesquelles Apache httpd va attendre une
- requête avant de fermer la connexion. Le délai peut être défini en
- millisecondes en suffixant sa valeur par ms. La valeur du délai
- spécifiée par la directive <code class="directive"><a href="#timeout">Timeout</a></code> s'applique dès qu'une requête a
- été reçue.</p>
+ requête avant de fermer la connexion. Le délai peut être défini en
+ millisecondes en suffixant sa valeur par ms. La valeur du délai
+ spécifiée par la directive <code class="directive"><a href="#timeout">Timeout</a></code> s'applique dès qu'une requête a
+ été reçue.</p>
- <p>Donner une valeur trop élévée à
- <code class="directive">KeepAliveTimeout</code> peut induire des problèmes
- de performances sur les serveurs fortement chargés. Plus le délai
- est élévé, plus nombreux seront les processus serveur en attente de
- requêtes de la part de clients inactifs.</p>
+ <p>Donner une valeur trop élévée à
+ <code class="directive">KeepAliveTimeout</code> peut induire des problèmes
+ de performances sur les serveurs fortement chargés. Plus le délai
+ est élévé, plus nombreux seront les processus serveur en attente de
+ requêtes de la part de clients inactifs.</p>
<p>Si la directive <code class="directive">KeepAliveTimeout</code>
- <strong>n'est pas</strong> définie pour un des serveurs virtuels
- à base de nom, c'est le serveur virtuel dont la paire adresse
- IP/port correspond le mieux qui sera utilisée.</p>
+ <strong>n'est pas</strong> définie pour un des serveurs virtuels
+ à base de nom, c'est le serveur virtuel dont la paire adresse
+ IP/port correspond le mieux qui sera utilisée.</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="limit" id="limit">Directive</a> <a name="Limit" id="Limit"><Limit></a><a title="Lien permanent" href="#limit" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite les contrôles d'accès que la section contient à
-certaines méthodes HTTP</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Limit <var>méthode</var> [<var>méthode</var>] ... > ...
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite les contrôles d'accès que la section contient à
+certaines méthodes HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Limit <var>méthode</var> [<var>méthode</var>] ... > ...
</Limit></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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig, Limit</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Les contrôles d'accès s'appliquent normalement à
- <strong>toutes</strong> les méthodes d'accès, et c'est en général le
- comportement souhaité. <strong>Dans le cas général, les directives
- de contrôle d'accès n'ont pas à être placées dans une section
+ <p>Les contrôles d'accès s'appliquent normalement à
+ <strong>toutes</strong> les méthodes d'accès, et c'est en général le
+ comportement souhaité. <strong>Dans le cas général, les directives
+ de contrôle d'accès n'ont pas à être placées dans une section
<code class="directive"><Limit></code>.</strong></p>
<p>La directive <code class="directive"><Limit></code> a pour
- but de limiter les effets des contrôles d'accès aux méthodes HTTP
- spécifiées. Pour toutes les autres méthodes, les restrictions
- d'accès contenues dans la section <code class="directive"><Limit></code> <strong>n'auront aucun
- effet</strong>. L'exemple suivant n'applique les contrôles d'accès
- qu'aux méthodes <code>POST</code>, <code>PUT</code>, et
- <code>DELETE</code>, en laissant les autres méthodes sans protection
+ but de limiter les effets des contrôles d'accès aux méthodes HTTP
+ spécifiées. Pour toutes les autres méthodes, les restrictions
+ d'accès contenues dans la section <code class="directive"><Limit></code> <strong>n'auront aucun
+ effet</strong>. L'exemple suivant n'applique les contrôles d'accès
+ qu'aux méthodes <code>POST</code>, <code>PUT</code>, et
+ <code>DELETE</code>, en laissant les autres méthodes sans protection
:</p>
<pre class="prettyprint lang-config"><Limit POST PUT DELETE>
</Limit></pre>
- <p>La liste des noms de méthodes peut contenir une ou plusieurs
+ <p>La liste des noms de méthodes peut contenir une ou plusieurs
valeurs parmi les suivantes : <code>GET</code>, <code>POST</code>,
<code>PUT</code>, <code>DELETE</code>, <code>CONNECT</code>,
<code>OPTIONS</code>, <code>PATCH</code>, <code>PROPFIND</code>,
<code>PROPPATCH</code>, <code>MKCOL</code>, <code>COPY</code>,
<code>MOVE</code>, <code>LOCK</code>, et <code>UNLOCK</code>.
- <strong>Le nom de méthode est sensible à la casse.</strong> Si la
- valeur <code>GET</code> est présente, les requêtes <code>HEAD</code>
- seront aussi concernées. La méthode <code>TRACE</code> ne peut pas
- être limitée (voir la directive <code class="directive"><a href="#traceenable">TraceEnable</a></code>).</p>
+ <strong>Le nom de méthode est sensible à la casse.</strong> Si la
+ valeur <code>GET</code> est présente, les requêtes <code>HEAD</code>
+ seront aussi concernées. La méthode <code>TRACE</code> ne peut pas
+ être limitée (voir la directive <code class="directive"><a href="#traceenable">TraceEnable</a></code>).</p>
- <div class="warning">Une section <code class="directive"><LimitExcept></code> doit toujours être préférée à
+ <div class="warning">Une section <code class="directive"><LimitExcept></code> doit toujours être préférée à
une section <code class="directive"><Limit></code> pour la
- restriction d'accès, car une section <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> fournit une protection contre
- les méthodes arbitraires.</div>
+ restriction d'accès, car une section <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> fournit une protection contre
+ les méthodes arbitraires.</div>
<p>Les directives <code class="directive"><Limit></code> et
<code class="directive"><a href="#limitexcept"><LimitExcept></a></code>
- peuvent être imbriquées. Dans ce cas, pour chaque niveau des
- directives <code class="directive"><Limit></code> ou <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>, ces dernières
- doivent restreindre l'accès pour les méthodes auxquelles les
- contrôles d'accès s'appliquent.</p>
+ peuvent être imbriquées. Dans ce cas, pour chaque niveau des
+ directives <code class="directive"><Limit></code> ou <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>, ces dernières
+ doivent restreindre l'accès pour les méthodes auxquelles les
+ contrôles d'accès s'appliquent.</p>
- <div class="warning">Lorsqu'on utilise les directives <code class="directive"><Limit></code> ou <code class="directive"><LimitExcept></code> avec la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>, la première directive
+ <div class="warning">Lorsqu'on utilise les directives <code class="directive"><Limit></code> ou <code class="directive"><LimitExcept></code> avec la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>, la première directive
<code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> dont la
- condition est satisfaite autorise la requête, sans tenir compte de
- la présence d'autres directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>.</div>
+ condition est satisfaite autorise la requête, sans tenir compte de
+ la présence d'autres directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>.</div>
<p>Par exemple, avec la configuration suivante, tous les
- utilisateurs seront autorisés à effectuer des requêtes
+ utilisateurs seront autorisés à effectuer des requêtes
<code>POST</code>, et la directive <code>Require group
- editors</code> sera ignorée dans tous les cas :</p>
+ editors</code> sera ignorée dans tous les cas :</p>
<pre class="prettyprint lang-config"><LimitExcept GET>
Require valid-user
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="limitexcept" id="limitexcept">Directive</a> <a name="LimitExcept" id="LimitExcept"><LimitExcept></a><a title="Lien permanent" href="#limitexcept" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Applique les contrôles d'accès à toutes les méthodes HTTP,
-sauf celles qui sont spécifiées</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><LimitExcept <var>méthode</var> [<var>méthode</var>] ... > ...
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Applique les contrôles d'accès à toutes les méthodes HTTP,
+sauf celles qui sont spécifiées</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><LimitExcept <var>méthode</var> [<var>méthode</var>] ... > ...
</LimitExcept></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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig, Limit</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p><code class="directive"><LimitExcept></code> et
<code></LimitExcept></code> permettent de regrouper des
- directives de contrôle d'accès qui s'appliqueront à toutes les
- méthodes d'accès HTTP qui ne font <strong>pas</strong> partie de la
+ directives de contrôle d'accès qui s'appliqueront à toutes les
+ méthodes d'accès HTTP qui ne font <strong>pas</strong> partie de la
liste des arguments ; en d'autres termes, elles ont un comportement
- opposé à celui de la section <code class="directive"><a href="#limit"><Limit></a></code>, et on peut les utiliser pour
- contrôler aussi bien les méthodes standards que les méthodes non
+ opposé à celui de la section <code class="directive"><a href="#limit"><Limit></a></code>, et on peut les utiliser pour
+ contrôler aussi bien les méthodes standards que les méthodes non
standards ou non reconnues. Voir la documentation de la section
<code class="directive"><a href="#limit"><Limit></a></code> pour plus
- de détails.</p>
+ de détails.</p>
<p>Par exemple :</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="limitinternalrecursion" id="limitinternalrecursion">Directive</a> <a name="LimitInternalRecursion" id="LimitInternalRecursion">LimitInternalRecursion</a><a title="Lien permanent" href="#limitinternalrecursion" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le nombre maximal de redirections internes et de
-sous-requêtes imbriquées</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le nombre maximal de redirections internes et de
+sous-requêtes imbriquées</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitInternalRecursion <var>nombre</var> [<var>nombre</var>]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitInternalRecursion 10</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitInternalRecursion 10</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>Une redirection interne survient, par exemple, quand on utilise
la directive <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> qui
- redirige en interne la requête d'origine vers un script CGI. Une
- sous-requête est le mécanisme qu'utilise Apache httpd pour déterminer ce
- qui se passerait pour un URI s'il faisait l'objet d'une requête. Par
- exemple, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> utilise les sous-requêtes pour
- rechercher les fichiers listés dans la directive <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>.</p>
+ redirige en interne la requête d'origine vers un script CGI. Une
+ sous-requête est le mécanisme qu'utilise Apache httpd pour déterminer ce
+ qui se passerait pour un URI s'il faisait l'objet d'une requête. Par
+ exemple, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> utilise les sous-requêtes pour
+ rechercher les fichiers listés dans la directive <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>.</p>
<p>La directive <code class="directive">LimitInternalRecursion</code> permet
- d'éviter un crash du serveur dû à un bouclage infini de redirections
- internes ou de sous-requêtes. De tels bouclages sont dus en général
- à des erreurs de configuration.</p>
+ d'éviter un crash du serveur dû à un bouclage infini de redirections
+ internes ou de sous-requêtes. De tels bouclages sont dus en général
+ à des erreurs de configuration.</p>
<p>La directive accepte, comme arguments, deux limites qui sont
- évaluées à chaque requête. Le premier <var>nombre</var> est le
- nombre maximum de redirections internes qui peuvent se succéder. Le
- second <var>nombre</var> détermine la profondeur d'imbrication
- maximum des sous-requêtes. Si vous ne spécifiez qu'un seul
- <var>nombre</var>, il sera affecté aux deux limites.</p>
+ évaluées à chaque requête. Le premier <var>nombre</var> est le
+ nombre maximum de redirections internes qui peuvent se succéder. Le
+ second <var>nombre</var> détermine la profondeur d'imbrication
+ maximum des sous-requêtes. Si vous ne spécifiez qu'un seul
+ <var>nombre</var>, il sera affecté aux deux limites.</p>
<pre class="prettyprint lang-config">LimitInternalRecursion 5</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="limitrequestbody" id="limitrequestbody">Directive</a> <a name="LimitRequestBody" id="LimitRequestBody">LimitRequestBody</a><a title="Lien permanent" href="#limitrequestbody" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>limite la taille maximale du corps de la requête HTTP
-envoyée par le client</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>limite la taille maximale du corps de la requête HTTP
+envoyée par le client</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestBody <var>octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestBody 0</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#Default">Défaut:</a></th><td><code>LimitRequestBody 0</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">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Cette directive spécifie la taille maximale autorisée pour le
- corps d'une requête ; la valeur de l'argument <var>octets</var> va
- de 0 (pour une taille illimitée), à 2147483647 (2Go). Voir la note
- ci-dessous pour la limite d'applicabilité aux requêtes mandatées.</p>
+ <p>Cette directive spécifie la taille maximale autorisée pour le
+ corps d'une requête ; la valeur de l'argument <var>octets</var> va
+ de 0 (pour une taille illimitée), à 2147483647 (2Go). Voir la note
+ ci-dessous pour la limite d'applicabilité aux requêtes mandatées.</p>
<p>La directive <code class="directive">LimitRequestBody</code> permet de
- définir une limite pour la taille maximale autorisée du corps d'une
- requête HTTP en tenant compte du contexte dans lequel la directive
- a été placée (c'est à dire au niveau du serveur, d'un répertoire,
- d'un fichier ou d'une localisation). Si la requête du client dépasse
- cette limite, le serveur répondra par un message d'erreur et ne
- traitera pas la requête. La taille du corps d'une requête normale va
- varier de manière importante en fonction de la nature de la
- ressource et des méthodes autorisées pour cette dernière. Les
+ définir une limite pour la taille maximale autorisée du corps d'une
+ requête HTTP en tenant compte du contexte dans lequel la directive
+ a été placée (c'est à dire au niveau du serveur, d'un répertoire,
+ d'un fichier ou d'une localisation). Si la requête du client dépasse
+ cette limite, le serveur répondra par un message d'erreur et ne
+ traitera pas la requête. La taille du corps d'une requête normale va
+ varier de manière importante en fonction de la nature de la
+ ressource et des méthodes autorisées pour cette dernière. Les
scripts CGI utilisent souvent le corps du message pour extraire les
- informations d'un formulaire. Les implémentations de la méthode
- <code>PUT</code> nécessitent une valeur au moins aussi élevée que la
- taille maximale des représentations que le serveur désire accepter
+ informations d'un formulaire. Les implémentations de la méthode
+ <code>PUT</code> nécessitent une valeur au moins aussi élevée que la
+ taille maximale des représentations que le serveur désire accepter
pour cette ressource.</p>
<p>L'administrateur du serveur peut utiliser cette directive pour
- contrôler plus efficacement les comportements anormaux des requêtes
- des clients, ce qui lui permettra de prévenir certaines formes
- d'attaques par déni de service.</p>
+ contrôler plus efficacement les comportements anormaux des requêtes
+ des clients, ce qui lui permettra de prévenir certaines formes
+ d'attaques par déni de service.</p>
<p>Si par exemple, vous autorisez le chargement de fichiers vers une
- localisation particulière, et souhaitez limiter la taille des
- fichiers chargés à 100Ko, vous pouvez utiliser la directive suivante
+ localisation particulière, et souhaitez limiter la taille des
+ fichiers chargés à 100Ko, vous pouvez utiliser la directive suivante
:</p>
<pre class="prettyprint lang-config">LimitRequestBody 102400</pre>
- <div class="note"><p>Pour une description détaillée de la manière dont cette
- directive est interprétée par les requêtes mandatées, voir la
+ <div class="note"><p>Pour une description détaillée de la manière dont cette
+ directive est interprétée par les requêtes mandatées, voir la
documentation du module <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></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="limitrequestfields" id="limitrequestfields">Directive</a> <a name="LimitRequestFields" id="LimitRequestFields">LimitRequestFields</a><a title="Lien permanent" href="#limitrequestfields" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de champs d'en-tête autorisés dans une
-requête HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de champs d'en-tête autorisés dans une
+requête HTTP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestFields <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestFields 100</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestFields 100</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p><var>nombre</var> est un entier de 0 (nombre de champs illimité)
- à 32767. La valeur par défaut est définie à la compilation par la
+ <p><var>nombre</var> est un entier de 0 (nombre de champs illimité)
+ à 32767. La valeur par défaut est définie à la compilation par la
constante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 selon la
distribution).</p>
- <p>La directive <code class="directive">LimitRequestFields</code> permet à
+ <p>La directive <code class="directive">LimitRequestFields</code> permet à
l'administrateur du serveur de modifier le nombre maximum de champs
- d'en-tête autorisés dans une requête HTTP. Pour un serveur, cette
- valeur doit être supérieure au nombre de champs qu'une requête
- client normale peut contenir. Le nombre de champs d'en-tête d'une
- requête qu'un client utilise dépasse rarement 20, mais ce nombre
- peut varier selon les implémentations des clients, et souvent en
+ d'en-tête autorisés dans une requête HTTP. Pour un serveur, cette
+ valeur doit être supérieure au nombre de champs qu'une requête
+ client normale peut contenir. Le nombre de champs d'en-tête d'une
+ requête qu'un client utilise dépasse rarement 20, mais ce nombre
+ peut varier selon les implémentations des clients, et souvent en
fonction des extensions que les utilisateurs configurent dans leurs
- navigateurs pour supporter la négociation de contenu détaillée. Les
+ navigateurs pour supporter la négociation de contenu détaillée. Les
extensions HTTP optionnelles utilisent souvent les
- champs d'en-tête des requêtes.</p>
+ champs d'en-tête des requêtes.</p>
<p>L'administrateur du serveur peut utiliser cette directive pour
- contrôler plus efficacement les comportements anormaux des requêtes
- des clients, ce qui lui permettra de prévenir certaines formes
- d'attaques par déni de service. La valeur spécifiée doit être
- augmentée si les clients standards reçoivent une erreur du serveur
- indiquant que la requête comportait un nombre d'en-têtes trop
+ contrôler plus efficacement les comportements anormaux des requêtes
+ des clients, ce qui lui permettra de prévenir certaines formes
+ d'attaques par déni de service. La valeur spécifiée doit être
+ augmentée si les clients standards reçoivent une erreur du serveur
+ indiquant que la requête comportait un nombre d'en-têtes trop
important.</p>
<p>Par exemple :</p>
<div class="warning"><h3>Avertissement</h3>
- <p>Dans le cas des serveurs virtuels à base de noms, la valeur de
- cette directive est extraite du serveur virtuel par défaut (le
+ <p>Dans le cas des serveurs virtuels à base de noms, la valeur de
+ cette directive est extraite du serveur virtuel par défaut (le
premier de la liste) pour la paire adresse IP/port.</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="limitrequestfieldsize" id="limitrequestfieldsize">Directive</a> <a name="LimitRequestFieldSize" id="LimitRequestFieldSize">LimitRequestFieldSize</a><a title="Lien permanent" href="#limitrequestfieldsize" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dédinit la taille maximale autorisée d'un en-tête de
-requête HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dédinit la taille maximale autorisée d'un en-tête de
+requête HTTP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestFieldSize <var>octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestFieldSize 8190</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestFieldSize 8190</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Cette directive permet de définir le nombre maximum
- d'<var>octets</var> autorisés dans un en-tête de requête HTTP.</p>
+ <p>Cette directive permet de définir le nombre maximum
+ d'<var>octets</var> autorisés dans un en-tête de requête HTTP.</p>
<p>La directive <code class="directive">LimitRequestFieldSize</code> permet
- à l'administrateur du serveur de définir la taille
- maximale autorisée d'un en-tête de requête HTTP. Pour un serveur,
- cette valeur doit être suffisamment grande pour contenir tout
- en-tête d'une requête client normale. La taille d'un champ d'en-tête
- de requête normal va varier selon les implémentations des clients,
+ à l'administrateur du serveur de définir la taille
+ maximale autorisée d'un en-tête de requête HTTP. Pour un serveur,
+ cette valeur doit être suffisamment grande pour contenir tout
+ en-tête d'une requête client normale. La taille d'un champ d'en-tête
+ de requête normal va varier selon les implémentations des clients,
et en fonction des extensions que les utilisateurs
- configurent dans leurs navigateurs pour supporter la négociation de
- contenu détaillée. Les en-têtes d'authentification SPNEGO peuvent
+ configurent dans leurs navigateurs pour supporter la négociation de
+ contenu détaillée. Les en-têtes d'authentification SPNEGO peuvent
atteindre une taille de 12392 octets.</p>
<p>>L'administrateur du serveur peut utiliser cette directive pour
- contrôler plus efficacement les comportements anormaux des requêtes
- des clients, ce qui lui permettra de prévenir certaines formes
- d'attaques par déni de service.</p>
+ contrôler plus efficacement les comportements anormaux des requêtes
+ des clients, ce qui lui permettra de prévenir certaines formes
+ d'attaques par déni de service.</p>
<p>Par exemple ::</p>
<pre class="prettyprint lang-config">LimitRequestFieldSize 4094</pre>
- <div class="note">Dans des conditions normales, la valeur par défaut de cette
- directive ne doit pas être modifiée.</div>
+ <div class="note">Dans des conditions normales, la valeur par défaut de cette
+ directive ne doit pas être modifiée.</div>
<div class="warning"><h3>Avertissement</h3>
- <p>Dans le cas des serveurs virtuels à base de noms, la valeur de
- cette directive est extraite du serveur virtuel par défaut (le
+ <p>Dans le cas des serveurs virtuels à base de noms, la valeur de
+ cette directive est extraite du serveur virtuel par défaut (le
premier de la liste) pour lequel la paire adresse IP/port
correspond le mieux.</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="limitrequestline" id="limitrequestline">Directive</a> <a name="LimitRequestLine" id="LimitRequestLine">LimitRequestLine</a><a title="Lien permanent" href="#limitrequestline" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille maximale d'une ligne de requête
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille maximale d'une ligne de requête
HTTP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestLine <var>octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestLine 8190</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestLine 8190</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Cette directive permet de définir la taille maximale autorisée
- pour une ligne de requête HTTP en <var>octets</var>.</p>
+ <p>Cette directive permet de définir la taille maximale autorisée
+ pour une ligne de requête HTTP en <var>octets</var>.</p>
- <p>La directive <code class="directive">LimitRequestLine</code> permet à
- l'administrateur du serveur de définir la taille
- maximale autorisée d'une ligne de requête HTTP client. Comme une
- requête comporte une méthode HTTP, un URI, et une version de
+ <p>La directive <code class="directive">LimitRequestLine</code> permet à
+ l'administrateur du serveur de définir la taille
+ maximale autorisée d'une ligne de requête HTTP client. Comme une
+ requête comporte une méthode HTTP, un URI, et une version de
protocole, la directive <code class="directive">LimitRequestLine</code>
- impose une restriction sur la longueur maximale autorisée pour un
- URI dans une requête au niveau du serveur. Pour un serveur, cette
- valeur doit être suffisamment grande pour référencer les noms de
- toutes ses ressources, y compris toutes informations pouvant être
- ajoutées dans la partie requête d'une méthode <code>GET</code>.</p>
+ impose une restriction sur la longueur maximale autorisée pour un
+ URI dans une requête au niveau du serveur. Pour un serveur, cette
+ valeur doit être suffisamment grande pour référencer les noms de
+ toutes ses ressources, y compris toutes informations pouvant être
+ ajoutées dans la partie requête d'une méthode <code>GET</code>.</p>
<p>L'administrateur du serveur peut utiliser cette directive pour
- contrôler plus efficacement les comportements anormaux des requêtes
- des clients, ce qui lui permettra de prévenir certaines formes
- d'attaques par déni de service.</p>
+ contrôler plus efficacement les comportements anormaux des requêtes
+ des clients, ce qui lui permettra de prévenir certaines formes
+ d'attaques par déni de service.</p>
<p>Par exemple :</p>
<div class="note">Dans des conditions normales, cette directive doit conserver
- sa valeur par défaut.</div>
+ sa valeur par défaut.</div>
<div class="warning"><h3>Avertissement</h3>
- <p>Dans le cas des serveurs virtuels à base de noms, la valeur de
- cette directive est extraite du serveur virtuel par défaut (le
+ <p>Dans le cas des serveurs virtuels à base de noms, la valeur de
+ cette directive est extraite du serveur virtuel par défaut (le
premier de la liste) pour lequel la paire adresse IP/port
correspond le mieux.</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="limitxmlrequestbody" id="limitxmlrequestbody">Directive</a> <a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a><a title="Lien permanent" href="#limitxmlrequestbody" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille maximale du corps d'une requête au format
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille maximale du corps d'une requête au format
XML</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitXMLRequestBody <var>octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitXMLRequestBody 1000000</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#Default">Défaut:</a></th><td><code>LimitXMLRequestBody 1000000</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">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Taille maximale (en octets) du corps d'une requête au format XML.
+ <p>Taille maximale (en octets) du corps d'une requête au format XML.
Une valeur de <code>0</code> signifie qu'aucune limite n'est
- imposée.</p>
+ imposée.</p>
<p>Exemple :</p>
<div class="directive-section"><h2><a name="location" id="location">Directive</a> <a name="Location" id="Location"><Location></a><a title="Lien permanent" href="#location" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'applique les directives contenues qu'aux URLs
-spécifiées</td></tr>
+spécifiées</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Location
<var>chemin URL</var>|<var>URL</var>> ... </Location></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>La directive <code class="directive"><Location></code>
- limite la portée des directives contenues aux URLs définies par
- l'argument URL. Elle est similaire à la directive <code class="directive"><a href="#directory"><Directory></a></code>, et marque le
- début d'une section qui se termine par une directive
- <code></Location></code>. Les sections <code class="directive"><Location></code> sont traitées selon l'ordre dans
+ limite la portée des directives contenues aux URLs définies par
+ l'argument URL. Elle est similaire à la directive <code class="directive"><a href="#directory"><Directory></a></code>, et marque le
+ début d'une section qui se termine par une directive
+ <code></Location></code>. Les sections <code class="directive"><Location></code> sont traitées selon l'ordre dans
lequel elles apparaissent dans le fichier de configuration, mais
- après les sections <code class="directive"><a href="#directory"><Directory></a></code> et la lecture des
- fichiers <code>.htaccess</code>, et après les sections <code class="directive"><a href="#files"><Files></a></code>.</p>
+ après les sections <code class="directive"><a href="#directory"><Directory></a></code> et la lecture des
+ fichiers <code>.htaccess</code>, et après les sections <code class="directive"><a href="#files"><Files></a></code>.</p>
<p>Les sections <code class="directive"><Location></code>
- agissent complètement en dehors du système de fichiers. Ceci a de
- nombreuses conséquences. Parmi les plus importantes, on ne doit pas
+ agissent complètement en dehors du système de fichiers. Ceci a de
+ nombreuses conséquences. Parmi les plus importantes, on ne doit pas
utiliser les sections <code class="directive"><Location></code>
- pour contrôler l'accès aux répertoires du système de fichiers. Comme
- plusieurs URLs peuvent correspondre au même répertoire du système de
- fichiers, un tel contrôle d'accès pourrait être contourné.</p>
+ pour contrôler l'accès aux répertoires du système de fichiers. Comme
+ plusieurs URLs peuvent correspondre au même répertoire du système de
+ fichiers, un tel contrôle d'accès pourrait être contourné.</p>
- <p>Les directives que contient cette section seront appliquées aux
- requêtes si la partie chemin de l'URL satisfait à l'un au moins de
- ces critères :
+ <p>Les directives que contient cette section seront appliquées aux
+ requêtes si la partie chemin de l'URL satisfait à l'un au moins de
+ ces critères :
</p>
<ul>
- <li>Le chemin spécifié correspond exactement à la partie chemin de
+ <li>Le chemin spécifié correspond exactement à la partie chemin de
l'URL.
</li>
- <li>Le chemin spécifié, qui se termine par un slash, est un
- préfixe de la partie chemin de l'URL (traité comme une racine du
+ <li>Le chemin spécifié, qui se termine par un slash, est un
+ préfixe de la partie chemin de l'URL (traité comme une racine du
contexte).
</li>
- <li>Le chemin spécifié, si on lui ajoute un slash de fin, est un
- préfixe de la partie chemin de l'URL (aussi traité comme une racine du
+ <li>Le chemin spécifié, si on lui ajoute un slash de fin, est un
+ préfixe de la partie chemin de l'URL (aussi traité comme une racine du
contexte).
</li>
</ul>
<p>
- Dans l'exemple ci-dessous, où aucun slash de fin n'est utilisé, les
- directives contenues dans la section s'appliqueront à /private1,
- /private1/ et /private1/file.txt, mais pas à /private1other.
+ Dans l'exemple ci-dessous, où aucun slash de fin n'est utilisé, les
+ directives contenues dans la section s'appliqueront à /private1,
+ /private1/ et /private1/file.txt, mais pas à /private1other.
</p>
<pre class="prettyprint lang-config"><Location "/private1">
# ...
</Location></pre>
<p>
- De même, dans l'exemple ci-dessous, où l'on utilise un slash de fin, les
- directives contenues dans la section s'appliqueront à /private2/ et
- à /private2/file.txt, mais pas à /private2other.
+ De même, dans l'exemple ci-dessous, où l'on utilise un slash de fin, les
+ directives contenues dans la section s'appliqueront à /private2/ et
+ à /private2/file.txt, mais pas à /private2other.
</p>
<pre class="prettyprint lang-config"><Location "/private2<em>/</em>">
# ...
<div class="note"><h3>Quand utiliser la section <code class="directive"><Location></code></h3>
- <p>Vous pouvez utiliser une section <code class="directive"><Location></code> pour appliquer des directives à
- des contenus situés en dehors du système de fichiers. Pour les
- contenus situés à l'intérieur du système de fichiers, utilisez
- plutôt les sections <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#files"><Files></a></code>. <code><Location
- "/"></code> constitue une exception et permet d'appliquer aisément
- une configuration à l'ensemble du serveur.</p>
+ <p>Vous pouvez utiliser une section <code class="directive"><Location></code> pour appliquer des directives à
+ des contenus situés en dehors du système de fichiers. Pour les
+ contenus situés à l'intérieur du système de fichiers, utilisez
+ plutôt les sections <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#files"><Files></a></code>. <code><Location
+ "/"></code> constitue une exception et permet d'appliquer aisément
+ une configuration à l'ensemble du serveur.</p>
</div>
- <p>Pour toutes les requêtes originales (non mandatées), l'argument
+ <p>Pour toutes les requêtes originales (non mandatées), l'argument
URL est un chemin d'URL de la forme
- <code>/chemin/</code>. <em>Aucun protocole, nom d'hôte, port, ou chaîne
- de requête ne doivent apparaître.</em> Pour les requêtes mandatées, l'URL
- spécifiée doit être de la forme
+ <code>/chemin/</code>. <em>Aucun protocole, nom d'hôte, port, ou chaîne
+ de requête ne doivent apparaître.</em> Pour les requêtes mandatées, l'URL
+ spécifiée doit être de la forme
<code>protocole://nom_serveur/chemin</code>, et vous devez inclure
- le préfixe.</p>
+ le préfixe.</p>
- <p>L'URL peut contenir des caractères génériques. Dans une chaîne
- avec caractères génériques, <code>?</code> correspond à un caractère
- quelconque, et <code>*</code> à toute chaîne de caractères. Les
- caractères génériques ne peuvent pas remplacer un / dans le chemin
+ <p>L'URL peut contenir des caractères génériques. Dans une chaîne
+ avec caractères génériques, <code>?</code> correspond à un caractère
+ quelconque, et <code>*</code> à toute chaîne de caractères. Les
+ caractères génériques ne peuvent pas remplacer un / dans le chemin
URL.</p>
<p>On peut aussi utiliser les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions
- rationnelles</a>, moyennant l'addition d'un caractère
+ rationnelles</a>, moyennant l'addition d'un caractère
<code>~</code>. Par exemple :</p>
<pre class="prettyprint lang-config"><Location ~ "/(extra|special)/data">
</Location></pre>
- <p>concernerait les URLs contenant les sous-chaîne
+ <p>concernerait les URLs contenant les sous-chaîne
<code>/extra/data</code> ou <code>/special/data</code>. La directive
<code class="directive"><a href="#locationmatch"><LocationMatch></a></code>
- présente un comportement identique à la version avec expressions
+ présente un comportement identique à la version avec expressions
rationnelles de la directive <code class="directive"><Location></code>, et son utilisation est
- préférable à l'utilisation de cette dernière pour la simple raison
+ préférable à l'utilisation de cette dernière pour la simple raison
qu'il est difficile de distinguer <code>~</code> de <code>-</code>
dans la plupart des fontes.</p>
<p>La directive <code class="directive"><Location></code>
s'utilise principalement avec la directive <code class="directive"><a href="#sethandler">SetHandler</a></code>. Par exemple, pour activer les
- requêtes d'état, mais ne les autoriser que depuis des navigateurs
+ requêtes d'état, mais ne les autoriser que depuis des navigateurs
appartenant au domaine <code>example.com</code>, vous pouvez
utiliser :</p>
</Location></pre>
- <div class="note"><h3>Note à propos du slash (/)</h3>
- <p>La signification du caractère slash dépend de l'endroit où il
- se trouve dans l'URL. Les utilisateurs peuvent être habitués à
- son comportement dans le système de fichiers où plusieurs slashes
- successifs sont souvent réduits à un slash unique (en d'autres
- termes, <code>/home///foo</code> est identique à
+ <div class="note"><h3>Note à propos du slash (/)</h3>
+ <p>La signification du caractère slash dépend de l'endroit où il
+ se trouve dans l'URL. Les utilisateurs peuvent être habitués à
+ son comportement dans le système de fichiers où plusieurs slashes
+ successifs sont souvent réduits à un slash unique (en d'autres
+ termes, <code>/home///foo</code> est identique à
<code>/home/foo</code>). Dans l'espace de nommage des URLs, ce
n'est cependant pas toujours le cas. Pour la directive <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> et la
- version avec expressions rationnelles de la directive <code class="directive"><Location></code>, vous devez spécifier
+ version avec expressions rationnelles de la directive <code class="directive"><Location></code>, vous devez spécifier
explicitement les slashes multiples si telle est votre
intention.</p>
<p>Par exemple, <code><LocationMatch "^/abc"></code> va
- correspondre à l'URL <code>/abc</code> mais pas à l'URL <code>
+ correspondre à l'URL <code>/abc</code> mais pas à l'URL <code>
//abc</code>. La directive <code class="directive"><Location></code> sans expression rationnelle se comporte de
- la même manière lorsqu'elle est utilisée pour des requêtes
- mandatées. Par contre, lorsque la directive <code class="directive"><Location></code> sans expression rationnelle
- est utilisée pour des requêtes non mandatées, elle fera
- correspondre implicitement les slashes multiples à des slashes
- uniques. Par exemple, si vous spécifiez <code><Location
- "/abc/def"></code>, une requête de la forme
+ la même manière lorsqu'elle est utilisée pour des requêtes
+ mandatées. Par contre, lorsque la directive <code class="directive"><Location></code> sans expression rationnelle
+ est utilisée pour des requêtes non mandatées, elle fera
+ correspondre implicitement les slashes multiples à des slashes
+ uniques. Par exemple, si vous spécifiez <code><Location
+ "/abc/def"></code>, une requête de la forme
<code>/abc//def</code> correspondra.</p>
</div>
<ul>
<li><a href="../sections.html">Comment fonctionnent les sections
<Directory>, <Location> et <Files></a> pour une
-explication de la manière dont ces différentes sections se combinent
-entre elles à la réception d'une requête.</li>
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête.</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="locationmatch" id="locationmatch">Directive</a> <a name="LocationMatch" id="LocationMatch"><LocationMatch></a><a title="Lien permanent" href="#locationmatch" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'applique les directives contenues qu'aux URLs
-correspondant à une expression rationnelle</td></tr>
+correspondant à une expression rationnelle</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><LocationMatch
<var>regex</var>> ... </LocationMatch></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>La directive <code class="directive"><LocationMatch></code>
- limite la portée des directives contenues à l'URL spécifiée, de
- manière identique à la directive <code class="directive"><a href="#location"><Location></a></code>. Mais son argument permettant de
- spécifier les URLs concernées est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a> au lieu d'une simple
- chaîne de caractères. Par exemple :</p>
+ limite la portée des directives contenues à l'URL spécifiée, de
+ manière identique à la directive <code class="directive"><a href="#location"><Location></a></code>. Mais son argument permettant de
+ spécifier les URLs concernées est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a> au lieu d'une simple
+ chaîne de caractères. Par exemple :</p>
<pre class="prettyprint lang-config"><LocationMatch "/(extra|special)/data">
# ...
</LocationMatch></pre>
- <p>correspondrait à toute URL contenant les sous-chaînes
+ <p>correspondrait à toute URL contenant les sous-chaînes
<code>/extra/data</code> ou <code>/special/data</code>.</p>
- <div class="note"><p>Si vous recherchez une URL <strong>commençant par</strong>
- plutôt que seulement contenant <code>/extra/data</code>, préfixez
+ <div class="note"><p>Si vous recherchez une URL <strong>commençant par</strong>
+ plutôt que seulement contenant <code>/extra/data</code>, préfixez
l'expression rationnelle avec un <code>^</code>.</p>
<pre class="prettyprint lang-config"><LocationMatch "^/(extra|special)/data"></pre>
</div>
- <p>A partir de la version 2.4.8, les groupes nommés et les
- références arrières sont extraits et enregistrés dans
- l'environnement avec leur nom en majuscules et préfixé
+ <p>A partir de la version 2.4.8, les groupes nommés et les
+ références arrières sont extraits et enregistrés dans
+ l'environnement avec leur nom en majuscules et préfixé
par "MATCH_". Ceci permet
- de référencer des URLs dans des <a href="../expr.html">expressions</a>
+ de référencer des URLs dans des <a href="../expr.html">expressions</a>
ou au sein de modules comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pour
- éviter toute confusion, les références arrières numérotées (non
- nommées) sont ignorées. Vous devez utiliser à la place des groupes
- nommés.</p>
+ éviter toute confusion, les références arrières numérotées (non
+ nommées) sont ignorées. Vous devez utiliser à la place des groupes
+ nommés.</p>
<pre class="prettyprint lang-config"><LocationMatch "^/combined/(?<sitename>[^/]+)">
require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
<ul>
<li><a href="../sections.html">Comment fonctionnent les sections
<Directory>, <Location> et <Files></a> pour une
-explication de la manière dont ces différentes sections se combinent
-entre elles à la réception d'une requête.</li>
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête.</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="loglevel" id="loglevel">Directive</a> <a name="LogLevel" id="LogLevel">LogLevel</a><a title="Lien permanent" href="#loglevel" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la verbosité du journal des erreurs</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la verbosité du journal des erreurs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogLevel [<var>module</var>:]<var>niveau</var>
[<var>module</var>:<var>niveau</var>] ...
</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LogLevel warn</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LogLevel warn</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La configuration du niveau de journalisation par module
-et par répertoire est disponible depuis la version 2.3.6 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La configuration du niveau de journalisation par module
+et par répertoire est disponible depuis la version 2.3.6 du serveur HTTP
Apache</td></tr>
</table>
<p>La directive <code class="directive">LogLevel</code> permet d'ajuster la
- verbosité des messages enregistrés dans les journaux d'erreur (voir
+ verbosité des messages enregistrés dans les journaux d'erreur (voir
la directive <code class="directive"><a href="#errorlog">ErrorLog</a></code>
- directive). Les <var>niveau</var>x disponibles sont présentés
- ci-après, par ordre de criticité décroissante :</p>
+ directive). Les <var>niveau</var>x disponibles sont présentés
+ ci-après, par ordre de criticité décroissante :</p>
<table class="bordered">
<tr>
<td><code>emerg</code> </td>
- <td>Urgences - le système est inutilisable.</td>
+ <td>Urgences - le système est inutilisable.</td>
<td>"Child cannot open lock file. Exiting"</td>
</tr>
<tr>
<td><code>alert</code> </td>
- <td>Des mesures doivent être prises immédiatement.</td>
+ <td>Des mesures doivent être prises immédiatement.</td>
<td>"getpwuid: couldn't determine user name from uid"</td>
</tr>
<tr>
<td><code>notice</code> </td>
- <td>Evènement important mais normal.</td>
+ <td>Evènement important mais normal.</td>
<td>"httpd: caught SIGBUS, attempting to dump core in
..."</td>
<tr>
<td><code>debug</code> </td>
- <td>Messages de débogage.</td>
+ <td>Messages de débogage.</td>
<td>"Opening config file ..."</td>
</tr>
<tr>
<td><code>trace7</code> </td>
- <td>Messages de traces, enregistrement d'une grande quantité de
- données</td>
+ <td>Messages de traces, enregistrement d'une grande quantité de
+ données</td>
<td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td>
</tr>
<tr>
<td><code>trace8</code> </td>
- <td>Messages de traces, enregistrement d'une grande quantité de
- données</td>
+ <td>Messages de traces, enregistrement d'une grande quantité de
+ données</td>
<td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td>
</tr>
</table>
- <p>Lorsqu'un niveau particulier est spécifié, les messages de tous
- les autres niveaux de criticité supérieure seront aussi enregistrés.
- <em>Par exemple</em>, si <code>LogLevel info</code> est spécifié,
+ <p>Lorsqu'un niveau particulier est spécifié, les messages de tous
+ les autres niveaux de criticité supérieure seront aussi enregistrés.
+ <em>Par exemple</em>, si <code>LogLevel info</code> est spécifié,
les messages de niveaux <code>notice</code> et <code>warn</code>
- seront aussi émis.</p>
+ seront aussi émis.</p>
- <p>Il est recommandé d'utiliser un niveau <code>crit</code> ou
- inférieur.</p>
+ <p>Il est recommandé d'utiliser un niveau <code>crit</code> ou
+ inférieur.</p>
<p>Par exemple :</p>
<div class="note"><h3>Note</h3>
<p>Si la journalisation s'effectue directement dans un fichier,
- les messages de niveau <code>notice</code> ne peuvent pas être
- supprimés et sont donc toujours journalisés. Cependant, ceci ne
+ les messages de niveau <code>notice</code> ne peuvent pas être
+ supprimés et sont donc toujours journalisés. Cependant, ceci ne
s'applique pas lorsque la journalisation s'effectue vers
<code>syslog</code>.</p>
</div>
- <p>Spécifier un niveau sans nom de module va attribuer ce niveau à
- tous les modules. Spécifier un niveau avec nom de module va
- attribuer ce niveau à ce module seulement. Il est possible de
- spécifier un module par le nom de son fichier source ou par son
+ <p>Spécifier un niveau sans nom de module va attribuer ce niveau à
+ tous les modules. Spécifier un niveau avec nom de module va
+ attribuer ce niveau à ce module seulement. Il est possible de
+ spécifier un module par le nom de son fichier source ou par son
identificateur, avec ou sans le suffixe <code>_module</code>. Les
- trois spécifications suivantes sont donc équivalentes :</p>
+ trois spécifications suivantes sont donc équivalentes :</p>
<pre class="prettyprint lang-config">LogLevel info ssl:warn
LogLevel info mod_ssl.c:warn
<p>Il est aussi possible d'attribuer un niveau de journalisation par
- répertoire :</p>
+ répertoire :</p>
<pre class="prettyprint lang-config">LogLevel info
<Directory "/usr/local/apache/htdocs/app">
<div class="note">
- La configuration du niveau de journalisation par répertoire
- n'affecte que les messages journalisés après l'interprétation de
- la requête et qui sont associés à cette dernière. Les messages
- de journalisation associés au serveur ou à la connexion ne sont
- pas affectés. Il est cependant possible d'agir sur ces
- derniers à l'aide de la directive <code class="directive"><a href="#logleveloverride">LogLevelOverride</a></code>.
+ La configuration du niveau de journalisation par répertoire
+ n'affecte que les messages journalisés après l'interprétation de
+ la requête et qui sont associés à cette dernière. Les messages
+ de journalisation associés au serveur ou à la connexion ne sont
+ pas affectés. Il est cependant possible d'agir sur ces
+ derniers à l'aide de la directive <code class="directive"><a href="#logleveloverride">LogLevelOverride</a></code>.
</div>
<h3>Voir aussi</h3>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="logleveloverride" id="logleveloverride">Directive</a> <a name="LogLevelOverride" id="LogLevelOverride">LogLevelOverride</a><a title="Lien permanent" href="#logleveloverride" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Surcharge la verbosité du journal des erreurs pour certains
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Surcharge la verbosité du journal des erreurs pour certains
clients</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogLevel <var>ipaddress</var>[/<var>prefixlen</var>]
[<var>module</var>:]<var>level</var> [<var>module</var>:<var>level</var>] ...
</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>non définie</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>non définie</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
<p>La directive <code class="directive">LogLevelOverride</code> permet
- d'affiner la définition de la directive <code class="directive"><a href="#loglevel">LogLevel</a></code> pour les requêtes en provenance
+ d'affiner la définition de la directive <code class="directive"><a href="#loglevel">LogLevel</a></code> pour les requêtes en provenance
de certaines adresses IP. Il est ainsi possible d'activer une
- journalisation détaillée seulement pour certains clients à des fins
- de test. Les adresses IP sont vérifiées à un stade très précoce du
+ journalisation détaillée seulement pour certains clients à des fins
+ de test. Les adresses IP sont vérifiées à un stade très précoce du
processus de connexion. Ainsi, la directive
<code class="directive">LogLevelOverride</code> permet de modifier le niveau
- de journalisation pour des processus comme la négociation SSL qui
- intervient avant l'évaluation d'une éventuelle directive <code class="directive"><a href="#loglevel">LogLevel</a></code> au sein d'un conteneur <code class="directive"><a href="#if"><If></a></code>.</p>
+ de journalisation pour des processus comme la négociation SSL qui
+ intervient avant l'évaluation d'une éventuelle directive <code class="directive"><a href="#loglevel">LogLevel</a></code> au sein d'un conteneur <code class="directive"><a href="#if"><If></a></code>.</p>
<p>La directive <code class="directive">LogLevelOverride</code> accepte soit
- une adresse IP simple, soit une spécification de sous-réseau CIDR de
- la forme adresse-IP/masque. Pour la syntaxe de la spécification du
+ une adresse IP simple, soit une spécification de sous-réseau CIDR de
+ la forme adresse-IP/masque. Pour la syntaxe de la spécification du
niveau de journalisation, voir la directive <code class="directive"><a href="#loglevel">LogLevel</a></code> directive.</p>
- <p>Pour les requêtes concernées par une directive
- <code class="directive">LogLevelOverride</code>, les spécifications de
- niveau répertoire de la directive <code class="directive"><a href="#loglevel">LogLevel</a></code> sont ignorées.</p>
+ <p>Pour les requêtes concernées par une directive
+ <code class="directive">LogLevelOverride</code>, les spécifications de
+ niveau répertoire de la directive <code class="directive"><a href="#loglevel">LogLevel</a></code> sont ignorées.</p>
<p>Exemples:</p>
<div class="note">
La directive <code class="directive">LogLevelOverride</code> n'affecte que les
- messages associés à la requête ou à la connexion. Les messages
- associés au serveur ne sont pas affectés.
+ messages associés à la requête ou à la connexion. Les messages
+ associés au serveur ne sont pas affectés.
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="maxkeepaliverequests" id="maxkeepaliverequests">Directive</a> <a name="MaxKeepAliveRequests" id="MaxKeepAliveRequests">MaxKeepAliveRequests</a><a title="Lien permanent" href="#maxkeepaliverequests" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de requêtes permises pour une connexion
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de requêtes permises pour une connexion
persistante</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxKeepAliveRequests <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxKeepAliveRequests 100</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxKeepAliveRequests 100</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>La directive <code class="directive">MaxKeepAliveRequests</code> permet
- de limiter le nombre de requêtes autorisées par connexion lorsque
- <code class="directive"><a href="#keepalive">KeepAlive</a></code> est à "on". Si sa
- valeur est <code>0</code>, le nombre de requêtes autorisées est
- illimité. Il est recommandé de définir une valeur assez haute pour
+ de limiter le nombre de requêtes autorisées par connexion lorsque
+ <code class="directive"><a href="#keepalive">KeepAlive</a></code> est à "on". Si sa
+ valeur est <code>0</code>, le nombre de requêtes autorisées est
+ illimité. Il est recommandé de définir une valeur assez haute pour
des performances du serveur maximales.</p>
<p>Par exemple :</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="maxrangeoverlaps" id="maxrangeoverlaps">Directive</a> <a name="MaxRangeOverlaps" id="MaxRangeOverlaps">MaxRangeOverlaps</a><a title="Lien permanent" href="#maxrangeoverlaps" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de chevauchements de segments de données autorisé
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de chevauchements de segments de données autorisé
(par exemple <code>100-200,150-300</code>) avant le renvoi de la
- ressource complète</td></tr>
+ ressource complète</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxRangeOverlaps default | unlimited | none | <var>nombre de
chevauchements</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxRangeOverlaps 20</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxRangeOverlaps 20</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.15 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.15 du serveur HTTP
Apache</td></tr>
</table>
<p>La directive <code class="directive">MaxRangeOverlaps</code> permet
- de limiter le nombre de chevauchements de segments de données HTTP
- autorisé par le serveur. Si le nombre de
- chevauchements de segments demandé est supérieur au nombre maximal
- autorisé, la ressource sera renvoyée dans son intégralité.</p>
+ de limiter le nombre de chevauchements de segments de données HTTP
+ autorisé par le serveur. Si le nombre de
+ chevauchements de segments demandé est supérieur au nombre maximal
+ autorisé, la ressource sera renvoyée dans son intégralité.</p>
<dl>
<dt><strong>default</strong></dt>
- <dd>Limite le nombre de chevauchements de segments à la valeur
- par défaut 20 définie à la compilation.</dd>
+ <dd>Limite le nombre de chevauchements de segments à la valeur
+ par défaut 20 définie à la compilation.</dd>
<dt><strong>none</strong></dt>
- <dd>Aucun chevauchement de segment n'est autorisé.</dd>
+ <dd>Aucun chevauchement de segment n'est autorisé.</dd>
<dt><strong>unlimited</strong></dt>
- <dd>Le nombre de chevauchements de segments est illimité.</dd>
+ <dd>Le nombre de chevauchements de segments est illimité.</dd>
<dt><var>number-of-ranges</var></dt>
- <dd>Un nombre positif représente le nombre maximal de
- chevauchements de segments autorisé par le serveur.</dd>
+ <dd>Un nombre positif représente le nombre maximal de
+ chevauchements de segments autorisé par le serveur.</dd>
</dl>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="maxrangereversals" id="maxrangereversals">Directive</a> <a name="MaxRangeReversals" id="MaxRangeReversals">MaxRangeReversals</a><a title="Lien permanent" href="#maxrangereversals" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre d'inversions d'ordre autorisé dans la spécification des
- segments de données (par exemple <code>100-200,50-70</code>) avant le renvoi de la
- ressource complète</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre d'inversions d'ordre autorisé dans la spécification des
+ segments de données (par exemple <code>100-200,50-70</code>) avant le renvoi de la
+ ressource complète</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxRangeReversals default | unlimited | none | <var>nombre
d'inversions</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxRangeReversals 20</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxRangeReversals 20</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.15 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.15 du serveur HTTP
Apache</td></tr>
</table>
<p>La directive <code class="directive">MaxRangeReversals</code> permet
- de limiter le nombre d'inversions d'ordre dans la spécification
- des segments de données HTTP
- autorisé par le serveur. Si le nombre
- d'inversions demandé est supérieur au nombre maximal
- autorisé, la ressource sera renvoyée dans son intégralité.</p>
+ de limiter le nombre d'inversions d'ordre dans la spécification
+ des segments de données HTTP
+ autorisé par le serveur. Si le nombre
+ d'inversions demandé est supérieur au nombre maximal
+ autorisé, la ressource sera renvoyée dans son intégralité.</p>
<dl>
<dt><strong>default</strong></dt>
- <dd>Limite le nombre d'inversions à la valeur
- par défaut 20 définie à la compilation.</dd>
+ <dd>Limite le nombre d'inversions à la valeur
+ par défaut 20 définie à la compilation.</dd>
<dt><strong>none</strong></dt>
- <dd>Aucune inversion n'est autorisée.</dd>
+ <dd>Aucune inversion n'est autorisée.</dd>
<dt><strong>unlimited</strong></dt>
- <dd>Le nombre d'inversions est illimité.</dd>
+ <dd>Le nombre d'inversions est illimité.</dd>
<dt><var>number-of-ranges</var></dt>
- <dd>Un nombre positif représente le nombre maximal
- d'inversions autorisé par le serveur.</dd>
+ <dd>Un nombre positif représente le nombre maximal
+ d'inversions autorisé par le serveur.</dd>
</dl>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="maxranges" id="maxranges">Directive</a> <a name="MaxRanges" id="MaxRanges">MaxRanges</a><a title="Lien permanent" href="#maxranges" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de segments de données autorisé avant le renvoi de
-l'intégralité de la ressource</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de segments de données autorisé avant le renvoi de
+l'intégralité de la ressource</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxRanges default | unlimited | none | <var>nombre de segments</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxRanges 200</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxRanges 200</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.15 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.15 du serveur HTTP
Apache</td></tr>
</table>
<p>La directive <code class="directive">MaxRanges</code> permet de limiter
- le nombre de segments de données que le serveur va renvoyer au
- client. Si un nombre de segments plus important est demandé, la
- ressource sera renvoyée dans son intégralité.</p>
+ le nombre de segments de données que le serveur va renvoyer au
+ client. Si un nombre de segments plus important est demandé, la
+ ressource sera renvoyée dans son intégralité.</p>
<dl>
<dt><strong>default</strong></dt>
- <dd>Limite le nombre de segments de données à 200 (valeur par
- défaut définie à la compilation).</dd>
+ <dd>Limite le nombre de segments de données à 200 (valeur par
+ défaut définie à la compilation).</dd>
<dt><strong>none</strong></dt>
- <dd>Les en-têtes Range sont ignorés.</dd>
+ <dd>Les en-têtes Range sont ignorés.</dd>
<dt><strong>unlimited</strong></dt>
- <dd>Le nombre de segments de données est illimité.</dd>
+ <dd>Le nombre de segments de données est illimité.</dd>
<dt><var>nombre de segments</var></dt>
- <dd>Un nombre positif représentera la nombre de segments de
- données maximal que le serveur renverra au client.</dd>
+ <dd>Un nombre positif représentera la nombre de segments de
+ données maximal que le serveur renverra au client.</dd>
</dl>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mergetrailers" id="mergetrailers">Directive</a> <a name="MergeTrailers" id="MergeTrailers">MergeTrailers</a><a title="Lien permanent" href="#mergetrailers" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les données supplémentaires (trailers) sont
-fusionnées avec les en-têtes</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les données supplémentaires (trailers) sont
+fusionnées avec les en-têtes</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MergeTrailers [on|off]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MergeTrailers off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MergeTrailers off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.11 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.11 du serveur HTTP
Apache</td></tr>
</table>
- <p>Cette directive permet de contrôler la fusion des données HTTP
- supplémentaires (trailers) avec la représentation interne des
- en-têtes. Cette fusion intervient lorsque le corps de la requête a
- été entièrement reçu, bien longtemps après que la majeure partie du
- traitement des en-têtes ait une chance de pouvoir examiner ou
- modifier les en-têtes de la requête.</p>
- <p>Cette option a été introduite dans un souci de compatibilité avec
- les versions antérieures à 2.4.11, où les données supplémentaires
- étaient systématiquement fusionnées avec les en-têtes de la requête.</p>
+ <p>Cette directive permet de contrôler la fusion des données HTTP
+ supplémentaires (trailers) avec la représentation interne des
+ en-têtes. Cette fusion intervient lorsque le corps de la requête a
+ été entièrement reçu, bien longtemps après que la majeure partie du
+ traitement des en-têtes ait une chance de pouvoir examiner ou
+ modifier les en-têtes de la requête.</p>
+ <p>Cette option a été introduite dans un souci de compatibilité avec
+ les versions antérieures à 2.4.11, où les données supplémentaires
+ étaient systématiquement fusionnées avec les en-têtes de la requête.</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="mutex" id="mutex">Directive</a> <a name="Mutex" id="Mutex">Mutex</a><a title="Lien permanent" href="#mutex" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les mécanismes de mutex et le repertoire du fichier
-verrou pour tous les mutex ou seulement les mutex spécifiés</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Mutex <var>mécanisme</var> [default|<var>nom-mutex</var>] ... [OmitPID]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Mutex default</code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les mécanismes de mutex et le repertoire du fichier
+verrou pour tous les mutex ou seulement les mutex spécifiés</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Mutex <var>mécanisme</var> [default|<var>nom-mutex</var>] ... [OmitPID]</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Mutex default</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>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.4 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.4 du serveur HTTP Apache</td></tr>
</table>
- <p>La directive <code class="directive">Mutex</code> permet de définir le
- mécanisme de mutex, et éventuellement le répertoire du fichier
- verrou que les modules et httpd utilisent pour sérialiser l'accès aux
- ressources. Spécifiez <code>default</code> comme second argument
- pour modifier la configuration de tous les mutex ; spécifiez un nom
+ <p>La directive <code class="directive">Mutex</code> permet de définir le
+ mécanisme de mutex, et éventuellement le répertoire du fichier
+ verrou que les modules et httpd utilisent pour sérialiser l'accès aux
+ ressources. Spécifiez <code>default</code> comme second argument
+ pour modifier la configuration de tous les mutex ; spécifiez un nom
de mutex (voir la table ci-dessous) comme premier argument pour
ne modifier que la configuration de ce mutex.</p>
<p>La directive <code class="directive">Mutex</code> est typiquement
- utilisée dans les situations exceptionnelles suivantes :</p>
+ utilisée dans les situations exceptionnelles suivantes :</p>
<ul>
- <li>choix d'un autre mécanisme de mutex lorsque le mécanisme par
- défaut sélectionné par <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> présente un
- problème de fonctionnement ou de performances.</li>
+ <li>choix d'un autre mécanisme de mutex lorsque le mécanisme par
+ défaut sélectionné par <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> présente un
+ problème de fonctionnement ou de performances.</li>
- <li>choix d'un autre répertoire utilisé par les mutex à base de
- fichier lorsque le répertoire par défaut ne supporte pas le
+ <li>choix d'un autre répertoire utilisé par les mutex à base de
+ fichier lorsque le répertoire par défaut ne supporte pas le
verrouillage</li>
</ul>
- <div class="note"><h3>Modules supportés</h3>
- <p>Cette directive ne configure que les mutex qui ont été
- enregistrés avec le serveur de base via l'API
+ <div class="note"><h3>Modules supportés</h3>
+ <p>Cette directive ne configure que les mutex qui ont été
+ enregistrés avec le serveur de base via l'API
<code>ap_mutex_register()</code>. Tous les modules fournis avec
httpd supportent la directive <code class="directive">Mutex</code>, mais il
- n'en sera pas forcément de même pour les modules tiers.
- Reportez-vous à la documentation du module tiers considéré afin de
- déterminer le(s) nom(s) de mutex qui pourront être définis si la
- directive est supportée.</p>
+ n'en sera pas forcément de même pour les modules tiers.
+ Reportez-vous à la documentation du module tiers considéré afin de
+ déterminer le(s) nom(s) de mutex qui pourront être définis si la
+ directive est supportée.</p>
</div>
- <p>Les <em>mécanismes</em> de mutex disponibles sont les suivants :</p>
+ <p>Les <em>mécanismes</em> de mutex disponibles sont les suivants :</p>
<ul>
<li><code>default | yes</code>
- <p>C'est l'implémentation du verrouillage par défaut, telle
- qu'elle est définie par <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>. On peut
- afficher l'implémentation du verrouillage par défaut via la
+ <p>C'est l'implémentation du verrouillage par défaut, telle
+ qu'elle est définie par <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>. On peut
+ afficher l'implémentation du verrouillage par défaut via la
commande <code class="program"><a href="../programs/httpd.html">httpd</a></code> avec l'option <code>-V</code>.</p></li>
<li><code>none | no</code>
- <p>Le mutex est désactivé, et cette valeur n'est permise pour un
+ <p>Le mutex est désactivé, et cette valeur n'est permise pour un
mutex que si le module indique qu'il s'agit d'un choix valide.
Consultez la documentation du module pour plus d'informations.</p></li>
<li><code>posixsem</code>
- <p>Une variante de mutex basée sur un sémaphore Posix.</p>
+ <p>Une variante de mutex basée sur un sémaphore Posix.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>La propriété du sémaphore n'est pas restituée si un thread du
- processus gérant le mutex provoque une erreur de segmentation,
+ <p>La propriété du sémaphore n'est pas restituée si un thread du
+ processus gérant le mutex provoque une erreur de segmentation,
ce qui provoquera un blocage du serveur web.</p>
</div>
</li>
<li><code>sysvsem</code>
- <p>Une variante de mutex basée sur un sémaphore IPC SystemV.</p>
+ <p>Une variante de mutex basée sur un sémaphore IPC SystemV.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>Il peut arriver que les sémaphores SysV soient conservés si le
- processus se crashe avant que le sémaphore ne soit supprimé.</p>
+ <p>Il peut arriver que les sémaphores SysV soient conservés si le
+ processus se crashe avant que le sémaphore ne soit supprimé.</p>
</div>
- <div class="warning"><h3>Sécurité</h3>
- <p>L'API des sémaphores permet les attaques par déni de service
- par tout programme CGI s'exécutant sous le même uid que le
- serveur web (autrement dit tous les programmes CGI, à moins que
+ <div class="warning"><h3>Sécurité</h3>
+ <p>L'API des sémaphores permet les attaques par déni de service
+ par tout programme CGI s'exécutant sous le même uid que le
+ serveur web (autrement dit tous les programmes CGI, à moins que
vous n'utilisiez un programme du style <code class="program"><a href="../programs/suexec.html">suexec</a></code>
ou <code>cgiwrapper</code>).</p>
</div>
</li>
<li><code>sem</code>
- <p>Sélection de la "meilleure" implémentation des sémaphores
- disponible ; le choix s'effectue entre les sémaphores posix et
+ <p>Sélection de la "meilleure" implémentation des sémaphores
+ disponible ; le choix s'effectue entre les sémaphores posix et
IPC SystemV, dans cet ordre.</p></li>
<li><code>pthread</code>
- <p>Une variante de mutex à base de mutex de thread Posix
+ <p>Une variante de mutex à base de mutex de thread Posix
inter-processus.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>Sur la plupart des systèmes, si un processus enfant se
- termine anormalement alors qu'il détenait un mutex qui utilise
- cette implémentation, le serveur va se bloquer et cesser de
- répondre aux requêtes. Dans ce cas, un redémarrage manuel est
- nécessaire pour récupérer le mutex.</p>
+ <p>Sur la plupart des systèmes, si un processus enfant se
+ termine anormalement alors qu'il détenait un mutex qui utilise
+ cette implémentation, le serveur va se bloquer et cesser de
+ répondre aux requêtes. Dans ce cas, un redémarrage manuel est
+ nécessaire pour récupérer le mutex.</p>
<p>Solaris constitue une exception notable, en ceci qu'il fournit
- un mécanisme qui permet en général de récupérer le mutex après
- l'arrêt anormal d'un processus enfant qui détenait le mutex.</p>
- <p>Si votre système implémente la fonction
+ un mécanisme qui permet en général de récupérer le mutex après
+ l'arrêt anormal d'un processus enfant qui détenait le mutex.</p>
+ <p>Si votre système implémente la fonction
<code>pthread_mutexattr_setrobust_np()</code>, vous devriez
- pouvoir utiliser l'option <code>pthread</code> sans problème.</p>
+ pouvoir utiliser l'option <code>pthread</code> sans problème.</p>
</div>
</li>
la fonction <code>fcntl()</code>.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>Lorsqu'on utilise plusieurs mutex basés sur ce mécanisme dans
+ <p>Lorsqu'on utilise plusieurs mutex basés sur ce mécanisme dans
un environnement multi-processus, multi-thread, des erreurs de
- blocage (EDEADLK) peuvent être rapportées pour des opérations de
- mutex valides si la fonction <code>fcntl()</code> ne gère pas
+ blocage (EDEADLK) peuvent être rapportées pour des opérations de
+ mutex valides si la fonction <code>fcntl()</code> ne gère pas
les threads, comme sous Solaris.</p>
</div>
</li>
<li><code>flock:/chemin/vers/mutex</code>
- <p>Méthode similaire à <code>fcntl:/chemin/vers/mutex</code>,
- mais c'est la fonction <code>flock()</code> qui est utilisée
- pour gérer le verrouillage par fichier.</p></li>
+ <p>Méthode similaire à <code>fcntl:/chemin/vers/mutex</code>,
+ mais c'est la fonction <code>flock()</code> qui est utilisée
+ pour gérer le verrouillage par fichier.</p></li>
<li><code>file:/chemin/vers/mutex</code>
- <p>Sélection de la "meilleure" implémentation de verrouillage
+ <p>Sélection de la "meilleure" implémentation de verrouillage
par fichier disponible ; le choix s'effectue entre
<code>fcntl</code> et <code>flock</code>, dans cet ordre.</p></li>
</ul>
- <p>La plupart des mécanismes ne sont disponibles que sur les
- plate-formes où ces dernières et <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> les
- supportent. Les mécanismes qui ne sont pas disponibles sur toutes
+ <p>La plupart des mécanismes ne sont disponibles que sur les
+ plate-formes où ces dernières et <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> les
+ supportent. Les mécanismes qui ne sont pas disponibles sur toutes
les plate-formes sont <em>posixsem</em>,
<em>sysvsem</em>, <em>sem</em>, <em>pthread</em>, <em>fcntl</em>,
<em>flock</em>, et <em>file</em>.</p>
- <p>Avec les mécanismes à base de fichier <em>fcntl</em> et
- <em>flock</em>, le chemin, s'il est fourni, est un répertoire dans
- lequel le fichier verrou sera créé. Le répertoire par défaut est le
- répertoire d'exécution httpd défini par la directive <code class="directive"><a href="#defaultruntimedir">DefaultRuntimeDir</a></code>. Si le répertoire
- spécifié est un chemin relatif, il est relatif au chemin défini par
+ <p>Avec les mécanismes à base de fichier <em>fcntl</em> et
+ <em>flock</em>, le chemin, s'il est fourni, est un répertoire dans
+ lequel le fichier verrou sera créé. Le répertoire par défaut est le
+ répertoire d'exécution httpd défini par la directive <code class="directive"><a href="#defaultruntimedir">DefaultRuntimeDir</a></code>. Si le répertoire
+ spécifié est un chemin relatif, il est relatif au chemin défini par
la directive <code class="directive"><a href="#defaultruntimedir">DefaultRuntimeDir</a></code>.
- Utilisez toujours un système
+ Utilisez toujours un système
de fichiers local sur disque pour <code>/chemin/vers/mutex</code> et
- jamais un répertoire se trouvant dans un système de fichiers NFS ou
+ jamais un répertoire se trouvant dans un système de fichiers NFS ou
AFS. Le nom de base du fichier se composera du type de mutex, d'une
- chaîne optionnelle correspondant à l'instance et fournie par le
- module ; et, sauf si le mot-clé <code>OmitPID</code> a été spécifié,
- l'identificateur du processus parent httpd sera ajouté afin de
- rendre le nom du fichier unique, évitant ainsi tout conflit lorsque
- plusieurs instances d'httpd partagent le même répertoire de
+ chaîne optionnelle correspondant à l'instance et fournie par le
+ module ; et, sauf si le mot-clé <code>OmitPID</code> a été spécifié,
+ l'identificateur du processus parent httpd sera ajouté afin de
+ rendre le nom du fichier unique, évitant ainsi tout conflit lorsque
+ plusieurs instances d'httpd partagent le même répertoire de
verrouillage. Par exemple, si le nom de mutex est
- <code>mpm-accept</code>, et si le répertoire de verrouillage est
+ <code>mpm-accept</code>, et si le répertoire de verrouillage est
<code>/var/httpd/locks</code>, le nom du fichier verrou pour
l'instance httpd dont le processus parent a pour identifiant 12345
sera <code>/var/httpd/locks/mpm-accept.12345</code>.</p>
- <div class="warning"><h3>Sécurité</h3>
- <p>Il est conseillé d'<em>éviter</em> de placer les fichiers mutex
- dans un répertoire où tout le monde peut écrire comme
+ <div class="warning"><h3>Sécurité</h3>
+ <p>Il est conseillé d'<em>éviter</em> de placer les fichiers mutex
+ dans un répertoire où tout le monde peut écrire comme
<code>/var/tmp</code>, car quelqu'un pourrait initier une attaque
- par déni de service et empêcher le serveur de démarrer en créant un
- fichier verrou possédant un nom identique à celui que le serveur va
- tenter de créer.</p>
+ par déni de service et empêcher le serveur de démarrer en créant un
+ fichier verrou possédant un nom identique à celui que le serveur va
+ tenter de créer.</p>
</div>
- <p>La table suivante décrit les noms de mutex utilisés par httpd et
- ses modules associés.</p>
+ <p>La table suivante décrit les noms de mutex utilisés par httpd et
+ ses modules associés.</p>
<table class="bordered"><tr class="header">
<th>Nom mutex</th>
<th>Module(s)</th>
- <th>Ressource protégée</th>
+ <th>Ressource protégée</th>
</tr>
<tr>
<td><code>mpm-accept</code></td>
<td>modules MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code> et <code class="module"><a href="../mod/worker.html">worker</a></code></td>
- <td>connexions entrantes, afin d'éviter le problème de
- l'afflux de requêtes ; pour plus d'informations, voir la
- documentation <a href="../misc/perf-tuning.html">Amélioration des
+ <td>connexions entrantes, afin d'éviter le problème de
+ l'afflux de requêtes ; pour plus d'informations, voir la
+ documentation <a href="../misc/perf-tuning.html">Amélioration des
performances</a></td>
</tr>
<tr class="odd">
<td><code>authdigest-client</code></td>
<td><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></td>
- <td>liste de clients en mémoire partagée</td>
+ <td>liste de clients en mémoire partagée</td>
</tr>
<tr>
<td><code>authdigest-opaque</code></td>
<td><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></td>
- <td>compteur en mémoire partagée</td>
+ <td>compteur en mémoire partagée</td>
</tr>
<tr class="odd">
<td><code>ldap-cache</code></td>
<td><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code></td>
- <td>cache de résultat de recherche LDAP</td>
+ <td>cache de résultat de recherche LDAP</td>
</tr>
<tr>
<td><code>rewrite-map</code></td>
<td><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></td>
<td>communication avec des programmes externes
- d'associations de valeurs, afin d'éviter les interférences
- d'entrées/sorties entre plusieurs requêtes</td>
+ d'associations de valeurs, afin d'éviter les interférences
+ d'entrées/sorties entre plusieurs requêtes</td>
</tr>
<tr class="odd">
<td><code>ssl-cache</code></td>
<tr>
<td><code>ssl-stapling</code></td>
<td><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></td>
- <td>cache de l'étiquetage OCSP ("OCSP stapling")</td>
+ <td>cache de l'étiquetage OCSP ("OCSP stapling")</td>
</tr>
<tr class="odd">
<td><code>watchdog-callback</code></td>
</tr>
</table>
- <p>Le mot-clé <code>OmitPID</code> permet d'empêcher l'addition de
+ <p>Le mot-clé <code>OmitPID</code> permet d'empêcher l'addition de
l'identifiant du processus httpd parent au nom du fichier verrou.</p>
- <p>Dans l'exemple suivant, le mécanisme de mutex pour le mutex
- mpm-accept est modifié pour passer du mécanisme par défaut au
- mécanisme <code>fcntl</code>, avec le fichier verrou associé créé
- dans le répertoire <code>/var/httpd/locks</code>. Le mécanisme de
- mutex par défaut pour tous les autres mutex deviendra
+ <p>Dans l'exemple suivant, le mécanisme de mutex pour le mutex
+ mpm-accept est modifié pour passer du mécanisme par défaut au
+ mécanisme <code>fcntl</code>, avec le fichier verrou associé créé
+ dans le répertoire <code>/var/httpd/locks</code>. Le mécanisme de
+ mutex par défaut pour tous les autres mutex deviendra
<code>sysvsem</code>.</p>
<pre class="prettyprint lang-config">Mutex sysvsem default
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="namevirtualhost" id="namevirtualhost">Directive</a> <a name="NameVirtualHost" id="NameVirtualHost">NameVirtualHost</a><a title="Lien permanent" href="#namevirtualhost" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>OBSOLETE : Définit une adresse IP pour les serveurs virtuels à base de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>OBSOLETE : Définit une adresse IP pour les serveurs virtuels à base de
nom</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NameVirtualHost <var>adresse</var>[:<var>port</var>]</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#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Avant la version 2.3.11, il était nécessaire de définir une
+ <p>Avant la version 2.3.11, il était nécessaire de définir une
directive <code class="directive">NameVirtualHost</code> pour indiquer au
- serveur qu'une paire adresse IP/port particulière pouvait être
- utilisée comme serveur virtuel à base de nom. Depuis la version
- 2.3.11, chaque fois qu'une paire adresse IP/port est utilisée dans
- plusieurs serveurs virtuels, l'hébergement virtuel à base de nom est
- automatiquement activé pour cette adresse.</p>
+ serveur qu'une paire adresse IP/port particulière pouvait être
+ utilisée comme serveur virtuel à base de nom. Depuis la version
+ 2.3.11, chaque fois qu'une paire adresse IP/port est utilisée dans
+ plusieurs serveurs virtuels, l'hébergement virtuel à base de nom est
+ automatiquement activé pour cette adresse.</p>
<p>Cette directive n'a actuellement plus aucun effet.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="options" id="options">Directive</a> <a name="Options" id="Options">Options</a><a title="Lien permanent" href="#options" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les fonctionnalités disponibles pour un répertoire
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les fonctionnalités disponibles pour un répertoire
particulier</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Options
[+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Options FollowSymlinks</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#Default">Défaut:</a></th><td><code>Options FollowSymlinks</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">AllowOverride:</a></th><td>Options</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Avec la version 2.3.11, la valeur par défaut passe de All
-à FollowSymlinks</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Avec la version 2.3.11, la valeur par défaut passe de All
+à FollowSymlinks</td></tr>
</table>
- <p>La directive <code class="directive">Options</code> permet de définir
- les fonctionnalités de serveur disponibles pour un répertoire
+ <p>La directive <code class="directive">Options</code> permet de définir
+ les fonctionnalités de serveur disponibles pour un répertoire
particulier.</p>
- <p><var>option</var> peut être défini à <code>None</code>, auquel
- cas aucune fonctionnalité spécifique n'est activée, ou comprendre
+ <p><var>option</var> peut être défini à <code>None</code>, auquel
+ cas aucune fonctionnalité spécifique n'est activée, ou comprendre
une ou plusieurs des options suivantes :</p>
<dl>
<dt><code>All</code></dt>
- <dd>Toutes les options excepté <code>MultiViews</code>.</dd>
+ <dd>Toutes les options excepté <code>MultiViews</code>.</dd>
<dt><code>ExecCGI</code></dt>
- <dd>L'exécution de scripts CGI à l'aide du module
+ <dd>L'exécution de scripts CGI à l'aide du module
<code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> est permise.</dd>
<dt><code>FollowSymLinks</code></dt>
<dd>
- Le serveur va suivre les liens symboliques dans le répertoire
- concerné. Il s'agit de la valeur par défaut.
+ Le serveur va suivre les liens symboliques dans le répertoire
+ concerné. Il s'agit de la valeur par défaut.
<div class="note">
<p>Bien que le serveur suive les liens symboliques, il ne modifie
- <em>pas</em> le nom de chemin concerné défini par la section
+ <em>pas</em> le nom de chemin concerné défini par la section
<code class="directive"><a href="#directory"><Directory></a></code>.</p>
<p>Les options <code>FollowSymLinks</code> et
sections <code class="directive"><a href="#directory"><Directory></a></code> ou les fichiers
<code>.htaccess</code>.</p>
- <p>Le fait d'omettre cette option ne doit pas être considéré comme
- une mesure de sécurité efficace, car il existe toujours une
- situation de compétition (race condition) entre l'instant où l'on
- vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
+ <p>Le fait d'omettre cette option ne doit pas être considéré comme
+ une mesure de sécurité efficace, car il existe toujours une
+ situation de compétition (race condition) entre l'instant où l'on
+ vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
l'on utilise effectivement ce chemin.</p>
</div></dd>
<dt><code>Includes</code></dt>
<dd>
- Les inclusions côté serveur (SSI) à l'aide du module
- <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sont autorisées.</dd>
+ Les inclusions côté serveur (SSI) à l'aide du module
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sont autorisées.</dd>
<dt><code>IncludesNOEXEC</code></dt>
<dd>
- Les inclusions côté serveur (SSI) sont permises, mais <code>#exec
- cmd</code> et <code>#exec cgi</code> sont désactivés.
+ Les inclusions côté serveur (SSI) sont permises, mais <code>#exec
+ cmd</code> et <code>#exec cgi</code> sont désactivés.
L'utilisation de <code>#include virtual</code> pour les scripts
- CGI est cependant toujours possible depuis des répertoires
- définis par <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>.</dd>
+ CGI est cependant toujours possible depuis des répertoires
+ définis par <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>.</dd>
<dt><code>Indexes</code></dt>
<dd>
- Si une URL requise correspond au répertoire concerné, et si aucun
+ Si une URL requise correspond au répertoire concerné, et si aucun
<code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> (<em>par
- exemple</em> <code>index.html</code>) n'est défini pour ce
- répertoire, le module <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> va renvoyer
- un listing formaté du répertoire.</dd>
+ exemple</em> <code>index.html</code>) n'est défini pour ce
+ répertoire, le module <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> va renvoyer
+ un listing formaté du répertoire.</dd>
<dt><code>MultiViews</code></dt>
<dd>
- Les vues multiples ("multiviews") à <a href="../content-negotiation.html">contenu négocié</a> à l'aide du
- module <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> sont autorisées.
- <div class="note"><h3>Note</h3> <p>Cette option est ignorée si elle est
- définie en tout autre endroit qu'une section <code class="directive"><a href="#directory"><Directory></a></code>, car
- <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> a besoin de ressources réelles
- pour effectuer ses comparaisons et ses évaluations.</p></div>
+ Les vues multiples ("multiviews") à <a href="../content-negotiation.html">contenu négocié</a> à l'aide du
+ module <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> sont autorisées.
+ <div class="note"><h3>Note</h3> <p>Cette option est ignorée si elle est
+ définie en tout autre endroit qu'une section <code class="directive"><a href="#directory"><Directory></a></code>, car
+ <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> a besoin de ressources réelles
+ pour effectuer ses comparaisons et ses évaluations.</p></div>
</dd>
<dt><code>SymLinksIfOwnerMatch</code></dt>
<dd>Le serveur ne suivra que les liens symboliques qui renvoient
- vers un fichier ou un répertoire dont le propriétaire est le même
+ vers un fichier ou un répertoire dont le propriétaire est le même
que celui du lien.
<div class="note"><h3>Note</h3>
sections <code class="directive"><a href="#directory"><Directory></a></code> ou les fichiers
<code>.htaccess</code>.</p>
- <p>Le fait d'omettre cette option ne doit pas être considéré comme
- une mesure de sécurité efficace, car il existe toujours une
- situation de compétition (race condition) entre l'instant où l'on
- vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
+ <p>Le fait d'omettre cette option ne doit pas être considéré comme
+ une mesure de sécurité efficace, car il existe toujours une
+ situation de compétition (race condition) entre l'instant où l'on
+ vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
l'on utilise effectivement ce chemin.</p>
</div> </dd>
</dl>
<p>Normalement, si plusieurs directives
- <code class="directive">Options</code> peuvent s'appliquer à un répertoire,
- c'est la plus spécifique qui est utilisée et les autres sont
- ignorées ; les options ne sont pas fusionnées (voir <a href="../sections.html#merging">comment les sections sont
- fusionnées</a>). Elles le sont cependant si <em>toutes</em> les
+ <code class="directive">Options</code> peuvent s'appliquer à un répertoire,
+ c'est la plus spécifique qui est utilisée et les autres sont
+ ignorées ; les options ne sont pas fusionnées (voir <a href="../sections.html#merging">comment les sections sont
+ fusionnées</a>). Elles le sont cependant si <em>toutes</em> les
options de la directive <code class="directive">Options</code> sont
- précédées d'un symbole <code>+</code> ou <code>-</code>. Toute
- option précédée d'un <code>+</code> est ajoutée à la liste des
- options courantes de manière forcée et toute option précédée d'un
- <code>-</code> est supprimée de la liste des options courantes de la
- même manière.</p>
+ précédées d'un symbole <code>+</code> ou <code>-</code>. Toute
+ option précédée d'un <code>+</code> est ajoutée à la liste des
+ options courantes de manière forcée et toute option précédée d'un
+ <code>-</code> est supprimée de la liste des options courantes de la
+ même manière.</p>
<div class="note"><h3>Note</h3>
- <p>Mélanger des <code class="directive">Options</code> avec <code>+</code>
+ <p>Mélanger des <code class="directive">Options</code> avec <code>+</code>
ou <code>-</code> avec des <code class="directive">Options</code> sans
<code>+</code> ou <code>-</code> constitue une erreur de syntaxe, et
- la vérification de la syntaxe au cours du démarrage du serveur fera
- échouer ce dernier.</p>
+ la vérification de la syntaxe au cours du démarrage du serveur fera
+ échouer ce dernier.</p>
</div>
<p>Par exemple, sans aucun symbole <code>+</code> et <code>-</code>
<p>ici, seule l'option <code>Includes</code> sera prise en compte
- pour le répertoire <code>/web/docs/spec</code>. Par contre, si la
+ pour le répertoire <code>/web/docs/spec</code>. Par contre, si la
seconde directive <code class="directive">Options</code> utilise les
symboles <code>+</code> et <code>-</code> :</p>
<p>alors, les options <code>FollowSymLinks</code> et
- <code>Includes</code> seront prises en compte pour le répertoire
+ <code>Includes</code> seront prises en compte pour le répertoire
<code>/web/docs/spec</code>.</p>
<div class="note"><h3>Note</h3>
<p>L'utilisation de <code>-IncludesNOEXEC</code> ou
- <code>-Includes</code> désactive complètement les inclusions côté
- serveur sans tenir compte des définitions précédentes.</p>
+ <code>-Includes</code> désactive complètement les inclusions côté
+ serveur sans tenir compte des définitions précédentes.</p>
</div>
- <p>En l'absence de toute définition d'options, la valeur par défaut
+ <p>En l'absence de toute définition d'options, la valeur par défaut
est <code>FollowSymlinks</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="protocol" id="protocol">Directive</a> <a name="Protocol" id="Protocol">Protocol</a><a title="Lien permanent" href="#protocol" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Protocole pour une socket d'écoute</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Protocole pour une socket d'écoute</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Protocol <var>protocole</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Sous Windows, disponible à partir de la version 2.3.3 du
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Sous Windows, disponible à partir de la version 2.3.3 du
serveur HTTP Apache.</td></tr>
</table>
- <p>Cette directive permet de spécifier le protocole utilisé pour une
- socket d'écoute particulière. Le protocole sert à déterminer quel
- module doit traiter une requête, et d'appliquer les optimisations
- spécifiques au protocole via la directive
+ <p>Cette directive permet de spécifier le protocole utilisé pour une
+ socket d'écoute particulière. Le protocole sert à déterminer quel
+ module doit traiter une requête, et d'appliquer les optimisations
+ spécifiques au protocole via la directive
<code class="directive">AcceptFilter</code>.</p>
- <p>Vous ne devez définir le protocole que si vous travaillez avec
- des ports non standards ; dans le cas général, le protocole
- <code>http</code> est associé au port 80 et le protocole
+ <p>Vous ne devez définir le protocole que si vous travaillez avec
+ des ports non standards ; dans le cas général, le protocole
+ <code>http</code> est associé au port 80 et le protocole
<code>https</code> au port 443.</p>
<p>Par exemple, si vous travaillez avec le protocole
- <code>https</code> sur un port non standard, spécifiez le protocole
- de manière explicite :</p>
+ <code>https</code> sur un port non standard, spécifiez le protocole
+ de manière explicite :</p>
<pre class="prettyprint lang-config">Protocol https</pre>
- <p>Vous pouvez aussi spécifier le protocole via la directive
+ <p>Vous pouvez aussi spécifier le protocole via la directive
<code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p>
<h3>Voir aussi</h3>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Protocoles disponibles pour un serveur virtuel ou non</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Protocols <var>protocole</var> ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Protocols http/1.1</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Protocols http/1.1</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur
HTTP Apache.</td></tr>
</table>
- <p>Cette directive permet de spécifier la liste des protocoles
- supportés par un serveur virtuel ou non. Cette liste énumère les
- protocoles qu'un client sera autorisé à négocier avec ce
+ <p>Cette directive permet de spécifier la liste des protocoles
+ supportés par un serveur virtuel ou non. Cette liste énumère les
+ protocoles qu'un client sera autorisé à négocier avec ce
serveur.</p>
- <p>Par défaut,
+ <p>Par défaut,
seul le protocole http/1.1 est disponible (compatible avec les
- clients http/1.0 et http/0.9). Par conséquent, vous devez
- fournir cette liste si vous voulez étendre les protocoles
+ clients http/1.0 et http/0.9). Par conséquent, vous devez
+ fournir cette liste si vous voulez étendre les protocoles
disponibles pour le serveur.</p>
<p>Par exemple, si vous voulez autoriser le protocole
https et <code>h2c</code> pour les connexions http. D'autres
modules peuvent fournir d'autres protocoles.</p>
- <p>Spécifier des protocoles non disponibles ou désactivés n'aura
- aucun effet, et ceux-ci seront simplement ignorés.</p>
+ <p>Spécifier des protocoles non disponibles ou désactivés n'aura
+ aucun effet, et ceux-ci seront simplement ignorés.</p>
- <p>Si un serveur virtuel ne possède pas de directive Protocols
- propre, il hérite des protocoles spécifiés pour le serveur
- principal. Autrement dit, les directives Protocols définies au
- niveau d'un serveur virtuel remplacent celles définies au niveau
+ <p>Si un serveur virtuel ne possède pas de directive Protocols
+ propre, il hérite des protocoles spécifiés pour le serveur
+ principal. Autrement dit, les directives Protocols définies au
+ niveau d'un serveur virtuel remplacent celles définies au niveau
du serveur principal.
</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="protocolshonororder" id="protocolshonororder">Directive</a> <a name="ProtocolsHonorOrder" id="ProtocolsHonorOrder">ProtocolsHonorOrder</a><a title="Lien permanent" href="#protocolshonororder" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine qui du client ou du serveur détermine l'ordre
- des protocoles au cours de la négociation de la connexion</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine qui du client ou du serveur détermine l'ordre
+ des protocoles au cours de la négociation de la connexion</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProtocolsHonorOrder On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProtocolsHonorOrder On</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProtocolsHonorOrder On</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur
HTTP Apache.</td></tr>
</table>
- <p>Cette directive permet de définir si le serveur doit tenir
- compte de l'ordre des protocoles définis par la directive
+ <p>Cette directive permet de définir si le serveur doit tenir
+ compte de l'ordre des protocoles définis par la directive
<code class="directive">Protocols</code>.</p>
- <p>Si cette directive est définie à Off, l'ordre de la liste des
- protocoles fournie par le client l'emporte sur l'ordre défini
+ <p>Si cette directive est définie à Off, l'ordre de la liste des
+ protocoles fournie par le client l'emporte sur l'ordre défini
dans la configuration du serveur.</p>
<p>Si la directive <code class="directive">ProtocolsHonorOrder</code>
- est définie à <code>on</code> (valeur par défaut),
+ est définie à <code>on</code> (valeur par défaut),
il n'est pas tenu compte de l'ordre de la liste des protocoles
fournie par le client, et seul l'ordre de la liste des protocles
- définie au niveau du serveur influera la
- négociation du protocole.</p>
+ définie au niveau du serveur influera la
+ négociation du protocole.</p>
<h3>Voir aussi</h3>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="qualifyredirecturl" id="qualifyredirecturl">Directive</a> <a name="QualifyRedirectURL" id="QualifyRedirectURL">QualifyRedirectURL</a><a title="Lien permanent" href="#qualifyredirecturl" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie si la variable d'environnement REDIRECT_URL est
-pleinement qualifiée</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie si la variable d'environnement REDIRECT_URL est
+pleinement qualifiée</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>QualifyRedirectURL ON|OFF</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>QualifyRedirectURL OFF</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>QualifyRedirectURL OFF</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Directive supportée à partir de la version 2.4.18 du
-serveur HTTP Apache. Jusqu'à la version 2.4.17, le serveur se comportait
-comme si la directive QualifyRedirectURL était définie à ON.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Directive supportée à partir de la version 2.4.18 du
+serveur HTTP Apache. Jusqu'à la version 2.4.17, le serveur se comportait
+comme si la directive QualifyRedirectURL était définie à ON.</td></tr>
</table>
- <p>Cette directive permet de s'assurer que le serveur vérifiera que
+ <p>Cette directive permet de s'assurer que le serveur vérifiera que
la variable d'environnement REDIRECT_URL est bien pleinement
- qualifiée. Par défaut, cette variable contient l'URL textuellement
- demandée par le client, par exemple "/index.html". Avec <code class="directive"><a href="#qualifyredirecturl on">QualifyRedirectURL ON</a></code>, la même requête
- affectera à la variable REDIRECT_URL une valeur du style
+ qualifiée. Par défaut, cette variable contient l'URL textuellement
+ demandée par le client, par exemple "/index.html". Avec <code class="directive"><a href="#qualifyredirecturl on">QualifyRedirectURL ON</a></code>, la même requête
+ affectera à la variable REDIRECT_URL une valeur du style
"http://www.example.com/index.html".</p>
- <p>Même si cette directive n'est pas définie, lorsqu'une requête est
- soumise avec une URL pleinement qualifiée, la variable REDIRECT_URL
- contiendra quand-même une URL pleinement qualifiée.
+ <p>Même si cette directive n'est pas définie, lorsqu'une requête est
+ soumise avec une URL pleinement qualifiée, la variable REDIRECT_URL
+ contiendra quand-même une URL pleinement qualifiée.
</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="regexdefaultoptions" id="regexdefaultoptions">Directive</a> <a name="RegexDefaultOptions" id="RegexDefaultOptions">RegexDefaultOptions</a><a title="Lien permanent" href="#regexdefaultoptions" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration des options globales par défaut pour les
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration des options globales par défaut pour les
expressions rationnelles</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RegexDefaultOptions [none] [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>RegexDefaultOptions DOLLAR_ENDONLY</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>RegexDefaultOptions DOLLAR_ENDONLY</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>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.30 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.30 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Cette directive permet d'ajouter certains comportements par défaut à
- TOUTES les expressions rationnelles utilisées ultérieurement.</p>
+ <p>Cette directive permet d'ajouter certains comportements par défaut à
+ TOUTES les expressions rationnelles utilisées ultérieurement.</p>
- <p>Toute option précédée d'un '+' est ajoutée aux options déjà définies.<br />
- Toute option précédée d'un '-' est enlevée des options déjà définies.<br />
- Toute option non suffixée par '+' ou '-' sera définie et remplacera
- l'option correspondante éventuellement déjà définie.<br />
- Le mot-clé <code>none</code> annule toutes les options déjà définies.</p>
+ <p>Toute option précédée d'un '+' est ajoutée aux options déjà définies.<br />
+ Toute option précédée d'un '-' est enlevée des options déjà définies.<br />
+ Toute option non suffixée par '+' ou '-' sera définie et remplacera
+ l'option correspondante éventuellement déjà définie.<br />
+ Le mot-clé <code>none</code> annule toutes les options déjà définies.</p>
- <p><var>option</var> peut être :</p>
+ <p><var>option</var> peut être :</p>
<dl>
<dt><code>ICASE</code></dt>
- <dd>Utilise une recherche de correspondance insensible à la casse.</dd>
+ <dd>Utilise une recherche de correspondance insensible à la casse.</dd>
<dt><code>DOTALL</code></dt>
<dd>Le drapeau Perl /s.</dd>
<dt><code>DOLLAR_ENDONLY</code></dt>
- <dd>'$' n'est actif qu'à la fin de la chaîne de référence.</dd>
+ <dd>'$' n'est actif qu'à la fin de la chaîne de référence.</dd>
<dd>.</dd>
</dl>
<pre class="prettyprint lang-config">#
RegexDefaultOptions +ICASE +DOLLAR_ENDONLY
...
# Supprime l'option ICASE, tout en conservant toutes les autres options
-# préexistantes
+# préexistantes
RegexDefaultOptions -ICASE
...
-# Définit l'option par défaut à DOTALL et annule toutes les autres options
+# Définit l'option par défaut à DOTALL et annule toutes les autres options
RegexDefaultOptions DOTALL
...
-# Annule toutes les options définies
+# Annule toutes les options définies
RegexDefaultOptions none
...</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="registerhttpmethod" id="registerhttpmethod">Directive</a> <a name="RegisterHttpMethod" id="RegisterHttpMethod">RegisterHttpMethod</a><a title="Lien permanent" href="#registerhttpmethod" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistrement de méthodes HTTP non standards</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistrement de méthodes HTTP non standards</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RegisterHttpMethod <var>method</var> [<var>method</var> [...]]</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>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.24 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.24 du serveur HTTP Apache</td></tr>
</table>
-<p>Cette directive permet d'enregistrer des méthodes HTTP supplémentaires. Ceci
-s'avérera nécessaire si l'on doit utiliser des méthodes non standards avec des
-directives qui acceptent des noms de méthodes en paramètres, ou pour permettre
-l'utilisation de méthodes particulières non standards en passant par un serveur
-mandataire ou au sein de scripts CGI, et ceci alors que le serveur a été
-configuré pour ne transmettre que des méthodes reconnues aux modules.</p>
+<p>Cette directive permet d'enregistrer des méthodes HTTP supplémentaires. Ceci
+s'avérera nécessaire si l'on doit utiliser des méthodes non standards avec des
+directives qui acceptent des noms de méthodes en paramètres, ou pour permettre
+l'utilisation de méthodes particulières non standards en passant par un serveur
+mandataire ou au sein de scripts CGI, et ceci alors que le serveur a été
+configuré pour ne transmettre que des méthodes reconnues aux modules.</p>
<h3>Voir aussi</h3>
<ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="rlimitcpu" id="rlimitcpu">Directive</a> <a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a><a title="Lien permanent" href="#rlimitcpu" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le temps CPU alloué aux processus initiés par les
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le temps CPU alloué aux processus initiés par les
processus enfants d'Apache httpd</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitCPU <var>secondes</var>|max [<var>secondes</var>|max]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini ; utilise les valeurs par défaut du système
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini ; utilise les valeurs par défaut du système
d'exploitation</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
+ <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
consommation de ressources pour tous les processus, et le second la
- consommation de ressources maximale. Les deux paramètres peuvent
+ consommation de ressources maximale. Les deux paramètres peuvent
contenir soit un nombre, soit <code>max</code> pour indiquer au
- serveur que la limite de consommation correspond à la valeur
- maximale autorisée par la configuration du système d'exploitation.
+ serveur que la limite de consommation correspond à la valeur
+ maximale autorisée par la configuration du système d'exploitation.
Pour augmenter la consommation maximale de ressources, le serveur
- doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
- phase de démarrage.</p>
-
- <p>Cette directive s'applique aux processus initiés par les
- processus enfants d'Apache httpd qui traitent les requêtes, et non aux
- processus enfants eux-mêmes. Sont concernés les scripts CGI et les
- commandes exec des SSI, mais en aucun cas les processus initiés par
- le processus parent d'Apache httpd comme les journalisations redirigées
+ doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
+ phase de démarrage.</p>
+
+ <p>Cette directive s'applique aux processus initiés par les
+ processus enfants d'Apache httpd qui traitent les requêtes, et non aux
+ processus enfants eux-mêmes. Sont concernés les scripts CGI et les
+ commandes exec des SSI, mais en aucun cas les processus initiés par
+ le processus parent d'Apache httpd comme les journalisations redirigées
vers un programme.</p>
- <p>Les limites de ressources CPU sont exprimées en secondes par
+ <p>Les limites de ressources CPU sont exprimées en secondes par
processus.</p>
<h3>Voir aussi</h3>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="rlimitmem" id="rlimitmem">Directive</a> <a name="RLimitMEM" id="RLimitMEM">RLimitMEM</a><a title="Lien permanent" href="#rlimitmem" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite la mémoire allouée aux processus initiés par les
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite la mémoire allouée aux processus initiés par les
processus enfants d'Apache httpd</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitMEM <var>octets</var>|max [<var>octets</var>|max]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini ; utilise les valeurs par défaut du système
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini ; utilise les valeurs par défaut du système
d'exploitation</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
+ <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
consommation de ressources pour tous les processus, et le second la
- consommation de ressources maximale. Les deux paramètres peuvent
+ consommation de ressources maximale. Les deux paramètres peuvent
contenir soit un nombre, soit <code>max</code> pour indiquer au
- serveur que la limite de consommation correspond à la valeur
- maximale autorisée par la configuration du système d'exploitation.
+ serveur que la limite de consommation correspond à la valeur
+ maximale autorisée par la configuration du système d'exploitation.
Pour augmenter la consommation maximale de ressources, le serveur
- doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
- phase de démarrage.</p>
-
- <p>Cette directive s'applique aux processus initiés par les
- processus enfants d'Apache httpd qui traitent les requêtes, et non aux
- processus enfants eux-mêmes. Sont concernés les scripts CGI et les
- commandes exec des SSI, mais en aucun cas les processus initiés par
- le processus parent d'Apache httpd comme les journalisations redirigées
+ doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
+ phase de démarrage.</p>
+
+ <p>Cette directive s'applique aux processus initiés par les
+ processus enfants d'Apache httpd qui traitent les requêtes, et non aux
+ processus enfants eux-mêmes. Sont concernés les scripts CGI et les
+ commandes exec des SSI, mais en aucun cas les processus initiés par
+ le processus parent d'Apache httpd comme les journalisations redirigées
vers un programme.</p>
- <p>Les limites de ressources mémoire sont exprimées en octets par
+ <p>Les limites de ressources mémoire sont exprimées en octets par
processus.</p>
<h3>Voir aussi</h3>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="rlimitnproc" id="rlimitnproc">Directive</a> <a name="RLimitNPROC" id="RLimitNPROC">RLimitNPROC</a><a title="Lien permanent" href="#rlimitnproc" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de processus qui peuvent être initiés par
-les processus initiés par les processus enfants d'Apache httpd</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de processus qui peuvent être initiés par
+les processus initiés par les processus enfants d'Apache httpd</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitNPROC <var>nombre</var>|max [<var>nombre</var>|max]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Unset; uses operating system defaults</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#Default">Défaut:</a></th><td><code>Unset; uses operating system defaults</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">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
+ <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
consommation de ressources pour tous les processus, et le second la
- consommation de ressources maximale. Les deux paramètres peuvent
+ consommation de ressources maximale. Les deux paramètres peuvent
contenir soit un nombre, soit <code>max</code> pour indiquer au
- serveur que la limite de consommation correspond à la valeur
- maximale autorisée par la configuration du système d'exploitation.
+ serveur que la limite de consommation correspond à la valeur
+ maximale autorisée par la configuration du système d'exploitation.
Pour augmenter la consommation maximale de ressources, le serveur
- doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
- phase de démarrage.</p>
-
- <p>Cette directive s'applique aux processus initiés par les
- processus enfants d'Apache httpd qui traitent les requêtes, et non aux
- processus enfants eux-mêmes. Sont concernés les scripts CGI et les
- commandes exec des SSI, mais en aucun cas les processus initiés par
- le processus parent d'Apache httpd comme les journalisations redirigées
+ doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
+ phase de démarrage.</p>
+
+ <p>Cette directive s'applique aux processus initiés par les
+ processus enfants d'Apache httpd qui traitent les requêtes, et non aux
+ processus enfants eux-mêmes. Sont concernés les scripts CGI et les
+ commandes exec des SSI, mais en aucun cas les processus initiés par
+ le processus parent d'Apache httpd comme les journalisations redirigées
vers un programme.</p>
- <p>Les limites des processus contrôlent le nombre de processus par
+ <p>Les limites des processus contrôlent le nombre de processus par
utilisateur.</p>
<div class="note"><h3>Note</h3>
- <p>Si les processus CGI s'exécutent sous le même
+ <p>Si les processus CGI s'exécutent sous le même
utilisateur que celui du serveur web, cette
directive va limiter le nombre de processus que le serveur
- pourra lui-même créer. La présence de messages
+ pourra lui-même créer. La présence de messages
<strong><code>cannot fork</code></strong> dans le journal des
erreurs indiquera que la limite est atteinte.</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="scriptinterpretersource" id="scriptinterpretersource">Directive</a> <a name="ScriptInterpreterSource" id="ScriptInterpreterSource">ScriptInterpreterSource</a><a title="Lien permanent" href="#scriptinterpretersource" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet de localiser l'interpréteur des scripts
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet de localiser l'interpréteur des scripts
CGI</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptInterpreterSource Registry|Registry-Strict|Script</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScriptInterpreterSource Script</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#Default">Défaut:</a></th><td><code>ScriptInterpreterSource Script</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">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Win32 seulement</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Win32 seulement</td></tr>
</table>
- <p>Cette directive permet de contrôler la méthode qu'utilise Apache
- httpd pour trouver l'interpréteur destiné à exécuter les scripts CGI. La
- définition par défaut est <code>Script</code> : ceci indique à
- Apache httpd qu'il doit utiliser l'interpréteur précisé dans la ligne
- shebang du script (la première ligne, commençant par
- <code>#!</code>). Sur les systèmes Win32, cette ligne ressemble
- souvent à ceci :</p>
+ <p>Cette directive permet de contrôler la méthode qu'utilise Apache
+ httpd pour trouver l'interpréteur destiné à exécuter les scripts CGI. La
+ définition par défaut est <code>Script</code> : ceci indique à
+ Apache httpd qu'il doit utiliser l'interpréteur précisé dans la ligne
+ shebang du script (la première ligne, commençant par
+ <code>#!</code>). Sur les systèmes Win32, cette ligne ressemble
+ souvent à ceci :</p>
<pre class="prettyprint lang-perl">#!C:/Perl/bin/perl.exe</pre>
- <p>ou simplement, dans le cas où <code>perl</code> est dans le
+ <p>ou simplement, dans le cas où <code>perl</code> est dans le
<code>PATH</code> :</p>
<pre class="prettyprint lang-perl">#!perl</pre>
<p>Avec <code>ScriptInterpreterSource Registry</code>, Windows va
effectuer une recherche dans l'arborescence
<code>HKEY_CLASSES_ROOT</code> de la base de registre avec comme
- mot-clé l'extension du fichier contenant le script (par exemple
- <code>.pl</code>). C'est la commande définie par la sous-clé de
+ mot-clé l'extension du fichier contenant le script (par exemple
+ <code>.pl</code>). C'est la commande définie par la sous-clé de
registre <code>Shell\ExecCGI\Command</code> ou, si elle n'existe
- pas, la sous-clé <code>Shell\Open\Command</code> qui est utilisée
- pour ouvrir le fichier du script. Si ces clés de registre ne sont
- pas trouvées, Apache httpd utilise la méthode de l'option
+ pas, la sous-clé <code>Shell\Open\Command</code> qui est utilisée
+ pour ouvrir le fichier du script. Si ces clés de registre ne sont
+ pas trouvées, Apache httpd utilise la méthode de l'option
<code>Script</code>.</p>
- <div class="warning"><h3>Sécurité</h3>
+ <div class="warning"><h3>Sécurité</h3>
<p>Soyez prudent si vous utilisez <code>ScriptInterpreterSource
- Registry</code> avec des répertoires faisant l'objet d'un <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>, car Apache httpd va essayer
- d'exécuter <strong>tous</strong> les fichiers contenus dans
+ Registry</code> avec des répertoires faisant l'objet d'un <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>, car Apache httpd va essayer
+ d'exécuter <strong>tous</strong> les fichiers contenus dans
celui-ci. L'option <code>Registry</code> peut causer des appels de
- programmes non voulus sur des fichiers non destinés à être exécutés.
- Par exemple, la commande par défaut open sur les fichiers
- <code>.htm</code> sur la plupart des systèmes Windows va lancer
- Microsoft Internet Explorer ; ainsi, toute requête HTTP pour un
- fichier <code>.htm</code> situé dans le répertoire des scripts
- va lancer le navigateur en arrière-plan sur le serveur, ce qui a
- toutes les chances de crasher votre système dans les minutes qui
+ programmes non voulus sur des fichiers non destinés à être exécutés.
+ Par exemple, la commande par défaut open sur les fichiers
+ <code>.htm</code> sur la plupart des systèmes Windows va lancer
+ Microsoft Internet Explorer ; ainsi, toute requête HTTP pour un
+ fichier <code>.htm</code> situé dans le répertoire des scripts
+ va lancer le navigateur en arrière-plan sur le serveur, ce qui a
+ toutes les chances de crasher votre système dans les minutes qui
suivent.</p>
</div>
<p>L'option <code>Registry-Strict</code>, apparue avec la version
2.0 du serveur HTTP Apache,
- agit de manière identique à <code>Registry</code>, mais n'utilise
- que la sous-clé <code>Shell\ExecCGI\Command</code>. La présence de
- la clé <code>ExecCGI</code> n'étant pas systématique, Elle doit être
- définie manuellement dans le registre Windows et évite ainsi tout
- appel de programme accidentel sur votre système.</p>
+ agit de manière identique à <code>Registry</code>, mais n'utilise
+ que la sous-clé <code>Shell\ExecCGI\Command</code>. La présence de
+ la clé <code>ExecCGI</code> n'étant pas systématique, Elle doit être
+ définie manuellement dans le registre Windows et évite ainsi tout
+ appel de programme accidentel sur votre système.</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="seerequesttail" id="seerequesttail">Directive</a> <a name="SeeRequestTail" id="SeeRequestTail">SeeRequestTail</a><a title="Lien permanent" href="#seerequesttail" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si mod_status affiche les 63 premiers caractères
-d'une requête ou les 63 derniers, en supposant que la requête
-elle-même possède plus de 63 caractères.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si mod_status affiche les 63 premiers caractères
+d'une requête ou les 63 derniers, en supposant que la requête
+elle-même possède plus de 63 caractères.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SeeRequestTail On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SeeRequestTail Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SeeRequestTail Off</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>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>Avec <code>ExtendedStatus On</code>, mod_status affiche la
- véritable requête en cours de traitement. Pour des raisons
- historiques, seuls 63 caractères de la requête sont réellement
- stockés à des fins d'affichage. Cette directive permet de déterminer
- si ce sont les 63 premiers caractères qui seront stockés (c'est le
- comportement par défaut),
+ véritable requête en cours de traitement. Pour des raisons
+ historiques, seuls 63 caractères de la requête sont réellement
+ stockés à des fins d'affichage. Cette directive permet de déterminer
+ si ce sont les 63 premiers caractères qui seront stockés (c'est le
+ comportement par défaut),
ou si ce sont les 63 derniers. Ceci ne s'applique bien entendu que
- si la taille de la requête est de 64 caractères ou plus.</p>
+ si la taille de la requête est de 64 caractères ou plus.</p>
- <p>Si Apache httpd traite la requête <code>GET /disque1/stockage/apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1</code>
- , l'affichage de la requête par mod_status se présentera comme suit :
+ <p>Si Apache httpd traite la requête <code>GET /disque1/stockage/apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1</code>
+ , l'affichage de la requête par mod_status se présentera comme suit :
</p>
<table class="bordered">
<tr>
- <th>Off (défaut)</th>
+ <th>Off (défaut)</th>
<td>GET /disque1/stockage/apache/htdocs/images/rep-images1/nourritu</td>
</tr>
<tr>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="serveradmin" id="serveradmin">Directive</a> <a name="ServerAdmin" id="ServerAdmin">ServerAdmin</a><a title="Lien permanent" href="#serveradmin" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'adresse électronique que le serveur inclut dans les
-messages d'erreur envoyés au client</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerAdmin <var>adresse électronique</var>|<var>URL</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'adresse électronique que le serveur inclut dans les
+messages d'erreur envoyés au client</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerAdmin <var>adresse électronique</var>|<var>URL</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>La directive <code class="directive">ServerAdmin</code> permet de définir
+ <p>La directive <code class="directive">ServerAdmin</code> permet de définir
l'adresse de contact que le serveur va inclure dans tout message
d'erreur qu'il envoie au client. Si le programme <code>httpd</code>
ne reconnait pas l'argument fourni comme une URL, il suppose que
- c'est une <var>adresse électronique</var>, et lui ajoute le préfixe
+ c'est une <var>adresse électronique</var>, et lui ajoute le préfixe
<code>mailto:</code> dans les cibles des hyperliens. Il est
- cependant recommandé d'utiliser exclusivement une adresse
- électronique, car de nombreux scripts CGI considèrent ceci comme
+ cependant recommandé d'utiliser exclusivement une adresse
+ électronique, car de nombreux scripts CGI considèrent ceci comme
implicite. Si vous utilisez une URL, elle doit pointer vers un autre
- serveur que vous contrôlez. Dans le cas contraire, les utilisateurs
- seraient dans l'impossibilité de vous contacter en cas de problème.</p>
+ serveur que vous contrôlez. Dans le cas contraire, les utilisateurs
+ seraient dans l'impossibilité de vous contacter en cas de problème.</p>
- <p>Il peut s'avérer utile de définir une adresse dédiée à
+ <p>Il peut s'avérer utile de définir une adresse dédiée à
l'administration du serveur, par exemple :</p>
<pre class="prettyprint lang-config">ServerAdmin www-admin@foo.example.com</pre>
- <p>car les utilisateurs ne mentionnent pas systématiquement le
+ <p>car les utilisateurs ne mentionnent pas systématiquement le
serveur dont ils parlent !</p>
</div>
<div class="directive-section"><h2><a name="serveralias" id="serveralias">Directive</a> <a name="ServerAlias" id="ServerAlias">ServerAlias</a><a title="Lien permanent" href="#serveralias" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Autres noms d'un serveur utilisables pour atteindre des
-serveurs virtuels à base de nom</td></tr>
+serveurs virtuels à base de nom</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerAlias <var>nom serveur</var> [<var>nom serveur</var>]
...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>La directive <code class="directive">ServerAlias</code> permet de définir
- les noms alternatifs d'un serveur utilisables pour atteindre des <a href="../vhosts/name-based.html">serveurs virtuels à base de
+ <p>La directive <code class="directive">ServerAlias</code> permet de définir
+ les noms alternatifs d'un serveur utilisables pour atteindre des <a href="../vhosts/name-based.html">serveurs virtuels à base de
nom</a>. La directive <code class="directive">ServerAlias</code> peut
- contenir des caractères génériques, si nécessaire.</p>
+ contenir des caractères génériques, si nécessaire.</p>
<pre class="prettyprint lang-config"><VirtualHost *:80>
ServerName server.example.com
# ...
</VirtualHost></pre>
- <p>La recherche du serveur virtuel à base de nom correspondant au
- plus près à la requête s'effectue selon l'ordre d'apparition des
+ <p>La recherche du serveur virtuel à base de nom correspondant au
+ plus près à la requête s'effectue selon l'ordre d'apparition des
directives <code class="directive"><a href="#virtualhost"><virtualhost></a></code> dans le fichier de
configuration. Le premier serveur virtuel dont le <code class="directive"><a href="#servername">ServerName</a></code> ou le <code class="directive"><a href="#serveralias">ServerAlias</a></code> correspond est choisi, sans
- priorité particulière si le nom contient des caractères génériques
+ priorité particulière si le nom contient des caractères génériques
(que ce soit pour ServerName ou ServerAlias).</p>
- <p>Tous les noms spécifiés au sein d'une section
- <code class="directive"><a href="#virtualhost"><VirtualHost></a></code> sont traités comme un
+ <p>Tous les noms spécifiés au sein d'une section
+ <code class="directive"><a href="#virtualhost"><VirtualHost></a></code> sont traités comme un
<code class="directive"><a href="#serveralias"><ServerAlias></a></code>
- (sans caractères génériques).</p>
+ (sans caractères génériques).</p>
<h3>Voir aussi</h3>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="servername" id="servername">Directive</a> <a name="ServerName" id="ServerName">ServerName</a><a title="Lien permanent" href="#servername" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom d'hôte et port que le serveur utilise pour
-s'authentifier lui-même</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom d'hôte et port que le serveur utilise pour
+s'authentifier lui-même</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerName
[<var>protocole</var>://]<var>nom-de-domaine</var>|<var>adresse-ip</var>[:<var>port</var>]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>La directive <code class="directive">ServerName</code> permet de définir
- les protocole, nom d'hôte et port d'une requête que le serveur
- utilise pour s'authentifier lui-même.</p>
+ <p>La directive <code class="directive">ServerName</code> permet de définir
+ les protocole, nom d'hôte et port d'une requête que le serveur
+ utilise pour s'authentifier lui-même.</p>
<p>La directive <code class="directive">ServerName</code> permet
- (éventuellement en conjonction avec la directive
- <code class="directive"><a href="#serveralias">ServerAlias</a></code>) d'identifier de manière unique
- un serveur virtuel, lorsqu'elle est utilisée dans un contexte de <a href="../vhosts/name-based.html">serveurs virtuels à base de
+ (éventuellement en conjonction avec la directive
+ <code class="directive"><a href="#serveralias">ServerAlias</a></code>) d'identifier de manière unique
+ un serveur virtuel, lorsqu'elle est utilisée dans un contexte de <a href="../vhosts/name-based.html">serveurs virtuels à base de
noms</a>.</p>
- <p>Cette directive est aussi utilisée lors de la création d'URLs de
+ <p>Cette directive est aussi utilisée lors de la création d'URLs de
redirection relatives quand la directive
- <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> est définie à une valeur autre que
- la valeur par défaut.</p>
+ <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> est définie à une valeur autre que
+ la valeur par défaut.</p>
<p>Par exemple, si le nom de la
- machine hébergeant le serveur web est
- <code>simple.example.com</code>, la machine possède l'alias
+ machine hébergeant le serveur web est
+ <code>simple.example.com</code>, la machine possède l'alias
DNS <code>www.example.com</code>, et si vous voulez que le serveur
- web s'identifie avec cet alias, vous devez utilisez la définition
+ web s'identifie avec cet alias, vous devez utilisez la définition
suivante :</p>
<pre class="prettyprint lang-config">ServerName www.example.com</pre>
- <p>La directive <code class="directive">ServerName</code> peut apparaître à
- toutes les étapes de la définition du serveur. Toute occurrence
- annule cependant la précédente (pour ce serveur).</p>
+ <p>La directive <code class="directive">ServerName</code> peut apparaître à
+ toutes les étapes de la définition du serveur. Toute occurrence
+ annule cependant la précédente (pour ce serveur).</p>
<p>Si la directive <code class="directive">ServerName</code> n'est pas
- définie, le serveur tente de déterminer le nom
- d'hôte visible du point de vue du client en demandant tout d'abord au
- système d'exploitation le nom d'hôte système, et en cas d'échec, en effectuant
- une recherche DNS inverse sur une adresse IP présente sur le système.</p>
+ définie, le serveur tente de déterminer le nom
+ d'hôte visible du point de vue du client en demandant tout d'abord au
+ système d'exploitation le nom d'hôte système, et en cas d'échec, en effectuant
+ une recherche DNS inverse sur une adresse IP présente sur le système.</p>
<p>Si la directive
- <code class="directive">ServerName</code> ne précise pas de port, le serveur
- utilisera celui de la requête entrante. Il est recommandé de
- spécifier un nom d'hôte et un port spécifiques à l'aide de la
- directive <code class="directive">ServerName</code> pour une fiabilité
- optimale et à titre préventif.</p>
-
- <p>Si vous définissez des <a href="../vhosts/name-based.html">serveurs virtuels à base de
- nom</a>, une directive <code class="directive">ServerName</code> située à
- l'intérieur d'une section <code class="directive"><a href="#virtualhost"><VirtualHost></a></code> spécifiera quel nom d'hôte
- doit apparaître dans l'en-tête de requête <code>Host:</code> pour
+ <code class="directive">ServerName</code> ne précise pas de port, le serveur
+ utilisera celui de la requête entrante. Il est recommandé de
+ spécifier un nom d'hôte et un port spécifiques à l'aide de la
+ directive <code class="directive">ServerName</code> pour une fiabilité
+ optimale et à titre préventif.</p>
+
+ <p>Si vous définissez des <a href="../vhosts/name-based.html">serveurs virtuels à base de
+ nom</a>, une directive <code class="directive">ServerName</code> située à
+ l'intérieur d'une section <code class="directive"><a href="#virtualhost"><VirtualHost></a></code> spécifiera quel nom d'hôte
+ doit apparaître dans l'en-tête de requête <code>Host:</code> pour
pouvoir atteindre ce serveur virtuel.</p>
- <p>Parfois, le serveur s'exécute en amont d'un dispositif qui
- implémente SSL, comme un mandataire inverse, un répartiteur de
- charge ou un boîtier dédié SSL. Dans ce cas, spécifiez le protocole
+ <p>Parfois, le serveur s'exécute en amont d'un dispositif qui
+ implémente SSL, comme un mandataire inverse, un répartiteur de
+ charge ou un boîtier dédié SSL. Dans ce cas, spécifiez le protocole
<code>https://</code> et le port auquel les clients se connectent
dans la directive <code class="directive">ServerName</code>, afin de
- s'assurer que le serveur génère correctement ses URLs
+ s'assurer que le serveur génère correctement ses URLs
d'auto-identification.
</p>
<p>Voir la description des directives <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> et <code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code> pour les
- définitions qui permettent de déterminer si les URLs
+ définitions qui permettent de déterminer si les URLs
auto-identifiantes (par exemple via le module
- <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>) vont faire référence au port spécifié, ou
- au port indiqué dans la requête du client.
+ <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>) vont faire référence au port spécifié, ou
+ au port indiqué dans la requête du client.
</p>
<div class="warning">
<p>Si la valeur de la directive <code class="directive">ServerName</code> ne
- peut pas être résolue en adresse IP, le démarrage du serveur
+ peut pas être résolue en adresse IP, le démarrage du serveur
provoquera un avertissement. <code>httpd</code> va alors utiliser le
- résultat de la commande système <code>hostname</code> pour
- déterminer le nom du serveur, ce qui ne correspondra pratiquement
- jamais au nom de serveur que vous souhaitez réellement.</p>
+ résultat de la commande système <code>hostname</code> pour
+ déterminer le nom du serveur, ce qui ne correspondra pratiquement
+ jamais au nom de serveur que vous souhaitez réellement.</p>
<div class="example"><p><code>
httpd: Could not reliably determine the server's fully qualified domain name, using rocinante.local for ServerName
</code></p></div>
<h3>Voir aussi</h3>
<ul>
-<li><a href="../dns-caveats.html">Problèmes concernant le DNS et
+<li><a href="../dns-caveats.html">Problèmes concernant le DNS et
le serveur HTTP Apache</a></li>
<li><a href="../vhosts/">Documentation sur les serveurs virtuels
du serveur HTTP Apache</a></li>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="serverpath" id="serverpath">Directive</a> <a name="ServerPath" id="ServerPath">ServerPath</a><a title="Lien permanent" href="#serverpath" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de chemin d'URL hérité pour un serveur virtuel à base
-de nom accédé par un navigateur incompatible</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de chemin d'URL hérité pour un serveur virtuel à base
+de nom accédé par un navigateur incompatible</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerPath <var>chemin d'URL</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>La directive <code class="directive">ServerPath</code> permet de définir
- le nom de chemin d'URL hérité d'un hôte, à utiliser avec les <a href="../vhosts/">serveurs virtuels à base de nom</a>.</p>
+ <p>La directive <code class="directive">ServerPath</code> permet de définir
+ le nom de chemin d'URL hérité d'un hôte, à utiliser avec les <a href="../vhosts/">serveurs virtuels à base de nom</a>.</p>
<h3>Voir aussi</h3>
<ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="serverroot" id="serverroot">Directive</a> <a name="ServerRoot" id="ServerRoot">ServerRoot</a><a title="Lien permanent" href="#serverroot" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Racine du répertoire d'installation du
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Racine du répertoire d'installation du
serveur</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerRoot <var>chemin de répertoire</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerRoot /usr/local/apache</code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerRoot <var>chemin de répertoire</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerRoot /usr/local/apache</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>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>La directive <code class="directive">ServerRoot</code> permet de définir
- le répertoire dans lequel le serveur est installé. En particulier,
- il contiendra les sous-répertoires <code>conf/</code> et
- <code>logs/</code>. Les chemins relatifs indiqués dans les autres
- directives (comme <code class="directive"><a href="#include">Include</a></code> ou <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>) seront définis par
- rapport à ce répertoire.</p>
+ <p>La directive <code class="directive">ServerRoot</code> permet de définir
+ le répertoire dans lequel le serveur est installé. En particulier,
+ il contiendra les sous-répertoires <code>conf/</code> et
+ <code>logs/</code>. Les chemins relatifs indiqués dans les autres
+ directives (comme <code class="directive"><a href="#include">Include</a></code> ou <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>) seront définis par
+ rapport à ce répertoire.</p>
<pre class="prettyprint lang-config">ServerRoot "/home/httpd"</pre>
- <p>La valeur par défaut de <code class="directive">ServerRoot</code> peut
- être modifiée via l'argument <code>--prefix</code> de la commande <a href="../programs/configure.html"><code>configure</code></a>, et de
+ <p>La valeur par défaut de <code class="directive">ServerRoot</code> peut
+ être modifiée via l'argument <code>--prefix</code> de la commande <a href="../programs/configure.html"><code>configure</code></a>, et de
nombreuses distributions tierces du serveur proposent une valeur
- différente de celles listées ci-dessus.</p>
+ différente de celles listées ci-dessus.</p>
<h3>Voir aussi</h3>
<ul>
<li><a href="../invoking.html">the <code>-d</code>
options de <code>httpd</code></a></li>
-<li><a href="../misc/security_tips.html#serverroot">les conseils à
-propos de sécurité</a> pour des informations sur la manière de définir
-correctement les permissions sur le répertoire indiqué par la directive
+<li><a href="../misc/security_tips.html#serverroot">les conseils à
+propos de sécurité</a> pour des informations sur la manière de définir
+correctement les permissions sur le répertoire indiqué par la directive
<code class="directive">ServerRoot</code></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="serversignature" id="serversignature">Directive</a> <a name="ServerSignature" id="ServerSignature">ServerSignature</a><a title="Lien permanent" href="#serversignature" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit un pied de page pour les documents générés par le
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit un pied de page pour les documents générés par le
serveur</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerSignature On|Off|EMail</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerSignature Off</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#Default">Défaut:</a></th><td><code>ServerSignature Off</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">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>La directive <code class="directive">ServerSignature</code> permet de
- définir une ligne de pied de page fixe pour les documents générés
- par le serveur (messages d'erreur, listings de répertoires ftp de
+ définir une ligne de pied de page fixe pour les documents générés
+ par le serveur (messages d'erreur, listings de répertoires ftp de
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, sorties de <code class="module"><a href="../mod/mod_info.html">mod_info</a></code>,
- etc...). Dans le cas d'une chaîne de mandataires, l'utilisateur n'a
- souvent aucun moyen de déterminer lequel des mandataires chaînés a
- généré un message d'erreur, et c'est une des raisons pour lesquelles
- on peut être amené à ajouter un tel pied de page.</p>
+ etc...). Dans le cas d'une chaîne de mandataires, l'utilisateur n'a
+ souvent aucun moyen de déterminer lequel des mandataires chaînés a
+ généré un message d'erreur, et c'est une des raisons pour lesquelles
+ on peut être amené à ajouter un tel pied de page.</p>
- <p>La valeur par défaut <code>Off</code> supprime la ligne de pied
+ <p>La valeur par défaut <code>Off</code> supprime la ligne de pied
de page (et est ainsi compatible avec le comportement des
- versions 1.2 et antérieures d'Apache). la valeur <code>On</code>
- ajoute simplement une ligne contenant le numéro de version du
+ versions 1.2 et antérieures d'Apache). la valeur <code>On</code>
+ ajoute simplement une ligne contenant le numéro de version du
serveur ainsi que le nom du serveur virtuel issu de la directive
<code class="directive"><a href="#servername">ServerName</a></code>, alors que la valeur
- <code>EMail</code> ajoute en plus une référence "mailto:" à
- l'administrateur du document référencé issu la directive
+ <code>EMail</code> ajoute en plus une référence "mailto:" à
+ l'administrateur du document référencé issu la directive
<code class="directive"><a href="#serveradmin">ServerAdmin</a></code>.</p>
- <p>Après la version 2.0.44, les détails à propos du numéro de
- version du serveur sont contrôlés à l'aide de la directive
+ <p>Après la version 2.0.44, les détails à propos du numéro de
+ version du serveur sont contrôlés à l'aide de la directive
<code class="directive"><a href="#servertokens">ServerTokens</a></code>.</p>
<h3>Voir aussi</h3>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="servertokens" id="servertokens">Directive</a> <a name="ServerTokens" id="ServerTokens">ServerTokens</a><a title="Lien permanent" href="#servertokens" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure l'en-tête <code>Server</code> de la réponse
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure l'en-tête <code>Server</code> de la réponse
HTTP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerTokens Full</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerTokens Full</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>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Cette directive permet de contrôler le contenu de l'en-tête
- <code>Server</code> inclus dans la réponse envoyée au client : cet
- en-tête peut contenir le type de système d'exploitation du serveur,
- ainsi que des informations à propos des modules compilés avec le
+ <p>Cette directive permet de contrôler le contenu de l'en-tête
+ <code>Server</code> inclus dans la réponse envoyée au client : cet
+ en-tête peut contenir le type de système d'exploitation du serveur,
+ ainsi que des informations à propos des modules compilés avec le
serveur.</p>
<dl>
- <dt><code>ServerTokens Full</code> (ou non spécifié)</dt>
+ <dt><code>ServerTokens Full</code> (ou non spécifié)</dt>
<dd>Le serveur envoie par exemple : <code>Server: Apache/2.4.2
(Unix) PHP/4.2.2 MyMod/1.2</code></dd>
</dl>
- <p>Cette définition s'applique à l'ensemble du serveur et ne peut
- être activée ou désactivée pour tel ou tel serveur virtuel.</p>
+ <p>Cette définition s'applique à l'ensemble du serveur et ne peut
+ être activée ou désactivée pour tel ou tel serveur virtuel.</p>
- <p>Dans les versions postérieures à 2.0.44, cette directive contrôle
+ <p>Dans les versions postérieures à 2.0.44, cette directive contrôle
aussi les informations fournies par la directive <code class="directive"><a href="#serversignature">ServerSignature</a></code>.</p>
- <div class="note">Définir <code class="directive">ServerTokens</code> à une
- valeur inférieure à <code>minimal</code> n'est pas
- recommandé car le débogage des problèmes
- interopérationnels n'en sera alors que plus difficile. Notez
- aussi que la désactivation de l'en-tête Server:
- n'améliore en rien la sécurité de votre
- serveur ; le concept de "sécurité par
- l'obscurité" est un mythe et conduit à
- une mauvaise perception de ce qu'est la sécurité.</div>
+ <div class="note">Définir <code class="directive">ServerTokens</code> à une
+ valeur inférieure à <code>minimal</code> n'est pas
+ recommandé car le débogage des problèmes
+ interopérationnels n'en sera alors que plus difficile. Notez
+ aussi que la désactivation de l'en-tête Server:
+ n'améliore en rien la sécurité de votre
+ serveur ; le concept de "sécurité par
+ l'obscurité" est un mythe et conduit à
+ une mauvaise perception de ce qu'est la sécurité.</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sethandler" id="sethandler">Directive</a> <a name="SetHandler" id="SetHandler">SetHandler</a><a title="Lien permanent" href="#sethandler" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force le traitement des fichiers spécifiés par un
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force le traitement des fichiers spécifiés par un
gestionnaire particulier</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetHandler <var>handler-name</var>|none|<var>expression</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5 du serveur HTTP Apache</td></tr>
</table>
- <p>Lorsqu'elle se situe à l'intérieur d'un fichier
+ <p>Lorsqu'elle se situe à l'intérieur d'un fichier
<code>.htaccess</code>, ou d'une section <code class="directive"><a href="#directory"><Directory></a></code> ou <code class="directive"><a href="#location"><Location></a></code>, cette directive force le
- traitement de tous les fichiers spécifiés par le <a href="../handler.html">gestionnaire</a> défini par l'argument
+ traitement de tous les fichiers spécifiés par le <a href="../handler.html">gestionnaire</a> défini par l'argument
<var>nom gestionnaire</var>. Par exemple, dans le cas d'un
- répertoire dont vous voulez interpréter le contenu comme des
- fichiers de règles d'images cliquables, sans tenir compte des
+ répertoire dont vous voulez interpréter le contenu comme des
+ fichiers de règles d'images cliquables, sans tenir compte des
extensions, vous pouvez ajouter la ligne suivante dans un fichier
- <code>.htaccess</code> de ce répertoire :</p>
+ <code>.htaccess</code> de ce répertoire :</p>
<pre class="prettyprint lang-config">SetHandler imap-file</pre>
<p>Autre exemple : si vous voulez que le serveur affiche un
- compte-rendu d'état chaque fois qu'une URL du type <code>http://nom
- serveur/status</code> est appelée, vous pouvez ajouter ceci dans
+ compte-rendu d'état chaque fois qu'une URL du type <code>http://nom
+ serveur/status</code> est appelée, vous pouvez ajouter ceci dans
<code>httpd.conf</code> :</p>
<pre class="prettyprint lang-config"><Location "/status">
<p>Vous pouvez aussi utiliser cette directive pour associer un
- gestionnaire à des fichiers possèdant une extension de nom de
- fichier particulière. Par exemple :</p>
+ gestionnaire à des fichiers possèdant une extension de nom de
+ fichier particulière. Par exemple :</p>
<pre class="prettyprint lang-config"><FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch></pre>
- <p>On peut utiliser des expressions ayant pour valeur des chaînes pour
- référencer des variables spécifiques à une requête, y compris les
- références arrières vers des expressions rationnelles nommées :</p>
+ <p>On peut utiliser des expressions ayant pour valeur des chaînes pour
+ référencer des variables spécifiques à une requête, y compris les
+ références arrières vers des expressions rationnelles nommées :</p>
<pre class="prettyprint lang-config"><LocationMatch ^/app/(?<sub>[^/]+)/>
SetHandler "proxy:unix:/var/run/app_%{env:MATCH_sub}.sock|fcgi://localhost:8080"
</LocationMatch></pre>
- <p>Vous pouvez écraser la définition antérieure d'une directive
+ <p>Vous pouvez écraser la définition antérieure d'une directive
<code class="directive">SetHandler</code> en utilisant la valeur
<code>None</code>.</p>
<div class="note"><h3>Note</h3>
<p>Comme <code class="directive">SetHandler</code> l'emporte sur la
- définition des gestionnaires par défaut, le comportement habituel
- consistant à traiter les URLs se terminant par un slash (/) comme
- des répertoires ou des fichiers index est désactivé.</p></div>
+ définition des gestionnaires par défaut, le comportement habituel
+ consistant à traiter les URLs se terminant par un slash (/) comme
+ des répertoires ou des fichiers index est désactivé.</p></div>
<h3>Voir aussi</h3>
<ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="setinputfilter" id="setinputfilter">Directive</a> <a name="SetInputFilter" id="SetInputFilter">SetInputFilter</a><a title="Lien permanent" href="#setinputfilter" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les filtres par lesquels vont passer les requêtes
-client et les données POST</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les filtres par lesquels vont passer les requêtes
+client et les données POST</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetInputFilter <var>filtre</var>[;<var>filtre</var>...]</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>La directive <code class="directive">SetInputFilter</code> permet de
- définir le ou les filtres par lesquels vont passer les requêtes
- client et les données POST au moment où le serveur les reçoit. Cette
- définition vient en ajout à tout autre filtre défini en
+ définir le ou les filtres par lesquels vont passer les requêtes
+ client et les données POST au moment où le serveur les reçoit. Cette
+ définition vient en ajout à tout autre filtre défini en
quelqu'endroit que ce soit, y compris via la directive <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>.</p>
- <p>Si la directive comporte plusieurs filtres, ils doivent être
- séparés par des points-virgules, et spécifiés selon l'ordre dans
+ <p>Si la directive comporte plusieurs filtres, ils doivent être
+ séparés par des points-virgules, et spécifiés selon l'ordre dans
lequel vous souhaitez les voir agir sur les contenus.</p>
<h3>Voir aussi</h3>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="setoutputfilter" id="setoutputfilter">Directive</a> <a name="SetOutputFilter" id="SetOutputFilter">SetOutputFilter</a><a title="Lien permanent" href="#setoutputfilter" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les filtres par lesquels vont passer les réponses
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les filtres par lesquels vont passer les réponses
du serveur</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetOutputFilter <var>filtre</var>[;<var>filtre</var>...]</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>La directive <code class="directive">SetOutputFilter</code> permet de
- définir les filtres par lesquels vont passer les réponses du serveur
- avant d'être envoyées au client. Cette définition vient en ajout à
- tout autre filtre défini en quelqu'endroit que ce soit, y compris
+ définir les filtres par lesquels vont passer les réponses du serveur
+ avant d'être envoyées au client. Cette définition vient en ajout à
+ tout autre filtre défini en quelqu'endroit que ce soit, y compris
via la directive <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>.</p>
<p>Par exemple, la configuration suivante va traiter tous les
- fichiers du répertoire <code>/www/data/</code> comme des inclusions
- côté serveur (SSI) :</p>
+ fichiers du répertoire <code>/www/data/</code> comme des inclusions
+ côté serveur (SSI) :</p>
<pre class="prettyprint lang-config"><Directory "/www/data/">
SetOutputFilter INCLUDES
</Directory></pre>
- <p>Si la directive comporte plusieurs filtres, ils doivent être
- séparés par des points-virgules, et spécifiés selon l'ordre dans
+ <p>Si la directive comporte plusieurs filtres, ils doivent être
+ séparés par des points-virgules, et spécifiés selon l'ordre dans
lequel vous souhaitez les voir agir sur les contenus.</p>
<h3>Voir aussi</h3>
<div class="directive-section"><h2><a name="timeout" id="timeout">Directive</a> <a name="TimeOut" id="TimeOut">TimeOut</a><a title="Lien permanent" href="#timeout" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Temps pendant lequel le serveur va attendre certains
-évènements avant de considérer qu'une requête a échoué</td></tr>
+évènements avant de considérer qu'une requête a échoué</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TimeOut <var>time-interval</var>[s]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TimeOut 60</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TimeOut 60</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>La directive <code class="directive">TimeOut</code> permet de définir le
- temps maximum pendant lequel Apache httpd va attendre des entrées/sorties
+ <p>La directive <code class="directive">TimeOut</code> permet de définir le
+ temps maximum pendant lequel Apache httpd va attendre des entrées/sorties
selon les circonstances :</p>
<ul>
- <li><p>Lors de la lecture de données en provenance du client, le
- temps maximum jusqu'à l'arrivée d'un paquet TCP si le tampon est
+ <li><p>Lors de la lecture de données en provenance du client, le
+ temps maximum jusqu'à l'arrivée d'un paquet TCP si le tampon est
vide.</p>
- <p>Pour les données initiales d'une nouvelle connexion, et tant qu'une
+ <p>Pour les données initiales d'une nouvelle connexion, et tant qu'une
directive <code class="directive"><a href="#acceptfilter">AcceptFilter</a></code> n'aura pas
transmis cette nouvelle connexion au serveur, cette directive n'aura aucun
effet.</p>
</li>
- <li>Lors de l'écriture de données destinées au client, le temps
- maximum jusqu'à l'arrivée de l'accusé-réception d'un paquet si le
+ <li>Lors de l'écriture de données destinées au client, le temps
+ maximum jusqu'à l'arrivée de l'accusé-réception d'un paquet si le
tampon d'envoi est plein.</li>
<li>Avec <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> et <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code>, le temps
<li>Avec <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>, le temps d'attente
maximum des sorties d'un processus de filtrage.</li>
- <li>Avec <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, la valeur du délai par défaut
+ <li>Avec <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, la valeur du délai par défaut
si <code class="directive"><a href="../mod/mod_proxy.html#proxytimeout">ProxyTimeout</a></code> n'est
- pas défini.</li>
+ pas défini.</li>
</ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="traceenable" id="traceenable">Directive</a> <a name="TraceEnable" id="TraceEnable">TraceEnable</a><a title="Lien permanent" href="#traceenable" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le comportement des requêtes
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le comportement des requêtes
<code>TRACE</code></td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TraceEnable <var>[on|off|extended]</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TraceEnable on</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TraceEnable on</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>Cette directive l'emporte sur le comportement de
<code>TRACE</code> pour le noyau du serveur et
- <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. La définition par défaut
- <code>TraceEnable on</code> permet des requêtes <code>TRACE</code>
- selon la RFC 2616, qui interdit d'ajouter tout corps à la requête.
- La définition <code>TraceEnable off</code> indique au noyau du
- serveur et à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> de retourner un code
- d'erreur <code>405</code> (Méthode non autorisée) au client.</p>
-
- <p>En fait, et à des fins de test et de diagnostic seulement, on
- peut autoriser l'ajout d'un corps de requête à l'aide de la
- définition non standard <code>TraceEnable extended</code>. Le noyau
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. La définition par défaut
+ <code>TraceEnable on</code> permet des requêtes <code>TRACE</code>
+ selon la RFC 2616, qui interdit d'ajouter tout corps à la requête.
+ La définition <code>TraceEnable off</code> indique au noyau du
+ serveur et à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> de retourner un code
+ d'erreur <code>405</code> (Méthode non autorisée) au client.</p>
+
+ <p>En fait, et à des fins de test et de diagnostic seulement, on
+ peut autoriser l'ajout d'un corps de requête à l'aide de la
+ définition non standard <code>TraceEnable extended</code>. Le noyau
du serveur (dans le cas d'un serveur d'origine) va limiter la taille
- du corps de requête à 64Kb (plus 8Kb pour les en-têtes de
+ du corps de requête à 64Kb (plus 8Kb pour les en-têtes de
fractionnement si <code>Transfer-Encoding: chunked</code> est
- utilisé). Le noyau du serveur va reproduire l'ensemble des en-têtes,
- y compris les en-têtes de fractionnement avec le corps de la
- réponse. Dans le cas d'un serveur mandataire, la taille du corps de
- requête n'est pas limitée à 64Kb.</p>
+ utilisé). Le noyau du serveur va reproduire l'ensemble des en-têtes,
+ y compris les en-têtes de fractionnement avec le corps de la
+ réponse. Dans le cas d'un serveur mandataire, la taille du corps de
+ requête n'est pas limitée à 64Kb.</p>
<div class="note"><h3>Note</h3>
- <p>Bien que certains prétendent le contraire, activer la méthode
- <code>TRACE</code> ne constitue pas un problème de sécurité dans Apache
- httpd. La méthode <code>TRACE</code> est définie par la spécification
- HTTP/1.1 et les différentes implémentations sont censées la supporter.</p>
+ <p>Bien que certains prétendent le contraire, activer la méthode
+ <code>TRACE</code> ne constitue pas un problème de sécurité dans Apache
+ httpd. La méthode <code>TRACE</code> est définie par la spécification
+ HTTP/1.1 et les différentes implémentations sont censées la supporter.</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="undefine" id="undefine">Directive</a> <a name="UnDefine" id="UnDefine">UnDefine</a><a title="Lien permanent" href="#undefine" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Invalide la définition d'une variable</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Invalide la définition d'une variable</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UnDefine <var>nom-variable</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
correspondante.</p>
<p>On peut utiliser cette directive pour inverser l'effet d'une
section <code class="directive"><a href="#ifdefine"><IfDefine></a></code>
- sans avoir à modifier les arguments <code>-D</code> dans les scripts
- de démarrage.</p>
- <p>Si cette directive est définie au sein d'un bloc VirtualHost, les
+ sans avoir à modifier les arguments <code>-D</code> dans les scripts
+ de démarrage.</p>
+ <p>Si cette directive est définie au sein d'un bloc VirtualHost, les
changements qu'elle induit sont visibles de toute directive
- ultérieure, au delà de tout bloc VirtualHost.</p>
+ ultérieure, au delà de tout bloc VirtualHost.</p>
<h3>Voir aussi</h3>
<ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="usecanonicalname" id="usecanonicalname">Directive</a> <a name="UseCanonicalName" id="UseCanonicalName">UseCanonicalName</a><a title="Lien permanent" href="#usecanonicalname" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont le serveur détermine son propre nom
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont le serveur détermine son propre nom
et son port</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UseCanonicalName On|Off|DNS</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>UseCanonicalName Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>UseCanonicalName Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>Dans de nombreuses situations, Apache httpd doit construire une URL
- <em>auto-identifiante</em> -- c'est à dire une URL qui fait
- référence au serveur lui-même. Avec <code>UseCanonicalName
- On</code>, Apache httpd va utiliser le nom d'hôte et le port spécifiés par
+ <em>auto-identifiante</em> -- c'est à dire une URL qui fait
+ référence au serveur lui-même. Avec <code>UseCanonicalName
+ On</code>, Apache httpd va utiliser le nom d'hôte et le port spécifiés par
la directive <code class="directive"><a href="#servername">ServerName</a></code> pour
- construire le nom canonique du serveur. Ce nom est utilisé dans
- toutes les URLs auto-identifiantes, et affecté aux variables
+ construire le nom canonique du serveur. Ce nom est utilisé dans
+ toutes les URLs auto-identifiantes, et affecté aux variables
<code>SERVER_NAME</code> et <code>SERVER_PORT</code> dans les
programmes CGI.</p>
<p>Avec <code>UseCanonicalName Off</code>, Apache httpd va construire ses
- URLs auto-identifiantes à l'aide du nom d'hôte et du port fournis
- par le client, si ce dernier en a fourni un (dans la négative,
- Apache utilisera le nom canonique, de la même manière que
- ci-dessus). Ces valeurs sont les mêmes que celles qui sont utilisées
- pour implémenter les <a href="../vhosts/name-based.html">serveurs virtuels à base de
- nom</a>, et sont disponibles avec les mêmes clients. De même, les
+ URLs auto-identifiantes à l'aide du nom d'hôte et du port fournis
+ par le client, si ce dernier en a fourni un (dans la négative,
+ Apache utilisera le nom canonique, de la même manière que
+ ci-dessus). Ces valeurs sont les mêmes que celles qui sont utilisées
+ pour implémenter les <a href="../vhosts/name-based.html">serveurs virtuels à base de
+ nom</a>, et sont disponibles avec les mêmes clients. De même, les
variables CGI <code>SERVER_NAME</code> et <code>SERVER_PORT</code>
- seront affectées des valeurs fournies par le client.</p>
+ seront affectées des valeurs fournies par le client.</p>
- <p>Cette directive peut s'avérer utile, par exemple, sur un serveur
+ <p>Cette directive peut s'avérer utile, par exemple, sur un serveur
intranet auquel les utilisateurs se connectent en utilisant des noms
courts tels que <code>www</code>. Si les utilisateurs tapent un nom
- court suivi d'une URL qui fait référence à un répertoire, comme
+ court suivi d'une URL qui fait référence à un répertoire, comme
<code>http://www/splat</code>, <em>sans le slash terminal</em>, vous
remarquerez qu'Apache httpd va les rediriger vers
- <code>http://www.example.com/splat/</code>. Si vous avez activé
- l'authentification, ceci va obliger l'utilisateur à s'authentifier
- deux fois (une première fois pour <code>www</code> et une seconde
+ <code>http://www.example.com/splat/</code>. Si vous avez activé
+ l'authentification, ceci va obliger l'utilisateur à s'authentifier
+ deux fois (une première fois pour <code>www</code> et une seconde
fois pour <code>www.example.com</code> -- voir <a href="http://wiki.apache.org/httpd/FAQ#Why_does_Apache_ask_for_my_password_twice_before_serving_a_file.3F">la
foire aux questions sur ce sujet pour plus d'informations</a>).
- Par contre, si <code class="directive">UseCanonicalName</code> est définie à
+ Par contre, si <code class="directive">UseCanonicalName</code> est définie à
<code>Off</code>, Apache httpd redirigera l'utilisateur vers
<code>http://www/splat/</code>.</p>
- <p>Pour l'hébergement virtuel en masse à base d'adresse IP, on
- utilise une troisième option, <code>UseCanonicalName
+ <p>Pour l'hébergement virtuel en masse à base d'adresse IP, on
+ utilise une troisième option, <code>UseCanonicalName
DNS</code>, pour supporter les clients anciens qui ne
- fournissent pas d'en-tête <code>Host:</code>. Apache httpd effectue alors
+ fournissent pas d'en-tête <code>Host:</code>. Apache httpd effectue alors
une recherche DNS inverse sur l'adresse IP du serveur auquel le
- client s'est connecté afin de construire ses URLs
+ client s'est connecté afin de construire ses URLs
auto-identifiantes.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>Les programmes CGI risquent d'être perturbés par cette option
+ <p>Les programmes CGI risquent d'être perturbés par cette option
s'ils tiennent compte de la variable <code>SERVER_NAME</code>. Le
client est pratiquement libre de fournir la valeur qu'il veut comme
- nom d'hôte. Mais si le programme CGI n'utilise
+ nom d'hôte. Mais si le programme CGI n'utilise
<code>SERVER_NAME</code> que pour construire des URLs
- auto-identifiantes, il ne devrait pas y avoir de problème.</p>
+ auto-identifiantes, il ne devrait pas y avoir de problème.</p>
</div>
<h3>Voir aussi</h3>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="usecanonicalphysicalport" id="usecanonicalphysicalport">Directive</a> <a name="UseCanonicalPhysicalPort" id="UseCanonicalPhysicalPort">UseCanonicalPhysicalPort</a><a title="Lien permanent" href="#usecanonicalphysicalport" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont le serveur
-détermine son propre port</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont le serveur
+détermine son propre port</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UseCanonicalPhysicalPort On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>UseCanonicalPhysicalPort Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>UseCanonicalPhysicalPort Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>Dans de nombreuses situations, Apache httpd doit construire une URL
- <em>auto-identifiante</em> -- c'est à dire une URL qui fait
- référence au serveur lui-même. Avec <code>UseCanonicalPhysicalPort
- On</code>, Apache httpd va fournir le numéro de port physique réel utilisé
- par la requête en tant que port potentiel, pour construire le port
+ <em>auto-identifiante</em> -- c'est à dire une URL qui fait
+ référence au serveur lui-même. Avec <code>UseCanonicalPhysicalPort
+ On</code>, Apache httpd va fournir le numéro de port physique réel utilisé
+ par la requête en tant que port potentiel, pour construire le port
canonique afin que le serveur puisse alimenter la directive
<code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code>. Avec
<code>UseCanonicalPhysicalPort Off</code>, Apache httpd n'utilisera pas le
- numéro de port physique réel, mais au contraire se référera aux
- informations de configuration pour construire un numéro de port
+ numéro de port physique réel, mais au contraire se référera aux
+ informations de configuration pour construire un numéro de port
valide.</p>
<div class="note"><h3>Note</h3>
<dt><code>UseCanonicalName Off | DNS</code></dt>
<dd>
<ol>
- <li>Port extrait de l'en-tête <code>Host:</code></li>
+ <li>Port extrait de l'en-tête <code>Host:</code></li>
<li>Port physique (seulement avec
<code class="directive">UseCanonicalPhysicalPort</code> ON)</li>
- <li>Port indiqué dans <code class="directive"><a href="#servername">Servername</a></code></li>
- <li>Port par défaut</li>
+ <li>Port indiqué dans <code class="directive"><a href="#servername">Servername</a></code></li>
+ <li>Port par défaut</li>
</ol>
</dd>
<dt><code>UseCanonicalName On</code></dt>
<dd>
<ol>
- <li>Port spécifié par <code class="directive"><a href="#servername">Servername</a></code></li>
+ <li>Port spécifié par <code class="directive"><a href="#servername">Servername</a></code></li>
<li>Port physique (seulement avec
<code class="directive">UseCanonicalPhysicalPort</code> ON)</li>
- <li>Port par défaut</li>
+ <li>Port par défaut</li>
</ol>
</dd>
</dl>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="virtualhost" id="virtualhost">Directive</a> <a name="VirtualHost" id="VirtualHost"><VirtualHost></a><a title="Lien permanent" href="#virtualhost" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent qu'à un nom
-d'hôte spécifique ou à une adresse IP</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent qu'à un nom
+d'hôte spécifique ou à une adresse IP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><VirtualHost
<var>adresse IP</var>[:<var>port</var>] [<var>adresse
IP</var>[:<var>port</var>]] ...> ...
</table>
<p>Les balises <code class="directive"><VirtualHost></code> et
<code></VirtualHost></code> permettent de rassembler un groupe
- de directives qui ne s'appliquent qu'à un serveur virtuel
- particulier. Toute directive autorisée dans un contexte de serveur
- virtuel peut être utilisée. Lorsque le serveur reçoit un requête
- pour un document hébergé par un serveur virtuel particulier, il
- applique les directives de configuration rassemblées dans la section
+ de directives qui ne s'appliquent qu'à un serveur virtuel
+ particulier. Toute directive autorisée dans un contexte de serveur
+ virtuel peut être utilisée. Lorsque le serveur reçoit un requête
+ pour un document hébergé par un serveur virtuel particulier, il
+ applique les directives de configuration rassemblées dans la section
<code class="directive"><VirtualHost></code>. <var>adresse
- IP</var> peut être une des entités suivantes, éventuellement suivies
- d'un caractère ':' et d'un numéro de port (ou *) :</p>
+ IP</var> peut être une des entités suivantes, éventuellement suivies
+ d'un caractère ':' et d'un numéro de port (ou *) :</p>
<ul>
<li>L'adresse IP du serveur virtuel ;</li>
- <li>Un nom de domaine entièrement qualifié correspondant à
- l'adresse IP du serveur virtuel (non recommandé) ;</li>
+ <li>Un nom de domaine entièrement qualifié correspondant à
+ l'adresse IP du serveur virtuel (non recommandé) ;</li>
- <li>Le caractère <code>*</code>, qui agit comme un
- caractère générique, et correspond à toute adresse IP.</li>
+ <li>Le caractère <code>*</code>, qui agit comme un
+ caractère générique, et correspond à toute adresse IP.</li>
- <li>La chaîne <code>_default_</code>, dont la signification est
- identique à celle du caractère <code>*</code></li>
+ <li>La chaîne <code>_default_</code>, dont la signification est
+ identique à celle du caractère <code>*</code></li>
</ul>
- <p>Les adresses IPv6 doivent être entourées de crochets car dans le
- cas contraire, un éventuel port optionnel ne pourrait pas être
- déterminé. Voici un exemple de serveur virtuel avec adresse IPv6
+ <p>Les adresses IPv6 doivent être entourées de crochets car dans le
+ cas contraire, un éventuel port optionnel ne pourrait pas être
+ déterminé. Voici un exemple de serveur virtuel avec adresse IPv6
:</p>
<pre class="prettyprint lang-config"><VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80>
</VirtualHost></pre>
- <p>Chaque serveur virtuel doit correspondre à une adresse IP, un
- port ou un nom d'hôte spécifique ; dans le premier cas, le serveur
- doit être configuré pour recevoir les paquets IP de plusieurs
- adresses (si le serveur n'a qu'une interface réseau, on peut
- utiliser à cet effet la commande <code>ifconfig alias</code> -- si
- votre système d'exploitation le permet).</p>
+ <p>Chaque serveur virtuel doit correspondre à une adresse IP, un
+ port ou un nom d'hôte spécifique ; dans le premier cas, le serveur
+ doit être configuré pour recevoir les paquets IP de plusieurs
+ adresses (si le serveur n'a qu'une interface réseau, on peut
+ utiliser à cet effet la commande <code>ifconfig alias</code> -- si
+ votre système d'exploitation le permet).</p>
<div class="note"><h3>Note</h3>
<p>L'utilisation de la directive <code class="directive"><VirtualHost></code> n'affecte en rien les
- adresses IP sur lesquelles Apache httpd est en écoute. Vous devez vous
+ adresses IP sur lesquelles Apache httpd est en écoute. Vous devez vous
assurer que les adresses des serveurs virtuels sont bien incluses
- dans la liste des adresses précisées par la directive <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p>
+ dans la liste des adresses précisées par la directive <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p>
</div>
<p>Tout bloc <code class="directive"><VirtualHost></code> doit comporter une directive
<code class="directive"><a href="#servername">ServerName</a></code>. Dans le cas
- contraire, le serveur virtuel héritera de la valeur de la directive
+ contraire, le serveur virtuel héritera de la valeur de la directive
<code class="directive"><a href="#servername">ServerName</a></code> issue de la
configuration du serveur principal.</p>
- <p>A l'arrivée d'une requête, le serveur tente de la
+ <p>A l'arrivée d'une requête, le serveur tente de la
faire prendre en compte par la section <code class="directive"><VirtualHost></code> qui correspond le mieux en ne
- se basant que sur la paire adresse IP/port. Les chaînes sans
- caractères génériques l'emportent sur celles qui en contiennent. Si
+ se basant que sur la paire adresse IP/port. Les chaînes sans
+ caractères génériques l'emportent sur celles qui en contiennent. Si
aucune correspondance du point de vue de l'adresse IP/port n'est
- trouvée, c'est la configuration du serveur "principal" qui sera
- utilisée.</p>
+ trouvée, c'est la configuration du serveur "principal" qui sera
+ utilisée.</p>
<p>Si plusieurs serveurs virtuels correspondent du point de vue de
- l'adresse IP/port, le serveur sélectionne celui qui correspond le
- mieux du point de vue du nom d'hôte de la requête. Si aucune
- correspondance du point de vue du nom d'hôte n'est trouvée, c'est le
+ l'adresse IP/port, le serveur sélectionne celui qui correspond le
+ mieux du point de vue du nom d'hôte de la requête. Si aucune
+ correspondance du point de vue du nom d'hôte n'est trouvée, c'est le
premier serveur virtuel dont l'adresse IP/port correspond qui sera
- utilisé. Par voie de conséquence, le premier serveur virtuel
+ utilisé. Par voie de conséquence, le premier serveur virtuel
comportant une certaine paire adresse IP/port est le serveur virtuel
- par défaut pour cette paire adresse IP/port.</p>
+ par défaut pour cette paire adresse IP/port.</p>
- <div class="warning"><h3>Sécurité</h3>
- <p>Voir le document sur les <a href="../misc/security_tips.html">conseils à propos de sécurité</a>
- pour une description détaillée des raisons pour lesquelles la
- sécurité de votre serveur pourrait être compromise, si le répertoire
+ <div class="warning"><h3>Sécurité</h3>
+ <p>Voir le document sur les <a href="../misc/security_tips.html">conseils à propos de sécurité</a>
+ pour une description détaillée des raisons pour lesquelles la
+ sécurité de votre serveur pourrait être compromise, si le répertoire
contenant les fichiers journaux est inscriptible par tout autre
- utilisateur que celui qui démarre le serveur.</p>
+ utilisateur que celui qui démarre le serveur.</p>
</div>
<h3>Voir aussi</h3>
<ul>
<li><a href="../vhosts/">Documentation des serveurs virtuels
du serveur HTTP Apache</a></li>
-<li><a href="../dns-caveats.html">Problèmes concernant le DNS et
+<li><a href="../dns-caveats.html">Problèmes concernant le DNS et
le serveur HTTP Apache</a></li>
-<li><a href="../bind.html">Définition des adresses et ports
+<li><a href="../bind.html">Définition des adresses et ports
qu'utilise le serveur HTTP Apache</a></li>
<li><a href="../sections.html">Comment fonctionnent les sections
<Directory>, <Location> et <Files></a> pour une
-explication de la manière dont ces différentes sections se combinent
-entre elles à la réception d'une requête</li>
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête</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="warning" id="warning">Directive</a> <a name="Warning" id="Warning">Warning</a><a title="Lien permanent" href="#warning" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Message d'avertissement personnalisable en provenance de
-l'interprétation du fichier de configuration</td></tr>
+l'interprétation du fichier de configuration</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Warning <var>message</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Cette directive permet de signaler la détection d'un problème de
- configuration en générant un message d'avertissement
- personnalisable. L'interprétation du fichier de configuration n'est
+ <p>Cette directive permet de signaler la détection d'un problème de
+ configuration en générant un message d'avertissement
+ personnalisable. L'interprétation du fichier de configuration n'est
pas interrompue. Un exemple typique d'utilisation est la
- vérification de la définition de certaines options définies par
- l'utilisateur, et l'envoi d'un avertissement éventuel.</p>
+ vérification de la définition de certaines options définies par
+ l'utilisateur, et l'envoi d'un avertissement éventuel.</p>
<pre class="prettyprint lang-config"># Exemple
-# signale que ReverseProxy n'est pas défini
+# signale que ReverseProxy n'est pas défini
<IfDefine !ReverseProxy>
- Warning "le mandataire inverse n'a pas été spécifié, veuillez corriger
- si nécessaire"
+ Warning "le mandataire inverse n'a pas été spécifié, veuillez corriger
+ si nécessaire"
</IfDefine>
<IfDefine ReverseProxy>
- # définition de la configuration personnalisée du mandataire
+ # définition de la configuration personnalisée du mandataire
</IfDefine></pre>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/core.html" title="Français"> fr </a> |
+<a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/core.html" title="Français"> fr </a> |
<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
-<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Termes utilisés pour la description des directives - Serveur Apache HTTP Version 2.5</title>
+<title>Termes utilisés pour la description des directives - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Termes utilisés pour la description des directives</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Termes utilisés pour la description des directives</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/directive-dict.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/directive-dict.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/directive-dict.html" title="Français"> fr </a> |
+<a href="../es/mod/directive-dict.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/directive-dict.html" title="Français"> fr </a> |
<a href="../ja/mod/directive-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/directive-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Ce document décrit les termes utilisés pour décrire chaque <a href="directives.html">directive de configuration</a> d'Apache.</p>
+ <p>Ce document décrit les termes utilisés pour décrire chaque <a href="directives.html">directive de configuration</a> d'Apache.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#Description">Description</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#Syntax">Syntaxe</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#Default">Défaut</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#Default">Défaut</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#Context">Contexte</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#Override">Surcharge .htaccess</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#Status">Statut</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#Module">Module</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#Compatibility">Compatibilité</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#Compatibility">Compatibilité</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../configuring.html">Fichiers de configuration</a></li><li><a href="#comments_section">Commentaires</a></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="Description" id="Description">Description</a><a title="Lien permanent" href="#Description" class="permalink">¶</a></h2>
-<p>Une brève description des fonctions de cette directive.</p>
+<p>Une brève description des fonctions de cette directive.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="Syntax" id="Syntax">Syntaxe</a><a title="Lien permanent" href="#Syntax" class="permalink">¶</a></h2>
<p>Ce terme introduit le format sous lequel la directive doit
- apparaître dans le fichier de configuration. Cette syntaxe est très
- spécifique à la directive et est décrite en détail dans la
- définition de cette dernière. En général, le nom de la directive est
- suivi d'un ou plusieurs arguments séparés par des espaces. Si un
- argument contient un espace, il doit être entouré de guillemets. Les
- arguments optionnels sont entourés de crochets. Lorsqu'un argument
+ apparaître dans le fichier de configuration. Cette syntaxe est très
+ spécifique à la directive et est décrite en détail dans la
+ définition de cette dernière. En général, le nom de la directive est
+ suivi d'un ou plusieurs arguments séparés par des espaces. Si un
+ argument contient un espace, il doit être entouré de guillemets. Les
+ arguments optionnels sont entourés de crochets. Lorsqu'un argument
accepte une valeur parmi une liste de valeurs possibles, cette liste
- est spécifiée en séparant les valeurs par une barre verticale "|".
- Les textes littéraux sont présentés dans la fonte par défaut, alors
+ est spécifiée en séparant les valeurs par une barre verticale "|".
+ Les textes littéraux sont présentés dans la fonte par défaut, alors
que les types d'argument pour lesquels une substitution est
- nécessaire sont en <em>gras</em>. La syntaxe des directives
+ nécessaire sont en <em>gras</em>. La syntaxe des directives
acceptant un nombre variable d'arguments se termine par "...", ce
- qui indique que le dernier argument peut être répété.</p>
+ qui indique que le dernier argument peut être répété.</p>
<p>Les directives utilisent un grand nombre de types d'arguments
- différents. Les plus courants sont définis ci-dessous.</p>
+ différents. Les plus courants sont définis ci-dessous.</p>
<dl>
<dt><em>URL</em></dt>
<dd>Un Localisateur de Ressource Uniforme (Uniform Resource
- Locator) complet comportant un protocole, un nom d'hôte et un nom
+ Locator) complet comportant un protocole, un nom d'hôte et un nom
de chemin optionnel comme dans
<code>http://www.example.com/chemin/vers/fichier.html</code></dd>
<dt><em>chemin-URL</em></dt>
<dd>La partie de l'<em>url</em> qui suit le protocole et le nom
- d'hôte comme dans <code>/chemin/vers/fichier.html</code>. Le
- <em>chemin-URL</em> représente la ressource vue depuis le web, et est
- différente de la représentation de cette même ressource vue depuis le
- système de fichiers.</dd>
+ d'hôte comme dans <code>/chemin/vers/fichier.html</code>. Le
+ <em>chemin-URL</em> représente la ressource vue depuis le web, et est
+ différente de la représentation de cette même ressource vue depuis le
+ système de fichiers.</dd>
<dt><em>chemin-fichier</em></dt>
- <dd>Le chemin d'un fichier dans le système de fichiers local
- commençant par le répertoire racine comme dans
+ <dd>Le chemin d'un fichier dans le système de fichiers local
+ commençant par le répertoire racine comme dans
<code>/usr/local/apache/htdocs/chemin/vers/fichier.html</code>.
Sauf mention contraire, un <em>chemin-fichier</em> qui ne commence
- pas par un slash sera considéré comme relatif au répertoire défini
+ pas par un slash sera considéré comme relatif au répertoire défini
par la directive <a href="core.html#serverroot">ServerRoot</a>.</dd>
- <dt><em>chemin-répertoire</em></dt>
+ <dt><em>chemin-répertoire</em></dt>
- <dd>Le chemin d'un répertoire dans le système de fichiers local
- commençant par le répertoire racine comme dans
+ <dd>Le chemin d'un répertoire dans le système de fichiers local
+ commençant par le répertoire racine comme dans
<code>/usr/local/apache/htdocs/chemin/vers/</code>.</dd>
<dt><em>nom-fichier</em></dt>
<dt><em>regex</em></dt>
<dd>Une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>
- compatible Perl. La définition de la directive spécifiera à quoi
- <em>regex</em> sera comparée.</dd>
+ compatible Perl. La définition de la directive spécifiera à quoi
+ <em>regex</em> sera comparée.</dd>
<dt><em>extension</em></dt>
- <dd>En général, c'est la partie du <em>nom de fichier</em> qui
- suit le dernier point. Cependant, Apache reconnaît plusieurs
+ <dd>En général, c'est la partie du <em>nom de fichier</em> qui
+ suit le dernier point. Cependant, Apache reconnaît plusieurs
extensions de noms de fichiers ; ainsi, si un <em>nom de
fichier</em>
contient plusieurs points, chacune des parties du nom de fichier
- séparées par des points et situées après le premier point est une
+ séparées par des points et situées après le premier point est une
<em>extension</em>. Par exemple, le <em>nom de fichier</em>
<code>fichier.html.en</code> comporte deux extensions :
<code>.html</code> et <code>.en</code>. Pour les directives
- Apache, vous pouvez spécifier les <em>extension</em>s avec ou sans
+ Apache, vous pouvez spécifier les <em>extension</em>s avec ou sans
le point initial. Enfin, les <em>extension</em>s ne sont pas
- sensibles à la casse.</dd>
+ sensibles à la casse.</dd>
<dt><em>MIME-type</em></dt>
- <dd>Une méthode de description du format d'un fichier consistant
- en un type de format majeur et un type de format mineur séparés
+ <dd>Une méthode de description du format d'un fichier consistant
+ en un type de format majeur et un type de format mineur séparés
par un slash comme dans <code>text/html</code>.</dd>
<dt><em>env-variable</em></dt>
<dd>Le nom d'une <a href="../env.html">variable
- d'environnement</a> définie au cours du processus de configuration
- d'Apache. Notez qu'elle peut être différente d'une variable
- d'environnement du système d'exploitation. Voir la <a href="../env.html">documentation sur les variables d'environnement</a>
- pour plus de détails.</dd>
+ d'environnement</a> définie au cours du processus de configuration
+ d'Apache. Notez qu'elle peut être différente d'une variable
+ d'environnement du système d'exploitation. Voir la <a href="../env.html">documentation sur les variables d'environnement</a>
+ pour plus de détails.</dd>
<dt><em>time-interval</em></dt>
- <dd>Un format d'intervalle de temps spécifique à divers paramètres de
- timeout. Les formats supportés sont les suivants :
+ <dd>Un format d'intervalle de temps spécifique à divers paramètres de
+ timeout. Les formats supportés sont les suivants :
<ul>
<li><em>s</em>: Secondes</li>
<li><em>h</em>: Heures</li>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="Default" id="Default">Défaut</a><a title="Lien permanent" href="#Default" class="permalink">¶</a></h2>
+<h2><a name="Default" id="Default">Défaut</a><a title="Lien permanent" href="#Default" class="permalink">¶</a></h2>
- <p>Si la directive possède une valeur par défaut (en d'autres
+ <p>Si la directive possède une valeur par défaut (en d'autres
termes, si le serveur Web Apache se comporte comme si vous l'aviez
- définie à une valeur particulière, alors que vous l'avez omise dans
- votre configuration), elle est spécifiée ici. Si la directive ne
- possède pas de valeur par défaut, cette section doit spécifier
- "<em>Aucune</em>". Notez que la valeur par défaut dont il est
- question n'est pas nécessairement la même que la valeur attribuée à
- la directive dans le fichier httpd.conf par défaut distribué avec le
+ définie à une valeur particulière, alors que vous l'avez omise dans
+ votre configuration), elle est spécifiée ici. Si la directive ne
+ possède pas de valeur par défaut, cette section doit spécifier
+ "<em>Aucune</em>". Notez que la valeur par défaut dont il est
+ question n'est pas nécessairement la même que la valeur attribuée à
+ la directive dans le fichier httpd.conf par défaut distribué avec le
serveur.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="Context" id="Context">Contexte</a><a title="Lien permanent" href="#Context" class="permalink">¶</a></h2>
<p>Indique les parties des fichiers de configuration du serveur
- où cette directive est valide. Il s'agit d'une liste d'une ou
- plusieurs des valeurs suivantes séparées par des virgules :</p>
+ où cette directive est valide. Il s'agit d'une liste d'une ou
+ plusieurs des valeurs suivantes séparées par des virgules :</p>
<dl>
<dt>configuration du serveur</dt>
- <dd>Signifie que la directive peut être utilisée dans les fichiers
+ <dd>Signifie que la directive peut être utilisée dans les fichiers
de configuration du serveur (par exemple <code>httpd.conf</code>),
- mais <strong>pas</strong> à l'intérieur d'un conteneur <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> ou <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>. De même, elle
+ mais <strong>pas</strong> à l'intérieur d'un conteneur <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> ou <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>. De même, elle
n'est pas valide dans les fichiers <code>.htaccess</code>.</dd>
<dt>serveur virtuel</dt>
- <dd>Signifie que la directive peut apparaître à l'intérieur d'un
+ <dd>Signifie que la directive peut apparaître à l'intérieur d'un
conteneur <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> dans les fichiers de
configuration du serveur.</dd>
- <dt>répertoire</dt>
+ <dt>répertoire</dt>
- <dd>Une directive spécifiée comme valide dans ce contexte peut
- être utilisée à l'intérieur de conteneurs <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, <code class="directive"><a href="../mod/core.html#if"><If></a></code>, et <code class="directive"><a href="../mod/mod_proxy.html#proxy"><Proxy></a></code> dans les
+ <dd>Une directive spécifiée comme valide dans ce contexte peut
+ être utilisée à l'intérieur de conteneurs <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, <code class="directive"><a href="../mod/core.html#if"><If></a></code>, et <code class="directive"><a href="../mod/mod_proxy.html#proxy"><Proxy></a></code> dans les
fichiers de configuration du serveur, en tenant compte des
- restrictions précisées dans la documentation sur les <a href="../sections.html">Sections de configuration</a>.</dd>
+ restrictions précisées dans la documentation sur les <a href="../sections.html">Sections de configuration</a>.</dd>
<dt>.htaccess</dt>
<dd>Si une directive est valide dans ce contexte, cela signifie
- qu'elle peut apparaître à l'intérieur de fichiers de configuration
- de <em>niveau</em> répertoire <code>.htaccess</code>. Elle sera ou
- ne sera pas traitée, selon la définition de l'option <a href="#Override">overrides</a> pour le contexte courant.</dd>
+ qu'elle peut apparaître à l'intérieur de fichiers de configuration
+ de <em>niveau</em> répertoire <code>.htaccess</code>. Elle sera ou
+ ne sera pas traitée, selon la définition de l'option <a href="#Override">overrides</a> pour le contexte courant.</dd>
</dl>
- <p>La directive n'est autorisée <em>que</em> dans le contexte
- désigné ; si vous essayez de l'utiliser ailleurs, vous générerez une
- erreur de configuration qui va soit empêcher le serveur de traiter
- les requêtes correctement dans ce contexte, soit tout simplement
- empêcher le serveur de fonctionner -- en d'autres termes, le serveur
- refusera de démarrer.</p>
+ <p>La directive n'est autorisée <em>que</em> dans le contexte
+ désigné ; si vous essayez de l'utiliser ailleurs, vous générerez une
+ erreur de configuration qui va soit empêcher le serveur de traiter
+ les requêtes correctement dans ce contexte, soit tout simplement
+ empêcher le serveur de fonctionner -- en d'autres termes, le serveur
+ refusera de démarrer.</p>
- <p>Les lieux de définition valides pour une directive résultent en
+ <p>Les lieux de définition valides pour une directive résultent en
fait d'un
- OU logique de tous les contextes spécifiés. En d'autres termes, une
- directive spécifiée comme valide dans "<code>configuration du
- serveur, .htaccess</code>" peut être utilisée dans le fichier
+ OU logique de tous les contextes spécifiés. En d'autres termes, une
+ directive spécifiée comme valide dans "<code>configuration du
+ serveur, .htaccess</code>" peut être utilisée dans le fichier
<code>httpd.conf</code> et dans les fichiers <code>.htaccess</code>,
mais pas dans un conteneur <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></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="Override" id="Override">Surcharge .htaccess</a><a title="Lien permanent" href="#Override" class="permalink">¶</a></h2>
- <p>Ce terme indique quelle autorisation de surcharge doit être
- active pour que la directive puisse être traitée lorsqu'elle
- apparaît dans un fichier <code>.htaccess</code>. Si le <a href="#Context">context</a> de la directive ne lui permet pas
- d'apparaître dans un fichier <code>.htaccess</code>, aucun contexte
- ne sera spécifié.</p>
-
- <p>Les autorisations de surcharge sont activées via la directive
- <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>, et possèdent une
- portée particulière, comme un répertoire et tous ses
- sous-répertoires, sauf si une autre directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> apparaît à un niveau
- inférieur. La documentation pour cette directive spécifie aussi les
+ <p>Ce terme indique quelle autorisation de surcharge doit être
+ active pour que la directive puisse être traitée lorsqu'elle
+ apparaît dans un fichier <code>.htaccess</code>. Si le <a href="#Context">context</a> de la directive ne lui permet pas
+ d'apparaître dans un fichier <code>.htaccess</code>, aucun contexte
+ ne sera spécifié.</p>
+
+ <p>Les autorisations de surcharge sont activées via la directive
+ <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>, et possèdent une
+ portée particulière, comme un répertoire et tous ses
+ sous-répertoires, sauf si une autre directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> apparaît à un niveau
+ inférieur. La documentation pour cette directive spécifie aussi les
noms d'autorisations de surcharge disponibles.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="Status" id="Status">Statut</a><a title="Lien permanent" href="#Status" class="permalink">¶</a></h2>
- <p>Cet attribut indique le degré de rapprochement de la directive du
- coeur d'Apache ; en d'autres termes, vous pouvez être amené à
- recompiler le serveur avec un jeu de modules supplémentaires pour
- pouvoir utiliser la directive, et ainsi accéder à ses
- fonctionnalités. Les valeurs possible pour cet attribut sont :</p>
+ <p>Cet attribut indique le degré de rapprochement de la directive du
+ coeur d'Apache ; en d'autres termes, vous pouvez être amené à
+ recompiler le serveur avec un jeu de modules supplémentaires pour
+ pouvoir utiliser la directive, et ainsi accéder à ses
+ fonctionnalités. Les valeurs possible pour cet attribut sont :</p>
<dl>
<dt>Core</dt>
<dd>Une directive dont le statut est "MPM" est fournie par un <a href="../mpm.html">module Multi-Processus</a>. Ce type de
directive sera disponible si et seulement si vous utilisez un des
- MPMs spécifiés dans la ligne <a href="#Module">Module</a> de la
- définition de la directive.</dd>
+ MPMs spécifiés dans la ligne <a href="#Module">Module</a> de la
+ définition de la directive.</dd>
<dt>Base</dt>
<dd>Une directive dont le statut est "Base" est fournie par un des
- modules Apache standards qui sont compilés dans le serveur par
- défaut, et sont de ce fait toujours disponibles, sauf si vous avez
+ modules Apache standards qui sont compilés dans le serveur par
+ défaut, et sont de ce fait toujours disponibles, sauf si vous avez
fait en sorte de les supprimer de votre configuration.</dd>
<dt>Extension</dt>
<dd>Une directive dont le statut est "Extension" est fournie par
un des modules inclus dans le kit du serveur Apache, mais qui ne
- sont pas compilés dans le serveur par défaut. Pour activer la
- directive et accéder à ses fonctionnalités, vous devez modifier
+ sont pas compilés dans le serveur par défaut. Pour activer la
+ directive et accéder à ses fonctionnalités, vous devez modifier
les fichiers de configuration de la compilation du serveur, et
recompiler Apache.</dd>
- <dt>Expérimental</dt>
+ <dt>Expérimental</dt>
<dd>Le statut "Experimental" indique que la directive fait partie
- du kit Apache, mais que vous l'utilisez à vos risques et périls.
- La directive est documentée à titre d'exhaustivité, et n'est pas
- obligatoirement supportée. Le module qui fournit la directive peut
- être compilé par défaut dans le serveur ou non ; consultez le haut
- de la page qui décrit la directive et son module pour vérifier sa
- disponibilité.</dd>
+ du kit Apache, mais que vous l'utilisez à vos risques et périls.
+ La directive est documentée à titre d'exhaustivité, et n'est pas
+ obligatoirement supportée. Le module qui fournit la directive peut
+ être compilé par défaut dans le serveur ou non ; consultez le haut
+ de la page qui décrit la directive et son module pour vérifier sa
+ disponibilité.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
fournissent la directive.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="Compatibility" id="Compatibility">Compatibilité</a><a title="Lien permanent" href="#Compatibility" class="permalink">¶</a></h2>
+<h2><a name="Compatibility" id="Compatibility">Compatibilité</a><a title="Lien permanent" href="#Compatibility" class="permalink">¶</a></h2>
<p>Si la directive ne faisait pas partie de la distribution
- originale d'Apache version 2, la version dans laquelle elle a été
- introduite est indiquée ici. Cette section indique aussi si la
+ originale d'Apache version 2, la version dans laquelle elle a été
+ introduite est indiquée ici. Cette section indique aussi si la
directive n'est disponible que sur certaines plates-formes.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/directive-dict.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/directive-dict.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/directive-dict.html" title="Français"> fr </a> |
+<a href="../es/mod/directive-dict.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/directive-dict.html" title="Français"> fr </a> |
<a href="../ja/mod/directive-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/directive-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/directive-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/directives.html" title="Français"> fr </a> |
+<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/directives.html" title="Français"> fr </a> |
<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
<p>
Toutes les directives Apache disponibles dans la distribution standard
- d'Apache sont référencées ici. Elles sont décrites en utilisant un
- format normalisé, et <a href="directive-dict.html" rel="Glossary">un dictionnaire</a> des termes utilisés dans leurs
+ d'Apache sont référencées ici. Elles sont décrites en utilisant un
+ format normalisé, et <a href="directive-dict.html" rel="Glossary">un dictionnaire</a> des termes utilisés dans leurs
descriptions est disponible.
</p>
<p>
Un <a href="quickreference.html">
- Document de référence rapide des directives</a>
- est également disponible. Il fournit des détails à propos de chaque directive
- sous une forme abrégée.
+ Document de référence rapide des directives</a>
+ est également disponible. Il fournit des détails à propos de chaque directive
+ sous une forme abrégée.
</p>
<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../de/mod/directives.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/directives.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/directives.html" title="Français"> fr </a> |
+<a href="../es/mod/directives.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/directives.html" title="Français"> fr </a> |
<a href="../ja/mod/directives.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/directives.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../tr/mod/directives.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/mod/directives.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Apache MPM event</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/event.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/event.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/event.html" title="Français"> fr </a></p>
+<a href="../es/mod/event.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/event.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Une variante du MPM <code class="module"><a href="../mod/worker.html">worker</a></code> conçue pour ne
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Une variante du MPM <code class="module"><a href="../mod/worker.html">worker</a></code> conçue pour ne
mobiliser des threads que pour les connexions en cours de traitement</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_event_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>event.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_event_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>event.c</td></tr></table>
<h3>Sommaire</h3>
<p>Le module multi-processus (MPM) <code class="module"><a href="../mod/event.html">event</a></code> est, comme son nom
- l'indique, une implémentation asynchrone basée sur les évènements et conçu
- pour permettre le traitement d'un nombre accru de requêtes
- simultanées en déléguant certaines tâches
- aux threads d'écoute, libérant par là-même les
- threads de travail et leur permettant de traiter les nouvelles requêtes.</p>
+ l'indique, une implémentation asynchrone basée sur les évènements et conçu
+ pour permettre le traitement d'un nombre accru de requêtes
+ simultanées en déléguant certaines tâches
+ aux threads d'écoute, libérant par là-même les
+ threads de travail et leur permettant de traiter les nouvelles requêtes.</p>
<p>Pour utiliser le MPM <code class="module"><a href="../mod/event.html">event</a></code>, ajoutez
<code>--with-mpm=event</code> aux arguments du script
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#event-worker-relationship">Relations avec le MPM Worker</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Comment tout cela fonctionne</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#requirements">Prérequis</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#requirements">Prérequis</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#asyncrequestworkerfactor">AsyncRequestWorkerFactor</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_event">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_event">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_event">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_event">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="worker.html">Le MPM worker</a></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="section">
<h2><a name="event-worker-relationship" id="event-worker-relationship">Relations avec le MPM Worker</a><a title="Lien permanent" href="#event-worker-relationship" class="permalink">¶</a></h2>
<p>Le MPM <code class="module"><a href="../mod/event.html">event</a></code> s'inspire du MPM <code class="module"><a href="../mod/worker.html">worker</a></code> qui
-implémente un serveur hybride multi-processus et multi-threads. Un processus de
-contrôle unique (le parent) est chargé de lancer des processus enfants. Chaque
-processus enfant crée un nombre de threads serveurs défini via la directive
+implémente un serveur hybride multi-processus et multi-threads. Un processus de
+contrôle unique (le parent) est chargé de lancer des processus enfants. Chaque
+processus enfant crée un nombre de threads serveurs défini via la directive
<code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>, ainsi qu'un thread
-d'écoute qui surveille les requêtes entrantes et les distribue aux threads de
-travail pour traitement au fur et à mesure de leur arrivée.</p>
+d'écoute qui surveille les requêtes entrantes et les distribue aux threads de
+travail pour traitement au fur et à mesure de leur arrivée.</p>
-<p>Les directives de configuration à l'exécution sont identiques à celles que
+<p>Les directives de configuration à l'exécution sont identiques à celles que
propose le MPM <code class="module"><a href="../mod/worker.html">worker</a></code>, avec l'unique addition de la directive
<code class="directive">AsyncRequestWorkerFactor</code>.</p>
<div class="section">
<h2><a name="how-it-works" id="how-it-works">Comment tout cela fonctionne</a><a title="Lien permanent" href="#how-it-works" class="permalink">¶</a></h2>
- <p>Ce module MPM a été conçu à l'origine pour résoudre le "problème keep
- alive" de HTTP. Lorsqu'un client a effectué une première requête, il peut
- garder la connexion ouverte et envoyer les requêtes suivante en utilisant le
- même socket, ce qui diminue considérablement la charge qui aurait été
- induite par la création de nouvelles connexions TCP. Cependant, le
- fonctionnement du serveur HTTP Apache impose de réserver un couple processus
- enfant/thread pour attendre les données en provenance du client, ce qui
- présente certains inconvénients. Pour résoudre ce problème, le MPM Event
- utilise un thread d'écoute dédié pour chaque processus associé à un jeu de
- threads de travail, partageant les files d'attentes spécifiques aux
- requêtes en mode keep-alive (ou plus simplement en mode "lisible"), à celles
- en mode écriture des résultats, et à celles en court de fermeture
- ("closing"). Une boucle d'attente d'évènements déclenchée en fonction du
- statut de la disponibilité du socket ajuste ces files d'attente et distribue
+ <p>Ce module MPM a été conçu à l'origine pour résoudre le "problème keep
+ alive" de HTTP. Lorsqu'un client a effectué une première requête, il peut
+ garder la connexion ouverte et envoyer les requêtes suivante en utilisant le
+ même socket, ce qui diminue considérablement la charge qui aurait été
+ induite par la création de nouvelles connexions TCP. Cependant, le
+ fonctionnement du serveur HTTP Apache impose de réserver un couple processus
+ enfant/thread pour attendre les données en provenance du client, ce qui
+ présente certains inconvénients. Pour résoudre ce problème, le MPM Event
+ utilise un thread d'écoute dédié pour chaque processus associé à un jeu de
+ threads de travail, partageant les files d'attentes spécifiques aux
+ requêtes en mode keep-alive (ou plus simplement en mode "lisible"), à celles
+ en mode écriture des résultats, et à celles en court de fermeture
+ ("closing"). Une boucle d'attente d'évènements déclenchée en fonction du
+ statut de la disponibilité du socket ajuste ces files d'attente et distribue
le travail au jeu de threads de travail.
</p>
<p>Cette nouvelle architecture, en exploitant les sockets non blocants et
- les fonctionnalités des noyaux modernes mis en valeur par
+ les fonctionnalités des noyaux modernes mis en valeur par
<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> (comme epoll de Linux), n'a plus besoin du
<code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code> <code>mpm-accept</code> pour
- éviter le problème de "thundering herd".</p>
+ éviter le problème de "thundering herd".</p>
<p>La directive <code class="directive">AsyncRequestWorkerFactor</code> permet de
- définir le nombre total de connexions qu'un bloc processus/thread peut
- gérer.</p>
+ définir le nombre total de connexions qu'un bloc processus/thread peut
+ gérer.</p>
<h3><a name="async-connections" id="async-connections">Connexions asynchrones</a></h3>
- <p>Avec les MPM précédents, les connexions asynchrones nécessitaient
- un thread de travail dédié, mais ce n'est plus le cas avec le MPM Event.
- La page d'état de <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> montre de nouvelles
+ <p>Avec les MPM précédents, les connexions asynchrones nécessitaient
+ un thread de travail dédié, mais ce n'est plus le cas avec le MPM Event.
+ La page d'état de <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> montre de nouvelles
colonnes dans la section "Async connections" :</p>
<dl>
<dt>Writing</dt>
- <dd>Lors de l'envoi de la réponse au client, il peut arriver que le
- tampon d'écriture TCP soit plein si la connexion est trop lente. Si
+ <dd>Lors de l'envoi de la réponse au client, il peut arriver que le
+ tampon d'écriture TCP soit plein si la connexion est trop lente. Si
cela se produit, une instruction <code>write()</code> vers le socket
- renvoie en général <code>EWOULDBLOCK</code> ou <code>EAGAIN</code>
- pour que l'on puisse y écrire à nouveau après un certain temps
- d'inactivité. Le thread de travail qui utilise le socket doit alors
- être en mesure de récupérer la tâche en attente et la restituer au
- thread d'écoute qui, à son tour, la réattribuera au premier thread
- de travail disponible, lorsqu'un évènement sera généré pour le socket
- (par exemple, "il est maintenant possible d'écrire dans le socket").
- Veuillez vous reporter à la section à propos des limitations pour
- plus de détails.
+ renvoie en général <code>EWOULDBLOCK</code> ou <code>EAGAIN</code>
+ pour que l'on puisse y écrire à nouveau après un certain temps
+ d'inactivité. Le thread de travail qui utilise le socket doit alors
+ être en mesure de récupérer la tâche en attente et la restituer au
+ thread d'écoute qui, à son tour, la réattribuera au premier thread
+ de travail disponible, lorsqu'un évènement sera généré pour le socket
+ (par exemple, "il est maintenant possible d'écrire dans le socket").
+ Veuillez vous reporter à la section à propos des limitations pour
+ plus de détails.
</dd>
<dt>Keep-alive</dt>
<dd>La gestion des connexions persistantes constitue la principale
- amélioration par rapport au MPM Worker. Lorsqu'un thread de travail
- a terminé l'envoi d'une réponse à un client, il peut restituer la
- gestion du socket au thread d'écoute, qui à son tour va attendre un
- évènement en provenance du système d'exploitation comme "le socket
- est lisible". Si une nouvelle requête arrive en provenance du
- client, le thread d'écoute l'attribuera au premier thread de travail
- disponible. Inversement, si le délai <code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code> est atteint, le socket
- sera fermé par le thread d'écoute. Les threads de travail n'ont
- donc plus à s'occuper des sockets inactifs et ils peuvent être
- réutilisés pour traiter d'autres requêtes.</dd>
+ amélioration par rapport au MPM Worker. Lorsqu'un thread de travail
+ a terminé l'envoi d'une réponse à un client, il peut restituer la
+ gestion du socket au thread d'écoute, qui à son tour va attendre un
+ évènement en provenance du système d'exploitation comme "le socket
+ est lisible". Si une nouvelle requête arrive en provenance du
+ client, le thread d'écoute l'attribuera au premier thread de travail
+ disponible. Inversement, si le délai <code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code> est atteint, le socket
+ sera fermé par le thread d'écoute. Les threads de travail n'ont
+ donc plus à s'occuper des sockets inactifs et ils peuvent être
+ réutilisés pour traiter d'autres requêtes.</dd>
<dt>Closing</dt>
<dd>Parfois, le MPM doit effectuer une fermeture progressive, c'est
- à dire envoyer au client une erreur survenue précédemment alors que
- ce dernier est en train de transmettre des données à httpd. Envoyer la réponse et
- fermer immédiatement la connexion n'est pas une bonne solution car
- le client (qui est encore en train d'envoyer le reste de la requête)
- verrait sa connexion réinitialisée et ne pourrait pas lire la
- réponse de httpd.
- La fermeture progressive est limitée dans le temps,
- mais elle peut tout de même être assez longue, si bien qu'elle est
- confiée à un thread de travail (y compris les procédures d'arrêt et
+ à dire envoyer au client une erreur survenue précédemment alors que
+ ce dernier est en train de transmettre des données à httpd. Envoyer la réponse et
+ fermer immédiatement la connexion n'est pas une bonne solution car
+ le client (qui est encore en train d'envoyer le reste de la requête)
+ verrait sa connexion réinitialisée et ne pourrait pas lire la
+ réponse de httpd.
+ La fermeture progressive est limitée dans le temps,
+ mais elle peut tout de même être assez longue, si bien qu'elle est
+ confiée à un thread de travail (y compris les procédures d'arrêt et
la fermeture effective du socket). A partir de la version 2.4.28,
- c'est aussi le cas lorsque des connexions finissent par dépasser
- leur délai d'attente (le thread d'écoute ne gère jamais les
- connexions, si ce n'est attendre et dispatcher les évènements
- qu'elles génèrent).</dd>
+ c'est aussi le cas lorsque des connexions finissent par dépasser
+ leur délai d'attente (le thread d'écoute ne gère jamais les
+ connexions, si ce n'est attendre et dispatcher les évènements
+ qu'elles génèrent).</dd>
</dl>
- <p>Ces améliorations sont disponible pour les connexions HTTP ou HTTPS.</p>
+ <p>Ces améliorations sont disponible pour les connexions HTTP ou HTTPS.</p>
- <p>Les états de connexions ci-dessus sont gérés par le thread d'écoute
- via des files d'attente dédiées qui, jusqu'à la version 2.4.27, étaient
- lues toutes les 100ms pour déterminer quelles connexions avaient atteint
- des limites de durées définies comme <code class="directive"><a href="../mod/mpm_common.html#timeout">Timeout</a></code> et <code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code>. C'était une solution simple
- et efficace mais qui présentait un inconvénient : ces lectures
- régulières forçaient le thread d'écoute à se réveiller, souvent sans
- nécessité (alors qu'il était totalement inactif), ce qui consommait des
+ <p>Les états de connexions ci-dessus sont gérés par le thread d'écoute
+ via des files d'attente dédiées qui, jusqu'à la version 2.4.27, étaient
+ lues toutes les 100ms pour déterminer quelles connexions avaient atteint
+ des limites de durées définies comme <code class="directive"><a href="../mod/mpm_common.html#timeout">Timeout</a></code> et <code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code>. C'était une solution simple
+ et efficace mais qui présentait un inconvénient : ces lectures
+ régulières forçaient le thread d'écoute à se réveiller, souvent sans
+ nécessité (alors qu'il était totalement inactif), ce qui consommait des
ressources pour rien. A partir de la version 2.4.28, ces files d'attente
- sont entièrement gérées selon une logique basées sur les évènements, et
- ne font donc plus l'objet d'une lecture systématique. Les environnements
- aux ressources limitées, comme les serveurs embarqués, seront les plus
- grands bénéficiaires de cette amélioration.</p>
+ sont entièrement gérées selon une logique basées sur les évènements, et
+ ne font donc plus l'objet d'une lecture systématique. Les environnements
+ aux ressources limitées, comme les serveurs embarqués, seront les plus
+ grands bénéficiaires de cette amélioration.</p>
- <h3><a name="graceful-close" id="graceful-close">Arrêt de processus en douceur et
+ <h3><a name="graceful-close" id="graceful-close">Arrêt de processus en douceur et
utilisation du scoreboard</a></h3>
- <p>Ce MPM présentait dans le passé des limitations de montée en
+ <p>Ce MPM présentait dans le passé des limitations de montée en
puissance qui
provoquaient l'erreur suivante : "<strong>scoreboard is full, not at
MaxRequestWorkers</strong>". La directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> permet de limiter le
- nombre de requêtes pouvant être servies simultanément à un moment donné
- ainsi que le nombre de processus autorisés (<code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> / <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>), alors que le
- scoreboard représente l'ensemble des processus en cours d'exécution et
- l'état de leurs threads de travail. Si le scoreboard est plein
- (autrement dit si aucun des threads n'est dans un état inactif) et si le
- nombre de requêtes actives servies est inférieur à <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>, cela signifie que
- certains d'entre eux bloquent les nouvelles requêtes qui pourraient être
+ nombre de requêtes pouvant être servies simultanément à un moment donné
+ ainsi que le nombre de processus autorisés (<code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> / <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>), alors que le
+ scoreboard représente l'ensemble des processus en cours d'exécution et
+ l'état de leurs threads de travail. Si le scoreboard est plein
+ (autrement dit si aucun des threads n'est dans un état inactif) et si le
+ nombre de requêtes actives servies est inférieur à <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>, cela signifie que
+ certains d'entre eux bloquent les nouvelles requêtes qui pourraient être
servies et sont en l'occurrence mises en attente (dans la limite de la
- valeur imposée par la directive <code class="directive"><a href="../mod/mpm_common.html#listenbacklog">ListenBacklog</a></code>). La plupart du temps, ces
- threads sont bloqués dans un état d'arrêt en douceur car ils attendent
- de terminer leur travail sur une connexion TCP pour s'arrêter et ainsi libérer
- une entrée dans le scoreboard (par exemple dans le cas du traitement des
- requêtes de longue durée, des clients lents ou des connexions en
- keep-alive). Voici deux scénarios courants :</p>
+ valeur imposée par la directive <code class="directive"><a href="../mod/mpm_common.html#listenbacklog">ListenBacklog</a></code>). La plupart du temps, ces
+ threads sont bloqués dans un état d'arrêt en douceur car ils attendent
+ de terminer leur travail sur une connexion TCP pour s'arrêter et ainsi libérer
+ une entrée dans le scoreboard (par exemple dans le cas du traitement des
+ requêtes de longue durée, des clients lents ou des connexions en
+ keep-alive). Voici deux scénarios courants :</p>
<ul>
<li>Pendant un <a href="../stopping.html#graceful">graceful
- restart</a>. Le processus parent demande à tous ses processus
- enfants de terminer leur travail et de s'arrêter pendant qu'il
+ restart</a>. Le processus parent demande à tous ses processus
+ enfants de terminer leur travail et de s'arrêter pendant qu'il
recharge la configuration et lance de nouveaux processus. Si les
- processus existants continuent de s'exécuter pendant un certain
- temps avant de s'arrêter, le scoreboard sera partiellement occupé
- jusqu'à ce que les entrées correspondantes soient libérées.
+ processus existants continuent de s'exécuter pendant un certain
+ temps avant de s'arrêter, le scoreboard sera partiellement occupé
+ jusqu'à ce que les entrées correspondantes soient libérées.
</li>
<li>Lorsque la charge du serveur diminue suffisamment pour que httpd
- commence à stopper certains processus (par exemple pour respecter la
+ commence à stopper certains processus (par exemple pour respecter la
valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code>). Cette situation
- est problèmatique car lorsque la charge augmente à nouveau, httpd va
+ est problèmatique car lorsque la charge augmente à nouveau, httpd va
essayer de lancer de nouveaux processus. Si cette situation se
- répète, le nombre de processus peut augmenter sensiblement,
- aboutissant à un mélange d'anciens processus tentant de s'arrêter et
+ répète, le nombre de processus peut augmenter sensiblement,
+ aboutissant à un mélange d'anciens processus tentant de s'arrêter et
de nouveaux processus tentant d'effectuer un travail quelconque.
</li>
</ul>
<p>A partir de la version 2.4.24, mpm-event est plus intelligent et peut
- traiter les arrêts graceful de manière plus efficace. Voici certaines de
- ces améliorations :</p>
+ traiter les arrêts graceful de manière plus efficace. Voici certaines de
+ ces améliorations :</p>
<ul>
- <li>Utilisation de toutes les entrées du scoreboard dans la limite
- de la valeur définie par <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code>. Les directives
+ <li>Utilisation de toutes les entrées du scoreboard dans la limite
+ de la valeur définie par <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code>. Les directives
<code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> et
<code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>
permettent de limiter le nombre de processus actifs, alors que la
directive <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code>
- prend aussi en compte les proccessus en arrêt graceful pour
- permettre l'utilisation d'entrées supplémentaires du scoreboard en
- cas de besoin. L'idée consiste à utiliser <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> pour indiquer à httpd
- conbien de processus supplémentaires seront tolérés avant
- d'atteindre les limites imposées par les ressources du système.
+ prend aussi en compte les proccessus en arrêt graceful pour
+ permettre l'utilisation d'entrées supplémentaires du scoreboard en
+ cas de besoin. L'idée consiste à utiliser <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> pour indiquer à httpd
+ conbien de processus supplémentaires seront tolérés avant
+ d'atteindre les limites imposées par les ressources du système.
</li>
- <li>Les processus en arrêt graceful doivent fermer leurs connexions
+ <li>Les processus en arrêt graceful doivent fermer leurs connexions
en keep-alive.</li>
- <li>Lors d'un arrêt graceful, s'il y a plus de threads de travail en
- cours d'exécution que de connexions ouvertes pour un processus
- donné, ces threads sont arrêtés afin de libérer les ressources plus
- vite (ce qui peut s'avérer nécessaire pour lancer de nouveaux
+ <li>Lors d'un arrêt graceful, s'il y a plus de threads de travail en
+ cours d'exécution que de connexions ouvertes pour un processus
+ donné, ces threads sont arrêtés afin de libérer les ressources plus
+ vite (ce qui peut s'avérer nécessaire pour lancer de nouveaux
processus).</li>
- <li>Si le scoreboard est plein, empêche d'arrêter d'autres processus
- en mode graceful afin de réduire la charge jusqu'à ce que tous les
- anciens processus soient arrêtés (sinon la situation empirerait lors
- d'une remontée en charge).</li>
+ <li>Si le scoreboard est plein, empêche d'arrêter d'autres processus
+ en mode graceful afin de réduire la charge jusqu'à ce que tous les
+ anciens processus soient arrêtés (sinon la situation empirerait lors
+ d'une remontée en charge).</li>
</ul>
- <p>Le comportement décrit dans le dernier point est bien visible via
+ <p>Le comportement décrit dans le dernier point est bien visible via
<code class="module"><a href="../mod/mod_status.html">mod_status</a></code> dans la table des connexions avec les deux
- nouvelles colonnes "Slot" et "Stopping". La première indique le PID et
- la seconde si le processus est en cours d'arrêt ou non ; l'état
- supplémentaire "Yes (old gen)" indique un processus encore en exécution
- après un redémarrage graceful.</p>
+ nouvelles colonnes "Slot" et "Stopping". La première indique le PID et
+ la seconde si le processus est en cours d'arrêt ou non ; l'état
+ supplémentaire "Yes (old gen)" indique un processus encore en exécution
+ après un redémarrage graceful.</p>
<h3><a name="limitations" id="limitations">Limitations</a></h3>
- <p>La gestion améliorée des connexions peut ne pas fonctionner pour
- certains filtres de connexion qui se sont déclarés eux-mêmes
- incompatibles avec le MPM Event. Dans ce cas, le MPM Event réadoptera le
- comportement du MPM <code class="module"><a href="../mod/worker.html">worker</a></code> et réservera un thread de
+ <p>La gestion améliorée des connexions peut ne pas fonctionner pour
+ certains filtres de connexion qui se sont déclarés eux-mêmes
+ incompatibles avec le MPM Event. Dans ce cas, le MPM Event réadoptera le
+ comportement du MPM <code class="module"><a href="../mod/worker.html">worker</a></code> et réservera un thread de
travail par connexion. Notez que tous les modules inclus dans la
distribution du serveur httpd sont compatibles avec le MPM Event.</p>
- <p>Une restriction similaire apparaît lorsqu'une requête utilise un
- filtre en sortie qui doit pouvoir lire et/ou modifier la totalité du
- corps de la réponse. Si la connexion avec le client se bloque pendant
- que le filtre traite les données, et si la quantité de données produites
- par le filtre est trop importante pour être stockée en mémoire, le
- thread utilisé pour la requête n'est pas libéré pendant que httpd attend
- que les données soient transmises au client.<br />
+ <p>Une restriction similaire apparaît lorsqu'une requête utilise un
+ filtre en sortie qui doit pouvoir lire et/ou modifier la totalité du
+ corps de la réponse. Si la connexion avec le client se bloque pendant
+ que le filtre traite les données, et si la quantité de données produites
+ par le filtre est trop importante pour être stockée en mémoire, le
+ thread utilisé pour la requête n'est pas libéré pendant que httpd attend
+ que les données soient transmises au client.<br />
Pour illustrer ce cas de figure, nous pouvons envisager les deux
situations suivantes : servir une ressource statique (comme un fichier
CSS) ou servir un contenu issu d'un programme FCGI/CGI ou d'un serveur
- mandaté. La première situation est prévisible ; en effet, le MPM Event a
- une parfaite visibilité sur la fin du contenu, et il peut utiliser les
- évènements : le thread de travail qui sert la réponse peut envoyer les
- premiers octets jusqu'à ce que <code>EWOULDBLOCK</code> ou
- <code>EAGAIN</code> soit renvoyé, et déléguer le reste de la réponse au thread
- d'écoute. Ce dernier en retour attend un évènement sur le socket, et
- délègue le reste de la réponse au premier
- thread de travail disponible. Dans la deuxième situation par contre
- (FCGI/CGI/contenu mandaté), le MPM n'a pas de visibilité sur la fin de
- la réponse, et le thread de travail doit terminer sa tâche avant de
- rendre le contrôle au thread d'écoute. La seule solution consisterait
- alors à stocker la réponse en mémoire, mais ce ne serait pas l'option la
- plus sure en matière de stabilité du serveur et d'empreinte mémoire.
+ mandaté. La première situation est prévisible ; en effet, le MPM Event a
+ une parfaite visibilité sur la fin du contenu, et il peut utiliser les
+ évènements : le thread de travail qui sert la réponse peut envoyer les
+ premiers octets jusqu'à ce que <code>EWOULDBLOCK</code> ou
+ <code>EAGAIN</code> soit renvoyé, et déléguer le reste de la réponse au thread
+ d'écoute. Ce dernier en retour attend un évènement sur le socket, et
+ délègue le reste de la réponse au premier
+ thread de travail disponible. Dans la deuxième situation par contre
+ (FCGI/CGI/contenu mandaté), le MPM n'a pas de visibilité sur la fin de
+ la réponse, et le thread de travail doit terminer sa tâche avant de
+ rendre le contrôle au thread d'écoute. La seule solution consisterait
+ alors à stocker la réponse en mémoire, mais ce ne serait pas l'option la
+ plus sure en matière de stabilité du serveur et d'empreinte mémoire.
</p>
- <h3><a name="background" id="background">Matériel d'arrière-plan</a></h3>
- <p>Le modèle event a été rendu possible par l'introduction de nouvelles
- APIs dans les systèmes d'exploitation supportés :</p>
+ <h3><a name="background" id="background">Matériel d'arrière-plan</a></h3>
+ <p>Le modèle event a été rendu possible par l'introduction de nouvelles
+ APIs dans les systèmes d'exploitation supportés :</p>
<ul>
<li>epoll (Linux) </li>
<li>kqueue (BSD) </li>
<li>event ports (Solaris) </li>
</ul>
- <p>Avant que ces APIs soient mises à disposition, les APIs
- traditionnelles <code>select</code> et <code>poll</code> devaient être
- utilisées. Ces APIs deviennent lentes si on les utilise pour gérer de
- nombreuses connexions ou si le jeu de connexions possède un taux de
- renouvellement élevé. Les nouvelles APIs permettent de gérer beaucoup
+ <p>Avant que ces APIs soient mises à disposition, les APIs
+ traditionnelles <code>select</code> et <code>poll</code> devaient être
+ utilisées. Ces APIs deviennent lentes si on les utilise pour gérer de
+ nombreuses connexions ou si le jeu de connexions possède un taux de
+ renouvellement élevé. Les nouvelles APIs permettent de gérer beaucoup
plus de connexions et leur performances sont meilleures lorsque le jeu
- de connexions à gérer change fréquemment. Ces APIs ont donc rendu
- possible l'écriture le MPM Event qui est mieux adapté à la situation
- HTTP typique où de nombreuses connexions sont inactives.</p>
+ de connexions à gérer change fréquemment. Ces APIs ont donc rendu
+ possible l'écriture le MPM Event qui est mieux adapté à la situation
+ HTTP typique où de nombreuses connexions sont inactives.</p>
- <p>Le MPM Event suppose que l'implémentation de <code>apr_pollset</code>
+ <p>Le MPM Event suppose que l'implémentation de <code>apr_pollset</code>
sous-jacente est raisonnablement sure avec l'utilisation des threads
- (threadsafe). Ceci évite au MPM de devoir effectuer trop verrouillages
- de haut niveau, ou d'avoir à réveiller le thread d'écoute pour lui
+ (threadsafe). Ceci évite au MPM de devoir effectuer trop verrouillages
+ de haut niveau, ou d'avoir à réveiller le thread d'écoute pour lui
envoyer un socket keep-alive. Ceci n'est possible qu'avec KQueue et
EPoll.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="requirements" id="requirements">Prérequis</a><a title="Lien permanent" href="#requirements" class="permalink">¶</a></h2>
- <p>Ce MPM dépend des opérations atomiques compare-and-swap
+<h2><a name="requirements" id="requirements">Prérequis</a><a title="Lien permanent" href="#requirements" class="permalink">¶</a></h2>
+ <p>Ce MPM dépend des opérations atomiques compare-and-swap
d'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> pour la synchronisation des threads. Si
vous compilez pour une plate-forme x86 et n'avez pas besoin du
support 386, ou si vous compilez pour une plate-forme SPARC et
n'avez pas besoin du support pre-UltraSPARC, ajoutez
<code>--enable-nonportable-atomics=yes</code> aux arguments du
- script <code class="program"><a href="../programs/configure.html">configure</a></code>. Ceci permettra à APR
- d'implémenter les opérations atomiques en utilisant des instructions
+ script <code class="program"><a href="../programs/configure.html">configure</a></code>. Ceci permettra à APR
+ d'implémenter les opérations atomiques en utilisant des instructions
performantes indisponibles avec les processeurs plus
anciens.</p>
- <p>Ce MPM ne fonctionne pas de manière optimale sur les
- plates-formes plus anciennes qui ne gèrent pas correctement les
- threads, mais ce problème est sans objet du fait du prérequis
+ <p>Ce MPM ne fonctionne pas de manière optimale sur les
+ plates-formes plus anciennes qui ne gèrent pas correctement les
+ threads, mais ce problème est sans objet du fait du prérequis
concernant EPoll ou KQueue.</p>
<ul>
<li>Pour utiliser ce MPM sous FreeBSD, la version 5.3 ou
- supérieure de ce système est recommandée. Il est cependant
- possible d'exécuter ce MPM sous FreeBSD 5.2.1 si vous utilisez
+ supérieure de ce système est recommandée. Il est cependant
+ possible d'exécuter ce MPM sous FreeBSD 5.2.1 si vous utilisez
<code>libkse</code> (voir <code>man libmap.conf</code>).</li>
<li>Pour NetBSD, il est recommander d'utiliser la version 2.0 ou
- supérieure.</li>
+ supérieure.</li>
- <li>Pour Linux, un noyau 2.6 est recommandé. Il faut aussi
- s'assurer que votre version de <code>glibc</code> a été compilée
+ <li>Pour Linux, un noyau 2.6 est recommandé. Il faut aussi
+ s'assurer que votre version de <code>glibc</code> a été compilée
avec le support pour EPoll.</li>
</ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="asyncrequestworkerfactor" id="asyncrequestworkerfactor">Directive</a> <a name="AsyncRequestWorkerFactor" id="AsyncRequestWorkerFactor">AsyncRequestWorkerFactor</a><a title="Lien permanent" href="#asyncrequestworkerfactor" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de connexions simultanées par thread</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de connexions simultanées par thread</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AsyncRequestWorkerFactor <var>facteur</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>2</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>2</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>event</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.13</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.13</td></tr>
</table>
- <p>Le MPM event gère certaines connexions de manière asynchrone ;
- dans ce cas, les threads traitant la requête sont alloués selon les
- besoins et pour de courtes périodes. Dans les autres cas, un
- thread est réservé par
- connexion. Ceci peut conduire à des situations où tous les threads
- sont saturés et où aucun thread n'est capable d'effectuer de
- nouvelles tâches pour les connexions asynchrones établies.</p>
-
- <p>Pour minimiser les effets de ce problème, le MPM event utilise
- deux méthodes :</p>
+ <p>Le MPM event gère certaines connexions de manière asynchrone ;
+ dans ce cas, les threads traitant la requête sont alloués selon les
+ besoins et pour de courtes périodes. Dans les autres cas, un
+ thread est réservé par
+ connexion. Ceci peut conduire à des situations où tous les threads
+ sont saturés et où aucun thread n'est capable d'effectuer de
+ nouvelles tâches pour les connexions asynchrones établies.</p>
+
+ <p>Pour minimiser les effets de ce problème, le MPM event utilise
+ deux méthodes :</p>
<ul>
<li>il limite le nombre de connexions
- simultanées par thread en fonction du nombre de processus
+ simultanées par thread en fonction du nombre de processus
inactifs;</li>
- <li>si tous les processus sont occupés, il ferme des connexions
- permanentes, même si la limite de durée de la connexion n'a
- pas été atteinte. Ceci autorise les clients
- concernés à se reconnecter à un autre processus
- possèdant encore des threads disponibles.</li>
+ <li>si tous les processus sont occupés, il ferme des connexions
+ permanentes, même si la limite de durée de la connexion n'a
+ pas été atteinte. Ceci autorise les clients
+ concernés à se reconnecter à un autre processus
+ possèdant encore des threads disponibles.</li>
</ul>
<p>Cette directive permet de personnaliser finement la limite du
nombre de connexions par thread. Un <strong>processus</strong> n'acceptera de
nouvelles connexions que si le nombre actuel de connexions (sans
- compter les connexions à l'état "closing") est
- inférieur à :</p>
+ compter les connexions à l'état "closing") est
+ inférieur à :</p>
<p class="indent"><strong>
<code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> +
</strong></p>
<p>Il est possible d'effectuer une estimation du nombre maximum de
- connexions simultanées pour tous les processus et pour un nombre donné moyen
+ connexions simultanées pour tous les processus et pour un nombre donné moyen
de threads de travail inactifs comme suit :
</p>
</div>
<p>Lorsque tous les threads de travail sont inactifs, le nombre maximum
- absolu de connexions simultanées peut être calculé de manière plus simple :</p>
+ absolu de connexions simultanées peut être calculé de manière plus simple :</p>
<p class="indent"><strong>
(<code class="directive">AsyncRequestWorkerFactor</code> + 1) *
<pre class="prettyprint lang-config">idle_workers = 10</pre>
- <p>Nous pouvons calculer le nombre maximum absolu de connexions simultanées
- de deux manières :</p>
+ <p>Nous pouvons calculer le nombre maximum absolu de connexions simultanées
+ de deux manières :</p>
<pre class="prettyprint lang-config">max_connections = (ThreadsPerChild + (AsyncRequestWorkerFactor * idle_workers)) * ServerLimit
= (10 + (2 * 10)) * 4 = 120
</div>
- <p>Le réglage de la directive
- <code class="directive">AsyncRequestWorkerFactor</code> nécessite de connaître le
- trafic géré par httpd pour chaque style d'utilisation spécifique ; si vous
- modifiez la valeur par défaut, vous devrez par conséquent effectuer des
- tests approfondis en vous appuyant étroitement sur les données fournies par
+ <p>Le réglage de la directive
+ <code class="directive">AsyncRequestWorkerFactor</code> nécessite de connaître le
+ trafic géré par httpd pour chaque style d'utilisation spécifique ; si vous
+ modifiez la valeur par défaut, vous devrez par conséquent effectuer des
+ tests approfondis en vous appuyant étroitement sur les données fournies par
<code class="module"><a href="../mod/mod_status.html">mod_status</a></code>.</p>
<p>La directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> se nommait
<code class="directive">MaxClients</code> avant la version 2.3.13. La valeur
- ci-dessus montre que cet ancien nom ne correspondait pas à sa
+ ci-dessus montre que cet ancien nom ne correspondait pas à sa
signification exacte pour le MPM event.</p>
<p>La directive <code class="directive">AsyncRequestWorkerFactor</code>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/event.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/event.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/event.html" title="Français"> fr </a></p>
+<a href="../es/mod/event.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/event.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/" title="Français"> fr </a> |
+<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/" title="Français"> fr </a> |
<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
<p>
Ci-dessous se trouve la liste de tous les modules qui font partie de
- la distribution du serveur HTTP Apache. Voir aussi la liste alphabétique complète
+ la distribution du serveur HTTP Apache. Voir aussi la liste alphabétique complète
de <a href="directives.html">toutes les directives du serveur HTTP Apache</a>.
</p>
</div>
<div id="quickview"><ul id="toc">
-<li><img alt="" src="../images/down.gif" /> <a href="#core">Fonctionalités de Base et Modules Multi-Processus (MPM)</a></li><li><img alt="" src="../images/down.gif" /> <a href="#other">Autres Modules</a></li></ul><h3>Voir aussi</h3>
+<li><img alt="" src="../images/down.gif" /> <a href="#core">Fonctionalités de Base et Modules Multi-Processus (MPM)</a></li><li><img alt="" src="../images/down.gif" /> <a href="#other">Autres Modules</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../mpm.html">Modules multi-processus (MPMs)</a>
</li>
-<li><a href="quickreference.html">Document de référence rapide des directives</a>
+<li><a href="quickreference.html">Document de référence rapide des directives</a>
</li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section"><h2><a id="core" name="core">Fonctionalités de Base et Modules Multi-Processus (MPM)</a></h2>
+<div class="section"><h2><a id="core" name="core">Fonctionalités de Base et Modules Multi-Processus (MPM)</a></h2>
<dl>
-<dt><a href="core.html">core</a></dt><dd>Fonctionnalités de base du serveur HTTP Apache toujours
+<dt><a href="core.html">core</a></dt><dd>Fonctionnalités de base du serveur HTTP Apache toujours
disponibles</dd>
-<dt><a href="mpm_common.html">mpm_common</a></dt><dd class="separate">Une série de directives implémentées par plusieurs
+<dt><a href="mpm_common.html">mpm_common</a></dt><dd class="separate">Une série de directives implémentées par plusieurs
modules multi-processus (MPM)</dd>
-<dt><a href="event.html">event</a></dt><dd>Une variante du MPM <code class="module"><a href="../mod/worker.html">worker</a></code> conçue pour ne
+<dt><a href="event.html">event</a></dt><dd>Une variante du MPM <code class="module"><a href="../mod/worker.html">worker</a></code> conçue pour ne
mobiliser des threads que pour les connexions en cours de traitement</dd>
-<dt><a href="mpm_netware.html">mpm_netware</a></dt><dd>Module multi-processus implémentant un serveur web basé
-exclusivement sur les threads et optimisé pour Novell
+<dt><a href="mpm_netware.html">mpm_netware</a></dt><dd>Module multi-processus implémentant un serveur web basé
+exclusivement sur les threads et optimisé pour Novell
NetWare</dd>
<dt><a href="mpmt_os2.html">mpmt_os2</a></dt><dd>MPM hybride multi-processus, multi-thread pour
OS/2</dd>
-<dt><a href="prefork.html">prefork</a></dt><dd>Implémente un serveur web avec démarrage anticipé de
+<dt><a href="prefork.html">prefork</a></dt><dd>Implémente un serveur web avec démarrage anticipé de
processus, sans thread</dd>
-<dt><a href="mpm_winnt.html">mpm_winnt</a></dt><dd>Module multi-processus optimisé pour Windows
+<dt><a href="mpm_winnt.html">mpm_winnt</a></dt><dd>Module multi-processus optimisé pour Windows
NT.</dd>
-<dt><a href="worker.html">worker</a></dt><dd>Module multi-processus implémentant un serveur web hybride
+<dt><a href="worker.html">worker</a></dt><dd>Module multi-processus implémentant un serveur web hybride
multi-processus multi-thread</dd>
</dl></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section"><h2><a id="other" name="other">Autres Modules</a></h2>
<p class="letters"><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#J"> J </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#P"> P </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></p>
-<dl><dt><a href="mod_access_compat.html" id="A" name="A">mod_access_compat</a></dt><dd>Autorisations de groupe à base de nom d'hôte (nom ou
+<dl><dt><a href="mod_access_compat.html" id="A" name="A">mod_access_compat</a></dt><dd>Autorisations de groupe à base de nom d'hôte (nom ou
adresse IP)</dd>
-<dt><a href="mod_actions.html">mod_actions</a></dt><dd>Exécution des scripts CGI en fonction du
-type de média ou de la méthode de requête.</dd>
-<dt><a href="mod_alias.html">mod_alias</a></dt><dd>Permet d'atteindre différentes parties du système de
+<dt><a href="mod_actions.html">mod_actions</a></dt><dd>Exécution des scripts CGI en fonction du
+type de média ou de la méthode de requête.</dd>
+<dt><a href="mod_alias.html">mod_alias</a></dt><dd>Permet d'atteindre différentes parties du système de
fichiers depuis l'arborescence des documents du site web, ainsi que la
redirection d'URL</dd>
-<dt><a href="mod_allowhandlers.html">mod_allowhandlers</a></dt><dd>Facilite la définition de la liste des gestionnaires HTTP
-qui peuvent être utilisés pour le serveur</dd>
-<dt><a href="mod_allowmethods.html">mod_allowmethods</a></dt><dd>Limitation simple des méthodes HTTP acceptées par e serveur</dd>
-<dt><a href="mod_asis.html">mod_asis</a></dt><dd>Envoie des fichiers contenant leurs propres en-têtes
+<dt><a href="mod_allowhandlers.html">mod_allowhandlers</a></dt><dd>Facilite la définition de la liste des gestionnaires HTTP
+qui peuvent être utilisés pour le serveur</dd>
+<dt><a href="mod_allowmethods.html">mod_allowmethods</a></dt><dd>Limitation simple des méthodes HTTP acceptées par e serveur</dd>
+<dt><a href="mod_asis.html">mod_asis</a></dt><dd>Envoie des fichiers contenant leurs propres en-têtes
HTTP</dd>
<dt><a href="mod_auth_basic.html">mod_auth_basic</a></dt><dd>Authentification HTTP de base</dd>
-<dt><a href="mod_auth_digest.html">mod_auth_digest</a></dt><dd>Authentification utilisateur utilisant les condensés
+<dt><a href="mod_auth_digest.html">mod_auth_digest</a></dt><dd>Authentification utilisateur utilisant les condensés
MD5</dd>
-<dt><a href="mod_auth_form.html">mod_auth_form</a></dt><dd>Authentification à l'aide d'un formulaire</dd>
-<dt><a href="mod_authn_anon.html">mod_authn_anon</a></dt><dd>Permet un accès "anonyme" à des zones
-authentifiées</dd>
+<dt><a href="mod_auth_form.html">mod_auth_form</a></dt><dd>Authentification à l'aide d'un formulaire</dd>
+<dt><a href="mod_authn_anon.html">mod_authn_anon</a></dt><dd>Permet un accès "anonyme" à des zones
+authentifiées</dd>
<dt><a href="mod_authn_core.html">mod_authn_core</a></dt><dd>Le noyau de l'authentification</dd>
-<dt><a href="mod_authn_dbd.html">mod_authn_dbd</a></dt><dd>Authentification utilisateur à l'aide d'une base de données
+<dt><a href="mod_authn_dbd.html">mod_authn_dbd</a></dt><dd>Authentification utilisateur à l'aide d'une base de données
SQL</dd>
<dt><a href="mod_authn_dbm.html">mod_authn_dbm</a></dt><dd>Authentification utilisateur utilisant des fichiers
DBM</dd>
-<dt><a href="mod_authn_file.html">mod_authn_file</a></dt><dd>Authentification utilisateur à l'aide de fichiers
+<dt><a href="mod_authn_file.html">mod_authn_file</a></dt><dd>Authentification utilisateur à l'aide de fichiers
texte</dd>
-<dt><a href="mod_authn_socache.html">mod_authn_socache</a></dt><dd>Gère un cache des données d'authentification pour diminuer
-la charge des serveurs d'arrière-plan</dd>
-<dt><a href="mod_authnz_fcgi.html">mod_authnz_fcgi</a></dt><dd>Permet à une application d'autorisation FastCGI de gérer
+<dt><a href="mod_authn_socache.html">mod_authn_socache</a></dt><dd>Gère un cache des données d'authentification pour diminuer
+la charge des serveurs d'arrière-plan</dd>
+<dt><a href="mod_authnz_fcgi.html">mod_authnz_fcgi</a></dt><dd>Permet à une application d'autorisation FastCGI de gérer
l'authentification et l'autorisation httpd.</dd>
<dt><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></dt><dd>Permet d'utiliser un annuaire LDAP pour l'authentification
HTTP de base.</dd>
<dt><a href="mod_authz_core.html">mod_authz_core</a></dt><dd>Socle d'autorisation</dd>
<dt><a href="mod_authz_dbd.html">mod_authz_dbd</a></dt><dd>Autorisation par groupe ou par identifiant via SQL</dd>
<dt><a href="mod_authz_dbm.html">mod_authz_dbm</a></dt><dd>Autorisation par groupes sur base de fichiers DBM</dd>
-<dt><a href="mod_authz_groupfile.html">mod_authz_groupfile</a></dt><dd>Autorisation de groupes à base de fichiers
+<dt><a href="mod_authz_groupfile.html">mod_authz_groupfile</a></dt><dd>Autorisation de groupes à base de fichiers
textes</dd>
-<dt><a href="mod_authz_host.html">mod_authz_host</a></dt><dd>Autorisations de groupe basées sur l'hôte (nom ou adresse
+<dt><a href="mod_authz_host.html">mod_authz_host</a></dt><dd>Autorisations de groupe basées sur l'hôte (nom ou adresse
IP)</dd>
-<dt><a href="mod_authz_owner.html">mod_authz_owner</a></dt><dd>Autorisation basée sur l'appartenance des
+<dt><a href="mod_authz_owner.html">mod_authz_owner</a></dt><dd>Autorisation basée sur l'appartenance des
fichiers</dd>
-<dt><a href="mod_authz_user.html">mod_authz_user</a></dt><dd>Autorisation basée sur l'utilisateur</dd>
-<dt><a href="mod_autoindex.html">mod_autoindex</a></dt><dd>Génère automatiquement des index de répertoires d'une
-manière similaire à la commande Unix <code>ls</code>, ou à la commande
+<dt><a href="mod_authz_user.html">mod_authz_user</a></dt><dd>Autorisation basée sur l'utilisateur</dd>
+<dt><a href="mod_autoindex.html">mod_autoindex</a></dt><dd>Génère automatiquement des index de répertoires d'une
+manière similaire à la commande Unix <code>ls</code>, ou à la commande
shell Win32 <code>dir</code></dd>
<dt><a href="mod_brotli.html" id="B" name="B">mod_brotli</a></dt><dd>Compression du contenu via Brotli avant sa livraison au client</dd>
-<dt><a href="mod_buffer.html">mod_buffer</a></dt><dd>Support de la mise en tampon des requêtes</dd>
-<dt><a href="mod_cache.html" id="C" name="C">mod_cache</a></dt><dd>Filtre de mise en cache HTTP conforme à la RFC 2616</dd>
+<dt><a href="mod_buffer.html">mod_buffer</a></dt><dd>Support de la mise en tampon des requêtes</dd>
+<dt><a href="mod_cache.html" id="C" name="C">mod_cache</a></dt><dd>Filtre de mise en cache HTTP conforme à la RFC 2616</dd>
<dt><a href="mod_cache_disk.html">mod_cache_disk</a></dt><dd>Module de stockage sur disque pour le filtre de mise en
cache HTTP.</dd>
-<dt><a href="mod_cache_socache.html">mod_cache_socache</a></dt><dd>Module de stockage à base de cache d'objets partagés
+<dt><a href="mod_cache_socache.html">mod_cache_socache</a></dt><dd>Module de stockage à base de cache d'objets partagés
(socache) pour le filtre de mise en cache HTTP.</dd>
-<dt><a href="mod_cern_meta.html">mod_cern_meta</a></dt><dd>La sémantique des métafichiers du serveur httpd du
+<dt><a href="mod_cern_meta.html">mod_cern_meta</a></dt><dd>La sémantique des métafichiers du serveur httpd du
CERN</dd>
-<dt><a href="mod_cgi.html">mod_cgi</a></dt><dd>Exécution des scripts CGI</dd>
-<dt><a href="mod_cgid.html">mod_cgid</a></dt><dd>Exécution des scripts CGI par l'intermédiaire d'un démon
+<dt><a href="mod_cgi.html">mod_cgi</a></dt><dd>Exécution des scripts CGI</dd>
+<dt><a href="mod_cgid.html">mod_cgid</a></dt><dd>Exécution des scripts CGI par l'intermédiaire d'un démon
CGI externe</dd>
-<dt><a href="mod_charset_lite.html">mod_charset_lite</a></dt><dd>Spécifie dans quel jeu de caractère doivent s'effectuer les
-traductions ou les réencodages</dd>
-<dt><a href="mod_crypto.html">mod_crypto</a></dt><dd>Support du chiffrement/déchiffrement symétrique</dd>
-<dt><a href="mod_data.html" id="D" name="D">mod_data</a></dt><dd>Convertit un corps de réponse en URL de type données RFC2397</dd>
-<dt><a href="mod_dav.html">mod_dav</a></dt><dd>Fonctionnalité de création et gestion de versions de
+<dt><a href="mod_charset_lite.html">mod_charset_lite</a></dt><dd>Spécifie dans quel jeu de caractère doivent s'effectuer les
+traductions ou les réencodages</dd>
+<dt><a href="mod_crypto.html">mod_crypto</a></dt><dd>Support du chiffrement/déchiffrement symétrique</dd>
+<dt><a href="mod_data.html" id="D" name="D">mod_data</a></dt><dd>Convertit un corps de réponse en URL de type données RFC2397</dd>
+<dt><a href="mod_dav.html">mod_dav</a></dt><dd>Fonctionnalité de création et gestion de versions de
documents via le web (<a href="http://www.webdav.org/">WebDAV</a>)</dd>
-<dt><a href="mod_dav_fs.html">mod_dav_fs</a></dt><dd>Implémente le fournisseur filesystem pour
+<dt><a href="mod_dav_fs.html">mod_dav_fs</a></dt><dd>Implémente le fournisseur filesystem pour
<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></dd>
-<dt><a href="mod_dav_lock.html">mod_dav_lock</a></dt><dd>Module de verrouillage générique pour
+<dt><a href="mod_dav_lock.html">mod_dav_lock</a></dt><dd>Module de verrouillage générique pour
<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></dd>
-<dt><a href="mod_dbd.html">mod_dbd</a></dt><dd>Gestion des connexions à une base de données SQL</dd>
+<dt><a href="mod_dbd.html">mod_dbd</a></dt><dd>Gestion des connexions à une base de données SQL</dd>
<dt><a href="mod_deflate.html">mod_deflate</a></dt><dd>Comprime le contenu avant de le servir au
client</dd>
-<dt><a href="mod_dialup.html">mod_dialup</a></dt><dd>Envoie le contenu statique avec une bande passante limitée
-définie par les différents standards des anciens modems.</dd>
+<dt><a href="mod_dialup.html">mod_dialup</a></dt><dd>Envoie le contenu statique avec une bande passante limitée
+définie par les différents standards des anciens modems.</dd>
<dt><a href="mod_dir.html">mod_dir</a></dt><dd>Permet la redirection des adresses se terminant par un
-répertoire sans slash de fin et la mise à disposition des fichiers index
-de répertoire</dd>
-<dt><a href="mod_dumpio.html">mod_dumpio</a></dt><dd>Enregistre toutes les entrées/sorties dans le journal des
-erreurs de la manière souhaitée.</dd>
-<dt><a href="mod_echo.html" id="E" name="E">mod_echo</a></dt><dd>Un simple serveur d'écho pour illustrer les modules de
+répertoire sans slash de fin et la mise à disposition des fichiers index
+de répertoire</dd>
+<dt><a href="mod_dumpio.html">mod_dumpio</a></dt><dd>Enregistre toutes les entrées/sorties dans le journal des
+erreurs de la manière souhaitée.</dd>
+<dt><a href="mod_echo.html" id="E" name="E">mod_echo</a></dt><dd>Un simple serveur d'écho pour illustrer les modules de
protocole</dd>
<dt><a href="mod_env.html">mod_env</a></dt><dd>Modifie l'environnement transmis aux scripts CGI et aux
pages SSI</dd>
<dt><a href="mod_example_hooks.html">mod_example_hooks</a></dt><dd>Illustration de l'API des modules Apache</dd>
-<dt><a href="mod_expires.html">mod_expires</a></dt><dd>Génération des en-têtes HTTP <code>Expires</code> et
-<code>Cache-Control</code> en fonction de critères spécifiés par
+<dt><a href="mod_expires.html">mod_expires</a></dt><dd>Génération des en-têtes HTTP <code>Expires</code> et
+<code>Cache-Control</code> en fonction de critères spécifiés par
l'utilisateur</dd>
-<dt><a href="mod_ext_filter.html">mod_ext_filter</a></dt><dd>Fait traiter le corps de la réponse par un programme
+<dt><a href="mod_ext_filter.html">mod_ext_filter</a></dt><dd>Fait traiter le corps de la réponse par un programme
externe avant de l'envoyer au client</dd>
-<dt><a href="mod_file_cache.html" id="F" name="F">mod_file_cache</a></dt><dd>Mise en cache mémoire d'une liste statique de
+<dt><a href="mod_file_cache.html" id="F" name="F">mod_file_cache</a></dt><dd>Mise en cache mémoire d'une liste statique de
fichiers</dd>
<dt><a href="mod_filter.html">mod_filter</a></dt><dd>Module de configuration de filtre intelligent sensible au
contexte</dd>
-<dt><a href="mod_firehose.html">mod_firehose</a></dt><dd>Multiplexage des entrées/sorties vers un fichier ou un pipe.</dd>
-<dt><a href="mod_headers.html" id="H" name="H">mod_headers</a></dt><dd>Personnalisation des en-têtes de requêtes et de réponses
+<dt><a href="mod_firehose.html">mod_firehose</a></dt><dd>Multiplexage des entrées/sorties vers un fichier ou un pipe.</dd>
+<dt><a href="mod_headers.html" id="H" name="H">mod_headers</a></dt><dd>Personnalisation des en-têtes de requêtes et de réponses
HTTP</dd>
-<dt><a href="mod_heartbeat.html">mod_heartbeat</a></dt><dd>Envoie des messages d'état au mandataire frontal</dd>
-<dt><a href="mod_heartmonitor.html">mod_heartmonitor</a></dt><dd>Moniteur centralisé pour les serveurs d'origine mod_heartbeat</dd>
+<dt><a href="mod_heartbeat.html">mod_heartbeat</a></dt><dd>Envoie des messages d'état au mandataire frontal</dd>
+<dt><a href="mod_heartmonitor.html">mod_heartmonitor</a></dt><dd>Moniteur centralisé pour les serveurs d'origine mod_heartbeat</dd>
<dt><a href="mod_http2.html">mod_http2</a></dt><dd>Support de la couche transport HTTP/2</dd>
-<dt><a href="mod_ident.html" id="I" name="I">mod_ident</a></dt><dd>Recherche d'identité conformément à la RFC
+<dt><a href="mod_ident.html" id="I" name="I">mod_ident</a></dt><dd>Recherche d'identité conformément à la RFC
1413</dd>
<dt><a href="mod_imagemap.html">mod_imagemap</a></dt><dd>Traitement des cartes des zones interactives d'une image
(imagemaps) au niveau du serveur</dd>
-<dt><a href="mod_include.html">mod_include</a></dt><dd>Documents html interprétés par le serveur (Server Side
+<dt><a href="mod_include.html">mod_include</a></dt><dd>Documents html interprétés par le serveur (Server Side
Includes ou SSI)</dd>
-<dt><a href="mod_info.html">mod_info</a></dt><dd>Affiche une présentation complète de la configuration du
+<dt><a href="mod_info.html">mod_info</a></dt><dd>Affiche une présentation complète de la configuration du
serveur</dd>
<dt><a href="mod_isapi.html">mod_isapi</a></dt><dd>Extensions ISAPI dans Apache pour Windows</dd>
-<dt><a href="mod_journald.html" id="J" name="J">mod_journald</a></dt><dd>Implémentation du fournisseur de journalisation d'erreurs
+<dt><a href="mod_journald.html" id="J" name="J">mod_journald</a></dt><dd>Implémentation du fournisseur de journalisation d'erreurs
"journald"</dd>
-<dt><a href="mod_lbmethod_bybusyness.html" id="L" name="L">mod_lbmethod_bybusyness</a></dt><dd>Algorithme de planification avec répartition de charge de
-l'attribution des requêtes en attente pour le module
+<dt><a href="mod_lbmethod_bybusyness.html" id="L" name="L">mod_lbmethod_bybusyness</a></dt><dd>Algorithme de planification avec répartition de charge de
+l'attribution des requêtes en attente pour le module
<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd>
-<dt><a href="mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></dt><dd>Algorithme de planification avec répartition de charge du
-traitement des requêtes pour le module
+<dt><a href="mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></dt><dd>Algorithme de planification avec répartition de charge du
+traitement des requêtes pour le module
<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd>
-<dt><a href="mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></dt><dd>Algorithme de planification avec répartition de charge en
+<dt><a href="mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></dt><dd>Algorithme de planification avec répartition de charge en
fonction d'un niveau de trafic pour le module
<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dd>
-<dt><a href="mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></dt><dd>Algorithme d'ordonnancement de répartition de charge pour
-<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> basé sur le comptage de trafic Heartbeat</dd>
+<dt><a href="mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></dt><dd>Algorithme d'ordonnancement de répartition de charge pour
+<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> basé sur le comptage de trafic Heartbeat</dd>
<dt><a href="mod_ldap.html">mod_ldap</a></dt><dd>Conservation des connexions LDAP et services de mise en
-cache du résultat à destination des autres modules LDAP</dd>
-<dt><a href="mod_log_config.html">mod_log_config</a></dt><dd>Journalisation des requêtes envoyées au
+cache du résultat à destination des autres modules LDAP</dd>
+<dt><a href="mod_log_config.html">mod_log_config</a></dt><dd>Journalisation des requêtes envoyées au
serveur</dd>
-<dt><a href="mod_log_debug.html">mod_log_debug</a></dt><dd>Possibilité de journalisation supplémentaire à des fins de
-débogage</dd>
-<dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt><dd>Journalisation légale des requêtes envoyées au
+<dt><a href="mod_log_debug.html">mod_log_debug</a></dt><dd>Possibilité de journalisation supplémentaire à des fins de
+débogage</dd>
+<dt><a href="mod_log_forensic.html">mod_log_forensic</a></dt><dd>Journalisation légale des requêtes envoyées au
serveur</dd>
-<dt><a href="mod_logio.html">mod_logio</a></dt><dd>Journalisation des octets en entrée et en sortie pour
-chaque requête</dd>
-<dt><a href="mod_lua.html">mod_lua</a></dt><dd>Fournit des points d'entrée Lua dans différentes parties du
-traitement des requêtes httpd</dd>
+<dt><a href="mod_logio.html">mod_logio</a></dt><dd>Journalisation des octets en entrée et en sortie pour
+chaque requête</dd>
+<dt><a href="mod_lua.html">mod_lua</a></dt><dd>Fournit des points d'entrée Lua dans différentes parties du
+traitement des requêtes httpd</dd>
<dt><a href="mod_macro.html" id="M" name="M">mod_macro</a></dt><dd>Ce module permet d'utiliser des macros dans les fichiers
de configuration Apache.</dd>
<dt><a href="mod_md.html">mod_md</a></dt><dd>Managing domains across virtual hosts, certificate provisioning
via the ACME protocol
</dd>
-<dt><a href="mod_mime.html">mod_mime</a></dt><dd>Associe les extensions des fichiers demandés avec l'action
-déclenchée par ces fichiers et avec leur contenu (type MIME, langage,
-jeu de caractère et codage)</dd>
-<dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt><dd>Détermine le type MIME d'un fichier à partir de quelques
+<dt><a href="mod_mime.html">mod_mime</a></dt><dd>Associe les extensions des fichiers demandés avec l'action
+déclenchée par ces fichiers et avec leur contenu (type MIME, langage,
+jeu de caractère et codage)</dd>
+<dt><a href="mod_mime_magic.html">mod_mime_magic</a></dt><dd>Détermine le type MIME d'un fichier à partir de quelques
octets de son contenu</dd>
-<dt><a href="mod_negotiation.html" id="N" name="N">mod_negotiation</a></dt><dd>Effectue la <a href="../content-negotiation.html">négociation de
+<dt><a href="mod_negotiation.html" id="N" name="N">mod_negotiation</a></dt><dd>Effectue la <a href="../content-negotiation.html">négociation de
contenu</a></dd>
<dt><a href="mod_nw_ssl.html">mod_nw_ssl</a></dt><dd>Active le chiffrement SSL pour Netware</dd>
-<dt><a href="mod_policy.html" id="P" name="P">mod_policy</a></dt><dd>Mise en conformité avec le protocole HTTP.</dd>
-<dt><a href="mod_privileges.html">mod_privileges</a></dt><dd>Support des privilèges de Solaris et de l'exécution des
-serveurs virtuels sous différents identifiants
+<dt><a href="mod_policy.html" id="P" name="P">mod_policy</a></dt><dd>Mise en conformité avec le protocole HTTP.</dd>
+<dt><a href="mod_privileges.html">mod_privileges</a></dt><dd>Support des privilèges de Solaris et de l'exécution des
+serveurs virtuels sous différents identifiants
utilisateurs.</dd>
<dt><a href="mod_proxy.html">mod_proxy</a></dt><dd>Serveur mandataire/passerelle multi-protocole</dd>
<dt><a href="mod_proxy_ajp.html">mod_proxy_ajp</a></dt><dd>Module de support AJP pour
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
<dt><a href="mod_proxy_balancer.html">mod_proxy_balancer</a></dt><dd>Extension de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le support de
-la répartition de charge</dd>
+la répartition de charge</dd>
<dt><a href="mod_proxy_connect.html">mod_proxy_connect</a></dt><dd>Extension de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le traitement
-des requêtes <code>CONNECT</code></dd>
-<dt><a href="mod_proxy_express.html">mod_proxy_express</a></dt><dd>Extension à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le mandatement
+des requêtes <code>CONNECT</code></dd>
+<dt><a href="mod_proxy_express.html">mod_proxy_express</a></dt><dd>Extension à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le mandatement
dynamique inverse de masse</dd>
-<dt><a href="mod_proxy_fcgi.html">mod_proxy_fcgi</a></dt><dd>Module fournissant le support de FastCGI à
+<dt><a href="mod_proxy_fcgi.html">mod_proxy_fcgi</a></dt><dd>Module fournissant le support de FastCGI à
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
<dt><a href="mod_proxy_fdpass.html">mod_proxy_fdpass</a></dt><dd>Module fournissant le support des processus externes fdpass
-à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
-<dt><a href="mod_proxy_ftp.html">mod_proxy_ftp</a></dt><dd>Module fournissant le support FTP à
+à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
+<dt><a href="mod_proxy_ftp.html">mod_proxy_ftp</a></dt><dd>Module fournissant le support FTP à
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
-<dt><a href="mod_proxy_hcheck.html">mod_proxy_hcheck</a></dt><dd>Check up dynamique des membres du groupe de répartition de charge
-(équipiers) pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
-<dt><a href="mod_proxy_html.html">mod_proxy_html</a></dt><dd>Réécrit les liens HTML afin de s'assurer qu'ils soient bien
-adressables depuis les réseaux des clients dans un contexte de
+<dt><a href="mod_proxy_hcheck.html">mod_proxy_hcheck</a></dt><dd>Check up dynamique des membres du groupe de répartition de charge
+(équipiers) pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
+<dt><a href="mod_proxy_html.html">mod_proxy_html</a></dt><dd>Réécrit les liens HTML afin de s'assurer qu'ils soient bien
+adressables depuis les réseaux des clients dans un contexte de
mandataire.</dd>
-<dt><a href="mod_proxy_http.html">mod_proxy_http</a></dt><dd>Module fournissant le support HTTP à
+<dt><a href="mod_proxy_http.html">mod_proxy_http</a></dt><dd>Module fournissant le support HTTP à
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
<dt><a href="mod_proxy_http2.html">mod_proxy_http2</a></dt><dd>Support de HTTP/2 pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
-<dt><a href="mod_proxy_scgi.html">mod_proxy_scgi</a></dt><dd>Module fournissant le support de la passerelle SCGI à
+<dt><a href="mod_proxy_scgi.html">mod_proxy_scgi</a></dt><dd>Module fournissant le support de la passerelle SCGI à
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
<dt><a href="mod_proxy_uwsgi.html">mod_proxy_uwsgi</a></dt><dd>UWSGI gateway module for <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
<dt><a href="mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></dt><dd>Module pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> supportant les
websockets</dd>
<dt><a href="mod_ratelimit.html" id="R" name="R">mod_ratelimit</a></dt><dd>Limitation de la bande passante pour les clients</dd>
-<dt><a href="mod_reflector.html">mod_reflector</a></dt><dd>Renvoie un corps de requête comme réponse via la pile de
+<dt><a href="mod_reflector.html">mod_reflector</a></dt><dd>Renvoie un corps de requête comme réponse via la pile de
filtres en sortie.</dd>
<dt><a href="mod_remoteip.html">mod_remoteip</a></dt><dd>Remplace l'adresse IP du client
-pour la requête par l'adresse IP présentée par un mandataire ou un
-répartiteur de charge via les en-têtes de la requête.
+pour la requête par l'adresse IP présentée par un mandataire ou un
+répartiteur de charge via les en-têtes de la requête.
</dd>
-<dt><a href="mod_reqtimeout.html">mod_reqtimeout</a></dt><dd>Définit le délai maximum et le taux de transfert des
-données minimum pour la réception des requêtes
+<dt><a href="mod_reqtimeout.html">mod_reqtimeout</a></dt><dd>Définit le délai maximum et le taux de transfert des
+données minimum pour la réception des requêtes
</dd>
-<dt><a href="mod_request.html">mod_request</a></dt><dd>Filtres permettant de traiter et de mettre à disposition
-les corps de requêtes HTTP</dd>
-<dt><a href="mod_rewrite.html">mod_rewrite</a></dt><dd>Ce module fournit un moteur de réécriture à base de
-règles permettant de réécrire les URLs des requêtes
-à la volée</dd>
-<dt><a href="mod_sed.html" id="S" name="S">mod_sed</a></dt><dd>Filtre les contenus en entrée (requêtes) et en sortie
-(réponses) en utilisant la syntaxe de <code>sed</code></dd>
+<dt><a href="mod_request.html">mod_request</a></dt><dd>Filtres permettant de traiter et de mettre à disposition
+les corps de requêtes HTTP</dd>
+<dt><a href="mod_rewrite.html">mod_rewrite</a></dt><dd>Ce module fournit un moteur de réécriture à base de
+règles permettant de réécrire les URLs des requêtes
+à la volée</dd>
+<dt><a href="mod_sed.html" id="S" name="S">mod_sed</a></dt><dd>Filtre les contenus en entrée (requêtes) et en sortie
+(réponses) en utilisant la syntaxe de <code>sed</code></dd>
<dt><a href="mod_session.html">mod_session</a></dt><dd>Support des sessions</dd>
-<dt><a href="mod_session_cookie.html">mod_session_cookie</a></dt><dd>Support des sessions basé sur les cookies</dd>
+<dt><a href="mod_session_cookie.html">mod_session_cookie</a></dt><dd>Support des sessions basé sur les cookies</dd>
<dt><a href="mod_session_crypto.html">mod_session_crypto</a></dt><dd>Support du chiffrement des sessions</dd>
-<dt><a href="mod_session_dbd.html">mod_session_dbd</a></dt><dd>Support des session basé sur DBD/SQL</dd>
-<dt><a href="mod_setenvif.html">mod_setenvif</a></dt><dd>Permet de définir des variables d'environnement en fonction
-de certaines caractéristiques de la requête</dd>
-<dt><a href="mod_slotmem_plain.html">mod_slotmem_plain</a></dt><dd>Fournisseur de mémoire partagée à base de
+<dt><a href="mod_session_dbd.html">mod_session_dbd</a></dt><dd>Support des session basé sur DBD/SQL</dd>
+<dt><a href="mod_setenvif.html">mod_setenvif</a></dt><dd>Permet de définir des variables d'environnement en fonction
+de certaines caractéristiques de la requête</dd>
+<dt><a href="mod_slotmem_plain.html">mod_slotmem_plain</a></dt><dd>Fournisseur de mémoire partagée à base de
slots.</dd>
-<dt><a href="mod_slotmem_shm.html">mod_slotmem_shm</a></dt><dd>Fournisseur de mémoire partagée basée sur les
+<dt><a href="mod_slotmem_shm.html">mod_slotmem_shm</a></dt><dd>Fournisseur de mémoire partagée basée sur les
slots.</dd>
-<dt><a href="mod_so.html">mod_so</a></dt><dd>Chargement de modules ou de code exécutable au cours du
-démarrage ou du redémarrage du serveur</dd>
-<dt><a href="mod_socache_dbm.html">mod_socache_dbm</a></dt><dd>Fournisseur de cache d'objets partagés basé sur DBM.</dd>
-<dt><a href="mod_socache_dc.html">mod_socache_dc</a></dt><dd>Fournisseur de cache d'objets partagés basé sur dc.</dd>
-<dt><a href="mod_socache_memcache.html">mod_socache_memcache</a></dt><dd>Fournisseur de cache d'objets partagés basé sur Memcache.</dd>
+<dt><a href="mod_so.html">mod_so</a></dt><dd>Chargement de modules ou de code exécutable au cours du
+démarrage ou du redémarrage du serveur</dd>
+<dt><a href="mod_socache_dbm.html">mod_socache_dbm</a></dt><dd>Fournisseur de cache d'objets partagés basé sur DBM.</dd>
+<dt><a href="mod_socache_dc.html">mod_socache_dc</a></dt><dd>Fournisseur de cache d'objets partagés basé sur dc.</dd>
+<dt><a href="mod_socache_memcache.html">mod_socache_memcache</a></dt><dd>Fournisseur de cache d'objets partagés basé sur Memcache.</dd>
<dt><a href="mod_socache_redis.html">mod_socache_redis</a></dt><dd>Redis based shared object cache provider.</dd>
-<dt><a href="mod_socache_shmcb.html">mod_socache_shmcb</a></dt><dd>Fournisseur de cache d'objets partagés basé sur shmcb.</dd>
+<dt><a href="mod_socache_shmcb.html">mod_socache_shmcb</a></dt><dd>Fournisseur de cache d'objets partagés basé sur shmcb.</dd>
<dt><a href="mod_speling.html">mod_speling</a></dt><dd>Tente de corriger les erreurs de casse dans les URLs ou les
-erreurs d'écriture mineures.</dd>
-<dt><a href="mod_ssl.html">mod_ssl</a></dt><dd>Chiffrement de haut niveau basé sur les protocoles Secure
+erreurs d'écriture mineures.</dd>
+<dt><a href="mod_ssl.html">mod_ssl</a></dt><dd>Chiffrement de haut niveau basé sur les protocoles Secure
Sockets Layer (SSL) et Transport Layer Security (TLS)</dd>
-<dt><a href="mod_ssl_ct.html">mod_ssl_ct</a></dt><dd>Implémentation de la transparence des certificats
+<dt><a href="mod_ssl_ct.html">mod_ssl_ct</a></dt><dd>Implémentation de la transparence des certificats
(Certificat Transparency - RFC 6962)
</dd>
-<dt><a href="mod_status.html">mod_status</a></dt><dd>Fournit des informations sur les performances et l'activité
+<dt><a href="mod_status.html">mod_status</a></dt><dd>Fournit des informations sur les performances et l'activité
du serveur</dd>
-<dt><a href="mod_substitute.html">mod_substitute</a></dt><dd>Effectue des opérations de recherche/remplacement sur les
-corps de réponses</dd>
-<dt><a href="mod_suexec.html">mod_suexec</a></dt><dd>Permet l'exécution des scripts CGI sous l'utilisateur et
-le groupe spécifiés</dd>
+<dt><a href="mod_substitute.html">mod_substitute</a></dt><dd>Effectue des opérations de recherche/remplacement sur les
+corps de réponses</dd>
+<dt><a href="mod_suexec.html">mod_suexec</a></dt><dd>Permet l'exécution des scripts CGI sous l'utilisateur et
+le groupe spécifiés</dd>
<dt><a href="mod_syslog.html">mod_syslog</a></dt><dd>Support du fournisseur de journalisation "syslog"</dd>
-<dt><a href="mod_systemd.html">mod_systemd</a></dt><dd>Fournit un support amélioré pour l'intégration de systemd</dd>
+<dt><a href="mod_systemd.html">mod_systemd</a></dt><dd>Fournit un support amélioré pour l'intégration de systemd</dd>
<dt><a href="mod_unique_id.html" id="U" name="U">mod_unique_id</a></dt><dd>Fournit une variable d'environnement contenant un
-identifiant unique pour chaque requête</dd>
-<dt><a href="mod_unixd.html">mod_unixd</a></dt><dd>Sécurité de base (nécessaire) pour les plates-formes de la
+identifiant unique pour chaque requête</dd>
+<dt><a href="mod_unixd.html">mod_unixd</a></dt><dd>Sécurité de base (nécessaire) pour les plates-formes de la
famille Unix.</dd>
-<dt><a href="mod_userdir.html">mod_userdir</a></dt><dd>Répertoires propres à un utilisateur</dd>
+<dt><a href="mod_userdir.html">mod_userdir</a></dt><dd>Répertoires propres à un utilisateur</dd>
<dt><a href="mod_usertrack.html">mod_usertrack</a></dt><dd>
Journalisation <em>Clickstream</em> des liens parcourus par un
utilisateur sur un site
</dd>
-<dt><a href="mod_version.html" id="V" name="V">mod_version</a></dt><dd>Configuration dépendant de la version</dd>
-<dt><a href="mod_vhost_alias.html">mod_vhost_alias</a></dt><dd>Permet de configurer dynamiquement l'hébergement virtuel de
+<dt><a href="mod_version.html" id="V" name="V">mod_version</a></dt><dd>Configuration dépendant de la version</dd>
+<dt><a href="mod_vhost_alias.html">mod_vhost_alias</a></dt><dd>Permet de configurer dynamiquement l'hébergement virtuel de
masse</dd>
-<dt><a href="mod_watchdog.html" id="W" name="W">mod_watchdog</a></dt><dd>Fournit une infrastructure permettant à d'autres modules
-d'exécuter des tâches périodiques.</dd>
+<dt><a href="mod_watchdog.html" id="W" name="W">mod_watchdog</a></dt><dd>Fournit une infrastructure permettant à d'autres modules
+d'exécuter des tâches périodiques.</dd>
<dt><a href="mod_xml2enc.html" id="X" name="X">mod_xml2enc</a></dt><dd>Enhanced charset/internationalisation support for libxml2-based
filter modules</dd>
</dl></div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../de/mod/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/" title="Français"> fr </a> |
+<a href="../es/mod/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/" title="Français"> fr </a> |
<a href="../ja/mod/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../tr/mod/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/mod/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_access_compat</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_access_compat.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_access_compat.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_access_compat.html" title="Français"> fr </a> |
+<a href="../es/mod/mod_access_compat.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_access_compat.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_access_compat.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisations de groupe à base de nom d'hôte (nom ou
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisations de groupe à base de nom d'hôte (nom ou
adresse IP)</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>access_compat_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_access_compat.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans la version 2.3 du serveur HTTP Apache
-à des fins de compatibilité
-avec les précédentes versions d'Apache httpd 2.x. Les directives fournies par
-ce module sont devenues obsolètes depuis la refonte d'authz. Voir
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>access_compat_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_access_compat.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans la version 2.3 du serveur HTTP Apache
+à des fins de compatibilité
+avec les précédentes versions d'Apache httpd 2.x. Les directives fournies par
+ce module sont devenues obsolètes depuis la refonte d'authz. Voir
<code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></td></tr></table>
<h3>Sommaire</h3>
<code class="directive"><a href="../mod/core.html#files"><Files></a></code> et
<code class="directive"><a href="../mod/core.html#location"><Location></a></code>, ainsi
que dans les fichiers <code><a href="core.html#accessfilename">.htaccess</a></code> et permettent
- de contrôler l'accès à certaines parties du serveur. On peut
- contrôler cet accès en fonction du nom d'hôte du client, de son
- adresse IP ou d'autres caractéristiques de la requête, telles
- qu'elles sont enregistrées dans les <a href="../env.html">variables
- d'environnement</a>. Les directives <code class="directive"><a href="#allow">Allow</a></code> et <code class="directive"><a href="#deny">Deny</a></code> permettent de spécifier
- quels clients sont ou ne sont pas autorisés à accéder au serveur,
- alors que la directive <code class="directive"><a href="#order">Order</a></code> définit le statut
- d'accès par défaut, et détermine la manière dont les directives
+ de contrôler l'accès à certaines parties du serveur. On peut
+ contrôler cet accès en fonction du nom d'hôte du client, de son
+ adresse IP ou d'autres caractéristiques de la requête, telles
+ qu'elles sont enregistrées dans les <a href="../env.html">variables
+ d'environnement</a>. Les directives <code class="directive"><a href="#allow">Allow</a></code> et <code class="directive"><a href="#deny">Deny</a></code> permettent de spécifier
+ quels clients sont ou ne sont pas autorisés à accéder au serveur,
+ alors que la directive <code class="directive"><a href="#order">Order</a></code> définit le statut
+ d'accès par défaut, et détermine la manière dont les directives
<code class="directive"><a href="#allow">Allow</a></code> et
<code class="directive"><a href="#deny">Deny</a></code> interagissent
entre elles.</p>
- <p>Les restrictions d'accès à base de nom d'hôte et
- l'authentification à base de mot de passe peuvent être implémentées
- simultanément. Dans ce cas, on utilise la directive <code class="directive"><a href="#satisfy">Satisfy</a></code> pour déterminer la
- manière dont ces deux modes de restrictions interagissent.</p>
+ <p>Les restrictions d'accès à base de nom d'hôte et
+ l'authentification à base de mot de passe peuvent être implémentées
+ simultanément. Dans ce cas, on utilise la directive <code class="directive"><a href="#satisfy">Satisfy</a></code> pour déterminer la
+ manière dont ces deux modes de restrictions interagissent.</p>
<div class="warning"><h3>Note</h3>
<p>Les directives fournies par le module
- <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> sont devenues obsolètes depuis
- la refonte du module <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>. Mélanger d'anciennes
+ <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> sont devenues obsolètes depuis
+ la refonte du module <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>. Mélanger d'anciennes
directives comme <code class="directive"><a href="#order">Order</a></code>, <code class="directive"><a href="#allow">Allow</a></code> ou <code class="directive"><a href="#deny">Deny</a></code> avec des nouvelles comme
<code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> est techniquement
- possible mais déconseillé. En effet, <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> a
- été conçu pour supporter des configurations ne contenant que des anciennes
- directives afin de faciliter le passage à la version 2.4. Voir le document
- <a href="../upgrading.html">upgrading</a> pour plus de détails.
+ possible mais déconseillé. En effet, <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> a
+ été conçu pour supporter des configurations ne contenant que des anciennes
+ directives afin de faciliter le passage à la version 2.4. Voir le document
+ <a href="../upgrading.html">upgrading</a> pour plus de détails.
</p>
</div>
- <p>En général, les directives de restriction d'accès s'appliquent à
- toutes les méthodes d'accès (<code>GET</code>, <code>PUT</code>,
+ <p>En général, les directives de restriction d'accès s'appliquent à
+ toutes les méthodes d'accès (<code>GET</code>, <code>PUT</code>,
<code>POST</code>, etc...). C'est d'ailleurs ce que l'on souhaite
dans la plupart des cas. Il est cependant possible de restreindre
- certaines méthodes, alors que les autres méthodes ne se verront
- imposée aucune restriction, en regroupant les directives à
- l'intérieur d'une section <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code>.</p>
+ certaines méthodes, alors que les autres méthodes ne se verront
+ imposée aucune restriction, en regroupant les directives à
+ l'intérieur d'une section <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code>.</p>
<div class="note"><h3>Fusion des sections de configuration</h3>
- <p>Lorsqu'une directive fournie par ce module est utilisée dans
- une nouvelle section de configuration, cette dernière n'hérite
- d'aucune directive définie dans une section précédente.</p>
+ <p>Lorsqu'une directive fournie par ce module est utilisée dans
+ une nouvelle section de configuration, cette dernière n'hérite
+ d'aucune directive définie dans une section précédente.</p>
</div>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#order">Order</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#satisfy">Satisfy</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_access_compat">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_access_compat">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_access_compat">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_access_compat">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
<li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="allow" id="allow">Directive</a> <a name="Allow" id="Allow">Allow</a><a title="Lien permanent" href="#allow" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie quels hôtes peuvent accéder à une certaine zone du
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie quels hôtes peuvent accéder à une certaine zone du
serveur</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> Allow from all|<var>hôte</var>|env=[!]<var>variable
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> Allow from all|<var>hôte</var>|env=[!]<var>variable
d'environnement</var>
-[<var>hôte</var>|env=[!]<var>variable d'environnement</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+[<var>hôte</var>|env=[!]<var>variable d'environnement</var>] ...</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">AllowOverride:</a></th><td>Limit</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_access_compat</td></tr>
</table>
- <p>La directive <code class="directive">Allow</code> permet de définir quels
- hôtes ont le droit d'accéder à une certaine partie du serveur. On
- peut contrôler l'accès par nom d'hôte, adresse IP, intervalle
- d'adresses IP, ou toute autre caractéristique de la requête client
- enregistrée dans les variables d'environnement.</p>
+ <p>La directive <code class="directive">Allow</code> permet de définir quels
+ hôtes ont le droit d'accéder à une certaine partie du serveur. On
+ peut contrôler l'accès par nom d'hôte, adresse IP, intervalle
+ d'adresses IP, ou toute autre caractéristique de la requête client
+ enregistrée dans les variables d'environnement.</p>
<p>Le premier argument de cette directive est toujours
<code>from</code>. Les arguments suivants peuvent prendre trois
- formes différentes. Si <code>Allow from all</code> est spécifié,
- tout hôte se voit accordé l'accès, en tenant compte des directives
- <code class="directive"><a href="#deny">Deny</a></code> et <code class="directive"><a href="#order">Order</a></code> comme décrit plus loin.
- Pour ne permettre l'accès au serveur qu'à un hôte ou un groupe
- d'hôtes particuliers, on peut spécifier un <em>nom d'hôte</em> sous
+ formes différentes. Si <code>Allow from all</code> est spécifié,
+ tout hôte se voit accordé l'accès, en tenant compte des directives
+ <code class="directive"><a href="#deny">Deny</a></code> et <code class="directive"><a href="#order">Order</a></code> comme décrit plus loin.
+ Pour ne permettre l'accès au serveur qu'à un hôte ou un groupe
+ d'hôtes particuliers, on peut spécifier un <em>nom d'hôte</em> sous
une des formes suivantes :</p>
<dl>
<pre class="prettyprint lang-config">Allow from example.org
Allow from .net example.edu</pre>
- <p>Les hôtes dont les noms correspondent ou se terminent par la
- chaîne spécifiée ont l'autorisation d'accès. Seules les
- composantes entières du nom d'hôte doivent correspondre ; ainsi,
+ <p>Les hôtes dont les noms correspondent ou se terminent par la
+ chaîne spécifiée ont l'autorisation d'accès. Seules les
+ composantes entières du nom d'hôte doivent correspondre ; ainsi,
dans l'exemple ci-dessus, <code>foo.example.org</code>
correspondra, mais <code>fooexample.org</code> ne conviendra pas.
Avec cette configuration, Apache httpd va effectuer une double recherche
DNS sur l'adresse IP du client, sans tenir compte de la
- définition de la directive <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code>. Tout d'abord, une
- recherche DNS inverse sur l'adresse IP est effectuée pour
- déterminer le nom d'hôte associé, puis une recherche directe sur
- le nom d'hôte est effectuée afin de s'assurer qu'il correspond
- bien à l'adresse IP originale. L'accès ne sera accordé que si le
- nom d'hôte correspond et si les recherches DNS inverse et directe
+ définition de la directive <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code>. Tout d'abord, une
+ recherche DNS inverse sur l'adresse IP est effectuée pour
+ déterminer le nom d'hôte associé, puis une recherche directe sur
+ le nom d'hôte est effectuée afin de s'assurer qu'il correspond
+ bien à l'adresse IP originale. L'accès ne sera accordé que si le
+ nom d'hôte correspond et si les recherches DNS inverse et directe
concordent.</p></dd>
- <dt>Une adresse IP complète</dt>
+ <dt>Une adresse IP complète</dt>
<dd>
<pre class="prettyprint lang-config">Allow from 10.1.2.3
Allow from 192.168.1.104 192.168.1.205</pre>
- <p>L'adresse IP d'un hôte auquel on a accordé l'accès</p></dd>
+ <p>L'adresse IP d'un hôte auquel on a accordé l'accès</p></dd>
<dt>Une adresse IP partielle</dt>
<pre class="prettyprint lang-config">Allow from 10.1
Allow from 10 172.20 192.168.2</pre>
- <p>De un à trois des premiers octets d'une adresse IP, afin de
- restreindre l'accès à un sous-réseau.</p></dd>
+ <p>De un à trois des premiers octets d'une adresse IP, afin de
+ restreindre l'accès à un sous-réseau.</p></dd>
- <dt>Une paire réseau/masque de sous-réseau</dt>
+ <dt>Une paire réseau/masque de sous-réseau</dt>
<dd>
<pre class="prettyprint lang-config">Allow from 10.1.0.0/255.255.0.0</pre>
- <p>Un réseau a.b.c.d, et un masque de sous-réseau w.x.y.z, pour
- une définition plus précise de la restriction d'accès imposée à un
- sous-réseau.</p></dd>
+ <p>Un réseau a.b.c.d, et un masque de sous-réseau w.x.y.z, pour
+ une définition plus précise de la restriction d'accès imposée à un
+ sous-réseau.</p></dd>
- <dt>Une spécification CIDR réseau/nnn</dt>
+ <dt>Une spécification CIDR réseau/nnn</dt>
<dd>
<pre class="prettyprint lang-config">Allow from 10.1.0.0/16</pre>
- <p>Identique au cas précédent, mis à part que le masque est
- constitué des nnn bits de poids fort.</p></dd>
+ <p>Identique au cas précédent, mis à part que le masque est
+ constitué des nnn bits de poids fort.</p></dd>
</dl>
- <p>Notez que les trois derniers exemples désignent le même ensemble
- d'hôtes.</p>
+ <p>Notez que les trois derniers exemples désignent le même ensemble
+ d'hôtes.</p>
- <p>On peut spécifier des adresses et sous-réseaux IPv6 de la manière
+ <p>On peut spécifier des adresses et sous-réseaux IPv6 de la manière
suivante :</p>
<pre class="prettyprint lang-config">Allow from 2001:db8::a00:20ff:fea7:ccea
Allow from 2001:db8::a00:20ff:fea7:ccea/10</pre>
- <p>Le troisième format d'argument de la directive
- <code class="directive">Allow</code> permet de contrôler l'accès au serveur
+ <p>Le troisième format d'argument de la directive
+ <code class="directive">Allow</code> permet de contrôler l'accès au serveur
en fonction de l'existence d'une <a href="../env.html">variable d'environnement</a>. Lorsque <code>Allow
- from env=<var>variable d'environnement</var></code> est spécifié, la
- requête est autorisée si la variable d'environnement <var>variable
+ from env=<var>variable d'environnement</var></code> est spécifié, la
+ requête est autorisée si la variable d'environnement <var>variable
d'environnement</var> existe. En revanche, lorsque <code>Allow from
- env=!<var>env-variable</var></code> est spécifié, la
- requête est autorisée si la variable d'environnement <var>variable
- d'environnement</var> n'existe pas. Le serveur permet de définir
+ env=!<var>env-variable</var></code> est spécifié, la
+ requête est autorisée si la variable d'environnement <var>variable
+ d'environnement</var> n'existe pas. Le serveur permet de définir
avec souplesse des variables d'environnement en se basant sur les
- caractéristiques de la requête client et en utilisant les directives
+ caractéristiques de la requête client et en utilisant les directives
fournies par le module <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>. Ainsi, on peut
utiliser la directive <code class="directive">Allow</code> pour permettre
- l'accès en fonction de paramètres comme le <code>User-Agent</code>
+ l'accès en fonction de paramètres comme le <code>User-Agent</code>
(type de navigateur) des clients, le <code>Referer</code>, ou
- d'autres champs d'en-tête de la requête HTTP.</p>
+ d'autres champs d'en-tête de la requête HTTP.</p>
<pre class="prettyprint lang-config">SetEnvIf User-Agent ^KnockKnock/2\.0 let_me_in
<Directory "/docroot">
</Directory></pre>
- <p>Dans cet exemple, les navigateurs dont la chaîne user-agent
+ <p>Dans cet exemple, les navigateurs dont la chaîne user-agent
commence par <code>KnockKnock/2.0</code> se verront accorder
- l'accès, alors que tous les autres seront rejetés.</p>
+ l'accès, alors que tous les autres seront rejetés.</p>
<div class="note"><h3>Fusion des sections de configuration</h3>
- <p>Lorsqu'une directive fournie par ce module est utilisée dans
- une nouvelle section de configuration, cette dernière n'hérite
- d'aucune directive définie dans une section précédente.</p>
+ <p>Lorsqu'une directive fournie par ce module est utilisée dans
+ une nouvelle section de configuration, cette dernière n'hérite
+ d'aucune directive définie dans une section précédente.</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="deny" id="deny">Directive</a> <a name="Deny" id="Deny">Deny</a><a title="Lien permanent" href="#deny" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit quels hôtes ne sont pas autorisés à accéder au
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit quels hôtes ne sont pas autorisés à accéder au
serveur</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> Deny from all|<var>hôte</var>|env=[!]<var>variable
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> Deny from all|<var>hôte</var>|env=[!]<var>variable
d'environnement</var>
-[<var>hôte</var>|env=[!]<var>variable d'environnement</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+[<var>hôte</var>|env=[!]<var>variable d'environnement</var>] ...</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">AllowOverride:</a></th><td>Limit</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_access_compat</td></tr>
</table>
- <p>Cette directive permet de restreindre l'accès au serveur en
- fonction du nom d'hôte, de l'adresse IP ou de variables
+ <p>Cette directive permet de restreindre l'accès au serveur en
+ fonction du nom d'hôte, de l'adresse IP ou de variables
d'environnement. Les arguments de la directive
<code class="directive">Deny</code> sont identiques aux arguments de la
directive <code class="directive"><a href="#allow">Allow</a></code>.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="order" id="order">Directive</a> <a name="Order" id="Order">Order</a><a title="Lien permanent" href="#order" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le statut d'accès par défaut et l'ordre dans lequel
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le statut d'accès par défaut et l'ordre dans lequel
les directives <code class="directive">Allow</code> et
-<code class="directive">Deny</code> sont évaluées.</td></tr>
+<code class="directive">Deny</code> sont évaluées.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> Order <var>ordre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Order Deny,Allow</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#Default">Défaut:</a></th><td><code>Order Deny,Allow</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">AllowOverride:</a></th><td>Limit</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_access_compat</td></tr>
</table>
- <p>La directive <code class="directive">Order</code>, associée aux
+ <p>La directive <code class="directive">Order</code>, associée aux
directives <code class="directive"><a href="#allow">Allow</a></code>
et <code class="directive"><a href="#deny">Deny</a></code>,
- implémente un système de contrôle d'accès en trois passes. Au cours
- de la première passe, ce sont soit toutes les directives <code class="directive"><a href="#allow">Allow</a></code>, soit toutes les
- directives <code class="directive"><a href="#deny">Deny</a></code> qui sont traitées, selon
- la définition de la directive <code class="directive"><a href="#order">Order</a></code>. Le reste des
+ implémente un système de contrôle d'accès en trois passes. Au cours
+ de la première passe, ce sont soit toutes les directives <code class="directive"><a href="#allow">Allow</a></code>, soit toutes les
+ directives <code class="directive"><a href="#deny">Deny</a></code> qui sont traitées, selon
+ la définition de la directive <code class="directive"><a href="#order">Order</a></code>. Le reste des
directives (<code class="directive"><a href="#deny">Deny</a></code>
ou <code class="directive"><a href="#allow">Allow</a></code>) est
- traité au cours de la seconde passe. La troisième passe s'applique à
- toutes les requêtes qui ne sont concernées par aucune des deux
- premières passes.</p>
-
- <p>Notez que toutes les directives <code class="directive"><a href="#allow">Allow</a></code> et <code class="directive"><a href="#deny">Deny</a></code> sont traitées, à la
- différence d'un pare-feu classique où seule la première règle qui
- correspond est utilisée. La dernière directive qui correspond
- s'applique ( à la différence là encore d'un pare-feu classique). De
+ traité au cours de la seconde passe. La troisième passe s'applique à
+ toutes les requêtes qui ne sont concernées par aucune des deux
+ premières passes.</p>
+
+ <p>Notez que toutes les directives <code class="directive"><a href="#allow">Allow</a></code> et <code class="directive"><a href="#deny">Deny</a></code> sont traitées, à la
+ différence d'un pare-feu classique où seule la première règle qui
+ correspond est utilisée. La dernière directive qui correspond
+ s'applique ( à la différence là encore d'un pare-feu classique). De
plus, l'ordre dans lequel les lignes apparaissent dans le fichier de
- configuration n'a pas d'incidence -- toutes les lignes <code class="directive"><a href="#allow">Allow</a></code> sont considérées comme
+ configuration n'a pas d'incidence -- toutes les lignes <code class="directive"><a href="#allow">Allow</a></code> sont considérées comme
un groupe, toutes les lignes <code class="directive"><a href="#deny">Deny</a></code> comme un autre, et le
- statut par défaut a son existence propre.</p>
+ statut par défaut a son existence propre.</p>
- <p><em>Ordre</em> peut être :</p>
+ <p><em>Ordre</em> peut être :</p>
<dl>
<dt><code>Allow,Deny</code></dt>
- <dd>Dans un premier temps, toutes les directives <code class="directive"><a href="#allow">Allow</a></code> sont évaluées ; au
- moins une d'entre elles doit correspondre, sinon la requête est
- rejetée. Ensuite, toutes les directives <code class="directive"><a href="#deny">Deny</a></code> sont évaluées. Si au
- moins l'une d'entre elles correspond, la requête est rejetée.
- Enfin, toute requête qui ne correspond à aucune directive
+ <dd>Dans un premier temps, toutes les directives <code class="directive"><a href="#allow">Allow</a></code> sont évaluées ; au
+ moins une d'entre elles doit correspondre, sinon la requête est
+ rejetée. Ensuite, toutes les directives <code class="directive"><a href="#deny">Deny</a></code> sont évaluées. Si au
+ moins l'une d'entre elles correspond, la requête est rejetée.
+ Enfin, toute requête qui ne correspond à aucune directive
<code class="directive"><a href="#allow">Allow</a></code> ou
- <code class="directive"><a href="#deny">Deny</a></code> est rejetée
- par défaut.</dd>
+ <code class="directive"><a href="#deny">Deny</a></code> est rejetée
+ par défaut.</dd>
<dt><code>Deny,Allow</code></dt>
- <dd>Dans un premier temps, toutes les directives <code class="directive"><a href="#deny">Deny</a></code> sont évaluées ; Si au
- moins une d'entre elles correspond, la requête est rejetée,
- <strong>à moins</strong> qu'elle corresponde aussi à une directive
+ <dd>Dans un premier temps, toutes les directives <code class="directive"><a href="#deny">Deny</a></code> sont évaluées ; Si au
+ moins une d'entre elles correspond, la requête est rejetée,
+ <strong>à moins</strong> qu'elle corresponde aussi à une directive
<code class="directive"><a href="#allow">Allow</a></code>. Toute
- requête qui ne correspond à aucune directive <code class="directive"><a href="#allow">Allow</a></code> ou <code class="directive"><a href="#deny">Deny</a></code> est autorisée.</dd>
+ requête qui ne correspond à aucune directive <code class="directive"><a href="#allow">Allow</a></code> ou <code class="directive"><a href="#deny">Deny</a></code> est autorisée.</dd>
<dt><code>Mutual-failure</code></dt>
- <dd>Cet argument a le même effet que <code>Allow,Deny</code> et
- est devenu de ce fait obsolète.</dd>
+ <dd>Cet argument a le même effet que <code>Allow,Deny</code> et
+ est devenu de ce fait obsolète.</dd>
</dl>
- <p>Les mots-clés ne peuvent être séparés que par des virgules ;
+ <p>Les mots-clés ne peuvent être séparés que par des virgules ;
<em>aucun espace</em> ne doit s'intercaler entre eux.</p>
<table class="bordered">
<tr>
<th>Match</th>
- <th>Résultat Allow,Deny</th>
- <th>Résultat Deny,Allow</th>
+ <th>Résultat Allow,Deny</th>
+ <th>Résultat Deny,Allow</th>
</tr><tr>
- <th>Correspond à Allow seulement</th>
- <td>Requête autorisée</td>
- <td>Requête autorisée</td>
+ <th>Correspond à Allow seulement</th>
+ <td>Requête autorisée</td>
+ <td>Requête autorisée</td>
</tr><tr>
- <th>Correspond à Deny seulement</th>
- <td>Requête rejetée</td>
- <td>Requête rejetée</td>
+ <th>Correspond à Deny seulement</th>
+ <td>Requête rejetée</td>
+ <td>Requête rejetée</td>
</tr><tr>
<th>Aucune correspondance</th>
- <td>Par défaut la seconde directive : rejet</td>
- <td>Par défaut la seconde directive : autorisation</td>
+ <td>Par défaut la seconde directive : rejet</td>
+ <td>Par défaut la seconde directive : autorisation</td>
</tr><tr>
- <th>Correspond à Allow & Deny</th>
- <td>La dernière correspondance l'emporte : rejet</td>
- <td>La dernière correspondance l'emporte : autorisation</td>
+ <th>Correspond à Allow & Deny</th>
+ <td>La dernière correspondance l'emporte : rejet</td>
+ <td>La dernière correspondance l'emporte : autorisation</td>
</tr>
</table>
- <p>Dans cet exemple, tous les hôtes du domaine example.org ont
- l'autorisation d'accès ; tous les autres voient leur accès
- refusé.</p>
+ <p>Dans cet exemple, tous les hôtes du domaine example.org ont
+ l'autorisation d'accès ; tous les autres voient leur accès
+ refusé.</p>
<pre class="prettyprint lang-config">Order Deny,Allow
Deny from all
Allow from example.org</pre>
- <p>Dans l'exemple suivant, tous les hôtes du domaine example.org ont
- l'autorisation d'accès, sauf ceux du sous-domaine foo.example.org qui
- voient leur accès refusé. Tous les hôtes qui ne sont pas dans le
- domaine example.org sont rejetés car le statut par défaut est positionné
+ <p>Dans l'exemple suivant, tous les hôtes du domaine example.org ont
+ l'autorisation d'accès, sauf ceux du sous-domaine foo.example.org qui
+ voient leur accès refusé. Tous les hôtes qui ne sont pas dans le
+ domaine example.org sont rejetés car le statut par défaut est positionné
sur <code class="directive"><a href="#deny">Deny</a></code>, et consiste donc en un
- refus d'accès.</p>
+ refus d'accès.</p>
<pre class="prettyprint lang-config">Order Allow,Deny
Allow from example.org
<p>Par contre, si la valeur de la directive
- <code class="directive">Order</code>, dans l'exemple précédent, est
- <code>Deny,Allow</code>, tout le monde a l'autorisation d'accès.
- Ceci est dû au fait que <code>Allow from example.org</code> sera
- évalué en dernier, sans tenir compte de l'ordre réel dans lequel les
+ <code class="directive">Order</code>, dans l'exemple précédent, est
+ <code>Deny,Allow</code>, tout le monde a l'autorisation d'accès.
+ Ceci est dû au fait que <code>Allow from example.org</code> sera
+ évalué en dernier, sans tenir compte de l'ordre réel dans lequel les
directives apparaissent dans le fichier de configuration, et va
- l'emporter sur <code>Deny from foo.example.org</code>. Tout hôte qui
+ l'emporter sur <code>Deny from foo.example.org</code>. Tout hôte qui
n'est pas dans le domaine <code>example.org</code> aura aussi
- l'autorisation d'accès car le statut par défaut est positionné sur
+ l'autorisation d'accès car le statut par défaut est positionné sur
<code class="directive"><a href="#allow">Allow</a></code> et constitue donc une
- autorisation d'accès.</p>
+ autorisation d'accès.</p>
- <p>La présence d'une directive <code class="directive">Order</code> peut
- affecter le contrôle d'accès à une partie du serveur même en
- l'abscence de directives <code class="directive"><a href="#allow">Allow</a></code> et <code class="directive"><a href="#deny">Deny</a></code> associées, à cause de
- son influence sur le statut par défaut. Par exemple,</p>
+ <p>La présence d'une directive <code class="directive">Order</code> peut
+ affecter le contrôle d'accès à une partie du serveur même en
+ l'abscence de directives <code class="directive"><a href="#allow">Allow</a></code> et <code class="directive"><a href="#deny">Deny</a></code> associées, à cause de
+ son influence sur le statut par défaut. Par exemple,</p>
<pre class="prettyprint lang-config"><Directory "/www">
Order Allow,Deny
</Directory></pre>
- <p>va interdire tout accès au répertoire <code>/www</code> à cause
- du statut d'accès par défaut qui est défini à <code class="directive"><a href="#deny">Deny</a></code>.</p>
+ <p>va interdire tout accès au répertoire <code>/www</code> à cause
+ du statut d'accès par défaut qui est défini à <code class="directive"><a href="#deny">Deny</a></code>.</p>
- <p>La directive <code class="directive">Order</code> ne contrôle l'ordre
- dans lequel sont traitées les directives d'accès qu'au cours de
+ <p>La directive <code class="directive">Order</code> ne contrôle l'ordre
+ dans lequel sont traitées les directives d'accès qu'au cours de
chaque phase du traitement de la configuration du serveur. Ceci
- implique, par exemple, qu'une directive <code class="directive"><a href="#allow">Allow</a></code> ou <code class="directive"><a href="#deny">Deny</a></code> située dans une section
+ implique, par exemple, qu'une directive <code class="directive"><a href="#allow">Allow</a></code> ou <code class="directive"><a href="#deny">Deny</a></code> située dans une section
<code class="directive"><a href="../mod/core.html#location"><Location></a></code> sera
- toujours évaluée après une directive <code class="directive"><a href="#allow">Allow</a></code> ou <code class="directive"><a href="#deny">Deny</a></code> située dans une section
+ toujours évaluée après une directive <code class="directive"><a href="#allow">Allow</a></code> ou <code class="directive"><a href="#deny">Deny</a></code> située dans une section
<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou un
fichier <code>.htaccess</code>, sans tenir compte de la
- définition de la directive <code class="directive">Order</code>. Pour plus
- de détails à propos de la fusion des sections de configuration, voir
+ définition de la directive <code class="directive">Order</code>. Pour plus
+ de détails à propos de la fusion des sections de configuration, voir
le document <a href="../sections.html">Comment fonctionnent les sections Directory,
Location et Files</a>.</p>
<div class="note"><h3>Fusion des sections de configuration</h3>
- <p>Lorsqu'une directive fournie par ce module est utilisée dans
- une nouvelle section de configuration, cette dernière n'hérite
- d'aucune directive définie dans une section précédente.</p>
+ <p>Lorsqu'une directive fournie par ce module est utilisée dans
+ une nouvelle section de configuration, cette dernière n'hérite
+ d'aucune directive définie dans une section précédente.</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="satisfy" id="satisfy">Directive</a> <a name="Satisfy" id="Satisfy">Satisfy</a><a title="Lien permanent" href="#satisfy" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interaction entre le contrôle d'accès en fonction de l'hôte
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interaction entre le contrôle d'accès en fonction de l'hôte
et l'authentification utilisateur</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Satisfy Any|All</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Satisfy All</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#Default">Défaut:</a></th><td><code>Satisfy All</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">AllowOverride:</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_access_compat</td></tr>
</table>
- <p>Politique d'accès dans le cas où on utilise à la fois <code class="directive"><a href="#allow">Allow</a></code> et <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>. L'argument est soit
+ <p>Politique d'accès dans le cas où on utilise à la fois <code class="directive"><a href="#allow">Allow</a></code> et <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>. L'argument est soit
<code>All</code>, soit <code>Any</code>. L'utilisation de cette
- directive n'a de sens que si l'accès à une zone particulière du
+ directive n'a de sens que si l'accès à une zone particulière du
serveur est restreinte par utilisateur/mot de passe et en fonction
- de l'adresse IP de l'hôte client. Dans ce cas, par
- défaut (<code>All</code>), le client doit satisfaire à la
+ de l'adresse IP de l'hôte client. Dans ce cas, par
+ défaut (<code>All</code>), le client doit satisfaire à la
restriction d'adresse, <em>et</em> fournir un couple
utilisateur/mot de passe valide. Avec l'argument <code>Any</code>,
- le client se verra accorder l'accès s'il satisfait à la restriction
+ le client se verra accorder l'accès s'il satisfait à la restriction
d'adresse ou fournit un couple utilisateur/mot de passe valide. On
- peut utiliser cette dernière définition pour restreindre l'accès à
- une zone par mot de passe, mais accorder l'accès aux clients
- possédant certaines adresses IP sans qu'ils aient à fournir de mot
+ peut utiliser cette dernière définition pour restreindre l'accès à
+ une zone par mot de passe, mais accorder l'accès aux clients
+ possédant certaines adresses IP sans qu'ils aient à fournir de mot
de passe.</p>
<p>Par exemple, si vous souhaitez que les utilisateurs de votre
- réseau accèdent à une zone de votre site web sans restriction, mais
- que l'accès à cette zone nécessite un mot de passe pour les autres
+ réseau accèdent à une zone de votre site web sans restriction, mais
+ que l'accès à cette zone nécessite un mot de passe pour les autres
utilisateurs, vous pouvez utiliser une configuration du style :</p>
<pre class="prettyprint lang-config">Require valid-user
<p>
- Une autre utilisation fréquente de la directive
- <code class="directive">Satisfy</code> est l'allègement des restrictions
- d'accès à un sous-répertoire par rapport aux restrictions d'accès au
- répertoire parent :
+ Une autre utilisation fréquente de la directive
+ <code class="directive">Satisfy</code> est l'allègement des restrictions
+ d'accès à un sous-répertoire par rapport aux restrictions d'accès au
+ répertoire parent :
</p>
<pre class="prettyprint lang-config"><Directory "/var/www/private">
</Directory></pre>
- <p>Dans l'exemple ci-dessus, l'accès au répertoire
- <code>/var/www/private</code> nécessitera une authentification,
- alors que l'accès au répertoire <code>/var/www/private/public</code>
- sera accordé sans restriction.</p>
+ <p>Dans l'exemple ci-dessus, l'accès au répertoire
+ <code>/var/www/private</code> nécessitera une authentification,
+ alors que l'accès au répertoire <code>/var/www/private/public</code>
+ sera accordé sans restriction.</p>
<p>Depuis la version 2.0.51, les directives
- <code class="directive">Satisfy</code> peuvent être restreintes à certaines
- méthodes particulières à l'aide des sections <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> et <code class="directive"><a href="../mod/core.html#limitexcept"><LimitExcept></a></code>.</p>
+ <code class="directive">Satisfy</code> peuvent être restreintes à certaines
+ méthodes particulières à l'aide des sections <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> et <code class="directive"><a href="../mod/core.html#limitexcept"><LimitExcept></a></code>.</p>
<div class="note"><h3>Fusion des sections de configuration</h3>
- <p>Lorsqu'une directive fournie par ce module est utilisée dans
- une nouvelle section de configuration, cette dernière n'hérite
- d'aucune directive définie dans une section précédente.</p>
+ <p>Lorsqu'une directive fournie par ce module est utilisée dans
+ une nouvelle section de configuration, cette dernière n'hérite
+ d'aucune directive définie dans une section précédente.</p>
</div>
<h3>Voir aussi</h3>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_access_compat.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_access_compat.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_access_compat.html" title="Français"> fr </a> |
+<a href="../es/mod/mod_access_compat.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_access_compat.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_access_compat.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../de/mod/mod_actions.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/mod_actions.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_actions.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_actions.html" title="Français"> fr </a> |
+<a href="../es/mod/mod_actions.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_actions.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_actions.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_actions.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Exécution des scripts CGI en fonction du
-type de média ou de la méthode de requête.</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Exécution des scripts CGI en fonction du
+type de média ou de la méthode de 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>actions_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_actions.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>actions_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_actions.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module possède deux directives. La directive <code class="directive"><a href="#action">Action</a></code> vous permet de lancer
- l'exécution de scripts CGI chaque fois qu'un fichier possédant un
+ <p>Ce module possède deux directives. La directive <code class="directive"><a href="#action">Action</a></code> vous permet de lancer
+ l'exécution de scripts CGI chaque fois qu'un fichier possédant un
certain <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">type de contenu MIME</a>
- fait l'objet d'une requête. La directive <code class="directive"><a href="#script">Script</a></code> vous permet de lancer
- l'exécution de scripts CGI chaque fois que la requête utilise une
- méthode particulière. Ceci facilite grandement l'exécution de
+ fait l'objet d'une requête. La directive <code class="directive"><a href="#script">Script</a></code> vous permet de lancer
+ l'exécution de scripts CGI chaque fois que la requête utilise une
+ méthode particulière. Ceci facilite grandement l'exécution de
scripts qui traitent des fichiers.</p> </div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#action">Action</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#script">Script</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_actions">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_actions">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_actions">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_actions">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li>
<li><a href="../howto/cgi.html">Contenu dynamique avec CGI</a></li>
contenu particulier</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Action <var>type d'action</var> <var>script cgi</var>
[virtual]</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_actions</td></tr>
</table>
<p>Cette directive ajoute une action qui va activer <var>script
- cgi</var> lorsque <var>type d'action</var> est déclenché par la
- requête. <var>script cgi</var> est un chemin URL vers une ressource
- qui a été désignée comme script CGI à l'aide des directives
+ cgi</var> lorsque <var>type d'action</var> est déclenché par la
+ requête. <var>script cgi</var> est un chemin URL vers une ressource
+ qui a été désignée comme script CGI à l'aide des directives
<code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> ou <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code>. <var>type d'action</var>
- peut être soit un <a href="../handler.html">gestionnaire</a>, soit
+ peut être soit un <a href="../handler.html">gestionnaire</a>, soit
un <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">type de contenu MIME</a>. L'URL
- et le chemin du document correspondant sont envoyés en utilisant
+ et le chemin du document correspondant sont envoyés en utilisant
les variables d'environnement CGI standards <code>PATH_INFO</code>
- et <code>PATH_TRANSLATED</code>. Le gestionnaire utilisé pour cette
- requête particulière est transmis à l'aide de la variable
+ et <code>PATH_TRANSLATED</code>. Le gestionnaire utilisé pour cette
+ requête particulière est transmis à l'aide de la variable
<code>REDIRECT_HANDLER</code>.</p>
<div class="example"><h3>Exemple : type MIME</h3><pre class="prettyprint lang-config"># Requests for files of a particular MIME content type:
Action image/gif /cgi-bin/images.cgi</pre>
</div>
- <p>Dans cet exemple, les requêtes pour des fichiers possédant
- le type de contenu MIME <code>image/gif</code> seront traitées par
+ <p>Dans cet exemple, les requêtes pour des fichiers possédant
+ le type de contenu MIME <code>image/gif</code> seront traitées par
le script CGI <code>/cgi-bin/images.cgi</code>.</p>
<div class="example"><h3>Example: File extension</h3><pre class="prettyprint lang-config"># Files of a particular file extension
AddHandler my-file-type .xyz
Action my-file-type /cgi-bin/program.cgi</pre>
</div>
- <p>Dans cet exemple, les requêtes pour des fichiers possédant
- l'extension <code>.xyz</code> seront traitées par
+ <p>Dans cet exemple, les requêtes pour des fichiers possédant
+ l'extension <code>.xyz</code> seront traitées par
le script CGI <code>/cgi-bin/programme.cgi</code>.</p>
<p>Le modificateur optionnel <code>virtual</code> permet de
- désactiver la vérification de l'existence du fichier demandé. Ceci
- peut s'avérer utile, par exemple, si vous voulez utiliser la
+ désactiver la vérification de l'existence du fichier demandé. Ceci
+ peut s'avérer utile, par exemple, si vous voulez utiliser la
directive <code class="directive">Action</code> pour des localisations
virtuelles.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="script" id="script">Directive</a> <a name="Script" id="Script">Script</a><a title="Lien permanent" href="#script" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active un script CGI dans le cas d'une méthode de requête
-particulière.</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Script <var>méthode</var> <var>script cgi</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active un script CGI dans le cas d'une méthode de requête
+particulière.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Script <var>méthode</var> <var>script cgi</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_actions</td></tr>
</table>
<p>Cette directive ajoute une action qui va activer <var>script
- cgi</var> lorsqu'un fichier est demandé en utilisant la méthode
- <var>méthode</var>. <var>script cgi</var> est le chemin URL d'une
- ressource qui a été désignée comme script CGI en utilisant les
+ cgi</var> lorsqu'un fichier est demandé en utilisant la méthode
+ <var>méthode</var>. <var>script cgi</var> est le chemin URL d'une
+ ressource qui a été désignée comme script CGI en utilisant les
directives <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> ou <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code>. L'URL et le chemin du
- document demandé sont envoyés en utilisant les variables
+ document demandé sont envoyés en utilisant les variables
d'environnement CGI standards <code>PATH_INFO</code> et
<code>PATH_TRANSLATED</code>.</p>
<div class="note">
- Tous les noms de méthode peuvent être utilisés. <strong>Les noms
- de méthode sont sensibles à la casse</strong>, si bien que
+ Tous les noms de méthode peuvent être utilisés. <strong>Les noms
+ de méthode sont sensibles à la casse</strong>, si bien que
<code>Script PUT</code> et <code>Script put</code> ont des effets
- totalement différents.
+ totalement différents.
</div>
- <p>Notez que la commande <code class="directive">Script</code> ne définit
- que des actions par défaut. Si un script CGI est appelé, ou toute
- autre ressource capable de gérer la méthode de la requête en
- interne, il agira en conséquence. Notez aussi que
- <code class="directive">Script</code> avec une méthode <code>GET</code> ne
- sera appelé que si la requête possède des arguments (par exemple
- foo.html?hi). Dans le cas contraire, la requête sera traitée
+ <p>Notez que la commande <code class="directive">Script</code> ne définit
+ que des actions par défaut. Si un script CGI est appelé, ou toute
+ autre ressource capable de gérer la méthode de la requête en
+ interne, il agira en conséquence. Notez aussi que
+ <code class="directive">Script</code> avec une méthode <code>GET</code> ne
+ sera appelé que si la requête possède des arguments (par exemple
+ foo.html?hi). Dans le cas contraire, la requête sera traitée
normalement.</p>
<pre class="prettyprint lang-config"># All GET requests go here
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../de/mod/mod_actions.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/mod_actions.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_actions.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_actions.html" title="Français"> fr </a> |
+<a href="../es/mod/mod_actions.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_actions.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_actions.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_actions.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_alias</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_alias.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_alias.html" title="Français"> fr </a> |
+<a href="../es/mod/mod_alias.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_alias.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet d'atteindre différentes parties du système de
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet d'atteindre différentes parties du système de
fichiers depuis l'arborescence des documents du site web, ainsi que la
redirection d'URL</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>alias_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_alias.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>alias_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_alias.c</td></tr></table>
<h3>Sommaire</h3>
<p>Les directives fournies par ce module permettent de manipuler et
- de contrôler les URLs à l'arrivée des requêtes sur le serveur. Les
+ de contrôler les URLs à l'arrivée des requêtes sur le serveur. Les
directives <code class="directive"><a href="#alias">Alias</a></code> et
<code class="directive"><a href="#scriptalias">ScriptAlias</a></code> permettent de
- faire correspondre des URLs avec des chemins du système de fichiers.
- Ceci permet de servir des contenus qui ne sont pas situés dans
- l'arborescence de <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> comme s'ils y étaient
- réellement. La directive <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> a pour effet
- supplémentaire de marquer le répertoire cible comme conteneur de
+ faire correspondre des URLs avec des chemins du système de fichiers.
+ Ceci permet de servir des contenus qui ne sont pas situés dans
+ l'arborescence de <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> comme s'ils y étaient
+ réellement. La directive <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> a pour effet
+ supplémentaire de marquer le répertoire cible comme conteneur de
scripts CGI.</p>
<p>Les directives <code class="directive"><a href="#redirect">Redirect</a></code>
- indiquent aux clients qu'ils doivent effectuer une nouvelle requête
- avec une URL différente. Elles sont souvent utilisées lorsqu'une
- ressource a été déplacée.</p>
+ indiquent aux clients qu'ils doivent effectuer une nouvelle requête
+ avec une URL différente. Elles sont souvent utilisées lorsqu'une
+ ressource a été déplacée.</p>
- <p>Lorsque les directives <code class="directive"><a href="#alias">Alias</a></code>, <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> ou <code class="directive"><a href="#redirect">Redirect</a></code> sont définies au sein d'une
+ <p>Lorsque les directives <code class="directive"><a href="#alias">Alias</a></code>, <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> ou <code class="directive"><a href="#redirect">Redirect</a></code> sont définies au sein d'une
section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>
ou <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>, vous pouvez utiliser la <a href="../expr.html">syntaxe des expressions</a> pour manipuler l'URL
ou le chemin de destination.
</p>
- <p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> est conçu pour traiter des tâches
- simples de manipulation d'URL. Pour des tâches plus complexes comme
- la manipulation des chaînes d'arguments des requêtes, utilisez
- plutôt les outils fournis par le module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></p>
+ <p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> est conçu pour traiter des tâches
+ simples de manipulation d'URL. Pour des tâches plus complexes comme
+ la manipulation des chaînes d'arguments des requêtes, utilisez
+ plutôt les outils fournis par le module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></p>
</div>
<div id="quickview"><h3>Sujets</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#scriptalias">ScriptAlias</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#scriptaliasmatch">ScriptAliasMatch</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_alias">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_alias">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_alias">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_alias">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></li>
<li><a href="../urlmapping.html">Mise en correspondance des URLs avec le
-système de fichiers</a></li>
+système de fichiers</a></li>
<li><a href="#comments_section">Commentaires</a></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="order" id="order">Chronologie du traitement</a><a title="Lien permanent" href="#order" class="permalink">¶</a></h2>
- <p>Les alias et redirections apparaissant dans différents contextes
- sont traités comme les autres directives en respectant les <a href="../sections.html#mergin">règles de fusion</a> standards. Par
- contre, ils sont traités selon une chronologie particulière
- lorsqu'ils apparaissent dans le même contexte (par exemple, dans la
- même section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>).</p>
+ <p>Les alias et redirections apparaissant dans différents contextes
+ sont traités comme les autres directives en respectant les <a href="../sections.html#mergin">règles de fusion</a> standards. Par
+ contre, ils sont traités selon une chronologie particulière
+ lorsqu'ils apparaissent dans le même contexte (par exemple, dans la
+ même section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>).</p>
- <p>Premièrement, toutes les redirections sont traitées avant les
- alias, et ainsi, une requête qui correspond à une directive
+ <p>Premièrement, toutes les redirections sont traitées avant les
+ alias, et ainsi, une requête qui correspond à une directive
<code class="directive"><a href="#redirect">Redirect</a></code> ou <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> ne se verra jamais
- appliquer d'alias. Deuxièmement, les alias et redirections sont
- traités selon l'ordre dans lequel ils apparaissent dans le fichier
- de configuration, seule la première correspondance étant prise en
+ appliquer d'alias. Deuxièmement, les alias et redirections sont
+ traités selon l'ordre dans lequel ils apparaissent dans le fichier
+ de configuration, seule la première correspondance étant prise en
compte.</p>
<p>Ainsi, lorsqu'une ou plusieurs de ces directives s'appliquent au
- même sous-répertoire, vous devez classer les chemins du plus précis
- au moins précis afin que toutes les directives puissent
- éventuellement s'appliquer, comme dans l'exemple suivant :</p>
+ même sous-répertoire, vous devez classer les chemins du plus précis
+ au moins précis afin que toutes les directives puissent
+ éventuellement s'appliquer, comme dans l'exemple suivant :</p>
<pre class="prettyprint lang-config">Alias "/foo/bar" "/baz"
Alias "/foo" "/gaq"</pre>
- <p>Si l'ordre des directives était inversé, la directive <code class="directive"><a href="#alias">Alias</a></code> ayant pour argument
- <code>/foo</code> serait toujours appliquée avant la directive
+ <p>Si l'ordre des directives était inversé, la directive <code class="directive"><a href="#alias">Alias</a></code> ayant pour argument
+ <code>/foo</code> serait toujours appliquée avant la directive
<code class="directive"><a href="#alias">Alias</a></code> ayant pour argument
- <code>/foo/bar</code>, et cette dernière serait toujours
- ignorée.</p>
+ <code>/foo/bar</code>, et cette dernière serait toujours
+ ignorée.</p>
- <p>La définition de directives <code class="directive"><a href="#alias">Alias</a></code>, <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> ou <code class="directive"><a href="#redirect">Redirect</a></code> au sein de sections
+ <p>La définition de directives <code class="directive"><a href="#alias">Alias</a></code>, <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> ou <code class="directive"><a href="#redirect">Redirect</a></code> au sein de sections
<code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou
<code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>
- l'emporte sur d'autres définitions éventuelles de ces mêmes
- directives au niveau de la configuration générale du serveur.</p>
+ l'emporte sur d'autres définitions éventuelles de ces mêmes
+ directives au niveau de la configuration générale du serveur.</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="alias" id="alias">Directive</a> <a name="Alias" id="Alias">Alias</a><a title="Lien permanent" href="#alias" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en correspondance des URLs avec des chemins du système
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en correspondance des URLs avec des chemins du système
de fichiers</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Alias [<var>chemin URL</var>]
-<var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
+<var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_alias</td></tr>
</table>
<p>La directive <code class="directive">Alias</code> permet de stocker des
- documents (destinés à être servis) dans des zones du système de
- fichiers situées en dehors de l'arborescence du site web <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. Les URLs dont le chemin
- (décodé avec caractères %) commence par <var>chemin URL</var> seront
+ documents (destinés à être servis) dans des zones du système de
+ fichiers situées en dehors de l'arborescence du site web <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. Les URLs dont le chemin
+ (décodé avec caractères %) commence par <var>chemin URL</var> seront
mises en correspondance avec des fichiers locaux dont le chemin
- commence par <var>chemin répertoire</var>. Le <var>chemin URL</var>
- est sensible à la casse, même sur les systèmes de fichiers
- insensibles à la casse.</p>
+ commence par <var>chemin répertoire</var>. Le <var>chemin URL</var>
+ est sensible à la casse, même sur les systèmes de fichiers
+ insensibles à la casse.</p>
<pre class="prettyprint lang-config">Alias "/image" "/ftp/pub/image"</pre>
- <p>Une requête pour <code>http://example.com/image/foo.gif</code> fera
+ <p>Une requête pour <code>http://example.com/image/foo.gif</code> fera
renvoyer par le serveur le fichier
- <code>/ftp/pub/image/foo.gif</code>. Seuls les éléments de chemin
- complets sont testés ; ainsi l'alias précédent ne conviendra pas
- pour une requête du style <code>http://example.com/imagefoo.gif</code>.
+ <code>/ftp/pub/image/foo.gif</code>. Seuls les éléments de chemin
+ complets sont testés ; ainsi l'alias précédent ne conviendra pas
+ pour une requête du style <code>http://example.com/imagefoo.gif</code>.
Pour des mises en correspondance plus complexes faisant intervenir
- les expressions rationnelles, veuillez vous reporter à la directive
+ les expressions rationnelles, veuillez vous reporter à la directive
<code class="directive"><a href="#aliasmatch">AliasMatch</a></code>.</p>
<p>Notez que si vous ajoutez un slash de fin au <var>chemin
URL</var>, vous devrez aussi ajouter un slash de fin au chemin de la
- requête. Autrement dit, si vous définissez</p>
+ requête. Autrement dit, si vous définissez</p>
<pre class="prettyprint lang-config">Alias "/icons/" "/usr/local/apache/icons/"</pre>
- <p>l'alias précédent ne s'appliquera pas à l'URL
- <code>/icons</code> à cause de l'absence du slash final. Ainsi, si
+ <p>l'alias précédent ne s'appliquera pas à l'URL
+ <code>/icons</code> à cause de l'absence du slash final. Ainsi, si
le slash final est absent du <var>chemin de l'URL</var>, il doit
- aussi l'être du <var>chemin du fichier</var>.</p>
+ aussi l'être du <var>chemin du fichier</var>.</p>
- <p>Notez qu'il pourra s'avérer nécessaire de définir des sections
+ <p>Notez qu'il pourra s'avérer nécessaire de définir des sections
<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
- supplémentaires qui couvriront la <em>destination</em> des alias.
+ supplémentaires qui couvriront la <em>destination</em> des alias.
Le traitement des alias intervenant avant le traitement des sections
<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>,
- seules les cibles des alias sont affectées (Notez cependant
- que les sections <code class="directive"><a href="../mod/core.html#location"><Location></a></code> sont traitées avant les alias, et
+ seules les cibles des alias sont affectées (Notez cependant
+ que les sections <code class="directive"><a href="../mod/core.html#location"><Location></a></code> sont traitées avant les alias, et
s'appliqueront donc).</p>
- <p>En particulier, si vous créez un alias ayant pour cible un
- répertoire situé en dehors de l'arborescence de votre site web
+ <p>En particulier, si vous créez un alias ayant pour cible un
+ répertoire situé en dehors de l'arborescence de votre site web
<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>, vous devrez
- probablement permettre explicitement l'accès à ce répertoire.</p>
+ probablement permettre explicitement l'accès à ce répertoire.</p>
<pre class="prettyprint lang-config">Alias "/image" "/ftp/pub/image"
<Directory "/ftp/pub/image">
</Directory></pre>
- <p>Le nombre de slashes dans le paramètre <var>chemin URL</var> doit
- correspondre au nombre de slashes dans le chemin URL de la requête.</p>
+ <p>Le nombre de slashes dans le paramètre <var>chemin URL</var> doit
+ correspondre au nombre de slashes dans le chemin URL de la requête.</p>
- <p>Si la directive <code class="directive">Alias</code> est définie au sein
+ <p>Si la directive <code class="directive">Alias</code> est définie au sein
d'une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>, <var>chemin URL</var> est
- omis et <var>chemin fichier</var> est interprété en utilisant la <a href="../expr.html">syntaxe des expressions</a>.<br />
- Cette syntaxe est disponible à partir de la version 2.4.19 du
+ omis et <var>chemin fichier</var> est interprété en utilisant la <a href="../expr.html">syntaxe des expressions</a>.<br />
+ Cette syntaxe est disponible à partir de la version 2.4.19 du
serveur HTTP Apache.</p>
<pre class="prettyprint lang-config"><Location "/image">
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="aliasmatch" id="aliasmatch">Directive</a> <a name="AliasMatch" id="AliasMatch">AliasMatch</a><a title="Lien permanent" href="#aliasmatch" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en correspondance des URLs avec le système de fichiers
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en correspondance des URLs avec le système de fichiers
en faisant intervenir les expressions rationnelles</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AliasMatch <var>regex</var>
-<var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
+<var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_alias</td></tr>
</table>
- <p>Cette directive est identique à la directive <code class="directive"><a href="#alias">Alias</a></code>, mais fait appel aux <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, à la place d'une
- simple mise en correspondance de préfixe. L'expression rationnelle
+ <p>Cette directive est identique à la directive <code class="directive"><a href="#alias">Alias</a></code>, mais fait appel aux <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, à la place d'une
+ simple mise en correspondance de préfixe. L'expression rationnelle
fournie est mise en correspondance avec le chemin URL, et si elle
correspond, le serveur va substituer toute partie de chemin
- correspondant à l'expression entre parenthèses dans la chaîne
+ correspondant à l'expression entre parenthèses dans la chaîne
fournie et l'utiliser comme nom de fichier.
- Par exemple, pour activer le répertoire <code>/icons</code>, on peut
+ Par exemple, pour activer le répertoire <code>/icons</code>, on peut
utiliser :</p>
<pre class="prettyprint lang-config">AliasMatch "^/icons(.*)" "/usr/local/apache/icons$1$2"</pre>
<p>Toute la puissance des <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions
- rationnelles</a> peut être mise à contribution. Par exemple,
- il est possible de construire un alias avec un modèle de chemin URL
- insensible à la casse :</p>
+ rationnelles</a> peut être mise à contribution. Par exemple,
+ il est possible de construire un alias avec un modèle de chemin URL
+ insensible à la casse :</p>
<pre class="prettyprint lang-config">AliasMatch "(?i)^/image(.*)" "/ftp/pub/image$1"</pre>
- <p>Il existe une différence subtile entre <code class="directive"><a href="#alias">Alias</a></code> et <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> : <code class="directive"><a href="#alias">Alias</a></code> copie automatiquement toute
- portion supplémentaire de l'URI située après la partie du modèle qui
- correspond, à la fin du chemin du fichier de la partie droite, alors
+ <p>Il existe une différence subtile entre <code class="directive"><a href="#alias">Alias</a></code> et <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> : <code class="directive"><a href="#alias">Alias</a></code> copie automatiquement toute
+ portion supplémentaire de l'URI située après la partie du modèle qui
+ correspond, à la fin du chemin du fichier de la partie droite, alors
que <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> ne le fait
- pas. Cela signifie qu'il sera préférable dans la plupart des cas de
- comparer l'expression rationnelle du modèle à la totalité de l'URI
- de la requête, et d'utiliser les substitutions dans la partie
+ pas. Cela signifie qu'il sera préférable dans la plupart des cas de
+ comparer l'expression rationnelle du modèle à la totalité de l'URI
+ de la requête, et d'utiliser les substitutions dans la partie
droite.</p>
- <p>En d'autres termes, le remplacement d'<code class="directive"><a href="#alias">Alias</a></code> par <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> ne produira pas le même
- résultat. Au minimum, vous devez ajouter <code>^</code> au début de
- l'expression rationnelle, <code>(.*)$</code> à sa fin et
- <code>$1</code> à la fin de la chaîne de remplacement.</p>
+ <p>En d'autres termes, le remplacement d'<code class="directive"><a href="#alias">Alias</a></code> par <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> ne produira pas le même
+ résultat. Au minimum, vous devez ajouter <code>^</code> au début de
+ l'expression rationnelle, <code>(.*)$</code> à sa fin et
+ <code>$1</code> à la fin de la chaîne de remplacement.</p>
<p>Par exemple, supposons que nous voulions reformuler cet alias
avec AliasMatch :</p>
<p>Le simple remplacement d'Alias par AliasMatch ne produira pas le
- même résultat. Ainsi, ce qui suit va rediriger toutes les requêtes
+ même résultat. Ainsi, ce qui suit va rediriger toutes les requêtes
qui contiennent /image/ vers /ftp/pub/image/ :</p>
<pre class="prettyprint lang-config">AliasMatch "/image/" "/ftp/pub/image/"</pre>
- <p>Voici la directive AliasMatch qui produira le même résultat que
+ <p>Voici la directive AliasMatch qui produira le même résultat que
la directive Alias ci-dessus :</p>
<pre class="prettyprint lang-config">AliasMatch "^/image/(.*)$" "/ftp/pub/image/$1"</pre>
- <p>Bien entendu, il n'y a aucune raison d'utiliser <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> dans le cas où <code class="directive"><a href="#alias">Alias</a></code> suffit. <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> vous permet d'effectuer
- des choses beaucoup plus sophistiquées. Par exemple, vous pouvez
- servir différentes sortes de fichiers à partir de répertoires
- différents :</p>
+ <p>Bien entendu, il n'y a aucune raison d'utiliser <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> dans le cas où <code class="directive"><a href="#alias">Alias</a></code> suffit. <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> vous permet d'effectuer
+ des choses beaucoup plus sophistiquées. Par exemple, vous pouvez
+ servir différentes sortes de fichiers à partir de répertoires
+ différents :</p>
<pre class="prettyprint lang-config"> AliasMatch "^/image/(.*)\.jpg$" "/fichiers/jpg.images/$1.jpg"
AliasMatch "^/image/(.*)\.gif$" "/fichiers/gif.images/$1.gif"</pre>
- <p>Les éventuels slashes de tête multiples seront supprimés par le
+ <p>Les éventuels slashes de tête multiples seront supprimés par le
serveur avant que les directives de ce module n'effectuent des
- comparaisons avec le chemin URL de la requête.
+ comparaisons avec le chemin URL de la requête.
</p>
<div class="directive-section"><h2><a name="redirect" id="redirect">Directive</a> <a name="Redirect" id="Redirect">Redirect</a><a title="Lien permanent" href="#redirect" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe demandant au client
-d'effectuer une autre requête avec une URL différente</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Redirect [<var>état</var>] [<var>URL-path</var>]
+d'effectuer une autre requête avec une URL différente</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Redirect [<var>état</var>] [<var>URL-path</var>]
<var>URL</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_alias</td></tr>
</table>
<p>La directive <code class="directive">Redirect</code> permet de faire correspondre
- une ancienne URL à une nouvelle en demandant au client d'aller chercher la
- ressource à une autre localisation.</p>
+ une ancienne URL à une nouvelle en demandant au client d'aller chercher la
+ ressource à une autre localisation.</p>
- <p>L'ancien <em>URL-path</em> est un chemin sensible à la casse
- (décodé à l'aide de caractères %) commençant par un slash. Les
- chemins relatifs ne sont pas autorisés.</p>
+ <p>L'ancien <em>URL-path</em> est un chemin sensible à la casse
+ (décodé à l'aide de caractères %) commençant par un slash. Les
+ chemins relatifs ne sont pas autorisés.</p>
<p>La nouvelle <em>URL</em>
- peut être une URL absolue commençant par un protocole et un nom
- d'hôte, mais on peut aussi utiliser un chemin URL commençant par un
- slash, auquel cas le protocole et le nom d'hôte du serveur local
- seront ajoutés, si vous avez défini <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> à on. Si <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> n'a pas été défini à on, le nom
- d'hôte sera remplacé par la valeur de l'en-tête requested Host.</p>
+ peut être une URL absolue commençant par un protocole et un nom
+ d'hôte, mais on peut aussi utiliser un chemin URL commençant par un
+ slash, auquel cas le protocole et le nom d'hôte du serveur local
+ seront ajoutés, si vous avez défini <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> à on. Si <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> n'a pas été défini à on, le nom
+ d'hôte sera remplacé par la valeur de l'en-tête requested Host.</p>
- <p>Ensuite, toute requête commençant par <em>URL-path</em> va
+ <p>Ensuite, toute requête commençant par <em>URL-path</em> va
renvoyer une redirection au client vers l'<em>URL</em> cible. Tout
- élément de chemin supplémentaire situé en aval du <em>URL-path</em> sera
- ajouté à l'URL cible.</p>
+ élément de chemin supplémentaire situé en aval du <em>URL-path</em> sera
+ ajouté à l'URL cible.</p>
- <pre class="prettyprint lang-config"># Redirige vers une URL sur un serveur différent
+ <pre class="prettyprint lang-config"># Redirige vers une URL sur un serveur différent
Redirect "/service" "http://foo2.example.com/service"
-# Redirige vers une URL sur le même serveur
+# Redirige vers une URL sur le même serveur
Redirect "/one" "/two"</pre>
- <p>Si le client effectue une requête pour l'URL
- <code>http://example.com/service/foo.txt</code>, il lui sera demandé
+ <p>Si le client effectue une requête pour l'URL
+ <code>http://example.com/service/foo.txt</code>, il lui sera demandé
d'en effectuer une autre pour l'URL
<code>http://foo2.example.com/service/foo.txt</code>. Ceci concerne
- les requêtes avec paramètres <code>GET</code>, comme
+ les requêtes avec paramètres <code>GET</code>, comme
<code>http://example.com/service/foo.pl?q=23&a=42</code>, qui
- seront redirigées vers
+ seront redirigées vers
<code>http://foo2.example.com/service/foo.pl?q=23&a=42</code>.
- Notez que les <code>POST</code>s seront ignorés.<br />
+ Notez que les <code>POST</code>s seront ignorés.<br />
Seuls les
- éléments de chemin complets sont testés, si bien que l'exemple
- précédent ne s'appliquera pas à l'URL
+ éléments de chemin complets sont testés, si bien que l'exemple
+ précédent ne s'appliquera pas à l'URL
<code>http://example.com/servicefoo.txt</code>. Pour des mises en
- correspondance plus complexes utilisant la <a href="../expr.html">syntaxe des expressions</a>, ne spécifiez pas
- d'argument <var>URL-path</var> comme décrit ci-dessous. En outre,
+ correspondance plus complexes utilisant la <a href="../expr.html">syntaxe des expressions</a>, ne spécifiez pas
+ d'argument <var>URL-path</var> comme décrit ci-dessous. En outre,
pour une mise en correspondance en utilisant les expressions
- rationnelles, veuillez vous reporter à la directive <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code>.</p>
+ rationnelles, veuillez vous reporter à la directive <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code>.</p>
<div class="note"><h3>Note</h3>
- <p>Les directives <code class="directive">Redirect</code> ont priorité sur les
+ <p>Les directives <code class="directive">Redirect</code> ont priorité sur les
directives <code class="directive"><a href="#alias">Alias</a></code> et <code class="directive"><a href="#scriptalias">ScriptAlias</a></code>, quel que soit leur ordre
d'apparition dans le fichier de configuration. Les directives
- <code class="directive">Redirect</code> définies au sein d'une section Location
+ <code class="directive">Redirect</code> définies au sein d'une section Location
l'emportent sur les directives <code class="directive">Redirect</code> et <code class="directive"><a href="#alias">Alias</a></code> comportant un argument
<var>URL-path</var>.</p></div>
- <p>Si aucun argument <var>état</var> n'est spécifié, la
+ <p>Si aucun argument <var>état</var> n'est spécifié, la
redirection sera temporaire (code HTTP 302). Le client est alors
- informé que la ressource a été temporairement déplacée. On peut
- utiliser l'argument <var>état</var> pour renvoyer d'autres codes HTTP :</p>
+ informé que la ressource a été temporairement déplacée. On peut
+ utiliser l'argument <var>état</var> pour renvoyer d'autres codes HTTP :</p>
<dl>
<dt>permanent</dt>
<dd>Renvoie un code de redirection permanente (301), indiquant
- que la ressource a été définitivement déplacée.</dd>
+ que la ressource a été définitivement déplacée.</dd>
<dt>temp</dt>
<dd>Renvoie un code de redirection temporaire (302). C'est le
- comportement par défaut.</dd>
+ comportement par défaut.</dd>
<dt>seeother</dt>
<dd>Renvoie un code "See Other" (303) indiquant que la ressource
- a été remplacée par une autre.</dd>
+ a été remplacée par une autre.</dd>
<dt>gone</dt>
<dd>Renvoie un code "Gone" (410) indiquant que la ressource a
- été définitivement supprimée. Lorsque
- ce code est utilisé, on ne
+ été définitivement supprimée. Lorsque
+ ce code est utilisé, on ne
doit pas utiliser l'argument <var>URL</var>.</dd>
</dl>
- <p>On peut renvoyer d'autres codes en spécifiant le code
- numérique comme valeur de l'argument of <var>état</var>.
+ <p>On peut renvoyer d'autres codes en spécifiant le code
+ numérique comme valeur de l'argument of <var>état</var>.
Si le code est compris entre 300 et 399, l'argument
- <var>URL</var> doit être présent. Si le code
+ <var>URL</var> doit être présent. Si le code
n'est <em>pas</em> compris entre 300 et 399, l'argument
- <var>URL</var> ne doit pas apparaître. Le code doit être un code
+ <var>URL</var> ne doit pas apparaître. Le code doit être un code
HTTP valide, connu du serveur HTTP Apache (voir la
fonction <code>send_error_response</code> dans
http_protocol.c).</p>
Redirect 303 "/three" "http://example.com/other"</pre>
- <p>Si une directive <code class="directive">Redirect</code> est définie au
- sein d'une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> et si l'argument <var>URL-path</var> est omis, l'argument <var>URL</var> sera interprété en
+ <p>Si une directive <code class="directive">Redirect</code> est définie au
+ sein d'une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> et si l'argument <var>URL-path</var> est omis, l'argument <var>URL</var> sera interprété en
utilisant la <a href="../expr.html">syntaxe des expressions</a>.<br />
- Cette syntaxe est disponible à partir de la version 2.4.19 du
+ Cette syntaxe est disponible à partir de la version 2.4.19 du
serveur HTTP Apache.</p>
<pre class="prettyprint lang-config"><Location "/one">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe faisant appel aux
expressions rationnelles pour la mise en correspondance de l'URL
courante</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectMatch [<var>état</var>] <var>regex</var>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectMatch [<var>état</var>] <var>regex</var>
<var>URL</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_alias</td></tr>
</table>
- <p>Cette directive est identique à la directive <code class="directive"><a href="#redirect">Redirect</a></code>, mais fait appel aux
- <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, à la
- place d'une simple mise en correspondance de préfixe. L'expression
+ <p>Cette directive est identique à la directive <code class="directive"><a href="#redirect">Redirect</a></code>, mais fait appel aux
+ <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, à la
+ place d'une simple mise en correspondance de préfixe. L'expression
rationnelle fournie est mise en correspondance avec le chemin URL,
et si elle correspond, le serveur va substituer toute partie de
- chemin correspondante entre parenthèses dans la chaîne spécifiée et
+ chemin correspondante entre parenthèses dans la chaîne spécifiée et
l'utiliser comme nom de fichier. Par exemple, pour rediriger tous
- les fichiers GIF vers les fichiers JPEG de même nom sur un autre
+ les fichiers GIF vers les fichiers JPEG de même nom sur un autre
serveur, on peut utiliser :</p>
<pre class="prettyprint lang-config">RedirectMatch "(.*)\.gif$" "http://autre.example.com$1.jpg"</pre>
- <p>Les remarques à propos de la différence entre <code class="directive"><a href="#alias">Alias</a></code> et <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> s'appliquent aussi à la
- différence entre les directives <code class="directive"><a href="#redirect">Redirect</a></code> et <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code>. Voir la directive
+ <p>Les remarques à propos de la différence entre <code class="directive"><a href="#alias">Alias</a></code> et <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> s'appliquent aussi à la
+ différence entre les directives <code class="directive"><a href="#redirect">Redirect</a></code> et <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code>. Voir la directive
<code class="directive"><a href="#aliasmatch">AliasMatch</a></code> pour plus de
- détails.</p>
+ détails.</p>
</div>
<div class="directive-section"><h2><a name="redirectpermanent" id="redirectpermanent">Directive</a> <a name="RedirectPermanent" id="RedirectPermanent">RedirectPermanent</a><a title="Lien permanent" href="#redirectpermanent" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe permanente demandant au
-client d'effectuer une nouvelle requête avec une URL
-différente</td></tr>
+client d'effectuer une nouvelle requête avec une URL
+différente</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectPermanent <var>chemin URL</var> <var>URL</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_alias</td></tr>
</table>
<p>Cette directive informe le client que la redirection est
- permanente (code 301). Son comportement est exactement le même
+ permanente (code 301). Son comportement est exactement le même
que celui de <code>Redirect permanent</code>.</p>
</div>
<div class="directive-section"><h2><a name="redirecttemp" id="redirecttemp">Directive</a> <a name="RedirectTemp" id="RedirectTemp">RedirectTemp</a><a title="Lien permanent" href="#redirecttemp" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe temporaire demandant au
-client d'effectuer une nouvelle requête avec une URL
-différente</td></tr>
+client d'effectuer une nouvelle requête avec une URL
+différente</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectTemp <var>chemin URL</var> <var>URL</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_alias</td></tr>
</table>
<p>Cette directive informe le client que la redirection n'est
- que temporaire (code 302). Son comportement est exactement le même
+ que temporaire (code 302). Son comportement est exactement le même
que celui de <code>Redirect temp</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="scriptalias" id="scriptalias">Directive</a> <a name="ScriptAlias" id="ScriptAlias">ScriptAlias</a><a title="Lien permanent" href="#scriptalias" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre une URL à une zone du système de fichiers
-et désigne la cible comme script CGI</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre une URL à une zone du système de fichiers
+et désigne la cible comme script CGI</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptAlias [<var>chemin URL</var>]
-<var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_alias</td></tr>
</table>
- <p>La directive <code class="directive">ScriptAlias</code> présente le même
- comportement que la directive <code class="directive"><a href="#alias">Alias</a></code>, mais désigne en plus le
- répertoire cible comme conteneur de scripts CGI qui seront traitées
+ <p>La directive <code class="directive">ScriptAlias</code> présente le même
+ comportement que la directive <code class="directive"><a href="#alias">Alias</a></code>, mais désigne en plus le
+ répertoire cible comme conteneur de scripts CGI qui seront traitées
par le gestionnaire cgi-script du module <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>.
- Les URLs dont le chemin URL sensible à la casse (décodé avec
- caractères %) commence par <var>chemin URL</var> seront mises en
+ Les URLs dont le chemin URL sensible à la casse (décodé avec
+ caractères %) commence par <var>chemin URL</var> seront mises en
correspondance avec les scripts dont le chemin commence par le
- second argument, qui est un chemin complet dans le système de
+ second argument, qui est un chemin complet dans le système de
fichiers local.</p>
<pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/web/cgi-bin/"</pre>
- <p>Une requête pour <code>http://example.com/cgi-bin/foo</code>
- ferait exécuter par le serveur le script
+ <p>Une requête pour <code>http://example.com/cgi-bin/foo</code>
+ ferait exécuter par le serveur le script
<code>/web/cgi-bin/foo</code>. Cette configuration est sensiblement
- équivalente à :</p>
+ équivalente à :</p>
<pre class="prettyprint lang-config">Alias "/cgi-bin/" "/web/cgi-bin/"
<Location "/cgi-bin">
SetHandler cgi-script
<pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/web/cgi-handler.pl"</pre>
- <p>Dans ce scénario, tous les fichiers faisant l'objet d'une requête
- dans <code>/cgi-bin/</code> seront traités par le fichier que vous
- avez spécifié, ce qui vous permet d'utiliser votre propre
+ <p>Dans ce scénario, tous les fichiers faisant l'objet d'une requête
+ dans <code>/cgi-bin/</code> seront traités par le fichier que vous
+ avez spécifié, ce qui vous permet d'utiliser votre propre
gestionnaire. Vous pouvez l'utiliser comme enveloppe (wrapper) pour
les scripts CGI afin d'ajouter du contenu, ou autre action "maison".</p>
- <div class="warning">Il est préférable d'éviter de placer les
- scripts CGI dans l'arborescence de <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> afin d'éviter de révéler
+ <div class="warning">Il est préférable d'éviter de placer les
+ scripts CGI dans l'arborescence de <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> afin d'éviter de révéler
accidentellement leur code source lors d'une modification de
- configuration. On y parvient aisément avec
+ configuration. On y parvient aisément avec
<code class="directive">ScriptAlias</code> en mettant en correspondance une
- URL et en désignant la cible comme scripts CGI par la même occasion.
- Si vous choisissez de placer vos scripts CGI dans un répertoire
+ URL et en désignant la cible comme scripts CGI par la même occasion.
+ Si vous choisissez de placer vos scripts CGI dans un répertoire
accessible depuis le web, n'utilisez pas
- <code class="directive">ScriptAlias</code>. Utilisez plutôt <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, et <code class="directive"><a href="../mod/core.html#options">Options</a></code> comme dans l'exemple suivant :
+ <code class="directive">ScriptAlias</code>. Utilisez plutôt <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, et <code class="directive"><a href="../mod/core.html#options">Options</a></code> comme dans l'exemple suivant :
<pre class="prettyprint lang-config"><Directory "/usr/local/apache2/htdocs/cgi-bin">
SetHandler cgi-script
Options ExecCGI
</Directory></pre>
- Ceci est nécessaire car plusieurs <var>chemins URL</var> peuvent
- correspondre à la même zone du système de fichiers, court-circuitant
- ainsi la directive <code class="directive">ScriptAlias</code> et révélant le
- code source des scripts CGI s'ils ne sont pas protégés par une
+ Ceci est nécessaire car plusieurs <var>chemins URL</var> peuvent
+ correspondre à la même zone du système de fichiers, court-circuitant
+ ainsi la directive <code class="directive">ScriptAlias</code> et révélant le
+ code source des scripts CGI s'ils ne sont pas protégés par une
section <code class="directive"><a href="../mod/core.html#directory">Directory</a></code>.</div>
- <p>Si la directive <code class="directive">ScriptAlias</code> est définie au
+ <p>Si la directive <code class="directive">ScriptAlias</code> est définie au
sein d'une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> et si l'argument <var>chemin
- URL</var> est omis, l'argument <var>URL</var> sera interprété en
+ URL</var> est omis, l'argument <var>URL</var> sera interprété en
utilisant la <a href="../expr.html">syntaxe des expressions</a>.<br />
- Cette syntaxe est disponible à partir de la version 2.4.19 du
+ Cette syntaxe est disponible à partir de la version 2.4.19 du
serveur HTTP Apache.</p>
<pre class="prettyprint lang-config"><Location "/cgi-bin">
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="scriptaliasmatch" id="scriptaliasmatch">Directive</a> <a name="ScriptAliasMatch" id="ScriptAliasMatch">ScriptAliasMatch</a><a title="Lien permanent" href="#scriptaliasmatch" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre une URL à une zone du système de fichiers
-en faisant appel aux expressions rationnelles et en désignant la cible
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre une URL à une zone du système de fichiers
+en faisant appel aux expressions rationnelles et en désignant la cible
comme un script CGI</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptAliasMatch <var>regex</var>
-<var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
+<var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_alias</td></tr>
</table>
- <p>Cette directive est équivalente à la directive <code class="directive"><a href="#scriptalias">ScriptAlias</a></code>, mais fait appel aux
- <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, à la
- place d'une simple mise en correspondance de préfixe. L'expression
+ <p>Cette directive est équivalente à la directive <code class="directive"><a href="#scriptalias">ScriptAlias</a></code>, mais fait appel aux
+ <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, à la
+ place d'une simple mise en correspondance de préfixe. L'expression
rationnelle fournie est mise en correspondance avec le chemin URL,
et si elle correspond, le serveur va substituer toute partie de
- chemin entre parenthèses dans la chaîne spécifiée et l'utiliser
- comme nom de fichier. Par exemple, pour activer le répertoire
+ chemin entre parenthèses dans la chaîne spécifiée et l'utiliser
+ comme nom de fichier. Par exemple, pour activer le répertoire
standard <code>/cgi-bin</code>, on peut utiliser :</p>
<pre class="prettyprint lang-config">ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"</pre>
- <p>Comme dans le cas d'AliasMatch, toute la puissance des <a class="glossarylink" href="../glossary.html#rexex" title="voir glossaire">expressions rationnelles</a> peut être mise à
+ <p>Comme dans le cas d'AliasMatch, toute la puissance des <a class="glossarylink" href="../glossary.html#rexex" title="voir glossaire">expressions rationnelles</a> peut être mise à
contribution. Par exemple, il est possible de construire un alias
- avec une comparaison du modèle du chemin URL insensible à la casse :</p>
+ avec une comparaison du modèle du chemin URL insensible à la casse :</p>
<pre class="prettyprint lang-config">ScriptAliasMatch "(?i)^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"</pre>
- <p>Les remarques à propos de la différence entre <code class="directive"><a href="#alias">Alias</a></code> et <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> s'appliquent aussi à la
- différence entre les directives <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> et <code class="directive"><a href="#scriptaliasmatch">ScriptAliasMatch</a></code>. Voir la directive
+ <p>Les remarques à propos de la différence entre <code class="directive"><a href="#alias">Alias</a></code> et <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> s'appliquent aussi à la
+ différence entre les directives <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> et <code class="directive"><a href="#scriptaliasmatch">ScriptAliasMatch</a></code>. Voir la directive
<code class="directive"><a href="#aliasmatch">AliasMatch</a></code> pour plus de
- détails.</p>
+ détails.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_alias.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_alias.html" title="Français"> fr </a> |
+<a href="../es/mod/mod_alias.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_alias.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_allowhandlers</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_allowhandlers.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_allowhandlers.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_allowhandlers.html" title="Français"> fr </a></p>
+<a href="../es/mod/mod_allowhandlers.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_allowhandlers.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Facilite la définition de la liste des gestionnaires HTTP
-qui peuvent être utilisés pour le serveur</td></tr>
-<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>allowhandlers_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_allowhandlers.c</td></tr></table>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Facilite la définition de la liste des gestionnaires HTTP
+qui peuvent être utilisés pour le serveur</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>allowhandlers_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_allowhandlers.c</td></tr></table>
<h3>Sommaire</h3>
-<p>Ce module facilite la définition de la liste des gestionnaires HTTP
-qui peuvent être utilisés pour une requête. Voici un exemple de ligne de
+<p>Ce module facilite la définition de la liste des gestionnaires HTTP
+qui peuvent être utilisés pour une requête. Voici un exemple de ligne de
configuration :</p>
<pre class="prettyprint lang-config"><Location "/">
</Location></pre>
-<p>Il implémente aussi un gestionnaire nommé <code>forbidden</code> qui
-ne fait que renvoyer la réponse "403 FORBIDDEN" au client. Ce
-gestionnaire peut être spécifié par des directives comme <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code>.</p>
+<p>Il implémente aussi un gestionnaire nommé <code>forbidden</code> qui
+ne fait que renvoyer la réponse "403 FORBIDDEN" au client. Ce
+gestionnaire peut être spécifié par des directives comme <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code>.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#allowhandlers">AllowHandlers</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_allowhandlers">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_allowhandlers">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_allowhandlers">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_allowhandlers">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li>
<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="allowhandlers" id="allowhandlers">Directive</a> <a name="AllowHandlers" id="AllowHandlers">AllowHandlers</a><a title="Lien permanent" href="#allowhandlers" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restreint l'accès aux gestionnaires spécifiés</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restreint l'accès aux gestionnaires spécifiés</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowHandlers [not] none|<em>nom-gestionnaire</em>
[none|<em>nom-gestionnaire</em>]...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowHandlers all</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowHandlers all</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_allowhandlers</td></tr>
</table>
-<p>Les noms de gestionnaires sont sensibles à la casse. Le nom réservé
-<code>none</code> peut être utilisé dans le cas où aucun gestionnaire
-n'a été défini. Le nom réservé <code>all</code>, quant à lui, peut être
-utilisé pour autoriser à nouveau tous les gestionnaires dans une section
-de configuration ultérieure, même si certains en-têtes ont été interdits
+<p>Les noms de gestionnaires sont sensibles à la casse. Le nom réservé
+<code>none</code> peut être utilisé dans le cas où aucun gestionnaire
+n'a été défini. Le nom réservé <code>all</code>, quant à lui, peut être
+utilisé pour autoriser à nouveau tous les gestionnaires dans une section
+de configuration ultérieure, même si certains en-têtes ont été interdits
en aval :</p>
<pre class="prettyprint lang-config"><Location "/server-status">
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_allowhandlers.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_allowhandlers.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_allowhandlers.html" title="Français"> fr </a></p>
+<a href="../es/mod/mod_allowhandlers.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_allowhandlers.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_allowmethods</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_allowmethods.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_allowmethods.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_allowmethods.html" title="Français"> fr </a></p>
+<a href="../es/mod/mod_allowmethods.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_allowmethods.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Limitation simple des méthodes HTTP acceptées par e serveur</td></tr>
-<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>allowmethods_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_allowmethods.c</td></tr></table>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Limitation simple des méthodes HTTP acceptées par e serveur</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>allowmethods_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_allowmethods.c</td></tr></table>
<h3>Sommaire</h3>
-<p>Ce module fournit une manière simple de restreindre les méthodes HTTP
-acceptées par le serveur. La configuration la plus courante
+<p>Ce module fournit une manière simple de restreindre les méthodes HTTP
+acceptées par le serveur. La configuration la plus courante
est du style :</p>
<pre class="prettyprint lang-config"><Location "/">
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#allowmethods">AllowMethods</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_allowmethods">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_allowmethods">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_allowmethods">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_allowmethods">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</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="allowmethods" id="allowmethods">Directive</a> <a name="AllowMethods" id="AllowMethods">AllowMethods</a><a title="Lien permanent" href="#allowmethods" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restreint l'accès aux méthodes HTTP spécifiées</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restreint l'accès aux méthodes HTTP spécifiées</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowMethods reset|<em>HTTP-method</em>
[<em>HTTP-method</em>]...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowMethods reset</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowMethods reset</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_allowmethods</td></tr>
</table>
-<p>Le nom de chaque méthode HTTP est sensible à la casse, et est le plus
-souvent défini en majuscules, comme dans les RFCs. Les méthodes GET et
-HEAD sont traitées de la même manière. Le mot-clé
-<code>reset</code> permet de désactiver
-<code class="module"><a href="../mod/mod_allowmethods.html">mod_allowmethods</a></code> dans les niveaux inférieurs
+<p>Le nom de chaque méthode HTTP est sensible à la casse, et est le plus
+souvent défini en majuscules, comme dans les RFCs. Les méthodes GET et
+HEAD sont traitées de la même manière. Le mot-clé
+<code>reset</code> permet de désactiver
+<code class="module"><a href="../mod/mod_allowmethods.html">mod_allowmethods</a></code> dans les niveaux inférieurs
d'imbrication :</p>
<pre class="prettyprint lang-config"><Location "/svn">
<div class="note"><h3>Avertissement</h3>
- <p>La méthode TRACE ne peut pas être rejetée par ce module ; pour ce
+ <p>La méthode TRACE ne peut pas être rejetée par ce module ; pour ce
faire, vous devez utiliser la directive <code class="directive"><a href="../mod/core.html#traceenable">TraceEnable</a></code>.</p>
</div>
-<p>Le module <code class="module"><a href="../mod/mod_allowmethods.html">mod_allowmethods</a></code> a été écrit pour
-remplacer l'implémentation "bricolée" des directives <code class="directive"><a href="../mod/core.html#limit">Limit</a></code> et <code class="directive"><a href="../mod/core.html#limitexcept">LimitExcept</a></code>.</p>
+<p>Le module <code class="module"><a href="../mod/mod_allowmethods.html">mod_allowmethods</a></code> a été écrit pour
+remplacer l'implémentation "bricolée" des directives <code class="directive"><a href="../mod/core.html#limit">Limit</a></code> et <code class="directive"><a href="../mod/core.html#limitexcept">LimitExcept</a></code>.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_allowmethods.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_allowmethods.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_allowmethods.html" title="Français"> fr </a></p>
+<a href="../es/mod/mod_allowmethods.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_allowmethods.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_asis</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_asis.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_asis.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_asis.html" title="Français"> fr </a> |
+<a href="../es/mod/mod_asis.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_asis.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_asis.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_asis.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Envoie des fichiers contenant leurs propres en-têtes
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Envoie des fichiers contenant leurs propres en-têtes
HTTP</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>asis_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_asis.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>asis_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_asis.c</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module fournit le gestionnaire <code>send-as-is</code> qui
permet au serveur HTTP Apache d'envoyer le document sans ajouter la plupart des
- en-têtes HTTP habituels.</p>
+ en-têtes HTTP habituels.</p>
- <p>On peut l'utiliser pour envoyer tous types de données en
- provenance du serveur, y compris les redirections et autres réponses
- HTTP spéciales, sans devoir faire appel à un script CGI ou nph.</p>
+ <p>On peut l'utiliser pour envoyer tous types de données en
+ provenance du serveur, y compris les redirections et autres réponses
+ HTTP spéciales, sans devoir faire appel à un script CGI ou nph.</p>
<p>Pour des raisons historiques, ce module traitera aussi tout
fichier dont le type MIME est <code>httpd/send-as-is</code>.</p>
<li><img alt="" src="../images/down.gif" /> <a href="#usage">Mode d'emploi</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_asis">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_asis">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_asis">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_asis">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code></li>
<li><code class="module"><a href="../mod/mod_cern_meta.html">mod_cern_meta</a></code></li>
<pre class="prettyprint lang-config">AddHandler send-as-is asis</pre>
- <p>Le contenu de tout fichier possédant l'extension
- <code>.asis</code> sera envoyé par Apache httpd au client pratiquement tel
- quel. En particulier, les en-têtes HTTP seront déduits du fichier
- lui-même selon les règles du module <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, si
- bien qu'un fichier asis doit inclure des en-têtes valides, et
- utiliser l'en-tête CGI <code>Status:</code> pour déterminer le code de réponse
- HTTP. L'en-tête <code>Content-Length:</code> sera automatiquement
- inséré ou, s'il est déjà présent, corrigé par httpd.</p>
+ <p>Le contenu de tout fichier possédant l'extension
+ <code>.asis</code> sera envoyé par Apache httpd au client pratiquement tel
+ quel. En particulier, les en-têtes HTTP seront déduits du fichier
+ lui-même selon les règles du module <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, si
+ bien qu'un fichier asis doit inclure des en-têtes valides, et
+ utiliser l'en-tête CGI <code>Status:</code> pour déterminer le code de réponse
+ HTTP. L'en-tête <code>Content-Length:</code> sera automatiquement
+ inséré ou, s'il est déjà présent, corrigé par httpd.</p>
- <p>Voici un exemple de fichier dont le contenu est envoyé <em>tel
- quel</em> pour informer un client qu'un fichier a été déplacé.</p>
+ <p>Voici un exemple de fichier dont le contenu est envoyé <em>tel
+ quel</em> pour informer un client qu'un fichier a été déplacé.</p>
<div class="example"><p><code>
<title>Mauvaises excuses</title><br />
</head><br />
<body><br />
- <h1>La merveilleuse page de Fred a été déplacée vers<br />
+ <h1>La merveilleuse page de Fred a été déplacée vers<br />
<a href="http://xyz.example.com/foo/bar.html">le site de
Joe</a>.<br />
</h1><br />
</code></p></div>
<div class="note"><h3>Notes :</h3>
- <p>Le serveur ajoute systématiquement les en-têtes
- <code>Date:</code> et <code>Server:</code> aux données qu'il envoie
- au client, si bien qu'ils n'ont pas besoin d'être inclus dans le
- fichier. Le serveur n'ajoute <em>pas</em> d'en-tête
+ <p>Le serveur ajoute systématiquement les en-têtes
+ <code>Date:</code> et <code>Server:</code> aux données qu'il envoie
+ au client, si bien qu'ils n'ont pas besoin d'être inclus dans le
+ fichier. Le serveur n'ajoute <em>pas</em> d'en-tête
<code>Last-Modified</code>, ce qu'il devrait probablement faire.</p>
</div>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_asis.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_asis.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_asis.html" title="Français"> fr </a> |
+<a href="../es/mod/mod_asis.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_asis.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_asis.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_asis.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_auth_basic</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_basic.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_auth_basic.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_auth_basic.html" title="Français"> fr </a> |
+<a href="../es/mod/mod_auth_basic.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_auth_basic.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_auth_basic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_auth_basic.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification HTTP de base</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>auth_basic_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_auth_basic.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>auth_basic_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_auth_basic.c</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module permet d'utiliser l'authentification basique HTTP pour
- restreindre l'accès en recherchant les utilisateurs dans les
- fournisseurs d'authentification spécifiés. Il est en général
- combiné avec au moins un module d'authentification comme
+ restreindre l'accès en recherchant les utilisateurs dans les
+ fournisseurs d'authentification spécifiés. Il est en général
+ combiné avec au moins un module d'authentification comme
<code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> et un module d'autorisation comme
- <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>. L'authentification HTTP à
- base de condensé (digest), quant à elle, est fournie par le module
+ <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>. L'authentification HTTP à
+ base de condensé (digest), quant à elle, est fournie par le module
<code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>. </p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#authbasicprovider">AuthBasicProvider</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_auth_basic">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_auth_basic">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_auth_basic">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_auth_basic">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li>
<li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authbasicauthoritative" id="authbasicauthoritative">Directive</a> <a name="AuthBasicAuthoritative" id="AuthBasicAuthoritative">AuthBasicAuthoritative</a><a title="Lien permanent" href="#authbasicauthoritative" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si les processus d'autorisation et
-d'authentification peuvent être confiés à des modules de plus bas
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si les processus d'autorisation et
+d'authentification peuvent être confiés à des modules de plus bas
niveau</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthBasicAuthoritative On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthBasicAuthoritative 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#Default">Défaut:</a></th><td><code>AuthBasicAuthoritative 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">AllowOverride:</a></th><td>AuthConfig</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_auth_basic</td></tr>
</table>
- <p>Normalement, chaque module d'autorisation énuméré dans la
+ <p>Normalement, chaque module d'autorisation énuméré dans la
directive <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code> va tenter de
- vérifier l'utilisateur, et si ce dernier n'est trouvé dans aucun des
- fournisseurs, l'accès sera refusé. Définir explicitement la
- directive <code class="directive">AuthBasicAuthoritative</code> à
+ vérifier l'utilisateur, et si ce dernier n'est trouvé dans aucun des
+ fournisseurs, l'accès sera refusé. Définir explicitement la
+ directive <code class="directive">AuthBasicAuthoritative</code> à
<code>Off</code> permet de confier l'autorisation et
- l'authentification à d'autres modules non basés sur les fournisseurs
+ l'authentification à d'autres modules non basés sur les fournisseurs
si <strong>aucun identifiant utilisateur</strong> ou aucune
- <strong>règle</strong> ne correspondent à l'identifiant utilisateur
- spécifié. Ceci ne peut s'avérer nécessaire que lorsque
- <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> est combiné avec des modules tiers
- qui n'ont pas été configurés à l'aide de la directive <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code>. Lorsqu'on
+ <strong>règle</strong> ne correspondent à l'identifiant utilisateur
+ spécifié. Ceci ne peut s'avérer nécessaire que lorsque
+ <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> est combiné avec des modules tiers
+ qui n'ont pas été configurés à l'aide de la directive <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code>. Lorsqu'on
utilise de tels modules, l'ordre dans lequel s'effectue le
- traitement est défini dans le code source des modules et n'est pas
+ traitement est défini dans le code source des modules et n'est pas
configurable.</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="authbasicfake" id="authbasicfake">Directive</a> <a name="AuthBasicFake" id="AuthBasicFake">AuthBasicFake</a><a title="Lien permanent" href="#authbasicfake" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Authentification de base simulée à l'aide des nom
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Authentification de base simulée à l'aide des nom
d'utilisateur et mot de passe fournis</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthBasicFake off|<var>username</var> [<var>password</var>]</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#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">AllowOverride:</a></th><td>AuthConfig</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_auth_basic</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
Apache</td></tr>
</table>
- <p>Les nom d'utilisateur et mot de passe spécifiés sont rassemblés
- dans un en-tête d'autorisation qui est transmis au serveur ou au
+ <p>Les nom d'utilisateur et mot de passe spécifiés sont rassemblés
+ dans un en-tête d'autorisation qui est transmis au serveur ou au
service sous-jacent au serveur. Ces nom d'utilisateur et mot de
- passe sont interprétés par l'<a href="../expr.html">interpréteur
- d'expression</a>, ce qui permet de les définir en fonction de
- paramètres de la requête.</p>
+ passe sont interprétés par l'<a href="../expr.html">interpréteur
+ d'expression</a>, ce qui permet de les définir en fonction de
+ paramètres de la requête.</p>
- <p>Si aucun mot de passe n'est spécifié, la valeur par défaut
- "password" sera utilisée. Pour désactiver l'authentification de base
- simulée pour un espace d'URL, définissez AuthBasicFake à "off".</p>
+ <p>Si aucun mot de passe n'est spécifié, la valeur par défaut
+ "password" sera utilisée. Pour désactiver l'authentification de base
+ simulée pour un espace d'URL, définissez AuthBasicFake à "off".</p>
<p>Dans l'exemple suivant, un nom d'utilisateur et un mot de passe
- prédéfinis sont transmis à un serveur d'arrière-plan :</p>
+ prédéfinis sont transmis à un serveur d'arrière-plan :</p>
<div class="example"><h3>Exemple de transmission d'un nom d'utilisateur et
- d'un mot de passe prédéfinis</h3><pre class="prettyprint lang-config"><Location "/demo">
+ d'un mot de passe prédéfinis</h3><pre class="prettyprint lang-config"><Location "/demo">
AuthBasicFake demo demopass
</Location></pre>
</div>
<p>Dans l'exemple suivant, l'adresse email extraite d'un certificat
- client est transmise au serveur, étendant par là-même la
- fonctionnalité de l'option FakeBasicAuth de la directive <code class="directive"><a href="../mod/mod_ssl.html#ssloptions">SSLOptions</a></code>. Comme avec l'option
- FakeBasicAuth, le mot de passe se voit attribué le contenu fixe de
- la chaîne "password".</p>
+ client est transmise au serveur, étendant par là-même la
+ fonctionnalité de l'option FakeBasicAuth de la directive <code class="directive"><a href="../mod/mod_ssl.html#ssloptions">SSLOptions</a></code>. Comme avec l'option
+ FakeBasicAuth, le mot de passe se voit attribué le contenu fixe de
+ la chaîne "password".</p>
<div class="example"><h3>Exemple d'utilisation avec un certificat</h3><pre class="prettyprint lang-config"><Location "/secure">
AuthBasicFake "%{SSL_CLIENT_S_DN_Email}"
</Location></pre>
</div>
- <p>Pour compléter l'exemple précédent, il est possible de générer la
- valeur du mot de passe en procédant à un hashage de l'adresse email
- à partir d'un mot d'une passphrase initial fixée, puis de transmettre le
- résultat obtenu au serveur d'arrière-plan. Ceci peut s'avérer utile
- pour donner accès à des serveurs anciens qui ne supportent pas les
+ <p>Pour compléter l'exemple précédent, il est possible de générer la
+ valeur du mot de passe en procédant à un hashage de l'adresse email
+ à partir d'un mot d'une passphrase initial fixée, puis de transmettre le
+ résultat obtenu au serveur d'arrière-plan. Ceci peut s'avérer utile
+ pour donner accès à des serveurs anciens qui ne supportent pas les
certificats clients.</p>
- <div class="example"><h3>Exemple de génération de mot de passe par hashage de
+ <div class="example"><h3>Exemple de génération de mot de passe par hashage de
l'adresse email</h3><pre class="prettyprint lang-config"><Location "/secure">
AuthBasicFake "%{SSL_CLIENT_S_DN_Email}" "%{sha1:passphrase-%{SSL_CLIENT_S_DN_Email}}"
</Location></pre>
</div>
- <div class="example"><h3>Désactivation de l'authentification simulée</h3><pre class="prettyprint lang-config"><Location "/public">
+ <div class="example"><h3>Désactivation de l'authentification simulée</h3><pre class="prettyprint lang-config"><Location "/public">
AuthBasicFake off
</Location></pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authbasicprovider" id="authbasicprovider">Directive</a> <a name="AuthBasicProvider" id="AuthBasicProvider">AuthBasicProvider</a><a title="Lien permanent" href="#authbasicprovider" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le(les) fournisseur(s) d'authentification pour
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le(les) fournisseur(s) d'authentification pour
cette zone du site web</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthBasicProvider <var>nom fournisseur</var>
[<var>nom fournisseur</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthBasicProvider file</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#Default">Défaut:</a></th><td><code>AuthBasicProvider file</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">AllowOverride:</a></th><td>AuthConfig</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_auth_basic</td></tr>
</table>
<p>La directive <code class="directive">AuthBasicProvider</code> permet de
- définir le fournisseur utilisé pour authentifier les utilisateurs
- pour la zone du site web concernée. Le fournisseur par défaut
- <code>file</code> est implémenté par le module
+ définir le fournisseur utilisé pour authentifier les utilisateurs
+ pour la zone du site web concernée. Le fournisseur par défaut
+ <code>file</code> est implémenté par le module
<code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>. Assurez-vous que le module
- implémentant le fournisseur choisi soit bien présent dans le
+ implémentant le fournisseur choisi soit bien présent dans le
serveur.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Location "/secure">
Require valid-user
</Location></pre>
</div>
- <p>Les fournisseurs sont sollicités dans l'ordre jusqu'à ce que l'un
+ <p>Les fournisseurs sont sollicités dans l'ordre jusqu'à ce que l'un
d'entre eux trouve une correspondance pour le nom d'utilisateur de
- la requête ; alors, ce dernier fournisseur sera le seul à vérifier
- le mot de passe. Un échec dans la vérification du mot de passe
- n'entraîne pas le passage du contrôle au fournisseur suivant.</p>
+ la requête ; alors, ce dernier fournisseur sera le seul à vérifier
+ le mot de passe. Un échec dans la vérification du mot de passe
+ n'entraîne pas le passage du contrôle au fournisseur suivant.</p>
- <p>Les différents fournisseurs disponibles sont implémentés par les
+ <p>Les différents fournisseurs disponibles sont implémentés par les
modules <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>,
<code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>,
<code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> et <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code>.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authbasicusedigestalgorithm" id="authbasicusedigestalgorithm">Directive</a> <a name="AuthBasicUseDigestAlgorithm" id="AuthBasicUseDigestAlgorithm">AuthBasicUseDigestAlgorithm</a><a title="Lien permanent" href="#authbasicusedigestalgorithm" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie les mots de passe auprès des fournisseurs
-d'authentification à la manière de l'authentification de type Digest.
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie les mots de passe auprès des fournisseurs
+d'authentification à la manière de l'authentification de type Digest.
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthBasicUseDigestAlgorithm MD5|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthBasicUseDigestAlgorithm 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#Default">Défaut:</a></th><td><code>AuthBasicUseDigestAlgorithm 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">AllowOverride:</a></th><td>AuthConfig</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_auth_basic</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.7 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.7 du serveur HTTP
Apache</td></tr>
</table>
<p>Normalement, lorsqu'on utilise l'authentification basique, les
- fournisseurs spécifiés via la directive <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code> tentent de
- contrôler l'identité d'un utilisateur en recherchant dans leurs
- bases de données l'existence d'un couple utilisateur/mot de passe
- correspondant. Les mots de passe enregistrés sont en général
- chiffrés, mais ce n'est pas systématique ; chaque fournisseur peut
+ fournisseurs spécifiés via la directive <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code> tentent de
+ contrôler l'identité d'un utilisateur en recherchant dans leurs
+ bases de données l'existence d'un couple utilisateur/mot de passe
+ correspondant. Les mots de passe enregistrés sont en général
+ chiffrés, mais ce n'est pas systématique ; chaque fournisseur peut
choisir son propre mode de stockage des mots de passe.</p>
<p>Lorsqu'on utilise l'authentification de type Digest, les
- fournisseurs spécifiés par la directive <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> effectuent
+ fournisseurs spécifiés par la directive <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> effectuent
une recherche similaire dans leurs bases de
- données pour trouver un couple utilisateur/mot de passe
- correspondant. Cependant, à la différence de l'authentification
- basique, les données associées à chaque utilisateur et comportant le
+ données pour trouver un couple utilisateur/mot de passe
+ correspondant. Cependant, à la différence de l'authentification
+ basique, les données associées à chaque utilisateur et comportant le
nom d'utilisateur, le domaine de protection (realm) et le mot de
- passe doivent être contenues dans une chaîne chiffrée (Voir le
+ passe doivent être contenues dans une chaîne chiffrée (Voir le
document <a href="http://tools.ietf.org/html/rfc2617#section-3.2.2.2">RFC 2617,
- Section 3.2.2.2</a> pour plus de détails à propos du type de
- chiffrement utilisé pour cette chaîne).</p>
+ Section 3.2.2.2</a> pour plus de détails à propos du type de
+ chiffrement utilisé pour cette chaîne).</p>
- <p>A cause de la différence entre les méthodes de stockage des
- données des authentifications de type basique et digest, le passage
- d'une méthode d'authentification de type digest à une méthode
+ <p>A cause de la différence entre les méthodes de stockage des
+ données des authentifications de type basique et digest, le passage
+ d'une méthode d'authentification de type digest à une méthode
d'authentification de type basique requiert l'attribution de
nouveaux
- mots de passe à chaque utilisateur, car leur mots de passe existant
- ne peut pas être extrait à partir du schéma de stockage utilisé
+ mots de passe à chaque utilisateur, car leur mots de passe existant
+ ne peut pas être extrait à partir du schéma de stockage utilisé
par les fournisseurs d'authentification de type digest.</p>
<p>Si la directive <code class="directive">AuthBasicUseDigestAlgorithm</code> est
- définie à la valeur <code>MD5</code>, le mot de passe d'un
- utilisateur dans le cas de l'authentification basique sera vérifié
- en utilisant le même format de chiffrement que dans le cas de
- l'authentification de type digest. Tout d'abord, une chaîne
+ définie à la valeur <code>MD5</code>, le mot de passe d'un
+ utilisateur dans le cas de l'authentification basique sera vérifié
+ en utilisant le même format de chiffrement que dans le cas de
+ l'authentification de type digest. Tout d'abord, une chaîne
comportant le nom d'utilisateur, le domaine de protection (realm) et
- le mot de passe est générée sous forme de condensé (hash) en
+ le mot de passe est générée sous forme de condensé (hash) en
utilisant l'algorithme MD5 ; puis le nom d'utilisateur et cette
- chaîne chiffrée sont transmis aux fournisseurs spécifiés via la
+ chaîne chiffrée sont transmis aux fournisseurs spécifiés via la
directive <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code> comme si la
directive <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code>
- était définie à <code>Digest</code> et si l'authentification de type
- Digest était utilisée.
+ était définie à <code>Digest</code> et si l'authentification de type
+ Digest était utilisée.
</p>
- <p>Grâce à cette directive, un site peut basculer d'une
- authentification de type digest à basique sans devoir changer les
+ <p>Grâce à cette directive, un site peut basculer d'une
+ authentification de type digest à basique sans devoir changer les
mots de passe des utilisateurs. </p>
<div class="note">
- Le processus inverse consistant à passer d'une authentification de
- type basique à digest sans changer les mots de passe n'est en
- général pas possible. Les mots de passe enregistrés dans le cas
- d'une authentification de type basique ne pourront être extraits
- et chiffrés à nouveau selon le schéma de l'authentification de
- type digest, que s'ils ont été stockés en clair ou selon un schéma de
- chiffrement réversible.
+ Le processus inverse consistant à passer d'une authentification de
+ type basique à digest sans changer les mots de passe n'est en
+ général pas possible. Les mots de passe enregistrés dans le cas
+ d'une authentification de type basique ne pourront être extraits
+ et chiffrés à nouveau selon le schéma de l'authentification de
+ type digest, que s'ils ont été stockés en clair ou selon un schéma de
+ chiffrement réversible.
</div>
<div class="note">
Seuls les fournisseurs qui supportent l'authentification de type
digest pourront authentifier les utilisateurs lorsque la directive
<code class="directive">AuthBasicUseDigestAlgorithm</code>
- est définie à <code>MD5</code>. L'utilisation d'un autre
+ est définie à <code>MD5</code>. L'utilisation d'un autre
fournisseur provoquera un message d'erreur et le client se verra
- refuser l'accès.</div>
+ refuser l'accès.</div>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_basic.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_auth_basic.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_auth_basic.html" title="Français"> fr </a> |
+<a href="../es/mod/mod_auth_basic.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_auth_basic.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_auth_basic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_auth_basic.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_auth_digest</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_digest.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_auth_digest.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_auth_digest.html" title="Français"> fr </a> |
<a href="../ko/mod/mod_auth_digest.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification utilisateur utilisant les condensés
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification utilisateur utilisant les condensés
MD5</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>auth_digest_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_auth_digest.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>auth_digest_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_auth_digest.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module implémente l'authentification HTTP basée sur les
- condensés MD5 (<a href="http://www.faqs.org/rfcs/rfc2617.html">RFC2617</a>), et
- fournit une alternative à <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> en
+ <p>Ce module implémente l'authentification HTTP basée sur les
+ condensés MD5 (<a href="http://www.faqs.org/rfcs/rfc2617.html">RFC2617</a>), et
+ fournit une alternative à <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> en
ne transmettant plus le mot de passe en clair. Cependant, cela ne
- suffit pas pour améliorer la sécurité de manière significative par
- rapport à l'authentification basique. En outre, le stockage du mot
- de passe sur le serveur est encore moins sûr dans le cas
- d'une authentification à base de condensé que dans le cas d'une
+ suffit pas pour améliorer la sécurité de manière significative par
+ rapport à l'authentification basique. En outre, le stockage du mot
+ de passe sur le serveur est encore moins sûr dans le cas
+ d'une authentification à base de condensé que dans le cas d'une
authentification basique. C'est pourquoi l'utilisation de
- l'authentification basique associée à un chiffrement de la connexion
+ l'authentification basique associée à un chiffrement de la connexion
via <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> constitue une bien meilleure
alternative.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#using">Utilisation de l'authentification à base de
-condensés</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#using">Utilisation de l'authentification à base de
+condensés</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#authdigestalgorithm">AuthDigestAlgorithm</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authdigestqop">AuthDigestQop</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authdigestshmemsize">AuthDigestShmemSize</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_auth_digest">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_auth_digest">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_auth_digest">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_auth_digest">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li>
<li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li>
<li><a href="#comments_section">Commentaires</a></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="using" id="using">Utilisation de l'authentification à base de
-condensés</a><a title="Lien permanent" href="#using" class="permalink">¶</a></h2>
+<h2><a name="using" id="using">Utilisation de l'authentification à base de
+condensés</a><a title="Lien permanent" href="#using" class="permalink">¶</a></h2>
- <p>Pour utiliser l'authentification à base de condensés MD5, configurez la
+ <p>Pour utiliser l'authentification à base de condensés MD5, configurez la
protection de la section Location comme dans l'exemple ci-dessous :</p>
<div class="example"><h3>Exemple :</h3><pre class="prettyprint lang-config"><Location "/private/">
</div>
<p>La directive <code class="directive"><a href="#authdigestdomain">AuthDigestDomain</a></code> permet de fournir la
- liste des URIs protégés par cette configuration.</p>
+ liste des URIs protégés par cette configuration.</p>
- <p>Le fichier de mots de passe référencé par la directive <code class="directive"><a href="#authuserfile">AuthUserFile</a></code> peut être créé et maintenu
+ <p>Le fichier de mots de passe référencé par la directive <code class="directive"><a href="#authuserfile">AuthUserFile</a></code> peut être créé et maintenu
via l'utilitaire <code class="program"><a href="../programs/htdigest.html">htdigest</a></code>.</p>
<div class="note"><h3>Note</h3>
- <p>L'authentification à base de condensé a été conçue pour améliorer
- la sécurité par rapport à l'authentification basique, mais il
- s'avère que ce but n'a pas été atteint. Un attaquant de type
- "man-in-the-middle" peut facilement forcer le navigateur à revenir à
- une authentification basique. Même une oreille indiscrète passive
+ <p>L'authentification à base de condensé a été conçue pour améliorer
+ la sécurité par rapport à l'authentification basique, mais il
+ s'avère que ce but n'a pas été atteint. Un attaquant de type
+ "man-in-the-middle" peut facilement forcer le navigateur à revenir à
+ une authentification basique. Même une oreille indiscrète passive
peut retrouver le mot de passe par force brute avec les moyens
- modernes, car l'algorithme de hashage utilisé par l'authentification
- à base de condensé est trop rapide. Autre problème, le stockage des
- mots de passe sur le serveur n'est pas sûr. Le contenu d'un fichier
- htdigest volé peut être utilisé directement pour l'authentification
- à base de condensé. Il est donc fortement recommandé d'utiliser
+ modernes, car l'algorithme de hashage utilisé par l'authentification
+ à base de condensé est trop rapide. Autre problème, le stockage des
+ mots de passe sur le serveur n'est pas sûr. Le contenu d'un fichier
+ htdigest volé peut être utilisé directement pour l'authentification
+ à base de condensé. Il est donc fortement recommandé d'utiliser
<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> pour chiffrer la connexion.</p>
<p><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> ne fonctionne correctement que
- sur les plates-formes où APR supporte la mémoire partagée.</p>
+ sur les plates-formes où APR supporte la mémoire partagée.</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="authdigestalgorithm" id="authdigestalgorithm">Directive</a> <a name="AuthDigestAlgorithm" id="AuthDigestAlgorithm">AuthDigestAlgorithm</a><a title="Lien permanent" href="#authdigestalgorithm" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sélectionne l'algorithme utilisé pour calculer les
-condensés du défit et de sa réponse</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sélectionne l'algorithme utilisé pour calculer les
+condensés du défit et de sa réponse</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestAlgorithm MD5|MD5-sess</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestAlgorithm MD5</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#Default">Défaut:</a></th><td><code>AuthDigestAlgorithm MD5</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">AllowOverride:</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_auth_digest</td></tr>
</table>
<p>La directive <code class="directive">AuthDigestAlgorithm</code> permet de
- sélectionner l'algorithme utilisé pour calculer les condensés du
- défit et de sa réponse.</p>
+ sélectionner l'algorithme utilisé pour calculer les condensés du
+ défit et de sa réponse.</p>
<div class="note">
- <code>MD5-sess</code> n'est pas encore correctement implémenté.
+ <code>MD5-sess</code> n'est pas encore correctement implémenté.
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authdigestdomain" id="authdigestdomain">Directive</a> <a name="AuthDigestDomain" id="AuthDigestDomain">AuthDigestDomain</a><a title="Lien permanent" href="#authdigestdomain" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les URIs qui se trouvent dans le même espace de protection
-concernant l'authentification à base de condensés</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les URIs qui se trouvent dans le même espace de protection
+concernant l'authentification à base de condensés</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_auth_digest</td></tr>
</table>
<p>La directive <code class="directive">AuthDigestDomain</code> vous permet
- de spécifier un ou plusieurs URIs se trouvant dans le même
- espace de protection (c'est à dire utilisant le même utilisateur/mot
- de passe et se trouvant dans le même domaine). Les URIs spécifiés
- sont des préfixes ; le client doit savoir que tous les URIs situés
- sous ces préfixes seront protégés par le même utilisateur/mot de
- passe. Les URIs peuvent être soit des URIs absolus (c'est à dire
+ de spécifier un ou plusieurs URIs se trouvant dans le même
+ espace de protection (c'est à dire utilisant le même utilisateur/mot
+ de passe et se trouvant dans le même domaine). Les URIs spécifiés
+ sont des préfixes ; le client doit savoir que tous les URIs situés
+ sous ces préfixes seront protégés par le même utilisateur/mot de
+ passe. Les URIs peuvent être soit des URIs absolus (c'est à dire
avec protocole, nom serveur, port, etc...), soit des URIs
relatifs.</p>
- <p>Cette directive doit toujours être présente et contenir au moins
+ <p>Cette directive doit toujours être présente et contenir au moins
le(s) URI(s) racine(s) pour cet espace. Dans le cas contraire, le
- client va envoyer un en-tête d'autorisation avec <em>chaque
- requête</em> à destination de ce serveur. Outre une augmentation de
- la taille de la requête, les performances vont s'en trouver
- affectées si la directive <code class="directive"><a href="#authdigestnccheck">AuthDigestNcCheck</a></code> est définie à
+ client va envoyer un en-tête d'autorisation avec <em>chaque
+ requête</em> à destination de ce serveur. Outre une augmentation de
+ la taille de la requête, les performances vont s'en trouver
+ affectées si la directive <code class="directive"><a href="#authdigestnccheck">AuthDigestNcCheck</a></code> est définie à
On.</p>
- <p>Les URIs spécifiés peuvent aussi référencer différents serveurs,
- auquel cas les clients (qui sont à même de le comprendre) vont
+ <p>Les URIs spécifiés peuvent aussi référencer différents serveurs,
+ auquel cas les clients (qui sont à même de le comprendre) vont
partager l'utilisateur/mot de passe entre plusieurs serveurs sans le
- demander à l'utilisateur à chaque fois.</p>
+ demander à l'utilisateur à chaque fois.</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="authdigestnccheck" id="authdigestnccheck">Directive</a> <a name="AuthDigestNcCheck" id="AuthDigestNcCheck">AuthDigestNcCheck</a><a title="Lien permanent" href="#authdigestnccheck" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive la vérification du nombre d'envois du
-nombre à valeur unique (nonce) par le serveur</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive la vérification du nombre d'envois du
+nombre à valeur unique (nonce) par le serveur</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestNcCheck On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestNcCheck Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestNcCheck Off</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_auth_digest</td></tr>
</table>
<div class="note">
- Non encore implémenté.
+ Non encore implémenté.
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authdigestnonceformat" id="authdigestnonceformat">Directive</a> <a name="AuthDigestNonceFormat" id="AuthDigestNonceFormat">AuthDigestNonceFormat</a><a title="Lien permanent" href="#authdigestnonceformat" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine la manière dont le nombre à valeur unique du
-serveur (nonce) est généré</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine la manière dont le nombre à valeur unique du
+serveur (nonce) est généré</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestNonceFormat <var>format</var></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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_auth_digest</td></tr>
</table>
- <div class="note">Non encore implémenté.</div>
+ <div class="note">Non encore implémenté.</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="authdigestnoncelifetime" id="authdigestnoncelifetime">Directive</a> <a name="AuthDigestNonceLifetime" id="AuthDigestNonceLifetime">AuthDigestNonceLifetime</a><a title="Lien permanent" href="#authdigestnoncelifetime" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de validité du nombre à valeur unique du
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de validité du nombre à valeur unique du
serveur (nonce)</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestNonceLifetime <var>secondes</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestNonceLifetime 300</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#Default">Défaut:</a></th><td><code>AuthDigestNonceLifetime 300</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">AllowOverride:</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_auth_digest</td></tr>
</table>
<p>La directive <code class="directive">AuthDigestNonceLifetime</code>
- permet de contrôler la durée de validité du nombre à valeur unique
+ permet de contrôler la durée de validité du nombre à valeur unique
du serveur (nonce). Lorsque le client contacte le serveur en
- utilisant un nonce dont la validité a expiré, le serveur renvoie un
+ utilisant un nonce dont la validité a expiré, le serveur renvoie un
code d'erreur 401 avec <code>stale=true</code>. Si
- <var>secondes</var> est supérieur à 0, il spécifie la durée de
- validité du nonce ; il est en général déconseillé d'affecter à cet
- argument une valeur inférieure à 10 secondes. Si
- <var>secondes</var> est inférieur à 0, le nonce n'expire jamais.
+ <var>secondes</var> est supérieur à 0, il spécifie la durée de
+ validité du nonce ; il est en général déconseillé d'affecter à cet
+ argument une valeur inférieure à 10 secondes. Si
+ <var>secondes</var> est inférieur à 0, le nonce n'expire jamais.
</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authdigestprovider" id="authdigestprovider">Directive</a> <a name="AuthDigestProvider" id="AuthDigestProvider">AuthDigestProvider</a><a title="Lien permanent" href="#authdigestprovider" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le(s) fournisseurs(s) d'authentification pour la
-zone du site web concernée</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le(s) fournisseurs(s) d'authentification pour la
+zone du site web concernée</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestProvider <var>nom fournisseur</var>
[<var>nom fournisseur</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestProvider file</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#Default">Défaut:</a></th><td><code>AuthDigestProvider file</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">AllowOverride:</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_auth_digest</td></tr>
</table>
<p>La directive <code class="directive">AuthDigestProvider</code> permet de
- définir quel fournisseur d'authentification sera utilisé pour
- authentifier les utilisateurs pour la zone du site web concernée.
- Assurez-vous que le module implémentant le fournisseur
- d'authentification choisi soit bien présent dans le serveur. Le
- fournisseur par défaut <code>file</code> est implémenté par le
+ définir quel fournisseur d'authentification sera utilisé pour
+ authentifier les utilisateurs pour la zone du site web concernée.
+ Assurez-vous que le module implémentant le fournisseur
+ d'authentification choisi soit bien présent dans le serveur. Le
+ fournisseur par défaut <code>file</code> est implémenté par le
module <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>.</p>
<p>Voir <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>,
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authdigestqop" id="authdigestqop">Directive</a> <a name="AuthDigestQop" id="AuthDigestQop">AuthDigestQop</a><a title="Lien permanent" href="#authdigestqop" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le niveau de protection fourni par
-l'authentification à base de condensé</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le niveau de protection fourni par
+l'authentification à base de condensé</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestQop none|auth|auth-int [auth|auth-int]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestQop auth</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#Default">Défaut:</a></th><td><code>AuthDigestQop auth</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">AllowOverride:</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_auth_digest</td></tr>
</table>
<p>La directive <code class="directive">AuthDigestQop</code> permet de
- définir le <dfn>niveau de protection</dfn> fourni. <code>auth</code>
+ définir le <dfn>niveau de protection</dfn> fourni. <code>auth</code>
ne fournit que l'authentification (nom utilisateur/mot de passe) ;
- <code>auth-int</code> fournit l'authentification plus un contrôle
- d'intégrité (un condensé MD5 de l'entité est aussi calculé et
- vérifié) ; avec <code>none</code>, le module va utiliser l'ancien
- algorithme de condensés RFC-2069 (qui n'effectue pas de contrôle
- d'intégrité). On peut spécifier à la fois <code>auth</code> et
+ <code>auth-int</code> fournit l'authentification plus un contrôle
+ d'intégrité (un condensé MD5 de l'entité est aussi calculé et
+ vérifié) ; avec <code>none</code>, le module va utiliser l'ancien
+ algorithme de condensés RFC-2069 (qui n'effectue pas de contrôle
+ d'intégrité). On peut spécifier à la fois <code>auth</code> et
<code>auth-int</code>, auquel cas c'est le navigateur qui va choisir
- lequel des deux utiliser. <code>none</code> ne doit être utilisé que
- dans le cas où le navigateur ne serait pas à même (pour une raison
- ou pour une autre) de relever le défit qu'il recevrait si un autre
- niveau de protection était défini.</p>
+ lequel des deux utiliser. <code>none</code> ne doit être utilisé que
+ dans le cas où le navigateur ne serait pas à même (pour une raison
+ ou pour une autre) de relever le défit qu'il recevrait si un autre
+ niveau de protection était défini.</p>
<div class="note">
- <code>auth-int</code> n'est pas encore implémenté.
+ <code>auth-int</code> n'est pas encore implémenté.
</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="authdigestshmemsize" id="authdigestshmemsize">Directive</a> <a name="AuthDigestShmemSize" id="AuthDigestShmemSize">AuthDigestShmemSize</a><a title="Lien permanent" href="#authdigestshmemsize" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La quantité de mémoire partagée à allouer afin de conserver
-les informations à propos des clients</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La quantité de mémoire partagée à allouer afin de conserver
+les informations à propos des clients</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDigestShmemSize <var>taille</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestShmemSize 1000</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDigestShmemSize 1000</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_auth_digest</td></tr>
</table>
<p>La directive <code class="directive">AuthDigestShmemSize</code> permet de
- définir la quantité de mémoire partagée à allouer au démarrage du
- serveur afin de conserver les informations à propos des clients.
- Notez que le segment de mémoire partagée ne peut pas être défini à
- une taille inférieure à l'espace nécessaire pour conserver les
- informations à propos d'<em>un</em> client. Cette valeur dépend de
- votre système. Si vous voulez en déterminer la valeur exacte, vous
- pouvez simplement définir <code class="directive">AuthDigestShmemSize</code>
- à <code>0</code> et consulter le message d'erreur que renverra le
- serveur lorsqu'on essaiera de le démarrer.</p>
+ définir la quantité de mémoire partagée à allouer au démarrage du
+ serveur afin de conserver les informations à propos des clients.
+ Notez que le segment de mémoire partagée ne peut pas être défini à
+ une taille inférieure à l'espace nécessaire pour conserver les
+ informations à propos d'<em>un</em> client. Cette valeur dépend de
+ votre système. Si vous voulez en déterminer la valeur exacte, vous
+ pouvez simplement définir <code class="directive">AuthDigestShmemSize</code>
+ à <code>0</code> et consulter le message d'erreur que renverra le
+ serveur lorsqu'on essaiera de le démarrer.</p>
- <p>L'argument <var>size</var> s'exprime par défaut en octets, mais
+ <p>L'argument <var>size</var> s'exprime par défaut en octets, mais
vous pouvez suffixer le nombre par un <code>K</code> ou un
- <code>M</code> pour spécifier respectivement des KiloOctets ou des
- MégaOctets. Par exemple, les directives qui suivent sont toutes
- équivalentes :</p>
+ <code>M</code> pour spécifier respectivement des KiloOctets ou des
+ MégaOctets. Par exemple, les directives qui suivent sont toutes
+ équivalentes :</p>
<pre class="prettyprint lang-config">AuthDigestShmemSize 1048576
AuthDigestShmemSize 1024K
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_digest.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_auth_digest.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_auth_digest.html" title="Français"> fr </a> |
<a href="../ko/mod/mod_auth_digest.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_auth_form</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_form.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_auth_form.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_auth_form.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification à l'aide d'un formulaire</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification à l'aide d'un formulaire</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>auth_form_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_auth_form.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir d'Apache 2.3</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>auth_form_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_auth_form.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir d'Apache 2.3</td></tr></table>
<h3>Sommaire</h3>
<div class="warning"><h3>Avertissement</h3>
- <p>L'authentification à base de formulaire dépend des modules
+ <p>L'authentification à base de formulaire dépend des modules
<code class="module"><a href="../mod/mod_session.html">mod_session</a></code> qui utilisent les cookies HTTP, et en
- tant que tels s'exposent à des attaques de type Cross Site
- Scripting, ou risquent de divulguer des informations à caractère
- privé aux clients. Assurez-vous que ces risques ont bien été pris
+ tant que tels s'exposent à des attaques de type Cross Site
+ Scripting, ou risquent de divulguer des informations à caractère
+ privé aux clients. Assurez-vous que ces risques ont bien été pris
en compte avant d'activer les sessions sur votre serveur.</p>
</div>
- <p>Ce module permet de restreindre l'accès en recherchant les
- utilisateurs dans les fournisseurs spécifiés à l'aide d'un
- formulaire de connexion HTML. Les formulaires HTML requièrent
- davantage de configuration que les méthodes d'authentification
- alternatives, mais ils peuvent s'avérer beaucoup plus conviviaux
+ <p>Ce module permet de restreindre l'accès en recherchant les
+ utilisateurs dans les fournisseurs spécifiés à l'aide d'un
+ formulaire de connexion HTML. Les formulaires HTML requièrent
+ davantage de configuration que les méthodes d'authentification
+ alternatives, mais ils peuvent s'avérer beaucoup plus conviviaux
pour les utilisateurs.
</p>
<p>L'authentification HTTP de base est fournie par le module
- <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, et l'authentification HTTP à base
- de condensé par le module <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>. Le
- module <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> doit être utilisé avec au
+ <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, et l'authentification HTTP à base
+ de condensé par le module <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>. Le
+ module <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> doit être utilisé avec au
moins un module d'authentification du style
<code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> et un module d'autorisation comme
<code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>.</p>
- <p>Lorsque l'utilisateur a été authentifié avec succès, ses
- informations de connexion sont stockés dans une session fournie par
+ <p>Lorsque l'utilisateur a été authentifié avec succès, ses
+ informations de connexion sont stockés dans une session fournie par
le module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.
</p>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#basicconfig">Configuration de base</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#standalone">Page de connexion dédiée</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#inline">Connexion à la volée</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#inlinepreservebody">Connexion à la volée avec
+<li><img alt="" src="../images/down.gif" /> <a href="#standalone">Page de connexion dédiée</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#inline">Connexion à la volée</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#inlinepreservebody">Connexion à la volée avec
conservation du contenu</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#loggingout">Déconnexion</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#loggingout">Déconnexion</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#urlencoding">Noms d'utilisateurs et mots de
passe</a></li>
</ul><h3 class="directives">Directives</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#authformsize">AuthFormSize</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authformusername">AuthFormUsername</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_auth_form">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_auth_form">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_auth_form">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_auth_form">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_session.html">mod_session</a></code></li>
<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li>
<div class="section">
<h2><a name="basicconfig" id="basicconfig">Configuration de base</a><a title="Lien permanent" href="#basicconfig" class="permalink">¶</a></h2>
- <p>Pour protéger une URL particulière avec le module
- <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>, vous devez déterminer l'endroit où
- vous allez stocker votre <var>session</var>, ainsi que la méthode
+ <p>Pour protéger une URL particulière avec le module
+ <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>, vous devez déterminer l'endroit où
+ vous allez stocker votre <var>session</var>, ainsi que la méthode
d'authentification. Dans cet exemple simple, les informations de
- connexion sont stockées dans une session à l'aide du module
+ connexion sont stockées dans une session à l'aide du module
<code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code>, et l'authentification utilise
un fichier en s'appuyant sur le module
- <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>. Si l'authentification échoue,
- l'utilisateur dera redirigé vers la page du formulaire de
+ <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>. Si l'authentification échoue,
+ l'utilisateur dera redirigé vers la page du formulaire de
connexion.</p>
<div class="example"><h3>Exemple simple</h3><pre class="prettyprint lang-config"><Location "/admin">
</Location></pre>
</div>
- <p>L'authentification <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> est activée
- en affectant la valeur <var>form</var> à la directive <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code>. Les directives
+ <p>L'authentification <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> est activée
+ en affectant la valeur <var>form</var> à la directive <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code>. Les directives
<code class="directive"><a href="#authformprovider">AuthFormProvider</a></code> et
<code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>
- spécifient que les noms d'utilisateurs et mots de passe seront
- vérifiés en utilisant le fichier choisi.</p>
+ spécifient que les noms d'utilisateurs et mots de passe seront
+ vérifiés en utilisant le fichier choisi.</p>
<p>Les directives <code class="directive"><a href="../mod/mod_session.html#session">Session</a></code> et <code class="directive"><a href="../mod/mod_session_cookie.html#sessioncookiename">SessionCookieName</a></code>
- créent une session stockée dans un cookie HTTP au niveau
- du navigateur. Pour plus d'informations à propos des différentes
- options de configuration des sessions, reportez-vous à la
+ créent une session stockée dans un cookie HTTP au niveau
+ du navigateur. Pour plus d'informations à propos des différentes
+ options de configuration des sessions, reportez-vous à la
documentation du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p>
- <p>Si vous le souhaitez, vous pouvez ajoutez une directive <code class="directive"><a href="../mod/mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase</a></code> pour créer
- un cookie de session chiffré. Le module
- <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> doit alors avoir été préalablement
- chargé.</p>
+ <p>Si vous le souhaitez, vous pouvez ajoutez une directive <code class="directive"><a href="../mod/mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase</a></code> pour créer
+ un cookie de session chiffré. Le module
+ <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> doit alors avoir été préalablement
+ chargé.</p>
- <p>Dans l'exemple simple ci-dessus, une URL a été protégée par
+ <p>Dans l'exemple simple ci-dessus, une URL a été protégée par
<code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>, mais on doit maintenant fournir
- à l'utilisateur un moyen d'entrer un nom et un mot de passe. À cet
- effet, on peut soit écrire une page de connexion indépendante
- dédiée, soit inclure le formulaire de connexion dans la page
+ à l'utilisateur un moyen d'entrer un nom et un mot de passe. À cet
+ effet, on peut soit écrire une page de connexion indépendante
+ dédiée, soit inclure le formulaire de connexion dans la page
courante.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="standalone" id="standalone">Page de connexion dédiée</a><a title="Lien permanent" href="#standalone" class="permalink">¶</a></h2>
+<h2><a name="standalone" id="standalone">Page de connexion dédiée</a><a title="Lien permanent" href="#standalone" class="permalink">¶</a></h2>
- <p>Le formulaire de connexion peut être contenu dans une page
- indépendante, ou être inclus dans la page courante. </p>
+ <p>Le formulaire de connexion peut être contenu dans une page
+ indépendante, ou être inclus dans la page courante. </p>
- <p>Lorsque la connexion s'effectue à partir d'une page
- indépendante et si la tentative d'authentification échoue,
- l'utilisateur doit être redirigé vers un formulaire de connexion,
- créé à cet effet sur le site web, en utilisant la directive
+ <p>Lorsque la connexion s'effectue à partir d'une page
+ indépendante et si la tentative d'authentification échoue,
+ l'utilisateur doit être redirigé vers un formulaire de connexion,
+ créé à cet effet sur le site web, en utilisant la directive
<code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code>.
- En général, la page de connexion contiendra un formulaire HTML
- demandant à l'utilisateur de fournir un nom et un mot de passe.</p>
+ En général, la page de connexion contiendra un formulaire HTML
+ demandant à l'utilisateur de fournir un nom et un mot de passe.</p>
<div class="example"><h3>Exemple de formulaire de connexion</h3><pre class="prettyprint lang-html"><form method="POST" action="/dologin.html">
Username: <input type="text" name="httpd_username" value="" />
</form></pre>
</div>
- <p>La partie où s'effectue la connexion proprement dite est
- traitée par le gestionnaire <var>form-login-handler</var>.
+ <p>La partie où s'effectue la connexion proprement dite est
+ traitée par le gestionnaire <var>form-login-handler</var>.
L'action de ce formulaire doit pointer vers ce gestionnaire, ce
que l'on configure dans Apache httpd comme suit :</p>
</Location></pre>
</div>
- <p>L'URL spécifiée par la directive
+ <p>L'URL spécifiée par la directive
<code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code>
- référencera en général une page expliquant à l'utilisateur que sa
- tentative de connexion a échoué, et qu'il doit la renouveler. La
+ référencera en général une page expliquant à l'utilisateur que sa
+ tentative de connexion a échoué, et qu'il doit la renouveler. La
directive <code class="directive"><a href="#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></code>
- spécifie l'URL vers laquelle l'utilisateur doit être redirigé s'il
- s'est authentifié avec succès.</p>
-
- <p>Alternativement, l'URL vers laquelle doit être redirigé
- l'utilisateur s'il s'est authentifié avec succès peut être
- intégrée dans le formulaire de connexion, comme dans l'exemple
- ci-dessous. Il en découle que le même gestionnaire
- <var>form-login-handler</var> pourra être utilisé pour différentes
+ spécifie l'URL vers laquelle l'utilisateur doit être redirigé s'il
+ s'est authentifié avec succès.</p>
+
+ <p>Alternativement, l'URL vers laquelle doit être redirigé
+ l'utilisateur s'il s'est authentifié avec succès peut être
+ intégrée dans le formulaire de connexion, comme dans l'exemple
+ ci-dessous. Il en découle que le même gestionnaire
+ <var>form-login-handler</var> pourra être utilisé pour différentes
zones du site web.</p>
<div class="example"><h3>Exemple de formulaire d'authentification multizone</h3><pre class="prettyprint lang-html"><form method="POST" action="/dologin.html">
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="inline" id="inline">Connexion à la volée</a><a title="Lien permanent" href="#inline" class="permalink">¶</a></h2>
+<h2><a name="inline" id="inline">Connexion à la volée</a><a title="Lien permanent" href="#inline" class="permalink">¶</a></h2>
<div class="warning"><h3>Avertissement</h3>
<p>Il existe un risque, dans certaines circonstances, que le
- formulaire de connexion configuré pour une connexion à la volée
- soit soumis plusieurs fois, révélant de ce fait les paramètres
- de connexion à l'application sous-jacente. L'administrateur doit
- s'assurer que cette dernière est correctement sécurisée afin
- d'éviter les éventuels abus. En cas de doute, utilisez une page
- de connexion indépendante dédiée.</p>
+ formulaire de connexion configuré pour une connexion à la volée
+ soit soumis plusieurs fois, révélant de ce fait les paramètres
+ de connexion à l'application sous-jacente. L'administrateur doit
+ s'assurer que cette dernière est correctement sécurisée afin
+ d'éviter les éventuels abus. En cas de doute, utilisez une page
+ de connexion indépendante dédiée.</p>
</div>
- <p>Comme alternative à la page de connexion dédiée pour un site
+ <p>Comme alternative à la page de connexion dédiée pour un site
web, il est possible de configurer <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>
- pour authentifier les utilisateurs à la volée, sans les rediriger
- vers une autre page, ce qui permet de conserver l'état de la page
- courante au cours de la tentative de connexion. Ceci peut s'avérer
- utile dans le cas d'une session limitée dans le temps, si le délai
- de la session a expiré pendant la requête de l'utilisateur. Ce
- dernier peut alors se réauthentifier à la même place, et
- poursuivre son activité à partir du point où il en était resté.</p>
-
- <p>Si un utilisateur non authentifié tente d'accéder à une page
- protégée par <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>, et si ce dernier
- n'est pas configuré avec une directive <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code>,
- un code de statut <var>HTTP_UNAUTHORIZED</var> est renvoyé vers le
- navigateur, indiquant à l'utilisateur qu'il n'est pas autorisé à
- accéder à cette page.</p>
-
- <p>Pour configurer l'authentification à la volée, l'administrateur
- remplace le message d'erreur renvoyé par le code de statut
- <var>HTTP_UNAUTHORIZED</var> par un message d'erreur personnalisé
+ pour authentifier les utilisateurs à la volée, sans les rediriger
+ vers une autre page, ce qui permet de conserver l'état de la page
+ courante au cours de la tentative de connexion. Ceci peut s'avérer
+ utile dans le cas d'une session limitée dans le temps, si le délai
+ de la session a expiré pendant la requête de l'utilisateur. Ce
+ dernier peut alors se réauthentifier à la même place, et
+ poursuivre son activité à partir du point où il en était resté.</p>
+
+ <p>Si un utilisateur non authentifié tente d'accéder à une page
+ protégée par <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>, et si ce dernier
+ n'est pas configuré avec une directive <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code>,
+ un code de statut <var>HTTP_UNAUTHORIZED</var> est renvoyé vers le
+ navigateur, indiquant à l'utilisateur qu'il n'est pas autorisé à
+ accéder à cette page.</p>
+
+ <p>Pour configurer l'authentification à la volée, l'administrateur
+ remplace le message d'erreur renvoyé par le code de statut
+ <var>HTTP_UNAUTHORIZED</var> par un message d'erreur personnalisé
contenant le formulaire de connexion comme suit :</p>
- <div class="example"><h3>Exemple simple d'authentification à la volée</h3><pre class="prettyprint lang-config">AuthFormProvider file
+ <div class="example"><h3>Exemple simple d'authentification à la volée</h3><pre class="prettyprint lang-config">AuthFormProvider file
ErrorDocument 401 "/login.shtml"
AuthUserFile "conf/passwd"
AuthType form
</div>
<p>La page du message d'erreur doit contenir un formulaire de
- connexion dont la propriété action est vide, comme dans l'exemple
- ci-dessous. Ceci a pour effet de soumettre le formulaire à l'URL
- protégée originale, cette dernière n'ayant pas besoin d'être
+ connexion dont la propriété action est vide, comme dans l'exemple
+ ci-dessous. Ceci a pour effet de soumettre le formulaire à l'URL
+ protégée originale, cette dernière n'ayant pas besoin d'être
connue de la page en cours.</p>
- <div class="example"><h3>Exemple de formulaire de connexion à la volée</h3><pre class="prettyprint lang-html"><form method="POST" <strong>action=""</strong>>
+ <div class="example"><h3>Exemple de formulaire de connexion à la volée</h3><pre class="prettyprint lang-html"><form method="POST" <strong>action=""</strong>>
Username: <input type="text" name="httpd_username" value="" />
Password: <input type="password" name="httpd_password" value="" />
<input type="submit" name="login" value="Login" />
</form></pre>
</div>
- <p>Lorsque l'utilisateur final a entré ses informations de
- connexion, le formulaire effectue une requête HTTP POST pour l'URL
- originale protégée par mot de passe.
- <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> va alors intercepter cette requête
- POST, et dans le cas où des champs HTML Utilisateur et Mot de
- passe corrects sont présents, l'utilisateur sera connecté, et
- l'URL originale protégée par mot de passe lui sera retournée en
- tant que requête GET.</p>
+ <p>Lorsque l'utilisateur final a entré ses informations de
+ connexion, le formulaire effectue une requête HTTP POST pour l'URL
+ originale protégée par mot de passe.
+ <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> va alors intercepter cette requête
+ POST, et dans le cas où des champs HTML Utilisateur et Mot de
+ passe corrects sont présents, l'utilisateur sera connecté, et
+ l'URL originale protégée par mot de passe lui sera retournée en
+ tant que requête GET.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="inlinepreservebody" id="inlinepreservebody">Connexion à la volée avec
+<h2><a name="inlinepreservebody" id="inlinepreservebody">Connexion à la volée avec
conservation du contenu</a><a title="Lien permanent" href="#inlinepreservebody" class="permalink">¶</a></h2>
- <p>Il existe une limite à la technique de connexion à la volée
- décrite ci-dessus ; si un formulaire HTML POST entraîne une
- demande d'authentification ou de réauthentification, le contenu du
- formulaire original envoyé par le navigateur sera perdu. Cela peut
- s'avérer plus ou moins gênant pour l'utilisateur final selon la
+ <p>Il existe une limite à la technique de connexion à la volée
+ décrite ci-dessus ; si un formulaire HTML POST entraîne une
+ demande d'authentification ou de réauthentification, le contenu du
+ formulaire original envoyé par le navigateur sera perdu. Cela peut
+ s'avérer plus ou moins gênant pour l'utilisateur final selon la
fonction du site web.</p>
- <p>Comme solution à ce problème, <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>
- permet d'intégrer la méthode et le contenu de la requête originale
- dans le formulaire de connexion. Si l'authentification réussit,
- Apache httpd pourra refaire une tentative avec la méthode et le contenu
- originaux, tout en conservant l'état de la requête originale.</p>
+ <p>Comme solution à ce problème, <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>
+ permet d'intégrer la méthode et le contenu de la requête originale
+ dans le formulaire de connexion. Si l'authentification réussit,
+ Apache httpd pourra refaire une tentative avec la méthode et le contenu
+ originaux, tout en conservant l'état de la requête originale.</p>
<p>Pour mettre en oeuvre la conservation du contenu, vous devez
- ajouter trois champs supplémentaires au formulaire de connexion
+ ajouter trois champs supplémentaires au formulaire de connexion
comme dans l'exemple suivant :</p>
<div class="example"><h3>Exemple de formulaire avec conservation du
</form></pre>
</div>
- <p>La manière dont la méthode, le type MIME et le contenu de la
- requête originale seront intégrés dans le formulaire de connexion
- vont dépendre de la plate-forme et de la technologie utilisées au
+ <p>La manière dont la méthode, le type MIME et le contenu de la
+ requête originale seront intégrés dans le formulaire de connexion
+ vont dépendre de la plate-forme et de la technologie utilisées au
sein du site web.
</p>
- <p>Une option consiste à utiliser le module
+ <p>Une option consiste à utiliser le module
<code class="module"><a href="../mod/mod_include.html">mod_include</a></code> en association avec la directive
<code class="directive"><a href="../mod/mod_request.html#keptbodysize">KeptBodySize</a></code>, ainsi
- qu'un script CGI adapté pour intégrer les variables dans le
+ qu'un script CGI adapté pour intégrer les variables dans le
formulaire.</p>
- <p>Une autre option consiste à présenter le formulaire de
+ <p>Une autre option consiste à présenter le formulaire de
connexion en utilisant un script CGI ou une autre technologie
dynamique.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="loggingout" id="loggingout">Déconnexion</a><a title="Lien permanent" href="#loggingout" class="permalink">¶</a></h2>
+<h2><a name="loggingout" id="loggingout">Déconnexion</a><a title="Lien permanent" href="#loggingout" class="permalink">¶</a></h2>
- <p>Pour permettre à un utilisateur de se déconnecter d'une session
- particulière, vous devez configurer une page pour qu'elle soit
- traitée par le gestionnaire <var>form-logout-handler</var>. Tout
- accès à cette URL va entraîner la suppression de l'Utilisateur et
+ <p>Pour permettre à un utilisateur de se déconnecter d'une session
+ particulière, vous devez configurer une page pour qu'elle soit
+ traitée par le gestionnaire <var>form-logout-handler</var>. Tout
+ accès à cette URL va entraîner la suppression de l'Utilisateur et
du Mot de passe de la session courante, ce qui aura pour effet de
- déconnecter l'utilisateur.</p>
+ déconnecter l'utilisateur.</p>
- <p>Vous pouvez spécifier une URL vers laquelle le navigateur sera
- redirigé en cas de déconnection réussie, en définissant la
+ <p>Vous pouvez spécifier une URL vers laquelle le navigateur sera
+ redirigé en cas de déconnection réussie, en définissant la
directive <code class="directive"><a href="#authformlogoutlocation">AuthFormLogoutLocation</a></code>. Cette
- URL devra expliquer à l'utilisateur qu'il a été déconnecté, et lui
- donner la possibilité de se connecter à nouveau.</p>
+ URL devra expliquer à l'utilisateur qu'il a été déconnecté, et lui
+ donner la possibilité de se connecter à nouveau.</p>
<div class="example"><h3>Exemple simple de configuration de la
- déconnexion</h3><pre class="prettyprint lang-config">SetHandler form-logout-handler
+ déconnexion</h3><pre class="prettyprint lang-config">SetHandler form-logout-handler
AuthName realm
AuthFormLogoutLocation "http://example.com/loggedout.html"
Session On
SessionCookieName session path=/</pre>
</div>
- <p>Notez que la déconnexion d'un utilisateur ne supprime pas la
+ <p>Notez que la déconnexion d'un utilisateur ne supprime pas la
session ; elle supprime seulement l'utilisateur et le mot de passe
- de la session. Si la session qui en résulte est vide, elle sera
- probablement supprimée, mais ce n'est pas garanti. Si vous voulez
- être sûr que la session sera supprimée, affectez une valeur faible
- à la directive <code class="directive"><a href="../mod/mod_session.html#sessionmaxage">SessionMaxAge</a></code>, par exemple 1
- (affecter à cette directive la valeur zéro signifie une session
- sans limite d'âge).
+ de la session. Si la session qui en résulte est vide, elle sera
+ probablement supprimée, mais ce n'est pas garanti. Si vous voulez
+ être sûr que la session sera supprimée, affectez une valeur faible
+ à la directive <code class="directive"><a href="../mod/mod_session.html#sessionmaxage">SessionMaxAge</a></code>, par exemple 1
+ (affecter à cette directive la valeur zéro signifie une session
+ sans limite d'âge).
</p>
- <div class="example"><h3>Exemple simple avec durée de validité de session
- limitée</h3><pre class="prettyprint lang-config">SetHandler form-logout-handler
+ <div class="example"><h3>Exemple simple avec durée de validité de session
+ limitée</h3><pre class="prettyprint lang-config">SetHandler form-logout-handler
AuthFormLogoutLocation "http://example.com/loggedout.html"
Session On
SessionMaxAge 1
<h2><a name="urlencoding" id="urlencoding">Noms d'utilisateurs et mots de
passe</a><a title="Lien permanent" href="#urlencoding" class="permalink">¶</a></h2>
<p>Notez que la soumission d'un formulaire implique l'encodage URL
- (URLEncoding) des données du formulaire, ici le nom d'utilisateur et
+ (URLEncoding) des données du formulaire, ici le nom d'utilisateur et
le mot de passe. Vous devez donc choisir des noms d'utilisateurs et
- mots de passe qui ne contiennent pas de caractères susceptibles
- d'être encodés URL lors de la soumission du formulaire, sous peine
- d'obtenir des résultats inattendus.</p>
+ mots de passe qui ne contiennent pas de caractères susceptibles
+ d'être encodés URL lors de la soumission du formulaire, sous peine
+ d'obtenir des résultats inattendus.</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="authformauthoritative" id="authformauthoritative">Directive</a> <a name="AuthFormAuthoritative" id="AuthFormAuthoritative">AuthFormAuthoritative</a><a title="Lien permanent" href="#authformauthoritative" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si l'autorisation et l'authentification sont confiés à
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si l'autorisation et l'authentification sont confiés à
des modules de plus bas niveau</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormAuthoritative On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormAuthoritative 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#Default">Défaut:</a></th><td><code>AuthFormAuthoritative 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">AllowOverride:</a></th><td>AuthConfig</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_auth_form</td></tr>
</table>
- <p>Normalement, chacun des modules d'autorisation spécifiés par la
+ <p>Normalement, chacun des modules d'autorisation spécifiés par la
directive <code class="directive"><a href="#authformprovider">AuthFormProvider</a></code> va tenter de
- vérifier l'identité de l'utilisateur, et si ce dernier n'est trouvé
- dans aucun fournisseur, l'accès sera refusé. En définissant
+ vérifier l'identité de l'utilisateur, et si ce dernier n'est trouvé
+ dans aucun fournisseur, l'accès sera refusé. En définissant
explicitement la directive
- <code class="directive">AuthFormAuthoritative</code> à <code>Off</code> on
- confie les processus d'authentification et d'autorisation à des
+ <code class="directive">AuthFormAuthoritative</code> à <code>Off</code> on
+ confie les processus d'authentification et d'autorisation à des
modules ne s'appuyant pas sur des fournisseurs, si <strong>aucun
- identifiant utilisateur</strong> ou aucune <strong>règle</strong> ne
- correspond à l'identifiant utilisateur fourni. Ceci ne peut s'avérer
- nécessaire que si l'on combine <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> avec
+ identifiant utilisateur</strong> ou aucune <strong>règle</strong> ne
+ correspond à l'identifiant utilisateur fourni. Ceci ne peut s'avérer
+ nécessaire que si l'on combine <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> avec
des modules tiers qui ne se configurent pas avec la directive
<code class="directive"><a href="#authformprovider">AuthFormProvider</a></code>.
Lorsqu'on utilise de tels modules, la chronologie du processus est
- déterminée dans leur code source, et n'est pas configurable.</p>
+ déterminée dans leur code source, et n'est pas configurable.</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="authformbody" id="authformbody">Directive</a> <a name="AuthFormBody" id="AuthFormBody">AuthFormBody</a><a title="Lien permanent" href="#authformbody" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire contenant le corps de la
-requête à effectuer en cas de connexion réussie</td></tr>
+requête à effectuer en cas de connexion réussie</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormBody <var>nom du champ</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_body</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_body</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_auth_form</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
</table>
<p>La directive <code class="directive"><a href="#authformbody">AuthFormBody</a></code>
- spécifie le nom du champ HTML qui, s'il existe, contiendra le corps
- de la requête à effectuer en cas de connexion réussie.</p>
+ spécifie le nom du champ HTML qui, s'il existe, contiendra le corps
+ de la requête à effectuer en cas de connexion réussie.</p>
- <p>En ajoutant au formulaire les champs décrits dans <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> et <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, un site web sera en
- mesure de relancer une requête qui a été éventuellement interrompue
- par l'écran de connexion, ou par l'expiration d'un délai de
+ <p>En ajoutant au formulaire les champs décrits dans <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> et <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, un site web sera en
+ mesure de relancer une requête qui a été éventuellement interrompue
+ par l'écran de connexion, ou par l'expiration d'un délai de
session.</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="authformdisablenostore" id="authformdisablenostore">Directive</a> <a name="AuthFormDisableNoStore" id="AuthFormDisableNoStore">AuthFormDisableNoStore</a><a title="Lien permanent" href="#authformdisablenostore" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Désactive l'en-tête CacheControl no-store sur la page de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Désactive l'en-tête CacheControl no-store sur la page de
connexion</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormDisableNoStore <var>On|Off</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormDisableNoStore Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormDisableNoStore Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_auth_form</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
</table>
<p>Le drapeau <code class="directive"><a href="#authformdisablenostore">AuthFormDisableNoStore</a></code> supprime
- l'envoi d'un en-tête <code>Cache-Control no-store</code> lorsqu'une
- page avec code d'erreur 401 est renvoyée, si l'utilisateur n'est pas
- encore connecté. Avec cette en-tête, il est plus difficile pour une
+ l'envoi d'un en-tête <code>Cache-Control no-store</code> lorsqu'une
+ page avec code d'erreur 401 est renvoyée, si l'utilisateur n'est pas
+ encore connecté. Avec cette en-tête, il est plus difficile pour une
application <code>ecmascript</code> de resoumettre un formulaire de connexion, et
- ainsi révéler le nom d'utilisateur et le mot de passe à
- l'application sous-jacente. Vous devez être conscient des risques
- encourus si vous le désactivez.</p>
+ ainsi révéler le nom d'utilisateur et le mot de passe à
+ l'application sous-jacente. Vous devez être conscient des risques
+ encourus si vous le désactivez.</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="authformfakebasicauth" id="authformfakebasicauth">Directive</a> <a name="AuthFormFakeBasicAuth" id="AuthFormFakeBasicAuth">AuthFormFakeBasicAuth</a><a title="Lien permanent" href="#authformfakebasicauth" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Simule une en-tête d'authentification de base</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Simule une en-tête d'authentification de base</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormFakeBasicAuth <var>On|Off</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormFakeBasicAuth Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormFakeBasicAuth Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_auth_form</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
</table>
<p>Le drapeau <code class="directive"><a href="#authformfakebasicauth">AuthFormFakeBasicAuth</a></code>
- détermine si une en-tête d'<code>Authentification de base</code>
- sera ajoutée aux en-têtes de la requête. On peut utiliser cette
- méthode pour présenter le nom d'utilisateur et le mot de passe à
- l'application sous-jacente, sans que cette dernière ait besoin de
- connaître la manière dont le processus de connexion a été mené à
+ détermine si une en-tête d'<code>Authentification de base</code>
+ sera ajoutée aux en-têtes de la requête. On peut utiliser cette
+ méthode pour présenter le nom d'utilisateur et le mot de passe à
+ l'application sous-jacente, sans que cette dernière ait besoin de
+ connaître la manière dont le processus de connexion a été mené à
bien.</p>
<div class="directive-section"><h2><a name="authformlocation" id="authformlocation">Directive</a> <a name="AuthFormLocation" id="AuthFormLocation">AuthFormLocation</a><a title="Lien permanent" href="#authformlocation" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire qui contiendra l'URL vers
-laquelle l'utilisateur sera redirigé en cas de connexion
-réussie</td></tr>
+laquelle l'utilisateur sera redirigé en cas de connexion
+réussie</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormLocation <var>nom du champ</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_location</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_location</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_auth_form</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
</table>
<p>La directive <code class="directive"><a href="#authformlocation">AuthFormLocation</a></code>
- spécifie le nom du champ HTML qui, s'il existe, contiendra l'URL
+ spécifie le nom du champ HTML qui, s'il existe, contiendra l'URL
vers laquelle rediriger le navigateur en cas de connexion
- réussie.</p>
+ réussie.</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="authformloginrequiredlocation" id="authformloginrequiredlocation">Directive</a> <a name="AuthFormLoginRequiredLocation" id="AuthFormLoginRequiredLocation">AuthFormLoginRequiredLocation</a><a title="Lien permanent" href="#authformloginrequiredlocation" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL de la page vers laquelle on doit être redirigé si une
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL de la page vers laquelle on doit être redirigé si une
authentification est requise</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormLoginRequiredLocation <var>url</var></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</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</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_auth_form</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP
-Apache. L'interprétation des expressions rationnelles est supportée
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP
+Apache. L'interprétation des expressions rationnelles est supportée
depuis la version 2.4.4.</td></tr>
</table>
<p>La directive <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code>
- spécifie l'URL vers laquelle l'utilisateur devra être
- redirigé s'il n'est pas autorisé à accéder à une page. Sa valeur est
- interprétée via l'interpréteur <a href="../expr.html">ap_expr</a>
- avant d'être envoyée au client. Par défaut,
- si un utilisateur n'est pas autorisé à accéder à une page, le code
- de réponse HTTP <code>HTTP_UNAUTHORIZED</code> est renvoyé avec la
- page spécifiée par la directive <code class="directive"><a href="../mod/core.html#errordocument">ErrorDocument</a></code>. La directive <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code>
- permet de remplacer cette valeur par défaut.</p>
+ spécifie l'URL vers laquelle l'utilisateur devra être
+ redirigé s'il n'est pas autorisé à accéder à une page. Sa valeur est
+ interprétée via l'interpréteur <a href="../expr.html">ap_expr</a>
+ avant d'être envoyée au client. Par défaut,
+ si un utilisateur n'est pas autorisé à accéder à une page, le code
+ de réponse HTTP <code>HTTP_UNAUTHORIZED</code> est renvoyé avec la
+ page spécifiée par la directive <code class="directive"><a href="../mod/core.html#errordocument">ErrorDocument</a></code>. La directive <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code>
+ permet de remplacer cette valeur par défaut.</p>
- <p>Vous pouvez utiliser cette directive si vous voulez présenter une
- page de connexion personnalisée à vos utilisateurs.</p>
+ <p>Vous pouvez utiliser cette directive si vous voulez présenter une
+ page de connexion personnalisée à vos utilisateurs.</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="authformloginsuccesslocation" id="authformloginsuccesslocation">Directive</a> <a name="AuthFormLoginSuccessLocation" id="AuthFormLoginSuccessLocation">AuthFormLoginSuccessLocation</a><a title="Lien permanent" href="#authformloginsuccesslocation" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL de la page vers laquelle on doit être redirigé en cas
-de connexion réussie</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL de la page vers laquelle on doit être redirigé en cas
+de connexion réussie</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormLoginSuccessLocation <var>url</var></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</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</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_auth_form</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP
-Apache. L'interprétation des expressions rationnelles est supportée
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP
+Apache. L'interprétation des expressions rationnelles est supportée
depuis la version 2.4.4.</td></tr>
</table>
<p>La directive <code class="directive"><a href="#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></code>
- spécifie l'URL vers laquelle l'utilisateur doit être
- redirigé en cas de connexion réussie. Sa valeur est
- interprétée via l'interpréteur <a href="../expr.html">ap_expr</a>
- avant d'être envoyée au client. L'effet de cette directive
- peut être annulé si l'on a défini un champ de formulaire contenant
- une autre URL à l'aide de la directive <code class="directive"><a href="#authformlocation">AuthFormLocation</a></code>.</p>
-
- <p>Vous pouvez utiliser cette directive si vous possédez une URL de
- connexion personnalisée, et si vous n'avez pas intégré la page de
+ spécifie l'URL vers laquelle l'utilisateur doit être
+ redirigé en cas de connexion réussie. Sa valeur est
+ interprétée via l'interpréteur <a href="../expr.html">ap_expr</a>
+ avant d'être envoyée au client. L'effet de cette directive
+ peut être annulé si l'on a défini un champ de formulaire contenant
+ une autre URL à l'aide de la directive <code class="directive"><a href="#authformlocation">AuthFormLocation</a></code>.</p>
+
+ <p>Vous pouvez utiliser cette directive si vous possédez une URL de
+ connexion personnalisée, et si vous n'avez pas intégré la page de
destination dans le formulaire de connexion.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authformlogoutlocation" id="authformlogoutlocation">Directive</a> <a name="AuthFormLogoutLocation" id="AuthFormLogoutLocation">AuthFormLogoutLocation</a><a title="Lien permanent" href="#authformlogoutlocation" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL vers laquelle un utilisateur devra être redirigé
-après s'être déconnecté</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL vers laquelle un utilisateur devra être redirigé
+après s'être déconnecté</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormLogoutLocation <var>uri</var></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</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</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_auth_form</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP
-Apache. L'interprétation des expressions rationnelles est supportée
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP
+Apache. L'interprétation des expressions rationnelles est supportée
depuis la version 2.4.4.</td></tr>
</table>
<p>La directive <code class="directive"><a href="#authformlogoutlocation">AuthFormLogoutLocation</a></code>
- spécifie l'URL de la page du serveur vers laquelle l'utilisateur
- devra être redirigé s'il se déconnecte. Sa valeur est
- interprétée via l'interpréteur <a href="../expr.html">ap_expr</a>
- avant d'être envoyée au client.</p>
+ spécifie l'URL de la page du serveur vers laquelle l'utilisateur
+ devra être redirigé s'il se déconnecte. Sa valeur est
+ interprétée via l'interpréteur <a href="../expr.html">ap_expr</a>
+ avant d'être envoyée au client.</p>
- <p>Lorsqu'un accès est tenté sur un URI traité par le gestionnaire
- <code>form-logout-handler</code>, la page spécifiée par cette
- directive sera présentée à l'utilisateur final. Par exemple :</p>
+ <p>Lorsqu'un accès est tenté sur un URI traité par le gestionnaire
+ <code>form-logout-handler</code>, la page spécifiée par cette
+ directive sera présentée à l'utilisateur final. Par exemple :</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Location "/logout">
SetHandler form-logout-handler
</Location></pre>
</div>
- <p>Si un utilisateur tente d'accéder à l'URI <var>/logout/</var>, il
- sera déconnecté, et la page <var>/loggedout.html</var> lui sera
- présentée. Assurez-vous que la page <var>loggedout.html</var> n'est
- pas protégée par mot de passe, car dans le cas contraire, elle ne
- serait pas affichée.</p>
+ <p>Si un utilisateur tente d'accéder à l'URI <var>/logout/</var>, il
+ sera déconnecté, et la page <var>/loggedout.html</var> lui sera
+ présentée. Assurez-vous que la page <var>loggedout.html</var> n'est
+ pas protégée par mot de passe, car dans le cas contraire, elle ne
+ serait pas affichée.</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="authformmethod" id="authformmethod">Directive</a> <a name="AuthFormMethod" id="AuthFormMethod">AuthFormMethod</a><a title="Lien permanent" href="#authformmethod" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire contenant la méthode de la
-requête à effectuer en cas de connexion réussie</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire contenant la méthode de la
+requête à effectuer en cas de connexion réussie</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormMethod <var>nom du champ</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_method</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_method</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_auth_form</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
</table>
<p>La directive <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>
- spécifie le nom du champ HTML qui, s'il existe, contiendra le type
- MIME de la requête à effectuer en cas de connexion réussie.</p>
+ spécifie le nom du champ HTML qui, s'il existe, contiendra le type
+ MIME de la requête à effectuer en cas de connexion réussie.</p>
- <p>En ajoutant au formulaire les champs décrits dans <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> et <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, un site web sera en
- mesure de relancer une requête qui a été éventuellement interrompue
- par l'écran de connexion, ou par l'expiration d'un délai de
+ <p>En ajoutant au formulaire les champs décrits dans <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> et <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, un site web sera en
+ mesure de relancer une requête qui a été éventuellement interrompue
+ par l'écran de connexion, ou par l'expiration d'un délai de
session.</p>
</div>
<div class="directive-section"><h2><a name="authformmimetype" id="authformmimetype">Directive</a> <a name="AuthFormMimetype" id="AuthFormMimetype">AuthFormMimetype</a><a title="Lien permanent" href="#authformmimetype" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire contenant le type MIME du
-corps de la requête à effectuer en cas de connexion
-réussie</td></tr>
+corps de la requête à effectuer en cas de connexion
+réussie</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormMimetype <var>nom du champ</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_mimetype</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_mimetype</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_auth_form</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
</table>
<p>La directive <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code>
- spécifie le nom du champ HTML qui, s'il existe, contiendra le type
- MIME de la requête à effectuer en cas de connexion réussie.</p>
+ spécifie le nom du champ HTML qui, s'il existe, contiendra le type
+ MIME de la requête à effectuer en cas de connexion réussie.</p>
- <p>En ajoutant au formulaire les champs décrits dans <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> et <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, un site web sera en
- mesure de relancer une requête qui a été éventuellement interrompue
- par l'écran de connexion, ou par l'expiration d'un délai de
+ <p>En ajoutant au formulaire les champs décrits dans <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> et <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, un site web sera en
+ mesure de relancer une requête qui a été éventuellement interrompue
+ par l'écran de connexion, ou par l'expiration d'un délai de
session.</p>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire qui contient le mot de passe
de connexion</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormPassword <var>nom du champ</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_password</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_password</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_auth_form</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
</table>
<p>La directive <code class="directive"><a href="#authformpassword">AuthFormPassword</a></code> permet de
- spécifier le nom du champ HTML qui, s'il existe, contiendra le mot
- de passe qui sera utilisé pour la connexion.</p>
+ spécifier le nom du champ HTML qui, s'il existe, contiendra le mot
+ de passe qui sera utilisé pour la connexion.</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="authformprovider" id="authformprovider">Directive</a> <a name="AuthFormProvider" id="AuthFormProvider">AuthFormProvider</a><a title="Lien permanent" href="#authformprovider" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le(s) fournisseur(s) d'authentification pour la
-zone concernée</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le(s) fournisseur(s) d'authentification pour la
+zone concernée</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormProvider <var>nom fournisseur</var>
[<var>nom fournisseur</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormProvider file</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#Default">Défaut:</a></th><td><code>AuthFormProvider file</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">AllowOverride:</a></th><td>AuthConfig</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_auth_form</td></tr>
</table>
<p>La directive <code class="directive">AuthFormProvider</code> permet de
- définir quel fournisseur sera utilisé pour authentifier les
- utilisateurs pour la zone concernée. Le fournisseur par défaut
- <code>file</code> est implémenté par le module
+ définir quel fournisseur sera utilisé pour authentifier les
+ utilisateurs pour la zone concernée. Le fournisseur par défaut
+ <code>file</code> est implémenté par le module
<code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>. Assurez-vous que le fournisseur
- choisi soit bien présent dans le serveur.</p>
+ choisi soit bien présent dans le serveur.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Location "/secure">
AuthType form
</Location></pre>
</div>
- <p>Les différents fournisseurs sont implémentés par les modules
+ <p>Les différents fournisseurs sont implémentés par les modules
<code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>, <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>,
<code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> et
<code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authformsitepassphrase" id="authformsitepassphrase">Directive</a> <a name="AuthFormSitePassphrase" id="AuthFormSitePassphrase">AuthFormSitePassphrase</a><a title="Lien permanent" href="#authformsitepassphrase" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Court-circuite l'authentification pour les sites à fort
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Court-circuite l'authentification pour les sites à fort
trafic</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormSitePassphrase <var>secret</var></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</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</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_auth_form</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
</table>
<p>La directive <code class="directive"><a href="#authformsitepassphrase">AuthFormSitePassphrase</a></code>
- spécifie un mot de passe qui, s'il est présent dans la session
- utilisateur, indique à Apache httpd de court-circuiter l'authentification
- pour l'URL considérée. On peut l'utiliser dans le cas de sites web à
- fort trafic afin de réduire la charge induite sur l'infrastructure
+ spécifie un mot de passe qui, s'il est présent dans la session
+ utilisateur, indique à Apache httpd de court-circuiter l'authentification
+ pour l'URL considérée. On peut l'utiliser dans le cas de sites web à
+ fort trafic afin de réduire la charge induite sur l'infrastructure
d'authentification.</p>
- <p>On peut insérer le mot de passe dans une session utilisateur en
- ajoutant cette directive à la configuration concernant le
+ <p>On peut insérer le mot de passe dans une session utilisateur en
+ ajoutant cette directive à la configuration concernant le
gestionnaire <var>form-login-handler</var>. Le gestionnaire
- <var>form-login-handler</var>, quant à lui, effectuera toujours les
- vérifications d'authentification, qu'un mot de passe soit spécifié
+ <var>form-login-handler</var>, quant à lui, effectuera toujours les
+ vérifications d'authentification, qu'un mot de passe soit spécifié
ou non.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>Si la session est présentée à l'utilisateur à l'aide du module
+ <p>Si la session est présentée à l'utilisateur à l'aide du module
<code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code>, et si la session n'est pas
- protégée par le module <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>, le mot
+ protégée par le module <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>, le mot
de passe peut faire l'objet d'une attaque de type dictionnaire.
Quelle que soit la configuration de la session, assurez-vous que
- cette directive n'est pas utilisée dans un espace d'URLs contenant
- des données privées, ou à partir desquelles des transactions
- sensibles pourraient être menées. En tout état de cause, vous
- devez être conscient des risques encourus avant de l'utiliser.</p>
+ cette directive n'est pas utilisée dans un espace d'URLs contenant
+ des données privées, ou à partir desquelles des transactions
+ sensibles pourraient être menées. En tout état de cause, vous
+ devez être conscient des risques encourus avant de l'utiliser.</p>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La taille maximale en octets du formulaire dont seront
extraites les informations de connexion</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormSize <var>taille</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>8192</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>8192</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</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_auth_form</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
</table>
- <p>La directive <code class="directive"><a href="#authformsize">AuthFormSize</a></code> spécifie
- la taille maximale du corps de la requête qui sera utilisée pour
+ <p>La directive <code class="directive"><a href="#authformsize">AuthFormSize</a></code> spécifie
+ la taille maximale du corps de la requête qui sera utilisée pour
trouver le formulaire de connexion.</p>
- <p>Si une requête de connexion entrante possède une taille
- supérieure à cette valeur, elle sera rejetée avec le code de réponse
+ <p>Si une requête de connexion entrante possède une taille
+ supérieure à cette valeur, elle sera rejetée avec le code de réponse
HTTP <code>HTTP_REQUEST_TOO_LARGE</code>.</p>
- <p>Si vous avez ajouté au formulaire des champs décrits dans <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> et <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, il est recommandé
- de définir cette directive à une valeur similaire à celle de la
+ <p>Si vous avez ajouté au formulaire des champs décrits dans <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> et <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, il est recommandé
+ de définir cette directive à une valeur similaire à celle de la
directive <code class="directive"><a href="../mod/mod_request.html#keptbodysize">KeptBodySize</a></code>.</p>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire qui contient le nom de
connexion</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormUsername <var>nom du champ</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_username</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_username</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_auth_form</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.3 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.3 du serveur HTTP Apache</td></tr>
</table>
<p>La directive <code class="directive"><a href="#authformusername">AuthFormUsername</a></code> permet de
- spécifier le nom du champ HTML qui, s'il existe, contiendra le nom
- d'utilisateur qui sera utilisé pour la connexion.</p>
+ spécifier le nom du champ HTML qui, s'il existe, contiendra le nom
+ d'utilisateur qui sera utilisé pour la connexion.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_form.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_auth_form.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_auth_form.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_authn_anon</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_anon.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authn_anon.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_authn_anon.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_authn_anon.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_authn_anon.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet un accès "anonyme" à des zones
-authentifiées</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet un accès "anonyme" à des zones
+authentifiées</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>authn_anon_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_anon.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_anon_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_anon.c</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
- à la manière des sites FTP anonymes, c'est à dire
- en fournissant l'identifiant utilisateur spécial 'anonymous' et
- l'adresse email comme mot de passe. Ces adresses email peuvent être
- journalisées.</p>
+ à la manière des sites FTP anonymes, c'est à dire
+ en fournissant l'identifiant utilisateur spécial 'anonymous' et
+ l'adresse email comme mot de passe. Ces adresses email peuvent être
+ journalisées.</p>
- <p>En combinaison avec d'autres méthodes de contrôle d'accès (base
- de données), ce module permet d'effectuer un véritable suivi des
- utilisateurs et une personnalisation de leurs accès en fonction de
- leur profil, tout en conservant l'accessibilité du site aux
- utilisateurs 'non enregistrés'. Un avantage du suivi des
- utilisateurs basé sur l'authentification réside dans le fait qu'il
- est, à l'opposé des cookies magiques et des drôles d'URLs avec
- préfixes ou suffixes, entièrement indépendant du navigateur et qu'il
+ <p>En combinaison avec d'autres méthodes de contrôle d'accès (base
+ de données), ce module permet d'effectuer un véritable suivi des
+ utilisateurs et une personnalisation de leurs accès en fonction de
+ leur profil, tout en conservant l'accessibilité du site aux
+ utilisateurs 'non enregistrés'. Un avantage du suivi des
+ utilisateurs basé sur l'authentification réside dans le fait qu'il
+ est, à l'opposé des cookies magiques et des drôles d'URLs avec
+ préfixes ou suffixes, entièrement indépendant du navigateur et qu'il
permet de partager des URLs entre plusieurs utilisateurs.</p>
<p>Si l'on utilise le module <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, le
- module <code class="module"><a href="../mod/mod_authn_anon.html">mod_authn_anon</a></code> est invoqué en affectant la
- valeur <code>anon</code> à la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>.</p>
+ module <code class="module"><a href="../mod/mod_authn_anon.html">mod_authn_anon</a></code> est invoqué en affectant la
+ valeur <code>anon</code> à la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_nouserid">Anonymous_NoUserID</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#anonymous_verifyemail">Anonymous_VerifyEmail</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_anon">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_anon">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_anon">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_anon">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="example" id="example">Exemple</a><a title="Lien permanent" href="#example" class="permalink">¶</a></h2>
- <p>L'exemple ci-dessous présente un exemple de combinaison avec
- l'authentification à base de fichier htpasswd "normale", et permet
- la connexion d'utilisateurs en tant qu'invités avec les propriétés
+ <p>L'exemple ci-dessous présente un exemple de combinaison avec
+ l'authentification à base de fichier htpasswd "normale", et permet
+ la connexion d'utilisateurs en tant qu'invités avec les propriétés
suivantes :</p>
<ul>
- <li>Il incite l'utilisateur à fournir un identifiant.
+ <li>Il incite l'utilisateur à fournir un identifiant.
(<code class="directive"><a href="#anonymous_nouserid">Anonymous_NoUserID</a></code>)</li>
- <li>Il incite l'utilisateur à fournir un mot de passe.
+ <li>Il incite l'utilisateur à fournir un mot de passe.
(<code class="directive"><a href="#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></code>)</li>
- <li>Le mot de passe fourni doit être une adresse email valide,
- c'est à dire contenant au moins un '@' et un '.'.
+ <li>Le mot de passe fourni doit être une adresse email valide,
+ c'est à dire contenant au moins un '@' et un '.'.
(<code class="directive"><a href="#anonymous_verifyemail">Anonymous_VerifyEmail</a></code>)</li>
<li>Les valeurs possibles pour l'identifiant utilisateur sont
<code>anonymous, guest, www, test ou welcome</code>, et la
- vérification n'est <strong>pas</strong> sensible à la casse.
+ vérification n'est <strong>pas</strong> sensible à la casse.
(<code class="directive"><a href="#anonymous">Anonymous</a></code>)</li>
- <li>Les adresses email entrées dans le champ passwd sont
- enregistrées dans le fichier journal des erreurs.
+ <li>Les adresses email entrées dans le champ passwd sont
+ enregistrées dans le fichier journal des erreurs.
(<code class="directive"><a href="#anonymous_logemail">Anonymous_LogEmail</a></code>)</li>
</ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="anonymous" id="anonymous">Directive</a> <a name="Anonymous" id="Anonymous">Anonymous</a><a title="Lien permanent" href="#anonymous" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la liste des identifiants utilisateur autorisés à
-accéder sans vérification du mot de passe</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la liste des identifiants utilisateur autorisés à
+accéder sans vérification du mot de passe</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Anonymous <var>utilisateur</var> [<var>utilisateur</var>]
...</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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_authn_anon</td></tr>
</table>
- <p>Une liste d'un ou plusieurs identifiants utilisateur spéciaux
- autorisés à accéder sans vérification du mot de passe. Les
- identifiants doivent être séparés par un espace. Pour spécifier un
+ <p>Une liste d'un ou plusieurs identifiants utilisateur spéciaux
+ autorisés à accéder sans vérification du mot de passe. Les
+ identifiants doivent être séparés par un espace. Pour spécifier un
identifiant contenant un espace, on peut utiliser les guillemets '
- ou ", ou le caractère d'échappement \.</p>
+ ou ", ou le caractère d'échappement \.</p>
- <p>Veuillez noter que la vérification <strong>n'est pas sensible à
+ <p>Veuillez noter que la vérification <strong>n'est pas sensible à
la casse</strong>.<br />
- Il est fortement conseillé d'intégrer l'utilisateur spécial
+ Il est fortement conseillé d'intégrer l'utilisateur spécial
'<code>anonymous</code>' dans la liste des identifiants.</p>
<div class="example"><h3>Exemple:</h3><pre class="prettyprint lang-config">Anonymous anonymous "Not Registered" "I don't know"</pre>
</div>
- <p>Dans cet exemple, l'utilisateur peut accéder au site sans
- vérification du mot de passe en utilisant l'identifiant "anonymous",
+ <p>Dans cet exemple, l'utilisateur peut accéder au site sans
+ vérification du mot de passe en utilisant l'identifiant "anonymous",
"Not Registered", "I Don't Know" ou encore "AnonyMous".</p>
<p>Depuis Apache 2.1, il est possible de remplacer la liste des
- identifiants autorisés par le caractère "<code>*</code>", ce qui
+ identifiants autorisés par le caractère "<code>*</code>", ce qui
permet d'utiliser <em>n'importe quel</em> identifiant pour pouvoir
- accéder au site.</p>
+ accéder au site.</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="anonymous_logemail" id="anonymous_logemail">Directive</a> <a name="Anonymous_LogEmail" id="Anonymous_LogEmail">Anonymous_LogEmail</a><a title="Lien permanent" href="#anonymous_logemail" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le mot de passe fourni sera enregistré dans le
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le mot de passe fourni sera enregistré dans le
journal des erreurs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Anonymous_LogEmail On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Anonymous_LogEmail 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#Default">Défaut:</a></th><td><code>Anonymous_LogEmail 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">AllowOverride:</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_authn_anon</td></tr>
</table>
- <p>Lorsque cette directive est définie à <code>On</code>, valeur
- par défaut, le 'mot de passe' fourni (censé contenir une adresse
- email valide) est enregistré dans le journal des erreurs.</p>
+ <p>Lorsque cette directive est définie à <code>On</code>, valeur
+ par défaut, le 'mot de passe' fourni (censé contenir une adresse
+ email valide) est enregistré dans le journal des erreurs.</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="anonymous_mustgiveemail" id="anonymous_mustgiveemail">Directive</a> <a name="Anonymous_MustGiveEmail" id="Anonymous_MustGiveEmail">Anonymous_MustGiveEmail</a><a title="Lien permanent" href="#anonymous_mustgiveemail" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si l'abscence de mot de passe est
-autorisée</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si l'abscence de mot de passe est
+autorisée</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Anonymous_MustGiveEmail On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Anonymous_MustGiveEmail 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#Default">Défaut:</a></th><td><code>Anonymous_MustGiveEmail 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">AllowOverride:</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_authn_anon</td></tr>
</table>
- <p>Détermine si l'utilisateur doit spécifier une adresse email comme
- mot de passe. Lorsque cette directive est définie à <code>On</code>,
+ <p>Détermine si l'utilisateur doit spécifier une adresse email comme
+ mot de passe. Lorsque cette directive est définie à <code>On</code>,
fournir un mot de passe est obligatoire.</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="anonymous_nouserid" id="anonymous_nouserid">Directive</a> <a name="Anonymous_NoUserID" id="Anonymous_NoUserID">Anonymous_NoUserID</a><a title="Lien permanent" href="#anonymous_nouserid" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le champ identifiant peut être
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le champ identifiant peut être
vide</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Anonymous_NoUserID On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Anonymous_NoUserID 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#Default">Défaut:</a></th><td><code>Anonymous_NoUserID 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">AllowOverride:</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_authn_anon</td></tr>
</table>
- <p>Lorsque cette directive est définie à <code>On</code>, les
- utilisateurs peuvent laisser le champ identifiant vide (et peut-être
- aussi le champ mot de passe selon la définition de la directive
+ <p>Lorsque cette directive est définie à <code>On</code>, les
+ utilisateurs peuvent laisser le champ identifiant vide (et peut-être
+ aussi le champ mot de passe selon la définition de la directive
<code class="directive"><a href="#anonymous_mustgiveemail">Anonymous_MustGiveEmail</a></code>). Ceci
- peut s'avérer très utile pour les utilisateurs de MS-Explorer qui
- ont pour seule possibilité d'appuyer sur Entrée ou de cliquer
- directement sur le bouton OK, ce qui semble être une réaction
+ peut s'avérer très utile pour les utilisateurs de MS-Explorer qui
+ ont pour seule possibilité d'appuyer sur Entrée ou de cliquer
+ directement sur le bouton OK, ce qui semble être une réaction
naturelle.</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="anonymous_verifyemail" id="anonymous_verifyemail">Directive</a> <a name="Anonymous_VerifyEmail" id="Anonymous_VerifyEmail">Anonymous_VerifyEmail</a><a title="Lien permanent" href="#anonymous_verifyemail" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine s'il faut vérifier que le format de l'adresse
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine s'il faut vérifier que le format de l'adresse
email fournie comme mot de passe est correct</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Anonymous_VerifyEmail On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Anonymous_VerifyEmail 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#Default">Défaut:</a></th><td><code>Anonymous_VerifyEmail 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">AllowOverride:</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_authn_anon</td></tr>
</table>
- <p>Lorsque cette directive est définie à <code>On</code>, Apache
- vérifie que le 'mot de passe' entré contient au moins un '@' et un
- '.' afin d'inciter les utilisateurs à fournir des adresses email
+ <p>Lorsque cette directive est définie à <code>On</code>, Apache
+ vérifie que le 'mot de passe' entré contient au moins un '@' et un
+ '.' afin d'inciter les utilisateurs à fournir des adresses email
valides (voir ci-dessus la directive <code class="directive"><a href="#anonymous_logemail">Anonymous_LogEmail</a></code>).</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_anon.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authn_anon.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_authn_anon.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_authn_anon.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_authn_anon.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_authn_core</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_core.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authn_core.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_authn_core.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Le noyau de l'authentification</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>authn_core_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_core.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_core_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_core.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module fournit le coeur des fonctionnalités d'authentification
- permettant d'accorder ou de refuser l'accès à certaines zones du
+ <p>Ce module fournit le coeur des fonctionnalités d'authentification
+ permettant d'accorder ou de refuser l'accès à certaines zones du
site web. Les directives fournies par le module
- <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> sont communes à tous les
+ <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> sont communes à tous les
fournisseurs d'authentification.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#authnalias">Création d'alias de fournisseurs
+<li><img alt="" src="../images/down.gif" /> <a href="#authnalias">Création d'alias de fournisseurs
d'authentification</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#authnprovideralias"><AuthnProviderAlias></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authtype">AuthType</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_core">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_core">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_core">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_core">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="authnalias" id="authnalias">Création d'alias de fournisseurs
+<h2><a name="authnalias" id="authnalias">Création d'alias de fournisseurs
d'authentification</a><a title="Lien permanent" href="#authnalias" class="permalink">¶</a></h2>
- <p>Il est possible de créer des fournisseurs d'authentification
- étendus dans le fichier de configuration et de leur assigner un
- alias. Le fournisseur ainsi nommé peut alors être référencé à l'aide
+ <p>Il est possible de créer des fournisseurs d'authentification
+ étendus dans le fichier de configuration et de leur assigner un
+ alias. Le fournisseur ainsi nommé peut alors être référencé à l'aide
des directives <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> tout comme
- un fournisseur d'authentification de base. Outre la possibilité de
- créer et attribuer un alias à un fournisseur étendu, le même
- fournisseur d'authentification peut aussi être référencé par
- plusieurs sections relatives à une zone du site web.</p>
+ un fournisseur d'authentification de base. Outre la possibilité de
+ créer et attribuer un alias à un fournisseur étendu, le même
+ fournisseur d'authentification peut aussi être référencé par
+ plusieurs sections relatives à une zone du site web.</p>
<h3><a name="example" id="example">Exemples</a></h3>
- <p>Cet exemple vérifie les mots de passe dans deux fichiers
- textes différents.</p>
+ <p>Cet exemple vérifie les mots de passe dans deux fichiers
+ textes différents.</p>
- <div class="example"><h3>Vérification dans plusieurs fichiers de mots de
- passe au format texte</h3><pre class="prettyprint lang-config"># Première vérification
+ <div class="example"><h3>Vérification dans plusieurs fichiers de mots de
+ passe au format texte</h3><pre class="prettyprint lang-config"># Première vérification
<AuthnProviderAlias file file1>
AuthUserFile "/www/conf/passwords1"
</AuthnProviderAlias>
-# Vérification suivante
+# Vérification suivante
<AuthnProviderAlias file file2>
AuthUserFile "/www/conf/passwords2"
</AuthnProviderAlias>
<p>Dans l'exemple ci-dessous, deux fournisseurs
- d'authentification ldap sont créés à partir du fournisseur ldap
+ d'authentification ldap sont créés à partir du fournisseur ldap
de base, et se voient attribuer un alias. L'authentification
- d'une même zone peut alors être traitée par plusieurs serveurs
+ d'une même zone peut alors être traitée par plusieurs serveurs
ldap :</p>
- <div class="example"><h3>Vérification auprès de plusieurs serveurs
+ <div class="example"><h3>Vérification auprès de plusieurs serveurs
LDAP</h3><pre class="prettyprint lang-config"><AuthnProviderAlias ldap ldap-alias1>
AuthLDAPBindDN "cn=youruser,o=ctx"
AuthLDAPBindPassword yourpassword
Require valid-user
# Notez que Require ldap-* ne fonctionnerait pas ici, car
# AuthnProviderAlias ne fournit pas de configuration pour les
- # fournisseurs d'autorisation implémentés dans le même module que le
+ # fournisseurs d'autorisation implémentés dans le même module que le
# fournisseur d'authentification.
</Directory></pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authname" id="authname">Directive</a> <a name="AuthName" id="AuthName">AuthName</a><a title="Lien permanent" href="#authname" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'identifiant de l'autorisation à utiliser avec
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'identifiant de l'autorisation à utiliser avec
l'authentification HTTP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthName <var>identifiant d'autorisation</var></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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_authn_core</td></tr>
</table>
- <p>Cette directive permet de définir l'identifiant d'autorisation
- pour un répertoire. Cet identifiant est fourni au client de façon à
+ <p>Cette directive permet de définir l'identifiant d'autorisation
+ pour un répertoire. Cet identifiant est fourni au client de façon à
ce qu'il sache quels nom d'utilisateur et mot de passe envoyer.
<code class="directive">AuthName</code> accepte un seul argument ; s'il
- contient des espaces, il doit être entouré de guillemets. Pour
+ contient des espaces, il doit être entouré de guillemets. Pour
pouvoir fonctionner, la directive <code class="directive">AuthName</code>
- doit être utilisée en combinaison avec les directives <code class="directive"><a href="#authtype">AuthType</a></code> et <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>, ainsi que des
+ doit être utilisée en combinaison avec les directives <code class="directive"><a href="#authtype">AuthType</a></code> et <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>, ainsi que des
directives comme <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> et <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>.</p>
<p>Par exemple :</p>
<pre class="prettyprint lang-config">AuthName "Top Secret"</pre>
- <p>La chaîne fournie comme argument à <code>AuthName</code>
- apparaîtra dans la boîte de dialogue d'authentification pour la
+ <p>La chaîne fournie comme argument à <code>AuthName</code>
+ apparaîtra dans la boîte de dialogue d'authentification pour la
plupart des navigateurs.</p>
- <p>Il est possible de définir cette directive en utilisant la <a href="../expr.html">syntaxe des expressions</a> pour
- spécifier l'identifiant d'autorisation de manière dynamique.</p>
+ <p>A partir de la version 2.5.0 du serveur HTTP Apache, il est possible de
+ définir cette directive en utilisant la <a href="../expr.html">syntaxe des
+ expressions</a> pour spécifier l'identifiant d'autorisation de manière
+ dynamique.</p>
<p>Exemple :</p>
<h3>Voir aussi</h3>
<ul>
-<li><a href="../howto/auth.html">Authentification, autorisation et contrôle
- d'accès</a></li>
+<li><a href="../howto/auth.html">Authentification, autorisation et contrôle
+ d'accès</a></li>
<li><code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code></li>
</ul>
</div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe un ensemble de directives qui constituent une
extension d'un fournisseur d'authentification de base et lui attribue
-l'alias spécifié</td></tr>
+l'alias spécifié</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><AuthnProviderAlias <var>alias-fournisseur</var>>
... </AuthnProviderAlias></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
</table>
<p>Les balises <code><AuthnProviderAlias></code> et
<code></AuthnProviderAlias></code> permettent de regrouper un
- ensemble de directives d'authentification qui seront référencées par
- l'alias spécifié à l'aide des directives <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</p>
+ ensemble de directives d'authentification qui seront référencées par
+ l'alias spécifié à l'aide des directives <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</p>
<div class="note">Cette directive n'a aucun influence sur le processus
- d'autorisation, même pour les modules qui fournissent à la fois
+ d'autorisation, même pour les modules qui fournissent à la fois
l'authentification et l'autorisation.</div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type d'authentification utilisateur</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthType None|Basic|Digest|Form</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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_authn_core</td></tr>
</table>
- <p>Cette directive permet de définir le type d'authentification
- utilisateur pour un répertoire. Les types d'authentification
- disponibles sont <code>None</code>, <code>Basic</code> (implémenté
+ <p>Cette directive permet de définir le type d'authentification
+ utilisateur pour un répertoire. Les types d'authentification
+ disponibles sont <code>None</code>, <code>Basic</code> (implémenté
par <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>), <code>Digest</code>
- (implémenté par <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>), et
- <code>Form</code> (implémenté par
+ (implémenté par <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>), et
+ <code>Form</code> (implémenté par
<code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>).</p>
<p>Pour mettre en oeuvre l'authentification, vous devez aussi
comme <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> et d'un module d'autorisation
comme <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>.</p>
- <p>Le type d'authentification <code>None</code> désactive
- l'authentification. Lorsqu'une authentification est définie, elle
- est en général héritée par chacune des <a href="../sections.html#mergin">sections de configuration</a> qui
- suivent, à moins qu'un autre type d'authentification ne soit
- spécifié. Si l'on ne souhaite pas mettre en oeuvre
- d'authentification pour une sous-section d'une section authentifiée,
+ <p>Le type d'authentification <code>None</code> désactive
+ l'authentification. Lorsqu'une authentification est définie, elle
+ est en général héritée par chacune des <a href="../sections.html#mergin">sections de configuration</a> qui
+ suivent, à moins qu'un autre type d'authentification ne soit
+ spécifié. Si l'on ne souhaite pas mettre en oeuvre
+ d'authentification pour une sous-section d'une section authentifiée,
on doit utiliser le type d'authentification <code>None</code> ; dans
- l'exemple suivant, les clients peuvent accéder au répertoire
+ l'exemple suivant, les clients peuvent accéder au répertoire
<code>/www/docs/public</code> sans devoir s'authentifier :</p>
<pre class="prettyprint lang-config"><Directory "/www/docs">
</Directory></pre>
- <p>A partir de la version 2.4.13, il est possible de définir cette
+ <p>A partir de la version 2.5.0, il est possible de définir cette
directive en utilisant la <a href="../expr.html">syntaxe des expressions</a> pour
- spécifier le type d'authentification de manière dynamique.</p>
+ spécifier le type d'authentification de manière dynamique.</p>
<div class="note">Veuillez noter que, lorsque l'authentification n'est pas
- activée, les clients qui se sont déjà authentifiés pour une autre
- zone de l'arborescence du site continueront en général à envoyer des
- en-tête d'authentification HTTP ou des cookies avec chaque requête,
- sans se préoccuper de savoir si le serveur nécessite vraiment une
+ activée, les clients qui se sont déjà authentifiés pour une autre
+ zone de l'arborescence du site continueront en général à envoyer des
+ en-tête d'authentification HTTP ou des cookies avec chaque requête,
+ sans se préoccuper de savoir si le serveur nécessite vraiment une
authentification pour chaque ressource.</div>
<h3>Voir aussi</h3>
<ul>
-<li><a href="../howto/auth.html">Authentification, autorisation et contrôle
- d'accès</a></li>
+<li><a href="../howto/auth.html">Authentification, autorisation et contrôle
+ d'accès</a></li>
</ul>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_core.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authn_core.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_authn_core.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
<div id="preamble"><h1>Module Apache mod_authn_dbd</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authn_dbd.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_authn_dbd.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification utilisateur à l'aide d'une base de données
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification utilisateur à l'aide d'une base de données
SQL</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>authn_dbd_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_dbd.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_dbd_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_dbd.c</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module permet aux frontaux d'authentification comme
<code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> et <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>
d'authentifier les utilisateurs en les recherchant dans une base de
- données SQL. <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, par exemple, fournit
- une fonctionnalité similaire.</p>
- <p>Ce module s'appuie sur <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour spécifier le
- pilote de la base de données sous-jacente et les paramètres de
- connexion, mais aussi pour gérer les connexions à la base de
- données.</p>
+ données SQL. <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, par exemple, fournit
+ une fonctionnalité similaire.</p>
+ <p>Ce module s'appuie sur <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour spécifier le
+ pilote de la base de données sous-jacente et les paramètres de
+ connexion, mais aussi pour gérer les connexions à la base de
+ données.</p>
<p>Si l'on utilise <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
<code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, on peut invoquer ce module en
- affectant la valeur <code>dbd</code> à la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</p>
+ affectant la valeur <code>dbd</code> à la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#socache">Performances et mise en cache</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#example">Exemple de configuration</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="#security">Prévention contre les injections SQL</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="#security">Prévention contre les injections SQL</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#authdbduserpwquery">AuthDBDUserPWQuery</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authdbduserrealmquery">AuthDBDUserRealmQuery</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_dbd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_dbd">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_dbd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_dbd">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li>
<li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li>
<h2><a name="socache" id="socache">Performances et mise en cache</a><a title="Lien permanent" href="#socache" class="permalink">¶</a></h2>
<p>Certains utilisateurs de l'authentification DBD sous HTTPD 2.2/2.4 ont
-signalé une charge problématique au niveau de la base de données. Cela
-se produit en général lorsqu'une page HTML contient des centaines d'objets
-(comme des images, des scripts, etc...), chacun d'entre eux nécessitant
+signalé une charge problématique au niveau de la base de données. Cela
+se produit en général lorsqu'une page HTML contient des centaines d'objets
+(comme des images, des scripts, etc...), chacun d'entre eux nécessitant
une authentification. Les utilisateurs qui rencontrent ce genre de
-problème peuvent utiliser le module <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code>
-qui permet de mettre les données d'authentification en cache, et
-soulager ainsi la base de données de la plus grande partie de la charge.</p>
+problème peuvent utiliser le module <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code>
+qui permet de mettre les données d'authentification en cache, et
+soulager ainsi la base de données de la plus grande partie de la charge.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="example" id="example">Exemple de configuration</a><a title="Lien permanent" href="#example" class="permalink">¶</a></h2>
<p>Voici un exemple simple d'utilisation de ce module dans un contexte
-d'authentification et de bases de données.</p>
-<pre class="prettyprint lang-config"># configuration de mod_dbd modifiée pour inclure la mise en cache de
+d'authentification et de bases de données.</p>
+<pre class="prettyprint lang-config"># configuration de mod_dbd modifiée pour inclure la mise en cache de
# l'authentification
DBDriver pgsql
DBDParams "dbname=apacheauth user=apache password=xxxxxx"
AuthType Basic
AuthName "Mon serveur"
- # Pour mettre en cache les données d'authentification, placez socache
+ # Pour mettre en cache les données d'authentification, placez socache
# avant dbd
AuthBasicProvider socache dbd
- # Aussi nécessaire à la mise en cache : dire au cache de mettre en
+ # Aussi nécessaire à la mise en cache : dire au cache de mettre en
# cache les recherches dbd !
AuthnCacheProvideFor dbd
AuthnCacheContext mon-serveur
# configuration de mod_authz_core
Require valid-user
- # la requête SQL de mod_authn_dbd pour authentifier un utilisateur
+ # la requête SQL de mod_authn_dbd pour authentifier un utilisateur
AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
</Directory></pre>
</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><a title="Lien permanent" href="#exposed" class="permalink">¶</a></h2>
+<h2><a name="exposed" id="exposed">Mise à disposition des informations de connexion</a><a title="Lien permanent" href="#exposed" class="permalink">¶</a></h2>
<p>
-Si httpd a été compilé avec la version 1.3.0 ou supérieure de
-l'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>, pour chaque requête envoyée au serveur de
-base de données, toutes les valeurs de colonnes du premier
-enregistrement renvoyé par la requête sont affectées à des variables
-d'environnement avec le préfixe "AUTHENTICATE_".
+Si httpd a été compilé avec la version 1.3.0 ou supérieure de
+l'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>, pour chaque requête envoyée au serveur de
+base de données, toutes les valeurs de colonnes du premier
+enregistrement renvoyé par la requête sont affectées à des variables
+d'environnement avec le préfixe "AUTHENTICATE_".
</p>
-<p>Par exemple, si une requête renvoie un nom d'utilisateur, un nom
-complet et un numéro de téléphone, un programme CGI pourra accéder à ces
-informations sans avoir besoin d'effectuer une deuxième requête vers la
-base de données.</p>
-<p>Ceci va entraîner une simplification considérable du code et de la
-configuration nécessaire de certaines applications web.
+<p>Par exemple, si une requête renvoie un nom d'utilisateur, un nom
+complet et un numéro de téléphone, un programme CGI pourra accéder à ces
+informations sans avoir besoin d'effectuer une deuxième requête vers la
+base de données.</p>
+<p>Ceci va entraîner une simplification considérable du code et de 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="security" id="security">Prévention contre les injections SQL</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
+<h2><a name="security" id="security">Prévention contre les injections SQL</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
- <p>Selon le driver DBD et le serveur d'arrière-plan que vous utilisez,
- vous devrez prendre garde à la sécurité dans le domaine SQL.
- Avec la plupart des drivers, vous n'avez rien à faire : la
- requête est préparée par la base de données au démarrage, et l'entrée
- utilisateur n'est utilisée qu'en tant que donnée. Mais vous aurez
- peut-être à nettoyer cette entrée. Au moment où ces lignes sont
- écrites, le seul driver qui peut nécessiter le nettoyage de l'entrée
+ <p>Selon le driver DBD et le serveur d'arrière-plan que vous utilisez,
+ vous devrez prendre garde à la sécurité dans le domaine SQL.
+ Avec la plupart des drivers, vous n'avez rien à faire : la
+ requête est préparée par la base de données au démarrage, et l'entrée
+ utilisateur n'est utilisée qu'en tant que donnée. Mais vous aurez
+ peut-être à nettoyer cette entrée. Au moment où ces lignes sont
+ écrites, le seul driver qui peut nécessiter le nettoyage de l'entrée
est FreeTDS.</p>
- <p>Veuillez vous référez à la documentation de
- <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour plus d'informations à propos de la
- sécurité dans ce domaine.</p>
+ <p>Veuillez vous référez à la documentation de
+ <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour plus d'informations à propos de la
+ sécurité dans ce domaine.</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="authdbduserpwquery" id="authdbduserpwquery">Directive</a> <a name="AuthDBDUserPWQuery" id="AuthDBDUserPWQuery">AuthDBDUserPWQuery</a><a title="Lien permanent" href="#authdbduserpwquery" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Requête SQL servant à vérifier le mot de passe d'un
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Requête SQL servant à vérifier le mot de passe d'un
utilisateur</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBDUserPWQuery <var>requête</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBDUserPWQuery <var>requête</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</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_authn_dbd</td></tr>
</table>
<p>La directive <code class="directive">AuthDBDUserPWQuery</code> permet de
- spécifier une requête servant à vérifier le mot de passe d'un
- utilisateur donné. L'identifiant utilisateur sera transmis comme
- paramètre sous forme d'une seule chaîne de caractères lorsque la
- requête sera exécutée. Cet identifiant est référencé dans la requête
- en utilisant le spécificateur de format <code>%s</code>.</p>
+ spécifier une requête servant à vérifier le mot de passe d'un
+ utilisateur donné. L'identifiant utilisateur sera transmis comme
+ paramètre sous forme d'une seule chaîne de caractères lorsque la
+ requête sera exécutée. Cet identifiant est référencé dans la requête
+ en utilisant le spécificateur de format <code>%s</code>.</p>
<pre class="prettyprint lang-config">AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"</pre>
- <p>La première colonne du premier enregistrement renvoyé par la
- requête se présentera sous la forme d'une chaîne de caractères
- contenant le mot de passe chiffré. Les enregistrements suivants sont
- ignorés. Si aucun enregistrement n'est renvoyé, l'utilisateur ne
- sera pas authentifié par <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p>
- <p>Si httpd a été compilé avec la version 1.3.0 ou supérieure de
- l'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>, toute valeur de colonne supplémentaire
- du premier enregistrement renvoyé par la requête sera stockée dans
+ <p>La première colonne du premier enregistrement renvoyé par la
+ requête se présentera sous la forme d'une chaîne de caractères
+ contenant le mot de passe chiffré. Les enregistrements suivants sont
+ ignorés. Si aucun enregistrement n'est renvoyé, l'utilisateur ne
+ sera pas authentifié par <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p>
+ <p>Si httpd a été compilé avec la version 1.3.0 ou supérieure de
+ l'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>, toute valeur de colonne supplémentaire
+ du premier enregistrement renvoyé par la requête sera stockée dans
une variable d'environnement dont le nom aura la forme
<code>AUTHENTICATE_<var>valeur-colonne</var></code>.
</p>
- <p>Le format du mot de passe chiffré dépend du frontal
- d'authentification utilisé (par exemple
+ <p>Le format du mot de passe chiffré dépend du frontal
+ d'authentification utilisé (par exemple
<code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
<code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>). Voir la documentation sur les <a href="../misc/password_encryptions.html">Formats de mots de passe</a> pour
- plus de détails.</p>
+ plus de détails.</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="authdbduserrealmquery" id="authdbduserrealmquery">Directive</a> <a name="AuthDBDUserRealmQuery" id="AuthDBDUserRealmQuery">AuthDBDUserRealmQuery</a><a title="Lien permanent" href="#authdbduserrealmquery" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Requête SQL servant à vérifier une empreinte de mot de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Requête SQL servant à vérifier une empreinte de mot de
passe pour un utilisateur et un identifiant d'authentification.
</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBDUserRealmQuery <var>requête</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBDUserRealmQuery <var>requête</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</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_authn_dbd</td></tr>
</table>
- <p>La directive <code class="directive">AuthDBDUserRealmQuery</code> spécifie
- une requête SQL servant à vérifier une empreinte de mot
+ <p>La directive <code class="directive">AuthDBDUserRealmQuery</code> spécifie
+ une requête SQL servant à vérifier une empreinte de mot
de passe pour un utilisateur et un identifiant d'authentification
- donnés au cours d'un processus d'authentification digest. Les
+ donnés au cours d'un processus d'authentification digest. Les
identifiants de l'utilisateur et de l'authentification
- sont passés dans cet ordre comme paramètres à l'exécution de la
- requête. Ils sont référencés dans la chaîne de la requête en
- utilisant des spécificateurs de format <code>%s</code>.</p>
+ sont passés dans cet ordre comme paramètres à l'exécution de la
+ requête. Ils sont référencés dans la chaîne de la requête en
+ utilisant des spécificateurs de format <code>%s</code>.</p>
<pre class="prettyprint lang-config">AuthDBDUserRealmQuery "SELECT password FROM authn WHERE user = %s AND realm = %s"</pre>
- <p>La première colonne du premier enregistrement renvoyé par la
- requête se présentera sous la forme d'une chaîne de caractères
- contenant le mot de passe chiffré. Les enregistrements suivants
- seront ignorés. Si aucun enregistrement n'est renvoyé, l'utilisateur
- ne sera pas authentifié par <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p>
- <p>Si httpd a été compilé avec une version 1.3.0 ou supérieure de
- l'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>, toute valeur de colonne supplémentaire
- du premier enregistrement renvoyé par la requête sera stockée dans
+ <p>La première colonne du premier enregistrement renvoyé par la
+ requête se présentera sous la forme d'une chaîne de caractères
+ contenant le mot de passe chiffré. Les enregistrements suivants
+ seront ignorés. Si aucun enregistrement n'est renvoyé, l'utilisateur
+ ne sera pas authentifié par <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p>
+ <p>Si httpd a été compilé avec une version 1.3.0 ou supérieure de
+ l'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>, toute valeur de colonne supplémentaire
+ du premier enregistrement renvoyé par la requête sera stockée dans
une variable d'environnement avec un nom de la forme
<code>AUTHENTICATE_<var>COLONNE</var></code>.
</p>
- <p>Le format du mot de passe chiffré dépend du frontal
- d'authentification utilisé (par exemple
+ <p>Le format du mot de passe chiffré dépend du frontal
+ d'authentification utilisé (par exemple
<code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
<code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>). Voir la documentation sur les <a href="../misc/password_encryptions.html">Formats de mots de passe</a> pour
- plus de détails.</p>
+ plus de détails.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authn_dbd.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_authn_dbd.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_authn_dbm</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authn_dbm.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_authn_dbm.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_authn_dbm.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_authn_dbm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification utilisateur utilisant des fichiers
DBM</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>authn_dbm_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_dbm.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_dbm_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_dbm.c</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module permet aux frontaux comme
<code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> et <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>
d'authentifier les utilisateurs en les recherchant dans des fichiers
de mots de passe <dfn>dbm</dfn>. <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>
- fournit une fonctionnalité similaire.</p>
+ fournit une fonctionnalité similaire.</p>
<p>Lorsqu'on utilise <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
- <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, ce module est invoqué en affectant
- la valeur <code>dbm</code> à la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</p>
+ <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, ce module est invoqué en affectant
+ la valeur <code>dbm</code> à la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#authdbmtype">AuthDBMType</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authdbmuserfile">AuthDBMUserFile</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_dbm">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_dbm">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_dbm">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_dbm">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li>
<li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authdbmtype" id="authdbmtype">Directive</a> <a name="AuthDBMType" id="AuthDBMType">AuthDBMType</a><a title="Lien permanent" href="#authdbmtype" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le type de fichier de base de données utilisé pour
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le type de fichier de base de données utilisé pour
stocker les mots de passe</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBMType default|SDBM|GDBM|NDBM|DB</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthDBMType default</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#Default">Défaut:</a></th><td><code>AuthDBMType default</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">AllowOverride:</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_authn_dbm</td></tr>
</table>
- <p>Cette directive définit le type de fichier de base de
- données utilisé pour stocker les mots de passe. Le type de base de
- données par défaut est défini à la compilation. La liste des autres
- types de bases de données disponibles dépend aussi de la configuration de la
+ <p>Cette directive définit le type de fichier de base de
+ données utilisé pour stocker les mots de passe. Le type de base de
+ données par défaut est défini à la compilation. La liste des autres
+ types de bases de données disponibles dépend aussi de la configuration de la
<a href="../programs/configure.html#options">compilation</a>.</p>
<p>Par exemple, pour activer le support de Berkeley DB (correspondant au
type <code>db</code>), il faut ajouter l'option
- <code>--with-berkeley-db</code> à la ligne de commande configure de httpd
- pour générer le DSO approprié.</p>
+ <code>--with-berkeley-db</code> à la ligne de commande configure de httpd
+ pour générer le DSO approprié.</p>
- <p>Il est impératif que le programme que vous utilisez pour créer
- vos fichiers de mots de passe soit configuré pour utiliser le même
- type de base de données.</p>
+ <p>Il est impératif que le programme que vous utilisez pour créer
+ vos fichiers de mots de passe soit configuré pour utiliser le même
+ type de base de donné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="authdbmuserfile" id="authdbmuserfile">Directive</a> <a name="AuthDBMUserFile" id="AuthDBMUserFile">AuthDBMUserFile</a><a title="Lien permanent" href="#authdbmuserfile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom d'un fichier de base de données pour
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom d'un fichier de base de données pour
l'authentification contenant la liste
des utilisateurs et de leurs mots de passe</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBMUserFile <var>chemin-fichier</var></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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_authn_dbm</td></tr>
</table>
- <p>La directive <code class="directive">AuthDBMUserFile</code> définit
- le nom d'un fichier de base de données pour
+ <p>La directive <code class="directive">AuthDBMUserFile</code> définit
+ le nom d'un fichier de base de données pour
l'authentification contenant la liste des utilisateurs et de leurs
- mots de passe. <var>chemin-fichier</var> doit être un chemin absolu
- vers le fichier de base de données.</p>
+ mots de passe. <var>chemin-fichier</var> doit être un chemin absolu
+ vers le fichier de base de données.</p>
- <p>La clé du fichier de base de données est le nom de l'utilisateur.
- La valeur associée est le mot de passe chiffré, éventuellement suivi
- par un ':' et des données aléatoires. Ce ':' ainsi que les données
- aléatoires qui suivent seront ignorées par le serveur.</p>
+ <p>La clé du fichier de base de données est le nom de l'utilisateur.
+ La valeur associée est le mot de passe chiffré, éventuellement suivi
+ par un ':' et des données aléatoires. Ce ':' ainsi que les données
+ aléatoires qui suivent seront ignorées par le serveur.</p>
- <div class="warning"><h3>Sécurité :</h3>
- <p>Faites en sorte que le fichier spécifié par la directive
- <code class="directive">AuthDBMUserFile</code> soit stocké en dehors de
+ <div class="warning"><h3>Sécurité :</h3>
+ <p>Faites en sorte que le fichier spécifié par la directive
+ <code class="directive">AuthDBMUserFile</code> soit stocké en dehors de
l'arborescence des documents du serveur web ; en particulier, ne
- l'enregistrez <em>pas</em> dans le répertoire qu'il protège, faute
- de quoi, les clients auraient la possibilité de
- télécharger le fichier des mots de passe.</p>
+ l'enregistrez <em>pas</em> dans le répertoire qu'il protège, faute
+ de quoi, les clients auraient la possibilité de
+ télécharger le fichier des mots de passe.</p>
</div>
- <p>Le format de mot de passe chiffré dépend du frontal
- d'authentification utilisé (par exemple
+ <p>Le format de mot de passe chiffré dépend du frontal
+ d'authentification utilisé (par exemple
<code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
<code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>). Voir la documentation sur les <a href="../misc/password_encryptions.html">Formats de mots de
- passe</a> pour plus de détails.</p>
+ passe</a> pour plus de détails.</p>
- <p>Note importante concernant la compatibilité : l'implémentation de
+ <p>Note importante concernant la compatibilité : l'implémentation de
<code>dbmopen</code> dans les modules d'Apache lit la longueur de la
- chaîne correspondant aux données chiffrées dans la structure des
- données DBM, plutôt que de calculer cette longueur en se basant sur
- le caractère nul final. Certaines applications par contre, comme le
+ chaîne correspondant aux données chiffrées dans la structure des
+ données DBM, plutôt que de calculer cette longueur en se basant sur
+ le caractère nul final. Certaines applications par contre, comme le
serveur web Netscape, calculent cette longueur en se basant sur
- le caractère nul final ; par conséquent, si vous rencontrez des
- difficultés en échangeant des fichiers DBM entre plusieurs
- applications, le problème peut éventuellement s'expliquer par cette
- différence d'implémentation.</p>
+ le caractère nul final ; par conséquent, si vous rencontrez des
+ difficultés en échangeant des fichiers DBM entre plusieurs
+ applications, le problème peut éventuellement s'expliquer par cette
+ différence d'implémentation.</p>
- <p>Un script perl nommé <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code> est fourni avec
- Apache. On peut utiliser ce programme pour créer et mettre à jour
+ <p>Un script perl nommé <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code> est fourni avec
+ Apache. On peut utiliser ce programme pour créer et mettre à jour
les fichiers de mots de passe au format DBM que ce module
utilise. Le programme fourni <code class="program"><a href="../programs/htdbm.html">htdbm</a></code> est un autre
utilitaire permettant de maintenir les fichiers DBM.</p>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authn_dbm.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_authn_dbm.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_authn_dbm.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_authn_dbm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_authn_file</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_file.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authn_file.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_authn_file.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_authn_file.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_authn_file.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification utilisateur à l'aide de fichiers
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification utilisateur à l'aide de fichiers
texte</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>authn_file_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_file.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_file_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_file.c</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module permet aux frontaux d'authentification comme
<code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> et <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>
d'authentifier les utilisateurs en les recherchant dans des fichiers
de mots de passe au format texte. <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>
- fournit une fonctionnalité similaire.</p>
+ fournit une fonctionnalité similaire.</p>
<p>Lorsqu'on utilise <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
- <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, ce module peut être invoqué en
- affectant la valeur <code>file</code> à la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</p>
+ <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, ce module peut être invoqué en
+ affectant la valeur <code>file</code> à la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#authuserfile">AuthUserFile</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_file">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_file">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_file">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_file">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li>
<code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authuserfile" id="authuserfile">Directive</a> <a name="AuthUserFile" id="AuthUserFile">AuthUserFile</a><a title="Lien permanent" href="#authuserfile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom d'un fichier texte pour l'authentification
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom d'un fichier texte pour l'authentification
contenant la liste des utilisateurs et de leurs mots de
passe</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthUserFile <var>chemin-fichier</var></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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_authn_file</td></tr>
</table>
<p>La directive <code class="directive">AuthUserFile</code> permet de
- définir le nom d'un fichier texte pour l'authentification contenant
+ définir le nom d'un fichier texte pour l'authentification contenant
la liste des utilisateurs et de leurs mots de passe.
<var>chemin-fichier</var> est le chemin vers le fichier
- des utilisateurs. S'il n'est pas absolu, il est considéré comme
- relatif au répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p>
+ des utilisateurs. S'il n'est pas absolu, il est considéré comme
+ relatif au répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p>
<p>Chaque ligne du fichier des utilisateurs se compose du nom de
- l'utilisateur, du caractère ':' et du mot de passe chiffré. Si le
- même identifiant utilisateur est référencé plusieurs fois,
- <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> utilisera la première occurrence pour
- vérifier le mot de passe.</p>
+ l'utilisateur, du caractère ':' et du mot de passe chiffré. Si le
+ même identifiant utilisateur est référencé plusieurs fois,
+ <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> utilisera la première occurrence pour
+ vérifier le mot de passe.</p>
- <p>Le format du mot de passe chiffré dépend du frontal
- d'authentification utilisé (par exemple
+ <p>Le format du mot de passe chiffré dépend du frontal
+ d'authentification utilisé (par exemple
<code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
<code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>). Voir la documentation sur les
<a href="../misc/password_encryptions.html">Formats de mots de
- passe</a> pour plus de détails.</p>
+ passe</a> pour plus de détails.</p>
<p>Pour <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, utilisez le programme
<code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> fourni avec la distribution binaire,
- mais que vous trouverez aussi dans le répertoire
+ mais que vous trouverez aussi dans le répertoire
<code>src/support</code> de l'arborescence des sources. Voir sa <a href="../programs/htpasswd.html">page de manuel</a> pour plus de
- détails. En bref :</p>
+ détails. En bref :</p>
- <p>On crée un fichier de mots de passe <code>nom-fichier</code> avec
+ <p>On crée un fichier de mots de passe <code>nom-fichier</code> avec
<code>nom-utilisateur</code> comme identifiant initial. Le mot de
- passe correspondant sera alors demandé :</p>
+ passe correspondant sera alors demandé :</p>
<div class="example"><p><code>
htpasswd -c nom-fichier nom-utilisateur
htpasswd nom-fichier nom-utilisateur2
</code></p></div>
- <p>Noter qu'une recherche dans de grands fichiers texte peut être
- très longue ; dans ce cas, il vaut mieux utiliser les fichiers DBM
+ <p>Noter qu'une recherche dans de grands fichiers texte peut être
+ très longue ; dans ce cas, il vaut mieux utiliser les fichiers DBM
avec la directive <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>.</p>
<p>Pour <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, vous devez utiliser
le programme <code class="program"><a href="../programs/htdigest.html">htdigest</a></code>.
- Notez que vous ne pouvez pas mélanger des données utilisateur pour
- l'Authentification HTTP à base de condensé et des données pour
- l'Authentification de Base dans le même fichier.</p>
+ Notez que vous ne pouvez pas mélanger des données utilisateur pour
+ l'Authentification HTTP à base de condensé et des données pour
+ l'Authentification de Base dans le même fichier.</p>
- <div class="warning"><h3>Sécurité</h3>
+ <div class="warning"><h3>Sécurité</h3>
<p>Assurez-vous que le fichier <code class="directive">AuthUserFile</code>
- soit bien stocké en dehors de l'arborescence des documents du
+ soit bien stocké en dehors de l'arborescence des documents du
serveur web. Ne placez <strong>pas</strong> ce fichier dans le
- répertoire qu'il protège. Dans le cas contraire, les clients
- seraient en mesure de télécharger le fichier des mots de passe.</p>
+ répertoire qu'il protège. Dans le cas contraire, les clients
+ seraient en mesure de télécharger le fichier des mots de passe.</p>
</div>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_file.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authn_file.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_authn_file.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_authn_file.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_authn_file.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_authn_socache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_socache.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authn_socache.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_authn_socache.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Gère un cache des données d'authentification pour diminuer
-la charge des serveurs d'arrière-plan</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Gère un cache des données d'authentification pour diminuer
+la charge des serveurs d'arrière-plan</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>authn_socache_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_socache.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 2.3 et ultérieures</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_socache_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_socache.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 2.3 et ultérieures</td></tr></table>
<h3>Sommaire</h3>
- <p>Maintient un cache des données d'authentification pour limiter
- les sollicitations du serveur d'arrière-plan.</p>
+ <p>Maintient un cache des données d'authentification pour limiter
+ les sollicitations du serveur d'arrière-plan.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#intro">Mise en cache des données d'authentification</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#intro">Mise en cache des données d'authentification</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#usage">Utilisation</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#dev">La mise en cache avec les modules tiers</a></li>
</ul><h3 class="directives">Directives</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#authncachesocache">AuthnCacheSOCache</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authncachetimeout">AuthnCacheTimeout</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_socache">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_socache">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_socache">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_socache">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="intro" id="intro">Mise en cache des données d'authentification</a><a title="Lien permanent" href="#intro" class="permalink">¶</a></h2>
+<h2><a name="intro" id="intro">Mise en cache des données d'authentification</a><a title="Lien permanent" href="#intro" class="permalink">¶</a></h2>
<p>Certains utilisateurs qui mettent en oeuvre une authentification
- lourde s'appuyant par exemple sur des requêtes SQL
- (<code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>) ont signalé une charge induite
+ lourde s'appuyant par exemple sur des requêtes SQL
+ (<code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>) ont signalé une charge induite
inacceptable sur leur fournisseur d'authentification. Cela se
- produit typiquement dans le cas où une page HTML contient des
+ produit typiquement dans le cas où une page HTML contient des
centaines d'objets (images, scripts, pages de styles, media,
- etc...), et où une requête pour cette page génère des centaines de
- sous-requêtes à effet immédiat pour des contenus supplémentaires
- authentifiés.</p>
- <p>Pour résoudre ce problème, mod_authn_socache fournit une solution
- qui permet de maintenir un cache des données d'authentification.</p>
+ etc...), et où une requête pour cette page génère des centaines de
+ sous-requêtes à effet immédiat pour des contenus supplémentaires
+ authentifiés.</p>
+ <p>Pour résoudre ce problème, mod_authn_socache fournit une solution
+ qui permet de maintenir un cache des données d'authentification.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="usage" id="usage">Utilisation</a><a title="Lien permanent" href="#usage" class="permalink">¶</a></h2>
- <p>Le cache d'authentification doit être utilisé lorsque les
- requêtes d'authentification induisent une charge significative sur le
- serveur, le serveur d'arrière-plan ou le réseau. Cette mise en cache
- n'apportera probablement aucune amélioration dans le cas d'une
- authentification à base de fichier (<code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>)
- ou de base de données dbm (<code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>) car ces
- méthodes sont de par leur conception rapides et légères (la mise en
- cache peut cependant s'avérer utile dans le cas où le fichier est
- situé sur un montage réseau). Les fournisseurs d'authentification
- basés sur SQL ou LDAP ont plus de chances de tirer parti de cette
- mise en cache, en particulier lorsqu'un problème de performances est
- détecté. <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> gérant son propre cache,
- seul <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> est concerné par notre sujet.</p>
- <p>Les principales règles à appliquer pour la mise en cache sont :</p>
+ <p>Le cache d'authentification doit être utilisé lorsque les
+ requêtes d'authentification induisent une charge significative sur le
+ serveur, le serveur d'arrière-plan ou le réseau. Cette mise en cache
+ n'apportera probablement aucune amélioration dans le cas d'une
+ authentification à base de fichier (<code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>)
+ ou de base de données dbm (<code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>) car ces
+ méthodes sont de par leur conception rapides et légères (la mise en
+ cache peut cependant s'avérer utile dans le cas où le fichier est
+ situé sur un montage réseau). Les fournisseurs d'authentification
+ basés sur SQL ou LDAP ont plus de chances de tirer parti de cette
+ mise en cache, en particulier lorsqu'un problème de performances est
+ détecté. <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> gérant son propre cache,
+ seul <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> est concerné par notre sujet.</p>
+ <p>Les principales règles à appliquer pour la mise en cache sont :</p>
<ol><li>Inclure le fournisseur pour lequel vous voulez effectuer une
mise en cache dans une directive
<code class="directive">AuthnCacheProvideFor</code>.</li>
<code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</li>
</ol>
- <p>Voici un exemple simple permettant d'accélérer
+ <p>Voici un exemple simple permettant d'accélérer
<code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> et utilisant dbm comme moteur de la
mise en cache :</p>
- <pre class="prettyprint lang-config"> #AuthnCacheSOCache est optionnel. S'il est défini, il l'est pour
+ <pre class="prettyprint lang-config"> #AuthnCacheSOCache est optionnel. S'il est défini, il l'est pour
#l'ensemble du serveur
AuthnCacheSOCache dbm
<Directory "/usr/www/myhost/private">
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="dev" id="dev">La mise en cache avec les modules tiers</a><a title="Lien permanent" href="#dev" class="permalink">¶</a></h2>
- <p>Les développeurs de modules doivent savoir que la mise en cache
- avec mod_authn_socache doit être activée dans leurs modules. La
+ <p>Les développeurs de modules doivent savoir que la mise en cache
+ avec mod_authn_socache doit être activée dans leurs modules. La
fonction de l'API <var>ap_authn_cache_store</var> permet de
- mettre en cache les données d'authentification qu'un fournisseur
- vient de rechercher ou de générer. Vous trouverez des exemples
- d'utilisation à <a href="http://svn.eu.apache.org/viewvc?view=revision&revision=957072">r957072</a>, où trois fournisseurs authn sont activés pour la mise
+ mettre en cache les données d'authentification qu'un fournisseur
+ vient de rechercher ou de générer. Vous trouverez des exemples
+ d'utilisation à <a href="http://svn.eu.apache.org/viewvc?view=revision&revision=957072">r957072</a>, où trois fournisseurs authn sont activés pour la mise
en cache.</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="authncachecontext" id="authncachecontext">Directive</a> <a name="AuthnCacheContext" id="AuthnCacheContext">AuthnCacheContext</a><a title="Lien permanent" href="#authncachecontext" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie une chaîne de contexte à utiliser dans la clé du
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie une chaîne de contexte à utiliser dans la clé du
cache</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnCacheContext <var>directory|server|chaîne-personnalisée</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>directory</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnCacheContext <var>directory|server|chaîne-personnalisée</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>directory</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</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_authn_socache</td></tr>
</table>
- <p>Cette directive permet de spécifier une chaîne à utiliser avec le
+ <p>Cette directive permet de spécifier une chaîne à utiliser avec le
nom d'utilisateur fourni (et le domaine d'authentification - realm -
- dans le cas d'une authentification à base de condensés) lors de la
- construction d'une clé de cache. Ceci permet de lever l'ambiguïté
- entre plusieurs noms d'utilisateurs identiques servant différentes
+ dans le cas d'une authentification à base de condensés) lors de la
+ construction d'une clé de cache. Ceci permet de lever l'ambiguïté
+ entre plusieurs noms d'utilisateurs identiques servant différentes
zones d'authentification sur le serveur.</p>
- <p>Il y a deux valeurs spéciales pour le paramètre : <var>directory</var>,
- qui utilise le contexte de répertoire de la requête comme chaîne, et
+ <p>Il y a deux valeurs spéciales pour le paramètre : <var>directory</var>,
+ qui utilise le contexte de répertoire de la requête comme chaîne, et
<var>server</var>, qui utilise le nom du serveur virtuel.</p>
- <p>La valeur par défaut est <var>directory</var>, qui est aussi la
- définition la plus courante. Ceci est cependant loin d'être optimal,
+ <p>La valeur par défaut est <var>directory</var>, qui est aussi la
+ définition la plus courante. Ceci est cependant loin d'être optimal,
car par exemple, <var>$app-base</var>, <var>$app-base/images</var>,
<var>$app-base/scripts</var> et <var>$app-base/media</var>
- possèderont chacun leur propre clé de cache. Il est préférable
+ possèderont chacun leur propre clé de cache. Il est préférable
d'utiliser le fournisseur de mot de passe : par exemple un fichier
- <var>htpasswd</var> ou une table de base de données.</p>
- <p>Les contextes peuvent être partagés entre différentes zones du
- serveur, où les données d'authentification sont partagées. Ceci est
- cependant susceptible de créer des trous de sécurité de type
+ <var>htpasswd</var> ou une table de base de données.</p>
+ <p>Les contextes peuvent être partagés entre différentes zones du
+ serveur, où les données d'authentification sont partagées. Ceci est
+ cependant susceptible de créer des trous de sécurité de type
cross-site ou cross-application, et cette directive n'est donc pas
disponible dans les contextes <var>.htaccess</var>.</p>
<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_authn_socache</td></tr>
</table>
- <p>Normalement, cette directive n'est pas nécessaire : l'activation
- est implicite si la mise en cache de l'authentification a été
- activée en tout autre endroit du fichier <var>httpd.conf</var>. Par
- contre, si cette mise en cache n'a pas été activée, par défaut, elle
- ne sera pas initialisée, et ne sera donc pas disponible dans un
+ <p>Normalement, cette directive n'est pas nécessaire : l'activation
+ est implicite si la mise en cache de l'authentification a été
+ activée en tout autre endroit du fichier <var>httpd.conf</var>. Par
+ contre, si cette mise en cache n'a pas été activée, par défaut, elle
+ ne sera pas initialisée, et ne sera donc pas disponible dans un
contexte de fichier <var>.htaccess</var>. Cette directive permet
- d'être sûr que la mise en cache a bien été activée et pourra
- donc être utilisée dans les fichiers <var>.htaccess</var>.</p>
+ d'être sûr que la mise en cache a bien été activée et pourra
+ donc être utilisée dans les fichiers <var>.htaccess</var>.</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="authncacheprovidefor" id="authncacheprovidefor">Directive</a> <a name="AuthnCacheProvideFor" id="AuthnCacheProvideFor">AuthnCacheProvideFor</a><a title="Lien permanent" href="#authncacheprovidefor" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le fournisseur pour lequel on veut effectuer une
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le fournisseur pour lequel on veut effectuer une
mise en cache</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnCacheProvideFor <var>fournisseur-authn</var> [...]</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#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">AllowOverride:</a></th><td>AuthConfig</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_authn_socache</td></tr>
</table>
- <p>Cette directive permet de spécifier un ou plusieurs fournisseurs
- pour le(s)quel(s) on veut effectuer une mise en cache. Les données
- d'authentification trouvées par un fournisseur non spécifié dans une
+ <p>Cette directive permet de spécifier un ou plusieurs fournisseurs
+ pour le(s)quel(s) on veut effectuer une mise en cache. Les données
+ d'authentification trouvées par un fournisseur non spécifié dans une
directive AuthnCacheProvideFor ne seront pas mises en cache.</p>
- <p>Par exemple, pour mettre en cache les données d'authentification
- trouvées par <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> ou par un fournisseur
- personnalisé <var>mon-fournisseur</var>, et ne pas mettre en cache
- celles trouvées par les fournisseurs légers comme file ou dbm :</p>
+ <p>Par exemple, pour mettre en cache les données d'authentification
+ trouvées par <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> ou par un fournisseur
+ personnalisé <var>mon-fournisseur</var>, et ne pas mettre en cache
+ celles trouvées par les fournisseurs légers comme file ou dbm :</p>
<pre class="prettyprint lang-config">AuthnCacheProvideFor dbd mon-fournisseur</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authncachesocache" id="authncachesocache">Directive</a> <a name="AuthnCacheSOCache" id="AuthnCacheSOCache">AuthnCacheSOCache</a><a title="Lien permanent" href="#authncachesocache" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sélectionne le fournisseur socache d'arrière-plan à
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sélectionne le fournisseur socache d'arrière-plan à
utiliser</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnCacheSOCache <var>nom-fournisseur[:arguments-fournisseur]</var></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>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_socache</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les arguments optionnels du fournisseur sont disponibles
-à partir de la version 2.4.7 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les arguments optionnels du fournisseur sont disponibles
+à partir de la version 2.4.7 du serveur HTTP Apache</td></tr>
</table>
- <p>Cette définition s'applique à l'ensemble du serveur et permet de
- sélectionner un fournisseur pour le <a href="../socache.html">cache
- d'objets partagés</a>, ainsi que des arguments éventuels pour ce
+ <p>Cette définition s'applique à l'ensemble du serveur et permet de
+ sélectionner un fournisseur pour le <a href="../socache.html">cache
+ d'objets partagés</a>, ainsi que des arguments éventuels pour ce
fournisseur. Les fournisseurs disponibles sont, entre autres, "dbm",
- "dc", "memcache", ou "shmcb", chacun d'entre eux nécessitant le chargement
- du module approprié. Si elle est
- absente, c'est la valeur par défaut pour votre plate-forme qui sera
- utilisée.</p>
+ "dc", "memcache", ou "shmcb", chacun d'entre eux nécessitant le chargement
+ du module approprié. Si elle est
+ absente, c'est la valeur par défaut pour votre plate-forme qui sera
+ utilisée.</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="authncachetimeout" id="authncachetimeout">Directive</a> <a name="AuthnCacheTimeout" id="AuthnCacheTimeout">AuthnCacheTimeout</a><a title="Lien permanent" href="#authncachetimeout" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une durée de vie pour les entrées du cache</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnCacheTimeout <var>durée-de-vie</var> (secondes)</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>300 (5 minutes)</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#Description">Description:</a></th><td>Définit une durée de vie pour les entrées du cache</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnCacheTimeout <var>durée-de-vie</var> (secondes)</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>300 (5 minutes)</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">AllowOverride:</a></th><td>AuthConfig</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_authn_socache</td></tr>
</table>
- <p>La mise en cache des données d'authentification peut constituer
- un trou de sécurité, bien qu'un mise en cache de courte durée ne
- posera probablement pas de problème. En général, il est conseillé de
- conserver les entrées du cache de façon à ce que la charge du serveur
- d'arrière-plan reste normale, mais pas plus longtemps ;
- une durée de vie plus longue peut être paramétrée si les
- changements d'utilisateurs et de mots de passe sont peu fréquents.
- La durée de vie par défaut de 300 secondes (5 minutes) est à la fois
- raisonnable et suffisamment importante pour réduire la charge d'un
- serveur d'arrière-plan comme dbd (requêtes SQL).</p>
- <p>Cette durée de vie ne doit pas être confondue avec la durée de
+ <p>La mise en cache des données d'authentification peut constituer
+ un trou de sécurité, bien qu'un mise en cache de courte durée ne
+ posera probablement pas de problème. En général, il est conseillé de
+ conserver les entrées du cache de façon à ce que la charge du serveur
+ d'arrière-plan reste normale, mais pas plus longtemps ;
+ une durée de vie plus longue peut être paramétrée si les
+ changements d'utilisateurs et de mots de passe sont peu fréquents.
+ La durée de vie par défaut de 300 secondes (5 minutes) est à la fois
+ raisonnable et suffisamment importante pour réduire la charge d'un
+ serveur d'arrière-plan comme dbd (requêtes SQL).</p>
+ <p>Cette durée de vie ne doit pas être confondue avec la durée de
vie de session qui est un tout autre sujet. Cependant, vous devez
- utiliser votre logiciel de gestion de session pour vérifier si les
- données d'authentification mises en cache peuvent allonger
+ utiliser votre logiciel de gestion de session pour vérifier si les
+ données d'authentification mises en cache peuvent allonger
accidentellement une session, et en tenir compte lorsque vous
- définissez la durée de vie.</p>
+ définissez la durée de vie.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_socache.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authn_socache.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_authn_socache.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_authnz_fcgi</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_fcgi.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authnz_fcgi.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_authnz_fcgi.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet à une application d'autorisation FastCGI de gérer
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet à une application d'autorisation FastCGI de gérer
l'authentification et l'autorisation httpd.</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_fcgi_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authnz_fcgi.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authnz_fcgi_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authnz_fcgi.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP
Apache</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module permet aux applications d'autorisation FastCGI
- d'authentifier les utilisateurs et de contrôler leur accès aux
- ressources. Il supporte les systèmes d'autorisation FastCGI
- génériques qui participent en une seule phase à l'authentification
- et à l'autorisation, ainsi que les processus d'authentification et
- d'autorisation spécifiques à Apache httpd qui interviennent en une
+ d'authentifier les utilisateurs et de contrôler leur accès aux
+ ressources. Il supporte les systèmes d'autorisation FastCGI
+ génériques qui participent en une seule phase à l'authentification
+ et à l'autorisation, ainsi que les processus d'authentification et
+ d'autorisation spécifiques à Apache httpd qui interviennent en une
ou plusieurs phases.</p>
<p>Les processus d'autorisation FastCGI peuvent authentifier un
utilisateur via son identificateur et son mot de passe comme dans le
- processus d'authentification basique, ou via un mécanisme
+ processus d'authentification basique, ou via un mécanisme
arbitraire.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#invocations">Modes d'invocation</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples supplémentaires</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples supplémentaires</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#limitations">Limitations</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#logging">Journalisation</a></li>
</ul><h3 class="directives">Directives</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authnz_fcgi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authnz_fcgi">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authnz_fcgi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authnz_fcgi">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../howto/auth.html">Authentification, autorisation et
-contrôle d'accès</a></li>
+contrôle d'accès</a></li>
<li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li>
<li><code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></li>
<h2><a name="invocations" id="invocations">Modes d'invocation</a><a title="Lien permanent" href="#invocations" class="permalink">¶</a></h2>
<p>Les modes d'invocation des processus d'autorisation FastCGI que
- ce module supporte se distinguent par deux caractéristiques : le
- <em>type</em> et le <em>mécanisme</em> d'authentification.</p>
+ ce module supporte se distinguent par deux caractéristiques : le
+ <em>type</em> et le <em>mécanisme</em> d'authentification.</p>
<p>Le <em>Type</em> est simplement <code>authn</code> pour
l'authentification, <code>authz</code> pour l'autorisation et
<code>authnz</code> l'authentification et l'autorisation.</p>
- <p>Le <em>mécanisme</em> d'authentification fait référence aux
- mécanismes d'authentification et aux phases de traitement de la
- configuration de Apache httpd, et peut être
+ <p>Le <em>mécanisme</em> d'authentification fait référence aux
+ mécanismes d'authentification et aux phases de traitement de la
+ configuration de Apache httpd, et peut être
<code>AuthBasicProvider</code>, <code>Require</code>, ou
- <code>check_user_id</code>. Les deux premiers mécanismes
- correspondent aux directives utilisées pour participer aux phases de
- traitement appropriées.</p>
+ <code>check_user_id</code>. Les deux premiers mécanismes
+ correspondent aux directives utilisées pour participer aux phases de
+ traitement appropriées.</p>
<p>Description de chaque mode:</p>
<dt><em>Type</em> <code>authn</code>, <em>mechanism</em>
<code>AuthBasicProvider</code></dt>
- <dd>Dans ce mode, la variable <code>FCGI_ROLE</code> est définie à
+ <dd>Dans ce mode, la variable <code>FCGI_ROLE</code> est définie à
<code>AUTHORIZER</code>, et la variable
- <code>FCGI_APACHE_ROLE</code> à <code>AUTHENTICATOR</code>.
- L'application doit être spécifiée en tant que fournisseur de type
+ <code>FCGI_APACHE_ROLE</code> à <code>AUTHENTICATOR</code>.
+ L'application doit être spécifiée en tant que fournisseur de type
<em>authn</em> via la directive <code class="directive"><a href="#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></code>, et
- activée via la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>. Lorsqu'elle
- est invoquée, l'application est censée authentifier le client à
+ activée via la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>. Lorsqu'elle
+ est invoquée, l'application est censée authentifier le client à
l'aide de l'identifiant et du mot de passe de l'utilisateur.
Exemple d'application :
<dt><em>Type</em> <code>authz</code>, <em>mechanism</em>
<code>Require</code></dt>
- <dd>Dans ce mode, la variable <code>FCGI_ROLE</code> est définie à
- <code>AUTHORIZER</code> et <code>FCGI_APACHE_ROLE</code> à
- <code>AUTHORIZER</code>. L'application doit être spécifiée en tant
+ <dd>Dans ce mode, la variable <code>FCGI_ROLE</code> est définie à
+ <code>AUTHORIZER</code> et <code>FCGI_APACHE_ROLE</code> à
+ <code>AUTHORIZER</code>. L'application doit être spécifiée en tant
que fournisseur de type <em>authz</em> via la directive <code class="directive"><a href="#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></code>.
- Lorsqu'elle est invoquée, l'application est censée contrôler les
- accès du client à l'aide de l'identifiant utilisateur et d'autres
- données contenues dans la requête. Exemple d'application :
+ Lorsqu'elle est invoquée, l'application est censée contrôler les
+ accès du client à l'aide de l'identifiant utilisateur et d'autres
+ données contenues dans la requête. Exemple d'application :
<pre class="prettyprint lang-perl">#!/usr/bin/perl
use FCGI;
my $request = FCGI::Request();
<dd>Dans ce mode qui supporte le protocole d'autorisation web
server-agnostic FastCGI, la variable <code>FCGI_ROLE</code> est
- définie à <code>AUTHORIZER</code> et <code>FCGI_APACHE_ROLE</code>
- n'est pas définie. L'application doit être spécifiée en tant que
+ définie à <code>AUTHORIZER</code> et <code>FCGI_APACHE_ROLE</code>
+ n'est pas définie. L'application doit être spécifiée en tant que
fournisseur de type <em>authnz</em> via la directive <code class="directive"><a href="#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></code>.
- L'application est censée assurer l'authentification et
- l'autorisation au cours d'une même invocation à l'aide de
+ L'application est censée assurer l'authentification et
+ l'autorisation au cours d'une même invocation à l'aide de
l'identifiant et du mot de passe de l'utilisateur et d'autres
- données contenues dans la requête. L'invocation de l'application
+ données contenues dans la requête. L'invocation de l'application
intervient au cours de la phase d'authentification de l'API Apache
- httpd. Si l'application renvoie le code 200, et si le même
- fournisseur est invoqué au cours de la phase d'autorisation (via
+ httpd. Si l'application renvoie le code 200, et si le même
+ fournisseur est invoqué au cours de la phase d'autorisation (via
une directive <code class="directive">Require</code>), mod_authnz_fcgi
renverra un code de type success pour la phase d'autorisation sans
invoquer l'application. Exemple d'application :
<dt><em>Type</em> <code>authn</code>, <em>mechanism</em>
<code>check_user_id</code></dt>
- <dd>Dans ce mode, la variable <code>FCGI_ROLE</code> est définie à
- <code>AUTHORIZER</code> et <code>FCGI_APACHE_ROLE</code> à
- <code>AUTHENTICATOR</code>. L'application doit être spécifiée en
+ <dd>Dans ce mode, la variable <code>FCGI_ROLE</code> est définie à
+ <code>AUTHORIZER</code> et <code>FCGI_APACHE_ROLE</code> à
+ <code>AUTHENTICATOR</code>. L'application doit être spécifiée en
tant que fournisseur de type <em>authn</em> via une directive
<code class="directive"><a href="#authnzfcgidefineprovider">AuthnzFcgiDefineProvider</a></code>. La
directive <code class="directive"><a href="#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider</a></code>
</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 supplémentaires</a><a title="Lien permanent" href="#examples" class="permalink">¶</a></h2>
+<h2><a name="examples" id="examples">Exemples supplémentaires</a><a title="Lien permanent" href="#examples" class="permalink">¶</a></h2>
<ol>
- <li>Si votre application supporte séparément les rôles
+ <li>Si votre application supporte séparément les rôles
d'authentification et d'autorisation (<code>AUTHENTICATOR</code> et
- <code>AUTHORIZER</code>), vous pouvez définir des fournisseurs
- séparés comme suit, même s'ils correspondent à la même application :
+ <code>AUTHORIZER</code>), vous pouvez définir des fournisseurs
+ séparés comme suit, même s'ils correspondent à la même application :
<pre class="prettyprint lang-config">AuthnzFcgiDefineProvider authn FooAuthn fcgi://localhost:10102/
AuthnzFcgiDefineProvider authz FooAuthz fcgi://localhost:10102/</pre>
- Spécifie le fournisseur authn via la directive
+ Spécifie le fournisseur authn via la directive
<code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
et le fournisseur authz via la directive
<code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>:
</li>
- <li>Si votre application supporte le rôle générique
+ <li>Si votre application supporte le rôle générique
<code>AUTHORIZER</code> (authentification et autorisation en une
- seule invocation), vous pouvez définir un fournisseur unique comme
+ seule invocation), vous pouvez définir un fournisseur unique comme
suit :
<pre class="prettyprint lang-config">AuthnzFcgiDefineProvider authnz FooAuthnz fcgi://localhost:10103/</pre>
- Spécifie le fournisseur authnz via les directives
+ Spécifie le fournisseur authnz via les directives
<code class="directive">AuthBasicProvider</code> et
<code class="directive">Require</code> :
<div class="section">
<h2><a name="limitations" id="limitations">Limitations</a><a title="Lien permanent" href="#limitations" class="permalink">¶</a></h2>
- <p>Les fonctionnalités suivantes ne sont pas encore implémentées :</p>
+ <p>Les fonctionnalités suivantes ne sont pas encore implémentées :</p>
<dl>
- <dt>Vérificateur d'accès d'Apache httpd</dt>
+ <dt>Vérificateur d'accès d'Apache httpd</dt>
<dd>La phase <em>access check</em> de l'API Apache httpd est
distincte des phases d'authentification et d'autorisation.
- Certaines autres implémentations de FastCGI supportent cette phase
+ Certaines autres implémentations de FastCGI supportent cette phase
et lorsque c'est le cas, la variable <code>FCGI_APACHE_ROLE</code>
- est définie à <code>ACCESS_CHECKER</code>.</dd>
+ est définie à <code>ACCESS_CHECKER</code>.</dd>
<dt>Redirections (pipes) ou sockets locaux (Unix)</dt>
- <dd>Seuls les sockets TCP sont actuellement supportés.</dd>
+ <dd>Seuls les sockets TCP sont actuellement supportés.</dd>
<dt>Support de mod_authn_socache</dt>
<dd>Le support de l'interaction avec mod_authn_socache pour les
applications qui interviennent dans le processus
d'authentification d'Apache httpd serait souhaitable.</dd>
- <dt>Support de l'authentification de type digest à l'aide de AuthDigestProvider</dt>
+ <dt>Support de l'authentification de type digest à l'aide de AuthDigestProvider</dt>
<dd>Cette limitation ne sera probablement jamais franchie car il
- n'existe aucun flux de données d'autorisation capable de lire dans
- un condensé de type hash.</dd>
+ n'existe aucun flux de données d'autorisation capable de lire dans
+ un condensé de type hash.</dd>
<dt>Gestion des processus applicatifs</dt>
- <dd>Cette fonctionnalité restera probablement hors de portée de ce
- module. Il faudra donc gérer les processus applicatifs d'une autre
- manière ; par exemple, <code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code> permet de
- les démarrer.</dd>
+ <dd>Cette fonctionnalité restera probablement hors de portée de ce
+ module. Il faudra donc gérer les processus applicatifs d'une autre
+ manière ; par exemple, <code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code> permet de
+ les démarrer.</dd>
<dt>AP_AUTH_INTERNAL_PER_URI</dt>
- <dd>Tous les fournisseurs sont actuellement enregistrés en tant
+ <dd>Tous les fournisseurs sont actuellement enregistrés en tant
que AP_AUTH_INTERNAL_PER_CONF, ce qui signifie que les
- vérifications ne sont pas effectuées pour les
- sous-requêtes internes avec la même configuration de contrôle
- d'accès que la requête initiale.</dd>
+ vérifications ne sont pas effectuées pour les
+ sous-requêtes internes avec la même configuration de contrôle
+ d'accès que la requête initiale.</dd>
- <dt>Conversion du jeu de caractères des données de protocole</dt>
- <dd>Si mod_authnz_fcgi s'exécute dans un environnement de
- compilation EBCDIC, toutes les données de protocole FastCGI sont
- écrites en EBCDIC et doivent être disponibles en EBCDIC.</dd>
+ <dt>Conversion du jeu de caractères des données de protocole</dt>
+ <dd>Si mod_authnz_fcgi s'exécute dans un environnement de
+ compilation EBCDIC, toutes les données de protocole FastCGI sont
+ écrites en EBCDIC et doivent être disponibles en EBCDIC.</dd>
- <dt>Plusieurs requêtes pour une connexion</dt>
+ <dt>Plusieurs requêtes pour une connexion</dt>
<dd>Actuellement, la connexion au fournisseur d'autorisation
- FastCGI est fermée après chaque phase de traitement. Par exemple,
- si le fournisseur d'autorisation gère séparément les phases
+ FastCGI est fermée après chaque phase de traitement. Par exemple,
+ si le fournisseur d'autorisation gère séparément les phases
<em>authn</em> et <em>authz</em>, deux connexions seront
- nécessaires.</dd>
+ nécessaires.</dd>
<dt>Redirection de certains URIs</dt>
- <dd>Les URIs en provenance des clients ne peuvent pas être
- redirigés selon une table de redirection, comme avec la directive
- <code class="directive">ProxyPass</code> utilisée avec les répondeurs
+ <dd>Les URIs en provenance des clients ne peuvent pas être
+ redirigés selon une table de redirection, comme avec la directive
+ <code class="directive">ProxyPass</code> utilisée avec les répondeurs
FastCGI.</dd>
</dl>
<h2><a name="logging" id="logging">Journalisation</a><a title="Lien permanent" href="#logging" class="permalink">¶</a></h2>
<ol>
- <li>Les erreurs de traitement sont journalisées à un niveau
- <code>error</code> ou supérieur.</li>
- <li>Les messages envoyés par l'application sont journalisés au
+ <li>Les erreurs de traitement sont journalisées à un niveau
+ <code>error</code> ou supérieur.</li>
+ <li>Les messages envoyés par l'application sont journalisés au
niveau <code>warn</code>.</li>
- <li>Les messages de deboguage à caractère général sont
- journalisés au niveau <code>debug</code>.</li>
- <li>Les variables d'environnement transmises à l'application
- sont journalisées au niveau <code>trace2</code>. La valeur de la
- variable <code>REMOTE_PASSWD</code> sera occultée, mais
- <strong>toute autre donnée sensible sera visible dans le
+ <li>Les messages de deboguage à caractère général sont
+ journalisés au niveau <code>debug</code>.</li>
+ <li>Les variables d'environnement transmises à l'application
+ sont journalisées au niveau <code>trace2</code>. La valeur de la
+ variable <code>REMOTE_PASSWD</code> sera occultée, mais
+ <strong>toute autre donnée sensible sera visible dans le
journal</strong>.</li>
- <li>Toutes les entrées/sorties entre le module et l'application
+ <li>Toutes les entrées/sorties entre le module et l'application
FastCGI, y compris les variables d'environnement, seront
- journalisées au format imprimable et hexadécimal au niveau
- <code>trace5</code>. <strong>Toutes les données sensibles seront
+ journalisées au format imprimable et hexadécimal au niveau
+ <code>trace5</code>. <strong>Toutes les données sensibles seront
visibles dans le journal.</strong></li>
</ol>
<p>La directive <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> permet
- de configurer un niveau de journalisation spécifique à
+ de configurer un niveau de journalisation spécifique à
mod_authnz_fcgi. Par exemple :</p>
<pre class="prettyprint lang-config">LogLevel info authnz_fcgi:trace8</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authnzfcgicheckauthnprovider" id="authnzfcgicheckauthnprovider">Directive</a> <a name="AuthnzFcgiCheckAuthnProvider" id="AuthnzFcgiCheckAuthnProvider">AuthnzFcgiCheckAuthnProvider</a><a title="Lien permanent" href="#authnzfcgicheckauthnprovider" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet à une application FastCGI de gérer l'accroche
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet à une application FastCGI de gérer l'accroche
d'authentification check_authn.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnzFcgiCheckAuthnProvider <em>provider-name</em>|<code>None</code>
<em>option</em> ...</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</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</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_fcgi</td></tr>
</table>
- <p>Cette directive permet de confier à une application FastCGI la
- gestion d'une phase spécifique du processus d'authentification ou
+ <p>Cette directive permet de confier à une application FastCGI la
+ gestion d'une phase spécifique du processus d'authentification ou
d'autorisation.</p>
- <p>Certaines fonctionnalités des fournisseurs d'autorisation FastCGI
- nécessitent cette directive en lieu et place de
- <code class="directive">AuthBasicProvider</code> pour pouvoir être activées :</p>
+ <p>Certaines fonctionnalités des fournisseurs d'autorisation FastCGI
+ nécessitent cette directive en lieu et place de
+ <code class="directive">AuthBasicProvider</code> pour pouvoir être activées :</p>
<ul>
- <li>L'authentification de type autre que basique ; en général,
- détermination de l'identifiant utilisateur et renvoi de sa valeur
+ <li>L'authentification de type autre que basique ; en général,
+ détermination de l'identifiant utilisateur et renvoi de sa valeur
depuis le fournisseur d'autorisation ; voir l'option
<code>UserExpr</code> ci-dessous</li>
- <li>Sélection d'un code de réponse personnalisé ; en cas de
- code de réponse autre que 200 en provenance du fournisseur
- d'autorisation, c'est ce code qui sera utilisé comme code d'état
- de la réponse</li>
- <li>Définition du corps d'une réponse autre que 200 ; si le
- fournisseur d'autorisation renvoie un corps de réponse avec un
- code autre que 200, c'est ce corps de réponse qui sera renvoyé au
- client ; la longueur du texte est limitée à 8192 octets</li>
+ <li>Sélection d'un code de réponse personnalisé ; en cas de
+ code de réponse autre que 200 en provenance du fournisseur
+ d'autorisation, c'est ce code qui sera utilisé comme code d'état
+ de la réponse</li>
+ <li>Définition du corps d'une réponse autre que 200 ; si le
+ fournisseur d'autorisation renvoie un corps de réponse avec un
+ code autre que 200, c'est ce corps de réponse qui sera renvoyé au
+ client ; la longueur du texte est limitée à 8192 octets</li>
</ul>
<dl>
<dt><em>provider-name</em></dt>
- <dd>C'est le nom du fournisseur défini au préalable via la
+ <dd>C'est le nom du fournisseur défini au préalable via la
directive <code class="directive">AuthnzFcgiDefineProvider</code>.</dd>
<dt><code>None</code></dt>
- <dd>Spécifiez <code>None</code> pour désactiver un fournisseur
- activé avec cette même directive dans une autre portée, par
- exemple dans un répertoire parent.</dd>
+ <dd>Spécifiez <code>None</code> pour désactiver un fournisseur
+ activé avec cette même directive dans une autre portée, par
+ exemple dans un répertoire parent.</dd>
<dt><em>option</em></dt>
- <dd>Les options suivantes sont supportées :
+ <dd>Les options suivantes sont supportées :
<dl>
- <dt>Authoritative On|Off (par défaut On)</dt>
- <dd>Cette option permet de définir si l'appel à d'autres
- modules est autorisé lorsqu'un fournisseur d'autorisation FastCGI a
- été configuré et si la requête échoue.</dd>
+ <dt>Authoritative On|Off (par défaut On)</dt>
+ <dd>Cette option permet de définir si l'appel à d'autres
+ modules est autorisé lorsqu'un fournisseur d'autorisation FastCGI a
+ été configuré et si la requête échoue.</dd>
<dt>DefaultUser <em>id utilisateur</em></dt>
<dd>Lorsque le fournisseur d'autorisation donne son accord, et
- si <code>UserExpr</code> est défini et correspond à une chaîne
+ si <code>UserExpr</code> est défini et correspond à une chaîne
vide, (par exemple, si le fournisseur d'autorisation ne renvoie
- aucune variable), c'est cette valeur qui sera utilisée comme id
- utilisateur par défaut. Cela se produit souvent lorsqu'on se trouve dans
- un contexte d'invité, ou d'utilisateur non authentifié ;
- les utilisateurs et invités se voient alors attribué un id
- utilisateur spécifique qui permettra de se connecter et
- d'accéder à certaines ressources.</dd>
-
- <dt>RequireBasicAuth On|Off (par défaut Off)</dt>
- <dd>Cette option permet de définir si l'authentification
- basique est requise avant de transmettre la requête au
+ aucune variable), c'est cette valeur qui sera utilisée comme id
+ utilisateur par défaut. Cela se produit souvent lorsqu'on se trouve dans
+ un contexte d'invité, ou d'utilisateur non authentifié ;
+ les utilisateurs et invités se voient alors attribué un id
+ utilisateur spécifique qui permettra de se connecter et
+ d'accéder à certaines ressources.</dd>
+
+ <dt>RequireBasicAuth On|Off (par défaut Off)</dt>
+ <dd>Cette option permet de définir si l'authentification
+ basique est requise avant de transmettre la requête au
fournisseur d'autorisation. Dans l'affirmative, le fournisseur
- d'autorisation ne sera invoqué qu'en présence d'un id
- utilisateur et d'un mot de passe ; si ces deux éléments ne sont
- pas présents, un code d'erreur 401 sera renvoyé</dd>
+ d'autorisation ne sera invoqué qu'en présence d'un id
+ utilisateur et d'un mot de passe ; si ces deux éléments ne sont
+ pas présents, un code d'erreur 401 sera renvoyé</dd>
- <dt>UserExpr <em>expr</em> (pas de valeur par défaut)</dt>
+ <dt>UserExpr <em>expr</em> (pas de valeur par défaut)</dt>
<dd>Lorsque le client ne fournit pas l'authentification basique
- et si le fournisseur d'autorisation détermine l'id utilisateur,
- cette expression, évaluée après l'appel au fournisseur
- d'autorisation, permet de déterminer l'id utilisateur. Cette
- expression se conforme à la <a href="../expr.html">syntaxe
- ap_expr</a> et doit correspondre à une chaîne de caractères.
- Une utilisation courante consiste à référencer la définition
- d'une <code>Variable-<em>XXX</em></code> renvoyée par le
+ et si le fournisseur d'autorisation détermine l'id utilisateur,
+ cette expression, évaluée après l'appel au fournisseur
+ d'autorisation, permet de déterminer l'id utilisateur. Cette
+ expression se conforme à la <a href="../expr.html">syntaxe
+ ap_expr</a> et doit correspondre à une chaîne de caractères.
+ Une utilisation courante consiste à référencer la définition
+ d'une <code>Variable-<em>XXX</em></code> renvoyée par le
fournisseur d'autorisation via une option du style
<code>UserExpr "%{reqenv:<em>XXX</em>}"</code>. Si cette option
- est spécifiée, et si l'id utilisateur ne peut pas être définie
- via l'expression après une authentification réussie, la requête
- sera rejetée avec un code d'erreur 500.</dd>
+ est spécifiée, et si l'id utilisateur ne peut pas être définie
+ via l'expression après une authentification réussie, la requête
+ sera rejetée avec un code d'erreur 500.</dd>
</dl>
</dd>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authnzfcgidefineprovider" id="authnzfcgidefineprovider">Directive</a> <a name="AuthnzFcgiDefineProvider" id="AuthnzFcgiDefineProvider">AuthnzFcgiDefineProvider</a><a title="Lien permanent" href="#authnzfcgidefineprovider" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une application FastCGI en tant que fournisseur
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une application FastCGI en tant que fournisseur
d'authentification et/ou autorisation</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnzFcgiDefineProvider <em>type</em> <em>provider-name</em>
<em>backend-address</em></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#Default">Défaut:</a></th><td><code>none</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_fcgi</td></tr>
</table>
- <p>Cette directive permet de définir une application FastCGI en tant
- que fournisseur pour une phase particulière d'authentification ou
+ <p>Cette directive permet de définir une application FastCGI en tant
+ que fournisseur pour une phase particulière d'authentification ou
d'autorisation.</p>
<dl>
<dt><em>type</em></dt>
- <dd>Les valeurs de ce paramètre sont <em>authn</em> pour
+ <dd>Les valeurs de ce paramètre sont <em>authn</em> pour
l'authentification, <em>authz</em> pour l'autorisation, ou
- <em>authnz</em> pour un fournisseur d'autorisation générique
- FastCGI qui effectue les deux vérifications.</dd>
+ <em>authnz</em> pour un fournisseur d'autorisation générique
+ FastCGI qui effectue les deux vérifications.</dd>
<dt><em>provider-name</em></dt>
- <dd>Ce paramètre permet d'associer un nom au fournisseur ; ce nom
- pourra être utilisé dans des directives comme <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> et
+ <dd>Ce paramètre permet d'associer un nom au fournisseur ; ce nom
+ pourra être utilisé dans des directives comme <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> et
<code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>.</dd>
<dt><em>backend-address</em></dt>
- <dd>Ce paramètre permet de spécifier l'adresse de l'application
+ <dd>Ce paramètre permet de spécifier l'adresse de l'application
sous la forme <em>fcgi://hostname:port/</em>. Le ou les processus
- de l'application doivent être gérés indépendamment comme avec
+ de l'application doivent être gérés indépendamment comme avec
<code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code>.</dd>
</dl>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authnz_fcgi.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authnz_fcgi.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_authnz_fcgi.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<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"> en </a> |
-<a href="../fr/mod/mod_authnz_ldap.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_authnz_ldap.html" title="Français"> fr </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></table>
+<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></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
+ <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
+ <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>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>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>
+ <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
+ 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>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="#gcaveats">Mises en garde à caractère général</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="#gcaveats">Mises en garde à caractère général</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
+<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="#authldapsubgroupclass">AuthLDAPSubGroupClass</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapurl">AuthLDAPUrl</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authnz_ldap">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authnz_ldap">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authnz_ldap">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authnz_ldap">Signaler un bug</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>
<h2><a name="contents" id="contents">Sommaire</a><a title="Lien permanent" href="#contents" class="permalink">¶</a></h2>
<ul>
- <li> <a href="#gcaveats">Mises en garde à caractère général</a> </li>
- <li> <a href="#operation">Mode opératoire</a>
+ <li> <a href="#gcaveats">Mises en garde à caractère général</a> </li>
+ <li> <a href="#operation">Mode opératoire</a>
<ul>
<li><a href="#authenphase">La phase
<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
+ <li><a href="#exposed">Mise à disposition des informations de
connexion</a></li>
<li><a href="#activedirectory">Utilisation d'Active Directory</a></li>
<li>
<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="#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="gcaveats" id="gcaveats">Mises en garde à caractère général</a><a title="Lien permanent" href="#gcaveats" class="permalink">¶</a></h2>
-<p>Ce module effectue une mise en cache des résultats du processus
+<h2><a name="gcaveats" id="gcaveats">Mises en garde à caractère général</a><a title="Lien permanent" href="#gcaveats" class="permalink">¶</a></h2>
+<p>Ce module effectue une mise en cache des résultats du processus
d'authentification et d'autorisation en fonction de la configuration du
-module <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code>. Les modifications effectuées au niveau
-du serveur LDAP d'arrière-plan comme les
-verrouillages ou révocations d'utilisateurs, les changements de mot de
-passe, ou les changements d'appartenance à un groupe (et cette liste
-n'est pas exhaustive), ne seront pas immédiatement propagées jusqu'au
+module <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code>. Les modifications effectuées au niveau
+du serveur LDAP d'arrière-plan comme les
+verrouillages ou révocations d'utilisateurs, les changements de mot de
+passe, ou les changements d'appartenance à un groupe (et cette liste
+n'est pas exhaustive), ne seront pas immédiatement propagées jusqu'au
serveur HTTP. Consultez les directives du module
-<code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> pour plus de détails à propos de la
+<code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> pour plus de détails à propos de la
configuration de la mise en cache.
</p>
</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><a title="Lien permanent" href="#operation" class="permalink">¶</a></h2>
+<h2><a name="operation" id="operation">Mode opératoire</a><a title="Lien permanent" href="#operation" class="permalink">¶</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
+ <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
+ <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
+ 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.
+ <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
+ 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
<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
+ <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,
+ 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
+ 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
+ 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
+ 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>
+ 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
+ <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>
+ 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
+ <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 à
+ <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>
+ supplémentaires.</td>
</tr>
<tr>
<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
+ <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>
+ 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
+ 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
+ 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
+ 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>
+ 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
+ <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
+ <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>
+ authentifié.</li>
<li>Avec la directive <a href="#reqsearch">
- <code>Require ldap-search</code></a>, l'autorisation d'accès
- est accordée si le filtre de recherche renvoie avec succès
- un seul objet correspondant aux critères avec tout nom distinctif
+ <code>Require ldap-search</code></a>, l'autorisation d'accès
+ est accordée si le filtre de recherche renvoie avec succès
+ un seul objet correspondant aux critères avec tout nom distinctif
(DN).</li>
<li>dans tous les autres cas, refus ou restriction de
- l'accès.</li>
+ 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>
+ <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
+ <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
+ 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>
+ 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>
<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
+ <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
+ <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
+ <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
+ <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
+ <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
+ <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
+ 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
+ <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
+ au cours du traitement des sous-groupes initié par la directive
<code>Require ldap-group</code>.</td>
</tr>
</table>
<div class="section">
<h2><a name="requiredirectives" id="requiredirectives">Les directives requises</a><a title="Lien permanent" href="#requiredirectives" class="permalink">¶</a></h2>
- <p>Les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> d'Apache sont utilisées
+ <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.
+ 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>
+ disponibles, sous réserve du chargement de modules d'autorisation
+ supplémentaires.</p>
<p>A partir de la version 2.4.8, les directives require LDAP
supportent les <a href="../expr.html">expressions</a>.</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.
+ <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
+ 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=Example?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
+ utilisateur. Par exemple, avec la directive <code class="directive"><a href="#authldapurl">AuthLDAPURL</a></code> définie à
+ <code>ldap://ldap/o=Example?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>
<pre class="prettyprint lang-config">Require ldap-user "Barbara Jenson"
Require ldap-user "Fred User"
Require ldap-user "Joe Manager"</pre>
- <p>De par la manière dont <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> traite
+ <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
+ <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
+ 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>
+ <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>
<pre class="prettyprint lang-config">Require ldap-user bjenson fuser jmanager</pre>
<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
+ <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
+ guillemets. Par exemple, supposons que l'entrée suivante existe dans
l'annuaire LDAP :</p>
<div class="example"><pre>dn: cn=Administrators, o=Example
objectClass: groupOfUniqueNames
uniqueMember: cn=Barbara Jenson, o=Example
uniqueMember: cn=Fred User, o=Example</pre></div>
- <p>La directive suivante autoriserait alors l'accès à Fred et
+ <p>La directive suivante autoriserait alors l'accès à Fred et
Barbara :</p>
<pre class="prettyprint lang-config">Require ldap-group cn=Administrators, o=Example</pre>
<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>
+ 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"><pre>dn: cn=Employees, o=Example
objectClass: groupOfUniqueNames
uniqueMember: cn=Managers, o=Example
uniqueMember: cn=Jim Swenson, o=Example
uniqueMember: cn=Elliot Rhodes, o=Example</pre></div>
- <p>Les directives suivantes autoriseraient alors l'accès à Bob
+ <p>Les directives suivantes autoriseraient alors l'accès à Bob
Ellis, Tom Jackson, Barbara Jenson, 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)
+ 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>
<pre class="prettyprint lang-config">Require ldap-group cn=Employees, o=Example
AuthLDAPMaxSubGroupDepth 1</pre>
- <p>Le comportement de cette directive est modifié par les directives
+ <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>,
<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
+ <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 :
+ 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>La directive suivante accorderait l'accès à un DN spécifique
:</p>
<pre class="prettyprint lang-config">Require ldap-dn cn=Barbara Jenson, o=Example</pre>
- <p>Le comportement ce cette directive est modifié par la directive
+ <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 <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
+ <p>La directive suivante accorderait l'autorisation d'accès à tout
utilisateur dont l'attribut employeeType a pour valeur "actif" :</p>
<pre class="prettyprint lang-config">Require ldap-attribute employeeType="active"</pre>
- <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
+ <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
+ 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
+ <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>
<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 <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>
+ <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>
<pre class="prettyprint lang-config">Require ldap-filter
"&(cell=*)(department=marketing)"</pre>
<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>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>
<p>Lorsqu'on utilise une <a href="../expr.html">expression
rationnelle</a> au sein d'un filtre, il faut bien s'assurer que les
- filtres LDAP sont correctement échappés afin de se prémunir contre
+ filtres LDAP sont correctement échappés afin de se prémunir contre
toute injection LDAP. A cet effet, il est possible d'utiliser la
fonction ldap.</p>
<h3><a name="reqsearch" id="reqsearch">Require ldap-search</a></h3>
- <p>La directive <code>Require ldap-search</code> permet à
- l'administrateur d'autoriser l'accès en fonction d'un filtre de
- recherche LDAP générique contenant une <a href="../expr.html">expression rationnelle</a>. Si le filtre de
- recherche renvoie une et une seule correspondance, l'accès est
- accordé sans tenir compte du DN.</p>
+ <p>La directive <code>Require ldap-search</code> permet à
+ l'administrateur d'autoriser l'accès en fonction d'un filtre de
+ recherche LDAP générique contenant une <a href="../expr.html">expression rationnelle</a>. Si le filtre de
+ recherche renvoie une et une seule correspondance, l'accès est
+ accordé sans tenir compte du DN.</p>
- <p>La directive suivante accorderait l'accès aux URLs correspondant
- aux objets spécifiés dans le serveur LDAP :</p>
+ <p>La directive suivante accorderait l'accès aux URLs correspondant
+ aux objets spécifiés dans le serveur LDAP :</p>
<pre class="prettyprint lang-config"><LocationMatch "^/dav/(?<SITENAME>[^/]+)/">
Require ldap-search "(cn=%{ldap:%{unescape:%{env:MATCH_SITENAME}}
<p>Note : il faut bien s'assurer que les
- expressions sont correctement échappés afin de se prémunir contre
+ expressions sont correctement échappés afin de se prémunir contre
toute injection LDAP. A cet effet, il est possible d'utiliser la
fonction <strong>ldap</strong> comme dans l'exemple ci-dessus.</p>
<ul>
<li>
- Accorde l'autorisation d'accès à tout utilisateur présent dans
+ Accorde l'autorisation d'accès à tout utilisateur présent dans
l'annuaire LDAP, en utilisant son UID pour effectuer la
recherche :
<pre class="prettyprint lang-config">AuthLDAPURL "ldap://ldap1.example.com:389/ou=People, o=Example?uid?sub?(objectClass=*)"
</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 :
+ 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 :
<pre class="prettyprint lang-config">AuthLDAPURL "ldap://ldap1.example.com ldap2.example.com/ou=People, o=Example"
Require valid-user</pre>
</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>,
+ 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
+ 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>.
<pre class="prettyprint lang-config">AuthLDAPURL "ldap://ldap.example.com/ou=People, o=Example?cn"
Require valid-user</pre>
</li>
<li>
- Accorde l'autorisation d'accès à tout utilisateur appartenant au
+ Accorde l'autorisation d'accès à tout utilisateur appartenant au
groupe Administrateurs. Les utilisateurs doivent s'authentifier
en utilisant leur UID :
<pre class="prettyprint lang-config">AuthLDAPURL ldap://ldap.example.com/o=Example?uid
</li>
<li>
- Accorde l'accès à tout utilisateur appartenant au groupe dont le
- nom correspond au nom d'hôte du serveur virtuel. Dans cet exemple,
+ Accorde l'accès à tout utilisateur appartenant au groupe dont le
+ nom correspond au nom d'hôte du serveur virtuel. Dans cet exemple,
on utilise une <a href="../expr.html">expression</a> pour
construire le filtre.
<pre class="prettyprint lang-config">AuthLDAPURL ldap://ldap.example.com/o=Example?uid
<li>
Pour l'exemple suivant, on suppose que tout utilisateur de chez
- Example qui dispose d'un bippeur alphanumérique possèdera un
+ Example 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 :
+ (authentifiés via leur UID) se verront accorder l'autorisation
+ d'accès :
<pre class="prettyprint lang-config">AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(qpagePagerID=*)
Require valid-user</pre>
<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
+ 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>
+ 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>
<pre class="prettyprint lang-config">AuthLDAPURL ldap://ldap.example.com/o=Example?uid??(|(qpagePagerID=*)(uid=jmanager))
Require valid-user</pre>
<p>Ce dernier exemple peut sembler confus au premier abord ; en
- fait, il permet de mieux comprendre à quoi doit ressembler le
+ 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>
+ ressembler à :</p>
<div class="example"><p><code>(&(|(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
+ 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>
+ devra ressembler à :</p>
<div class="example"><p><code>(&(|(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
+ résultat positif que <em>jmanager</em> dispose d'un
bippeur ou non</p>
</li>
</ul>
<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
+ <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
+ 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
+ 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">
<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
+ <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
+<h2><a name="exposed" id="exposed">Mise à disposition des informations de
connexion</a><a title="Lien permanent" href="#exposed" class="permalink">¶</a></h2>
<p>Au cours du processus d'<em>authentification</em>, 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
+ 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>Au cours du processus d'<em>autorisation</em>, 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
+ 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
"AUTHORIZE_".</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
+ <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>
+ <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><a title="Lien permanent" href="#activedirectory" class="permalink">¶</a></h2>
- <p>Active Directory peut supporter plusieurs domaines à la fois.
+ <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
+ 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.example.com</em>.</p>
+ compose en général du nom de compte de l'utilisateur, suivi du nom
+ du domaine considéré, par exemple <em>untel@nz.example.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.
+ utilisateurs de n'importe quel domaine de la forêt Active Directory.
Ainsi, <em>untel@nz.example.com</em> et
- <em>untel@au.example.com</em> pourront être authentifiés en une
- seule fois par la même requête.</p>
+ <em>untel@au.example.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
+ 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>
+ 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).
+ <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>
FrontPage avec mod_authnz_ldap</a><a title="Lien permanent" href="#frontpage" class="permalink">¶</a></h2>
<p>Normalement, FrontPage utilise des fichiers utilisateur/groupe
- spécifiques à FrontPage-web (c'est à dire les modules
+ 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
+ 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
+ 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
+ <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>
<pre class="prettyprint lang-config">AuthLDAPURL "the url"
AuthGroupFile "mygroupfile"
Require group "mygroupfile"</pre>
-<h3><a name="howitworks" id="howitworks">Comment ça marche</a></h3>
+<h3><a name="howitworks" id="howitworks">Comment ça marche</a></h3>
- <p>FrontPage restreint l'accès à un site web en ajoutant la
+ <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
+ 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
+ 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>
+ <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
+ <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>
+ 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,
+ 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
+ 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
+ <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
+ 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>
+ <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
+ <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"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#directory"><Directory></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
+ placez dans une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#directory"><Directory></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_authz_groupfile.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,
+ 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
+ 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 class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authldapauthorizeprefix" id="authldapauthorizeprefix">Directive</a> <a name="AuthLDAPAuthorizePrefix" id="AuthLDAPAuthorizePrefix">AuthLDAPAuthorizePrefix</a><a title="Lien permanent" href="#authldapauthorizeprefix" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le préfixe ajouté aux variables d'environnement
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le préfixe ajouté aux variables d'environnement
durant la phase d'autorisation</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPAuthorizePrefix <em>préfixe</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPAuthorizePrefix AUTHORIZE_</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#Syntax">Syntaxe:</a></th><td><code>AuthLDAPAuthorizePrefix <em>préfixe</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPAuthorizePrefix AUTHORIZE_</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">AllowOverride:</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>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.6</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.6</td></tr>
</table>
- <p>Cette directive permet de spécifier le préfixe ajouté aux
+ <p>Cette directive permet de spécifier le préfixe ajouté aux
variables d'environnement durant la phase d'autorisation. Si la
- valeur spécifiée est <em>AUTHENTICATE_</em>, les utilisateurs de ces
- variables d'environnement verront les mêmes informations, que le
+ valeur spécifiée est <em>AUTHENTICATE_</em>, les utilisateurs de ces
+ variables d'environnement verront les mêmes informations, que le
serveur effectue une authentification, une autorisation, ou les
deux.</p>
<div class="note"><h3>Note</h3>
- Aucune variable d'autorisation n'est définie lorsqu'un utilisateur
- s'est vu autoriser l'accès via la directive <code>Require
+ Aucune variable d'autorisation n'est définie lorsqu'un utilisateur
+ s'est vu autoriser l'accès via la directive <code>Require
valid-user</code>.
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authldapbindauthoritative" id="authldapbindauthoritative">Directive</a> <a name="AuthLDAPBindAuthoritative" id="AuthLDAPBindAuthoritative">AuthLDAPBindAuthoritative</a><a title="Lien permanent" href="#authldapbindauthoritative" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si l'on doit utiliser d'autres fournisseurs
-d'authentification lorsque le serveur ne peut pas valider les données
-d'authentification de l'utilisateur, alors que ce dernier possède un
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si l'on doit utiliser d'autres fournisseurs
+d'authentification lorsque le serveur ne peut pas valider les données
+d'authentification de l'utilisateur, alors que ce dernier possède un
DN.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPBindAuthoritative off|on</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPBindAuthoritative 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#Default">Défaut:</a></th><td><code>AuthLDAPBindAuthoritative 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">AllowOverride:</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>Par défaut, des fournisseurs d'authentification sont appelés
- si un utilisateur ne possède pas de DN, mais ne le sont pas si
- l'utilisateur possède un DN et si son mot de passe ne peut pas être
- vérifié lors d'une connexion au serveur LDAP. Si la directive
+ <p>Par défaut, des fournisseurs d'authentification sont appelés
+ si un utilisateur ne possède pas de DN, mais ne le sont pas si
+ l'utilisateur possède un DN et si son mot de passe ne peut pas être
+ vérifié lors d'une connexion au serveur LDAP. Si la directive
<code class="directive">AuthLDAPBindAuthoritative</code> est
- définie à <em>off</em>, d'autres modules d'authentification
- configurés auront une chance de valider le mot de passe de
- l'utilisateur si la tentative de connexion au serveur LDAP échoue
- pour une raison quelconque (avec les données d'authentification
+ définie à <em>off</em>, d'autres modules d'authentification
+ configurés auront une chance de valider le mot de passe de
+ l'utilisateur si la tentative de connexion au serveur LDAP échoue
+ pour une raison quelconque (avec les données d'authentification
fournies).</p>
- <p>Ceci permet aux utilisateurs présent à la fois dans l'annuaire
+ <p>Ceci permet aux utilisateurs présent à la fois dans l'annuaire
LDAP et dans un fichier <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> de s'authentifier
lorsque le serveur LDAP est disponible, alors que le compte de
- l'utilisateur est verrouillé ou que son mot de passe est
+ l'utilisateur est verrouillé ou que son mot de passe est
inutilisable pour une raison quelconque.</p>
<h3>Voir aussi</h3>
<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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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
+ <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">Directive</a> <a name="AuthLDAPBindPassword" id="AuthLDAPBindPassword">AuthLDAPBindPassword</a><a title="Lien permanent" href="#authldapbindpassword" class="permalink">¶</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
+<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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td><em>exec:</em> est disponible depuis la version 2.4.5 du
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td><em>exec:</em> est disponible depuis la version 2.4.5 du
serveur HTTP Apache.</td></tr>
</table>
- <p>Cette directive permet de spécifier un mot de passe à utiliser en
+ <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
+ 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">AuthLDAPBindPassword</code> que si
vous en avez vraiment besoin pour effectuer une recherche dans
l'annuaire.</p>
- <p>Si la valeur commence par exec:, la commande résultante sera
- exécutée, et la première ligne renvoyée sur la sortie standard sera
- utilisée comme mot de passe.</p>
-<pre class="prettyprint lang-config">#Mot de passe utilisé tel quel
+ <p>Si la valeur commence par exec:, la commande résultante sera
+ exécutée, et la première ligne renvoyée sur la sortie standard sera
+ utilisée comme mot de passe.</p>
+<pre class="prettyprint lang-config">#Mot de passe utilisé tel quel
AuthLDAPBindPassword secret
-#Exécute /path/to/program pour obtenir le mot de passe
+#Exécute /path/to/program pour obtenir le mot de passe
AuthLDAPBindPassword exec:/path/to/program
-#Exécute /path/to/otherProgram avec un argument pour obtenir le mot de passe
+#Exécute /path/to/otherProgram avec un argument pour obtenir le mot de passe
AuthLDAPBindPassword "exec:/path/to/otherProgram argument1"</pre>
<div class="directive-section"><h2><a name="authldapcharsetconfig" id="authldapcharsetconfig">Directive</a> <a name="AuthLDAPCharsetConfig" id="AuthLDAPCharsetConfig">AuthLDAPCharsetConfig</a><a title="Lien permanent" href="#authldapcharsetconfig" class="permalink">¶</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>
+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
+ 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
+ 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>
+ 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>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>
+ <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="authldapcompareasuser" id="authldapcompareasuser">Directive</a> <a name="AuthLDAPCompareAsUser" id="AuthLDAPCompareAsUser">AuthLDAPCompareAsUser</a><a title="Lien permanent" href="#authldapcompareasuser" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilisation des données d'authentification de l'utilisateur
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilisation des données d'authentification de l'utilisateur
pour effectuer les comparaisons pour l'attribution des autorisations</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPCompareAsUser on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPCompareAsUser 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#Default">Défaut:</a></th><td><code>AuthLDAPCompareAsUser 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">AllowOverride:</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>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version version 2.3.6</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version version 2.3.6</td></tr>
</table>
- <p>Lorsque cette directive est définie, et si
- <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> a authentifié l'utilisateur, les
+ <p>Lorsque cette directive est définie, et si
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> a authentifié l'utilisateur, les
recherches LDAP pour les autorisations utilisent le nom distinctif
- trouvé (DN) et le mot de passe d'authentification basique HTTP de
- l'utilisateur authentifié au lieu des données d'authentification
- configurées au niveau du serveur.</p>
+ trouvé (DN) et le mot de passe d'authentification basique HTTP de
+ l'utilisateur authentifié au lieu des données d'authentification
+ configurées au niveau du serveur.</p>
- <p>Les vérifications d'autorisation <em>ldap-attribute</em>,
+ <p>Les vérifications d'autorisation <em>ldap-attribute</em>,
<em>ldap-user</em>, et <em>ldap-group</em> (niveau simple seulement)
utilisent des comparaisons.</p>
- <p>Cette directive n'a d'effet sur les comparaisons effectuées au
- cours des traitements de groupe imbriqués, et lorsque la directive
+ <p>Cette directive n'a d'effet sur les comparaisons effectuées au
+ cours des traitements de groupe imbriqués, et lorsque la directive
<code class="directive"><a href="#authldapsearchasuser">AuthLDAPSearchAsUser</a></code>
- est aussi activée.</p>
+ est aussi activée.</p>
- <p>Cette directive ne doit être utilisée que si votre serveur LDAP
+ <p>Cette directive ne doit être utilisée que si votre serveur LDAP
n'autorise pas les recherches anonymes, ou si vous ne pouvez pas
- utiliser de nom d'utilisateur dédié via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>.
+ utiliser de nom d'utilisateur dédié via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>.
</p>
<h3>Voir aussi</h3>
<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#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">AllowOverride:</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,
+ <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. 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
+ 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">Directive</a> <a name="AuthLDAPDereferenceAliases" id="AuthLDAPDereferenceAliases">AuthLDAPDereferenceAliases</a><a title="Lien permanent" href="#authldapdereferencealiases" class="permalink">¶</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
+<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#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">AllowOverride:</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
+ <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">Directive</a> <a name="AuthLDAPGroupAttribute" id="AuthLDAPGroupAttribute">AuthLDAPGroupAttribute</a><a title="Lien permanent" href="#authldapgroupattribute" class="permalink">¶</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#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#Default">Défaut:</a></th><td><code>AuthLDAPGroupAttribute member uniquemember</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#Default">Défaut:</a></th><td><code>AuthLDAPGroupAttribute member uniquemember</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">AllowOverride:</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,
+ <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 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">Directive</a> <a name="AuthLDAPGroupAttributeIsDN" id="AuthLDAPGroupAttributeIsDN">AuthLDAPGroupAttributeIsDN</a><a title="Lien permanent" href="#authldapgroupattributeisdn" class="permalink">¶</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#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#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">AllowOverride:</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
+ <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=Example</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=Example</code> est un membre du
+ 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=Example</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>
+ 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="authldapinitialbindasuser" id="authldapinitialbindasuser">Directive</a> <a name="AuthLDAPInitialBindAsUser" id="AuthLDAPInitialBindAsUser">AuthLDAPInitialBindAsUser</a><a title="Lien permanent" href="#authldapinitialbindasuser" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le serveur effectue la recherche initiale du
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le serveur effectue la recherche initiale du
DN en utilisant le nom propre de l'utilisateur pour l'authentification
de base
-et non de manière anonyme, ou en utilisant des données d'authentification
-codées en dur pour le serveur</td></tr>
+et non de manière anonyme, ou en utilisant des données d'authentification
+codées en dur pour le serveur</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPInitialBindAsUser off|on</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPInitialBindAsUser 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#Default">Défaut:</a></th><td><code>AuthLDAPInitialBindAsUser 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">AllowOverride:</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>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.6</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.6</td></tr>
</table>
- <p>Par défaut, le serveur convertit le nom d'utilisateur pour
+ <p>Par défaut, le serveur convertit le nom d'utilisateur pour
l'authentification de base en nom distinctif LDAP (DN) soit de
- manière anonyme, soit avec un couple nom/mot de passe dédié. Cette
- directive permet de forcer le serveur à utiliser les véritables nom
+ manière anonyme, soit avec un couple nom/mot de passe dédié. Cette
+ directive permet de forcer le serveur à utiliser les véritables nom
d'utilisateur et mot de passe fournis par l'utilisateur pour
effectuer la recherche initiale du DN.</p>
<p>Si le nom d'utilisateur ne peut pas s'authentifier directement
- et nécessite de légères modifications, voir la directive <code class="directive"><a href="#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></code>.</p>
+ et nécessite de légères modifications, voir la directive <code class="directive"><a href="#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></code>.</p>
- <p>Cette directive ne doit être utilisée que si votre serveur LDAP
+ <p>Cette directive ne doit être utilisée que si votre serveur LDAP
n'autorise pas les recherches anonymes, ou si vous ne pouvez pas
- utiliser de nom d'utilisateur dédié via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>.
+ utiliser de nom d'utilisateur dédié via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>.
</p>
<div class="note"><h3>Non disponible dans la cas d'une autorisation seule</h3>
On ne peut utiliser cette directive que si ce module
effectue une authentification, et n'a aucun effet si ce module
- n'est utilisé que pour les processus d'autorisation.
+ n'est utilisé que pour les processus d'autorisation.
</div>
<h3>Voir aussi</h3>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authldapinitialbindpattern" id="authldapinitialbindpattern">Directive</a> <a name="AuthLDAPInitialBindPattern" id="AuthLDAPInitialBindPattern">AuthLDAPInitialBindPattern</a><a title="Lien permanent" href="#authldapinitialbindpattern" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie la modification a apporter au nom d'utilisateur
-pour l'authentification de base lors de l'authentification auprès du
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie la modification a apporter au nom d'utilisateur
+pour l'authentification de base lors de l'authentification auprès du
serveur LDAP pour effectuer une recherche de DN</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPInitialBindPattern <em><var>regex</var> <var>substitution</var></em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPInitialBindPattern (.*) $1 (nom de l'utilisateur
-distant utilisé tel quel)</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#Default">Défaut:</a></th><td><code>AuthLDAPInitialBindPattern (.*) $1 (nom de l'utilisateur
+distant utilisé tel quel)</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">AllowOverride:</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>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.6</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.6</td></tr>
</table>
<p>Si la directive <code class="directive"><a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code> est
- définie à <em>ON</em>, le nom utilisateur pour l'authentification de
- base sera transformé selon l'expression rationnelle
- <var>regex</var> et l'argument <var>substitution</var> spécifiés.</p>
+ définie à <em>ON</em>, le nom utilisateur pour l'authentification de
+ base sera transformé selon l'expression rationnelle
+ <var>regex</var> et l'argument <var>substitution</var> spécifiés.</p>
- <p>L'expression rationnelle est comparée au nom d'utilisateur pour
+ <p>L'expression rationnelle est comparée au nom d'utilisateur pour
l'authentification de base courant. L'argument
- <var>substitution</var> peut contenir des références arrières, mais
+ <var>substitution</var> peut contenir des références arrières, mais
n'effectue aucune autre interpolation de variable.</p>
- <p>Cette directive ne doit être utilisée que si votre serveur LDAP
+ <p>Cette directive ne doit être utilisée que si votre serveur LDAP
n'autorise pas les recherches anonymes, ou si vous ne pouvez pas
- utiliser de nom d'utilisateur dédié via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>.
+ utiliser de nom d'utilisateur dédié via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>.
</p>
<pre class="prettyprint lang-config">AuthLDAPInitialBindPattern (.+) $1@example.com</pre>
<div class="note"><h3>Non disponible dans la cas d'une autorisation seule</h3>
On ne peut utiliser cette directive que si ce module
effectue une authentification, et n'a aucun effet si ce module
- n'est utilisé que pour les processus d'autorisation.
+ n'est utilisé que pour les processus d'autorisation.
</div>
- <div class="note"><h3>Débogage</h3>
- Le DN de substitution est enregistré dans la variable
+ <div class="note"><h3>Débogage</h3>
+ Le DN de substitution est enregistré dans la variable
d'environnement <em>LDAP_BINDASUSER</em>. Si l'expression
- rationnelle ne convient pas, le nom d'utilisateur est utilisé
+ rationnelle ne convient pas, le nom d'utilisateur est utilisé
tel quel.
</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">Directive</a> <a name="AuthLDAPMaxSubGroupDepth" id="AuthLDAPMaxSubGroupDepth">AuthLDAPMaxSubGroupDepth</a><a title="Lien permanent" href="#authldapmaxsubgroupdepth" class="permalink">¶</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
+<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 0</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#Default">Défaut:</a></th><td><code>AuthLDAPMaxSubGroupDepth 0</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">AllowOverride:</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>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.0 du serveur HTTP
-Apache ; la valeur par défaut était 10 dans les versions 2.4.x et les
-premières versions 2.5</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.0 du serveur HTTP
+Apache ; la valeur par défaut était 10 dans les versions 2.4.x et les
+premières versions 2.5</td></tr>
</table>
- <p>Lorsque cette directive est définie à une valeur <code>X</code>
+ <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 à
+ <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>
+ 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 class="note"><h3>Performances dans le cas des groupes imbriqués</h3>
+ <div class="note"><h3>Performances dans le cas des groupes imbriqués</h3>
<p>Lorsque les directives
<code class="directive">AuthLDAPSubGroupAttribute</code> et
<code class="directive">AuthLDAPGroupAttribute</code> se recouvrent (comme
- c'est le cas par défaut et requis par les schémas LDAP courants), la
- recherche de sous-groupes au sein de grands groupes peut être très
- longue. Si vos groupes sont très grands et non imbriqués, définissez
- la directive <code class="directive">AuthLDAPMaxSubGroupDepth</code> à 0.</p>
+ c'est le cas par défaut et requis par les schémas LDAP courants), la
+ recherche de sous-groupes au sein de grands groupes peut être très
+ longue. Si vos groupes sont très grands et non imbriqués, définissez
+ la directive <code class="directive">AuthLDAPMaxSubGroupDepth</code> à 0.</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">Directive</a> <a name="AuthLDAPRemoteUserAttribute" id="AuthLDAPRemoteUserAttribute">AuthLDAPRemoteUserAttribute</a><a title="Lien permanent" href="#authldapremoteuserattribute" class="permalink">¶</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
+<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#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">AllowOverride:</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
+ <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 <code class="directive"><a href="#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></code>. 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
+ présente, cette directive l'emporte sur <code class="directive"><a href="#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></code>. 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>
<p>Cette directive n'a d'effet que si l'on utilise ce module pour
l'authentification.</p>
<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">Directive</a> <a name="AuthLDAPRemoteUserIsDN" id="AuthLDAPRemoteUserIsDN">AuthLDAPRemoteUserIsDN</a><a title="Lien permanent" href="#authldapremoteuserisdn" class="permalink">¶</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
+<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#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">AllowOverride:</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>
+ <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>
<p>Cette directive n'a d'effet que si l'on utilise ce module pour
l'authentification.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authldapsearchasuser" id="authldapsearchasuser">Directive</a> <a name="AuthLDAPSearchAsUser" id="AuthLDAPSearchAsUser">AuthLDAPSearchAsUser</a><a title="Lien permanent" href="#authldapsearchasuser" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise les données d'authentification de l'utilisateur
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise les données d'authentification de l'utilisateur
pour la recherche des autorisations</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPSearchAsUser on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPSearchAsUser 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#Default">Défaut:</a></th><td><code>AuthLDAPSearchAsUser 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">AllowOverride:</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>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.6</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.6</td></tr>
</table>
- <p>Lorsque cette directive est définie, et si
- <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> a authentifié l'utilisateur, les
- recherches LDAP pour définir les autorisations utilisent le nom
- distinctif (DN) trouvé et le mot de passe pour l'authentification de
- base HTTP de l'utilisateur authentifié, au lieu des données
- d'authentification configurées au niveau du serveur.</p>
-
- <p>Les vérifications d'autorisation <em>ldap-filter</em> et
+ <p>Lorsque cette directive est définie, et si
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> a authentifié l'utilisateur, les
+ recherches LDAP pour définir les autorisations utilisent le nom
+ distinctif (DN) trouvé et le mot de passe pour l'authentification de
+ base HTTP de l'utilisateur authentifié, au lieu des données
+ d'authentification configurées au niveau du serveur.</p>
+
+ <p>Les vérifications d'autorisation <em>ldap-filter</em> et
<em>ldap-dn</em> utilisent des recherches.</p>
- <p>Cette directive n'a d'effet sur les comparaisons effectuées au
- cours des traitements de groupe imbriqués, et lorsque la directive
+ <p>Cette directive n'a d'effet sur les comparaisons effectuées au
+ cours des traitements de groupe imbriqués, et lorsque la directive
<code class="directive"><a href="#authldapcompareasuser">AuthLDAPCompareAsUser</a></code>
- est aussi activée.</p>
+ est aussi activée.</p>
- <p>Cette directive ne doit être utilisée que si votre serveur LDAP
+ <p>Cette directive ne doit être utilisée que si votre serveur LDAP
n'autorise pas les recherches anonymes, ou si vous ne pouvez pas
- utiliser de nom d'utilisateur dédié via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>.
+ utiliser de nom d'utilisateur dédié via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>.
</p>
<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">Directive</a> <a name="AuthLDAPSubGroupAttribute" id="AuthLDAPSubGroupAttribute">AuthLDAPSubGroupAttribute</a><a title="Lien permanent" href="#authldapsubgroupattribute" class="permalink">¶</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
+<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#Default">Défaut:</a></th><td><code>AuthLDAPSubgroupAttribute member uniquemember</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#Default">Défaut:</a></th><td><code>AuthLDAPSubgroupAttribute member uniquemember</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">AllowOverride:</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>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.0 du serveur HTTP
Apache</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 class="directive">AuthLDAPSubGroupAttribute</code> spécifie l'attribut utilisé
- pour identifier les groupes, alors que la directive <code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></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
+ utilisateurs et des membres qui sont eux-mêmes des groupes (appelés
+ sous-groupes ou groupes imbriqués). La directive
+ <code class="directive">AuthLDAPSubGroupAttribute</code> spécifie l'attribut utilisé
+ pour identifier les groupes, alors que la directive <code class="directive"><a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></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">Directive</a> <a name="AuthLDAPSubGroupClass" id="AuthLDAPSubGroupClass">AuthLDAPSubGroupClass</a><a title="Lien permanent" href="#authldapsubgroupclass" class="permalink">¶</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
+<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#Default">Défaut:</a></th><td><code>AuthLDAPSubGroupClass groupOfNames groupOfUniqueNames</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#Default">Défaut:</a></th><td><code>AuthLDAPSubGroupClass groupOfNames groupOfUniqueNames</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">AllowOverride:</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>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.0 du serveur HTTP
Apache</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
+ utilisateurs et des membres qui sont eux-mêmes des groupes (appelés
+ sous-groupes ou groupes imbriqués). La directive
<code class="directive"><a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></code>
permet d'identifier les
- membres qui sont des sous-groupes du groupe courant (à l'opposé des
+ membres qui sont des sous-groupes du groupe courant (à l'opposé des
membres utilisateurs). La directive
- <code class="directive">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
+ <code class="directive">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
+ 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
+ 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">Directive</a> <a name="AuthLDAPUrl" id="AuthLDAPUrl">AuthLDAPUrl</a><a title="Lien permanent" href="#authldapurl" class="permalink">¶</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
+<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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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
+ <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
+<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>
<pre class="prettyprint lang-config">AuthLDAPUrl "ldap://ldap1.example.com ldap2.example.com/dc=..."</pre>
-<p><em><strong>Mise en garde : </strong>Si vous spécifiez plusieurs
+<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
+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>
+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>
+ <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>
+<dt>hôte:port</dt>
<dd>
<p>Il s'agit du nom/port du serveur ldap
- (dont la valeur par défaut est
+ (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.
+ 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
+ à 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
+ <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
+ 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>
+ 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>
+ <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.
+ <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,
+ 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>
+ 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>
+<dt>portée</dt>
- <dd>Il s'agit de la portée de la recherche. Elle peut prendre
+ <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>
+ 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 à
+ 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
+ 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
+ d'Apache), ce qui s'avère plus que suffisant pour la plupart des
applications. A partir de la version 2.4.10 du serveur HTTP Apache, le
- mot-clé <code>none</code> permet de désactiver
- l'utilisation des filtres, ce qui peut s'avérer nécessaire avec
+ mot-clé <code>none</code> permet de désactiver
+ l'utilisation des filtres, ce qui peut s'avérer nécessaire avec
certains serveurs LDAP primitifs.</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
+ fournis par le client HTTP sont combinés pour créer un filtre de
recherche du style :
<code>(&(<em>filtre</em>)(<em>attribut</em>
=<em>nom-utilisateur</em>))</code>.</p>
- <p>Par exemple, considérons l'URL
+ <p>Par exemple, considérons l'URL
<code>ldap://ldap.example.com/o=Example?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>(&(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
+ <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
+ <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>
+ <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>
+ <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
+ <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"> en </a> |
-<a href="../fr/mod/mod_authnz_ldap.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_authnz_ldap.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_authz_core</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_core.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authz_core.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_authz_core.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Socle d'autorisation</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>authz_core_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_core.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authz_core_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_core.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3
d'Apache HTTPD</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module fournit un socle de fonctionnalités d'autorisation
- permettant d'accorder ou refuser l'accès à certaines zones du site
- web aux utilisateurs authentifiés. <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code>
- donne la possibilité d'enregistrer divers fournisseurs
- d'autorisation. Il est en général utilisé avec un module fournisseur
+ <p>Ce module fournit un socle de fonctionnalités d'autorisation
+ permettant d'accorder ou refuser l'accès à certaines zones du site
+ web aux utilisateurs authentifiés. <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code>
+ donne la possibilité d'enregistrer divers fournisseurs
+ d'autorisation. Il est en général utilisé avec un module fournisseur
d'authentification comme <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, et un
module d'autorisation comme <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>. Il
- permet aussi l'application d'une logique élaborée au déroulement du
+ permet aussi l'application d'une logique élaborée au déroulement du
processus d'autorisation.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#logic">Conteneurs d'autorisation</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">Les directives Require</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#authzalias">Création des alias du fournisseur
+<li><img alt="" src="../images/down.gif" /> <a href="#authzalias">Création des alias du fournisseur
d'autorisation</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#requireany"><RequireAny></a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#requirenone"><RequireNone></a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_core">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_core">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_core">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_core">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<p>Les directives de conteneur d'autorisation <code class="directive"><a href="#requireall"><RequireAll></a></code>,
<code class="directive"><a href="#requireany"><RequireAny></a></code> et <code class="directive"><a href="#requirenone"><RequireNone></a></code>
- peuvent être combinées entre elles et avec la directive <code class="directive"><a href="#require">Require</a></code> pour construire une
+ peuvent être combinées entre elles et avec la directive <code class="directive"><a href="#require">Require</a></code> pour construire une
logique d'autorisation complexe.</p>
<p>L'exemple ci-dessous illustre la logique d'autorisation suivante.
- Pour pouvoir accéder à la ressource, l'utilisateur doit être
+ Pour pouvoir accéder à la ressource, l'utilisateur doit être
l'utilisateur <code>superadmin</code>, ou appartenir aux deux
groupes LDAP <code>admins</code> et <code>Administrateurs</code> et
soit appartenir au groupe <code>ventes</code>, soit avoir
<code>ventes</code> comme valeur de l'attribut LDAP
- <code>dept</code>. De plus, pour pouvoir accéder à la ressource,
+ <code>dept</code>. De plus, pour pouvoir accéder à la ressource,
l'utilisateur ne doit appartenir ni au groupe <code>temps</code>, ni
- au groupe LDAP <code>Employés temporaires</code>.</p>
+ au groupe LDAP <code>Employés temporaires</code>.</p>
<pre class="prettyprint lang-config"><Directory "/www/mydocs">
<RequireAll>
</RequireAny>
<RequireNone>
Require group temps
- Require ldap-group "cn=Employés temporaires,o=Airius"
+ Require ldap-group "cn=Employés temporaires,o=Airius"
</RequireNone>
</RequireAll>
</Directory></pre>
<div class="section">
<h2><a name="requiredirectives" id="requiredirectives">Les directives Require</a><a title="Lien permanent" href="#requiredirectives" class="permalink">¶</a></h2>
- <p>Le module <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> met à disposition des
- fournisseurs d'autorisation génériques utilisables avec la directive
+ <p>Le module <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> met à disposition des
+ fournisseurs d'autorisation génériques utilisables avec la directive
<code class="directive"><a href="#require">Require</a></code>.</p>
<h3><a name="reqenv" id="reqenv">Require env</a></h3>
- <p>Le fournisseur <code>env</code> permet de contrôler l'accès au
+ <p>Le fournisseur <code>env</code> permet de contrôler l'accès au
serveur en fonction de l'existence d'une <a href="../env.html">variable d'environnement</a>. Lorsque <code>Require
- env <var>env-variable</var></code> est spécifié, la requête se voit
- autoriser l'accès si la variable d'environnement
- <var>env-variable</var> existe. Le serveur permet de définir
+ env <var>env-variable</var></code> est spécifié, la requête se voit
+ autoriser l'accès si la variable d'environnement
+ <var>env-variable</var> existe. Le serveur permet de définir
facilement des variables d'environnement en fonction des
- caractéristiques de la requête du client via les directives fournies
+ caractéristiques de la requête du client via les directives fournies
par le module <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>. Cette directive Require
- env permet donc de contrôler l'accès en fonction des
- valeurs des en-têtes de la requête HTTP tels que
+ env permet donc de contrôler l'accès en fonction des
+ valeurs des en-têtes de la requête HTTP tels que
<code>User-Agent</code> (type de navigateur), <code>Referer</code>,
entre autres.</p>
</Directory></pre>
- <p>Avec cet exemple, les navigateurs dont la chaîne user-agent
+ <p>Avec cet exemple, les navigateurs dont la chaîne user-agent
commence par <code>KnockKnock/2.0</code> se verront autoriser
- l'accès, alors que tous les autres seront rejetés.</p>
+ l'accès, alors que tous les autres seront rejetés.</p>
- <p>Lorsque le serveur cherche un chemin via une <a class="glossarylink" href="../glossary.html#subrequest" title="voir glossaire">sous-requête</a> interne (par exemple la
- recherche d'un <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>), ou lorsqu'il génère un
- listing du contenu d'un répertoire via le module
- <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>, la sous-requête n'hérite pas des
- variables d'environnement spécifiques à la requête. En outre, à cause
+ <p>Lorsque le serveur cherche un chemin via une <a class="glossarylink" href="../glossary.html#subrequest" title="voir glossaire">sous-requête</a> interne (par exemple la
+ recherche d'un <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>), ou lorsqu'il génère un
+ listing du contenu d'un répertoire via le module
+ <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>, la sous-requête n'hérite pas des
+ variables d'environnement spécifiques à la requête. En outre, à cause
des phases de l'API auxquelles <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> prend
- part, les directives <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> ne sont pas évaluées
- séparément dans la sous-requête.</p>
+ part, les directives <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> ne sont pas évaluées
+ séparément dans la sous-requête.</p>
<h3><a name="reqall" id="reqall">Require all</a></h3>
- <p>Le fournisseur <code>all</code> reproduit la fonctionnalité
- précédemment fournie par les directives 'Allow from all' et 'Deny
+ <p>Le fournisseur <code>all</code> reproduit la fonctionnalité
+ précédemment fournie par les directives 'Allow from all' et 'Deny
from all'. Il accepte un argument dont les deux valeurs possibles
sont : 'granted' ou 'denied'. Les exemples suivants autorisent ou
- interdisent l'accès à toutes les requêtes.</p>
+ interdisent l'accès à toutes les requêtes.</p>
<pre class="prettyprint lang-config">Require all granted</pre>
<h3><a name="reqmethod" id="reqmethod">Require method</a></h3>
- <p>Le fournisseur <code>method</code> permet d'utiliser la méthode
- HTTP dans le processus d'autorisation. Les méthodes GET et HEAD sont
- ici considérées comme équivalentes. La méthode TRACE n'est pas
- supportée par ce fournisseur ; utilisez à la place la directive
+ <p>Le fournisseur <code>method</code> permet d'utiliser la méthode
+ HTTP dans le processus d'autorisation. Les méthodes GET et HEAD sont
+ ici considérées comme équivalentes. La méthode TRACE n'est pas
+ supportée par ce fournisseur ; utilisez à la place la directive
<code class="directive"><a href="../mod/core.html#traceenable">TraceEnable</a></code>.</p>
- <p>Dans l'exemple suivant, seules les méthodes GET, HEAD, POST, et
- OPTIONS sont autorisées :</p>
+ <p>Dans l'exemple suivant, seules les méthodes GET, HEAD, POST, et
+ OPTIONS sont autorisées :</p>
<pre class="prettyprint lang-config">Require method GET POST OPTIONS</pre>
- <p>Dans l'exemple suivant, les méthodes GET, HEAD, POST, et OPTIONS
- sont autorisées sans authentification, alors que toutes les autres
- méthodes nécessitent un utilisateur valide :</p>
+ <p>Dans l'exemple suivant, les méthodes GET, HEAD, POST, et OPTIONS
+ sont autorisées sans authentification, alors que toutes les autres
+ méthodes nécessitent un utilisateur valide :</p>
<pre class="prettyprint lang-config"><RequireAny>
- Require method GET POST OPTIONS
- Require valid-user
+  Require method GET POST OPTIONS
+  Require valid-user
</RequireAny></pre>
<h3><a name="reqexpr" id="reqexpr">Require expr</a></h3>
<p>Le fournisseur <code>expr</code> permet d'accorder l'autorisation
- d'accès en fonction d'expressions arbitraires.</p>
+ d'accès en fonction d'expressions arbitraires.</p>
<pre class="prettyprint lang-config">Require expr "%{TIME_HOUR} -ge 9 && %{TIME_HOUR} -le 17"</pre>
<pre class="prettyprint lang-config">Require expr "!(%{QUERY_STRING} =~ /secret/) && %{REQUEST_URI} in { '/example.cgi', '/other.cgi' }"</pre>
- <p>La syntaxe de l'expression est décrite dans la documentation de <a href="../expr.html">ap_expr</a>. Avant la version 2.4.16, les doubles-quotes
- étaient prohibées.</p>
+ <p>La syntaxe de l'expression est décrite dans la documentation de <a href="../expr.html">ap_expr</a>. Avant la version 2.4.16, les doubles-quotes
+ étaient prohibées.</p>
- <p>Normalement, l'expression est évaluée avant l'authentification.
- Cependant, si l'expression renvoie false et se réfère à la variable
+ <p>Normalement, l'expression est évaluée avant l'authentification.
+ Cependant, si l'expression renvoie false et se réfère à la variable
<code>%{REMOTE_USER}</code>, le processus d'authentification sera
- engagé et l'expression réévaluée.</p>
+ engagé et l'expression réévaluée.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="authzalias" id="authzalias">Création des alias du fournisseur
+<h2><a name="authzalias" id="authzalias">Création des alias du fournisseur
d'autorisation</a><a title="Lien permanent" href="#authzalias" class="permalink">¶</a></h2>
- <p>Il est possible de créer des fournisseurs d'autorisation étendus
+ <p>Il est possible de créer des fournisseurs d'autorisation étendus
dans le fichier de configuration et de leur assigner un nom d'alias.
- On peut ensuite utiliser ces fournisseurs aliasés dans une
+ On peut ensuite utiliser ces fournisseurs aliasés dans une
directive <code class="directive"><a href="#require">Require</a></code> de
- la même manière qu'on le ferait pour des fournisseurs d'autorisation
- de base. En plus de la possibilité de créer et d'aliaser un
- fournisseur étendu, le même fournisseur d'autorisation étendu peut
- être référencé par diverses localisations.
+ la même manière qu'on le ferait pour des fournisseurs d'autorisation
+ de base. En plus de la possibilité de créer et d'aliaser un
+ fournisseur étendu, le même fournisseur d'autorisation étendu peut
+ être référencé par diverses localisations.
</p>
<h3><a name="example" id="example">Exemple</a></h3>
- <p>Dans l'exemple suivant, on crée deux alias de fournisseur
- d'autorisation ldap différents basés sur le fournisseur
+ <p>Dans l'exemple suivant, on crée deux alias de fournisseur
+ d'autorisation ldap différents basés sur le fournisseur
d'autorisation ldap-group. Il est ainsi possible pour un seul
- répertoire de vérifier l'appartenance à un groupe dans plusieurs
+ répertoire de vérifier l'appartenance à un groupe dans plusieurs
serveurs ldap :
</p>
AuthType Basic
AuthName LDAP_Protected_Place
- #Opération logique implicite : OU inclusif
+ #Opération logique implicite : OU inclusif
Require ldap-group-alias1
Require ldap-group-alias2
</Directory></pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authmerging" id="authmerging">Directive</a> <a name="AuthMerging" id="AuthMerging">AuthMerging</a><a title="Lien permanent" href="#authmerging" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont chaque logique d'autorisation des
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont chaque logique d'autorisation des
sections de configuration se combine avec celles des sections de
-configuration précédentes.</td></tr>
+configuration précédentes.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthMerging Off | And | Or</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthMerging 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#Default">Défaut:</a></th><td><code>AuthMerging 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">AllowOverride:</a></th><td>AuthConfig</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_authz_core</td></tr>
</table>
- <p>Lorsque l'autorisation est activée, elle est normalement héritée
+ <p>Lorsque l'autorisation est activée, elle est normalement héritée
par chaque <a href="../sections.html#merging">section de
- configuration</a> suivante, à moins qu'un jeu de directives
- d'autorisations différent ne soit spécifié. Il s'agit du
- comportement par défaut, qui correspond à la définition explicite
+ configuration</a> suivante, à moins qu'un jeu de directives
+ d'autorisations différent ne soit spécifié. Il s'agit du
+ comportement par défaut, qui correspond à la définition explicite
<code>AuthMerging Off</code>.</p>
- <p>Dans certaines situations cependant, il peut être souhaitable de
+ <p>Dans certaines situations cependant, il peut être souhaitable de
combiner la logique d'autorisation d'une section de configuration
- avec celle de la section précédente lorsque les sections de
+ avec celle de la section précédente lorsque les sections de
configuration se combinent entre elles. Dans ce cas, deux options
sont disponibles, <code>And</code> et <code>Or</code>.</p>
<p>Lorsqu'une section de configuration contient <code>AuthMerging
And</code> ou <code>AuthMerging Or</code>, sa logique d'autorisation
- se combine avec celle de la section de configuration qui la précède
- (selon l'ordre général des sections de configuration), et qui
+ se combine avec celle de la section de configuration qui la précède
+ (selon l'ordre général des sections de configuration), et qui
contient aussi une logique d'autorisation, comme si les deux
- sections étaient concaténées, respectivement, dans une directive
+ sections étaient concaténées, respectivement, dans une directive
<code class="directive"><a href="#requireall"><RequireAll></a></code> ou <code class="directive"><a href="#requireany"><RequireAny></a></code>.</p>
- <div class="note">La définition de la directive
+ <div class="note">La définition de la directive
<code class="directive">AuthMerging</code> ne concerne que la section de
- configuration dans laquelle elle apparaît. Dans l'exemple suivant,
+ configuration dans laquelle elle apparaît. Dans l'exemple suivant,
seuls les utilisateurs appartenant au groupe <code>alpha</code> sont
- autorisés à accéder à <code>/www/docs</code>. Les utilisateurs
+ autorisés à accéder à <code>/www/docs</code>. Les utilisateurs
appartenant au groupe <code>alpha</code> ou au groupe
- <code>beta</code> sont autorisés à accéder à
- <code>/www/docs/ab</code>. Cependant, la définition implicite à
+ <code>beta</code> sont autorisés à accéder à
+ <code>/www/docs/ab</code>. Cependant, la définition implicite à
<code>Off</code> de la directive <code class="directive">AuthMerging</code>
- s'applique à la section de configuration <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> concernant le répertoire
+ s'applique à la section de configuration <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> concernant le répertoire
<code>/www/docs/ab/gamma</code>, ce qui implique que les directives
d'autorisation de cette section l'emportent sur celles des sections
- précédentes. Par voie de conséquence, seuls les utilisateurs
- appartenant au groupe <code>gamma</code> sont autorisés à accéder à
+ précédentes. Par voie de conséquence, seuls les utilisateurs
+ appartenant au groupe <code>gamma</code> sont autorisés à accéder à
<code>/www/docs/ab/gamma</code>.</div>
<pre class="prettyprint lang-config"><Directory "/www/docs">
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authzprovideralias" id="authzprovideralias">Directive</a> <a name="AuthzProviderAlias" id="AuthzProviderAlias"><AuthzProviderAlias></a><a title="Lien permanent" href="#authzprovideralias" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives représentant une extension d'un
-fournisseur d'autorisation de base qui pourra être référencée à l'aide
-de l'alias spécifié</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives représentant une extension d'un
+fournisseur d'autorisation de base qui pourra être référencée à l'aide
+de l'alias spécifié</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><AuthzProviderAlias <var>baseProvider Alias Require-Parameters</var>>
... </AuthzProviderAlias>
</code></td></tr>
</table>
<p>Les balises <code class="directive"><AuthzProviderAlias></code> et
<code></AuthzProviderAlias></code> permettent de regrouper des
- directives d'autorisation auxquelles on pourra faire référence à
- l'aide de l'alias spécifié dans une directive <code class="directive"><a href="#require">Require</a></code>.</p>
+ directives d'autorisation auxquelles on pourra faire référence à
+ l'aide de l'alias spécifié dans une directive <code class="directive"><a href="#require">Require</a></code>.</p>
- <p>Si <var>Require-Parameters</var> comporte plusieurs paramètres, la liste
- de ces derniers doit être entourée de guillemets. Dans le cas contraire,
- seul le premier paramètre de la liste sera pris en compte.</p>
+ <p>Si <var>Require-Parameters</var> comporte plusieurs paramètres, la liste
+ de ces derniers doit être entourée de guillemets. Dans le cas contraire,
+ seul le premier paramètre de la liste sera pris en compte.</p>
<pre class="prettyprint lang-config"># Dans cet exemple, pour que les deux adresses IP soient prises en compte, elles
-# DOIVENT être entourées de guillemets
+# DOIVENT être entourées de guillemets
<AuthzProviderAlias ip blacklisted-ips "XXX.XXX.XXX.XXX YYY.YYY.YYY.YYY">
</AuthzProviderAlias>
<div class="directive-section"><h2><a name="authzsendforbiddenonfailure" id="authzsendforbiddenonfailure">Directive</a> <a name="AuthzSendForbiddenOnFailure" id="AuthzSendForbiddenOnFailure">AuthzSendForbiddenOnFailure</a><a title="Lien permanent" href="#authzsendforbiddenonfailure" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie '403 FORBIDDEN' au lieu de '401 UNAUTHORIZED' si
-l'authentification réussit et si l'autorisation a été refusée.
+l'authentification réussit et si l'autorisation a été refusée.
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthzSendForbiddenOnFailure On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthzSendForbiddenOnFailure 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#Default">Défaut:</a></th><td><code>AuthzSendForbiddenOnFailure 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">AllowOverride:</a></th><td>AuthConfig</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_authz_core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.11 d'Apache HTTPD</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.11 d'Apache HTTPD</td></tr>
</table>
- <p>Par défaut, si l'authentification réussit, alors que
- l'autorisation est refusée, Apache HTTPD renvoie un code de réponse
- HTTP '401 UNAUTHORIZED'. En général, les navigateurs proposent alors
- une nouvelle fois à l'utilisateur la boîte de dialogue de saisie du
+ <p>Par défaut, si l'authentification réussit, alors que
+ l'autorisation est refusée, Apache HTTPD renvoie un code de réponse
+ HTTP '401 UNAUTHORIZED'. En général, les navigateurs proposent alors
+ une nouvelle fois à l'utilisateur la boîte de dialogue de saisie du
mot de passe, ce qui n'est pas toujours souhaitable. La directive
<code class="directive">AuthzSendForbiddenOnFailure</code> permet de changer
- le code de réponse en '403 FORBIDDEN'.</p>
+ le code de réponse en '403 FORBIDDEN'.</p>
- <div class="warning"><h3>Avertissement de sécurité</h3>
- <p>La modification de la réponse en cas de refus d'autorisation
- diminue la sécurité du mot de passe, car elle indique à un éventuel
- attaquant que le mot de passe qu'il a saisi était correct.</p>
+ <div class="warning"><h3>Avertissement de sécurité</h3>
+ <p>La modification de la réponse en cas de refus d'autorisation
+ diminue la sécurité du mot de passe, car elle indique à un éventuel
+ attaquant que le mot de passe qu'il a saisi était correct.</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="require" id="require">Directive</a> <a name="Require" id="Require">Require</a><a title="Lien permanent" href="#require" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie si un utilisateur authentifié a une
-autorisation d'accès accordée par un fournisseur
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie si un utilisateur authentifié a une
+autorisation d'accès accordée par un fournisseur
d'autorisation.</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Require [not] <var>nom-entité</var> [<var>nom-entité</var>]
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Require [not] <var>nom-entité</var> [<var>nom-entité</var>]
...</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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_authz_core</td></tr>
</table>
- <p>Cette directive permet de vérifier si un utilisateur authentifié
- a l'autorisation d'accès accordée pour un certain fournisseur
+ <p>Cette directive permet de vérifier si un utilisateur authentifié
+ a l'autorisation d'accès accordée pour un certain fournisseur
d'autorisation et en tenant compte de certaines restrictions.
- <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> met à disposition les fournisseurs
- d'autorisation génériques suivants :</p>
+ <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> met à disposition les fournisseurs
+ d'autorisation génériques suivants :</p>
<dl>
<dt><code>Require all granted</code></dt>
- <dd>L'accès est autorisé sans restriction.</dd>
+ <dd>L'accès est autorisé sans restriction.</dd>
<dt><code>Require all denied</code></dt>
- <dd>L'accès est systématiquement refusé.</dd>
+ <dd>L'accès est systématiquement refusé.</dd>
<dt><code>Require env <var>env-var</var> [<var>env-var</var>]
...</code></dt>
- <dd>L'accès n'est autorisé que si l'une au moins des variables
- d'environnement spécifiées est définie.</dd>
+ <dd>L'accès n'est autorisé que si l'une au moins des variables
+ d'environnement spécifiées est définie.</dd>
<dt><code>Require method <var>http-method</var> [<var>http-method</var>]
...</code></dt>
- <dd>L'accès n'est autorisé que pour les méthodes HTTP spécifiées.</dd>
+ <dd>L'accès n'est autorisé que pour les méthodes HTTP spécifiées.</dd>
<dt><code>Require expr <var>expression</var> </code></dt>
- <dd>L'accès est autorisé si <var>expression</var> est évalué à
+ <dd>L'accès est autorisé si <var>expression</var> est évalué à
vrai.</dd>
</dl>
- <p>Voici quelques exemples de syntaxes autorisées par
+ <p>Voici quelques exemples de syntaxes autorisées par
<code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>, <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> et
<code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> :</p>
<dt><code>Require user <var>identifiant utilisateur</var>
[<var>identifiant utilisateur</var>]
...</code></dt>
- <dd>Seuls les utilisateurs spécifiés auront accès à la
+ <dd>Seuls les utilisateurs spécifiés auront accès à la
ressource.</dd>
<dt><code>Require group <var>nom groupe</var> [<var>nom
groupe</var>]
...</code></dt>
- <dd>Seuls les utilisateurs appartenant aux groupes spécifiés
- auront accès à la ressource.</dd>
+ <dd>Seuls les utilisateurs appartenant aux groupes spécifiés
+ auront accès à la ressource.</dd>
<dt><code>Require valid-user</code></dt>
- <dd>Tous les utilisateurs valides auront accès à la
+ <dd>Tous les utilisateurs valides auront accès à la
ressource.</dd>
<dt><code>Require ip 10 172.20 192.168.2</code></dt>
<dd>Les clients dont les adresses IP font partie des tranches
- spécifiées auront accès à la ressource.</dd>
+ spécifiées auront accès à la ressource.</dd>
</dl>
<p>D'autres modules d'autorisation comme
<code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>, <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code>,
<code class="module"><a href="../mod/mod_authz_dbd.html">mod_authz_dbd</a></code>,
<code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> et <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>
- implémentent des options de la directive Require.</p>
+ implémentent des options de la directive Require.</p>
<p>Pour qu'une configuration d'authentification et d'autorisation
fonctionne correctement, la directive <code class="directive">Require</code>
- doit être accompagnée dans la plupart des cas de directives <code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code>, <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> et <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>, ainsi que
+ doit être accompagnée dans la plupart des cas de directives <code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code>, <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> et <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>, ainsi que
de directives telles que <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> et <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> (pour la
- définition des utilisateurs et des groupes). Exemple :</p>
+ définition des utilisateurs et des groupes). Exemple :</p>
<pre class="prettyprint lang-config">AuthType Basic
AuthName "Restricted Resource"
Require group admin</pre>
- <p>Les contrôles d'accès appliqués de cette manière sont effectifs
- pour <strong>toutes</strong> les méthodes. <strong>C'est d'ailleurs
- ce que l'on souhaite en général.</strong> Si vous voulez n'appliquer
- les contrôles d'accès qu'à certaines méthodes, tout en laissant les
- autres méthodes sans protection, placez la directive
+ <p>Les contrôles d'accès appliqués de cette manière sont effectifs
+ pour <strong>toutes</strong> les méthodes. <strong>C'est d'ailleurs
+ ce que l'on souhaite en général.</strong> Si vous voulez n'appliquer
+ les contrôles d'accès qu'à certaines méthodes, tout en laissant les
+ autres méthodes sans protection, placez la directive
<code class="directive">Require</code> dans une section <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code>.</p>
- <p>Le résultat de la directive <code class="directive">Require</code> peut
- être inversé en utilisant l'option <code>not</code>. Comme dans le
- cas de l'autre directive d'autorisation inversée <code class="directive"><RequireNone></code>, si la directive
- <code class="directive">Require</code> est inversée, elle ne peut qu'échouer
- ou produire un résultat neutre ; elle ne peut donc alors pas
- en soi autoriser une requête.</p>
+ <p>Le résultat de la directive <code class="directive">Require</code> peut
+ être inversé en utilisant l'option <code>not</code>. Comme dans le
+ cas de l'autre directive d'autorisation inversée <code class="directive"><RequireNone></code>, si la directive
+ <code class="directive">Require</code> est inversée, elle ne peut qu'échouer
+ ou produire un résultat neutre ; elle ne peut donc alors pas
+ en soi autoriser une requête.</p>
<p>Dans l'exemple suivant, tous les utilisateurs appartenant aux
groupes <code>alpha</code> et <code>beta</code> ont l'autorisation
- d'accès, à l'exception de ceux appartenant au groupe
+ d'accès, à l'exception de ceux appartenant au groupe
<code>reject</code>.</p>
<pre class="prettyprint lang-config"><Directory "/www/docs">
<p>Lorsque plusieurs directives <code class="directive">Require</code> sont
- placées dans une même <a href="../sections.html#merging">section de
+ placées dans une même <a href="../sections.html#merging">section de
configuration</a>, et ne se trouvent pas dans une autre directive
d'autorisation comme <code class="directive"><a href="#requireall"><RequireAll></a></code>, elles sont implicitement
- contenues dans une directive <code class="directive"><a href="#requireany"><RequireAny></a></code>. Ainsi, la première directive
- <code class="directive">Require</code> qui autorise l'accès à un utilisateur
- autorise l'accès pour l'ensemble de la requête, et les directives
- <code class="directive">Require</code> suivantes sont ignorées.</p>
-
- <div class="warning"><h3>Avertissement à propos de la sécurité</h3>
- <p>Prettez une attention particulière aux directives d'autorisation
- définies
+ contenues dans une directive <code class="directive"><a href="#requireany"><RequireAny></a></code>. Ainsi, la première directive
+ <code class="directive">Require</code> qui autorise l'accès à un utilisateur
+ autorise l'accès pour l'ensemble de la requête, et les directives
+ <code class="directive">Require</code> suivantes sont ignorées.</p>
+
+ <div class="warning"><h3>Avertissement à propos de la sécurité</h3>
+ <p>Prettez une attention particulière aux directives d'autorisation
+ définies
au sein des sections <code class="directive"><a href="../mod/core.html#location">Location</a></code>
- qui se chevauchent avec des contenus servis depuis le système de
- fichiers. Par défaut, les configurations définies dans ces <a href="../sections.html#merging">sections</a> l'emportent sur les
- configurations d'autorisations définies au sein des sections
+ qui se chevauchent avec des contenus servis depuis le système de
+ fichiers. Par défaut, les configurations définies dans ces <a href="../sections.html#merging">sections</a> l'emportent sur les
+ configurations d'autorisations définies au sein des sections
<code class="directive"><a href="../mod/core.html#directory">Directory</a></code> et <code class="directive"><a href="../mod/core.html#files">Files</a></code> sections.</p>
- <p>La directive <code class="directive"><a href="#authmerging">AuthMerging</a></code> permet de contrôler
- la manière selon laquelle les configurations d'autorisations sont
- fusionnées au sein des sections précitées.</p>
+ <p>La directive <code class="directive"><a href="#authmerging">AuthMerging</a></code> permet de contrôler
+ la manière selon laquelle les configurations d'autorisations sont
+ fusionnées au sein des sections précitées.</p>
</div>
<h3>Voir aussi</h3>
<ul>
-<li><a href="../howto/access.html">Tutoriel du contrôle d'accès</a></li>
+<li><a href="../howto/access.html">Tutoriel du contrôle d'accès</a></li>
<li><a href="#logic">Conteneurs d'autorisation</a></li>
<li><code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code></li>
<li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
<div class="directive-section"><h2><a name="requireall" id="requireall">Directive</a> <a name="RequireAll" id="RequireAll"><RequireAll></a><a title="Lien permanent" href="#requireall" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe plusieurs directives d'autorisation dont aucune ne
-doit échouer et dont au moins une doit retourner un résultat positif
-pour que la directive globale retourne elle-même un résultat
+doit échouer et dont au moins une doit retourner un résultat positif
+pour que la directive globale retourne elle-même un résultat
positif.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><RequireAll> ... </RequireAll></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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_authz_core</td></tr>
</table>
<p>Les balises <code class="directive"><RequireAll></code> et
<code></RequireAll></code> permettent de regrouper des
- directives d'autorisation dont aucune ne doit échouer, et dont au
- moins une doit retourner un résultat positif pour que la directive
- <code class="directive"><RequireAll></code> retourne elle-même
- un résultat positif.</p>
+ directives d'autorisation dont aucune ne doit échouer, et dont au
+ moins une doit retourner un résultat positif pour que la directive
+ <code class="directive"><RequireAll></code> retourne elle-même
+ un résultat positif.</p>
- <p>Si aucune des directives contenues dans la directive <code class="directive"><RequireAll></code> n'échoue, et si au moins une
- retourne un résultat positif, alors la directive <code class="directive"><RequireAll></code> retourne elle-même un résultat
- positif. Si aucune ne retourne un résultat positif, et si aucune
- n'échoue, la directive globale retourne un résultat neutre. Dans
- tous les autres cas, elle échoue.</p>
+ <p>Si aucune des directives contenues dans la directive <code class="directive"><RequireAll></code> n'échoue, et si au moins une
+ retourne un résultat positif, alors la directive <code class="directive"><RequireAll></code> retourne elle-même un résultat
+ positif. Si aucune ne retourne un résultat positif, et si aucune
+ n'échoue, la directive globale retourne un résultat neutre. Dans
+ tous les autres cas, elle échoue.</p>
<h3>Voir aussi</h3>
<ul>
<li><a href="#logic">Conteneurs d'autorisation</a></li>
<li><a href="../howto/auth.html">Authentification, autorisation et
-contrôle d'accès</a></li>
+contrôle d'accès</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="requireany" id="requireany">Directive</a> <a name="RequireAny" id="RequireAny"><RequireAny></a><a title="Lien permanent" href="#requireany" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives d'autorisation dont au moins une
-doit retourner un résultat positif pour que la directive globale
-retourne elle-même un résultat positif.</td></tr>
+doit retourner un résultat positif pour que la directive globale
+retourne elle-même un résultat positif.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><RequireAny> ... </RequireAny></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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_authz_core</td></tr>
<p>Les balises <code class="directive"><RequireAny></code> et
<code></RequireAny></code> permettent de regrouper des
directives d'autorisation dont au moins une doit retourner un
- résultat positif pour que la directive <code class="directive"><RequireAny></code> retourne elle-même un résultat
+ résultat positif pour que la directive <code class="directive"><RequireAny></code> retourne elle-même un résultat
positif.</p>
<p>Si une ou plusieurs directives contenues dans la directive
<code class="directive"><RequireAny></code> retournent un
- résultat positif, alors la directive <code class="directive"><RequireAny></code> retourne elle-même un résultat
- positif. Si aucune ne retourne un résultat positif et aucune
- n'échoue, la directive globale retourne un résultat neutre. Dans
- tous les autres cas, elle échoue.</p>
-
- <div class="note">Comme les directives d'autorisation inversées sont incapables
- de retourner un résultat positif, elles ne peuvent pas impacter de
- manière significative le résultat d'une directive <code class="directive"><RequireAny></code> (elles pourraient tout au plus
- faire échouer la directive dans le cas où elles échoueraient
- elles-mêmes, et où
- toutes les autres directives retourneraient un résultat neutre).
+ résultat positif, alors la directive <code class="directive"><RequireAny></code> retourne elle-même un résultat
+ positif. Si aucune ne retourne un résultat positif et aucune
+ n'échoue, la directive globale retourne un résultat neutre. Dans
+ tous les autres cas, elle échoue.</p>
+
+ <div class="note">Comme les directives d'autorisation inversées sont incapables
+ de retourner un résultat positif, elles ne peuvent pas impacter de
+ manière significative le résultat d'une directive <code class="directive"><RequireAny></code> (elles pourraient tout au plus
+ faire échouer la directive dans le cas où elles échoueraient
+ elles-mêmes, et où
+ toutes les autres directives retourneraient un résultat neutre).
C'est pourquoi il n'est pas permis d'utiliser les directives
- d'autorisation inversées dans une directive <code class="directive"><RequireAny></code>.</div>
+ d'autorisation inversées dans une directive <code class="directive"><RequireAny></code>.</div>
<h3>Voir aussi</h3>
<ul>
<li><a href="#logic">Conteneurs d'autorisation</a></li>
<li><a href="../howto/auth.html">Authentification, autorisation et
-contrôle d'accès</a></li>
+contrôle d'accès</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="requirenone" id="requirenone">Directive</a> <a name="RequireNone" id="RequireNone"><RequireNone></a><a title="Lien permanent" href="#requirenone" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives d'autorisation dont aucune ne doit
-retourner un résultat positif pour que la directive globale n'échoue
+retourner un résultat positif pour que la directive globale n'échoue
pas.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><RequireNone> ... </RequireNone></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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_authz_core</td></tr>
</table>
<p>Les balises <code class="directive"><RequireNone></code> et
<code></RequireNone></code> permettent de regrouper des
- directives d'autorisation dont aucune ne doit retourner un résultat
- positif pour que la directive <code class="directive"><RequireNone></code> n'échoue pas.</p>
+ directives d'autorisation dont aucune ne doit retourner un résultat
+ positif pour que la directive <code class="directive"><RequireNone></code> n'échoue pas.</p>
<p>Si une ou plusieurs directives contenues dans la directive
<code class="directive"><RequireNone></code> retournent un
- résultat positif, la directive <code class="directive"><RequireNone></code> échouera. Dans tous les
- autres cas, cette dernière retournera un résultat neutre. Ainsi,
- comme pour la directive d'autorisation inversée <code>Require
- not</code>, elle ne peut jamais en soi autoriser une requête
- car elle ne pourra jamais retourner un résultat
+ résultat positif, la directive <code class="directive"><RequireNone></code> échouera. Dans tous les
+ autres cas, cette dernière retournera un résultat neutre. Ainsi,
+ comme pour la directive d'autorisation inversée <code>Require
+ not</code>, elle ne peut jamais en soi autoriser une requête
+ car elle ne pourra jamais retourner un résultat
positif. Par contre, on peut l'utiliser pour restreindre l'ensemble
- des utilisateurs autorisés à accéder à une ressource.</p>
+ des utilisateurs autorisés à accéder à une ressource.</p>
- <div class="note">Comme les directives d'autorisation inversées sont incapables
- de retourner un résultat positif, elles ne peuvent pas impacter de
- manière significative le résultat d'une directive <code class="directive"><RequireNone></code>.
+ <div class="note">Comme les directives d'autorisation inversées sont incapables
+ de retourner un résultat positif, elles ne peuvent pas impacter de
+ manière significative le résultat d'une directive <code class="directive"><RequireNone></code>.
C'est pourquoi il n'est pas permis d'utiliser les directives
- d'autorisation inversées dans une directive <code class="directive"><RequireNone></code>.</div>
+ d'autorisation inversées dans une directive <code class="directive"><RequireNone></code>.</div>
<h3>Voir aussi</h3>
<ul>
<li><a href="#logic">Conteneurs d'autorisation</a></li>
<li><a href="../howto/auth.html">Authentification, autorisation et
-contrôle d'accès</a></li>
+contrôle d'accès</a></li>
</ul>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_core.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authz_core.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_authz_core.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_authz_dbd</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authz_dbd.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_authz_dbd.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation par groupe ou par identifiant via SQL</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>authz_dbd_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_dbd.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les version 2.4 et supérieures
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authz_dbd_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_dbd.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les version 2.4 et supérieures
d'Apache</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module fournit des fonctionnalités d'autorisation permettant
- d'accorder ou de refuser aux utilisateurs authentifiés l'accès à
- certaines zones du site web en fonction de leur appartenance à tel
+ <p>Ce module fournit des fonctionnalités d'autorisation permettant
+ d'accorder ou de refuser aux utilisateurs authentifiés l'accès à
+ certaines zones du site web en fonction de leur appartenance à tel
ou tel groupe. Les modules <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> et
- <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code> fournissent une fonctionnalité
- similaire, mais ici le module interroge une base de données SQL pour
- déterminer si un utilisateur appartient ou non à tel ou tel groupe.</p>
- <p>Ce module peut aussi fournir des fonctionnalités de connexion
- utilisateur s'appuyant sur une base de données. Ceci prend le plus souvent
- sens lorsque le module est utilisé conjointement avec
+ <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code> fournissent une fonctionnalité
+ similaire, mais ici le module interroge une base de données SQL pour
+ déterminer si un utilisateur appartient ou non à tel ou tel groupe.</p>
+ <p>Ce module peut aussi fournir des fonctionnalités de connexion
+ utilisateur s'appuyant sur une base de données. Ceci prend le plus souvent
+ sens lorsque le module est utilisé conjointement avec
<code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p>
- <p>Ce module s'appuie sur <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour spécifier le
- pilote de la base de données sous-jacente et les paramètres de
- connexion, et gérer les connexions à la base de données.</p>
+ <p>Ce module s'appuie sur <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour spécifier le
+ pilote de la base de données sous-jacente et les paramètres de
+ connexion, et gérer les connexions à la base de données.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">Les directives Require</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#login">Connexion s'appuyant sur une base de données</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#client">Intégration des ouvertures de sessions côté client</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#login">Connexion s'appuyant sur une base de données</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#client">Intégration des ouvertures de sessions côté client</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#example">Exemple de configuration</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#security">Prévention contre les injections SQL</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#security">Prévention contre les injections SQL</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#authzdbdlogintoreferer">AuthzDBDLoginToReferer</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authzdbdquery">AuthzDBDQuery</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authzdbdredirectquery">AuthzDBDRedirectQuery</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_dbd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_dbd">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_dbd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_dbd">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
<li>
<p>Les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> d'Apache permettent,
au cours de la phase d'autorisation, de s'assurer qu'un utilisateur
- est bien autorisé à accéder à une ressource. mod_authz_dbd ajoute
+ est bien autorisé à accéder à une ressource. mod_authz_dbd ajoute
les types d'autorisation <code>dbd-group</code>,
<code>dbd-login</code> et <code>dbd-logout</code>.</p>
<h3><a name="reqgroup" id="reqgroup">Require dbd-group</a></h3>
- <p>Cette directive permet de spécifier à quel groupe un utilisateur
- doit appartenir pour obtenir l'autorisation d'accès.</p>
+ <p>Cette directive permet de spécifier à quel groupe un utilisateur
+ doit appartenir pour obtenir l'autorisation d'accès.</p>
<pre class="prettyprint lang-config">Require dbd-group team
AuthzDBDQuery "SELECT group FROM authz WHERE user = %s"</pre>
<h3><a name="reqlogin" id="reqlogin">Require dbd-login</a></h3>
- <p>Cette directive permet de spécifier une requête à exécuter pour
- indiquer que l'utilisateur s'est authentifié.</p>
+ <p>Cette directive permet de spécifier une requête à exécuter pour
+ indiquer que l'utilisateur s'est authentifié.</p>
<pre class="prettyprint lang-config">Require dbd-login
AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s"</pre>
<h3><a name="reqlogout" id="reqlogout">Require dbd-logout</a></h3>
- <p>Cette directive permet de spécifier une requête à exécuter pour
- indiquer que l'utilisateur s'est déconnecté.</p>
+ <p>Cette directive permet de spécifier une requête à exécuter pour
+ indiquer que l'utilisateur s'est déconnecté.</p>
<pre class="prettyprint lang-config">Require dbd-logout
AuthzDBDQuery "UPDATE authn SET login = 'false' WHERE user = %s"</pre>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="login" id="login">Connexion s'appuyant sur une base de données</a><a title="Lien permanent" href="#login" class="permalink">¶</a></h2>
+<h2><a name="login" id="login">Connexion s'appuyant sur une base de données</a><a title="Lien permanent" href="#login" class="permalink">¶</a></h2>
<p>
-Outre sa fonction d'autorisation standard consistant à vérifier
-l'appartenance à des groupes, ce module permet également de gérer des
-sessions utilisateur côté serveur grâce à sa fonctionnalité de gestion de login/logout
-via base de données. En particulier, il peut mettre à
-jour le statut de session de l'utilisateur dans la base de données
-chaque fois que celui-ci visite certaines URLs (sous réserve bien
+Outre sa fonction d'autorisation standard consistant à vérifier
+l'appartenance à des groupes, ce module permet également de gérer des
+sessions utilisateur côté serveur grâce à sa fonctionnalité de gestion de login/logout
+via base de données. En particulier, il peut mettre à
+jour le statut de session de l'utilisateur dans la base de données
+chaque fois que celui-ci visite certaines URLs (sous réserve bien
entendu que l'utilisateur fournisse les informations de connexion
-nécessaires).</p>
-<p>Pour cela, il faut definir deux directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> spéciales : <code>Require
-dbd-login</code> et <code>Require dbd-logout</code>. Pour les détails de
+nécessaires).</p>
+<p>Pour cela, il faut definir deux directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> spéciales : <code>Require
+dbd-login</code> et <code>Require dbd-logout</code>. Pour les détails de
leur utilisation, voir l'exemple de configuration ci-dessous.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="client" id="client">Intégration des ouvertures de sessions côté client</a><a title="Lien permanent" href="#client" class="permalink">¶</a></h2>
-
-<p>Pour les administrateurs qui désirent implémenter une gestion de
-session côté client fonctionnant de concert avec les fonctionnalités de
-connexion/déconnexion côté serveur offertes par ce module, il est possible
-de définir ou en d'annuler par exemple un cookie HTTP ou un jeton
-de connextion lorsqu'un utilisateur se connecte ou se déconnecte.</p>
-<p> Pour supporter une telle intégration, <code class="module"><a href="../mod/mod_authz_dbd.html">mod_authz_dbd</a></code> exporte
-un déclenchement optionnel (hook) qui sera lancé chaque fois
-que le statut d'un utilisateur sera mis à jour dans la base de données.
+<h2><a name="client" id="client">Intégration des ouvertures de sessions côté client</a><a title="Lien permanent" href="#client" class="permalink">¶</a></h2>
+
+<p>Pour les administrateurs qui désirent implémenter une gestion de
+session côté client fonctionnant de concert avec les fonctionnalités de
+connexion/déconnexion côté serveur offertes par ce module, il est possible
+de définir ou en d'annuler par exemple un cookie HTTP ou un jeton
+de connextion lorsqu'un utilisateur se connecte ou se déconnecte.</p>
+<p> Pour supporter une telle intégration, <code class="module"><a href="../mod/mod_authz_dbd.html">mod_authz_dbd</a></code> exporte
+un déclenchement optionnel (hook) qui sera lancé chaque fois
+que le statut d'un utilisateur sera mis à jour dans la base de données.
D'autres modules de gestion de session pourront alors utiliser ce
-déclencheur pour utiliser des fonctions d'ouverture et de
-fermeture de sessions côté client.</p>
+déclencheur pour utiliser des fonctions d'ouverture et de
+fermeture de sessions côté client.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="example" id="example">Exemple de configuration</a><a title="Lien permanent" href="#example" class="permalink">¶</a></h2>
AuthName Team
AuthBasicProvider dbd
- # requête SQL de mod_authn_dbd pour authentifier un utilisateur qui se
+ # requête SQL de mod_authn_dbd pour authentifier un utilisateur qui se
# connecte
AuthDBDUserPWQuery \
"SELECT password FROM authn WHERE user = %s AND login = 'true'"
# configuration de mod_authz_dbd
AuthzDBDQuery "SELECT group FROM authz WHERE user = %s"
- # lorsqu'un utilisateur échoue dans sa tentative d'authentification ou
- # d'autorisation, on l'invite à se connecter ; cette page doit
+ # lorsqu'un utilisateur échoue dans sa tentative d'authentification ou
+ # d'autorisation, on l'invite à se connecter ; cette page doit
# contenir un lien vers /team-private/login.html
ErrorDocument 401 /login-info.html
<Files "login.html">
- # il n'est pas nécessaire que l'utilisateur soit déjà connecté !
+ # il n'est pas nécessaire que l'utilisateur soit déjà connecté !
AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
- # le processus de connexion dbd exécute une requête pour enregistrer
+ # le processus de connexion dbd exécute une requête pour enregistrer
# la connexion de l'utilisateur
Require dbd-login
AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s"
# redirige l'utilisateur vers la page d'origine (si elle existe)
- # après une connexion réussie
+ # après une connexion réussie
AuthzDBDLoginToReferer On
</Files>
<Files "logout.html">
- # le processus de déconnexion dbd exécute une requête pour
- # enregistrer la déconnexion de l'utilisateur
+ # le processus de déconnexion dbd exécute une requête pour
+ # enregistrer la déconnexion de l'utilisateur
Require dbd-logout
AuthzDBDQuery "UPDATE authn SET login = 'false' WHERE user = %s"
</Files>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="security" id="security">Prévention contre les injections SQL</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
-
- <p>Selon le pilote DBD choisi et le serveur d'arrière-plan que vous utilisez,
- vous devrez prendre garde à la sécurité dans le domaine SQL.
- Avec la plupart des pilotes, vous n'avez rien à faire : la
- requête est préparée par la base de données au démarrage, et l'entrée
- utilisateur n'est utilisée qu'en tant que donnée. Mais vous aurez
- peut-être à nettoyer cette entrée. Au moment où ces lignes sont
- écrites, le seul pilote DBD qui peut nécessiter le nettoyage de l'entrée
+<h2><a name="security" id="security">Prévention contre les injections SQL</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
+
+ <p>Selon le pilote DBD choisi et le serveur d'arrière-plan que vous utilisez,
+ vous devrez prendre garde à la sécurité dans le domaine SQL.
+ Avec la plupart des pilotes, vous n'avez rien à faire : la
+ requête est préparée par la base de données au démarrage, et l'entrée
+ utilisateur n'est utilisée qu'en tant que donnée. Mais vous aurez
+ peut-être à nettoyer cette entrée. Au moment où ces lignes sont
+ écrites, le seul pilote DBD qui peut nécessiter le nettoyage de l'entrée
est FreeTDS.</p>
- <p>Veuillez vous référez à la documentation de
- <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour plus d'informations à propos de la
- sécurité dans ce domaine.</p>
+ <p>Veuillez vous référez à la documentation de
+ <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour plus d'informations à propos de la
+ sécurité dans ce domaine.</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="authzdbdlogintoreferer" id="authzdbdlogintoreferer">Directive</a> <a name="AuthzDBDLoginToReferer" id="AuthzDBDLoginToReferer">AuthzDBDLoginToReferer</a><a title="Lien permanent" href="#authzdbdlogintoreferer" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si le client doit être redirigé vers la page
-d'origine en cas de connexion ou de déconnexion réussie si une en-tête
-de requête <code>Referer</code> est présente</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si le client doit être redirigé vers la page
+d'origine en cas de connexion ou de déconnexion réussie si une en-tête
+de requête <code>Referer</code> est présente</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthzDBDLoginToReferer On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthzDBDLoginToReferer Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthzDBDLoginToReferer Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</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_authz_dbd</td></tr>
</table>
- <p>Utilisée en conjonction avec <code>Require dbd-login</code> ou
+ <p>Utilisée en conjonction avec <code>Require dbd-login</code> ou
<code>Require dbd-logout</code>, cette directive permet de rediriger
- le client vers la page d'origine (l'URL contenue dans l'en-tête
- de requête HTTP <code>Referer</code>, s'il est présent). En
- l'absence d'en-tête <code>Referer</code>, la définition
- <code>AuthzDBDLoginToReferer On</code> sera ignorée.</p>
+ le client vers la page d'origine (l'URL contenue dans l'en-tête
+ de requête HTTP <code>Referer</code>, s'il est présent). En
+ l'absence d'en-tête <code>Referer</code>, la définition
+ <code>AuthzDBDLoginToReferer On</code> sera ignorée.</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="authzdbdquery" id="authzdbdquery">Directive</a> <a name="AuthzDBDQuery" id="AuthzDBDQuery">AuthzDBDQuery</a><a title="Lien permanent" href="#authzdbdquery" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la requête SQL pour l'opération
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la requête SQL pour l'opération
requise</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthzDBDQuery <var>requête</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthzDBDQuery <var>requête</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</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_authz_dbd</td></tr>
</table>
<p>La directive <code class="directive">AuthzDBDQuery</code> permet de
- spécifier une requête SQL à exécuter. Le but de cette requête dépend
+ spécifier une requête SQL à exécuter. Le but de cette requête dépend
de la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> en cours de
traitement.</p>
<ul>
- <li>Avec la directive <code>Require dbd-group</code>, elle spécifie
- une requête permettant de rechercher les groupes d'appartenance de
- l'utilisateur courant. Ceci correspond à la fonctionnalité standard
+ <li>Avec la directive <code>Require dbd-group</code>, elle spécifie
+ une requête permettant de rechercher les groupes d'appartenance de
+ l'utilisateur courant. Ceci correspond à la fonctionnalité standard
d'autres modules d'autorisation comme
<code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> et
<code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code>.
- La première colonne de chaque enregistrement renvoyé par la requête
- doit contenir une chaîne de caractères correspondant à un nom de
- groupe. La requête peut renvoyer zéro, un ou plusieurs
+ La première colonne de chaque enregistrement renvoyé par la requête
+ doit contenir une chaîne de caractères correspondant à un nom de
+ groupe. La requête peut renvoyer zéro, un ou plusieurs
enregistrements.
<pre class="prettyprint lang-config">Require dbd-group
AuthzDBDQuery "SELECT group FROM groups WHERE user = %s"</pre>
</li>
<li>Avec la directive <code>Require dbd-login</code> ou
- <code>Require dbd-logout</code>, elle ne refusera jamais l'accès,
- mais au contraire exécutera une requête SQL permettant d'enregistrer
- la connexion ou la déconnexion de l'utilisateur. Ce dernier doit
- être déjà authentifié avec <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.
+ <code>Require dbd-logout</code>, elle ne refusera jamais l'accès,
+ mais au contraire exécutera une requête SQL permettant d'enregistrer
+ la connexion ou la déconnexion de l'utilisateur. Ce dernier doit
+ être déjà authentifié avec <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.
<pre class="prettyprint lang-config">Require dbd-login
AuthzDBDQuery "UPDATE authn SET login = 'true' WHERE user = %s"</pre>
</li>
</ul>
<p>Dans tous les cas, l'identifiant utilisateur sera transmis comme
- paramètre sous la forme d'une simple chaîne lorsque la requête SQL
- sera exécutée. Il y sera fait référence dans la requête en utilisant
- le spécificateur de format <code>%s</code>.</p>
+ paramètre sous la forme d'une simple chaîne lorsque la requête SQL
+ sera exécutée. Il y sera fait référence dans la requête en utilisant
+ le spécificateur de format <code>%s</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="authzdbdredirectquery" id="authzdbdredirectquery">Directive</a> <a name="AuthzDBDRedirectQuery" id="AuthzDBDRedirectQuery">AuthzDBDRedirectQuery</a><a title="Lien permanent" href="#authzdbdredirectquery" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une requête pour rechercher une page vers laquelle
-rediriger l'utilisateur après une connexion réussie</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthzDBDRedirectQuery <var>requête</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une requête pour rechercher une page vers laquelle
+rediriger l'utilisateur après une connexion réussie</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthzDBDRedirectQuery <var>requête</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</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_authz_dbd</td></tr>
</table>
- <p>Spécifie une requête SQL optionnelle à utiliser après une
- connexion (ou une déconnexion) réussie pour rediriger l'utilisateur
- vers une URL, qui peut être spécifique à l'utilisateur.
- L'identifiant utilisateur sera transmis comme paramètre sous la
- forme d'une simple chaîne lorsque la requête SQL sera exécutée. Il y
- sera fait référence dans la requête en utilisant le spécificateur de
+ <p>Spécifie une requête SQL optionnelle à utiliser après une
+ connexion (ou une déconnexion) réussie pour rediriger l'utilisateur
+ vers une URL, qui peut être spécifique à l'utilisateur.
+ L'identifiant utilisateur sera transmis comme paramètre sous la
+ forme d'une simple chaîne lorsque la requête SQL sera exécutée. Il y
+ sera fait référence dans la requête en utilisant le spécificateur de
format <code>%s</code>.</p>
<pre class="prettyprint lang-config">AuthzDBDRedirectQuery "SELECT userpage FROM userpages WHERE user = %s"</pre>
- <p>La première colonne du premier enregistrement renvoyé par la
- requête doit contenir une chaîne de caractères correspondant à une
+ <p>La première colonne du premier enregistrement renvoyé par la
+ requête doit contenir une chaîne de caractères correspondant à une
URL vers laquelle rediriger le client. Les enregistrements suivants
- sont ignorés. Si aucun enregistrement n'est renvoyé, le client ne
- sera pas redirigé.</p>
+ sont ignorés. Si aucun enregistrement n'est renvoyé, le client ne
+ sera pas redirigé.</p>
<p>Notez que <code class="directive">AuthzDBDLoginToReferer</code> l'emporte
- sur cette directive si les deux sont définies.</p>
+ sur cette directive si les deux sont définies.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authz_dbd.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_authz_dbd.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_authz_dbm</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authz_dbm.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_authz_dbm.html" title="Français"> fr </a> |
<a href="../ko/mod/mod_authz_dbm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation par groupes sur base de fichiers DBM</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>authz_dbm_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_dbm.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authz_dbm_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_dbm.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module propose d'autoriser ou d'interdire l'accès à certaines
- zones du site web aux utilisateurs authentifiés en fonction de leur
- appartenance à un groupe spécifié. Le module
- <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> fournit une fonctionnalité
+ <p>Ce module propose d'autoriser ou d'interdire l'accès à certaines
+ zones du site web aux utilisateurs authentifiés en fonction de leur
+ appartenance à un groupe spécifié. Le module
+ <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> fournit une fonctionnalité
similaire.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#authdbmgroupfile">AuthDBMGroupFile</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authzdbmtype">AuthzDBMType</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_dbm">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_dbm">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_dbm">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_dbm">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<p>Les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> d'Apache permettent,
au cours de la phase d'autorisation, de s'assurer qu'un utilisateur
- est bien autorisé à accéder à une ressource. mod_authz_dbm ajoute
+ est bien autorisé à accéder à une ressource. mod_authz_dbm ajoute
les types d'autorisation <code>dbm-group</code> et <code>dbm-file-group</code>.</p>
<p>A partir de la version 2.4.8, les directives require DBM
<h3><a name="reqgroup" id="reqgroup">Require dbm-group</a></h3>
- <p>Cette directive permet de spécifier à quel groupe un utilisateur
- doit appartenir pour obtenir l'autorisation d'accès.</p>
+ <p>Cette directive permet de spécifier à quel groupe un utilisateur
+ doit appartenir pour obtenir l'autorisation d'accès.</p>
<pre class="prettyprint lang-config">Require dbm-group admin</pre>
<h3><a name="reqfilegroup" id="reqfilegroup">Require dbm-file-group</a></h3>
- <p>Lorsque cette directive est définie, l'utilisateur doit
- appartenir au groupe du fichier pour pouvoir y accéder.</p>
+ <p>Lorsque cette directive est définie, l'utilisateur doit
+ appartenir au groupe du fichier pour pouvoir y accéder.</p>
<pre class="prettyprint lang-config">Require dbm-file-group</pre>
<div class="section">
<h2><a name="examples" id="examples">Exemple d'utilisation</a><a title="Lien permanent" href="#examples" class="permalink">¶</a></h2>
-<p><em>Notez que si vous utilisez mod_authz_dbm, le mot-clé pour les
-groupes d'authentification qui était auparavant <code>group</code> est
+<p><em>Notez que si vous utilisez mod_authz_dbm, le mot-clé pour les
+groupes d'authentification qui était auparavant <code>group</code> est
maintenant <code>dbm-group</code> :</em>
</p>
<pre class="prettyprint lang-config"><Directory "/foo/bar">
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authdbmgroupfile" id="authdbmgroupfile">Directive</a> <a name="AuthDBMGroupFile" id="AuthDBMGroupFile">AuthDBMGroupFile</a><a title="Lien permanent" href="#authdbmgroupfile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom du fichier de base de données qui liste
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom du fichier de base de données qui liste
les groupes d'utilisateurs.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBMGroupFile <var>chemin-fichier</var></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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_authz_dbm</td></tr>
</table>
- <p>La directive <code class="directive">AuthDBMGroupFile</code> définit
+ <p>La directive <code class="directive">AuthDBMGroupFile</code> définit
le nom d'un fichier DBM contenant la liste des groupes
- d'utilisateurs, destinés à la gestion des autorisations.
+ d'utilisateurs, destinés à la gestion des autorisations.
<var>chemin-fichier</var> est le chemin absolu du
fichier de groupes.</p>
- <p>La clé du fichier de groupes est le nom d'utilisateur. La valeur
- de chaque clé est la liste des groupes, séparés par des virgules,
+ <p>La clé du fichier de groupes est le nom d'utilisateur. La valeur
+ de chaque clé est la liste des groupes, séparés par des virgules,
auxquels l'utilisateur appartient. Cette liste ne doit comporter
- ni espace, ni caractère ':'.</p>
+ ni espace, ni caractère ':'.</p>
- <div class="warning"><h3>Sécurité</h3>
- <p>Le fichier spécifié par la directive
-<code class="directive">AuthDBMGroupFile</code> doit être situé en dehors de
+ <div class="warning"><h3>Sécurité</h3>
+ <p>Le fichier spécifié par la directive
+<code class="directive">AuthDBMGroupFile</code> doit être situé en dehors de
l'arborescence des documents du serveur web. Ne le placez
-<strong>surtout pas</strong> dans le répertoire qu'il protège, faute
-de quoi, les clients pourraient le télécharger, en l'abscence de
-protection supplémentaire.</p>
+<strong>surtout pas</strong> dans le répertoire qu'il protège, faute
+de quoi, les clients pourraient le télécharger, en l'abscence de
+protection supplémentaire.</p>
</div>
- <p>Utilisation combinée de fichiers DBM de groupes et de mots de
- passe : dans certains cas, il est plus simple de gérer une seule
- base de données contenant les groupes et mots de passe de chaque
- utilisateur. L'écriture de programmes de support en est ainsi
- simplifiée car ils n'ont plus qu'un seul fichier DBM à gérer et
- à verrouiller. Pour ce faire, on attribue le même nom de fichier
+ <p>Utilisation combinée de fichiers DBM de groupes et de mots de
+ passe : dans certains cas, il est plus simple de gérer une seule
+ base de données contenant les groupes et mots de passe de chaque
+ utilisateur. L'écriture de programmes de support en est ainsi
+ simplifiée car ils n'ont plus qu'un seul fichier DBM à gérer et
+ à verrouiller. Pour ce faire, on attribue le même nom de fichier
DBM aux fichiers de groupes et de mots de passe :</p>
<pre class="prettyprint lang-config">AuthDBMGroupFile "/www/userbase"
AuthDBMUserFile "/www/userbase"</pre>
- <p>La clé du fichier DBM unique est le nom d'utilisateur. La
- valeur associée à la clé contient :</p>
+ <p>La clé du fichier DBM unique est le nom d'utilisateur. La
+ valeur associée à la clé contient :</p>
<div class="example"><p><code>
- Mot de passe chiffré : Liste de groupes [ : (ignoré) ]
+ Mot de passe chiffré : Liste de groupes [ : (ignoré) ]
</code></p></div>
<p>La partie mot de passe contient comme d'habitude le mot de
- passe chiffré. Viennent ensuite le caractère ':' et la liste des
- groupes séparés par des virgules. Il est possible d'ajouter
- d'autres données en fin de ligne après un autre caractère ':',
- mais elles seront ignorées par le module d'autorisation.</p>
+ passe chiffré. Viennent ensuite le caractère ':' et la liste des
+ groupes séparés par des virgules. Il est possible d'ajouter
+ d'autres données en fin de ligne après un autre caractère ':',
+ mais elles seront ignorées par le module d'autorisation.</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="authzdbmtype" id="authzdbmtype">Directive</a> <a name="AuthzDBMType" id="AuthzDBMType">AuthzDBMType</a><a title="Lien permanent" href="#authzdbmtype" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le type de fichier de base de données contenant
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le type de fichier de base de données contenant
la liste des groupes d'utilisateurs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthzDBMType default|SDBM|GDBM|NDBM|DB</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthzDBMType default</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#Default">Défaut:</a></th><td><code>AuthzDBMType default</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">AllowOverride:</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_authz_dbm</td></tr>
</table>
- <p>Définit le type de fichier de base de données contenant la
- liste des groupes d'utilisateurs. Le type de base de données par
- défaut est déterminé à la compilation. Les autres types de bases
- de données disponibles dépendent aussi de la
+ <p>Définit le type de fichier de base de données contenant la
+ liste des groupes d'utilisateurs. Le type de base de données par
+ défaut est déterminé à la compilation. Les autres types de bases
+ de données disponibles dépendent aussi de la
<a href="../install.html#dbm">configuration de la
compilation</a>.</p>
- <p>Quel que soit le programme que vous utilisez pour créer votre
- fichier de groupes, il est impératif que celui-ci soit configuré
- pour utiliser le même type de base de données.</p>
+ <p>Quel que soit le programme que vous utilisez pour créer votre
+ fichier de groupes, il est impératif que celui-ci soit configuré
+ pour utiliser le même type de base de données.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authz_dbm.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_authz_dbm.html" title="Français"> fr </a> |
<a href="../ko/mod/mod_authz_dbm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_authz_groupfile</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_groupfile.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authz_groupfile.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_authz_groupfile.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_authz_groupfile.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_authz_groupfile.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation de groupes à base de fichiers
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation de groupes à base de fichiers
textes</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>authz_groupfile_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_groupfile.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authz_groupfile_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_groupfile.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module permet d'autoriser ou d'interdire l'accès à
-certaines zones du site web aux utilisateurs authentifiés en
-fonction de leur appartenance à un groupe spécifié. Le module
-<code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code> fournit une fonctionnalité similaire.</p>
+ <p>Ce module permet d'autoriser ou d'interdire l'accès à
+certaines zones du site web aux utilisateurs authentifiés en
+fonction de leur appartenance à un groupe spécifié. Le module
+<code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code> fournit une fonctionnalité similaire.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#authgroupfile">AuthGroupFile</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_groupfile">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_groupfile">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_groupfile">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_groupfile">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<p>Les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> d'Apache permettent,
au cours de la phase d'autorisation, de s'assurer qu'un utilisateur
- est bien autorisé à accéder à une ressource. mod_authz_groupfile ajoute
+ est bien autorisé à accéder à une ressource. mod_authz_groupfile ajoute
les types d'autorisation <code>group</code> et <code>file-group</code>.
</p>
<h3><a name="reqgroup" id="reqgroup">Require group</a></h3>
- <p>Cette directive permet de spécifier à quel groupe un utilisateur
- doit appartenir pour obtenir l'autorisation d'accès.</p>
+ <p>Cette directive permet de spécifier à quel groupe un utilisateur
+ doit appartenir pour obtenir l'autorisation d'accès.</p>
<pre class="prettyprint lang-config">Require group admin</pre>
<h3><a name="reqfilegroup" id="reqfilegroup">Require file-group</a></h3>
- <p>Lorsque cette directive est définie, Les permissions système du fichier
- auquel on veut accéder sont vérifiées. L'utilisateur doit être un membre d'un
- groupe de même nom que le groupe qui possède le fichier. Voir
- <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> pour plus de détails.</p>
+ <p>Lorsque cette directive est définie, Les permissions système du fichier
+ auquel on veut accéder sont vérifiées. L'utilisateur doit être un membre d'un
+ groupe de même nom que le groupe qui possède le fichier. Voir
+ <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> pour plus de détails.</p>
<pre class="prettyprint lang-config">Require file-group</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authgroupfile" id="authgroupfile">Directive</a> <a name="AuthGroupFile" id="AuthGroupFile">AuthGroupFile</a><a title="Lien permanent" href="#authgroupfile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom d'un fichier texte contenant la liste des
-groupes d'utilisateurs permettant de définir les autorisations des
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom d'un fichier texte contenant la liste des
+groupes d'utilisateurs permettant de définir les autorisations des
utilisateurs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthGroupFile <var>chemin-fichier</var></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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</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_authz_groupfile</td></tr>
</table>
- <p>La directive <code class="directive">AuthGroupFile</code> définit
+ <p>La directive <code class="directive">AuthGroupFile</code> définit
le nom d'un fichier texte, qui liste les groupes d'utilisateurs
-permettant de définir les autorisations.
+permettant de définir les autorisations.
<var>chemin-fichier</var> est le chemin du fichier de groupes. S'il n'est
-pas absolu, ce chemin est considéré comme relatif au répertoire défini par
+pas absolu, ce chemin est considéré comme relatif au répertoire défini par
la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p>
<p>Chaque ligne du fichier de groupes contient un nom de groupe
-suivi du caractère ':' et des noms des utilisateurs membres du groupe
-séparés par des espaces.</p>
+suivi du caractère ':' et des noms des utilisateurs membres du groupe
+séparés par des espaces.</p>
<div class="example"><h3>Exemple :</h3><p><code>
mon-groupe : bob joe anne
</code></p></div>
<p>Notez que la recherche dans de grands fichiers textes est
-<em>très</em> inefficace ; la directive <code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code> fournit de bien meilleures
+<em>très</em> inefficace ; la directive <code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code> fournit de bien meilleures
performances.</p>
- <div class="warning"><h3>Sécurité</h3>
+ <div class="warning"><h3>Sécurité</h3>
<p>Le fichier <code class="directive">AuthGroupFile</code> ne doit pas
-être stocké dans l'arborescence des documents du site web ; ne le placez
-<em>surtout pas</em> dans le répertoire qu'il protège, faute de quoi les
-clients pourraient le télécharger.</p>
+être stocké dans l'arborescence des documents du site web ; ne le placez
+<em>surtout pas</em> dans le répertoire qu'il protège, faute de quoi les
+clients pourraient le télécharger.</p>
</div>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_groupfile.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authz_groupfile.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_authz_groupfile.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_authz_groupfile.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_authz_groupfile.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_authz_host</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_host.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authz_host.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_authz_host.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisations de groupe basées sur l'hôte (nom ou adresse
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisations de groupe basées sur l'hôte (nom ou adresse
IP)</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>authz_host_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_host.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Le fournisseur <code>forward-dns</code> est disponible à partir
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authz_host_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_host.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Le fournisseur <code>forward-dns</code> est disponible à partir
de la version 2.4.19 du serveur HTTP Apache</td></tr></table>
<h3>Sommaire</h3>
- <p>Les fournisseurs d'autorisation implémentés par le module
- <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> sont enregistrés à l'aide de
+ <p>Les fournisseurs d'autorisation implémentés par le module
+ <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> sont enregistrés à l'aide de
la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>. On peut
- utiliser cette directive à l'intérieur de sections <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, ou <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou de fichiers
+ utiliser cette directive à l'intérieur de sections <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, ou <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou de fichiers
<code><a href="core.html#accessfilename">.htaccess</a> </code> pour
- contrôler l'accès à certaines zones du serveur. Le contrôle d'accès
- peut être effectué en fonction du nom d'hôte ou de l'adresse IP.</p>
+ contrôler l'accès à certaines zones du serveur. Le contrôle d'accès
+ peut être effectué en fonction du nom d'hôte ou de l'adresse IP.</p>
- <p>En général, les directives de restriction d'accès s'appliquent à
- toutes les méthodes d'accès (<code>GET</code>, <code>PUT</code>,
+ <p>En général, les directives de restriction d'accès s'appliquent à
+ toutes les méthodes d'accès (<code>GET</code>, <code>PUT</code>,
<code>POST</code>, etc...). C'est d'ailleurs ce que l'on souhaite
dans la plupart des cas. Il est cependant possible de ne restreindre
- l'accès que pour certaines méthodes, tout en laissant les autres
- méthodes sans protection, en plaçant les directives dans une section
+ l'accès que pour certaines méthodes, tout en laissant les autres
+ méthodes sans protection, en plaçant les directives dans une section
<code class="directive"><a href="../mod/core.html#limit"><Limit></a></code>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">Les directives Require</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_host">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_host">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_host">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_host">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../howto/auth.html">Authentification, autorisation et
-contrôle d'accès</a></li>
+contrôle d'accès</a></li>
<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
<li><a href="#comments_section">Commentaires</a></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="requiredirectives" id="requiredirectives">Les directives Require</a><a title="Lien permanent" href="#requiredirectives" class="permalink">¶</a></h2>
- <p>La directive Apache <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> est utilisée au cours de
- la phase d'autorisation pour vérifier si un utilisateur se voit
- accorder ou refuser l'accès à une ressource. mod_authz_host fournit
+ <p>La directive Apache <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> est utilisée au cours de
+ la phase d'autorisation pour vérifier si un utilisateur se voit
+ accorder ou refuser l'accès à une ressource. mod_authz_host fournit
les types d'autorisation <code>ip</code>, <code>host</code>,
<code>forward-dns</code> et <code>local</code>. D'autres
- types d'autorisation sont aussi disponibles, mais nécessitent le chargement
- des modules d'autorisation appropriés.</p>
+ types d'autorisation sont aussi disponibles, mais nécessitent le chargement
+ des modules d'autorisation appropriés.</p>
- <p>Ces fournisseurs d'autorisation permettent de déterminer quels
- hôtes peuvent accéder à une zone du serveur. On peut contrôler
- l'accès en fonction du nom d'hôte, de l'adresse IP, ou d'un intervalle
+ <p>Ces fournisseurs d'autorisation permettent de déterminer quels
+ hôtes peuvent accéder à une zone du serveur. On peut contrôler
+ l'accès en fonction du nom d'hôte, de l'adresse IP, ou d'un intervalle
d'adresses IP.</p>
<p>A partir de la version 2.4.8, les directives require host
<h3><a name="reqip" id="reqip">Require ip</a></h3>
- <p>Le fournisseur <code>ip</code> permet de contrôler l'accès au
+ <p>Le fournisseur <code>ip</code> permet de contrôler l'accès au
serveur en fonction de l'adresse IP du client distant. Lorsque
- <code>Require ip <var>adresse-ip</var></code> est spécifié, la
- requête est autorisée si l'adresse IP du client distant correspond
- à</p>
+ <code>Require ip <var>adresse-ip</var></code> est spécifié, la
+ requête est autorisée si l'adresse IP du client distant correspond
+ à</p>
- <p>Une adresse IP complète :</p>
+ <p>Une adresse IP complète :</p>
<pre class="prettyprint lang-config">Require ip 10.1.2.3
Require ip 192.168.1.104 192.168.1.205</pre>
- <p>L'adresse IP d'un hôte pour qui l'accès est accordé</p>
+ <p>L'adresse IP d'un hôte pour qui l'accès est accordé</p>
<p>Une adresse IP partielle :</p>
<pre class="prettyprint lang-config">Require ip 10.1
Require ip 10 172.20 192.168.2</pre>
- <p>Les 1 à 3 premiers octets d'une adresse IP, pour une restriction
- à un sous-réseau.</p>
+ <p>Les 1 à 3 premiers octets d'une adresse IP, pour une restriction
+ à un sous-réseau.</p>
- <p>Une paire réseau/masque de sous-réseau :</p>
+ <p>Une paire réseau/masque de sous-réseau :</p>
<pre class="prettyprint lang-config">Require ip 10.1.0.0/255.255.0.0</pre>
- <p>Un réseau a.b.c.d, et un masque de sous-réseau w.x.y.z. pour une
- restriction de sous-réseau plus fine.</p>
+ <p>Un réseau a.b.c.d, et un masque de sous-réseau w.x.y.z. pour une
+ restriction de sous-réseau plus fine.</p>
- <p>Une spécification CIDR réseau/nnn :</p>
+ <p>Une spécification CIDR réseau/nnn :</p>
<pre class="prettyprint lang-config">Require ip 10.1.0.0/16</pre>
- <p>Identique au cas précédent, excepté que le masque de sous-réseau
- représente les nnn premiers bits de poids fort.</p>
+ <p>Identique au cas précédent, excepté que le masque de sous-réseau
+ représente les nnn premiers bits de poids fort.</p>
<p>Notez que les trois derniers exemples correspondent exectement au
- même ensemble d'hôtes.</p>
+ même ensemble d'hôtes.</p>
- <p>On peut spécifier des adresses et des sous-réseaux IPv6 comme
+ <p>On peut spécifier des adresses et des sous-réseaux IPv6 comme
suit :</p>
<pre class="prettyprint lang-config">Require ip 2001:db8::a00:20ff:fea7:ccea
Require ip 2001:db8:3::/48</pre>
- <p>Note: comme les adresses IP sont lues au démarrage, les
- expressions ne sont pas évaluées au moment de la requête.</p>
+ <p>Note: comme les adresses IP sont lues au démarrage, les
+ expressions ne sont pas évaluées au moment de la requête.</p>
<h3><a name="reqhost" id="reqhost">Require host</a></h3>
- <p>Le fournisseur <code>host</code> permet de contrôler l'accès au
- serveur en fonction du nom d'hôte du client distant. Lorsque
- <code>Require host <var>nom-hôte</var></code> est spécifié, la
- requête est autorisée si le nom d'hôte correspond à</p>
+ <p>Le fournisseur <code>host</code> permet de contrôler l'accès au
+ serveur en fonction du nom d'hôte du client distant. Lorsque
+ <code>Require host <var>nom-hôte</var></code> est spécifié, la
+ requête est autorisée si le nom d'hôte correspond à</p>
- <p>Un nom de domaine (éventuellement partiel)</p>
+ <p>Un nom de domaine (éventuellement partiel)</p>
<pre class="prettyprint lang-config">Require host example.org
Require host .net example.edu</pre>
- <p>Les hôtes dont les noms correspondent ou se terminent par la
- chaîne spécifiée se voient accorder l'accès. Seuls les élément de
+ <p>Les hôtes dont les noms correspondent ou se terminent par la
+ chaîne spécifiée se voient accorder l'accès. Seuls les élément de
nom de domaine complets sont mis en correspondance ; ainsi,
- l'exemple ci-dessus correspondra à <code>foo.example.org</code>, mais
- ne correspondra pas à <code>fooexample.org</code>. Avec cette
+ l'exemple ci-dessus correspondra à <code>foo.example.org</code>, mais
+ ne correspondra pas à <code>fooexample.org</code>. Avec cette
configuration, Apache va effectuer une double recherche DNS sur
- l'adresse IP du client, sans tenir compte de la définition de la
+ l'adresse IP du client, sans tenir compte de la définition de la
directive <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code>. Il
va effectuer une recherche DNS inverse sur l'adresse IP pour trouver
- le nom d'hôte associé, puis une recherche DNS directe sur le nom
- d'hôte pour vérifier qu'il correspond bien à l'adresse IP originale.
- L'accès ne sera accordé que si le nom d'hôte correspond et si les
- recherches DNS inverse et directe sont cohérentes.</p>
+ le nom d'hôte associé, puis une recherche DNS directe sur le nom
+ d'hôte pour vérifier qu'il correspond bien à l'adresse IP originale.
+ L'accès ne sera accordé que si le nom d'hôte correspond et si les
+ recherches DNS inverse et directe sont cohérentes.</p>
<h3><a name="reqfwddns" id="reqfwddns">Require forward-dns</a></h3>
- <p>Le fournisseur <code>forward-dns</code> permet d'accéder au serveur
- sécurisé en fonction de simples noms d'hôte. Lorsque <code>Require
- forward-dns <var>host-name</var></code> est spécifié, toute adresse IP
- correspondant à <code><var>host-name</var></code> se voit autoriser l'accès.</p>
+ <p>Le fournisseur <code>forward-dns</code> permet d'accéder au serveur
+ sécurisé en fonction de simples noms d'hôte. Lorsque <code>Require
+ forward-dns <var>host-name</var></code> est spécifié, toute adresse IP
+ correspondant à <code><var>host-name</var></code> se voit autoriser l'accès.</p>
- <p>A la différence du fournisseur <code>host</code>, ce fournisseur
- n'effectue pas de recherche DNS inverse : il effectue simplement une requête
- DNS directe pour le nom d'hôte spécifié et donne accès au client si son
- adresse IP correspond. Il ne fonctionnera donc qu'avec des noms d'hôte, et
+ <p>A la différence du fournisseur <code>host</code>, ce fournisseur
+ n'effectue pas de recherche DNS inverse : il effectue simplement une requête
+ DNS directe pour le nom d'hôte spécifié et donne accès au client si son
+ adresse IP correspond. Il ne fonctionnera donc qu'avec des noms d'hôte, et
non avec des noms de domaine. Par contre, comme le DNS inverse n'est pas
- sollicité, il fonctionnera avec des clients qui utilisent un service de DNS
+ sollicité, il fonctionnera avec des clients qui utilisent un service de DNS
dynamique.</p>
<pre class="prettyprint lang-config">Require forward-dns bla.example.org</pre>
- <p>Un client dont l'adresse IP correspond au nom d'hôte
- <code>bla.example.org</code> se verra autoriser l'accès.</p>
+ <p>Un client dont l'adresse IP correspond au nom d'hôte
+ <code>bla.example.org</code> se verra autoriser l'accès.</p>
- <p>Le fournisseur <code>forward-dns</code> est disponible à partir de la
+ <p>Le fournisseur <code>forward-dns</code> est disponible à partir de la
version 2.4.19 du serveur HTTP Apache.</p>
<h3><a name="reqlocal" id="reqlocal">Require local</a></h3>
- <p>Le fournisseur <code>local</code> autorise l'accès au serveur si
+ <p>Le fournisseur <code>local</code> autorise l'accès au serveur si
l'une au moins de ces conditions est satisfaite :</p>
<ul>
- <li>l'adresse IP du client correspond à 127.0.0.0/8</li>
+ <li>l'adresse IP du client correspond à 127.0.0.0/8</li>
<li>l'adresse IP du client est ::1</li>
<li>les adresses IP du client et du serveur sont identiques</li>
</ul>
- <p>L'exemple suivant montre une méthode simple pour sélectionner les
- connexions en provenance de l'hôte local :</p>
+ <p>L'exemple suivant montre une méthode simple pour sélectionner les
+ connexions en provenance de l'hôte local :</p>
<pre class="prettyprint lang-config">Require local</pre>
-<h3><a name="proxy" id="proxy">Note concernant la sécurité</a></h3>
+<h3><a name="proxy" id="proxy">Note concernant la sécurité</a></h3>
- <p>Si le contenu de votre serveur est mandaté, vous devez garder à
- l'esprit que l'adresse client correspondra à l'adresse de votre
- serveur mandataire et non à l'adresse du client, et l'utilisation de
+ <p>Si le contenu de votre serveur est mandaté, vous devez garder à
+ l'esprit que l'adresse client correspondra à l'adresse de votre
+ serveur mandataire et non à l'adresse du client, et l'utilisation de
la directive <code>Require</code> dans ce contexte ne provoquera pas
- forcément l'effet désiré. Voir <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> pour
- une solution possible à ce problème.</p>
+ forcément l'effet désiré. Voir <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> pour
+ une solution possible à ce problème.</p>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_host.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authz_host.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_authz_host.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_authz_owner</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_owner.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authz_owner.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_authz_owner.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_authz_owner.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_authz_owner.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation basée sur l'appartenance des
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation basée sur l'appartenance des
fichiers</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>authz_owner_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_owner.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authz_owner_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_owner.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module permet de contrôler l'accès aux fichiers en comparant
- l'identifiant utilisateur ayant servi à l'authentification HTTP
- (l'identifiant utilisateur web) avec le propriétaire ou le groupe
- du fichier demandé du point de vue du système de fichiers. Le nom
- d'utilisateur et le mot de passe doivent déjà avoir été vérifiés par
+ <p>Ce module permet de contrôler l'accès aux fichiers en comparant
+ l'identifiant utilisateur ayant servi à l'authentification HTTP
+ (l'identifiant utilisateur web) avec le propriétaire ou le groupe
+ du fichier demandé du point de vue du système de fichiers. Le nom
+ d'utilisateur et le mot de passe doivent déjà avoir été vérifiés par
un module d'authentification comme <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>
ou <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>.
- <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> reconnaît deux arguments pour la
+ <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> reconnaît deux arguments pour la
directive <code class="directive"><a href="../mod/core.html#require">Require</a></code> :
<code>file-owner</code> et <code>file-group</code> :</p>
<dl>
<dt><code>file-owner</code></dt>
- <dd>Le nom d'utilisateur web utilisé pour l'authentification doit
- correspondre au nom système du propriétaire du fichier demandé. En
- d'autres termes, si le système indique <code>jones</code> comme
- propriétaire du fichier demandé, le nom d'utilisateur fourni pour
- l'authentification HTTP doit aussi être <code>jones</code>.</dd>
+ <dd>Le nom d'utilisateur web utilisé pour l'authentification doit
+ correspondre au nom système du propriétaire du fichier demandé. En
+ d'autres termes, si le système indique <code>jones</code> comme
+ propriétaire du fichier demandé, le nom d'utilisateur fourni pour
+ l'authentification HTTP doit aussi être <code>jones</code>.</dd>
<dt><code>file-group</code></dt>
- <dd>Le nom du groupe système du fichier demandé doit être présent
- dans une base de données de groupes fournie, par exemple, par
+ <dd>Le nom du groupe système du fichier demandé doit être présent
+ dans une base de données de groupes fournie, par exemple, par
<code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> ou
<code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code>, et le nom d'utilisateur web fourni
- pour l'authentification doit être un membre de ce groupe. Par
- exemple, si le système indique que le groupe (système) du fichier
- demandé est <code>accounts</code>, le groupe <code>accounts</code>
- doit apparaître dans la base de données des groupes, et le nom
- d'utilisateur web utilisé pour l'authentification doit être un
+ pour l'authentification doit être un membre de ce groupe. Par
+ exemple, si le système indique que le groupe (système) du fichier
+ demandé est <code>accounts</code>, le groupe <code>accounts</code>
+ doit apparaître dans la base de données des groupes, et le nom
+ d'utilisateur web utilisé pour l'authentification doit être un
membre de ce groupe.</dd>
</dl>
<div class="note"><h3>Note</h3>
- <p>Si le module <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> est utilisé pour
- vérifier l'autorisation d'accès à une ressource qui n'est pas
- vraiment présente dans le système de fichiers (en d'autres termes
- une ressource virtuelle), il refusera l'accès.</p>
+ <p>Si le module <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> est utilisé pour
+ vérifier l'autorisation d'accès à une ressource qui n'est pas
+ vraiment présente dans le système de fichiers (en d'autres termes
+ une ressource virtuelle), il refusera l'accès.</p>
- <p>En particulier, il n'accordera jamais l'accès à une ressource
+ <p>En particulier, il n'accordera jamais l'accès à une ressource
du type <a href="../content-negotiation.html#multiviews">"Vues
- multiples" (MultiViews) d'un contenu négocié</a>.</p>
+ multiples" (MultiViews) d'un contenu négocié</a>.</p>
</div>
</div>
<div id="quickview"><h3>Sujets</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples de configuration</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_owner">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_owner">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_owner">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_owner">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<h2><a name="examples" id="examples">Exemples de configuration</a><a title="Lien permanent" href="#examples" class="permalink">¶</a></h2>
<h3><a name="examples.file-owner" id="examples.file-owner">Require file-owner</a></h3>
- <p>Considérons un serveur Web Apache fonctionnant sous un système
- multi-utilisateurs, où les fichiers de chaque utilisateur sont
- stockés dans <code>~/public_html/private</code>. En supposant
- qu'il n'existe qu'une seule base de données contenant les noms
+ <p>Considérons un serveur Web Apache fonctionnant sous un système
+ multi-utilisateurs, où les fichiers de chaque utilisateur sont
+ stockés dans <code>~/public_html/private</code>. En supposant
+ qu'il n'existe qu'une seule base de données contenant les noms
d'utilisateurs web, et que ces noms d'utilisateurs correspondent
- aux noms d'utilisateurs système qui sont les propriétaires
+ aux noms d'utilisateurs système qui sont les propriétaires
effectifs des fichiers, la configuration de l'exemple suivant
- n'accordera l'autorisation d'accès aux fichiers qu'à leur
- propriétaire. L'utilisateur <code>jones</code> ne sera pas
- autorisé à accéder aux fichiers situés dans
- <code>/home/smith/public_html/private</code>, à moins que leur
- propriétaire ne soit <code>jones</code> au lieu de
+ n'accordera l'autorisation d'accès aux fichiers qu'à leur
+ propriétaire. L'utilisateur <code>jones</code> ne sera pas
+ autorisé à accéder aux fichiers situés dans
+ <code>/home/smith/public_html/private</code>, à moins que leur
+ propriétaire ne soit <code>jones</code> au lieu de
<code>smith</code>.</p>
<pre class="prettyprint lang-config"><Directory "/home/*/public_html/private">
<h3><a name="examples.file-group" id="examples.file-group">Require file-group</a></h3>
- <p>Considérons un système similaire à celui décrit ci-dessus, mais
- où certains utilisateurs partagent leurs fichiers de projets dans
- <code>~/public_html/project-foo</code>. Le groupe système des
+ <p>Considérons un système similaire à celui décrit ci-dessus, mais
+ où certains utilisateurs partagent leurs fichiers de projets dans
+ <code>~/public_html/project-foo</code>. Le groupe système des
fichiers est <code>foo</code>, et il n'existe qu'une seule base de
- données <code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code> qui contient
+ données <code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code> qui contient
tous les noms d'utilisateurs web et leurs groupes d'appartenance.
Ces noms d'utilisateurs web doivent alors appartenir au moins au
groupe <code>foo</code>. En d'autres termes, si <code>jones</code>
et <code>smith</code> sont tous deux membres du groupe
- <code>foo</code>, ils seront autorisés à accéder aux
- répertoires <code>project-foo</code> de chacun d'entre eux.</p>
+ <code>foo</code>, ils seront autorisés à accéder aux
+ répertoires <code>project-foo</code> de chacun d'entre eux.</p>
<pre class="prettyprint lang-config"><Directory "/home/*/public_html/project-foo">
AuthType Basic
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_owner.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authz_owner.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_authz_owner.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_authz_owner.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_authz_owner.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_authz_user</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_user.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authz_user.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_authz_user.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_authz_user.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_authz_user.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation basée sur l'utilisateur</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation basée sur l'utilisateur</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>authz_user_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_user.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authz_user_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_user.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module permet d'accorder ou de refuser l'accès à certaines
- zones du site web aux utilisateurs authentifiés.
- <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code> accorde l'accès si l'utilisateur
- authentifié fait partie de la liste spécifiée par une directive
+ <p>Ce module permet d'accorder ou de refuser l'accès à certaines
+ zones du site web aux utilisateurs authentifiés.
+ <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code> accorde l'accès si l'utilisateur
+ authentifié fait partie de la liste spécifiée par une directive
<code>Require user</code>. On peut aussi utiliser la directive
- <code>Require valid-user</code> pour accorder l'accès à tous les
- utilisateurs qui ont été authentifiés avec succès.</p>
+ <code>Require valid-user</code> pour accorder l'accès à tous les
+ utilisateurs qui ont été authentifiés avec succès.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#requiredirectives">The Require Directives</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_user">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_user">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_user">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_user">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<p>Les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> d'Apache permettent,
au cours de la phase d'autorisation, de s'assurer qu'un utilisateur
- est bien autorisé à accéder à une
+ est bien autorisé à accéder à une
ressource. mod_authz_user ajoute
les types d'autorisation <code>user</code> et <code>valid-user</code>.
</p>
<h3><a name="requser" id="requser">Require user</a></h3>
- <p>Cette directive permet de spécifier une liste d'utilisateurs
- autorisés à accéder à la ressource.</p>
+ <p>Cette directive permet de spécifier une liste d'utilisateurs
+ autorisés à accéder à la ressource.</p>
<pre class="prettyprint lang-config">Require user john paul george ringo</pre>
<h3><a name="reqvaliduser" id="reqvaliduser">Require valid-user</a></h3>
- <p>Lorsque cette directive est définie, tout utilisateur qui s'est
- authentifié avec succès aura l'autorisation d'accès à la ressource.</p>
+ <p>Lorsque cette directive est définie, tout utilisateur qui s'est
+ authentifié avec succès aura l'autorisation d'accès à la ressource.</p>
<pre class="prettyprint lang-config">Require valid-user</pre>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_user.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_authz_user.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_authz_user.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_authz_user.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_authz_user.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_autoindex</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_autoindex.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_autoindex.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Génère automatiquement des index de répertoires d'une
-manière similaire à la commande Unix <code>ls</code>, ou à la commande
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Génère automatiquement des index de répertoires d'une
+manière similaire à la commande Unix <code>ls</code>, ou à la commande
shell Win32 <code>dir</code></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>autoindex_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_autoindex.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>autoindex_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_autoindex.c</td></tr></table>
<h3>Sommaire</h3>
- <p>L'index d'un répertoire peut être généré de deux manières :</p>
+ <p>L'index d'un répertoire peut être généré de deux manières :</p>
<ul>
- <li>Un fichier situé dans ce répertoire, en général appelé
- <code>index.html</code>, mais dont le nom de ce ou ces fichiers peut être défini par la
+ <li>Un fichier situé dans ce répertoire, en général appelé
+ <code>index.html</code>, mais dont le nom de ce ou ces fichiers peut être défini par la
directive <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>. C'est le module
<code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> qui traite alors cet index.</li>
- <li>Un listing généré par le serveur, dont le format est contrôlé
+ <li>Un listing généré par le serveur, dont le format est contrôlé
par un certain nombre de directives. Les directives <code class="directive"><a href="#addicon">AddIcon</a></code>, <code class="directive"><a href="#addiconbyencoding">AddIconByEncoding</a></code> et <code class="directive"><a href="#addiconbytype">AddIconByType</a></code> permettent de
- définir une liste d'icônes à afficher en fonction des différents
- types de fichiers ; pour chaque fichier listé, le premier icône
- qui correspond au type du fichier est affiché. C'est le module
+ définir une liste d'icônes à afficher en fonction des différents
+ types de fichiers ; pour chaque fichier listé, le premier icône
+ qui correspond au type du fichier est affiché. C'est le module
<code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> qui traite alors cet index.</li>
</ul>
- <p>Les deux fonctions sont séparées, si bien que vous pouvez
- entièrement supprimer (ou remplacer) la génération automatique
+ <p>Les deux fonctions sont séparées, si bien que vous pouvez
+ entièrement supprimer (ou remplacer) la génération automatique
d'index, si vous le souhaitez.</p>
- <p>On active la génération automatique d'index en spécifiant
- <code>Options +Indexes</code>. Voir la directive <code class="directive"><a href="../mod/core.html#options">Options</a></code> pour plus de détails.</p>
-
- <p>Si la directive <code class="directive"><a href="#indexoptions">IndexOptions</a></code> est spécifiée avec
- l'option <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>, les en-têtes de colonnes sont des liens
- qui permettent de contrôler l'ordre de tri de l'affichage. Si vous
- actionnez le lien d'un en-tête, le listing sera généré à nouveau,
- trié en fonction des valeurs de la colonne concernée. Si l'on
- actionne de manière répétitive le même en-tête, l'ordre de tri est
- commuté entre les ordres croissant et décroissant. On peut supprimer
- ces liens d'en-têtes de colonnes à l'aide de l'option
+ <p>On active la génération automatique d'index en spécifiant
+ <code>Options +Indexes</code>. Voir la directive <code class="directive"><a href="../mod/core.html#options">Options</a></code> pour plus de détails.</p>
+
+ <p>Si la directive <code class="directive"><a href="#indexoptions">IndexOptions</a></code> est spécifiée avec
+ l'option <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>, les en-têtes de colonnes sont des liens
+ qui permettent de contrôler l'ordre de tri de l'affichage. Si vous
+ actionnez le lien d'un en-tête, le listing sera généré à nouveau,
+ trié en fonction des valeurs de la colonne concernée. Si l'on
+ actionne de manière répétitive le même en-tête, l'ordre de tri est
+ commuté entre les ordres croissant et décroissant. On peut supprimer
+ ces liens d'en-têtes de colonnes à l'aide de l'option
<code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code>
de la directive <code class="directive"><a href="#indexoptions">IndexOptions</a></code>.</p>
- <p>Notez que lorsque l'affichage est trié en fonction de la taille,
- c'est la taille <em>réelle</em> qui est prise en compte, et non la
- valeur affichée - ainsi, un fichier de 1010 octets sera toujours
- affiché avant un fichier de 1011 octets (en ordre croissant), même
- si la taille affichée des deux fichiers est "1K".</p>
+ <p>Notez que lorsque l'affichage est trié en fonction de la taille,
+ c'est la taille <em>réelle</em> qui est prise en compte, et non la
+ valeur affichée - ainsi, un fichier de 1010 octets sera toujours
+ affiché avant un fichier de 1011 octets (en ordre croissant), même
+ si la taille affichée des deux fichiers est "1K".</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#query">Arguments de la requête d'autoindexation</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#query">Arguments de la requête d'autoindexation</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#addalt">AddAlt</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#indexstylesheet">IndexStyleSheet</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#readmename">ReadmeName</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_autoindex">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_autoindex">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_autoindex">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_autoindex">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="query" id="query">Arguments de la requête d'autoindexation</a><a title="Lien permanent" href="#query" class="permalink">¶</a></h2>
+<h2><a name="query" id="query">Arguments de la requête d'autoindexation</a><a title="Lien permanent" href="#query" class="permalink">¶</a></h2>
- <p>La chaîne de paramètres de la requête peut contenir de nombreux
- arguments permettant dans une certaine mesure au client de contrôler
- l'ordre de l'index du répertoire, ainsi que la liste des fichiers à
- afficher. Si vous souhaitez désactiver cette fonctionnalité,
+ <p>La chaîne de paramètres de la requête peut contenir de nombreux
+ arguments permettant dans une certaine mesure au client de contrôler
+ l'ordre de l'index du répertoire, ainsi que la liste des fichiers à
+ afficher. Si vous souhaitez désactiver cette fonctionnalité,
utilisez l'option <code><a href="#indexoptions.ignoreclient">IndexOptions
IgnoreClient</a></code>.</p>
- <p>Les en-têtes de tri des colonnes eux-mêmes sont des hyper-liens
- auto-référant qui ajoutent les options de tri à la requête énumérées
- ci-dessous qui peuvent être ajoutées à toute requête concernant la
- ressource répertoire.</p>
+ <p>Les en-têtes de tri des colonnes eux-mêmes sont des hyper-liens
+ auto-référant qui ajoutent les options de tri à la requête énumérées
+ ci-dessous qui peuvent être ajoutées à toute requête concernant la
+ ressource répertoire.</p>
<ul>
<li><code>C=N</code> trie l'affichage en fonction du nom de
fichier</li>
<li><code>C=M</code> trie l'affichage en fonction de la date de
- dernière modification, puis du nom de fichier</li>
+ dernière modification, puis du nom de fichier</li>
<li><code>C=S</code> trie l'affichage en fonction de la taille,
puis du nom de fichier</li>
<li><code>O=A</code> trie l'affichage selon l'ordre croissant</li>
<li class="separate"><code>O=D</code> trie l'affichage selon
- l'ordre décroissant</li>
+ l'ordre décroissant</li>
<li><code>F=0</code> affiche le listing sous la forme d'une simple
liste (sans FancyIndex)</li>
- <li><code>F=1</code> affiche le listing avec en-têtes de colonnes
+ <li><code>F=1</code> affiche le listing avec en-têtes de colonnes
sous forme de liens hyper-textes (FancyIndexed)</li>
<li class="separate"><code>F=2</code> affiche le listing sous
- forme de table HTML avec en-têtes de colonnes contenant des liens
+ forme de table HTML avec en-têtes de colonnes contenant des liens
hyper-textes (FancyIndexed)</li>
- <li><code>V=0</code> désactive le tri en fonction de la
+ <li><code>V=0</code> désactive le tri en fonction de la
version</li>
<li class="separate"><code>V=1</code> active le tri en fonction de
la version</li>
- <li><code>P=<var>modèle</var></code> n'affiche que les fichiers
- correspondant au <var>modèle</var> spécifié</li>
+ <li><code>P=<var>modèle</var></code> n'affiche que les fichiers
+ correspondant au <var>modèle</var> spécifié</li>
</ul>
- <p>Notez que l'argument 'P' (pour Pattern) n'est testé
- qu'<em>après</em> que les directives habituelles <code class="directive"><a href="#indexignore">IndexIgnore</a></code> ont été traitées,
- et que tous les noms de fichiers sont encore assujettis aux mêmes
- critères que pour tout autre listing auto-indexé. L'interpréteur
- d'arguments de requête de <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> s'arrête
- immédiatement s'il rencontre une option non reconnue. Les arguments
- de requête doivent être bien formés, selon la table ci-dessus.</p>
+ <p>Notez que l'argument 'P' (pour Pattern) n'est testé
+ qu'<em>après</em> que les directives habituelles <code class="directive"><a href="#indexignore">IndexIgnore</a></code> ont été traitées,
+ et que tous les noms de fichiers sont encore assujettis aux mêmes
+ critères que pour tout autre listing auto-indexé. L'interpréteur
+ d'arguments de requête de <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> s'arrête
+ immédiatement s'il rencontre une option non reconnue. Les arguments
+ de requête doivent être bien formés, selon la table ci-dessus.</p>
- <p>Les options de requêtes sont illustrées par l'exemple ci-dessous,
- qui peut être copié et collé dans un fichier header.html. Notez que
+ <p>Les options de requêtes sont illustrées par l'exemple ci-dessous,
+ qui peut être copié et collé dans un fichier header.html. Notez que
l'argument inconnu "X", pour le bouton submit, est introduit en
- dernier afin de s'assurer que tous les arguments ont été
- interprétés avant que mod_autoindex ne rencontre l'entrée X=Go.</p>
+ dernier afin de s'assurer que tous les arguments ont été
+ interprétés avant que mod_autoindex ne rencontre l'entrée X=Go.</p>
<div class="example"><p><code>
<form action="" method="get"><br />
<span class="indent">
<option value="0"> liste simple</option><br />
<option value="1" selected="selected"> liste avec
- en-têtes</option><br />
- <option value="2"> liste avec en-tête sous forme de
+ en-têtes</option><br />
+ <option value="2"> liste avec en-tête sous forme de
table</option><br />
</span>
</select><br />
- triée par <select name="C"><br />
+ triée par <select name="C"><br />
<span class="indent">
<option value="N" selected="selected"> nom</option><br />
<option value="M"> date de modification</option><br />
<select name="O"><br />
<span class="indent">
<option value="A" selected="selected"> croissant</option><br />
- <option value="D"> décroissant</option><br />
+ <option value="D"> décroissant</option><br />
</span>
</select><br />
<select name="V"><br />
<option value="1"> en fonction de la version</option><br />
</span>
</select><br />
- correspondant à <input type="text" name="P" value="*" /><br />
+ correspondant à <input type="text" name="P" value="*" /><br />
<input type="submit" name="X" value="Go" /><br />
</span>
</form>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="addalt" id="addalt">Directive</a> <a name="AddAlt" id="AddAlt">AddAlt</a><a title="Lien permanent" href="#addalt" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Texte optionnel à afficher à la place d'un icône pour un
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Texte optionnel à afficher à la place d'un icône pour un
fichier en fonction de son nom</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddAlt <var>texte</var> <var>fichier</var> [<var>fichier</var>] ...</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</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_autoindex</td></tr>
</table>
<p>La directive <code class="directive">AddAlt</code> permet d'afficher un
- texte optionnel pour un fichier, à la place d'un icône, dans le cas
+ texte optionnel pour un fichier, à la place d'un icône, dans le cas
d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
<var>fichier</var> est une extension de fichier, un nom de fichier
- partiel, une expression avec caractères génériques ou un nom de
- fichier complet permettant de caractériser le(s) fichier(s)
- concerné(s). Si <var>texte</var> contient des espaces, vous devez
+ partiel, une expression avec caractères génériques ou un nom de
+ fichier complet permettant de caractériser le(s) fichier(s)
+ concerné(s). Si <var>texte</var> contient des espaces, vous devez
l'entourer de guillemets ou d'apostrophes (<code>"</code> ou
- <code>'</code>). Ce texte optionnel sera affiché si le client ne
- peut pas afficher d'images, si le chargement d'images est désactivé
- ou si l'icône ne peut pas être trouvé.</p>
+ <code>'</code>). Ce texte optionnel sera affiché si le client ne
+ peut pas afficher d'images, si le chargement d'images est désactivé
+ ou si l'icône ne peut pas être trouvé.</p>
<pre class="prettyprint lang-config">AddAlt "PDF file" *.pdf
AddAlt Compressed *.gz *.zip *.Z</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="addaltbyencoding" id="addaltbyencoding">Directive</a> <a name="AddAltByEncoding" id="AddAltByEncoding">AddAltByEncoding</a><a title="Lien permanent" href="#addaltbyencoding" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Texte optionnel à afficher à la place d'un icône pour un
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Texte optionnel à afficher à la place d'un icône pour un
fichier en fonction de son codage MIME</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddAltByEncoding <var>texte</var> <var>codage MIME</var>
[<var>codage MIME</var>] ...</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</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_autoindex</td></tr>
</table>
<p>La directive <code class="directive">AddAltByEncoding</code> permet
- d'afficher un texte optionnel à la place d'un icône pour un fichier
+ d'afficher un texte optionnel à la place d'un icône pour un fichier
dans le cas d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
- <var>codage MIME</var> doit être un type valide, comme
+ <var>codage MIME</var> doit être un type valide, comme
<code>x-compress</code>. Si <var>texte</var> contient des espaces,
vous devez l'entourer de guillemets ou d'apostrophes (<code>"</code>
- ou <code>'</code>). Ce texte optionnel sera affiché si le client ne
- peut pas afficher d'images, si le chargement d'images est désactivé
- ou si l'icône ne peut pas être trouvé.</p>
+ ou <code>'</code>). Ce texte optionnel sera affiché si le client ne
+ peut pas afficher d'images, si le chargement d'images est désactivé
+ ou si l'icône ne peut pas être trouvé.</p>
<pre class="prettyprint lang-config">AddAltByEncoding gzip x-gzip</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="addaltbytype" id="addaltbytype">Directive</a> <a name="AddAltByType" id="AddAltByType">AddAltByType</a><a title="Lien permanent" href="#addaltbytype" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Texte optionnel à afficher à la place d'un icône pour un
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Texte optionnel à afficher à la place d'un icône pour un
fichier en fonction de son type MIME</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddAltByType <var>texte</var> <var>type MIME</var>
[<var>type MIME</var>] ...</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</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_autoindex</td></tr>
</table>
<p>La directive <code class="directive">AddAltByType</code> permet
- d'afficher un texte optionnel à la place d'un icône pour un fichier
+ d'afficher un texte optionnel à la place d'un icône pour un fichier
dans le cas d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
- <var>type MIME</var> doit être un type MIME valide, comme
+ <var>type MIME</var> doit être un type MIME valide, comme
<code>text/html</code>. Si <var>texte</var> contient des espaces,
vous devez l'entourer de guillemets ou d'apostrophes (<code>"</code>
- ou <code>'</code>). Ce texte optionnel sera affiché si le client ne
- peut pas afficher d'images, si le chargement d'images est désactivé
- ou si l'icône ne peut pas être trouvé.</p>
+ ou <code>'</code>). Ce texte optionnel sera affiché si le client ne
+ peut pas afficher d'images, si le chargement d'images est désactivé
+ ou si l'icône ne peut pas être trouvé.</p>
<pre class="prettyprint lang-config">AddAltByType 'Fichier texte' text/plain</pre>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Afficher la description d'un fichier</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddDescription <var>texte</var> [<var>fichier</var>] ...</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</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_autoindex</td></tr>
<p>Cette directive permet d'afficher une description pour un
fichier, dans le cas d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
<var>fichier</var> est une extension de fichier, un nom de fichier
- partiel, une expression avec caractères génériques ou un nom de
- fichier complet permettant de caractériser le fichier.
- <var>texte</var> doit être entouré de guillemets
+ partiel, une expression avec caractères génériques ou un nom de
+ fichier complet permettant de caractériser le fichier.
+ <var>texte</var> doit être entouré de guillemets
(<code>"</code>).</p>
<pre class="prettyprint lang-config">AddDescription "The planet Mars" mars.gif
AddDescription "My friend Marshall" friends/mars.gif</pre>
- <p>La taille par défaut, habituelle du champ de description est de
+ <p>La taille par défaut, habituelle du champ de description est de
23 octets. L'option <code><a href="#indexoptions.suppressicon">IndexOptions SuppressIcon</a></code> ajoute 6 octets, l'option
<code><a href="#indexoptions.suppresssize">IndexOptions
SuppressSize</a></code> en ajoute 7 et l'option <code><a href="#indexoptions.suppresslastmodified">IndexOptions
SuppressLastModified</a></code> en ajoute 19. Ainsi, la plus grande
- taille par défaut qui peut être assignée à la colonne description
+ taille par défaut qui peut être assignée à la colonne description
est de 55 octets.</p>
- <p>Comme l'argument <var>fichier</var> peut être un nom de fichier
- partiel, vous devez garder à l'esprit qu'un nom de fichier partiel
- trop court pourra correspondre à des fichiers non voulus. Par
+ <p>Comme l'argument <var>fichier</var> peut être un nom de fichier
+ partiel, vous devez garder à l'esprit qu'un nom de fichier partiel
+ trop court pourra correspondre à des fichiers non voulus. Par
exemple, <code>le.html</code> correspondra au fichier
<code>le.html</code>, mais aussi au fichier
- <code>example.html</code>. En cas d'ambiguïté, utilisez un nom de
+ <code>example.html</code>. En cas d'ambiguïté, utilisez un nom de
fichier aussi complet que possible, et ordonnez votre liste de
- directives <code>AddDescription</code> en conséquence.</p>
+ directives <code>AddDescription</code> en conséquence.</p>
- <p>Voir le mot-clé <a href="#indexoptions.descriptionwidth">DescriptionWidth</a> de la directive <code class="directive"><a href="#indexoptions">IndexOptions</a></code> pour plus de
- détails sur la manière d'augmenter la taille de cette colonne, ou
- pour permettre des descriptions de taille illimitée.</p>
+ <p>Voir le mot-clé <a href="#indexoptions.descriptionwidth">DescriptionWidth</a> de la directive <code class="directive"><a href="#indexoptions">IndexOptions</a></code> pour plus de
+ détails sur la manière d'augmenter la taille de cette colonne, ou
+ pour permettre des descriptions de taille illimitée.</p>
<div class="note"><h3>Avertissement</h3>
- <p>Le texte descriptif défini par la directive
+ <p>Le texte descriptif défini par la directive
<code class="directive">AddDescription</code> peut contenir des marquages
- HTML, comme des balises ou des entités caractères. Si la limite de
- taille de la colonne description venait à tronquer une balise (par
- exemple couper la fin d'une phrase en caractères gras), le
- résultat pourrait en affecter toute la suite du listing du
- répertoire.</p>
+ HTML, comme des balises ou des entités caractères. Si la limite de
+ taille de la colonne description venait à tronquer une balise (par
+ exemple couper la fin d'une phrase en caractères gras), le
+ résultat pourrait en affecter toute la suite du listing du
+ répertoire.</p>
</div>
<div class="note"><h3>Arguments avec chemins</h3>
- <p>Les chemins absolus ne sont actuellement pas supportés et ne
- peuvent correspondre à aucun chemin réel à l'exécution. Les
- arguments contenant des chemins relatifs, qui ne devraient être
- normalement utilisés que dans les fichiers htaccess, sont
- implicitement préfixés par '*/' afin d'éviter toute association
- avec des noms de répertoires partiels.</p>
+ <p>Les chemins absolus ne sont actuellement pas supportés et ne
+ peuvent correspondre à aucun chemin réel à l'exécution. Les
+ arguments contenant des chemins relatifs, qui ne devraient être
+ normalement utilisés que dans les fichiers htaccess, sont
+ implicitement préfixés par '*/' afin d'éviter toute association
+ avec des noms de répertoires partiels.</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="addicon" id="addicon">Directive</a> <a name="AddIcon" id="AddIcon">AddIcon</a><a title="Lien permanent" href="#addicon" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icône à afficher pour un fichier en fonction de son
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icône à afficher pour un fichier en fonction de son
nom</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddIcon <var>icône</var> <var>nom</var> [<var>nom</var>]
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddIcon <var>icône</var> <var>nom</var> [<var>nom</var>]
...</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</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_autoindex</td></tr>
</table>
- <p>Cette directive permet de déterminer l'icône à afficher à côté
+ <p>Cette directive permet de déterminer l'icône à afficher à côté
d'un fichier dont le nom se termine par <var>nom</var>, dans le cas
- d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. <var>icône</var> est une URL relative
- (échappée par des caractères '%') vers
- l'icône, une URL distante pleinement qualifiée, ou de la forme
- <code>(<var>alttext</var>,<var>url</var>)</code>, où
- <var>alttext</var> est le symbole texte correspondant à l'icône à
+ d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. <var>icône</var> est une URL relative
+ (échappée par des caractères '%') vers
+ l'icône, une URL distante pleinement qualifiée, ou de la forme
+ <code>(<var>alttext</var>,<var>url</var>)</code>, où
+ <var>alttext</var> est le symbole texte correspondant à l'icône à
afficher dans les navigateurs en mode texte.</p>
- <p><var>nom</var> correspond à <code>^^DIRECTORY^^</code> pour les
- répertoires, <code>^^BLANKICON^^</code> pour les lignes vides
- (pour personnaliser la présentation du listing), une extension de
- fichier, une expression avec caractères génériques, un nom de
+ <p><var>nom</var> correspond à <code>^^DIRECTORY^^</code> pour les
+ répertoires, <code>^^BLANKICON^^</code> pour les lignes vides
+ (pour personnaliser la présentation du listing), une extension de
+ fichier, une expression avec caractères génériques, un nom de
fichier partiel ou un nom de fichier complet.</p>
- <p><code>^^BLANKICON^^</code> n'est utilisé que pour le formatage,
- et n'est donc pas nécessaire si vous utilisez <code>IndexOptions
+ <p><code>^^BLANKICON^^</code> n'est utilisé que pour le formatage,
+ et n'est donc pas nécessaire si vous utilisez <code>IndexOptions
HTMLTable</code>.</p>
<pre class="prettyprint lang-config">#Examples
AddIcon /icons/backup.png *~</pre>
- <p>Lorsque c'est possible, il est préférable d'utiliser <code class="directive"><a href="#addiconbytype">AddIconByType</a></code> plutôt que
+ <p>Lorsque c'est possible, il est préférable d'utiliser <code class="directive"><a href="#addiconbytype">AddIconByType</a></code> plutôt que
<code class="directive">AddIcon</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="addiconbyencoding" id="addiconbyencoding">Directive</a> <a name="AddIconByEncoding" id="AddIconByEncoding">AddIconByEncoding</a><a title="Lien permanent" href="#addiconbyencoding" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icône à afficher à côté d'un fichier en fonction de son
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icône à afficher à côté d'un fichier en fonction de son
codage MIME</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddIconByEncoding <var>icône</var> <var>codage MIME</var>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddIconByEncoding <var>icône</var> <var>codage MIME</var>
[<var>codage MIME</var>] ...</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</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_autoindex</td></tr>
</table>
- <p>Cette directive permet de déterminer l'icône à afficher à côté
+ <p>Cette directive permet de déterminer l'icône à afficher à côté
d'un fichier dans le cas d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
- <var>icône</var> est une URL relative
- (échappée par des caractères '%') vers
- l'icône, une URL pleinement qualifiée, ou de la forme
- <code>(<var>alttext</var>,<var>url</var>)</code>, où
- <var>alttext</var> est le symbole texte correspondant à l'icône à
+ <var>icône</var> est une URL relative
+ (échappée par des caractères '%') vers
+ l'icône, une URL pleinement qualifiée, ou de la forme
+ <code>(<var>alttext</var>,<var>url</var>)</code>, où
+ <var>alttext</var> est le symbole texte correspondant à l'icône à
afficher dans les navigateurs en mode texte.</p>
- <p><var>codage MIME</var> doit être un codage valide, comme
+ <p><var>codage MIME</var> doit être un codage valide, comme
<code>x-compress</code>.</p>
<pre class="prettyprint lang-config">AddIconByEncoding /icons/compress.png x-compress</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="addiconbytype" id="addiconbytype">Directive</a> <a name="AddIconByType" id="AddIconByType">AddIconByType</a><a title="Lien permanent" href="#addiconbytype" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icône à afficher à côté d'un fichier en fonction de son
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icône à afficher à côté d'un fichier en fonction de son
type MIME</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddIconByType <var>icône</var> <var>type MIME</var>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddIconByType <var>icône</var> <var>type MIME</var>
[<var>type MIME</var>] ...</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</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_autoindex</td></tr>
</table>
- <p>Cette directive permet de déterminer l'icône à afficher à côté
+ <p>Cette directive permet de déterminer l'icône à afficher à côté
d'un fichier de type MIME <var>type MIME</var> dans le cas d'un
affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
- <var>icône</var> est une URL relative
- (échappée par des caractères '%') vers
- l'icône, une URL pleinement qualifiée, ou de la forme
- <code>(<var>alttext</var>,<var>url</var>)</code>, où
- <var>alttext</var> est le symbole texte correspondant à l'icône à
+ <var>icône</var> est une URL relative
+ (échappée par des caractères '%') vers
+ l'icône, une URL pleinement qualifiée, ou de la forme
+ <code>(<var>alttext</var>,<var>url</var>)</code>, où
+ <var>alttext</var> est le symbole texte correspondant à l'icône à
afficher dans les navigateurs en mode texte.</p>
- <p><var>type MIME</var> est une expression avec caractères
- génériques représentant le type MIME.</p>
+ <p><var>type MIME</var> est une expression avec caractères
+ génériques représentant le type MIME.</p>
<pre class="prettyprint lang-config">AddIconByType (IMG,/icons/image.png) image/*</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="defaulticon" id="defaulticon">Directive</a> <a name="DefaultIcon" id="DefaultIcon">DefaultIcon</a><a title="Lien permanent" href="#defaulticon" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icône à afficher par défaut lorsqu'aucun icône spécifique
-n'est précisé</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Icône à afficher par défaut lorsqu'aucun icône spécifique
+n'est précisé</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DefaultIcon <var>chemin URL</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</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_autoindex</td></tr>
</table>
- <p>La directive <code class="directive">DefaultIcon</code> permet de définir
- l'icône à afficher à côté d'un fichier lorsqu'aucun icône spécifique
- n'a été précisé, dans le cas d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
- <var>chemin URL</var> est une URL relative (échappée par des
- caractères '%') vers l'icône ou une URL pleinement qualifiée.</p>
+ <p>La directive <code class="directive">DefaultIcon</code> permet de définir
+ l'icône à afficher à côté d'un fichier lorsqu'aucun icône spécifique
+ n'a été précisé, dans le cas d'un affichage <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>.
+ <var>chemin URL</var> est une URL relative (échappée par des
+ caractères '%') vers l'icône ou une URL pleinement qualifiée.</p>
<pre class="prettyprint lang-config">DefaultIcon /icon/unknown.png</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="headername" id="headername">Directive</a> <a name="HeaderName" id="HeaderName">HeaderName</a><a title="Lien permanent" href="#headername" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du fichier qui sera inséré au début de la page
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du fichier qui sera inséré au début de la page
contenant l'index</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HeaderName <var>nom fichier</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</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_autoindex</td></tr>
</table>
- <p>La directive <code class="directive">HeaderName</code> permet de définir
- le nom du fichier qui sera inséré au début de la page contenant
- l'index. <var>nom fichier</var> est le nom du fichier à inclure.</p>
+ <p>La directive <code class="directive">HeaderName</code> permet de définir
+ le nom du fichier qui sera inséré au début de la page contenant
+ l'index. <var>nom fichier</var> est le nom du fichier à inclure.</p>
<pre class="prettyprint lang-config">HeaderName HEADER.html</pre>
<div class="note">
<p>Les deux directives HeaderName et <code class="directive"><a href="#readmename">ReadmeName</a></code> traitent maintenant
<var>nom fichier</var> comme un chemin URI relatif au chemin
- utilisé pour accéder au répertoire faisant l'objet de l'index. Si
+ utilisé pour accéder au répertoire faisant l'objet de l'index. Si
<var>nom fichier</var> commence par un slash '/', il sera
- considéré comme relatif au répertoire défini par la directive
+ considéré comme relatif au répertoire défini par la directive
<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>.</p>
<pre class="prettyprint lang-config">HeaderName /include/HEADER.html</pre>
- <p><var>nom fichier</var> doit correspondre à un document dont le
+ <p><var>nom fichier</var> doit correspondre à un document dont le
type MIME est du style <code>text/*</code> (<em>par exemple</em>
<code>text/html</code>, <code>text/plain</code>, etc...). Cela
- signifie que <var>nom fichier</var> peut faire référence à un
- script CGI si le véritable type MIME du script (et non celui de sa
- sortie) est marqué comme <code>text/html</code> par exemple à
+ signifie que <var>nom fichier</var> peut faire référence à un
+ script CGI si le véritable type MIME du script (et non celui de sa
+ sortie) est marqué comme <code>text/html</code> par exemple à
l'aide d'une directive comme :</p>
<pre class="prettyprint lang-config">AddType text/html .cgi</pre>
- <p>Une <a href="../content-negotiation.html">négociation de
- contenu</a> sera effectuée si <code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>MultiViews</code> a été
- précisé. Si <var>nom fichier</var> correspond à un document
- statique <code>text/html</code> (et non à un script CGI), et une
+ <p>Une <a href="../content-negotiation.html">négociation de
+ contenu</a> sera effectuée si <code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>MultiViews</code> a été
+ précisé. Si <var>nom fichier</var> correspond à un document
+ statique <code>text/html</code> (et non à un script CGI), et une
des deux <code class="directive"><a href="../mod/core.html#options">options</a></code>
- <code>Includes</code> ou <code>IncludesNOEXEC</code> est activée,
- le fichier sera traité en tant qu'inclusion côté serveur (Server
+ <code>Includes</code> ou <code>IncludesNOEXEC</code> est activée,
+ le fichier sera traité en tant qu'inclusion côté serveur (Server
Side Include) (voir la documentation de
<code class="module"><a href="../mod/mod_include.html">mod_include</a></code>).</p>
</div>
- <p>Si le fichier spécifié par la directive
- <code class="directive">HeaderName</code> contient les en-têtes d'un
+ <p>Si le fichier spécifié par la directive
+ <code class="directive">HeaderName</code> contient les en-têtes d'un
document HTML ((<html>, <head>, etc...), vous serez
- probablement amené à définir <a href="#indexoptions.suppresshtmlpreamble"><code>IndexOptions
- +SuppressHTMLPreamble</code></a>, de manière à ce que ces balises ne
- soient pas répétées.</p>
+ probablement amené à définir <a href="#indexoptions.suppresshtmlpreamble"><code>IndexOptions
+ +SuppressHTMLPreamble</code></a>, de manière à ce que ces balises ne
+ soient pas répétées.</p>
<h3>Voir aussi</h3>
<ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="indexheadinsert" id="indexheadinsert">Directive</a> <a name="IndexHeadInsert" id="IndexHeadInsert">IndexHeadInsert</a><a title="Lien permanent" href="#indexheadinsert" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Insère du texte dans la section HEAD de la page
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Insère du texte dans la section HEAD de la page
d'index.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IndexHeadInsert <var>"marque ..."</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</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_autoindex</td></tr>
</table>
<p>La directive <code class="directive">IndexHeadInsert</code> permet de
- spécifier une chaîne de caractères à insérer dans la section
- <var><head></var> du code HTML généré pour la page
+ spécifier une chaîne de caractères à insérer dans la section
+ <var><head></var> du code HTML généré pour la page
d'index.</p>
<pre class="prettyprint lang-config">IndexHeadInsert "<link rel=\"sitemap\" href=\"/sitemap.html\">"</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="indexignore" id="indexignore">Directive</a> <a name="IndexIgnore" id="IndexIgnore">IndexIgnore</a><a title="Lien permanent" href="#indexignore" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajouts à la liste des fichiers à cacher lors de l'affichage
-de l'index d'un répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajouts à la liste des fichiers à cacher lors de l'affichage
+de l'index d'un répertoire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IndexIgnore <var>fichier</var> [<var>fichier</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>IndexIgnore "."</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#Default">Défaut:</a></th><td><code>IndexIgnore "."</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">AllowOverride:</a></th><td>Indexes</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_autoindex</td></tr>
</table>
<p>La directive <code class="directive">IndexIgnore</code> permet
- d'effectuer des ajouts à la liste des fichiers à cacher lors de
- l'affichage de l'index d'un répertoire. <var>fichier</var> est une
- expression avec caractères génériques de style shell ou un nom de
+ d'effectuer des ajouts à la liste des fichiers à cacher lors de
+ l'affichage de l'index d'un répertoire. <var>fichier</var> est une
+ expression avec caractères génériques de style shell ou un nom de
fichier complet. Plusieurs directives IndexIgnore effectuent des
- ajouts à la liste, et ne remplacent pas la liste des fichiers à
- ignorer. Par défaut, la liste contient <code>.</code> (le répertoire
+ ajouts à la liste, et ne remplacent pas la liste des fichiers à
+ ignorer. Par défaut, la liste contient <code>.</code> (le répertoire
courant).</p>
<pre class="prettyprint lang-config">IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="indexignorereset" id="indexignorereset">Directive</a> <a name="IndexIgnoreReset" id="IndexIgnoreReset">IndexIgnoreReset</a><a title="Lien permanent" href="#indexignorereset" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vide la liste des fichiers à cacher lors de l'affichage du
-contenu d'un répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vide la liste des fichiers à cacher lors de l'affichage du
+contenu d'un répertoire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IndexIgnoreReset ON|OFF</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</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_autoindex</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 2.3.10 et supérieures</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 2.3.10 et supérieures</td></tr>
</table>
<p>La directive <code class="directive">IndexIgnoreReset</code> supprime
- toute liste de fichiers définie par la directive
- <code class="directive">IndexIgnore</code> et héritée par ailleurs d'autres
+ toute liste de fichiers définie par la directive
+ <code class="directive">IndexIgnore</code> et héritée par ailleurs d'autres
sections de configuration.</p>
<pre class="prettyprint lang-config"><Directory "/var/www">
</Directory></pre>
- <div class="warning"><p>Revoyez la configuration par défaut pour une
- liste de modèles que vous voulez ignorer explicitement après usage
+ <div class="warning"><p>Revoyez la configuration par défaut pour une
+ liste de modèles que vous voulez ignorer explicitement après usage
de cette directive.</p></div>
</div>
<div class="directive-section"><h2><a name="indexoptions" id="indexoptions">Directive</a> <a name="IndexOptions" id="IndexOptions">IndexOptions</a><a title="Lien permanent" href="#indexoptions" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Diverses options de configuration pour l'indexation d'un
-répertoire</td></tr>
+répertoire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>]
...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Par défaut, aucune option n'est activée.</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#Default">Défaut:</a></th><td><code>Par défaut, aucune option n'est activée.</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">AllowOverride:</a></th><td>Indexes</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_autoindex</td></tr>
</table>
<p>La directive <code class="directive">IndexOptions</code> permet de
- spécifier les options de configuration de l'indexation du
- répertoire. <var>option</var> peut prendre l'une des valeurs
+ spécifier les options de configuration de l'indexation du
+ répertoire. <var>option</var> peut prendre l'une des valeurs
suivantes :</p>
<dl>
<dt><a name="indexoptions.addaltclass" id="indexoptions.addaltclass">AddAltClass</a></dt>
- <dd>Ajoute une déclaration de classe CSS supplémentaire à chaque
- enregistrement de la table du listing du répertoire dans le cas où
- <code>IndexOptions HTMLTable</code> est activé et où un
- <code>IndexStyleSheet</code> a été défini. Plutôt que d'appliquer
- à chaque enregistrement de la table les classes standards
+ <dd>Ajoute une déclaration de classe CSS supplémentaire à chaque
+ enregistrement de la table du listing du répertoire dans le cas où
+ <code>IndexOptions HTMLTable</code> est activé et où un
+ <code>IndexStyleSheet</code> a été défini. Plutôt que d'appliquer
+ à chaque enregistrement de la table les classes standards
<code>even</code> et <code>odd</code>, c'est ici une classe
<code>even-<em>ALT</em></code> ou <code>odd-<em>ALT</em></code>
- qui sera appliquée, où <em>ALT</em> sera soit le texte alternatif
- standard associé au style du fichier (par exemple <em>snd</em>,
+ qui sera appliquée, où <em>ALT</em> sera soit le texte alternatif
+ standard associé au style du fichier (par exemple <em>snd</em>,
<em>txt</em>, <em>img</em>, etc...), soit le texte alternatif
- défini par une des différentes directives <code>AddAlt*</code>.
+ défini par une des différentes directives <code>AddAlt*</code>.
</dd>
- <dt><a name="indexoptions.charset" id="indexoptions.charset">Charset=<var>jeu de caractères</var></a> (<em>Versions 2.0.61 et
- supérieures du serveur HTTP Apache</em>)</dt>
+ <dt><a name="indexoptions.charset" id="indexoptions.charset">Charset=<var>jeu de caractères</var></a> (<em>Versions 2.0.61 et
+ supérieures du serveur HTTP Apache</em>)</dt>
- <dd>Le mot-clé <code>Charset</code> vous permet de spécifier le
- jeu de caractères de la page générée. La valeur par défaut est
+ <dd>Le mot-clé <code>Charset</code> vous permet de spécifier le
+ jeu de caractères de la page générée. La valeur par défaut est
<var>UTF-8</var> sous Windows et MAC OS X, et
<var>ISO-8859-1</var> dans les autres cas (en fait selon que le
- système de fichiers sous-jacent utilise les noms de fichiers en
+ système de fichiers sous-jacent utilise les noms de fichiers en
Unicode ou non).
<pre class="prettyprint lang-config">IndexOptions Charset=UTF-8</pre>
<dt><a name="indexoptions.descriptionwidth" id="indexoptions.descriptionwidth">DescriptionWidth=[<var>n</var> | *]</a></dt>
- <dd>Le mot-clé <code>DescriptionWidth</code> vous permet de
- spécifier la taille en caractères de la colonne description.</dd>
+ <dd>Le mot-clé <code>DescriptionWidth</code> vous permet de
+ spécifier la taille en caractères de la colonne description.</dd>
<dt>Avec <code>-DescriptionWidth</code> (ou si l'option n'est pas
- définie), <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> calcule la meilleure
+ définie), <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> calcule la meilleure
taille.</dt>
<dd><code>DescriptionWidth=<var>n</var></code> fixe la taille de
- la colonne à <var>n</var> octets.</dd>
+ la colonne à <var>n</var> octets.</dd>
<dd><code>DescriptionWidth=*</code> ajuste la taille de la colonne
- à la plus longue chaîne de description.
+ à la plus longue chaîne de description.
<strong>Voir la section concernant <code class="directive"><a href="#adddescription">AddDescription</a></code> pour les dangers
- inhérants à la troncature des descriptions.</strong></dd>
+ inhérants à la troncature des descriptions.</strong></dd>
<dt><a name="indexoptions.fancyindexing" id="indexoptions.fancyindexing">FancyIndexing</a></dt>
- <dd>Cette option active l'indexation "améliorée" des répertoires,
- c'est à dire avec en-têtes de colonnes sous forme d'hyper-liens
- auto-référants.</dd>
+ <dd>Cette option active l'indexation "améliorée" des répertoires,
+ c'est à dire avec en-têtes de colonnes sous forme d'hyper-liens
+ auto-référants.</dd>
<dt><a name="indexoptions.foldersfirst" id="indexoptions.foldersfirst">FoldersFirst</a></dt>
- <dd>Lorsque cette option est activée, la liste des
- sous-répertoires apparaîtra <em>toujours</em> en premier, suivie
- de la liste des fichiers normaux du répertoire. Le listing
+ <dd>Lorsque cette option est activée, la liste des
+ sous-répertoires apparaîtra <em>toujours</em> en premier, suivie
+ de la liste des fichiers normaux du répertoire. Le listing
comporte principalement deux parties, les fichiers et les
- sous-répertoires, chacun d'eux étant trié séparément et les
- sous-répertoires affichés en premier. Par exemple, si l'ordre de
- tri est décroissant par nom, et si <code>FoldersFirst</code> est
- activé, le sous-répertoire <code>Zed</code> sera affiché avant le
- sous-répertoire <code>Beta</code>, qui sera lui-même affiché avant
+ sous-répertoires, chacun d'eux étant trié séparément et les
+ sous-répertoires affichés en premier. Par exemple, si l'ordre de
+ tri est décroissant par nom, et si <code>FoldersFirst</code> est
+ activé, le sous-répertoire <code>Zed</code> sera affiché avant le
+ sous-répertoire <code>Beta</code>, qui sera lui-même affiché avant
les fichiers normaux <code>Gamma</code> et <code>Alpha</code>.
<strong>Cette option n'a d'effet que si <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a>
- est aussi activé.</strong>
+ est aussi activé.</strong>
</dd>
<dt><a name="indexoptions.htmltable" id="indexoptions.htmltable">HTMLTable</a></dt>
<dd>Cette option pour l'affichage
<code>FancyIndexing</code> permet de construire une table simple
- pour l'affichage de l'index du répertoire. Cette option s'avèrera
- particulièrement nécessaire pour les plates-formes où utf-8 est
- activé et dans le cas où les noms de fichiers ou les chaînes
- de description alternent entre les ordres de lecture gauche à
- droite et droite à gauche.</dd>
+ pour l'affichage de l'index du répertoire. Cette option s'avèrera
+ particulièrement nécessaire pour les plates-formes où utf-8 est
+ activé et dans le cas où les noms de fichiers ou les chaînes
+ de description alternent entre les ordres de lecture gauche à
+ droite et droite à gauche.</dd>
<dt><a name="indexoptions.iconsarelinks" id="indexoptions.iconsarelinks">IconsAreLinks</a></dt>
- <dd>Configure la partie réservée aux icônes de l'ancrage pour le
- nom de fichier, dans le cas d'un affichage "amélioré".</dd>
+ <dd>Configure la partie réservée aux icônes de l'ancrage pour le
+ nom de fichier, dans le cas d'un affichage "amélioré".</dd>
<dt><a name="indexoptions.iconheight" id="indexoptions.iconheight">IconHeight[=<var>pixels</var>]</a></dt>
- <dd>Si cette option est présente, en combinaison avec
+ <dd>Si cette option est présente, en combinaison avec
<code>IconWidth</code>, le serveur va inclure les attributs
<code>height</code> et <code>width</code> dans la balise
- <code>img</code> qui référence le fichier de l'icône. Ceci va
- permettre au navigateur de prévoir les caractéristiques de la page
- sans devoir attendre que toutes les images aient été chargées. En
- l'absence de cette option, c'est la hauteur standard définie par
- le logiciel Apache httpd qui est choisie comme valeur par défaut.
+ <code>img</code> qui référence le fichier de l'icône. Ceci va
+ permettre au navigateur de prévoir les caractéristiques de la page
+ sans devoir attendre que toutes les images aient été chargées. En
+ l'absence de cette option, c'est la hauteur standard définie par
+ le logiciel Apache httpd qui est choisie comme valeur par défaut.
<strong>Cette option n'a d'effet que si <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a>
- est aussi activé.</strong>
+ est aussi activé.</strong>
</dd>
<dt><a name="indexoptions.iconwidth" id="indexoptions.iconwidth">IconWidth[=<var>pixels</var>]</a></dt>
- <dd>Si cette option est présente, en combinaison avec
+ <dd>Si cette option est présente, en combinaison avec
<code>IconHeight</code>, le serveur va inclure les attributs
<code>height</code> et <code>width</code> dans la balise
- <code>img</code> qui référence le fichier de l'icône. Ceci va
- permettre au navigateur de prévoir les caractéristiques de la page
- sans devoir attendre que toutes les images aient été chargées. En
- l'absence de cette option, c'est la largeur standard définie par
- le logiciel Apache httpd qui est choisie comme valeur par défaut.</dd>
+ <code>img</code> qui référence le fichier de l'icône. Ceci va
+ permettre au navigateur de prévoir les caractéristiques de la page
+ sans devoir attendre que toutes les images aient été chargées. En
+ l'absence de cette option, c'est la largeur standard définie par
+ le logiciel Apache httpd qui est choisie comme valeur par défaut.</dd>
<dt><a name="indexoptions.ignorecase" id="indexoptions.ignorecase">IgnoreCase</a></dt>
- <dd>Si cette option est activée, les noms sont triés sans tenir
+ <dd>Si cette option est activée, les noms sont triés sans tenir
compte de la casse. Par exemple, si le tri s'effectue sur les noms
- dans l'ordre croissant, et si <code>IgnoreCase</code> est activé,
- le fichier Zeta apparaîtra après le fichier alfa (Note : le
- fichier GAMMA apparaîtra toujours avant le fichier gamma).
+ dans l'ordre croissant, et si <code>IgnoreCase</code> est activé,
+ le fichier Zeta apparaîtra après le fichier alfa (Note : le
+ fichier GAMMA apparaîtra toujours avant le fichier gamma).
</dd>
<dt><a name="indexoptions.ignoreclient" id="indexoptions.ignoreclient">IgnoreClient</a></dt>
- <dd>Si cette option est activée, <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> va
- ignorer toutes les variables de requête fournies par le client, y
+ <dd>Si cette option est activée, <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> va
+ ignorer toutes les variables de requête fournies par le client, y
compris les informations de tri (ce qui implique l'activation de
l'option <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code>).</dd>
<dt><a name="indexoptions.namewidth" id="indexoptions.namewidth">NameWidth=[<var>n</var>
| *]</a></dt>
- <dd>Le mot-clé <code>NameWidth</code> vous permet de spécifier la
+ <dd>Le mot-clé <code>NameWidth</code> vous permet de spécifier la
largeur en octets de la colonne correspondant au nom du
fichier.</dd>
<dd>Avec <code>-NameWidth</code> (ou si l'option n'est pas
- définie), <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> va calculer la meilleure largeur
- possible, mais jusqu'à une largeur maximale de 20 octets.</dd>
+ définie), <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> va calculer la meilleure largeur
+ possible, mais jusqu'à une largeur maximale de 20 octets.</dd>
<dd><code>NameWidth=<var>n</var></code> fixe la largeur de la
- colonne à <var>n</var> octets.</dd>
+ colonne à <var>n</var> octets.</dd>
- <dd><code>NameWidth=*</code> définit la largeur de colonne à la
- valeur nécessaire.</dd>
+ <dd><code>NameWidth=*</code> définit la largeur de colonne à la
+ valeur nécessaire.</dd>
<dt><a name="indexoptions.scanhtmltitles" id="indexoptions.scanhtmltitles">ScanHTMLTitles</a></dt>
<dd>L'activation de cette option permet d'extraire le titre des
- documents HTML dans le cas d'un affichage "amélioré". Si le fichier
- ne possède aucune description définie par la directive <code class="directive"><a href="#adddescription">AddDescription</a></code>, httpd va lire
+ documents HTML dans le cas d'un affichage "amélioré". Si le fichier
+ ne possède aucune description définie par la directive <code class="directive"><a href="#adddescription">AddDescription</a></code>, httpd va lire
le document pour tenter d'en extraire le <code>titre</code>. Ce
- processus est coûteux en ressources disque et CPU.</dd>
+ processus est coûteux en ressources disque et CPU.</dd>
<dt><a name="indexoptions.showforbidden" id="indexoptions.showforbidden">ShowForbidden</a></dt>
- <dd>Si cette option est activée, Apache httpd affichera les fichiers
- normalement cachés suite au retour des valeurs
+ <dd>Si cette option est activée, Apache httpd affichera les fichiers
+ normalement cachés suite au retour des valeurs
<code>HTTP_UNAUTHORIZED</code> ou <code>HTTP_FORBIDDEN</code> par
- la sous-requête.</dd>
+ la sous-requête.</dd>
<dt><a name="indexoptions.suppresscolumnsorting" id="indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></dt>
- <dd>Si cette option est activée, Apache httpd supprimera les liens
- hyper-texte dans les en-têtes de colonnes dans le cas d'un
- affichage "amélioré". Par défaut, ces en-têtes constituent des liens
- hyper-texte, et la sélection de l'un d'entre eux va trier l'index
- du répertoire en fonction des valeurs de la colonne
- correspondante. Cependant, les arguments de la chaîne de
- paramètres de la requête ajoutés à l'URL seront toujours ignorés.
- Ce comportement est contrôlé par l'option <a href="#indexoptions.ignoreclient"><code>IndexOptions
+ <dd>Si cette option est activée, Apache httpd supprimera les liens
+ hyper-texte dans les en-têtes de colonnes dans le cas d'un
+ affichage "amélioré". Par défaut, ces en-têtes constituent des liens
+ hyper-texte, et la sélection de l'un d'entre eux va trier l'index
+ du répertoire en fonction des valeurs de la colonne
+ correspondante. Cependant, les arguments de la chaîne de
+ paramètres de la requête ajoutés à l'URL seront toujours ignorés.
+ Ce comportement est contrôlé par l'option <a href="#indexoptions.ignoreclient"><code>IndexOptions
IgnoreClient</code></a>.</dd>
<dt><a name="indexoptions.suppressdescription" id="indexoptions.suppressdescription">SuppressDescription</a></dt>
<dd>L'activation de cette option va supprimer la description des
- fichiers dans le cas d'un affichage "amélioré". Par défaut aucune
- description de fichier n'est définie, et par conséquent
- l'utilisation de cette option va permettre de récupérer un espace
- à l'écran de 23 caractères pouvant être utilisé pour autre chose.
- Voir la directive <code class="directive"><a href="#adddescription">AddDescription</a></code> pour plus d'informations à propos de
- la définition des descriptions de fichiers. Voir aussi l'option
+ fichiers dans le cas d'un affichage "amélioré". Par défaut aucune
+ description de fichier n'est définie, et par conséquent
+ l'utilisation de cette option va permettre de récupérer un espace
+ à l'écran de 23 caractères pouvant être utilisé pour autre chose.
+ Voir la directive <code class="directive"><a href="#adddescription">AddDescription</a></code> pour plus d'informations à propos de
+ la définition des descriptions de fichiers. Voir aussi l'option
d'index <code><a href="#indexoptions.descriptionwidth">DescriptionWidth</a></code>
pour limiter la taille de la colonne description.
<strong>Cette option n'a d'effet que si <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a>
- est aussi activé.</strong>
+ est aussi activé.</strong>
</dd>
<dt><a name="indexoptions.suppresshtmlpreamble" id="indexoptions.suppresshtmlpreamble">SuppressHTMLPreamble</a></dt>
- <dd>Si le répertoire contient effectivement le fichier spécifié
+ <dd>Si le répertoire contient effectivement le fichier spécifié
par la directive <code class="directive"><a href="#headername">HeaderName</a></code>, le module inclut
- en général le contenu du fichier après avoir inséré un préambule
+ en général le contenu du fichier après avoir inséré un préambule
HTML standard (<code><html></code>,
<code><head></code>, <em>etc...</em>). L'activation de
l'option <code>SuppressHTMLPreamble</code> supprime l'insertion de
- ce préambule, et le module va alors commencer l'affichage
- directement par le contenu du fichier d'en-tête. Dans ce cas par
- contre, le fichier d'en-tête doit contenir des instructions HTML
- appropriées. S'il n'y a pas de fichier d'en-tête, le préambule est
- généré comme dans le cas général. Si vous spécifiez aussi une
+ ce préambule, et le module va alors commencer l'affichage
+ directement par le contenu du fichier d'en-tête. Dans ce cas par
+ contre, le fichier d'en-tête doit contenir des instructions HTML
+ appropriées. S'il n'y a pas de fichier d'en-tête, le préambule est
+ généré comme dans le cas général. Si vous spécifiez aussi une
directive <code class="directive"><a href="#readmename">ReadmeName</a></code>, et si ce
fichier existe, les balises de fermeture closing
</body></html> seront aussi omises dans la sortie, en
- supposant que vous ayez placé ces balises de fermeture dans ce
+ supposant que vous ayez placé ces balises de fermeture dans ce
fichier.</dd>
<dt><a name="indexoptions.suppressicon" id="indexoptions.suppressicon">SuppressIcon</a></dt>
- <dd>L'activation de cette option supprime l'affichage des icônes
- dans le cas d'un affichage "amélioré". La combinaison de
+ <dd>L'activation de cette option supprime l'affichage des icônes
+ dans le cas d'un affichage "amélioré". La combinaison de
<code>SuppressIcon</code> et <code>SuppressRules</code> permet de
- générer une sortie au format HTML 3.2 qui, selon les dernières
- spécifications, interdit les éléments <code>img</code> et
- <code>hr</code> dans les blocs <code>pre</code> (utilisés pour
- formater les affichages "améliorés").</dd>
+ générer une sortie au format HTML 3.2 qui, selon les dernières
+ spécifications, interdit les éléments <code>img</code> et
+ <code>hr</code> dans les blocs <code>pre</code> (utilisés pour
+ formater les affichages "améliorés").</dd>
<dt><a name="indexoptions.suppresslastmodified" id="indexoptions.suppresslastmodified">SuppressLastModified</a></dt>
<dd>L'activation de cette option supprime l'affichage de la date
- de dernière modification dans le cas d'un affichage "amélioré".
+ de dernière modification dans le cas d'un affichage "amélioré".
<strong>Cette option n'a d'effet que si <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a>
- est aussi activé.</strong>
+ est aussi activé.</strong>
</dd>
<dt><a name="indexoptions.suppressrules" id="indexoptions.suppressrules">SuppressRules</a>
</dt>
<dd>L'activation de cette option supprime l'affichage des lignes
- horizontales (éléments <code>hr</code>) dans les index de
- répertoires. La combinaison de
+ horizontales (éléments <code>hr</code>) dans les index de
+ répertoires. La combinaison de
<code>SuppressIcon</code> et <code>SuppressRules</code> permet de
- générer une sortie au format HTML 3.2 qui, selon les dernières
- spécifications, interdit les éléments <code>img</code> et
- <code>hr</code> dans les blocs <code>pre</code> (utilisés pour
- formater les affichages "améliorés").
+ générer une sortie au format HTML 3.2 qui, selon les dernières
+ spécifications, interdit les éléments <code>img</code> et
+ <code>hr</code> dans les blocs <code>pre</code> (utilisés pour
+ formater les affichages "améliorés").
<strong>Cette option n'a d'effet que si <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a>
- est aussi activé.</strong>
+ est aussi activé.</strong>
</dd>
<dt><a name="indexoptions.suppresssize" id="indexoptions.suppresssize">SuppressSize</a></dt>
<dd>L'activation de cette option supprime l'affichage de la taille
- du fichier dans le cas d'un affichage "amélioré".
+ du fichier dans le cas d'un affichage "amélioré".
<strong>Cette option n'a d'effet que si <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a>
- est aussi activé.</strong>
+ est aussi activé.</strong>
</dd>
<dt><a name="indexoptions.trackmodified" id="indexoptions.trackmodified">TrackModified</a></dt>
<dd>Cette option renvoie les valeurs <code>Last-Modified</code> et
- <code>ETag</code> pour le répertoire indexé dans l'en-tête HTTP.
- Elle n'est valide que si le système d'exploitation et le système
- de fichiers renvoient des résultats appropriés pour la fonction
- stat(). C'est le cas de certains systèmes Unix, ainsi que JFS sous
+ <code>ETag</code> pour le répertoire indexé dans l'en-tête HTTP.
+ Elle n'est valide que si le système d'exploitation et le système
+ de fichiers renvoient des résultats appropriés pour la fonction
+ stat(). C'est le cas de certains systèmes Unix, ainsi que JFS sous
OS/2 ou
les volumes NTFS sous Win32. Ce n'est par contre pas le cas
- des volumes FAT Win32 et OS/2. Lorsque cette option est activée, le
- client ou le mandataire peuvent détecter les changements dans la
- liste des fichiers lorsqu'ils effectuent une requête
- <code>HEAD</code>. Notez que certains systèmes d'exploitation
- détectent correctement les nouveaux fichiers et les fichiers
- supprimés, mais ne détectent pas les modifications de tailles ou
- de dates des fichiers du répertoire. <strong>Les modifications de
- taille ou de date d'un fichier existant ne mettent pas à jour
- l'en-tête <code>Last-Modified</code> sur toutes les plate-formes
+ des volumes FAT Win32 et OS/2. Lorsque cette option est activée, le
+ client ou le mandataire peuvent détecter les changements dans la
+ liste des fichiers lorsqu'ils effectuent une requête
+ <code>HEAD</code>. Notez que certains systèmes d'exploitation
+ détectent correctement les nouveaux fichiers et les fichiers
+ supprimés, mais ne détectent pas les modifications de tailles ou
+ de dates des fichiers du répertoire. <strong>Les modifications de
+ taille ou de date d'un fichier existant ne mettent pas à jour
+ l'en-tête <code>Last-Modified</code> sur toutes les plate-formes
Unix.</strong> Si c'est le cas, laissez cette option
- désactivée.</dd>
+ désactivée.</dd>
<dt><a name="indexoptions.type" id="indexoptions.type">Type=<var>type MIME</var></a> (<em>Versions 2.0.61 et
- supérieures du serveur HTTP Apache</em>)</dt>
+ supérieures du serveur HTTP Apache</em>)</dt>
- <dd>Le mot-clé <code>Type</code> vous permet de spécifier le type
- MIME de la page générée. La valeur par défaut est
+ <dd>Le mot-clé <code>Type</code> vous permet de spécifier le type
+ MIME de la page générée. La valeur par défaut est
<var>text/html</var>.
<pre class="prettyprint lang-config">IndexOptions Type=text/plain</pre>
</dd>
<dt><a name="indexoptions.useolddateformat" id="indexoptions.useolddateformat">UseOldDateFormat</a>
- (<em>Apache HTTP Server versions 2.4.26 et ultérieures</em>)</dt>
+ (<em>Apache HTTP Server versions 2.4.26 et ultérieures</em>)</dt>
- <dd>Le format de date utilisé dans le champ <code>Last Modified</code>
- avait été modifié par inadvertance de <code>"%d-%b-%Y %H:%M"</code> en
+ <dd>Le format de date utilisé dans le champ <code>Last Modified</code>
+ avait été modifié par inadvertance de <code>"%d-%b-%Y %H:%M"</code> en
<code>"%Y-%m-%d %H:%M"</code> dans la version 2.4.0. Cette option permet
- de restaurer le format de date des versions 2.2 et antérieures.</dd>
+ de restaurer le format de date des versions 2.2 et antérieures.</dd>
<dt><a name="indexoptions.versionsort" id="indexoptions.versionsort">VersionSort</a>
- (<em>Versions 2.0a3 et supérieures du serveur HTTP Apache</em>)</dt>
+ (<em>Versions 2.0a3 et supérieures du serveur HTTP Apache</em>)</dt>
- <dd>Le mot-clé <code>VersionSort</code> permet de trier les
- fichiers contenant des numéros de version d'une manière
- spécifique. Les chaînes sont triées comme d'habitude, excepté les
- sous-chaînes de chiffres du nom de fichier et de sa description
- qui sont comparées en fonction de leur valeur numérique.
+ <dd>Le mot-clé <code>VersionSort</code> permet de trier les
+ fichiers contenant des numéros de version d'une manière
+ spécifique. Les chaînes sont triées comme d'habitude, excepté les
+ sous-chaînes de chiffres du nom de fichier et de sa description
+ qui sont comparées en fonction de leur valeur numérique.
<div class="example"><h3>Exemple :</h3><p><code>
foo-1.7<br />
foo-1.12
</code></p></div>
- <p>Si le nombre commence par le chiffre 0, il est considéré comme
+ <p>Si le nombre commence par le chiffre 0, il est considéré comme
la partie fractionnaire d'un nombre :</p>
<div class="example"><p><code>
</dd>
<dt><a name="indexoptions.xhtml" id="indexoptions.xhtml">XHTML</a>
- (<em>Versions 2.0.49 et supérieures du serveur HTTP Apache</em>)</dt>
+ (<em>Versions 2.0.49 et supérieures du serveur HTTP Apache</em>)</dt>
- <dd>Le mot-clé <code>XHTML</code> enjoint
- <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> de générer du code XHTML 1.0 au
+ <dd>Le mot-clé <code>XHTML</code> enjoint
+ <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> de générer du code XHTML 1.0 au
lieu de HTML 3.2.
<strong>Cette option n'a d'effet que si <a href="#indexoptions.fancyindexing"><code>FancyIndexing</code></a>
- est aussi activé.</strong>
+ est aussi activé.</strong>
</dd>
</dl>
- <dl><dt>Options d'index incrémentales</dt>
+ <dl><dt>Options d'index incrémentales</dt>
<dd>
- <p>Vous devez porter une attention particulière à la manière dont
- les <code class="directive">IndexOptions</code> multiples sont traitées.</p>
+ <p>Vous devez porter une attention particulière à la manière dont
+ les <code class="directive">IndexOptions</code> multiples sont traitées.</p>
<ul>
<li>Plusieurs directives <code class="directive">IndexOptions</code>
- apparaissant dans la même section directory sont maintenant
- fusionnées. Le résultat de :
+ apparaissant dans la même section directory sont maintenant
+ fusionnées. Le résultat de :
<pre class="prettyprint lang-config"><Directory "/foo">
IndexOptions HTMLTable
</Directory></pre>
- <p>est équivalent à</p>
+ <p>est équivalent à</p>
<pre class="prettyprint lang-config">IndexOptions HTMLTable SuppressColumnsorting</pre>
</li>
- <li>L'ajout de la syntaxe incrémentale (en préfixant les mots-clés
+ <li>L'ajout de la syntaxe incrémentale (en préfixant les mots-clés
avec <code>+</code> ou <code>-</code>).</li>
</ul>
- <p>Chaque fois qu'un mot-clé préfixé par '+' ou '-' est trouvé, il
- est appliqué aux définitions des
- <code class="directive">IndexOptions</code> courantes (qui ont été
- éventuellement héritées d'un directory de niveau supérieur). Par
- contre, si un mot-clé non préfixé est trouvé, il supprime toutes
- les definitions héritées, ainsi que toute
- définition incrémentale. Considérons l'exemple
+ <p>Chaque fois qu'un mot-clé préfixé par '+' ou '-' est trouvé, il
+ est appliqué aux définitions des
+ <code class="directive">IndexOptions</code> courantes (qui ont été
+ éventuellement héritées d'un directory de niveau supérieur). Par
+ contre, si un mot-clé non préfixé est trouvé, il supprime toutes
+ les definitions héritées, ainsi que toute
+ définition incrémentale. Considérons l'exemple
suivant :</p>
<pre class="prettyprint lang-config">IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing
IndexOptions +SuppressSize</pre>
- <p>L'effet global est équivalent à l'effet qu'aurait provoqué
+ <p>L'effet global est équivalent à l'effet qu'aurait provoqué
<code>IndexOptions FancyIndexing +SuppressSize</code>, car l'option
- non préfixée <code>FancyIndexing</code> annule les mots-clés
- incrémentaux situés avant elle, mais leur permet ensuite de
- s'incrémenter à nouveau.</p>
-
- <p>Pour définir inconditionnellement les
- <code class="directive">IndexOptions</code> pour un répertoire particulier,
- tout en supprimant les définitions héritées, spécifiez les
- mots-clés sans préfixe <code>+</code> ou <code>-</code></p>
+ non préfixée <code>FancyIndexing</code> annule les mots-clés
+ incrémentaux situés avant elle, mais leur permet ensuite de
+ s'incrémenter à nouveau.</p>
+
+ <p>Pour définir inconditionnellement les
+ <code class="directive">IndexOptions</code> pour un répertoire particulier,
+ tout en supprimant les définitions héritées, spécifiez les
+ mots-clés sans préfixe <code>+</code> ou <code>-</code></p>
</dd>
</dl>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="indexorderdefault" id="indexorderdefault">Directive</a> <a name="IndexOrderDefault" id="IndexOrderDefault">IndexOrderDefault</a><a title="Lien permanent" href="#indexorderdefault" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'ordre d'affichage par défaut d'un index de
-répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'ordre d'affichage par défaut d'un index de
+répertoire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IndexOrderDefault Ascending|Descending
Name|Date|Size|Description</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>IndexOrderDefault Ascending Name</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#Default">Défaut:</a></th><td><code>IndexOrderDefault Ascending Name</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">AllowOverride:</a></th><td>Indexes</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_autoindex</td></tr>
</table>
<p>La directive <code class="directive">IndexOrderDefault</code> s'utilise
en combinaison avec l'option d'index <code><a href="#indexoptions.fancyindexing">FancyIndexing</a></code>. Par
- défaut, les index de répertoires "améliorés" sont affichés selon l'ordre
+ défaut, les index de répertoires "améliorés" sont affichés selon l'ordre
croissant des noms de fichiers ; la directive
<code class="directive">IndexOrderDefault</code> vous permet de modifier ce
comportement.</p>
<code>Descending</code>, et indique l'ordre de tri. Le second doit
prendre une des valeurs <code>Name</code>, <code>Date</code>,
<code>Size</code>, ou <code>Description</code>, et permet
- d'identifier la clé primaire. La clé secondaire est
+ d'identifier la clé primaire. La clé secondaire est
<em>toujours</em> le nom du fichier selon un ordre croissant.</p>
- <p>Si vous le désirez, vous pouvez empêcher le client de modifier
+ <p>Si vous le désirez, vous pouvez empêcher le client de modifier
l'ordre de tri de la liste en ajoutant l'option d'index <code><a href="#indexoptions.suppresscolumnsorting">SuppressColumnSorting</a></code>
- qui supprime le lien de définition du tri de l'en-tête de la
+ qui supprime le lien de définition du tri de l'en-tête de la
colonne, ainsi que l'option <code><a href="#indexoptions.ignoreclient">IgnoreClient</a></code> qui
- empêche ce même client de passer outre vos préférences de tri en
- ajoutant manuellement des options de tri à la chaîne de paramètres
- de la requête.</p>
+ empêche ce même client de passer outre vos préférences de tri en
+ ajoutant manuellement des options de tri à la chaîne de paramètres
+ de la requête.</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="indexstylesheet" id="indexstylesheet">Directive</a> <a name="IndexStyleSheet" id="IndexStyleSheet">IndexStyleSheet</a><a title="Lien permanent" href="#indexstylesheet" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute une feuille de style CSS à l'index du
-répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute une feuille de style CSS à l'index du
+répertoire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IndexStyleSheet <var>chemin-url</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</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_autoindex</td></tr>
</table>
<p>La directive <code class="directive">IndexStyleSheet</code> permet de
- définir le nom du fichier qui servira de feuille de style CSS pour
+ définir le nom du fichier qui servira de feuille de style CSS pour
l'index.
</p>
<pre class="prettyprint lang-config">IndexStyleSheet "/css/style.css"</pre>
<p>L'utilisation de cette directive en conjonction avec <code>IndexOptions
HTMLTable</code> ajoute plusieurs classes CSS au document HTML
- résultant. Un identifiant CSS <code>indexlist</code> est attribué à
- l'ensemble de la table et les classes suivantes sont associées aux
- différentes parties du listing :</p>
+ résultant. Un identifiant CSS <code>indexlist</code> est attribué à
+ l'ensemble de la table et les classes suivantes sont associées aux
+ différentes parties du listing :</p>
- <table class="bordered"><tr class="header"><th>Classe</th><th>Définition</th></tr>
-<tr><td>tr.indexhead</td><td>Ligne d'en-tête du listing</td></tr>
+ <table class="bordered"><tr class="header"><th>Classe</th><th>Définition</th></tr>
+<tr><td>tr.indexhead</td><td>Ligne d'en-tête du listing</td></tr>
<tr class="odd"><td>th.indexcolicon and td.indexcolicon</td> <td>Colonne de
- l'icône</td></tr>
+ l'icône</td></tr>
<tr><td>th.indexcolname and td.indexcolname</td> <td>Colonne du nom
du fichier</td></tr>
<tr class="odd"><td>th.indexcollastmod and td.indexcollastmod</td> <td>Colonne
- de la date de dernière modification</td></tr>
+ de la date de dernière modification</td></tr>
<tr><td>th.indexcolsize and td.indexcolsize</td> <td>Colonne de la
taille du fichier</td></tr>
<tr class="odd"><td>th.indexcoldesc and td.indexcoldesc</td> <td>Colonne de la
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="readmename" id="readmename">Directive</a> <a name="ReadmeName" id="ReadmeName">ReadmeName</a><a title="Lien permanent" href="#readmename" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du fichier dont le contenu sera inséré à la fin de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du fichier dont le contenu sera inséré à la fin de
l'index</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ReadmeName <var>nom-fichier</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</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_autoindex</td></tr>
</table>
- <p>La directive <code class="directive">ReadmeName</code> permet de définir
- le nom du fichier dont le contenu sera ajouté à la fin de l'index.
- <var>nom-fichier</var> est le nom du fichier à inclure, et est
- considéré comme relatif au répertoire faisant l'objet de l'index. Si
+ <p>La directive <code class="directive">ReadmeName</code> permet de définir
+ le nom du fichier dont le contenu sera ajouté à la fin de l'index.
+ <var>nom-fichier</var> est le nom du fichier à inclure, et est
+ considéré comme relatif au répertoire faisant l'objet de l'index. Si
<var>nom-fichier</var> commence par un slash '/', comme dans
- l'exemple 2, il sera considéré
- comme relatif au répertoire défini par la directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>.
+ l'exemple 2, il sera considéré
+ comme relatif au répertoire défini par la directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>.
</p>
<pre class="prettyprint lang-config"># Example 1
ReadmeName /include/FOOTER.html</pre>
- <p>Voir aussi la directive <code class="directive"><a href="#headername">HeaderName</a></code>, où cette fonctionnalité est décrite plus en
- détails.</p>
+ <p>Voir aussi la directive <code class="directive"><a href="#headername">HeaderName</a></code>, où cette fonctionnalité est décrite plus en
+ détails.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_autoindex.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_autoindex.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_autoindex.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_autoindex.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_autoindex.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_autoindex.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_brotli</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_brotli.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_brotli.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_brotli.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Compression du contenu via Brotli avant sa livraison au client</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>brotli_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_brotli.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.26 du serveur HTTP Apache</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>brotli_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_brotli.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.26 du serveur HTTP Apache</td></tr></table>
<h3>Sommaire</h3>
<p>Le module <code class="module"><a href="../mod/mod_brotli.html">mod_brotli</a></code> fournit le filtre en sortie
<code>BROTLI_COMPRESS</code> qui permet de compresser un contenu avant sa
- livraison au client en utilisant la bibliothèque brotli. Ce filtre est
- implémenté en utilisant la bibliothèque Brotli que l'on peut trouver à <a href="https://github.com/google/brotli">https://github.com/google/brotli</a>.</p>
+ livraison au client en utilisant la bibliothèque brotli. Ce filtre est
+ implémenté en utilisant la bibliothèque Brotli que l'on peut trouver à <a href="https://github.com/google/brotli">https://github.com/google/brotli</a>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#recommended">Exemples de configurations</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#enable">Activation de la compression</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxies">Interaction avec les serveurs mandataires</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#precompressed">Servir un contenu pré-compressé</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#precompressed">Servir un contenu pré-compressé</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#brotlialteretag">BrotliAlterETag</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#brotlicompressionwindow">BrotliCompressionWindow</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#brotlifilternote">BrotliFilterNote</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_brotli">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_brotli">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_brotli">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_brotli">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../filter.html">Filters</a></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="section">
<h2><a name="recommended" id="recommended">Exemples de configurations</a><a title="Lien permanent" href="#recommended" class="permalink">¶</a></h2>
<div class="warning"><h3>Compression et TLS</h3>
- <p>Certaines applications web sont vulnérables à une attaque de type vol
- d'informations lorsqu'une connexion TLS transmet des données
- compressées. Pour plus d'informations, étudiez en détail la famille
+ <p>Certaines applications web sont vulnérables à une attaque de type vol
+ d'informations lorsqu'une connexion TLS transmet des données
+ compressées. Pour plus d'informations, étudiez en détail la famille
d'attaques "BREACH".</p>
</div>
<p>Voici une configuration simple qui compresse des types de contenus
<div class="section">
<h2><a name="enable" id="enable">Activation de la compression</a><a title="Lien permanent" href="#enable" class="permalink">¶</a></h2>
<div class="warning"><h3>Compression et TLS</h3>
- <p>Certaines applications web sont vulnérables à une attaque de type vol
- d'informations lorsqu'une connexion TLS transmet des données
- compressées. Pour plus d'informations, étudiez en détail la famille
+ <p>Certaines applications web sont vulnérables à une attaque de type vol
+ d'informations lorsqu'une connexion TLS transmet des données
+ compressées. Pour plus d'informations, étudiez en détail la famille
d'attaques "BREACH".</p>
</div>
<h3><a name="output" id="output">Compression en sortie</a></h3>
- <p>La compression est implémentée par le <a href="../filter.html">filtre</a> <code>BROTLI_COMPRESS</code>. La
+ <p>La compression est implémentée par le <a href="../filter.html">filtre</a> <code>BROTLI_COMPRESS</code>. La
directive suivante active la compression pour les documents correspondant
- au conteneur dans lequel elle est placée :</p>
+ au conteneur dans lequel elle est placée :</p>
<pre class="prettyprint lang-config">SetOutputFilter BROTLI_COMPRESS
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-brotli</pre>
- <p>Si vous voulez restreindre la compression à certains types MIME
+ <p>Si vous voulez restreindre la compression à certains types MIME
particuliers, vous pouvez utiliser la directive <code class="directive"><a href="../mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code>. Dans l'exemple
suivant, l'activation de la compression est restreinte aux fichiers html
de la documentation d'Apache :</p>
<div class="note"><h3>Note</h3>
- Le filtre <code>BROTLI_COMPRESS</code> est toujours inséré après les
- filtres RESOURCE comme PHP ou SSI. Il n'affecte jamais les sous-requêtes
+ Le filtre <code>BROTLI_COMPRESS</code> est toujours inséré après les
+ filtres RESOURCE comme PHP ou SSI. Il n'affecte jamais les sous-requêtes
internes.
</div>
<div class="note"><h3>Note</h3>
- Définie via <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>, la variable
- d'environnement <code>no-brotli</code> permet de désactiver la
- compression brotli pour une requête particulière, et ceci même si elle
- est supportée par le client.
+ Définie via <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>, la variable
+ d'environnement <code>no-brotli</code> permet de désactiver la
+ compression brotli pour une requête particulière, et ceci même si elle
+ est supportée par le client.
</div>
<div class="section">
<h2><a name="proxies" id="proxies">Interaction avec les serveurs mandataires</a><a title="Lien permanent" href="#proxies" class="permalink">¶</a></h2>
- <p>Le module <code class="module"><a href="../mod/mod_brotli.html">mod_brotli</a></code> envoie un en-tête de réponse HTTP
+ <p>Le module <code class="module"><a href="../mod/mod_brotli.html">mod_brotli</a></code> envoie un en-tête de réponse HTTP
<code>Vary:Accept-Encoding</code> pour indiquer aux mandataires qu'une
- réponse mise en cache ne doit être envoyée qu'aux clients qui envoient
- l'en-tête de requête <code>Accept-Encoding</code> approprié. Ceci permet
- d'éviter d'envoyer du contenu compressé à un client qui ne sera pas en
- mesure de le décompresser.</p>
-
- <p>Si vous utilisez des exclusions spéciales dépendant, par exemple, de
- l'en-tête <code>User-Agent</code>, vous devez faire un ajout manuel à
- l'en-tête <code>Vary</code> afin d'informer les mandataires des restrictions
- supplémentaires. Par exemple, dans une configuration typique où l'addition
- du filtre <code>BROTLI_COMPRESS</code> dépend de l'en-tête <code>User-Agent</code>,
+ réponse mise en cache ne doit être envoyée qu'aux clients qui envoient
+ l'en-tête de requête <code>Accept-Encoding</code> approprié. Ceci permet
+ d'éviter d'envoyer du contenu compressé à un client qui ne sera pas en
+ mesure de le décompresser.</p>
+
+ <p>Si vous utilisez des exclusions spéciales dépendant, par exemple, de
+ l'en-tête <code>User-Agent</code>, vous devez faire un ajout manuel à
+ l'en-tête <code>Vary</code> afin d'informer les mandataires des restrictions
+ supplémentaires. Par exemple, dans une configuration typique où l'addition
+ du filtre <code>BROTLI_COMPRESS</code> dépend de l'en-tête <code>User-Agent</code>,
vous devez ajouter :</p>
<pre class="prettyprint lang-config">Header append Vary User-Agent</pre>
- <p>Si votre décision d'utiliser la compression ou non dépend d'autres
- informations que le contenu d'en-têtes de requêtes (par exemple la version
- HTTP), vous devez affecter la valeur <code>*</code> à l'en-tête
- <code>Vary</code>. Ceci permet d'éviter que des mandataires qui le
- supportent n'effectuent une mise en cache intégrale.</p>
+ <p>Si votre décision d'utiliser la compression ou non dépend d'autres
+ informations que le contenu d'en-têtes de requêtes (par exemple la version
+ HTTP), vous devez affecter la valeur <code>*</code> à l'en-tête
+ <code>Vary</code>. Ceci permet d'éviter que des mandataires qui le
+ supportent n'effectuent une mise en cache intégrale.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">Header set Vary *</pre>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="precompressed" id="precompressed">Servir un contenu pré-compressé</a><a title="Lien permanent" href="#precompressed" class="permalink">¶</a></h2>
+<h2><a name="precompressed" id="precompressed">Servir un contenu pré-compressé</a><a title="Lien permanent" href="#precompressed" class="permalink">¶</a></h2>
- <p>comme <code class="module"><a href="../mod/mod_brotli.html">mod_brotli</a></code> compresse systématiquement un contenu
- pour chaque requête le concernant, il est possible d'obtenir un gain en
- performance en pré-compressant le contenu et en disant à mod_brotli de le
+ <p>comme <code class="module"><a href="../mod/mod_brotli.html">mod_brotli</a></code> compresse systématiquement un contenu
+ pour chaque requête le concernant, il est possible d'obtenir un gain en
+ performance en pré-compressant le contenu et en disant à mod_brotli de le
servir sans le recompresser. Pour cela, vous pouvez utiliser une
configuration du style :</p>
<pre class="prettyprint lang-config"><IfModule mod_headers.c>
- # Sert des fichiers CSS et JS compressés par brotli, s'ils existent
+ # Sert des fichiers CSS et JS compressés par brotli, s'ils existent
# et si le client supporte brotli.
RewriteCond "%{HTTP:Accept-encoding}" "br"
RewriteCond "%{REQUEST_FILENAME}\.br" "-s"
RewriteRule "^(.*)\.(js|css)" "$1\.$2\.br" [QSA]
- # Sert des types de contenu corrects, et évite la double compression.
+ # Sert des types de contenu corrects, et évite la double compression.
RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-brotli:1]
RewriteRule "\.js\.gz$" "-" [T=text/javascript,E=no-brotli:1]
# Sert un type d'encodage correct.
Header append Content-Encoding br
- # Force les mandataires à mettre en cache séparément les fichiers css/js
- # compressés ou non par brotli.
+ # Force les mandataires à mettre en cache séparément les fichiers css/js
+ # compressés ou non par brotli.
Header append Vary Accept-Encoding
</FilesMatch>
</IfModule></pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="brotlialteretag" id="brotlialteretag">Directive</a> <a name="BrotliAlterETag" id="BrotliAlterETag">BrotliAlterETag</a><a title="Lien permanent" href="#brotlialteretag" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Comment l'en-tête de réponse ETag doit être modifié au cours de la
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Comment l'en-tête de réponse ETag doit être modifié au cours de la
compression</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrotliAlterETag AddSuffix|NoChange|Remove</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BrotliAlterETag AddSuffix</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BrotliAlterETag AddSuffix</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_brotli</td></tr>
</table>
<p>La directive <code class="directive">BrotliAlterETag</code> permet d'indiquer
- comment l'en-tête ETag doit être modifié lorsqu'une réponse est compressée.</p>
+ comment l'en-tête ETag doit être modifié lorsqu'une réponse est compressée.</p>
<dl>
<dt>AddSuffix</dt>
- <dd><p>Ajoute la méthode de compression à la fin de l'en-tête ETag, ce qui
- implique que les représentations compressées et non compressées possèderont
- des en-têtes ETag uniques. C'était le comportement par défaut depuis la
+ <dd><p>Ajoute la méthode de compression à la fin de l'en-tête ETag, ce qui
+ implique que les représentations compressées et non compressées possèderont
+ des en-têtes ETag uniques. C'était le comportement par défaut depuis la
version 2.4.0 avec un autre module de compression dynamique,
- mod-deflate. Ce paramètre permet d'éviter l'envoi de messages
- "HTTP Not Modified" (304) en réponse aux requêtes conditionnelles pour des
- contenus compressés.</p></dd>
+ mod-deflate. Ce paramètre permet d'éviter l'envoi de messages
+ "HTTP Not Modified" (304) en réponse aux requêtes conditionnelles pour des
+ contenus compressés.</p></dd>
<dt>NoChange</dt>
- <dd><p>Ne modifie pas l'en-tête ETag d'une réponse compressée. C'était le
- comportement par défaut depuis la version 2.4.0 avec un autre module de
- compression dynamique, mod-deflate. Ce paramètre ne respecte pas la
- propriété HTTP/1.1 selon laquelle toutes les représentations d'une même
- ressource ont des en-têtes ETag uniques.</p></dd>
+ <dd><p>Ne modifie pas l'en-tête ETag d'une réponse compressée. C'était le
+ comportement par défaut depuis la version 2.4.0 avec un autre module de
+ compression dynamique, mod-deflate. Ce paramètre ne respecte pas la
+ propriété HTTP/1.1 selon laquelle toutes les représentations d'une même
+ ressource ont des en-têtes ETag uniques.</p></dd>
<dt>Remove</dt>
- <dd><p>Supprime l'en-tête ETag des réponses compressées, ce qui rend
- impossibles certaines requêtes conditionnelles, mais évite les inconvénients
- des options précédentes.</p></dd>
+ <dd><p>Supprime l'en-tête ETag des réponses compressées, ce qui rend
+ impossibles certaines requêtes conditionnelles, mais évite les inconvénients
+ des options précédentes.</p></dd>
</dl>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="brotlicompressionmaxinputblock" id="brotlicompressionmaxinputblock">Directive</a> <a name="BrotliCompressionMaxInputBlock" id="BrotliCompressionMaxInputBlock">BrotliCompressionMaxInputBlock</a><a title="Lien permanent" href="#brotlicompressionmaxinputblock" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale du bloc de données en entrée</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale du bloc de données en entrée</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrotliCompressionMaxInputBlock <var>value</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>(automatic)</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>(automatic)</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_brotli</td></tr>
</table>
<p>La directive <code class="directive">BrotliCompressionMaxInputBlock</code> permet
- de spécifier la taille maximale du bloc de données en entrée entre 16 et 24,
- sachant que plus cette taille sera grande, plus grande sera la quantité de
- mémoire consommée.</p>
+ de spécifier la taille maximale du bloc de données en entrée entre 16 et 24,
+ sachant que plus cette taille sera grande, plus grande sera la quantité de
+ mémoire consommée.</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="brotlicompressionquality" id="brotlicompressionquality">Directive</a> <a name="BrotliCompressionQuality" id="BrotliCompressionQuality">BrotliCompressionQuality</a><a title="Lien permanent" href="#brotlicompressionquality" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Qualité de la compression</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Qualité de la compression</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrotliCompressionQuality <var>value</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BrotliCompressionQuality 5</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BrotliCompressionQuality 5</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_brotli</td></tr>
</table>
<p>La directive <code class="directive">BrotliCompressionQuality</code> permet de
- spécifier la qualité de la compression (une valeur entre 0 et
- 11). Les valeurs les plus hautes correspondent à une compression de
- meilleure qualité mais plus lente.
+ spécifier la qualité de la compression (une valeur entre 0 et
+ 11). Les valeurs les plus hautes correspondent à une compression de
+ meilleure qualité mais plus lente.
</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="brotlicompressionwindow" id="brotlicompressionwindow">Directive</a> <a name="BrotliCompressionWindow" id="BrotliCompressionWindow">BrotliCompressionWindow</a><a title="Lien permanent" href="#brotlicompressionwindow" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille de la fenêtre de compression glissante brotli</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille de la fenêtre de compression glissante brotli</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrotliCompressionWindow <var>value</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BrotliCompressionWindow 18</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BrotliCompressionWindow 18</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_brotli</td></tr>
</table>
<p>La directive <code class="directive">BrotliCompressionWindow</code> permet de
- spécifier la taille de la fenêtre de compression glissante brotli (une
- valeur comprise entre 10 et 24). Une taille de fenêtre plus grande peut
- améliorer la qualité de la compression mais consomme d'avantage de mémoire.</p>
+ spécifier la taille de la fenêtre de compression glissante brotli (une
+ valeur comprise entre 10 et 24). Une taille de fenêtre plus grande peut
+ améliorer la qualité de la compression mais consomme d'avantage de mémoire.</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="brotlifilternote" id="brotlifilternote">Directive</a> <a name="BrotliFilterNote" id="BrotliFilterNote">BrotliFilterNote</a><a title="Lien permanent" href="#brotlifilternote" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre le taux de compression dans une note à des fins de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre le taux de compression dans une note à des fins de
journalisation</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrotliFilterNote [<var>type</var>] <var>notename</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_brotli</td></tr>
</table>
<p>La directive <code class="directive">BrotliFilterNote</code> permet d'indiquer
- qu'une note à propos du taux de compression doit être attachée à la
- requête. L'argument <var>notename</var> permet de spécifier le nom de la
- note. Vous pouvez utiliser cette note à des fins de statistiques en ajoutant
- l'information correspondante à votre <a href="../logs.html#accesslog">access
+ qu'une note à propos du taux de compression doit être attachée à la
+ requête. L'argument <var>notename</var> permet de spécifier le nom de la
+ note. Vous pouvez utiliser cette note à des fins de statistiques en ajoutant
+ l'information correspondante à votre <a href="../logs.html#accesslog">access
log</a>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">BrotliFilterNote ratio
CustomLog "logs/brotli_log" brotli</pre>
</div>
- <p>Si vous souhaitez que l'information enregistrée dans vos journaux soit
+ <p>Si vous souhaitez que l'information enregistrée dans vos journaux soit
plus pertinente, vous pouvez renseigner l'argument optionnel <var>type</var>
- afin de spécifier le type de données à enregistrer dans la note à
+ afin de spécifier le type de données à enregistrer dans la note à
journaliser. L'argument <var>type</var> accepte les valeurs suivantes :</p>
<dl>
<dt><code>Input</code></dt>
<dd>Enregistre dans la note le nombre d'octets contenus dans le flux
- d'entrée du filtre.</dd>
+ d'entrée du filtre.</dd>
<dt><code>Output</code></dt>
<dd>Enregistre dans la note le nombre d'octets contenus dans le flux
<dt><code>Ratio</code></dt>
<dd>Enregistre dans la note le taux de compression (<code>output/input *
- 100</code>). Il s'agit de l'option par défaut si l'argument
+ 100</code>). Il s'agit de l'option par défaut si l'argument
<var>type</var> est omis.</dd>
</dl>
- <p>Vous pouvez alors configurer vos journaux de la manière suivante :</p>
+ <p>Vous pouvez alors configurer vos journaux de la manière suivante :</p>
- <div class="example"><h3>Journalisation spécifique</h3><pre class="prettyprint lang-config">BrotliFilterNote Input instream
+ <div class="example"><h3>Journalisation spécifique</h3><pre class="prettyprint lang-config">BrotliFilterNote Input instream
BrotliFilterNote Output outstream
BrotliFilterNote Ratio ratio
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_brotli.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_brotli.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_brotli.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_buffer</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_buffer.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_buffer.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_buffer.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support de la mise en tampon des requêtes</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support de la mise en tampon des requêtes</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>buffer_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_buffer.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis les versions 2.3 et supérieures
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>buffer_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_buffer.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis les versions 2.3 et supérieures
d'Apache</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module fournit la possibilité de mettre en tampon les piles
- des filtres en entrée et sortie.</p>
+ <p>Ce module fournit la possibilité de mettre en tampon les piles
+ des filtres en entrée et sortie.</p>
- <p>Dans certaines situations, les générateurs de contenu créent des
- contenus composés de petits tronçons. Afin de permettre la
- réutilisation de la mémoire, les éléments de mémoire attribués aux
- tronçons ont toujours une taille de 8k, quelle que soit la taille du
- tronçon lui-même. Lorsqu'une requête génère de nombreux petits
- tronçons, une grande quantité de mémoire peut être mobilisée par le
- traitement de la requête, et une grande quantité de données
- transmises sans nécessité. Pour y remédier, l'utilisation d'un
- tampon rassemble la réponse en un nombre de tronçons le plus petit
+ <p>Dans certaines situations, les générateurs de contenu créent des
+ contenus composés de petits tronçons. Afin de permettre la
+ réutilisation de la mémoire, les éléments de mémoire attribués aux
+ tronçons ont toujours une taille de 8k, quelle que soit la taille du
+ tronçon lui-même. Lorsqu'une requête génère de nombreux petits
+ tronçons, une grande quantité de mémoire peut être mobilisée par le
+ traitement de la requête, et une grande quantité de données
+ transmises sans nécessité. Pour y remédier, l'utilisation d'un
+ tampon rassemble la réponse en un nombre de tronçons le plus petit
possible.</p>
- <p>Lorsque httpd est utilisé comme frontal d'un générateur de
+ <p>Lorsque httpd est utilisé comme frontal d'un générateur de
contenu consommant beaucoup de ressources, la mise en tampon de la
- réponse peut permettre à ce dernier d'effectuer le traitement et de
- libérer les ressources plus ou moins rapidement, en fonction de la
- manière dont il a été conçu.</p>
+ réponse peut permettre à ce dernier d'effectuer le traitement et de
+ libérer les ressources plus ou moins rapidement, en fonction de la
+ manière dont il a été conçu.</p>
- <p>Le filtre de mise en tampon peut être ajouté aux piles des
- filtres en entrée ou en sortie, selon les besoins, à l'aide des
+ <p>Le filtre de mise en tampon peut être ajouté aux piles des
+ filtres en entrée ou en sortie, selon les besoins, à l'aide des
directives <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code>,
<code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>, <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> ou <code class="directive"><a href="../mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code>.</p>
</div>
<div class="warning">Les filtres de mise en tampon lisent la
- requête/réponse en RAM, puis la reconditionnent sous la forme d'un
- nombre d'éléments mémoire le plus petit possible, au prix d'une
- consommation de temps CPU. Lorsque la requête/réponse est déjà
- conditionnée de manière satisfaisante, sa mise en tampon pourrait
- s'avérer encore plus lente qu'en l'absence d'utilisation de tampon.
- C'est pourquoi ces filtres doivent être utilisés avec précautions,
- et seulement si nécessaire.</div>
+ requête/réponse en RAM, puis la reconditionnent sous la forme d'un
+ nombre d'éléments mémoire le plus petit possible, au prix d'une
+ consommation de temps CPU. Lorsque la requête/réponse est déjà
+ conditionnée de manière satisfaisante, sa mise en tampon pourrait
+ s'avérer encore plus lente qu'en l'absence d'utilisation de tampon.
+ C'est pourquoi ces filtres doivent être utilisés avec précautions,
+ et seulement si nécessaire.</div>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#buffersize">BufferSize</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_buffer">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_buffer">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_buffer">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_buffer">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../filter.html">Les filtres</a></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale en octets du filtre par tampon</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BufferSize entier</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BufferSize 131072</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#Default">Défaut:</a></th><td><code>BufferSize 131072</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_buffer</td></tr>
</table>
- <p>La directive <code class="directive"><a href="#buffersize">BufferSize</a></code> permet de spécifier la
- quantité de données en octets qui sera mise en tampon avant d'être
- lue depuis ou écrite vers chaque requête. La valeur par défaut est
+ <p>La directive <code class="directive"><a href="#buffersize">BufferSize</a></code> permet de spécifier la
+ quantité de données en octets qui sera mise en tampon avant d'être
+ lue depuis ou écrite vers chaque requête. La valeur par défaut est
128 ko.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_buffer.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_buffer.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_buffer.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_cache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cache.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_cache.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_cache.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_cache.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filtre de mise en cache HTTP conforme à la RFC 2616</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filtre de mise en cache HTTP conforme à la RFC 2616</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>cache_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cache.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>cache_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cache.c</td></tr></table>
<h3>Sommaire</h3>
- <div class="warning">Ce module doit être utilisé avec précautions
- car lorsque la directive <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code> est définie à sa
- valeur par défaut <strong>on</strong>, les directives <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code> and <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> sont court-circuitées. Vous
+ <div class="warning">Ce module doit être utilisé avec précautions
+ car lorsque la directive <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code> est définie à sa
+ valeur par défaut <strong>on</strong>, les directives <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code> and <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> sont court-circuitées. Vous
ne devez donc pas activer la gestion rapide de la mise en cache pour
- un contenu auquel vous souhaitez limiter l'accès en fonction du nom
- d'hôte du client, de l'adresse IP ou d'une variable
+ un contenu auquel vous souhaitez limiter l'accès en fonction du nom
+ d'hôte du client, de l'adresse IP ou d'une variable
d'environnement.</div>
- <p><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> implémente un <strong>filtre de mise
- en cache de contenu HTTP</strong> conforme à la <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a>, avec
- support de la mise en cache des réponses dont le contenu a été
- négocié et comportant l'en-tête Vary.</p>
+ <p><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> implémente un <strong>filtre de mise
+ en cache de contenu HTTP</strong> conforme à la <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a>, avec
+ support de la mise en cache des réponses dont le contenu a été
+ négocié et comportant l'en-tête Vary.</p>
- <p>La mise en cache conforme à la RFC 2616 fournit un mécanisme
- permettant de vérifier si un contenu expiré ou dépassé est encore à
+ <p>La mise en cache conforme à la RFC 2616 fournit un mécanisme
+ permettant de vérifier si un contenu expiré ou dépassé est encore à
jour, et peut apporter un gain de performances significatif si le
- serveur original supporte les <strong>requêtes
- conditionnelles</strong> en prenant en compte l'en-tête de requête
+ serveur original supporte les <strong>requêtes
+ conditionnelles</strong> en prenant en compte l'en-tête de requête
HTTP <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26">If-None-Match</a>.
- Le contenu n'est ainsi régénéré que lorsqu'il a été modifié, et non
- lorsqu'il a expiré.</p>
+ Le contenu n'est ainsi régénéré que lorsqu'il a été modifié, et non
+ lorsqu'il a expiré.</p>
- <p>En tant que filtre, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> peut être placé
+ <p>En tant que filtre, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> peut être placé
en face d'un contenu issu de tout gestionnaire, y compris
- <strong>des fichiers à accès séquentiel</strong> (servis depuis un
+ <strong>des fichiers à accès séquentiel</strong> (servis depuis un
disque lent mis en
cache sur un gros disque), la sortie d'un <strong>script
- CGI</strong> ou d'un <strong>générateur de contenu
- dynamique</strong>, ou du contenu <strong>mandaté depuis un autre
+ CGI</strong> ou d'un <strong>générateur de contenu
+ dynamique</strong>, ou du contenu <strong>mandaté depuis un autre
serveur</strong>.</p>
- <p>Dans la configuration par défaut, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
+ <p>Dans la configuration par défaut, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
place le filtre de mise en cache aussi loin que possible dans la
pile de filtres, utilisant le <strong>gestionnaire rapide</strong>
- pour court-circuiter tout traitement par requête lors de l'envoi du
- contenu au client. Dans ce mode opératoire,
- <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> peut être considéré comme un serveur
- mandataire avec cache fixé en tête du serveur web, alors qu'il
- s'exécute dans ce même serveur web.</p>
+ pour court-circuiter tout traitement par requête lors de l'envoi du
+ contenu au client. Dans ce mode opératoire,
+ <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> peut être considéré comme un serveur
+ mandataire avec cache fixé en tête du serveur web, alors qu'il
+ s'exécute dans ce même serveur web.</p>
- <p>Lorsque le gestionnaire rapide est désactivé via la directive
+ <p>Lorsque le gestionnaire rapide est désactivé via la directive
<code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code>, il
- devient possible d'insérer le filtre <strong>CACHE</strong> à un
+ devient possible d'insérer le filtre <strong>CACHE</strong> à un
point de la pile de filtres choisi par l'administrateur. Ceci permet
de mettre en cache un contenu avant que celui-ci ne soit
- personnalisé par le filtre <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>, ou
- éventuellement compressé par le filtre <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>.</p>
+ personnalisé par le filtre <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>, ou
+ éventuellement compressé par le filtre <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>.</p>
<p>Dans le mode de fonctionnement normal, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
- peut être contrôlé par les en-têtes <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">Cache-Control</a>
+ peut être contrôlé par les en-têtes <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">Cache-Control</a>
et <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32">Pragma</a>
- envoyés par un client dans une requête, ou par un serveur dans une
- réponse. Dans des circonstances exceptionnelles,
- <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> peut cependant être configuré pour
- outrepasser ces en-têtes et forcer un comportement spécifique au
- site, bien qu'un tel comportement sera limité à ce cache seulement,
- et n'affectera pas les opérations des autres caches qui peuvent
- s'insérer entre le client et le serveur, et ce type de configuration
- ne doit donc être utiliser qu'en cas de nécessité absolue.</p>
-
- <p>La RFC 2616 permet au cache de renvoyer des données périmées
- pendant que l'entrée périmée correspondante est mise à jour depuis
+ envoyés par un client dans une requête, ou par un serveur dans une
+ réponse. Dans des circonstances exceptionnelles,
+ <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> peut cependant être configuré pour
+ outrepasser ces en-têtes et forcer un comportement spécifique au
+ site, bien qu'un tel comportement sera limité à ce cache seulement,
+ et n'affectera pas les opérations des autres caches qui peuvent
+ s'insérer entre le client et le serveur, et ce type de configuration
+ ne doit donc être utiliser qu'en cas de nécessité absolue.</p>
+
+ <p>La RFC 2616 permet au cache de renvoyer des données périmées
+ pendant que l'entrée périmée correspondante est mise à jour depuis
le serveur original, et <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> supporte cette
- fonctionnalité lorsque la directive <code class="directive"><a href="#cachelock">CacheLock</a></code> est configurée en
- conséquence. De telles réponses comportent un en-tête HTTP <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.46">Warning</a>
- contenant un code de réponse 110. La RFC 2616 permet aussi au cache
- de renvoyer des données périmées lorsque la tentative de mise à jour
- des données périmées renvoie une erreur 500 ou supérieure, et cette
- fonctionnalité est supportée par défaut par
- <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>. De telles réponses comportent un en-tête HTTP <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.46">Warning</a>
- contenant un code de réponse 111.</p>
+ fonctionnalité lorsque la directive <code class="directive"><a href="#cachelock">CacheLock</a></code> est configurée en
+ conséquence. De telles réponses comportent un en-tête HTTP <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.46">Warning</a>
+ contenant un code de réponse 110. La RFC 2616 permet aussi au cache
+ de renvoyer des données périmées lorsque la tentative de mise à jour
+ des données périmées renvoie une erreur 500 ou supérieure, et cette
+ fonctionnalité est supportée par défaut par
+ <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>. De telles réponses comportent un en-tête HTTP <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.46">Warning</a>
+ contenant un code de réponse 111.</p>
<p><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> requiert les services d'un ou
plusieurs modules de gestion de stockage. La distribution Apache de base
<dl>
<dt><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code></dt>
- <dd>implémente un gestionnaire de stockage sur disque. Les en-têtes
- et corps sont stockés séparément sur le disque dans une structure de
- répertoires basée sur le condensé md5 de l'URL mise en cache.
- Plusieurs réponses à contenu négocié peuvent être stockées en même
+ <dd>implémente un gestionnaire de stockage sur disque. Les en-têtes
+ et corps sont stockés séparément sur le disque dans une structure de
+ répertoires basée sur le condensé md5 de l'URL mise en cache.
+ Plusieurs réponses à contenu négocié peuvent être stockées en même
temps, mais la mise en cache de contenus partiels n'est pas
- supportée par ce module. L'utilitaire
+ supportée par ce module. L'utilitaire
<code class="program"><a href="../programs/htcacheclean.html">htcacheclean</a></code> permet de lister et de supprimer les
- URLs mises en cache, et de maintenir le cache en deçà de
+ URLs mises en cache, et de maintenir le cache en deçà de
certaines limites de taille et de nombre d'inodes.</dd>
<dt><code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code></dt>
- <dd>Implémente un gestionnaire de stockage basé sur un cache d'objets
- partagés. Les en-têtes et corps sont stockés ensemble sous une seule
- clé basée sur l'URL de la réponse mise en cache. Des réponses à
- contenus multiples négociés peuvent être stockées simultanément, mais
+ <dd>Implémente un gestionnaire de stockage basé sur un cache d'objets
+ partagés. Les en-têtes et corps sont stockés ensemble sous une seule
+ clé basée sur l'URL de la réponse mise en cache. Des réponses à
+ contenus multiples négociés peuvent être stockées simultanément, mais
ce module ne supporte pas la mise en cache de contenus partiels.</dd>
</dl>
- <p>Pour de plus amples détails, une description, et des exemples,
+ <p>Pour de plus amples détails, une description, et des exemples,
reportez-vous au <a href="../caching.html">Guide de la mise en
cache</a>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#related">Modules apparentés et directives</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#related">Modules apparentés et directives</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#sampleconf">Exemple de configuration</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#thunderingherd">Eviter une tempête de requête</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#finecontrol">Contrôle fin via le filtre CACHE</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#thunderingherd">Eviter une tempête de requête</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#finecontrol">Contrôle fin via le filtre CACHE</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#status">Etat du cache et journalisation</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#cachestorenostore">CacheStoreNoStore</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachestoreprivate">CacheStorePrivate</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cache">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cache">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cache">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cache">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../caching.html">Guide de la mise en
cache</a></li>
<li><a href="#comments_section">Commentaires</a></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="related" id="related">Modules apparentés et directives</a><a title="Lien permanent" href="#related" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_cache_disk.html#cacheroot">CacheRoot</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cacheminfilesize">CacheMinFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocache">CacheSocache</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime</a></code></li></ul></td></tr></table>
+<h2><a name="related" id="related">Modules apparentés et directives</a><a title="Lien permanent" href="#related" class="permalink">¶</a></h2>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_cache_disk.html#cacheroot">CacheRoot</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachedirlevels">CacheDirLevels</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachedirlength">CacheDirLength</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cacheminfilesize">CacheMinFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocache">CacheSocache</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize</a></code></li><li><code class="directive"><a href="../mod/mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime</a></code></li></ul></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="sampleconf" id="sampleconf">Exemple de configuration</a><a title="Lien permanent" href="#sampleconf" class="permalink">¶</a></h2>
</IfModule>
# Lorsqu'on sert de mandataire, on ne met pas en cache la liste
-# des mises à jour de sécurité
+# des mises à jour de sécurité
CacheDisable http://security.update.server/update-list/
</IfModule></pre>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="thunderingherd" id="thunderingherd">Eviter une tempête de requête</a><a title="Lien permanent" href="#thunderingherd" class="permalink">¶</a></h2>
- <p>Lorsqu'une entrée du cache est périmée, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
- soumet une requête conditionnelle au processus d'arrière-plan, qui est
- censé confirmer la validité de l'entrée du cache, ou dans la négative
- envoyer une entrée mise à jour.</p>
- <p>Un court mais non négligeable laps de temps existe entre le moment
- où l'entrée du cache est périmée, et le moment où elle est mise à
- jour. Sur un serveur fortement chargé, un certain nombre de requêtes
+<h2><a name="thunderingherd" id="thunderingherd">Eviter une tempête de requête</a><a title="Lien permanent" href="#thunderingherd" class="permalink">¶</a></h2>
+ <p>Lorsqu'une entrée du cache est périmée, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
+ soumet une requête conditionnelle au processus d'arrière-plan, qui est
+ censé confirmer la validité de l'entrée du cache, ou dans la négative
+ envoyer une entrée mise à jour.</p>
+ <p>Un court mais non négligeable laps de temps existe entre le moment
+ où l'entrée du cache est périmée, et le moment où elle est mise à
+ jour. Sur un serveur fortement chargé, un certain nombre de requêtes
peut arriver pendant ce laps de temps, et provoquer une
- <strong>tempête</strong> de requêtes susceptibles de saturer le
- processus d'arrière-plan de manière soudaine et imprédictible.</p>
- <p>Pour contenir cette tempête, on peut utiliser la directive
- <code class="directive">CacheLock</code> afin de définir un répertoire où
- seront créés <strong>à la volée</strong> des verrous pour les URLs.
- Ces verrous sont utilisés comme autant d'<strong>indications</strong>
- par les autres requêtes, soit pour empêcher une tentative de mise en
- cache (un autre processus est en train de récupérer l'entité), soit
- pour indiquer qu'une entrée périmée est en cours de mise à jour
- (pendant ce temps, c'est le contenu périmé qui sera renvoyé).
+ <strong>tempête</strong> de requêtes susceptibles de saturer le
+ processus d'arrière-plan de manière soudaine et imprédictible.</p>
+ <p>Pour contenir cette tempête, on peut utiliser la directive
+ <code class="directive">CacheLock</code> afin de définir un répertoire où
+ seront créés <strong>à la volée</strong> des verrous pour les URLs.
+ Ces verrous sont utilisés comme autant d'<strong>indications</strong>
+ par les autres requêtes, soit pour empêcher une tentative de mise en
+ cache (un autre processus est en train de récupérer l'entité), soit
+ pour indiquer qu'une entrée périmée est en cours de mise à jour
+ (pendant ce temps, c'est le contenu périmé qui sera renvoyé).
</p>
- <h3>Mise en cache initiale d'une entrée</h3>
+ <h3>Mise en cache initiale d'une entrée</h3>
- <p>Lorsqu'une entité est mise en cache pour la première fois, un
- verrou est créé pour cette entité jusqu'à ce que la réponse ait été
- entièrement mise en cache. Pendant la durée de vie du verrou, le
- cache va empêcher une seconde tentative de mise en cache de la même
- entité. Bien que cela ne suffise pas à contenir la tempête de
- requêtes, toute tentative de mettre en cache la même entité
- plusieurs fois simultanément est stoppée.
+ <p>Lorsqu'une entité est mise en cache pour la première fois, un
+ verrou est créé pour cette entité jusqu'à ce que la réponse ait été
+ entièrement mise en cache. Pendant la durée de vie du verrou, le
+ cache va empêcher une seconde tentative de mise en cache de la même
+ entité. Bien que cela ne suffise pas à contenir la tempête de
+ requêtes, toute tentative de mettre en cache la même entité
+ plusieurs fois simultanément est stoppée.
</p>
- <h3>Mise à jour d'une entrée périmée</h3>
+ <h3>Mise à jour d'une entrée périmée</h3>
- <p>Lorsqu'une entrée atteint la limite de sa durée de vie, et
- devient par conséquent périmée, un verrou est créé pour cette entité
- jusqu'à ce que la réponse ait été soit confirmée comme encore
- valide, soit remplacée par le processus d'arrière-plan. Pendant la
- durée de vie du verrou, une seconde requête entrante va provoquer le
- renvoi de la donnée périmée, et la tempête de requêtes sera
+ <p>Lorsqu'une entrée atteint la limite de sa durée de vie, et
+ devient par conséquent périmée, un verrou est créé pour cette entité
+ jusqu'à ce que la réponse ait été soit confirmée comme encore
+ valide, soit remplacée par le processus d'arrière-plan. Pendant la
+ durée de vie du verrou, une seconde requête entrante va provoquer le
+ renvoi de la donnée périmée, et la tempête de requêtes sera
contenue.</p>
- <h3>Verrous et en-tête Cache-Control: no-cache</h3>
+ <h3>Verrous et en-tête Cache-Control: no-cache</h3>
- <p>Les verrous ne sont utilisés <strong>qu'à titre
- indicatif</strong> pour enjoindre le cache à être plus coopératif
- avec les serveurs d'arrière-plan, et il est possible de passer outre
- si nécessaire. Si le client envoie une requête contenant un en-tête
- Cache-Control imposant un nouveau téléchargement de l'entité, tout
- verrou éventuel sera ignoré, la requête du client sera honorée
- immédiatement, et l'entrée du cache mise à jour.</p>
-
- <p>Comme mécanisme de sécurité supplémentaire, la durée de vie
+ <p>Les verrous ne sont utilisés <strong>qu'à titre
+ indicatif</strong> pour enjoindre le cache à être plus coopératif
+ avec les serveurs d'arrière-plan, et il est possible de passer outre
+ si nécessaire. Si le client envoie une requête contenant un en-tête
+ Cache-Control imposant un nouveau téléchargement de l'entité, tout
+ verrou éventuel sera ignoré, la requête du client sera honorée
+ immédiatement, et l'entrée du cache mise à jour.</p>
+
+ <p>Comme mécanisme de sécurité supplémentaire, la durée de vie
maximale des verrous est configurable. Lorsque cette limite est
- atteinte, le verrou est supprimé et une autre requête peut alors en
- créer un nouveau. Cette durée de vie peut être définie via la
+ atteinte, le verrou est supprimé et une autre requête peut alors en
+ créer un nouveau. Cette durée de vie peut être définie via la
directive <code class="directive">CacheLockMaxAge</code>, et sa valeur par
- défaut est de 5 secondes.
+ défaut est de 5 secondes.
</p>
<h3>Exemple de configuration</h3>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="finecontrol" id="finecontrol">Contrôle fin via le filtre CACHE</a><a title="Lien permanent" href="#finecontrol" class="permalink">¶</a></h2>
- <p>Dans son mode de fonctionnement par défaut, le cache s'exécute sous
- la forme d'un gestionnaire rapide, court-circuitant la majorité des
+<h2><a name="finecontrol" id="finecontrol">Contrôle fin via le filtre CACHE</a><a title="Lien permanent" href="#finecontrol" class="permalink">¶</a></h2>
+ <p>Dans son mode de fonctionnement par défaut, le cache s'exécute sous
+ la forme d'un gestionnaire rapide, court-circuitant la majorité des
traitements du serveur et fournissant ainsi une mise en cache
- possédant les plus hautes performances disponibles.</p>
+ possédant les plus hautes performances disponibles.</p>
<p>Dans ce mode, le cache <strong>s'incruste</strong> devant le
- serveur, comme si un mandataire de mise en cache indépendant RFC 2616
- était placé devant ce dernier.</p>
+ serveur, comme si un mandataire de mise en cache indépendant RFC 2616
+ était placé devant ce dernier.</p>
<p>Bien que que ce mode offre les meilleures performances, les
administrateurs peuvent souhaiter, dans certaines circonstances,
- effectuer des traitements sur la requête après que cette dernière ait
- été mise en cache, comme ajouter du contenu personnalisé à la page
+ effectuer des traitements sur la requête après que cette dernière ait
+ été mise en cache, comme ajouter du contenu personnalisé à la page
mise en cache, ou appliquer des restrictions d'autorisations au
- contenu. Pour y parvenir, l'administrateur sera alors souvent forcé de
- placer des serveurs mandataires inverses indépendants soit derrière,
+ contenu. Pour y parvenir, l'administrateur sera alors souvent forcé de
+ placer des serveurs mandataires inverses indépendants soit derrière,
soit devant le serveur de mise en cache.</p>
- <p>Pour résoudre ce problème, la directive <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code> peut être définie à
+ <p>Pour résoudre ce problème, la directive <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code> peut être définie à
<strong>off</strong>, afin que le serveur traite toutes les phases
- normalement exécutées par une requête non mise en cache, y compris les
+ normalement exécutées par une requête non mise en cache, y compris les
phases <strong>d'authentification et d'autorisation</strong>.</p>
- <p>En outre, l'administrateur peut éventuellement spécifier le
- <strong>point précis dans la chaîne de filtrage</strong> où devra
+ <p>En outre, l'administrateur peut éventuellement spécifier le
+ <strong>point précis dans la chaîne de filtrage</strong> où devra
intervenir la mise en cache en ajoutant le filtre
- <strong>CACHE</strong> à la chaîne de filtrage en sortie.</p>
+ <strong>CACHE</strong> à la chaîne de filtrage en sortie.</p>
<p>Par exemple, pour mettre en cache le contenu avant d'appliquer une
- compression à la réponse, placez le filtre <strong>CACHE</strong>
+ compression à la réponse, placez le filtre <strong>CACHE</strong>
avant le filtre <strong>DEFLATE</strong> comme dans l'exemple suivant
:</p>
AddOutputFilterByType CACHE;DEFLATE text/plain</pre>
- <p>Une autre possibilité consiste à mettre en cache le contenu avant
- l'ajout de contenu personnalisé via <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> (ou
+ <p>Une autre possibilité consiste à mettre en cache le contenu avant
+ l'ajout de contenu personnalisé via <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> (ou
tout autre filtre de traitement de contenu). Dans l'exemple suivant,
- les modèles contenant des balises comprises par
- <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sont mis en cache avant d'être
- interprétés :</p>
+ les modèles contenant des balises comprises par
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sont mis en cache avant d'être
+ interprétés :</p>
<pre class="prettyprint lang-config"># Mise en cache du contenu avant l'intervention de mod_include et
# mod_deflate
AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html</pre>
- <p>Vous pouvez insérer le filtre <strong>CACHE</strong> en tout point
- de la chaîne de filtrage. Dans l'exemple suivant, le contenu est mis
- en cache après avoir été interprété par <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>,
- mais avant d'être traité par <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> :</p>
+ <p>Vous pouvez insérer le filtre <strong>CACHE</strong> en tout point
+ de la chaîne de filtrage. Dans l'exemple suivant, le contenu est mis
+ en cache après avoir été interprété par <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>,
+ mais avant d'être traité par <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> :</p>
<pre class="prettyprint lang-config"># Mise en cache du contenu entre les interventions de mod_include et
# mod_deflate
<div class="warning"><h3>Avertissement :</h3>Si pour une raison
ou pour une autre, le point d'insertion du filtre
- <strong>CACHE</strong> dans la chaîne de filtrage est modifié, vous
- devez <strong>vider votre cache</strong> pour être sûr que les données
- servies soient à jour. En effet, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> n'est pas
- en mesure d'effectuer cette opération à votre place.</div>
+ <strong>CACHE</strong> dans la chaîne de filtrage est modifié, vous
+ devez <strong>vider votre cache</strong> pour être sûr que les données
+ servies soient à jour. En effet, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> n'est pas
+ en mesure d'effectuer cette opération à votre place.</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="status" id="status">Etat du cache et journalisation</a><a title="Lien permanent" href="#status" class="permalink">¶</a></h2>
- <p>Lorsque <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> a décidé s'il devait ou non
- servir une entité depuis le cache, les raisons précises de cette
- décision sont enregistrées dans l'environnement du sous-processus
- interne à la requête sous la clé <strong>cache-status</strong>.
- Cette information peut être journalisée via la directive <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> comme suit :</p>
+ <p>Lorsque <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> a décidé s'il devait ou non
+ servir une entité depuis le cache, les raisons précises de cette
+ décision sont enregistrées dans l'environnement du sous-processus
+ interne à la requête sous la clé <strong>cache-status</strong>.
+ Cette information peut être journalisée via la directive <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> comme suit :</p>
<pre class="prettyprint lang-config">LogFormat "%{cache-status}e ..."</pre>
- <p>En fonction de la décision prise, l'information est aussi écrite
- dans l'environnement du sous-processus sous une des quatre clés
+ <p>En fonction de la décision prise, l'information est aussi écrite
+ dans l'environnement du sous-processus sous une des quatre clés
suivantes :</p>
<dl>
- <dt>cache-hit</dt><dd>Le contenu a été servi depuis le cache.</dd>
- <dt>cache-revalidate</dt><dd>Le contenu du cache était périmé, a été
- mis à jour avec succès, puis servi depuis le cache.</dd>
- <dt>cache-miss</dt><dd>Le contenu n'était pas dans le cache et a été
- servi directement depuis le serveur demandé.</dd>
- <dt>cache-invalidate</dt><dd>L'entité du cache est devenue invalide
- suite à une requête d'un type autre que GET ou HEAD.</dd>
+ <dt>cache-hit</dt><dd>Le contenu a été servi depuis le cache.</dd>
+ <dt>cache-revalidate</dt><dd>Le contenu du cache était périmé, a été
+ mis à jour avec succès, puis servi depuis le cache.</dd>
+ <dt>cache-miss</dt><dd>Le contenu n'était pas dans le cache et a été
+ servi directement depuis le serveur demandé.</dd>
+ <dt>cache-invalidate</dt><dd>L'entité du cache est devenue invalide
+ suite à une requête d'un type autre que GET ou HEAD.</dd>
</dl>
<p>Il est alors possible d'envisager une journalisation conditionnelle
- du traitement des requêtes par rapport au cache comme dans l'exemple
+ du traitement des requêtes par rapport au cache comme dans l'exemple
suivant :</p>
<pre class="prettyprint lang-config">CustomLog "cached-requests.log" common env=cache-hit
CustomLog "invalidated-requests.log" common env=cache-invalidate</pre>
- <p>Pour les concepteurs de modules, une accroche (hook) nommée
+ <p>Pour les concepteurs de modules, une accroche (hook) nommée
<var>cache_status</var> est disponible et permet aux modules de
- répondre aux résultats de la vérification du cache ci-dessus de manière
- personnalisée.</p>
+ répondre aux résultats de la vérification du cache ci-dessus de manière
+ personnalisée.</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="cachedefaultexpire" id="cachedefaultexpire">Directive</a> <a name="CacheDefaultExpire" id="CacheDefaultExpire">CacheDefaultExpire</a><a title="Lien permanent" href="#cachedefaultexpire" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée par défaut de mise en cache d'un document
-lorsqu'aucune date d'expiration n'a été spécifiée.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée par défaut de mise en cache d'un document
+lorsqu'aucune date d'expiration n'a été spécifiée.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheDefaultExpire <var>secondes</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheDefaultExpire 3600 (une heure)</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#Default">Défaut:</a></th><td><code>CacheDefaultExpire 3600 (une heure)</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
</table>
<p>La directive <code class="directive">CacheDefaultExpire</code> permet de
- spécifier un temps par défaut, en secondes, pendant lequel sera
- conservé dans le cache un document qui ne possède ni date
- d'expiration, ni date de dernière modification. La valeur de cette
- directive est écrasée par la valeur de la directive
- <code class="directive">CacheMaxExpire</code> si cette dernière est
- utilisée.</p>
+ spécifier un temps par défaut, en secondes, pendant lequel sera
+ conservé dans le cache un document qui ne possède ni date
+ d'expiration, ni date de dernière modification. La valeur de cette
+ directive est écrasée par la valeur de la directive
+ <code class="directive">CacheMaxExpire</code> si cette dernière est
+ utilisée.</p>
<pre class="prettyprint lang-config">CacheDefaultExpire 86400</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachedetailheader" id="cachedetailheader">Directive</a> <a name="CacheDetailHeader" id="CacheDetailHeader">CacheDetailHeader</a><a title="Lien permanent" href="#cachedetailheader" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un en-tête X-Cache-Detail à la réponse.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un en-tête X-Cache-Detail à la réponse.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheDetailHeader <var>on|off</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheDetailHeader off</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#Default">Défaut:</a></th><td><code>CacheDetailHeader off</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
</table>
- <p>Lorsque la directive <code class="directive"><a href="#cachedetailheader">CacheDetailHeader</a></code> est définie à on, un
- en-tête <strong>X-Cache-Detail</strong> est ajouté à la réponse et
- contient les raisons précises d'une décision d'utilisation du cache
- vis à vis de cette dernière.</p>
-
- <p>Ceci peut s'avérer utile au cours du développement de services
- RESTful mis en cache pour obtenir des informations supplémentaires à
- propos des décisions vis à vis du cache écrites dans les en-têtes de
- la réponse. Il est ainsi possible de vérifier si
- <code>Cache-Control</code> et d'autres en-têtes ont été correctement
- utilisés par le service et le client.</p>
-
- <p>Si le gestionnaire normal est utilisé, cette directive peut se
+ <p>Lorsque la directive <code class="directive"><a href="#cachedetailheader">CacheDetailHeader</a></code> est définie à on, un
+ en-tête <strong>X-Cache-Detail</strong> est ajouté à la réponse et
+ contient les raisons précises d'une décision d'utilisation du cache
+ vis à vis de cette dernière.</p>
+
+ <p>Ceci peut s'avérer utile au cours du développement de services
+ RESTful mis en cache pour obtenir des informations supplémentaires à
+ propos des décisions vis à vis du cache écrites dans les en-têtes de
+ la réponse. Il est ainsi possible de vérifier si
+ <code>Cache-Control</code> et d'autres en-têtes ont été correctement
+ utilisés par le service et le client.</p>
+
+ <p>Si le gestionnaire normal est utilisé, cette directive peut se
situer dans une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="../mod/core.html#location"><Location></a></code>. Si c'est le gestionnaire
- rapide qui est utilisé, elle doit se situer dans un contexte de
- serveur principal ou de serveur virtuel, sinon elle sera ignorée.</p>
+ rapide qui est utilisé, elle doit se situer dans un contexte de
+ serveur principal ou de serveur virtuel, sinon elle sera ignorée.</p>
- <pre class="prettyprint lang-config"># Active l'en-tête X-Cache-Detail
+ <pre class="prettyprint lang-config"># Active l'en-tête X-Cache-Detail
CacheDetailHeader on</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachedisable" id="cachedisable">Directive</a> <a name="CacheDisable" id="CacheDisable">CacheDisable</a><a title="Lien permanent" href="#cachedisable" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Désactive la mise en cache des URLs
-spécifiées</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheDisable <var>chaîne-url</var> | <var>on</var></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#Description">Description:</a></th><td>Désactive la mise en cache des URLs
+spécifiées</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheDisable <var>chaîne-url</var> | <var>on</var></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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
</table>
<p>La directive <code class="directive">CacheDisable</code> enjoint
<code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> de <em>ne pas</em> mettre en cache l'URL
- spécifiée par <var>chaîne URL</var>, ainsi que les URLs de niveaux
- inférieurs.</p>
+ spécifiée par <var>chaîne URL</var>, ainsi que les URLs de niveaux
+ inférieurs.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">CacheDisable /fichiers_locaux</pre>
</div>
- <p>Si la directive se trouve à l'intérieur d'une section <code class="directive"><Location></code>, le chemin doit être spécifié en
- dessous de la Location, et si le mot "on" est utilisé, la mise en
- cache sera désactivée pour l'ensemble de l'arborescence concernée
+ <p>Si la directive se trouve à l'intérieur d'une section <code class="directive"><Location></code>, le chemin doit être spécifié en
+ dessous de la Location, et si le mot "on" est utilisé, la mise en
+ cache sera désactivée pour l'ensemble de l'arborescence concernée
par la section Location.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Location "/foo">
</Location></pre>
</div>
- <p>Avec les versions 2.2.12 et ultérieures, on peut définir la
- variable d'environnement <code>no-cache</code> pour une définition
- plus fine des ressources à mettre en cache.</p>
+ <p>Avec les versions 2.2.12 et ultérieures, on peut définir la
+ variable d'environnement <code>no-cache</code> pour une définition
+ plus fine des ressources à mettre en cache.</p>
<h3>Voir aussi</h3>
<ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cacheenable" id="cacheenable">Directive</a> <a name="CacheEnable" id="CacheEnable">CacheEnable</a><a title="Lien permanent" href="#cacheenable" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la mise en cache des URLs spécifiées en utilisant le
-gestionnaire de stockage précisé</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheEnable <var>type de cache</var> [<var>chaîne
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la mise en cache des URLs spécifiées en utilisant le
+gestionnaire de stockage précisé</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheEnable <var>type de cache</var> [<var>chaîne
URL</var>]</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_cache</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Une chaîne URL telle que '/' s'appliquait à tout contenu
-en mandat direct dans les versions 2.2 et antérieures.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Une chaîne URL telle que '/' s'appliquait à tout contenu
+en mandat direct dans les versions 2.2 et antérieures.</td></tr>
</table>
<p>La directive <code class="directive">CacheEnable</code> enjoint
- <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> de mettre en cache l'URL précisée par
- <var>chaîne URL</var>, ainsi que les URLs de niveaux inférieurs. Le
- gestionnaire de stockage du cache est spécifié à l'aide de
+ <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> de mettre en cache l'URL précisée par
+ <var>chaîne URL</var>, ainsi que les URLs de niveaux inférieurs. Le
+ gestionnaire de stockage du cache est spécifié à l'aide de
l'argument <var>type de cache</var>. La directive
- <code class="directive">CacheEnable</code> peut être placée à l'intérieur d'une
+ <code class="directive">CacheEnable</code> peut être placée à l'intérieur d'une
section <code class="directive"><Location></code> ou <code class="directive"><LocationMatch></code> pour indiquer que le
- contenu considéré peut être mis en cache. Si <var>type de cache</var>
+ contenu considéré peut être mis en cache. Si <var>type de cache</var>
a pour valeur <code>disk</code>, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
- utilisera le gestionnaire de stockage sur disque implémenté par
+ utilisera le gestionnaire de stockage sur disque implémenté par
<code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code>. Pour que <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
- utilise le gestionnaire de stockage basé sur le cache d'objets
- partagés implémenté par <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code>,
- spécifiez <code>socache</code> comme valeur du paramètre <var>type
+ utilise le gestionnaire de stockage basé sur le cache d'objets
+ partagés implémenté par <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code>,
+ spécifiez <code>socache</code> comme valeur du paramètre <var>type
de cache</var>.</p>
- <p>Si les différentes directives <code class="directive">CacheEnable</code>
- spécifient des URLs qui se recoupent (comme dans l'exemple
+ <p>Si les différentes directives <code class="directive">CacheEnable</code>
+ spécifient des URLs qui se recoupent (comme dans l'exemple
ci-dessous), tous les gestionnaires de stockage possibles seront
- lancés, jusqu'au premier d'entre eux qui traitera effectivement la
- requête.
- L'ordre dans lequel les gestionnaires de stockage sont lancés est
- déterminé par l'ordre dans lequel apparaissent les directives
+ lancés, jusqu'au premier d'entre eux qui traitera effectivement la
+ requête.
+ L'ordre dans lequel les gestionnaires de stockage sont lancés est
+ déterminé par l'ordre dans lequel apparaissent les directives
<code class="directive">CacheEnable</code> dans le fichier de
configuration. Les directives <code class="directive">CacheEnable</code>
- situées à l'intérieur de sections <code class="directive"><Location></code> ou <code class="directive"><LocationMatch></code> sont traitées avant les
- directives <code class="directive">CacheEnable</code> définies au niveau
+ situées à l'intérieur de sections <code class="directive"><Location></code> ou <code class="directive"><LocationMatch></code> sont traitées avant les
+ directives <code class="directive">CacheEnable</code> définies au niveau
global.</p>
- <p>En fonctionnement du type serveur mandataire direct, <var>chaîne
- URL</var> doit au moins débuter par un protocole pour lequel la mise
- en cache doit être activée.</p>
+ <p>En fonctionnement du type serveur mandataire direct, <var>chaîne
+ URL</var> doit au moins débuter par un protocole pour lequel la mise
+ en cache doit être activée.</p>
<pre class="prettyprint lang-config"># Mise en cache de contenu (gestionnaire normal seulement)
CacheQuickHandler off
CacheEnable disk
</LocationMatch>
-# Mise en cache de tous les contenus, à l'exception des URLs
-# mandatées en direct (gestionnaire normal ou rapide)
+# Mise en cache de tous les contenus, à l'exception des URLs
+# mandatées en direct (gestionnaire normal ou rapide)
CacheEnable disk /
-# Mise en cache des URLs FTP mandatées (gestionnaire normal ou rapide)
+# Mise en cache des URLs FTP mandatées (gestionnaire normal ou rapide)
CacheEnable disk ftp://
-# Mise en cache des contenus mandatés en direct depuis www.example.org (gestionnaire normal ou rapide)
+# Mise en cache des contenus mandatés en direct depuis www.example.org (gestionnaire normal ou rapide)
CacheEnable disk http://www.example.org/</pre>
- <p>Un nom d'hôte commençant par un caractère <strong>"*"</strong>
- correspondra à tout nom d'hôte se terminant par le suffixe
- considéré. Un nom d'hôte commençant par un caractère
- <strong>"."</strong> correspondra à tout nom d'hôte contenant le
- composant de nom de domaine qui suit ce caractère.</p>
+ <p>Un nom d'hôte commençant par un caractère <strong>"*"</strong>
+ correspondra à tout nom d'hôte se terminant par le suffixe
+ considéré. Un nom d'hôte commençant par un caractère
+ <strong>"."</strong> correspondra à tout nom d'hôte contenant le
+ composant de nom de domaine qui suit ce caractère.</p>
- <pre class="prettyprint lang-config"># Correspond à www.example.org et fooexample.org
+ <pre class="prettyprint lang-config"># Correspond à www.example.org et fooexample.org
CacheEnable disk http://*example.org/
-# Correspond à www.example.org, mais pas à fooexample.org
+# Correspond à www.example.org, mais pas à fooexample.org
CacheEnable disk http://.example.org/</pre>
- <p>Depuis la version 2.2.12, on peut définir la variable
- d'environnement <code>no-cache</code> pour une définition plus fine
- des ressources à mettre en cache.</p>
+ <p>Depuis la version 2.2.12, on peut définir la variable
+ d'environnement <code>no-cache</code> pour une définition plus fine
+ des ressources à mettre en cache.</p>
<h3>Voir aussi</h3>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cacheheader" id="cacheheader">Directive</a> <a name="CacheHeader" id="CacheHeader">CacheHeader</a><a title="Lien permanent" href="#cacheheader" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un en-tête X-Cache à la réponse.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un en-tête X-Cache à la réponse.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheHeader <var>on|off</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheHeader off</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#Default">Défaut:</a></th><td><code>CacheHeader off</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
</table>
- <p>Lorsque la directive <code class="directive"><a href="#cacheheader">CacheHeader</a></code> est définie à on, un
- en-tête <strong>X-Cache</strong> est ajouté à la réponse et contient
- l'état du cache pour cette dernière. Si le gestionnaire normal est
- utilisé, cette directive peut se situer dans une section
+ <p>Lorsque la directive <code class="directive"><a href="#cacheheader">CacheHeader</a></code> est définie à on, un
+ en-tête <strong>X-Cache</strong> est ajouté à la réponse et contient
+ l'état du cache pour cette dernière. Si le gestionnaire normal est
+ utilisé, cette directive peut se situer dans une section
<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou
<code class="directive"><a href="../mod/core.html#location"><Location></a></code>. Si c'est
le
- gestionnaire rapide qui est utilisé, elle doit se situer dans un
+ gestionnaire rapide qui est utilisé, elle doit se situer dans un
contexte de serveur principal ou de serveur virtuel, sinon elle sera
- ignorée.</p>
+ ignorée.</p>
<dl>
- <dt><strong>HIT</strong></dt><dd>Le contenu était à jour et a été
+ <dt><strong>HIT</strong></dt><dd>Le contenu était à jour et a été
servi depuis le cache.</dd>
- <dt><strong>REVALIDATE</strong></dt><dd>Le contenu était périmé, a
- été mis à jour, puis a été servi depuis le cache.</dd>
- <dt><strong>MISS</strong></dt><dd>Le contenu n'a pas été servi
- depuis le cache, mais directement depuis le serveur demandé.</dd>
+ <dt><strong>REVALIDATE</strong></dt><dd>Le contenu était périmé, a
+ été mis à jour, puis a été servi depuis le cache.</dd>
+ <dt><strong>MISS</strong></dt><dd>Le contenu n'a pas été servi
+ depuis le cache, mais directement depuis le serveur demandé.</dd>
</dl>
- <pre class="prettyprint lang-config"># Active l'en-tête X-Cache
+ <pre class="prettyprint lang-config"># Active l'en-tête X-Cache
CacheHeader on</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cacheignorecachecontrol" id="cacheignorecachecontrol">Directive</a> <a name="CacheIgnoreCacheControl" id="CacheIgnoreCacheControl">CacheIgnoreCacheControl</a><a title="Lien permanent" href="#cacheignorecachecontrol" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore les en-têtes de requête enjoignant de ne pas servir
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore les en-têtes de requête enjoignant de ne pas servir
le contenu au client depuis le cache</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheIgnoreCacheControl On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreCacheControl Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreCacheControl Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_cache</td></tr>
</table>
- <p>Normalement, les requêtes contenant des en-têtes tels que
+ <p>Normalement, les requêtes contenant des en-têtes tels que
Cache-Control: no-cache ou Pragma: no-cache ne sont pas servies
depuis le cache. La directive
<code class="directive">CacheIgnoreCacheControl</code> permet de modifier ce
comportement. Avec <code class="directive">CacheIgnoreCacheControl
On</code>, le serveur tentera de servir la ressource depuis le
- cache, même si la requête contient un en-tête
+ cache, même si la requête contient un en-tête
no-cache.</p>
<pre class="prettyprint lang-config">CacheIgnoreCacheControl On</pre>
<div class="warning"><h3>Avertissement :</h3>
Cette directive permet de servir des ressources depuis le cache,
- même si le client a demandé à ce qu'il n'en soit pas ainsi. Le
- contenu servi est ainsi susceptible d'être périmé.
+ même si le client a demandé à ce qu'il n'en soit pas ainsi. Le
+ contenu servi est ainsi susceptible d'être périmé.
</div>
<h3>Voir aussi</h3>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cacheignoreheaders" id="cacheignoreheaders">Directive</a> <a name="CacheIgnoreHeaders" id="CacheIgnoreHeaders">CacheIgnoreHeaders</a><a title="Lien permanent" href="#cacheignoreheaders" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ne pas stocker le(s) en-tête(s) spécifié(s) dans le cache.
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ne pas stocker le(s) en-tête(s) spécifié(s) dans le cache.
</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheIgnoreHeaders <var>en-tête</var> [<var>en-tête</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreHeaders None</code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheIgnoreHeaders <var>en-tête</var> [<var>en-tête</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreHeaders None</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_cache</td></tr>
</table>
- <p>En accord avec la RFC 2616, les en-têtes HTTP hop-by-hop ne sont
- pas stockés dans le cache. Les en-têtes HTTP suivant sont des
- en-têtes hop-by-hop, et en tant que tels, ne sont en <em>aucun</em>
- cas stockés dans le cache, quelle que soit la définition de la
+ <p>En accord avec la RFC 2616, les en-têtes HTTP hop-by-hop ne sont
+ pas stockés dans le cache. Les en-têtes HTTP suivant sont des
+ en-têtes hop-by-hop, et en tant que tels, ne sont en <em>aucun</em>
+ cas stockés dans le cache, quelle que soit la définition de la
directive <code class="directive">CacheIgnoreHeaders</code> :</p>
<ul>
</ul>
<p>La directive <code class="directive">CacheIgnoreHeaders</code> permet de
- spécifier quels en-têtes HTTP ne doivent pas être stockés dans le
- cache. Par exemple, il peut s'avérer pertinent dans certains cas de
+ spécifier quels en-têtes HTTP ne doivent pas être stockés dans le
+ cache. Par exemple, il peut s'avérer pertinent dans certains cas de
ne pas stocker les cookies dans le cache.</p>
<p>La directive <code class="directive">CacheIgnoreHeaders</code> accepte
- une liste d'en-têtes HTTP séparés par des espaces, qui ne doivent
- pas être stockés dans le cache. Si les en-têtes hop-by-hop sont les
- seuls à ne pas devoir être stockés dans le cache (le comportement
+ une liste d'en-têtes HTTP séparés par des espaces, qui ne doivent
+ pas être stockés dans le cache. Si les en-têtes hop-by-hop sont les
+ seuls à ne pas devoir être stockés dans le cache (le comportement
compatible RFC 2616), la directive
- <code class="directive">CacheIgnoreHeaders</code> peut être définie à
+ <code class="directive">CacheIgnoreHeaders</code> peut être définie à
<code>None</code>.</p>
<div class="example"><h3>Exemple 1</h3><pre class="prettyprint lang-config">CacheIgnoreHeaders Set-Cookie</pre>
</div>
<div class="warning"><h3>Avertissement :</h3>
- Si des en-têtes nécessaires à la bonne gestion du cache, comme
- <code>Expires</code>, ne sont pas stockés suite à la définition
+ Si des en-têtes nécessaires à la bonne gestion du cache, comme
+ <code>Expires</code>, ne sont pas stockés suite à la définition
d'une directive <code class="directive">CacheIgnoreHeaders</code>, le
- comportement de mod_cache sera imprévisible.
+ comportement de mod_cache sera imprévisible.
</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="cacheignorenolastmod" id="cacheignorenolastmod">Directive</a> <a name="CacheIgnoreNoLastMod" id="CacheIgnoreNoLastMod">CacheIgnoreNoLastMod</a><a title="Lien permanent" href="#cacheignorenolastmod" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore le fait qu'une réponse ne possède pas d'en-tête Last
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore le fait qu'une réponse ne possède pas d'en-tête Last
Modified.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheIgnoreNoLastMod On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreNoLastMod Off</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#Default">Défaut:</a></th><td><code>CacheIgnoreNoLastMod Off</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
</table>
- <p>Normalement, les documents qui ne possèdent pas de date de
- dernière modification ne sont pas mis en cache. Dans certaines
- circonstances, la date de dernière modification est supprimée (au
- cours des traitements liés à <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> par
+ <p>Normalement, les documents qui ne possèdent pas de date de
+ dernière modification ne sont pas mis en cache. Dans certaines
+ circonstances, la date de dernière modification est supprimée (au
+ cours des traitements liés à <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> par
exemple), ou n'existe tout simplement pas. La directive
- <code class="directive">CacheIgnoreNoLastMod</code> permet de spécifier si
- les documents ne possèdant pas de date de dernière modification
- doivent être mis en cache, même sans date de dernière modification.
- Si le document ne possède ni date d'expiration, ni date de dernière
- modification, la valeur spécifiée par la directive
- <code class="directive">CacheDefaultExpire</code> servira à générer une date
+ <code class="directive">CacheIgnoreNoLastMod</code> permet de spécifier si
+ les documents ne possèdant pas de date de dernière modification
+ doivent être mis en cache, même sans date de dernière modification.
+ Si le document ne possède ni date d'expiration, ni date de dernière
+ modification, la valeur spécifiée par la directive
+ <code class="directive">CacheDefaultExpire</code> servira à générer une date
d'expiration.
</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cacheignorequerystring" id="cacheignorequerystring">Directive</a> <a name="CacheIgnoreQueryString" id="CacheIgnoreQueryString">CacheIgnoreQueryString</a><a title="Lien permanent" href="#cacheignorequerystring" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore la chaîne de paramètres lors de la mise en
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore la chaîne de paramètres lors de la mise en
cache</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheIgnoreQueryString On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreQueryString Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreQueryString Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_cache</td></tr>
</table>
- <p>Normalement, les requêtes comportant une chaîne de paramètres
- sont mises en cache séparément si leurs chaînes de paramètres
- diffèrent.
- En accord avec la RFC 2616/13.9, cette mise en cache n'est effectuée
- séparément que si une date d'expiration est spécifiée. La directive
+ <p>Normalement, les requêtes comportant une chaîne de paramètres
+ sont mises en cache séparément si leurs chaînes de paramètres
+ diffèrent.
+ En accord avec la RFC 2616/13.9, cette mise en cache n'est effectuée
+ séparément que si une date d'expiration est spécifiée. La directive
<code class="directive">CacheIgnoreQueryString</code> permet la mise en
- cache de requêtes même si aucune date d'expiration est spécifiée, et
- de renvoyer une réponse depuis la cache même si les chaînes de
- paramètres diffèrent. Du point de vue du cache, la requête est
- traitée comme si elle ne possèdait pas de chaîne de paramètres
- lorsque cette directive est activée.</p>
+ cache de requêtes même si aucune date d'expiration est spécifiée, et
+ de renvoyer une réponse depuis la cache même si les chaînes de
+ paramètres diffèrent. Du point de vue du cache, la requête est
+ traitée comme si elle ne possèdait pas de chaîne de paramètres
+ lorsque cette directive est activée.</p>
<pre class="prettyprint lang-config">CacheIgnoreQueryString On</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cacheignoreurlsessionidentifiers" id="cacheignoreurlsessionidentifiers">Directive</a> <a name="CacheIgnoreURLSessionIdentifiers" id="CacheIgnoreURLSessionIdentifiers">CacheIgnoreURLSessionIdentifiers</a><a title="Lien permanent" href="#cacheignoreurlsessionidentifiers" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore les identifiants de session définis encodés dans
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore les identifiants de session définis encodés dans
l'URL lors de la mise en cache
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheIgnoreURLSessionIdentifiers <var>identifiant</var>
[<var>identifiant</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreURLSessionIdentifiers None</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreURLSessionIdentifiers None</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_cache</td></tr>
<li><code>/une-application/image.gif;jsessionid=123456789</code></li>
<li><code>/une-application/image.gif?PHPSESSIONID=12345678</code></li>
</ul>
- <p>Ceci implique la mise en cache des ressources séparément pour
- chaque session, ce qui n'est en général pas souhaité. La directive
+ <p>Ceci implique la mise en cache des ressources séparément pour
+ chaque session, ce qui n'est en général pas souhaité. La directive
<code class="directive">CacheIgnoreURLSessionIdentifiers</code> permet de
- définir une liste d'identifiants qui seront supprimés de la clé
- utilisée pour identifier une entité dans le cache, de façon à ce que
- les ressources ne soient pas stockées séparément pour chaque
+ définir une liste d'identifiants qui seront supprimés de la clé
+ utilisée pour identifier une entité dans le cache, de façon à ce que
+ les ressources ne soient pas stockées séparément pour chaque
session.
</p>
<p><code>CacheIgnoreURLSessionIdentifiers None</code> vide la liste
- des identifiants ignorés. Autrement, chaque identifiant spécifié est
- ajouté à la liste.</p>
+ des identifiants ignorés. Autrement, chaque identifiant spécifié est
+ ajouté à la liste.</p>
<div class="example"><h3>Exemple 1</h3><pre class="prettyprint lang-config">CacheIgnoreURLSessionIdentifiers jsessionid</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachekeybaseurl" id="cachekeybaseurl">Directive</a> <a name="CacheKeyBaseURL" id="CacheKeyBaseURL">CacheKeyBaseURL</a><a title="Lien permanent" href="#cachekeybaseurl" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Remplace l'URL de base des clés du cache mandatées en
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Remplace l'URL de base des clés du cache mandatées en
inverse</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheKeyBaseURL <var>URL</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheKeyBaseURL http://example.com</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheKeyBaseURL http://example.com</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_cache</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
</table>
- <p>Lorsque la directive <code class="directive"><a href="#cachekeybaseurl">CacheKeyBaseURL</a></code> est utilisée, l'URL
- spécifiée sera utilisée comme URL de base pour calculer l'URL des clés
- du cache dans la configuration du mandataire inverse. Par défaut,
- c'est le protocole/nom d'hôte/port du serveur virtuel courant qui sera
- utilisé pour construire la clé de cache. Dans le cas d'un cluster de
- machines, si toutes les entrées du cache doivent posséder la même clé,
- cette directive permet de spécifier une nouvelle URL de base.</p>
-
- <pre class="prettyprint lang-config"># Remplace l'URL de base de la clé de cache.
+ <p>Lorsque la directive <code class="directive"><a href="#cachekeybaseurl">CacheKeyBaseURL</a></code> est utilisée, l'URL
+ spécifiée sera utilisée comme URL de base pour calculer l'URL des clés
+ du cache dans la configuration du mandataire inverse. Par défaut,
+ c'est le protocole/nom d'hôte/port du serveur virtuel courant qui sera
+ utilisé pour construire la clé de cache. Dans le cas d'un cluster de
+ machines, si toutes les entrées du cache doivent posséder la même clé,
+ cette directive permet de spécifier une nouvelle URL de base.</p>
+
+ <pre class="prettyprint lang-config"># Remplace l'URL de base de la clé de cache.
CacheKeyBaseURL http://www.example.com/</pre>
- <div class="warning">Prenez garde en définissant cette directive. Si
- deux serveurs virtuels distincts possèdent accidentellement la même
- URL de base, les entrées en provenance d'un serveur virtuel seront
+ <div class="warning">Prenez garde en définissant cette directive. Si
+ deux serveurs virtuels distincts possèdent accidentellement la même
+ URL de base, les entrées en provenance d'un serveur virtuel seront
servies par l'autre.</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachelastmodifiedfactor" id="cachelastmodifiedfactor">Directive</a> <a name="CacheLastModifiedFactor" id="CacheLastModifiedFactor">CacheLastModifiedFactor</a><a title="Lien permanent" href="#cachelastmodifiedfactor" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le facteur utilisé pour générer une date d'expiration en
-fonction de la date de dernière modification.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le facteur utilisé pour générer une date d'expiration en
+fonction de la date de dernière modification.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheLastModifiedFactor <var>flottant</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheLastModifiedFactor 0.1</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#Default">Défaut:</a></th><td><code>CacheLastModifiedFactor 0.1</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
</table>
- <p>Si un document ne possède pas de date d'expiration, elle peut
- être calculée en fonction de la date de dernière modification, si
+ <p>Si un document ne possède pas de date d'expiration, elle peut
+ être calculée en fonction de la date de dernière modification, si
elle existe. La directive
- <code class="directive">CacheLastModifiedFactor</code> permet de spécifier
- un <var>facteur</var> à utiliser pour la génération de cette date
+ <code class="directive">CacheLastModifiedFactor</code> permet de spécifier
+ un <var>facteur</var> à utiliser pour la génération de cette date
d'expiration au sein de la formule suivante :
- <code>délai-expiration = durée-depuis-date-dernière-modification *
+ <code>délai-expiration = durée-depuis-date-dernière-modification *
<var>facteur</var>
- date-expiration = date-courante + délai-expiration</code>
+ date-expiration = date-courante + délai-expiration</code>
- Par exemple, si la dernière modification du document date de 10
- heures, et si <var>facteur</var> a pour valeur 0.1, le délai
+ Par exemple, si la dernière modification du document date de 10
+ heures, et si <var>facteur</var> a pour valeur 0.1, le délai
d'expiration sera de 10*0.1 = 1 heure. Si l'heure courante est
- 3:00pm, la date d'expiration calculée sera 3:00pm + 1 heure =
+ 3:00pm, la date d'expiration calculée sera 3:00pm + 1 heure =
4:00pm.
- Si le délai d'expiration est supérieur à celui spécifié par la
+ Si le délai d'expiration est supérieur à celui spécifié par la
directive <code class="directive">CacheMaxExpire</code>, c'est ce dernier
qui l'emporte.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachelock" id="cachelock">Directive</a> <a name="CacheLock" id="CacheLock">CacheLock</a><a title="Lien permanent" href="#cachelock" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la protection contre les tempêtes de requêtes.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la protection contre les tempêtes de requêtes.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheLock <var>on|off</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheLock off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheLock off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_cache</td></tr>
</table>
<p>La directive <code class="directive">CacheLock</code> active la protection
- contre les tempêtes de requêtes pour l'espace d'adressage donné.</p>
+ contre les tempêtes de requêtes pour l'espace d'adressage donné.</p>
<p>La configuration minimale pour activer le verrouillage contre les
- tempêtes de requêtes dans le répertoire par
- défaut des fichiers run-time est
+ tempêtes de requêtes dans le répertoire par
+ défaut des fichiers run-time est
la suivante :</p>
<pre class="prettyprint lang-config"># Active le verrouillage du cache
<p>Les verrous sont des fichiers vides qui n'existent que pour les
- URLs présentes dont le contenu est périmé ; ils consomment dont bien
+ URLs présentes dont le contenu est périmé ; ils consomment dont bien
moins de ressources que le cache disque traditionnel.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachelockmaxage" id="cachelockmaxage">Directive</a> <a name="CacheLockMaxAge" id="CacheLockMaxAge">CacheLockMaxAge</a><a title="Lien permanent" href="#cachelockmaxage" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la durée de vie maximale d'un verrou de cache.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la durée de vie maximale d'un verrou de cache.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheLockMaxAge <var>entier</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheLockMaxAge 5</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheLockMaxAge 5</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_cache</td></tr>
</table>
<p>La directive <code class="directive">CacheLockMaxAge</code> permet de
- spécifier la durée de vie maximale d'un verrou de cache.</p>
+ spécifier la durée de vie maximale d'un verrou de cache.</p>
- <p>Un verrou plus ancien que cette valeur exprimée en secondes sera
- ignoré, et la prochaine requête entrante sera alors en mesure de
- recréer le verrou. Ce mécanisme permet d'éviter les mises à jour trop
- longues initiées par des clients lents.</p>
+ <p>Un verrou plus ancien que cette valeur exprimée en secondes sera
+ ignoré, et la prochaine requête entrante sera alors en mesure de
+ recréer le verrou. Ce mécanisme permet d'éviter les mises à jour trop
+ longues initiées par des clients lents.</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="cachelockpath" id="cachelockpath">Directive</a> <a name="CacheLockPath" id="CacheLockPath">CacheLockPath</a><a title="Lien permanent" href="#cachelockpath" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le répertoire des verrous.</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheLockPath <var>répertoire</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheLockPath mod_cache-lock</code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le répertoire des verrous.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheLockPath <var>répertoire</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheLockPath mod_cache-lock</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_cache</td></tr>
</table>
<p>La directive <code class="directive">CacheLockPath</code> permet de
- spécifier le répertoire dans lequel les verrous sont
- créés. Si <var>répertoire</var> n'est pas un
- chemin absolu, il sera relatif au répertoire défini par la directive
+ spécifier le répertoire dans lequel les verrous sont
+ créés. Si <var>répertoire</var> n'est pas un
+ chemin absolu, il sera relatif au répertoire défini par la directive
<code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachemaxexpire" id="cachemaxexpire">Directive</a> <a name="CacheMaxExpire" id="CacheMaxExpire">CacheMaxExpire</a><a title="Lien permanent" href="#cachemaxexpire" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée maximale en secondes de mise en cache d'un
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée maximale en secondes de mise en cache d'un
document</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheMaxExpire <var>secondes</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheMaxExpire 86400 (une journée)</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#Default">Défaut:</a></th><td><code>CacheMaxExpire 86400 (une journée)</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
</table>
<p>La directive <code class="directive">CacheMaxExpire</code> permet de
- spécifier le nombre maximum de secondes pendant lequel les documents
- HTTP suceptibles d'être mis en cache seront conservés sans vérifier
+ spécifier le nombre maximum de secondes pendant lequel les documents
+ HTTP suceptibles d'être mis en cache seront conservés sans vérifier
leur contenu sur le serveur d'origine. Ce nombre de secondes
- correspond donc à la durée maximale pendant laquelle un document ne
- sera pas à jour. L'utilisation de cette valeur maximale est forcée,
- même si le document possède une date d'expiration.</p>
+ correspond donc à la durée maximale pendant laquelle un document ne
+ sera pas à jour. L'utilisation de cette valeur maximale est forcée,
+ même si le document possède une date d'expiration.</p>
<pre class="prettyprint lang-config">CacheMaxExpire 604800</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cacheminexpire" id="cacheminexpire">Directive</a> <a name="CacheMinExpire" id="CacheMinExpire">CacheMinExpire</a><a title="Lien permanent" href="#cacheminexpire" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée minimale en secondes de mise en cache d'un
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée minimale en secondes de mise en cache d'un
document</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheMinExpire <var>secondes</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheMinExpire 0</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#Default">Défaut:</a></th><td><code>CacheMinExpire 0</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
</table>
<p>La directive <code class="directive">CacheMaxExpire</code> permet de
- spécifier le nombre maximum de secondes pendant lequel les documents
- HTTP suceptibles d'être mis en cache seront conservés sans vérifier
+ spécifier le nombre maximum de secondes pendant lequel les documents
+ HTTP suceptibles d'être mis en cache seront conservés sans vérifier
leur contenu sur le serveur d'origine. Elle n'est prise en compte
- que dans le cas où le document ne possède aucune date d'expiration
+ que dans le cas où le document ne possède aucune date d'expiration
valide.</p>
<pre class="prettyprint lang-config">CacheMinExpire 3600</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachequickhandler" id="cachequickhandler">Directive</a> <a name="CacheQuickHandler" id="CacheQuickHandler">CacheQuickHandler</a><a title="Lien permanent" href="#cachequickhandler" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Exécute le cache à partir d'un gestionnaire rapide.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Exécute le cache à partir d'un gestionnaire rapide.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheQuickHandler <var>on|off</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheQuickHandler on</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheQuickHandler on</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_cache</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.3 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.3 du serveur HTTP
Apache</td></tr>
</table>
- <p>La directive <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code> permet de contrôler
- la phase au cours de laquelle la mise en cache est effectuée.</p>
+ <p>La directive <code class="directive"><a href="#cachequickhandler">CacheQuickHandler</a></code> permet de contrôler
+ la phase au cours de laquelle la mise en cache est effectuée.</p>
- <p>Avec la configuration par défaut, le cache agit au cours de la
- phase du gestionnaire rapide. Cette phase court-circuite la majorité
- des traitements du serveur, et constitue le mode d'opération le plus
+ <p>Avec la configuration par défaut, le cache agit au cours de la
+ phase du gestionnaire rapide. Cette phase court-circuite la majorité
+ des traitements du serveur, et constitue le mode d'opération le plus
performant pour un serveur typique. Le cache
- <strong>s'incruste</strong> devant le serveur, et la majorité des
- traitements du serveur est court-circuitée.</p>
+ <strong>s'incruste</strong> devant le serveur, et la majorité des
+ traitements du serveur est court-circuitée.</p>
- <p>Lorsque cette directive est définie à off, le cache agit comme un
- gestionnaire normal, et est concerné par toutes les phases de
- traitement d'une requête. Bien que ce mode soit moins performant que
- le mode par défaut, il permet d'utiliser le cache dans les cas où un
- traitement complet de la requête est nécessaire, comme par exemple
- lorsque le contenu est soumis à autorisation.</p>
+ <p>Lorsque cette directive est définie à off, le cache agit comme un
+ gestionnaire normal, et est concerné par toutes les phases de
+ traitement d'une requête. Bien que ce mode soit moins performant que
+ le mode par défaut, il permet d'utiliser le cache dans les cas où un
+ traitement complet de la requête est nécessaire, comme par exemple
+ lorsque le contenu est soumis à autorisation.</p>
- <pre class="prettyprint lang-config"># Exécute le cache comme un gestionnaire normal
+ <pre class="prettyprint lang-config"># Exécute le cache comme un gestionnaire normal
CacheQuickHandler off</pre>
- <p>Lorsque le gestionnaire rapide est désactivé, l'administrateur a
- aussi la possibilité de choisir avec précision le point de la chaîne
- de filtrage où la mise en cache sera effectuée, en utilisant le
+ <p>Lorsque le gestionnaire rapide est désactivé, l'administrateur a
+ aussi la possibilité de choisir avec précision le point de la chaîne
+ de filtrage où la mise en cache sera effectuée, en utilisant le
filtre <strong>CACHE</strong>.</p>
<pre class="prettyprint lang-config"># Mise en cache du contenu avant l'intervention de mod_include et
AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html</pre>
- <p>Si le filtre CACHE est spécifié plusieurs fois, c'est la dernière
+ <p>Si le filtre CACHE est spécifié plusieurs fois, c'est la dernière
instance qui sera prise en compte.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachestaleonerror" id="cachestaleonerror">Directive</a> <a name="CacheStaleOnError" id="CacheStaleOnError">CacheStaleOnError</a><a title="Lien permanent" href="#cachestaleonerror" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sert du contenu non à jour à la place de réponses 5xx.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sert du contenu non à jour à la place de réponses 5xx.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheStaleOnError <var>on|off</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheStaleOnError on</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#Default">Défaut:</a></th><td><code>CacheStaleOnError on</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
</table>
- <p>Lorsque la directive <code class="directive"><a href="#cachestaleonerror">CacheStaleOnError</a></code> est définie à on, et
- si des données non mises à jour sont disponibles dans le cache, ce
- dernier renverra ces données, plutôt qu'une éventuelle réponse 5xx en
- provenance du serveur d'arrière-plan. Alors que l'en-tête
- Cache-Control envoyé par les clients sera respecté, et que les clients
- recevront donc dans ce cas la réponse 5xx brute à leur requête, cette
- réponse 5xx renvoyée au client n'invalidera pas le contenu dans le
+ <p>Lorsque la directive <code class="directive"><a href="#cachestaleonerror">CacheStaleOnError</a></code> est définie à on, et
+ si des données non mises à jour sont disponibles dans le cache, ce
+ dernier renverra ces données, plutôt qu'une éventuelle réponse 5xx en
+ provenance du serveur d'arrière-plan. Alors que l'en-tête
+ Cache-Control envoyé par les clients sera respecté, et que les clients
+ recevront donc dans ce cas la réponse 5xx brute à leur requête, cette
+ réponse 5xx renvoyée au client n'invalidera pas le contenu dans le
cache. </p>
- <pre class="prettyprint lang-config"># Sert des données non mises à jour en cas d'erreur.
+ <pre class="prettyprint lang-config"># Sert des données non mises à jour en cas d'erreur.
CacheStaleOnError on</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachestoreexpired" id="cachestoreexpired">Directive</a> <a name="CacheStoreExpired" id="CacheStoreExpired">CacheStoreExpired</a><a title="Lien permanent" href="#cachestoreexpired" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de mettre en cache les réponses que le serveur
-considère comme arrivées à expiration</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de mettre en cache les réponses que le serveur
+considère comme arrivées à expiration</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheStoreExpired On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheStoreExpired Off</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#Default">Défaut:</a></th><td><code>CacheStoreExpired Off</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
</table>
- <p>Depuis la version 2.2.4, les réponses qui sont arrivées à
- expiration ne sont pas stockées dans le cache. La directive
+ <p>Depuis la version 2.2.4, les réponses qui sont arrivées à
+ expiration ne sont pas stockées dans le cache. La directive
<code class="directive">CacheStoreExpired</code> permet de modifier ce
comportement. Avec <code class="directive">CacheStoreExpired</code> On, le
- serveur tente de mettre en cache la ressource si elle est périmée.
- Les requêtes suivantes vont déclencher une requête si-modifié-depuis
- de la part du serveur d'origine, et la réponse sera renvoyée à
- partir du cache si la ressource d'arrière-plan n'a pas été modifiée.</p>
+ serveur tente de mettre en cache la ressource si elle est périmée.
+ Les requêtes suivantes vont déclencher une requête si-modifié-depuis
+ de la part du serveur d'origine, et la réponse sera renvoyée à
+ partir du cache si la ressource d'arrière-plan n'a pas été modifiée.</p>
<pre class="prettyprint lang-config">CacheStoreExpired On</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachestorenostore" id="cachestorenostore">Directive</a> <a name="CacheStoreNoStore" id="CacheStoreNoStore">CacheStoreNoStore</a><a title="Lien permanent" href="#cachestorenostore" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de mettre en cache les requêtes ou réponses dont
-l'entête Cache-Control: a pour valeur no-store.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de mettre en cache les requêtes ou réponses dont
+l'entête Cache-Control: a pour valeur no-store.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheStoreNoStore On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheStoreNoStore Off</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#Default">Défaut:</a></th><td><code>CacheStoreNoStore Off</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
</table>
- <p>Normalement, les requêtes ou réponses dont l'en-tête
- Cache-Control: a pour valeur no-store ne sont pas stockées dans le
+ <p>Normalement, les requêtes ou réponses dont l'en-tête
+ Cache-Control: a pour valeur no-store ne sont pas stockées dans le
cache. La directive <code class="directive">CacheStoreNoStore</code> permet
de modifier ce comportement. Si
- <code class="directive">CacheStoreNoStore</code> est définie à On, le
- serveur tente de mettre la ressource en cache même si elle contient
- un en-tête no-store.</p>
+ <code class="directive">CacheStoreNoStore</code> est définie à On, le
+ serveur tente de mettre la ressource en cache même si elle contient
+ un en-tête no-store.</p>
<pre class="prettyprint lang-config">CacheStoreNoStore On</pre>
<div class="warning"><h3>Avertissement :</h3>
- Selon la RFC 2616, la valeur d'en-tête no-store est censée
- "prévenir la suppression ou la rétention par inadvertance
+ Selon la RFC 2616, la valeur d'en-tête no-store est censée
+ "prévenir la suppression ou la rétention par inadvertance
d'informations sensibles (par exemple, sur des bandes de
sauvegarde)". Autrement dit, l'activation de la directive
<code class="directive">CacheStoreNoCache</code> pourrait provoquer le
stockage d'informations sensibles dans le cache. Vous avez donc
- été prévenus.
+ été prévenus.
</div>
<h3>Voir aussi</h3>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachestoreprivate" id="cachestoreprivate">Directive</a> <a name="CacheStorePrivate" id="CacheStorePrivate">CacheStorePrivate</a><a title="Lien permanent" href="#cachestoreprivate" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de mettre en cache des réponses que le serveur a
-marquées comme privées</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de mettre en cache des réponses que le serveur a
+marquées comme privées</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheStorePrivate On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheStorePrivate Off</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#Default">Défaut:</a></th><td><code>CacheStorePrivate Off</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache</td></tr>
</table>
- <p>Normalement, les réponse comportant un en-tête Cache-Control:
- dont la valeur est private ne seront pas stockées dans le cache. La
+ <p>Normalement, les réponse comportant un en-tête Cache-Control:
+ dont la valeur est private ne seront pas stockées dans le cache. La
directive <code class="directive">CacheStorePrivate</code> permet de
modifier ce comportement. Si
- <code class="directive">CacheStorePrivate</code> est définie à On, le
- serveur tentera de mettre la ressource en cache, même si elle
- contient un en-tête private.</p>
+ <code class="directive">CacheStorePrivate</code> est définie à On, le
+ serveur tentera de mettre la ressource en cache, même si elle
+ contient un en-tête private.</p>
<pre class="prettyprint lang-config">CacheStorePrivate On</pre>
<div class="warning"><h3>Avertissement :</h3>
- Cette directive autorise la mise en cache même si le serveur
- indique que la ressource ne doit pas être mise en cache. Elle
- n'est de ce fait appropriée que dans le cas d'un cache
- 'privé'.
+ Cette directive autorise la mise en cache même si le serveur
+ indique que la ressource ne doit pas être mise en cache. Elle
+ n'est de ce fait appropriée que dans le cas d'un cache
+ 'privé'.
</div>
<h3>Voir aussi</h3>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cache.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_cache.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_cache.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_cache.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_cache_disk</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cache_disk.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_cache_disk.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_cache_disk.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_cache_disk.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_cache_disk.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module de stockage sur disque pour le filtre de mise en
cache HTTP.</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>cache_disk_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cache_disk.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>cache_disk_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cache_disk.c</td></tr></table>
<h3>Sommaire</h3>
- <p><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> implémente un gestionnaire de
+ <p><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> implémente un gestionnaire de
stockage sur disque pour le module <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p>
- <p>Les en-têtes et corps des réponses mises en cache sont stockés
- séparément sur le disque, dans une structure de répertoires basée
- sur le condensé md5 de l'URL mise en cache.</p>
+ <p>Les en-têtes et corps des réponses mises en cache sont stockés
+ séparément sur le disque, dans une structure de répertoires basée
+ sur le condensé md5 de l'URL mise en cache.</p>
- <p>Plusieurs réponses au contenu négocié peuvent être stockées en
- même temps, mais la mise en cache de contenus partiels n'est pas
- supportée actuellement par ce module.</p>
+ <p>Plusieurs réponses au contenu négocié peuvent être stockées en
+ même temps, mais la mise en cache de contenus partiels n'est pas
+ supportée actuellement par ce module.</p>
- <p>Les mises à jour atomiques du cache pour les fichiers d'en-tête
- et de corps peuvent être effectuées sans verrouillage en
- enregistrant les numéros d'inode et de périphérique du fichier de
- corps dans le fichier d'en-tête. Ceci implique que les entrées du
- cache déplacées manuellement dans le cache seront ignorées.</p>
+ <p>Les mises à jour atomiques du cache pour les fichiers d'en-tête
+ et de corps peuvent être effectuées sans verrouillage en
+ enregistrant les numéros d'inode et de périphérique du fichier de
+ corps dans le fichier d'en-tête. Ceci implique que les entrées du
+ cache déplacées manuellement dans le cache seront ignorées.</p>
<p>L'utilitaire <code class="program"><a href="../programs/htcacheclean.html">htcacheclean</a></code> permet de lister et
- de supprimer les URLs du cache, ou de maintenir le cache en deçà de
+ de supprimer les URLs du cache, ou de maintenir le cache en deçà de
certaines limites de taille et/ou de nombre d'inodes. L'utilitaire
- peut être exécuté à la demande, ou automatiquement pour assurer un
- contrôle continu des tailles des répertoires.</p>
+ peut être exécuté à la demande, ou automatiquement pour assurer un
+ contrôle continu des tailles des répertoires.</p>
<div class="note"><h3>Note :</h3>
- <p><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> doit être chargé avant
+ <p><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> doit être chargé avant
<code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> pour que ce dernier puisse
fonctionner.</p>
</div>
<div class="note"><h3>Note :</h3>
- <p>Lorsque la plate-forme la supporte, et si elle est activée via la
+ <p>Lorsque la plate-forme la supporte, et si elle est activée via la
directive <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code>,
- <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> utilise la fonctionnalité sendfile
- pour servir les fichiers à partir du cache. Cependant,
+ <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> utilise la fonctionnalité sendfile
+ pour servir les fichiers à partir du cache. Cependant,
<code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> ignore la configuration de la
directive <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code> dans
- un contexte de répertoire ou de fichier .htaccess, car le module ne
- dispose pas des définitions correspondantes lorsque la requête est
+ un contexte de répertoire ou de fichier .htaccess, car le module ne
+ dispose pas des définitions correspondantes lorsque la requête est
servie depuis le cache.</p>
</div>
</div>
<li><img alt="" src="../images/down.gif" /> <a href="#cachereadtime">CacheReadTime</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cacheroot">CacheRoot</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cache_disk">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cache_disk">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cache_disk">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cache_disk">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li>
<li><code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code></li>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachedirlength" id="cachedirlength">Directive</a> <a name="CacheDirLength" id="CacheDirLength">CacheDirLength</a><a title="Lien permanent" href="#cachedirlength" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nombre de caractères des noms des
-sous-répertoires</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nombre de caractères des noms des
+sous-répertoires</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheDirLength <var>longueur</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheDirLength 2</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheDirLength 2</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_cache_disk</td></tr>
</table>
<p>la directive <code class="directive">CacheDirLength</code> permet de
- définir le nombre de caractères que comportera chaque nom de
- sous-répertoire de la hiérarchie du cache. On peut l'utiliser en
+ définir le nombre de caractères que comportera chaque nom de
+ sous-répertoire de la hiérarchie du cache. On peut l'utiliser en
conjonction avec <code class="directive">CacheDirLevels</code> pour
- déterminer une structure approximative de la hiérarchie de
+ déterminer une structure approximative de la hiérarchie de
cache.</p>
<p>Une valeur haute pour <code class="directive">CacheDirLength</code>
- combinée avec une valeur basse pour
- <code class="directive">CacheDirLevels</code> générera une hiérarchie
- relativement peu profonde, avec un grand nombre de sous-répertoires
- à chaque niveau.</p>
+ combinée avec une valeur basse pour
+ <code class="directive">CacheDirLevels</code> générera une hiérarchie
+ relativement peu profonde, avec un grand nombre de sous-répertoires
+ à chaque niveau.</p>
<div class="note">
<p>La valeur du produit <code class="directive">CacheDirLevels</code> *
<code class="directive"><a href="#cachedirlength">CacheDirLength</a></code> ne
- doit pas dépasser 20.</p>
+ doit pas dépasser 20.</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="cachedirlevels" id="cachedirlevels">Directive</a> <a name="CacheDirLevels" id="CacheDirLevels">CacheDirLevels</a><a title="Lien permanent" href="#cachedirlevels" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nombre de niveaux de sous-répertoires que comportera le
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nombre de niveaux de sous-répertoires que comportera le
cache.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheDirLevels <var>niveaux</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheDirLevels 2</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheDirLevels 2</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_cache_disk</td></tr>
</table>
<p>La directive <code class="directive">CacheDirLevels</code> permet de
- définir le nombre de niveaux de sous-répertoires que comportera le
- cache. Les données du cache seront stokées au niveau correspondant
- par rapport au répertoire <code class="directive"><a href="#cacheroot">CacheRoot</a></code>.</p>
+ définir le nombre de niveaux de sous-répertoires que comportera le
+ cache. Les données du cache seront stokées au niveau correspondant
+ par rapport au répertoire <code class="directive"><a href="#cacheroot">CacheRoot</a></code>.</p>
<p>Une valeur haute pour <code class="directive">CacheDirLevels</code>
- combinée avec une valeur basse pour
- <code class="directive">CacheDirLength</code> générera une arborescence
- très développée, avec un petit nombre de sous-répertoires à chaque
+ combinée avec une valeur basse pour
+ <code class="directive">CacheDirLength</code> générera une arborescence
+ très développée, avec un petit nombre de sous-répertoires à chaque
niveau.</p>
<div class="note">
<p>La valeur du produit <code class="directive">CacheDirLevels</code> *
<code class="directive"><a href="#cachedirlength">CacheDirLength</a></code> ne
- doit pas dépasser 20.</p>
+ doit pas dépasser 20.</p>
</div>
<div class="directive-section"><h2><a name="cachemaxfilesize" id="cachemaxfilesize">Directive</a> <a name="CacheMaxFileSize" id="CacheMaxFileSize">CacheMaxFileSize</a><a title="Lien permanent" href="#cachemaxfilesize" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>>La taille maximale (en octets) d'un document pour pouvoir
-être stocké dans le cache</td></tr>
+être stocké dans le cache</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheMaxFileSize <var>octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheMaxFileSize 1000000</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#Default">Défaut:</a></th><td><code>CacheMaxFileSize 1000000</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr>
</table>
<p>La directive <code class="directive">CacheMaxFileSize</code> permet de
- définir la taille maximale d'un document, en octets, pour que
+ définir la taille maximale d'un document, en octets, pour que
celui-ci puisse faire l'objet d'un stockage dans le cache.</p>
<pre class="prettyprint lang-config">CacheMaxFileSize 64000</pre>
<div class="directive-section"><h2><a name="cacheminfilesize" id="cacheminfilesize">Directive</a> <a name="CacheMinFileSize" id="CacheMinFileSize">CacheMinFileSize</a><a title="Lien permanent" href="#cacheminfilesize" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La taille minimale (en octets) d'un document pour pouvoir
-être stocké dans le cache</td></tr>
+être stocké dans le cache</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheMinFileSize <var>octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheMinFileSize 1</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#Default">Défaut:</a></th><td><code>CacheMinFileSize 1</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr>
</table>
<p>La directive <code class="directive">CacheMinFileSize</code> permet de
- définir la taille minimale d'un document, en octets, pour que
+ définir la taille minimale d'un document, en octets, pour que
celui-ci puisse faire l'objet d'un stockage dans le cache.</p>
<pre class="prettyprint lang-config">CacheMinFileSize 64</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachereadsize" id="cachereadsize">Directive</a> <a name="CacheReadSize" id="CacheReadSize">CacheReadSize</a><a title="Lien permanent" href="#cachereadsize" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La quantité minimale (en octets) de données à lire et à
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La quantité minimale (en octets) de données à lire et à
mettre en cache avant de les envoyer au client</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheReadSize <var>octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheReadSize 0</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#Default">Défaut:</a></th><td><code>CacheReadSize 0</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr>
</table>
<p>La directive <code class="directive">CacheReadSize</code> permet de
- définir la quantité minimale de données, en octets, à lire depuis le
- serveur d'arrière-plan avant de les envoyer au client. Avec la
- valeur par défaut zéro, toute donnée de toutes tailles est envoyée
- au client dès qu'elle est disponible. Avec une valeur non nulle, le
- cache disque met en tampon au moins la quantité de données
- correspondante avant d'envoyer la réponse au client. Les
- performances peuvent s'en trouver améliorées lorsqu'on met en cache
+ définir la quantité minimale de données, en octets, à lire depuis le
+ serveur d'arrière-plan avant de les envoyer au client. Avec la
+ valeur par défaut zéro, toute donnée de toutes tailles est envoyée
+ au client dès qu'elle est disponible. Avec une valeur non nulle, le
+ cache disque met en tampon au moins la quantité de données
+ correspondante avant d'envoyer la réponse au client. Les
+ performances peuvent s'en trouver améliorées lorsqu'on met en cache
du contenu en provenance d'un mandataire inverse.</p>
- <p>Cette directive ne prend effet que lorsque les données sont
- enregistrées dans le cache, et non lorsque les données sont servies à
+ <p>Cette directive ne prend effet que lorsque les données sont
+ enregistrées dans le cache, et non lorsque les données sont servies à
partir du cache.</p>
<pre class="prettyprint lang-config">CacheReadSize 102400</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachereadtime" id="cachereadtime">Directive</a> <a name="CacheReadTime" id="CacheReadTime">CacheReadTime</a><a title="Lien permanent" href="#cachereadtime" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le temps minimum (en millisecondes) qui doit s'écouler
-avant d'envoyer les données au client</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le temps minimum (en millisecondes) qui doit s'écouler
+avant d'envoyer les données au client</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheReadTime <var>millisecondes</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheReadTime 0</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#Default">Défaut:</a></th><td><code>CacheReadTime 0</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_disk</td></tr>
</table>
<p>La directive <code class="directive">CacheReadTime</code> permet de
- définir le temps minimum qui doit s'écouler avant d'essayer
- d'envoyer des données au client. Pendant ce temps, les données sont
- mises en tampon avant de pouvoir être envoyées au client. Les
- performances peuvent s'en trouver améliorées lorsqu'on met en cache
+ définir le temps minimum qui doit s'écouler avant d'essayer
+ d'envoyer des données au client. Pendant ce temps, les données sont
+ mises en tampon avant de pouvoir être envoyées au client. Les
+ performances peuvent s'en trouver améliorées lorsqu'on met en cache
du contenu en provenance d'un mandataire inverse.</p>
- <p>La valeur par défaut zéro désactive cette option.</p>
+ <p>La valeur par défaut zéro désactive cette option.</p>
- <p>Cette directive ne prend effet que lorsque les données sont
- enregistrées dans le cache, et non lorsque les données sont servies à
- partir du cache. Il est recommandé d'harmoniser l'utilisation de cette
+ <p>Cette directive ne prend effet que lorsque les données sont
+ enregistrées dans le cache, et non lorsque les données sont servies à
+ partir du cache. Il est recommandé d'harmoniser l'utilisation de cette
directive avec celle de la directive <code class="directive"><a href="#cachereadsize">CacheReadSize</a></code>, afin de s'assurer
que le serveur n'effectue pas une mise en tampon excessive au cas
- où les données arriveraient plus vite que prévu.</p>
+ où les données arriveraient plus vite que prévu.</p>
<pre class="prettyprint lang-config">CacheReadTime 1000</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cacheroot" id="cacheroot">Directive</a> <a name="CacheRoot" id="CacheRoot">CacheRoot</a><a title="Lien permanent" href="#cacheroot" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La racine du répertoire dans lequel les fichiers du cache
-seront stockés</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheRoot <var>répertoire</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La racine du répertoire dans lequel les fichiers du cache
+seront stockés</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheRoot <var>répertoire</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_cache_disk</td></tr>
</table>
- <p>La directive <code class="directive">CacheRoot</code> permet de définir
- le nom du répertoire sur disque qui contiendra les fichiers du
- cache. Si le module <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> a été chargé ou
- compilé dans le serveur Apache, cette directive <em>doit</em> être
- définie. L'absence de définition de la directive
+ <p>La directive <code class="directive">CacheRoot</code> permet de définir
+ le nom du répertoire sur disque qui contiendra les fichiers du
+ cache. Si le module <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> a été chargé ou
+ compilé dans le serveur Apache, cette directive <em>doit</em> être
+ définie. L'absence de définition de la directive
<code class="directive">CacheRoot</code> provoquera une erreur de traitement
du fichier de configuration. Les directives <code class="directive"><a href="#cachedirlevels">CacheDirLevels</a></code> et <code class="directive"><a href="#cachedirlength">CacheDirLength</a></code> permettent de
- définir la structure des sous-répertoires du répertoire racine
- spécifié.</p>
+ définir la structure des sous-répertoires du répertoire racine
+ spécifié.</p>
<pre class="prettyprint lang-config">CacheRoot c:/cacheroot</pre>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cache_disk.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_cache_disk.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_cache_disk.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_cache_disk.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_cache_disk.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_cache_socache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cache_socache.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_cache_socache.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_cache_socache.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module de stockage à base de cache d'objets partagés
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module de stockage à base de cache d'objets partagés
(socache) pour le filtre de mise en cache HTTP.</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>cache_socache_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cache_socache.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>cache_socache_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cache_socache.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Le module <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code> implémente un
- gestionnaire de stockage à base de cache d'objets partagés (socache)
+ <p>Le module <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code> implémente un
+ gestionnaire de stockage à base de cache d'objets partagés (socache)
pour le module <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p>
- <p>Les en-têtes et corps des réponses mises en cache sont rassemblés
- et stockés sous une même clé dans le cache d'objets partagés. Il est
- possible de choisir entre plusieurs <a href="../socache.html">implémentations</a> de caches d'objets
- partagés.</p>
+ <p>Les en-têtes et corps des réponses mises en cache sont rassemblés
+ et stockés sous une même clé dans le cache d'objets partagés. Il est
+ possible de choisir entre plusieurs <a href="../socache.html">implémentations</a> de caches d'objets
+ partagés.</p>
- <p>Des réponses avec différents contenus négociés peuvent être
- stockées simultanément ; cependant, la mise en cache de contenus
- partiels n'est pas encore supportée par ce module.</p>
+ <p>Des réponses avec différents contenus négociés peuvent être
+ stockées simultanément ; cependant, la mise en cache de contenus
+ partiels n'est pas encore supportée par ce module.</p>
<pre class="prettyprint lang-config"># Activation de la mise en cache
CacheSocache shmcb
CacheEnable socache
</Location>
-# Possibilité de se rabattre sur le cache disque
+# Possibilité de se rabattre sur le cache disque
CacheSocache shmcb
CacheSocacheMaxSize 102400
<Location "/foo">
<div class="note"><h3>Note :</h3>
<p>Le module <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code> requiert les
services du module <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> qui doit donc avoir
- été préalablement chargé.</p>
+ été préalablement chargé.</p>
</div>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#cachesocachereadsize">CacheSocacheReadSize</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachesocachereadtime">CacheSocacheReadTime</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cache_socache">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cache_socache">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cache_socache">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cache_socache">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li>
<li><code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code></li>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachesocache" id="cachesocache">Directive</a> <a name="CacheSocache" id="CacheSocache">CacheSocache</a><a title="Lien permanent" href="#cachesocache" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Implémentation du cache d'objets partagés à utiliser</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Implémentation du cache d'objets partagés à utiliser</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheSocache <var>type[:args]</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_cache_socache</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
Apache</td></tr>
</table>
<p>La directive <code class="directive">CacheSocache</code>
- définit l'implémentation du cache d'objets partagés à utiliser,
+ définit l'implémentation du cache d'objets partagés à utiliser,
suivie d'arguments optionnels. Il est
- possible de choisir entre plusieurs <a href="../socache.html">implémentations</a> de caches d'objets
- partagés.</p>
+ possible de choisir entre plusieurs <a href="../socache.html">implémentations</a> de caches d'objets
+ partagés.</p>
<pre class="prettyprint lang-config">CacheSocache shmcb</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachesocachemaxsize" id="cachesocachemaxsize">Directive</a> <a name="CacheSocacheMaxSize" id="CacheSocacheMaxSize">CacheSocacheMaxSize</a><a title="Lien permanent" href="#cachesocachemaxsize" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La taille maximale d'une entrée pouvant être placée dans le
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La taille maximale d'une entrée pouvant être placée dans le
cache</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheSocacheMaxSize <var>octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheSocacheMaxSize 102400</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#Default">Défaut:</a></th><td><code>CacheSocacheMaxSize 102400</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
Apache</td></tr>
</table>
<p>La directive <code class="directive">CacheSocacheMaxSize</code>
- définit la taille maximale, en octets, de la somme des en-têtes et
- du corps d'un document pouvant être stocké dans le cache. Bien
- entendu, plus la taille des en-têtes sera grande, plus la taille
- maximale du corps du document s'en trouvera réduite.</p>
+ définit la taille maximale, en octets, de la somme des en-têtes et
+ du corps d'un document pouvant être stocké dans le cache. Bien
+ entendu, plus la taille des en-têtes sera grande, plus la taille
+ maximale du corps du document s'en trouvera réduite.</p>
<p>Le module <code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code> ne tentera de mettre
- en cache que des réponses qui possèdent une taille de contenu
+ en cache que des réponses qui possèdent une taille de contenu
explicite, ou dont la taille est suffisamment petite pour qu'elles
- soient écrites en une seule passe. Ceci permet au module
- <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> de mettre en cache des réponses dont
- la taille est trop importante pour pouvoir être mises en cache par
+ soient écrites en une seule passe. Ceci permet au module
+ <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> de mettre en cache des réponses dont
+ la taille est trop importante pour pouvoir être mises en cache par
<code class="module"><a href="../mod/mod_cache_socache.html">mod_cache_socache</a></code>.</p>
<pre class="prettyprint lang-config">CacheSocacheMaxSize 102400</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachesocachemaxtime" id="cachesocachemaxtime">Directive</a> <a name="CacheSocacheMaxTime" id="CacheSocacheMaxTime">CacheSocacheMaxTime</a><a title="Lien permanent" href="#cachesocachemaxtime" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée maximale de stockage d'un document dans le cache
-avant péremption</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée maximale de stockage d'un document dans le cache
+avant péremption</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheSocacheMaxTime <var>secondes</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheSocacheMaxTime 86400</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#Default">Défaut:</a></th><td><code>CacheSocacheMaxTime 86400</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
Apache</td></tr>
</table>
<p>La directive <code class="directive">CacheSocacheMaxTime</code>
- définit la durée de stockage maximale en secondes d'un document dans
- le cache avant péremption. Cette définition l'emporte sur la durée
- de fraîcheur définie pour le document par le protocole HTTP.</p>
+ définit la durée de stockage maximale en secondes d'un document dans
+ le cache avant péremption. Cette définition l'emporte sur la durée
+ de fraîcheur définie pour le document par le protocole HTTP.</p>
<pre class="prettyprint lang-config">CacheSocacheMaxTime 86400</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachesocachemintime" id="cachesocachemintime">Directive</a> <a name="CacheSocacheMinTime" id="CacheSocacheMinTime">CacheSocacheMinTime</a><a title="Lien permanent" href="#cachesocachemintime" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée minimale de stockage d'un document dans le cache</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée minimale de stockage d'un document dans le cache</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheSocacheMinTime <var>seconds</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheSocacheMinTime 600</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#Default">Défaut:</a></th><td><code>CacheSocacheMinTime 600</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
Apache</td></tr>
</table>
<p>La directive <code class="directive">CacheSocacheMinTime</code>
- définit le nombre de secondes au delà de la durée de fraîcheur de la
- réponse pendant lesquelles cette dernière devra être stockée dans le
- cache d'objets partagés. En effet, si une réponse n'est stockée que
- pour une durée égale à sa durée de fraîcheur, elle n'a pas besoin
- d'être rafraîchie.</p>
+ définit le nombre de secondes au delà de la durée de fraîcheur de la
+ réponse pendant lesquelles cette dernière devra être stockée dans le
+ cache d'objets partagés. En effet, si une réponse n'est stockée que
+ pour une durée égale à sa durée de fraîcheur, elle n'a pas besoin
+ d'être rafraîchie.</p>
<pre class="prettyprint lang-config">CacheSocacheMinTime 600</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachesocachereadsize" id="cachesocachereadsize">Directive</a> <a name="CacheSocacheReadSize" id="CacheSocacheReadSize">CacheSocacheReadSize</a><a title="Lien permanent" href="#cachesocachereadsize" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La quantité minimale de données du document à lire et
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La quantité minimale de données du document à lire et
mettre en cache avant envoi au client</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheSocacheReadSize <var>octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheSocacheReadSize 0</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#Default">Défaut:</a></th><td><code>CacheSocacheReadSize 0</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
Apache</td></tr>
</table>
<p>La directive <code class="directive">CacheSocacheReadSize</code>
- définit la quantité minimale de données, en octets, à lire depuis
- l'arrière-plan avant envoi au client. Avec la valeur par défaut 0,
- les données sont transmises au client dès leur arrivée et quelle que
- soit leur taille. Si la valeur définie est non nulle, le cache
- disque va mettre en tampon au moins la quantité de données
- correspondante avant envoi au client. Ceci peut améliorer les
+ définit la quantité minimale de données, en octets, à lire depuis
+ l'arrière-plan avant envoi au client. Avec la valeur par défaut 0,
+ les données sont transmises au client dès leur arrivée et quelle que
+ soit leur taille. Si la valeur définie est non nulle, le cache
+ disque va mettre en tampon au moins la quantité de données
+ correspondante avant envoi au client. Ceci peut améliorer les
performances en cas de mise en cache de contenu en provenance d'un
mandataire inverse lent.</p>
- <p>Cette directive n'a d'effet qu'au moment où les données sont
- stockées dans le cache, et non lorsqu'elles sont servies depuis le
+ <p>Cette directive n'a d'effet qu'au moment où les données sont
+ stockées dans le cache, et non lorsqu'elles sont servies depuis le
cache.</p>
<pre class="prettyprint lang-config">CacheSocacheReadSize 102400</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cachesocachereadtime" id="cachesocachereadtime">Directive</a> <a name="CacheSocacheReadTime" id="CacheSocacheReadTime">CacheSocacheReadTime</a><a title="Lien permanent" href="#cachesocachereadtime" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée minimale de lecture avant l'envoi des données</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La durée minimale de lecture avant l'envoi des données</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheSocacheReadTime <var>millisecondes</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheSocacheReadTime 0</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#Default">Défaut:</a></th><td><code>CacheSocacheReadTime 0</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cache_socache</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
Apache</td></tr>
</table>
<p>La directive <code class="directive">CacheSocacheReadTime</code>
- définit le temps minimal qui doit s'écouler avant de tenter
- l'envoi des données au client. Cette durée sera mise à profit pour
- lire et mettre en tampon les données avant leur envoi au client.
- Ceci peut améliorer les performances en cas de mise en cache de
+ définit le temps minimal qui doit s'écouler avant de tenter
+ l'envoi des données au client. Cette durée sera mise à profit pour
+ lire et mettre en tampon les données avant leur envoi au client.
+ Ceci peut améliorer les performances en cas de mise en cache de
contenu en provenance d'un mandataire inverse.</p>
- <p>La valeur par défaut 0 désactive cette directive.</p>
+ <p>La valeur par défaut 0 désactive cette directive.</p>
- <p>Cette directive n'a d'effet qu'au moment où les données sont
- stockées dans le cache, et non lorsqu'elles sont servies depuis le
- cache. Il est recommandé d'utiliser cette directive en concomitance
+ <p>Cette directive n'a d'effet qu'au moment où les données sont
+ stockées dans le cache, et non lorsqu'elles sont servies depuis le
+ cache. Il est recommandé d'utiliser cette directive en concomitance
avec la directive <code class="directive"><a href="#cachesocachereadsize">CacheSocacheReadSize</a></code> afin de
- s'assurer que le serveur ne mette pas les données en tampon de
- manière excessive dans le cas où les données arriveraient plus vite
- que prévu.</p>
+ s'assurer que le serveur ne mette pas les données en tampon de
+ manière excessive dans le cas où les données arriveraient plus vite
+ que prévu.</p>
<pre class="prettyprint lang-config">CacheSocacheReadTime 1000</pre>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cache_socache.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_cache_socache.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_cache_socache.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_cern_meta</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cern_meta.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_cern_meta.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_cern_meta.html" title="Français"> fr </a> |
<a href="../ko/mod/mod_cern_meta.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>La sémantique des métafichiers du serveur httpd du
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>La sémantique des métafichiers du serveur httpd du
CERN</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>cern_meta_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cern_meta.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>cern_meta_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cern_meta.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Il s'agit d'une émulation de la sémantique des métafichiers du
- serveur httpd du CERN. Les métafichiers sont des en-têtes HTTP
- qui peuvent s'ajouter au jeu d'en-têtes habituels pour chaque
- fichier accédé. Ils ressemblent beaucoup aux fichiers .asis
- d'Apache, et permettent d'influencer de manière rudimentaire
- l'en-tête Expires:, ainsi que d'autres curiosités. Il existe de
- nombreuses méthodes pour gérer les métainformations, mais le choix
- s'est porté sur celle-ci car il existe déjà un grand nombre
+ <p>Il s'agit d'une émulation de la sémantique des métafichiers du
+ serveur httpd du CERN. Les métafichiers sont des en-têtes HTTP
+ qui peuvent s'ajouter au jeu d'en-têtes habituels pour chaque
+ fichier accédé. Ils ressemblent beaucoup aux fichiers .asis
+ d'Apache, et permettent d'influencer de manière rudimentaire
+ l'en-tête Expires:, ainsi que d'autres curiosités. Il existe de
+ nombreuses méthodes pour gérer les métainformations, mais le choix
+ s'est porté sur celle-ci car il existe déjà un grand nombre
d'utilisateurs du CERN qui peuvent exploiter ce module.</p>
- <p>Pour plus d'information, voir le document sur la <a href="http://www.w3.org/pub/WWW/Daemon/User/Config/General.html#MetaDir">sémantique des métafichiers du CERN</a>.</p>
+ <p>Pour plus d'information, voir le document sur la <a href="http://www.w3.org/pub/WWW/Daemon/User/Config/General.html#MetaDir">sémantique des métafichiers du CERN</a>.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#metafiles">MetaFiles</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#metasuffix">MetaSuffix</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cern_meta">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cern_meta">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cern_meta">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cern_meta">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code></li>
<li><code class="module"><a href="../mod/mod_asis.html">mod_asis</a></code></li>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="metadir" id="metadir">Directive</a> <a name="MetaDir" id="MetaDir">MetaDir</a><a title="Lien permanent" href="#metadir" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du répertoire où trouver les fichiers de
-métainformations dans le style du CERN</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MetaDir <var>répertoire</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MetaDir .web</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#Description">Description:</a></th><td>Le nom du répertoire où trouver les fichiers de
+métainformations dans le style du CERN</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MetaDir <var>répertoire</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MetaDir .web</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">AllowOverride:</a></th><td>Indexes</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_cern_meta</td></tr>
</table>
- <p>Spécifie le nom du répertoire dans lequel Apache pourra trouver
- les fichiers de métainformations. Ce répertoire est en général un
- sous-répertoire 'caché' du répertoire qui contient le fichier à
- accéder. Définissez cette directive à "<code>.</code>" pour
- rechercher les métafichiers dans le même répertoire que le fichier à
- accéder :</p>
+ <p>Spécifie le nom du répertoire dans lequel Apache pourra trouver
+ les fichiers de métainformations. Ce répertoire est en général un
+ sous-répertoire 'caché' du répertoire qui contient le fichier à
+ accéder. Définissez cette directive à "<code>.</code>" pour
+ rechercher les métafichiers dans le même répertoire que le fichier à
+ accéder :</p>
<pre class="prettyprint lang-config">MetaDir .</pre>
- <p>Ou, pour rechercher dans un sous-répertoire du répertoire
- contenant le fichier à accéder :</p>
+ <p>Ou, pour rechercher dans un sous-répertoire du répertoire
+ contenant le fichier à accéder :</p>
<pre class="prettyprint lang-config">MetaDir .meta</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="metafiles" id="metafiles">Directive</a> <a name="MetaFiles" id="MetaFiles">MetaFiles</a><a title="Lien permanent" href="#metafiles" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le traitement des métafichiers du CERN</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le traitement des métafichiers du CERN</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MetaFiles on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MetaFiles off</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#Default">Défaut:</a></th><td><code>MetaFiles off</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">AllowOverride:</a></th><td>Indexes</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_cern_meta</td></tr>
</table>
- <p>Active ou désactive le traitement des métafichiers pour certains
- répertoires.</p>
+ <p>Active ou désactive le traitement des métafichiers pour certains
+ répertoires.</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="metasuffix" id="metasuffix">Directive</a> <a name="MetaSuffix" id="MetaSuffix">MetaSuffix</a><a title="Lien permanent" href="#metasuffix" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Suffixe du fichier contenant les métainformations dans le
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Suffixe du fichier contenant les métainformations dans le
style du CERN</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MetaSuffix <var>suffixe</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MetaSuffix .meta</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#Default">Défaut:</a></th><td><code>MetaSuffix .meta</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">AllowOverride:</a></th><td>Indexes</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_cern_meta</td></tr>
</table>
- <p>Spécifie le suffixe du fichier contenant les métainformations.
- Par exemple, si on conserve les valeurs par défaut des deux
- directives précédentes, une requête pour
+ <p>Spécifie le suffixe du fichier contenant les métainformations.
+ Par exemple, si on conserve les valeurs par défaut des deux
+ directives précédentes, une requête pour
<code>DOCUMENT_ROOT/un-rep/index.html</code> provoquera la recherche
- du métafichier
+ du métafichier
<code>DOCUMENT_ROOT/un-rep/.web/index.html.meta</code>, et utilisera
- son contenu pour générer les informations quant aux en-têtes MIME
+ son contenu pour générer les informations quant aux en-têtes MIME
additionnels.</p>
<div class="example"><h3>Exemple :</h3><pre class="prettyprint lang-config">MetaSuffix .meta</pre>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cern_meta.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_cern_meta.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_cern_meta.html" title="Français"> fr </a> |
<a href="../ko/mod/mod_cern_meta.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_cgi</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cgi.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_cgi.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_cgi.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Exécution des scripts CGI</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Exécution des scripts CGI</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>cgi_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cgi.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>cgi_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cgi.c</td></tr></table>
<h3>Sommaire</h3>
<p>Tout fichier pris en compte par le gestionnaire
- <code>cgi-script</code> sera traité en tant que script CGI et
- exécuté par le serveur, sa sortie étant renvoyée au client. Les
- fichiers sont associés à ce gestionnaire soit parce qu'ils possèdent
- un nom contenant une extension définie par la directive <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code>, soit parce qu'ils se
- situent dans un répertoire défini par une directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>.</p>
+ <code>cgi-script</code> sera traité en tant que script CGI et
+ exécuté par le serveur, sa sortie étant renvoyée au client. Les
+ fichiers sont associés à ce gestionnaire soit parce qu'ils possèdent
+ un nom contenant une extension définie par la directive <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code>, soit parce qu'ils se
+ situent dans un répertoire défini par une directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>.</p>
- <p>Comme introduction à l'utilisation des scripts CGI avec Apache,
+ <p>Comme introduction à l'utilisation des scripts CGI avec Apache,
voir notre tutoriel <a href="../howto/cgi.html">Les contenus
dynamiques avec CGI</a>.</p>
- <p>Le module <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> doit être utilisé à la place
+ <p>Le module <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> doit être utilisé à la place
du module <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> lorsqu'on utilise un module MPM
- multi-threadé sous Unix. Vus de l'utilisateur, les deux modules
+ multi-threadé sous Unix. Vus de l'utilisateur, les deux modules
sont pratiquement identiques.</p>
- <p>À des fins de compatibilité ascendante, le gestionnaire
- cgi-script sera également activé pour tout fichier possédant le type
+ <p>À des fins de compatibilité ascendante, le gestionnaire
+ cgi-script sera également activé pour tout fichier possédant le type
MIME <code>application/x-httpd-cgi</code>. L'utilisation du type
- MIME magic est obsolète.</p>
+ MIME magic est obsolète.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#env">Les variables d'environnement CGI</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#cgi-debug">Débogage des scripts CGI</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cgi-debug">Débogage des scripts CGI</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#cgiscripttimeout">CGIScriptTimeout</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#scriptlogbuffer">ScriptLogBuffer</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#scriptloglength">ScriptLogLength</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cgi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cgi">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cgi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cgi">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code></li>
<li><code class="directive"><a href="../mod/core.html#options">Options</a></code> ExecCGI</li>
<li><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li>
<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li>
-<li><a href="../suexec.html">Exécuter des programmes CGI sous des
-utilisateurs différents</a></li>
-<li><a href="http://www.ietf.org/rfc/rfc3875">La spécification
+<li><a href="../suexec.html">Exécuter des programmes CGI sous des
+utilisateurs différents</a></li>
+<li><a href="http://www.ietf.org/rfc/rfc3875">La spécification
CGI</a></li>
<li><a href="#comments_section">Commentaires</a></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="env" id="env">Les variables d'environnement CGI</a><a title="Lien permanent" href="#env" class="permalink">¶</a></h2>
- <p>Le serveur va définir les variables d'environnement CGI comme
- décrit dans la <a href="http://www.ietf.org/rfc/rfc3875">Spécification CGI</a>, de la
- manière suivante :</p>
+ <p>Le serveur va définir les variables d'environnement CGI comme
+ décrit dans la <a href="http://www.ietf.org/rfc/rfc3875">Spécification CGI</a>, de la
+ manière suivante :</p>
<dl>
<dt>PATH_INFO</dt>
<dd>Cette variable ne sera pas disponible si la directive
<code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> est
- explicitement définie à <code>off</code>. Par défaut, si la
- directive <code class="directive">AcceptPathInfo</code> n'est pas définie,
+ explicitement définie à <code>off</code>. Par défaut, si la
+ directive <code class="directive">AcceptPathInfo</code> n'est pas définie,
<code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> acceptera des informations de chemin (en
- ajoutant /infos/chemin après le nom du script dans l'URI), alors
+ ajoutant /infos/chemin après le nom du script dans l'URI), alors
que le serveur de base retournera une erreur 404 NOT FOUND pour
- les requêtes contenant des informations de chemin supplémentaires.
- Ne pas définir la directive <code class="directive">AcceptPathInfo</code>
- a le même effet sur les requêtes avec <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> que
- de la définir à <code>On</code>.</dd>
+ les requêtes contenant des informations de chemin supplémentaires.
+ Ne pas définir la directive <code class="directive">AcceptPathInfo</code>
+ a le même effet sur les requêtes avec <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> que
+ de la définir à <code>On</code>.</dd>
<dt>REMOTE_HOST</dt>
- <dd>Cette variable ne sera définie que si la directive <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> est définie à
- <code>on</code> (elle est à <code>off</code> par défaut), et si
- une recherche DNS inverse sur l'adresse IP de l'hôte client
- aboutit effectivement à un nom d'hôte.</dd>
+ <dd>Cette variable ne sera définie que si la directive <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> est définie à
+ <code>on</code> (elle est à <code>off</code> par défaut), et si
+ une recherche DNS inverse sur l'adresse IP de l'hôte client
+ aboutit effectivement à un nom d'hôte.</dd>
<dt>REMOTE_IDENT</dt>
- <dd>Cette variable ne sera définie que si la directive <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code>
- est définie à <code>on</code>, et si l'hôte client supporte le
+ <dd>Cette variable ne sera définie que si la directive <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code>
+ est définie à <code>on</code>, et si l'hôte client supporte le
protocole ident. Notez que l'on ne peut accorder une confiance
- aveugle au contenu de cette variable car il peut être aisément
- falsifié, et si un mandataire s'intercale entre le client et le
+ aveugle au contenu de cette variable car il peut être aisément
+ falsifié, et si un mandataire s'intercale entre le client et le
serveur, il est totalement inutilisable.</dd>
<dt>REMOTE_USER</dt>
- <dd>Cette variable ne sera définie que si le script CGI fait
+ <dd>Cette variable ne sera définie que si le script CGI fait
l'objet d'une authentification.</dd>
</dl>
<dl>
<dt>DOCUMENT_ROOT</dt>
- <dd>Prend la valeur définie par la directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>.</dd>
+ <dd>Prend la valeur définie par la directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>.</dd>
<dt>SERVER_NAME</dt>
- <dd>Le nom de domaine pleinement qualifié pour la requête considérée</dd>
+ <dd>Le nom de domaine pleinement qualifié pour la requête considérée</dd>
<dt>SERVER_ADDR</dt>
- <dd>L'adresse IP du serveur virtuel qui traite la requête</dd>
+ <dd>L'adresse IP du serveur virtuel qui traite la requête</dd>
<dt>SERVER_ADMIN</dt>
- <dd>Prend la valeur définie par la directive <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>.</dd>
+ <dd>Prend la valeur définie par la directive <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>.</dd>
</dl>
- <p>Pour une liste exhaustive de ces variables, vous pouvez écrire un script
- CGI basique qui extrait toutes les variables d'environnement passées par
- Apache selon un format adapté.
+ <p>Pour une liste exhaustive de ces variables, vous pouvez écrire un script
+ CGI basique qui extrait toutes les variables d'environnement passées par
+ Apache selon un format adapté.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="cgi-debug" id="cgi-debug">Débogage des scripts CGI</a><a title="Lien permanent" href="#cgi-debug" class="permalink">¶</a></h2>
- <p>Le débogage des scripts CGI était difficile par le passé,
- principalement parce qu'il n'était pas possible d'étudier la sortie
- (sortie standard et erreurs) des scripts dont l'exécution échouait.
- Ces directives permettent une journalisation plus détaillée des
+<h2><a name="cgi-debug" id="cgi-debug">Débogage des scripts CGI</a><a title="Lien permanent" href="#cgi-debug" class="permalink">¶</a></h2>
+ <p>Le débogage des scripts CGI était difficile par le passé,
+ principalement parce qu'il n'était pas possible d'étudier la sortie
+ (sortie standard et erreurs) des scripts dont l'exécution échouait.
+ Ces directives permettent une journalisation plus détaillée des
erreurs.</p>
<h3>Format du fichier journal CGI</h3>
- <p>Lorsqu'il est configuré, le journal des erreurs CGI enregistre
- la sortie de tout programme CGI dont l'exécution ne s'effectue pas
- correctement. Un script CGI dont l'exécution échoue provoque la
- journalisation d'une grande quantité d'informations. Les deux
- premières lignes possèdent toujours le format suivant :</p>
+ <p>Lorsqu'il est configuré, le journal des erreurs CGI enregistre
+ la sortie de tout programme CGI dont l'exécution ne s'effectue pas
+ correctement. Un script CGI dont l'exécution échoue provoque la
+ journalisation d'une grande quantité d'informations. Les deux
+ premières lignes possèdent toujours le format suivant :</p>
<div class="example"><p><code>
- %% [<var>date</var>] <var>requête</var><br />
- %% <var>état HTTP</var> <var>nom du script CGI</var>
+ %% [<var>date</var>] <var>requête</var><br />
+ %% <var>état HTTP</var> <var>nom du script CGI</var>
</code></p></div>
- <p>Si le script CGI n'a pas pu démarrer, le fichier journal
- contiendra les deux lignes supplémentaires suivantes :</p>
+ <p>Si le script CGI n'a pas pu démarrer, le fichier journal
+ contiendra les deux lignes supplémentaires suivantes :</p>
<div class="example"><p><code>
%%erreur<br />
</code></p></div>
<p>Par contre, si l'erreur provient du renvoi par le script
- d'informations incorrectes dans les en-têtes (dû souvent à une
- bogue du script), les informations suivantes sont journalisées
+ d'informations incorrectes dans les en-têtes (dû souvent à une
+ bogue du script), les informations suivantes sont journalisées
:</p>
<div class="example"><p><code>
- %requête<br />
- <var>Tous les en-têtes de requête HTTP reçus</var><br />
- <var>Les entités POST ou PUT (s'il en existe)</var><br />
- %réponse<br />
- <var>Tous les en-têtes générés par le script CGI</var><br />
+ %requête<br />
+ <var>Tous les en-têtes de requête HTTP reçus</var><br />
+ <var>Les entités POST ou PUT (s'il en existe)</var><br />
+ %réponse<br />
+ <var>Tous les en-têtes générés par le script CGI</var><br />
%stdout<br />
<var>la sortie standard CGI</var><br />
%stderr<br />
</code></p></div>
<p>(Les parties %stdout et %stderr seront absentes si le script
- n'a rien envoyé sur la sortie standard ou la sortie
+ n'a rien envoyé sur la sortie standard ou la sortie
d'erreurs).</p>
</div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le temps d'attente maximum pour une sortie du programme CGI</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CGIScriptTimeout <var>time</var>[s|ms]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>La valeur par défaut de la directive <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code> lorsqu'elle n'est pas définie</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#Default">Défaut:</a></th><td><code>La valeur par défaut de la directive <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code> lorsqu'elle n'est pas définie</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#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cgi</td></tr>
</table>
- <p>Cette directive permet de limiter le temps d'attente jusqu'à une
- prochaine sortie du programme CGI. Si ce temps est dépassé, le traitement de
- la requête et l'exécution du programme CGI sont terminés. </p>
+ <p>Cette directive permet de limiter le temps d'attente jusqu'à une
+ prochaine sortie du programme CGI. Si ce temps est dépassé, le traitement de
+ la requête et l'exécution du programme CGI sont terminés. </p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">CGIScriptTimeout 20</pre>
</div>
<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><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></td></tr>
</table>
- <p>La directive <code class="directive">ScriptLog</code> définit
+ <p>La directive <code class="directive">ScriptLog</code> définit
le chemin du fichier journal des erreurs du script CGI. Si cette
- directive n'est pas définie, aucune journalisation des erreurs n'est
- effectuée. Si elle est définie, toute erreur CGI sera enregistrée
+ directive n'est pas définie, aucune journalisation des erreurs n'est
+ effectuée. Si elle est définie, toute erreur CGI sera enregistrée
dans le fichier dont le nom est fourni en argument. S'il s'agit d'un
- chemin de fichier relatif, il est considéré par rapport au
- répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.
+ chemin de fichier relatif, il est considéré par rapport au
+ répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ScriptLog logs/cgi_log</pre>
</div>
<p>Ce journal sera ouvert par l'utilisateur sous lequel les
- processus enfants s'exécutent, c'est à dire l'utilisateur spécifié
+ processus enfants s'exécutent, c'est à dire l'utilisateur spécifié
par la directive du serveur <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code>. Ceci implique que soit le
- répertoire dans lequel se trouve le journal doit être accessible en
- écriture pour cet utilisateur, soit le fichier doit être créé
- manuellement et accessible en écriture pour cet utilisateur. Si vous
- placez le journal du script dans votre répertoire principal des
+ répertoire dans lequel se trouve le journal doit être accessible en
+ écriture pour cet utilisateur, soit le fichier doit être créé
+ manuellement et accessible en écriture pour cet utilisateur. Si vous
+ placez le journal du script dans votre répertoire principal des
journaux, ne modifiez <strong>PAS</strong> les permissions de ce
- dernier afin de le le rendre accessible en écriture par
- l'utilisateur sous lequel les processus enfants s'exécutent.</p>
+ dernier afin de le le rendre accessible en écriture par
+ l'utilisateur sous lequel les processus enfants s'exécutent.</p>
<p>Notez que l'on ne doit activer la journalisation des scripts
- qu'à des fins de débogage lors de l'écriture de scripts CGI, et non
- de manière permanente sur un serveur en production. Elle n'est pas
- optimisée en ce qui concerne la vitesse et l'efficacité, et peut
- présenter des problèmes de sécurité si on l'utilise dans un cadre
- autre que celui pour lequel elle a été conçue.</p>
+ qu'à des fins de débogage lors de l'écriture de scripts CGI, et non
+ de manière permanente sur un serveur en production. Elle n'est pas
+ optimisée en ce qui concerne la vitesse et l'efficacité, et peut
+ présenter des problèmes de sécurité si on l'utilise dans un cadre
+ autre que celui pour lequel elle a été conçue.</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="scriptlogbuffer" id="scriptlogbuffer">Directive</a> <a name="ScriptLogBuffer" id="ScriptLogBuffer">ScriptLogBuffer</a><a title="Lien permanent" href="#scriptlogbuffer" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale des requêtes PUT ou POST qui seront
-enregistrées dans le journal du script</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale des requêtes PUT ou POST qui seront
+enregistrées dans le journal du script</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptLogBuffer <var>octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScriptLogBuffer 1024</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScriptLogBuffer 1024</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></td></tr>
</table>
<p>Cette directive limite la taille du corps de toute
- entité PUT ou POST qui sera enregistrée dans le journal, afin
- de prévenir une croissance trop importante et trop rapide du fichier
- journal due à la réception de corps de requête de grandes tailles.
+ entité PUT ou POST qui sera enregistrée dans le journal, afin
+ de prévenir une croissance trop importante et trop rapide du fichier
+ journal due à la réception de corps de requête de grandes tailles.
Cette directive modifie cette taille maximale, dont la
- valeur par défaut est de 1024 octets.</p>
+ valeur par défaut est de 1024 octets.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale du fichier journal des scripts
CGI</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptLogLength <var>octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScriptLogLength 10385760</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScriptLogLength 10385760</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code></td></tr>
</table>
<p>La directive <code class="directive">ScriptLogLength</code>
- définit la taille maximale du fichier journal des scripts CGI. Comme
- le fichier journal accumule une grande quantité d'informations par
- erreur CGI (tous les en-têtes de la requête, toutes les sorties du
+ définit la taille maximale du fichier journal des scripts CGI. Comme
+ le fichier journal accumule une grande quantité d'informations par
+ erreur CGI (tous les en-têtes de la requête, toutes les sorties du
script), il peut vite atteindre une grande taille. En limitant la
- taille du fichier, cette directive permet d'éviter les problèmes que
+ taille du fichier, cette directive permet d'éviter les problèmes que
causerait sa croissance sans limites. Lorsque le fichier a atteint
cette taille maximale, plus aucune information n'y est
- enregistrée.</p>
+ enregistrée.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cgi.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_cgi.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_cgi.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_cgid</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cgid.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_cgid.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_cgid.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_cgid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_cgid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Exécution des scripts CGI par l'intermédiaire d'un démon
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Exécution des scripts CGI par l'intermédiaire d'un démon
CGI externe</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>cgid_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cgid.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Uniquement compatible avec les MPMs Unix
-threadés</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>cgid_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_cgid.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Uniquement compatible avec les MPMs Unix
+threadés</td></tr></table>
<h3>Sommaire</h3>
- <p>Exceptées les optimisations et la directive additionnelle
- <code class="directive"><a href="#scriptsock">ScriptSock</a></code> décrite
- ci-dessous, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> a un comportement similaire à
- celui de <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>. <strong>Voir le résumé de
- <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> pour plus de détails à propos d'Apache et
+ <p>Exceptées les optimisations et la directive additionnelle
+ <code class="directive"><a href="#scriptsock">ScriptSock</a></code> décrite
+ ci-dessous, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code> a un comportement similaire à
+ celui de <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>. <strong>Voir le résumé de
+ <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> pour plus de détails à propos d'Apache et
CGI.</strong></p>
- <p>Sur certains systèmes d'exploitation de type unix, le branchement
- (forking) d'un processus depuis un serveur multi-threadé est une
- opération très lourde car le nouveau processus va répliquer tous les
- threads du processus parent. Pour éviter cette dépense de ressouces
+ <p>Sur certains systèmes d'exploitation de type unix, le branchement
+ (forking) d'un processus depuis un serveur multi-threadé est une
+ opération très lourde car le nouveau processus va répliquer tous les
+ threads du processus parent. Pour éviter cette dépense de ressouces
pour chaque invocation d'un programme CGI, <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code>
- crée un démon externe qui est responsable du branchement de
- processus enfants destinés au lancement de scripts CGI. Le serveur
- principal communique avec ce démon par l'intermédiaire d'un socket
+ crée un démon externe qui est responsable du branchement de
+ processus enfants destinés au lancement de scripts CGI. Le serveur
+ principal communique avec ce démon par l'intermédiaire d'un socket
de domaine unix.</p>
- <p>Si un MPM multi-threadé a été sélectionné lors du processus de
- compilation, c'est ce module qui est utilisé par défaut à la place
+ <p>Si un MPM multi-threadé a été sélectionné lors du processus de
+ compilation, c'est ce module qui est utilisé par défaut à la place
de <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>. Du point de vue de l'utilisateur, ce
- module est identique à <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> quant à sa
- configuration et son utilisation. La seule différence est la
+ module est identique à <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> quant à sa
+ configuration et son utilisation. La seule différence est la
directive additionnelle <code>ScriptSock</code> qui permet de
- définir le nom du socket à utiliser pour la communication avec le
- démon CGI.</p>
+ définir le nom du socket à utiliser pour la communication avec le
+ démon CGI.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/right.gif" /> <a href="mod_cgi.html#scriptloglength">ScriptLogLength</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#scriptsock">ScriptSock</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cgid">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cgid">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_cgid">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_cgid">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li>
-<li><a href="../suexec.html">Exécution de programmes CGI sous des
-utilisateurs différents</a></li>
+<li><a href="../suexec.html">Exécution de programmes CGI sous des
+utilisateurs différents</a></li>
<li><a href="#comments_section">Commentaires</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="cgidscripttimeout" id="cgidscripttimeout">Directive</a> <a name="CGIDScriptTimeout" id="CGIDScriptTimeout">CGIDScriptTimeout</a><a title="Lien permanent" href="#cgidscripttimeout" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée maximale d'attente de la prochaine sortie du
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée maximale d'attente de la prochaine sortie du
programme CGI</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CGIDScriptTimeout <var>time</var>[s|ms]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Valeur de la directive <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code></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#Default">Défaut:</a></th><td><code>Valeur de la directive <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code></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#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cgid</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La valeur de CGIDScriptTimeout est 0 dans les versions
-2.4 et antérieures
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La valeur de CGIDScriptTimeout est 0 dans les versions
+2.4 et antérieures
</td></tr>
</table>
- <p>Cette directive permet de limiter la durée d'attente avant les prochaines données
- reçues en sortie du programme CGI. Si ce temps est dépassé, la requête et le
+ <p>Cette directive permet de limiter la durée d'attente avant les prochaines données
+ reçues en sortie du programme CGI. Si ce temps est dépassé, la requête et le
programme CGI se terminent.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">CGIDScriptTimeout 20</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="scriptsock" id="scriptsock">Directive</a> <a name="ScriptSock" id="ScriptSock">ScriptSock</a><a title="Lien permanent" href="#scriptsock" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le préfixe du nom de fichier du socket à utiliser pour
-communiquer avec le démon CGI</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le préfixe du nom de fichier du socket à utiliser pour
+communiquer avec le démon CGI</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptSock <var>chemin fichier</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScriptSock cgisock</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScriptSock cgisock</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>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_cgid</td></tr>
</table>
- <p>Cette directive permet de définir le préfixe du nom de fichier du
- socket à utiliser pour communiquer avec le démon CGI, préfixe auquel
- sera ajouté une extension correspondant à l'identifiant processus du
+ <p>Cette directive permet de définir le préfixe du nom de fichier du
+ socket à utiliser pour communiquer avec le démon CGI, préfixe auquel
+ sera ajouté une extension correspondant à l'identifiant processus du
serveur. Le socket sera ouvert avec les permissions de l'utilisateur
- qui a démarré Apache (en général root). Afin de préserver la
- sécurité des communications avec les scripts CGI, il est impératif
- de n'accorder à aucun autre utilisateur la permission d'écrire dans
- le répertoire où se trouve le socket.</p>
+ qui a démarré Apache (en général root). Afin de préserver la
+ sécurité des communications avec les scripts CGI, il est impératif
+ de n'accorder à aucun autre utilisateur la permission d'écrire dans
+ le répertoire où se trouve le socket.</p>
<p>Si <var>chemin fichier</var> n'est pas un chemin absolu, il est
- relatif au chemin défini par la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p>
+ relatif au chemin défini par la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ScriptSock /var/run/cgid.sock</pre>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_cgid.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_cgid.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_cgid.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_cgid.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_cgid.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_charset_lite</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_charset_lite.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_charset_lite.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_charset_lite.html" title="Français"> fr </a> |
<a href="../ko/mod/mod_charset_lite.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Spécifie dans quel jeu de caractère doivent s'effectuer les
-traductions ou les réencodages</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Spécifie dans quel jeu de caractère doivent s'effectuer les
+traductions ou les réencodages</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>charset_lite_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_charset_lite.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>charset_lite_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_charset_lite.c</td></tr></table>
<h3>Sommaire</h3>
<p>Le module <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> permet au serveur de
- modifier le jeu de caractères des réponses avant de les envoyer aux
+ modifier le jeu de caractères des réponses avant de les envoyer aux
clients. Dans un environnement EBCDIC, Apache traduit toujours les
- contenus au protocole HTTP (par exemples les en-têtes de réponses)
+ contenus au protocole HTTP (par exemples les en-têtes de réponses)
de la page de code de la locale du processus Apache vers ISO-8859-1,
- mais pas le corps des réponses. Dans tous les environnements, on
- peut utiliser <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> pour spécifier que
- les corps des réponses doivent être traduits. Par exemple, si les
- fichiers sont stockés sous forme EBCDIC,
+ mais pas le corps des réponses. Dans tous les environnements, on
+ peut utiliser <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> pour spécifier que
+ les corps des réponses doivent être traduits. Par exemple, si les
+ fichiers sont stockés sous forme EBCDIC,
<code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> pourra les traduire en ISO-8859-1
avant de les envoyer au client.</p>
- <p>Ce module fournit quelques procédés de configuration implémentés
+ <p>Ce module fournit quelques procédés de configuration implémentés
par Apache version russe, ainsi que son module
- <code>mod_charset</code> associé.</p>
+ <code>mod_charset</code> associé.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#problems">Problèmes courants</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#problems">Problèmes courants</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#charsetdefault">CharsetDefault</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#charsetoptions">CharsetOptions</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#charsetsourceenc">CharsetSourceEnc</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_charset_lite">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_charset_lite">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_charset_lite">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_charset_lite">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="problems" id="problems">Problèmes courants</a><a title="Lien permanent" href="#problems" class="permalink">¶</a></h2>
+<h2><a name="problems" id="problems">Problèmes courants</a><a title="Lien permanent" href="#problems" class="permalink">¶</a></h2>
- <h3>Noms de jeux de caractères non valides</h3>
+ <h3>Noms de jeux de caractères non valides</h3>
- <p>Les noms des jeux de caractères passés en paramètres aux
+ <p>Les noms des jeux de caractères passés en paramètres aux
directives <code class="directive"><a href="#charsetsourceenc">CharsetSourceEnc</a></code> et
<code class="directive"><a href="#charsetdefault">CharsetDefault</a></code>
- doivent être reconnus par le mécanisme de traduction utilisé par
- <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> sur le système où
- <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> est utilisé. Ces noms de jeux de
- caractères ne sont pas standardisés, et sont en général différents
- des valeurs qui leur correspondent dans les en-têtes HTTP.
+ doivent être reconnus par le mécanisme de traduction utilisé par
+ <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> sur le système où
+ <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> est utilisé. Ces noms de jeux de
+ caractères ne sont pas standardisés, et sont en général différents
+ des valeurs qui leur correspondent dans les en-têtes HTTP.
Actuellement, APR ne peut utiliser que iconv(3) ; vous pouvez donc
- tester facilement vos noms de jeux de caractères en utilisant le
- programme iconv(1), de la manière suivante :</p>
+ tester facilement vos noms de jeux de caractères en utilisant le
+ programme iconv(1), de la manière suivante :</p>
<div class="example"><p><code>
iconv -f valeur-charsetsourceenc -t valeur-charsetdefault
</code></p></div>
- <h3>Incompatibilité entre le jeu de caractères du
- contenu et les règles de traduction</h3>
+ <h3>Incompatibilité entre le jeu de caractères du
+ contenu et les règles de traduction</h3>
- <p>Si les règles de traduction ne peuvent s'appliquer au contenu,
- la traduction peut échouer avec des conséquences diverses, comme
+ <p>Si les règles de traduction ne peuvent s'appliquer au contenu,
+ la traduction peut échouer avec des conséquences diverses, comme
:</p>
<ul>
- <li>Le mécanisme de traduction peut renvoyer un mauvais code de
+ <li>Le mécanisme de traduction peut renvoyer un mauvais code de
retour, et la connexion sera interrompue.</li>
- <li>Le mécanisme de traduction peut insérer silencieusement des
- caractères spéciaux (par exemple des points d'interrogation) dans
+ <li>Le mécanisme de traduction peut insérer silencieusement des
+ caractères spéciaux (par exemple des points d'interrogation) dans
le tampon de sortie lorsqu'il n'est pas en mesure de traduire le
- tampon d'entrée.</li>
+ tampon d'entrée.</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="charsetdefault" id="charsetdefault">Directive</a> <a name="CharsetDefault" id="CharsetDefault">CharsetDefault</a><a title="Lien permanent" href="#charsetdefault" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Jeu de caractère vers lequel la traduction doit
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Jeu de caractère vers lequel la traduction doit
s'effectuer</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CharsetDefault <var>jeu de caractères</var></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#Syntax">Syntaxe:</a></th><td><code>CharsetDefault <var>jeu de caractères</var></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">AllowOverride:</a></th><td>FileInfo</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_charset_lite</td></tr>
</table>
<p>La directive <code class="directive">CharsetDefault</code>
- spécifie le jeu de caractères vers lequel le contenu situé dans le
- conteneur associé devra être traduit.</p>
+ spécifie le jeu de caractères vers lequel le contenu situé dans le
+ conteneur associé devra être traduit.</p>
- <p>La valeur de l'argument <var>jeu de caractères</var> doit être
- un nom de jeu de caractères valide du point de vue du support des
- jeux de caractères dans <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>. En général, cela
- implique qu'elle doit être reconnue par iconv.</p>
+ <p>La valeur de l'argument <var>jeu de caractères</var> doit être
+ un nom de jeu de caractères valide du point de vue du support des
+ jeux de caractères dans <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>. En général, cela
+ implique qu'elle doit être reconnue par iconv.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Directory "/export/home/trawick/apacheinst/htdocs/convert">
CharsetSourceEnc UTF-16BE
</div>
<div class="note">
- Spécifier le même jeu de caractères pour les deux directives
+ Spécifier le même jeu de caractères pour les deux directives
<code class="directive"><a href="#charsetsourceenc">CharsetSourceEnc</a></code>
et <code class="directive"><a href="#charsetdefault">CharsetDefault</a></code>
- désactive la traduction. Le jeu de caractères ne doit pas forcément
- correspondre au jeu de caractères de la réponse, mais il doit être
- valide du point de vue du système.
+ désactive la traduction. Le jeu de caractères ne doit pas forcément
+ correspondre au jeu de caractères de la réponse, mais il doit être
+ valide du point de vue du système.
</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="charsetoptions" id="charsetoptions">Directive</a> <a name="CharsetOptions" id="CharsetOptions">CharsetOptions</a><a title="Lien permanent" href="#charsetoptions" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Précise les détails de la traduction du jeu de
-caractères</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Précise les détails de la traduction du jeu de
+caractères</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CharsetOptions <var>option</var> [<var>option</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CharsetOptions ImplicitAdd</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#Default">Défaut:</a></th><td><code>CharsetOptions ImplicitAdd</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">AllowOverride:</a></th><td>FileInfo</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_charset_lite</td></tr>
</table>
<p>La directive <code class="directive">CharsetOptions</code>
- précise certains détails du comportement du module
+ précise certains détails du comportement du module
<code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code>. <var>Option</var> accepte les
valeurs suivantes :</p>
<dl>
<dt><code>ImplicitAdd | NoImplicitAdd</code></dt>
- <dd>Le mot-clé <code>ImplicitAdd</code> indique que
- <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> doit insérer son filtre de
- manière implicite lorsque la configuration indique que le jeu de
- caractère du contenu doit être traduit. Si la chaîne de filtrage
- est configurée de manière explicite via la directive <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>, l'option
- <code>NoImplicitAdd</code> doit être utilisée afin que
+ <dd>Le mot-clé <code>ImplicitAdd</code> indique que
+ <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> doit insérer son filtre de
+ manière implicite lorsque la configuration indique que le jeu de
+ caractère du contenu doit être traduit. Si la chaîne de filtrage
+ est configurée de manière explicite via la directive <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>, l'option
+ <code>NoImplicitAdd</code> doit être utilisée afin que
<code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> n'ajoute pas son propre
filtre.</dd>
<dt><code>TranslateAllMimeTypes | NoTranslateAllMimeTypes</code></dt>
<dd>Normalement, <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> n'effectuera
- une traduction qu'en présence d'un petit nombre de types MIME
+ une traduction qu'en présence d'un petit nombre de types MIME
parmi tous les types possibles. Lorsque l'option
- <code>TranslateAllMimeTypes</code> est utilisée pour une section
- de configuration donnée, la traduction est effectuée sans se
- préoccuper du type MIME.</dd>
+ <code>TranslateAllMimeTypes</code> est utilisée pour une section
+ de configuration donnée, la traduction est effectuée sans se
+ préoccuper du type MIME.</dd>
</dl>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="charsetsourceenc" id="charsetsourceenc">Directive</a> <a name="CharsetSourceEnc" id="CharsetSourceEnc">CharsetSourceEnc</a><a title="Lien permanent" href="#charsetsourceenc" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Jeu de caractères source des fichiers</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CharsetSourceEnc <var>jeu de caractères</var></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#Description">Description:</a></th><td>Jeu de caractères source des fichiers</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CharsetSourceEnc <var>jeu de caractères</var></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">AllowOverride:</a></th><td>FileInfo</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_charset_lite</td></tr>
</table>
<p>La directive <code class="directive">CharsetSourceEnc</code>
- spécifie un jeu de caractères source pour les fichiers situés dans
- le conteneur associé.</p>
+ spécifie un jeu de caractères source pour les fichiers situés dans
+ le conteneur associé.</p>
- <p>La valeur de l'argument <var>jeu de caractères</var> doit être
- un nom de jeu de caractères valide du point de vue du support des
- jeux de caractères dans <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>. En général, cela
- implique qu'elle doit être reconnue par iconv.</p>
+ <p>La valeur de l'argument <var>jeu de caractères</var> doit être
+ un nom de jeu de caractères valide du point de vue du support des
+ jeux de caractères dans <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>. En général, cela
+ implique qu'elle doit être reconnue par iconv.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Directory "/export/home/trawick/apacheinst/htdocs/convert">
CharsetSourceEnc UTF-16BE
</Directory></pre>
</div>
- <p>Les noms de jeux de caractères de cet exemple sont reconnus par
- le mécanisme de traduction d'iconv sous Solaris 8.</p>
+ <p>Les noms de jeux de caractères de cet exemple sont reconnus par
+ le mécanisme de traduction d'iconv sous Solaris 8.</p>
<div class="note">
- Spécifier le même jeu de caractères pour les deux directives
+ Spécifier le même jeu de caractères pour les deux directives
<code class="directive"><a href="#charsetsourceenc">CharsetSourceEnc</a></code>
et <code class="directive"><a href="#charsetdefault">CharsetDefault</a></code>
- désactive la traduction. Le jeu de caractères ne doit pas forcément
- correspondre au jeu de caractères de la réponse, mais il doit être
- valide du point de vue du système.
+ désactive la traduction. Le jeu de caractères ne doit pas forcément
+ correspondre au jeu de caractères de la réponse, mais il doit être
+ valide du point de vue du système.
</div>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_charset_lite.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_charset_lite.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_charset_lite.html" title="Français"> fr </a> |
<a href="../ko/mod/mod_charset_lite.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_crypto</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_crypto.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_crypto.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_crypto.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support du chiffrement/déchiffrement symétrique</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support du chiffrement/déchiffrement symétrique</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>crypto_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_crypto.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5 du serveur HTTP Apache</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>crypto_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_crypto.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5 du serveur HTTP Apache</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module permet de <strong>chiffrer et déchiffrer</strong> les données au
- niveau des piles de filtrage en entrée et en sortie.</p>
+ <p>Ce module permet de <strong>chiffrer et déchiffrer</strong> les données au
+ niveau des piles de filtrage en entrée et en sortie.</p>
- <p>En particulier, il permet d'effectuer un <strong>chiffrement HLS à la
- volée</strong> comme décrit dans le document <a href="http://www.ietf.org/id/draft-pantos-http-live-streaming-19.txt">draft-pantos-http-live-streaming-19</a>.</p>
+ <p>En particulier, il permet d'effectuer un <strong>chiffrement HLS à la
+ volée</strong> comme décrit dans le document <a href="http://www.ietf.org/id/draft-pantos-http-live-streaming-19.txt">draft-pantos-http-live-streaming-19</a>.</p>
- <p>Mais il peut aussi assurer la livraison sécurisée de données via un CDN
- non sécurisé aux clients qui le supportent.</p>
+ <p>Mais il peut aussi assurer la livraison sécurisée de données via un CDN
+ non sécurisé aux clients qui le supportent.</p>
- <p>Selon les besoins, on peut ajouter le filtre crypto à la pile de filtrage
- en entrée ou en sortie via les directives <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code>, <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>, <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> ou <code class="directive"><a href="../mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code>.</p>
+ <p>Selon les besoins, on peut ajouter le filtre crypto à la pile de filtrage
+ en entrée ou en sortie via les directives <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code>, <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>, <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> ou <code class="directive"><a href="../mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#format">Format du flux de données</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#config">Clés et blocs IV</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#handler">Gestionnaire de clé de chiffrement</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#format">Format du flux de données</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#config">Clés et blocs IV</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#handler">Gestionnaire de clé de chiffrement</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#hls">HTTP Live Streaming (HLS)</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#cryptokey">CryptoKey</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cryptosize">CryptoSize</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_crypto">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_crypto">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_crypto">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_crypto">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../filter.html">Filtres</a></li>
<li><a href="#comments_section">Commentaires</a></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="format" id="format">Format du flux de données</a><a title="Lien permanent" href="#format" class="permalink">¶</a></h2>
+<h2><a name="format" id="format">Format du flux de données</a><a title="Lien permanent" href="#format" class="permalink">¶</a></h2>
- <p>Le flux de données chiffrées comporte un bloc IV optionnel suivi des
- données chiffrées avec l'algorithme de chiffrement choisi. Le bloc final est
- éventuellement complété par bourrage avant d'être écrit. La taille des blocs
- est déterminée par l'algorithme de chiffrement choisi.</p>
+ <p>Le flux de données chiffrées comporte un bloc IV optionnel suivi des
+ données chiffrées avec l'algorithme de chiffrement choisi. Le bloc final est
+ éventuellement complété par bourrage avant d'être écrit. La taille des blocs
+ est déterminée par l'algorithme de chiffrement choisi.</p>
- <p>Lorsque le bloc IV est spécifié via la directive <code class="directive"><a href="#cryptoiv">CryptoIV</a></code>, il est utilisé, mais n'est pas
- injecté dans le flux d'entrée/sortie.</p>
+ <p>Lorsque le bloc IV est spécifié via la directive <code class="directive"><a href="#cryptoiv">CryptoIV</a></code>, il est utilisé, mais n'est pas
+ injecté dans le flux d'entrée/sortie.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="config" id="config">Clés et blocs IV</a><a title="Lien permanent" href="#config" class="permalink">¶</a></h2>
+<h2><a name="config" id="config">Clés et blocs IV</a><a title="Lien permanent" href="#config" class="permalink">¶</a></h2>
<p>Les directives <code class="directive"><a href="#cryptokey">CryptoKey</a></code> et
<code class="directive"><a href="#cryptoiv">CryptoIV</a></code> acceptent comme
- arguments des valeurs binaires qui peuvent être spécifiées comme indiqué
- ci-après. Les bits les plus significatifs de ces valeurs sont utilisés, et
- si les valeurs sont trop petites, elles sont complétées par bourrage avec
- des bits à 0 par la gauche.
+ arguments des valeurs binaires qui peuvent être spécifiées comme indiqué
+ ci-après. Les bits les plus significatifs de ces valeurs sont utilisés, et
+ si les valeurs sont trop petites, elles sont complétées par bourrage avec
+ des bits à 0 par la gauche.
</p>
<dl>
- <dt>file:</dt><dd>La valeur est lue directement depuis le fichier spécifié.</dd>
- <dt>hex:</dt><dd>Interprète l'expression en tant que valeur hexadécimale qui
- peut contenir des caractères ':' comme séparateurs.</dd>
- <dt>decimal:</dt><dd>Interprète l'expression en tant que valeur décimale.</dd>
- <dt>base64:</dt><dd>Interprète l'expression en tant que valeur codée en
+ <dt>file:</dt><dd>La valeur est lue directement depuis le fichier spécifié.</dd>
+ <dt>hex:</dt><dd>Interprète l'expression en tant que valeur hexadécimale qui
+ peut contenir des caractères ':' comme séparateurs.</dd>
+ <dt>decimal:</dt><dd>Interprète l'expression en tant que valeur décimale.</dd>
+ <dt>base64:</dt><dd>Interprète l'expression en tant que valeur codée en
base64.</dd>
- <dt>none</dt><dd>Aucune valeur n'est spécifiée.</dd>
+ <dt>none</dt><dd>Aucune valeur n'est spécifiée.</dd>
</dl>
- <p>Si le IV n'est pas spécifié, un IV aléatoire sera généré au cours du
- chiffrement et écrit comme premier bloc. Lors du déchiffrement, le premier
- bloc sera interprété en tant que IV.
+ <p>Si le IV n'est pas spécifié, un IV aléatoire sera généré au cours du
+ chiffrement et écrit comme premier bloc. Lors du déchiffrement, le premier
+ bloc sera interprété en tant que IV.
</p>
<p>A l'exception du format file:, les directives <code class="directive"><a href="#cryptokey">CryptoKey</a></code> et <code class="directive"><a href="#cryptoiv">CryptoIV</a></code> supportent la <a href="../expr.html">syntaxe des expressions</a> qui fournit plus de
- flexibilité pour définir les valeurs. Les clés et IVs peuvent ainsi être
- initialisées aléatoirement via des valeurs disponibles au niveau du serveur
+ flexibilité pour définir les valeurs. Les clés et IVs peuvent ainsi être
+ initialisées aléatoirement via des valeurs disponibles au niveau du serveur
web comme REMOTE_USER ou l'URL.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="handler" id="handler">Gestionnaire de clé de chiffrement</a><a title="Lien permanent" href="#handler" class="permalink">¶</a></h2>
+<h2><a name="handler" id="handler">Gestionnaire de clé de chiffrement</a><a title="Lien permanent" href="#handler" class="permalink">¶</a></h2>
- <p>Le gestionnaire <strong>crypto-key</strong> permet de fournir la clé aux
- clients autorisés qui le supportent sans avoir à stocker cette dernière dans
- l'arborescence du serveur web. La même <a href="../expr.html">syntaxe
- d'expression</a> peut ainsi être utilisée afin d'obtenir la clé pour les
- clients et pour le contenu chiffré.</p>
+ <p>Le gestionnaire <strong>crypto-key</strong> permet de fournir la clé aux
+ clients autorisés qui le supportent sans avoir à stocker cette dernière dans
+ l'arborescence du serveur web. La même <a href="../expr.html">syntaxe
+ d'expression</a> peut ainsi être utilisée afin d'obtenir la clé pour les
+ clients et pour le contenu chiffré.</p>
- <div class="example"><h3>Gestionnaire de clé de chiffrement avec un fichier</h3><p><code>
+ <div class="example"><h3>Gestionnaire de clé de chiffrement avec un fichier</h3><p><code>
<Location /key><br />
<span class="indent">
SetHandler crypto-key<br />
<h2><a name="hls" id="hls">HTTP Live Streaming (HLS)</a><a title="Lien permanent" href="#hls" class="permalink">¶</a></h2>
- <p>Le protocole HLS supporte les flux chiffrés qui utilisent l'algorithme de
- chiffrement AES-128 et une clé correspondante. On autorise l'accès au flux
- en partageant la clé avec le client HLS en général via une connexion
- sécurisée.</p>
+ <p>Le protocole HLS supporte les flux chiffrés qui utilisent l'algorithme de
+ chiffrement AES-128 et une clé correspondante. On autorise l'accès au flux
+ en partageant la clé avec le client HLS en général via une connexion
+ sécurisée.</p>
- <p>Le IV utilisé pour le chiffrement de chaque segment de media est spécifié
- dans HLS de deux manières :</p>
+ <p>Le IV utilisé pour le chiffrement de chaque segment de media est spécifié
+ dans HLS de deux manières :</p>
<ul>
<li>
- Spécifié explicitement via un attribut IV dans le tag EXT-X-KEY sous
- la forme d'une valeur <strong>hexadécimale</strong>.
+ Spécifié explicitement via un attribut IV dans le tag EXT-X-KEY sous
+ la forme d'une valeur <strong>hexadécimale</strong>.
</li>
<li>
- Spécifié implicitement en interprétant la valeur
- <strong>décimale</strong> du tag EXT-X-MEDIA-SEQUENCE.
+ Spécifié implicitement en interprétant la valeur
+ <strong>décimale</strong> du tag EXT-X-MEDIA-SEQUENCE.
</li>
</ul>
- <p>La valeur de la séquence de media est en générale incorporée dans les
- noms de segment de média et peut être recherchée en utilisant des
- expressions rationnelles nommées comme dans l'exemple ci-dessous.
+ <p>La valeur de la séquence de media est en générale incorporée dans les
+ noms de segment de média et peut être recherchée en utilisant des
+ expressions rationnelles nommées comme dans l'exemple ci-dessous.
</p>
- <div class="example"><h3>Exemple HLS - IV de la séquence de média</h3><p><code>
+ <div class="example"><h3>Exemple HLS - IV de la séquence de média</h3><p><code>
<LocationMatch (?<SEQUENCE>[\d]+)[^\d^/]+$><br />
<span class="indent">
SetOutputFilter ENCRYPT<br />
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'algorithme de chiffrement que le filtre crypto doit utiliser</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CryptoCipher name</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CryptoCipher aes256</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#Default">Défaut:</a></th><td><code>CryptoCipher aes256</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_crypto</td></tr>
</table>
- <p>La directive <code class="directive">CryptoCipher</code> permet de spécifier
- l'algorithme de chiffrement à utiliser au cours des phases de chiffrement et
- de déchiffrement. L'algorithme de chiffrement par défaut est
+ <p>La directive <code class="directive">CryptoCipher</code> permet de spécifier
+ l'algorithme de chiffrement à utiliser au cours des phases de chiffrement et
+ de déchiffrement. L'algorithme de chiffrement par défaut est
<code>aes256</code>.</p>
- <p>C'est le pilote crypto utilisé qui détermine l'étendue du choix des algorithmes de
+ <p>C'est le pilote crypto utilisé qui détermine l'étendue du choix des algorithmes de
chiffrement parmi les valeurs possibles suivantes :</p>
<ul><li>3des192</li><li>aes128</li><li>aes192</li><li>aes256</li></ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cryptodriver" id="cryptodriver">Directive</a> <a name="CryptoDriver" id="CryptoDriver">CryptoDriver</a><a title="Lien permanent" href="#cryptodriver" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du pilote crypto à utiliser</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du pilote crypto à utiliser</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CryptoDriver name</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CryptoDriver openssl</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CryptoDriver openssl</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_crypto</td></tr>
</table>
<p>La directive <code class="directive"><a href="#cryptodriver">CryptoDriver</a></code>
- permet de spécifier le nom du pilote crypto à utiliser. Un pilote recommandé
- par défaut est en général défini pour chaque plateforme. Les pilotes
- supportés sont <strong>openssl</strong>, <strong>commoncrypto</strong> et
+ permet de spécifier le nom du pilote crypto à utiliser. Un pilote recommandé
+ par défaut est en général défini pour chaque plateforme. Les pilotes
+ supportés sont <strong>openssl</strong>, <strong>commoncrypto</strong> et
<strong>nss</strong>.</p>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le Vecteur d'Initialisation IV (Initialisation Vector) que le
filtre crypto doit utiliser</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CryptoIV value</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CryptoIV none</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#Default">Défaut:</a></th><td><code>CryptoIV none</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_crypto</td></tr>
</table>
- <p>La directive <code class="directive">CryptoIV</code> permet de spécifier le IV
- (Initialisation Vector) pour l'espace d'URL considéré. Le IV peut être lu à
- partir d'un fichier ou défini via l'<a href="../expr.html">interpréteur
- d'expressions</a>, ce qui confère plus de souplesse aux scénarios de
- définition des clés.</p>
-
- <p>Les valeurs possibles peuvent être lues depuis un fichier ou exprimées
- sous une forme hexadécimale, décimale ou en base64 en fonction des préfixes
+ <p>La directive <code class="directive">CryptoIV</code> permet de spécifier le IV
+ (Initialisation Vector) pour l'espace d'URL considéré. Le IV peut être lu à
+ partir d'un fichier ou défini via l'<a href="../expr.html">interpréteur
+ d'expressions</a>, ce qui confère plus de souplesse aux scénarios de
+ définition des clés.</p>
+
+ <p>Les valeurs possibles peuvent être lues depuis un fichier ou exprimées
+ sous une forme hexadécimale, décimale ou en base64 en fonction des préfixes
suivants :</p>
<ul><li>file:</li><li>hex:</li><li>decimal:</li><li>base64:</li></ul>
- <p>La valeur 'none' désactive la définition du IV. Dans ce cas, un IV
- aléatoire sera généré durant le chiffrement et inséré en tant que premier
- bloc ; au cours du déchiffrement, le premier bloc sera interprété comme bloc
+ <p>La valeur 'none' désactive la définition du IV. Dans ce cas, un IV
+ aléatoire sera généré durant le chiffrement et inséré en tant que premier
+ bloc ; au cours du déchiffrement, le premier bloc sera interprété comme bloc
IV.</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="cryptokey" id="cryptokey">Directive</a> <a name="CryptoKey" id="CryptoKey">CryptoKey</a><a title="Lien permanent" href="#cryptokey" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Clé que le filtre crypto doit utiliser</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Clé que le filtre crypto doit utiliser</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CryptoKey value</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CryptoKey none</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#Default">Défaut:</a></th><td><code>CryptoKey none</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_crypto</td></tr>
</table>
- <p>La directive <code class="directive">CryptoKey</code> permet de spécifier la clé
- de chiffrement/déchiffrement pour l'espace d'URL considéré. La clé peut être
- lue depuis un fichier ou défini via l'<a href="../expr.html">interpréteur
- d'expressions</a>, ce qui confère plus de souplesse aux scénarios de
- définition des clés.</p>
-
- <p>Les valeurs possibles peuvent être lues depuis un fichier ou exprimées
- sous une forme hexadécimale, décimale ou en base64 en fonction des préfixes
+ <p>La directive <code class="directive">CryptoKey</code> permet de spécifier la clé
+ de chiffrement/déchiffrement pour l'espace d'URL considéré. La clé peut être
+ lue depuis un fichier ou défini via l'<a href="../expr.html">interpréteur
+ d'expressions</a>, ce qui confère plus de souplesse aux scénarios de
+ définition des clés.</p>
+
+ <p>Les valeurs possibles peuvent être lues depuis un fichier ou exprimées
+ sous une forme hexadécimale, décimale ou en base64 en fonction des préfixes
suivants :</p>
<ul><li>file:</li><li>hex:</li><li>decimal:</li><li>base64:</li></ul>
- <p>La valeur 'none' désactive la clé. Toute requête pour obtenir sans clé un fichier
- via les filtres ENCRYPT ou DECRYPT se soldera alors par un échec. </p>
+ <p>La valeur 'none' désactive la clé. Toute requête pour obtenir sans clé un fichier
+ via les filtres ENCRYPT ou DECRYPT se soldera alors par un échec. </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="cryptosize" id="cryptosize">Directive</a> <a name="CryptoSize" id="CryptoSize">CryptoSize</a><a title="Lien permanent" href="#cryptosize" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale en octets du tampon utilisé par le filtre crypto</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale en octets du tampon utilisé par le filtre crypto</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CryptoSize integer</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CryptoSize 131072</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#Default">Défaut:</a></th><td><code>CryptoSize 131072</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_crypto</td></tr>
</table>
<p>La directive <code class="directive"><a href="#cryptosize">CryptoSize</a></code> permet
- de spécifier la quantité de données en octets qui sera mise en tampon pour
- chaque requête avant d'être chiffrée ou déchiffrée. La valeur par défaut est
+ de spécifier la quantité de données en octets qui sera mise en tampon pour
+ chaque requête avant d'être chiffrée ou déchiffrée. La valeur par défaut est
128 Ko.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_crypto.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_crypto.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_crypto.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_data</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_data.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_data.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_data.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Convertit un corps de réponse en URL de type données RFC2397</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Convertit un corps de réponse en URL de type données RFC2397</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>data_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_data.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 du serveur HTTP Apache</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>data_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_data.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 du serveur HTTP Apache</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module permet de convertir une réponse en <a href="http://tools.ietf.org/html/rfc2397">URL de type données
+ <p>Ce module permet de convertir une réponse en <a href="http://tools.ietf.org/html/rfc2397">URL de type données
RFC2397</a>.
</p>
- <p>Les URLs de type données peuvent être incluses en ligne dans les
+ <p>Les URLs de type données peuvent être incluses en ligne dans les
pages web via le module <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> par exemple,
- afin d'éviter aux clients d'avoir à effectuer des connexions
- séparées pour éventuellement extraire un grand nombre de petites
- images. Les URLs de type données peuvent aussi être incluses dans
- des pages générées par langages de scripting tels que PHP.</p>
+ afin d'éviter aux clients d'avoir à effectuer des connexions
+ séparées pour éventuellement extraire un grand nombre de petites
+ images. Les URLs de type données peuvent aussi être incluses dans
+ des pages générées par langages de scripting tels que PHP.</p>
- <div class="example"><h3>Un exemple d'URL de type données</h3><p><code>
+ <div class="example"><h3>Un exemple d'URL de type données</h3><p><code>
data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw<br />
AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz<br />
ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp<br />
hhx4dbgYKAAA7<br />
</code></p></div>
- <p>Le filtre n'accepte aucun paramètre, et peut être ajouté à la
+ <p>Le filtre n'accepte aucun paramètre, et peut être ajouté à la
pile des filtres via la directive <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>, ou toute autre directive
- supportée par le module <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>.</p>
+ supportée par le module <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>.</p>
<div class="example"><h3>Configuration du filtre</h3><pre class="prettyprint lang-config"><Location "/data/images">
SetOutputFilter DATA
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_data">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_data">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_data">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_data">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../filter.html">Les filtres</a></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_data.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_data.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_data.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_dav</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_dav.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_dav.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_dav.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalité de création et gestion de versions de
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalité de création et gestion de versions de
documents via le web (<a href="http://www.webdav.org/">WebDAV</a>)</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>dav_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dav.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dav_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dav.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module ajoute à Apache une fonctionnalité <a href="http://www.webdav.org">WebDAV</a> de classes 1 et 2
- ('Web-based Distributed Authoring and Versioning' ou Création et
+ <p>Ce module ajoute à Apache une fonctionnalité <a href="http://www.webdav.org">WebDAV</a> de classes 1 et 2
+ ('Web-based Distributed Authoring and Versioning' ou Création et
gestion de versions de documents via le web). Il s'agit d'une
- extension du protocole HTTP qui permet de créer, déplacer, copier et
+ extension du protocole HTTP qui permet de créer, déplacer, copier et
supprimer des ressources ou collections de ressources sur un serveur
web distant.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#example">Activation de WebDAV</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#security">Problèmes concernant la sécurité</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#security">Problèmes concernant la sécurité</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#complex">Configurations complexes</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#davdepthinfinity">DavDepthInfinity</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#davmintimeout">DavMinTimeout</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code></li>
<li><code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code></li>
<div class="section">
<h2><a name="example" id="example">Activation de WebDAV</a><a title="Lien permanent" href="#example" class="permalink">¶</a></h2>
<p>Pour activer le module <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>, ajoutez la ligne
- suivante à un conteneur de votre fichier <code>httpd.conf</code>
+ suivante à un conteneur de votre fichier <code>httpd.conf</code>
:</p>
<pre class="prettyprint lang-config">Dav On</pre>
- <p>Ceci active le fournisseur de système de fichier DAV implémenté par
- le module <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code>. Ce dernier doit donc être
- compilé dans le serveur ou chargé au démarrage à l'aide de la
+ <p>Ceci active le fournisseur de système de fichier DAV implémenté par
+ le module <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code>. Ce dernier doit donc être
+ compilé dans le serveur ou chargé au démarrage à l'aide de la
directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>.</p>
- <p>En outre, vous devez indiquer où se trouve la base de données des
+ <p>En outre, vous devez indiquer où se trouve la base de données des
verrous DAV via une directive <code class="directive"><a href="../mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> dans la section globale de
votre fichier <code>httpd.conf</code> :</p>
<pre class="prettyprint lang-config">DavLockDB "/usr/local/apache2/var/DavLock"</pre>
- <p>Le répertoire contenant le fichier de la base de données des
- verrous doit avoir des droits en écriture pour l'utilisateur et le
- groupe sous lesquels Apache s'exécute et définis respectivement par
+ <p>Le répertoire contenant le fichier de la base de données des
+ verrous doit avoir des droits en écriture pour l'utilisateur et le
+ groupe sous lesquels Apache s'exécute et définis respectivement par
les directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et
<code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code>.</p>
- <p>Si vous souhaitez limiter l'accès aux répertoires où DAV est
- activé, vous pouvez ajouter une clause <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> dans la section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> considérée. Pour
- définir la quantité maximale de données en octets qu'un client
- DAV peut envoyer par requête, vous devez utiliser la directive
+ <p>Si vous souhaitez limiter l'accès aux répertoires où DAV est
+ activé, vous pouvez ajouter une clause <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> dans la section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> considérée. Pour
+ définir la quantité maximale de données en octets qu'un client
+ DAV peut envoyer par requête, vous devez utiliser la directive
<code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code>, car La
directive <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code>
- "habituelle" n'a aucune incidence sur les requêtes DAV.</p>
+ "habituelle" n'a aucune incidence sur les requêtes DAV.</p>
<div class="example"><h3>Exemple complet</h3><pre class="prettyprint lang-config">DavLockDB "/usr/local/apache2/var/DavLock"
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="security" id="security">Problèmes concernant la sécurité</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
+<h2><a name="security" id="security">Problèmes concernant la sécurité</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
- <p>Etant donné que les méthodes d'accès DAV permettent à des clients
+ <p>Etant donné que les méthodes d'accès DAV permettent à des clients
distants de manipuler des fichiers sur le serveur, vous devez vous
- assurer que votre serveur est bien sécurisé avant d'activer
+ assurer que votre serveur est bien sécurisé avant d'activer
<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>.</p>
- <p>Tout répertoire du serveur où DAV est activé doit être protégé
- par une procédure d'authentification. L'utilisation de
- l'authentification HTTP de base n'est pas recommandée. Vous devez
- utiliser au moins l'authentification HTTP à base de condensés
- qu'implémente le module <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>.
- Pratiquement tous les clients WebDAV supportent cette méthode
+ <p>Tout répertoire du serveur où DAV est activé doit être protégé
+ par une procédure d'authentification. L'utilisation de
+ l'authentification HTTP de base n'est pas recommandée. Vous devez
+ utiliser au moins l'authentification HTTP à base de condensés
+ qu'implémente le module <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>.
+ Pratiquement tous les clients WebDAV supportent cette méthode
d'authentification. Vous pouvez aussi utiliser l'authentification de
- base sur une connexion où <a href="../ssl/">SSL</a> est activé.</p>
+ base sur une connexion où <a href="../ssl/">SSL</a> est activé.</p>
<p>Pour que <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> puisse manipuler des fichiers,
- il doit avoir des permissions en écriture sur les répertoires et les
- fichiers qui sont sous son contrôle ; en d'autre termes, c'est
- l'utilisateur et le groupe sous lesquels Apache s'exécute et définis
+ il doit avoir des permissions en écriture sur les répertoires et les
+ fichiers qui sont sous son contrôle ; en d'autre termes, c'est
+ l'utilisateur et le groupe sous lesquels Apache s'exécute et définis
par les directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et
<code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> qui doivent avoir
- les droits en écriture sur ces fichiers et répertoires. Les fichiers
- nouvellement créés appartiendront aussi à ces utilisateur et groupe.
- Par conséquent, il est important de contrôler l'accès à ce compte.
- Les répertoires DAV sont considérés comme privés du point de vue
+ les droits en écriture sur ces fichiers et répertoires. Les fichiers
+ nouvellement créés appartiendront aussi à ces utilisateur et groupe.
+ Par conséquent, il est important de contrôler l'accès à ce compte.
+ Les répertoires DAV sont considérés comme privés du point de vue
d'Apache, et la modification des fichiers qu'ils contiennent
- autrement que par l'intermédiaire d'Apache (par exemple par FTP ou
- par des outils du niveau du système de fichiers) ne doit pas être
+ autrement que par l'intermédiaire d'Apache (par exemple par FTP ou
+ par des outils du niveau du système de fichiers) ne doit pas être
permise.</p>
<p><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> peut faire l'objet de plusieurs sortes
- d'attaques par déni de service. La directive <code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code> permet de limiter la
- quantité de mémoire consommée pour interpréter des requêtes DAV de
- grande taille. En outre, la directive <code class="directive"><a href="#davdepthinfinity">DavDepthInfinity</a></code> permet d'empêcher les
- requêtes <code>PROPFIND</code> concernant un répertoire de très
- grande taille de consommer de grandes quantités de mémoire. Un autre
- type d'attaque par déni de service peut aussi être mené par un
+ d'attaques par déni de service. La directive <code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code> permet de limiter la
+ quantité de mémoire consommée pour interpréter des requêtes DAV de
+ grande taille. En outre, la directive <code class="directive"><a href="#davdepthinfinity">DavDepthInfinity</a></code> permet d'empêcher les
+ requêtes <code>PROPFIND</code> concernant un répertoire de très
+ grande taille de consommer de grandes quantités de mémoire. Un autre
+ type d'attaque par déni de service peut aussi être mené par un
client qui remplit simplement tout l'espace disque disponible avec
- des fichiers de très grande taille. Etant donné qu'il n'existe aucun
- moyen direct d'éviter ce genre d'attaque dans Apache, vous ne devez
- accorder des accès DAV qu'à des utilisateurs de confiance.</p>
+ des fichiers de très grande taille. Etant donné qu'il n'existe aucun
+ moyen direct d'éviter ce genre d'attaque dans Apache, vous ne devez
+ accorder des accès DAV qu'à des utilisateurs de confiance.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="complex" id="complex">Configurations complexes</a><a title="Lien permanent" href="#complex" class="permalink">¶</a></h2>
- <p>Les requêtes ayant pour but de manipuler des fichiers dynamiques
+ <p>Les requêtes ayant pour but de manipuler des fichiers dynamiques
(scripts PHP, scripts CGI, etc...) en utilisant
<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> sont courantes. Ce traitement n'est pas
- évident car une requête
- <code>GET</code> va toujours tenter d'exécuter le script, plutôt que
- de télécharger son contenu. Pour éviter cet inconvénient, une
- méthode possible consiste à faire correspondre deux URLs
- différentes au même contenu, l'une d'entre elles servant à lancer le
- script, alors que l'autre peut être utilisée pour le télécharger et
+ évident car une requête
+ <code>GET</code> va toujours tenter d'exécuter le script, plutôt que
+ de télécharger son contenu. Pour éviter cet inconvénient, une
+ méthode possible consiste à faire correspondre deux URLs
+ différentes au même contenu, l'une d'entre elles servant à lancer le
+ script, alors que l'autre peut être utilisée pour le télécharger et
le manipuler avec DAV.</p>
<pre class="prettyprint lang-config">Alias "/phparea" "/home/gstein/php_files"
<p>Avec cette configuration, on peut utiliser
- <code>http://example.com/phparea</code> pour afficher le résultat de
- l'exécution des scripts PHP, et
+ <code>http://example.com/phparea</code> pour afficher le résultat de
+ l'exécution des scripts PHP, et
<code>http://example.com/php-source</code> pour les manipuler avec
DAV.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="dav" id="dav">Directive</a> <a name="Dav" id="Dav">Dav</a><a title="Lien permanent" href="#dav" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active les méthodes HTTP WebDAV</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active les méthodes HTTP WebDAV</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Dav On|Off|<var>nom fournisseur</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Dav Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Dav Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</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_dav</td></tr>
</table>
<p>La directive <code class="directive">Dav</code> active les
- méthodes HTTP WebDAV pour le conteneur condidéré :</p>
+ méthodes HTTP WebDAV pour le conteneur condidéré :</p>
<pre class="prettyprint lang-config"><Location "/foo">
Dav On
<p>La valeur <code>On</code> est en fait un alias vers le
- fournisseur par défaut <code>filesystem</code> implémenté par le
- module <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code>. Notez que lorsque DAV est activé
- pour un conteneur, on <em>ne peut pas</em> le désactiver pour ses
+ fournisseur par défaut <code>filesystem</code> implémenté par le
+ module <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code>. Notez que lorsque DAV est activé
+ pour un conteneur, on <em>ne peut pas</em> le désactiver pour ses
sous-conteneurs. Pour un exemple de configuration complet,
- reportez-vous à la <a href="#example">section précédente</a>.</p>
+ reportez-vous à la <a href="#example">section précédente</a>.</p>
<div class="warning">
- N'activez pas WebDAV tant que votre serveur n'est pas sécurisé. Si
+ N'activez pas WebDAV tant que votre serveur n'est pas sécurisé. Si
vous passez outre cette recommandation, tout le monde pourra
- enregistrer des fichiers sur votre système.
+ enregistrer des fichiers sur votre système.
</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="davdepthinfinity" id="davdepthinfinity">Directive</a> <a name="DavDepthInfinity" id="DavDepthInfinity">DavDepthInfinity</a><a title="Lien permanent" href="#davdepthinfinity" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Autorise les requêtes PROPFIND avec en-tête Depth:
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Autorise les requêtes PROPFIND avec en-tête Depth:
Infinity</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavDepthInfinity on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DavDepthInfinity off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DavDepthInfinity off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_dav</td></tr>
</table>
<p>La directive <code class="directive">DavDepthInfinity</code>
- autorise le traitement des requêtes <code>PROPFIND</code>
- contenant l'en-tête Depth: Infinity. Par défaut, ce type de requête
- n'est pas autorisé, car il peut favoriser les attaques de type Déni
+ autorise le traitement des requêtes <code>PROPFIND</code>
+ contenant l'en-tête Depth: Infinity. Par défaut, ce type de requête
+ n'est pas autorisé, car il peut favoriser les attaques de type Déni
de service.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="davmintimeout" id="davmintimeout">Directive</a> <a name="DavMinTimeout" id="DavMinTimeout">DavMinTimeout</a><a title="Lien permanent" href="#davmintimeout" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée minimale pendant laquelle le serveur maintient un
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée minimale pendant laquelle le serveur maintient un
verrou sur une ressource DAV</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavMinTimeout <var>secondes</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DavMinTimeout 0</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DavMinTimeout 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_dav</td></tr>
</table>
<p>Lorsqu'un client demande le verrouillage d'une ressource DAV, il
- peut aussi spécifier une durée au bout de laquelle le verrou sera
- automatiquement supprimé par le serveur. Cette valeur ne constitue
- qu'une requête, et le serveur peut l'ignorer ou informer le client
+ peut aussi spécifier une durée au bout de laquelle le verrou sera
+ automatiquement supprimé par le serveur. Cette valeur ne constitue
+ qu'une requête, et le serveur peut l'ignorer ou informer le client
qu'il va utiliser une valeur arbitraire.</p>
<p>La directive <code class="directive">DavMinTimeout</code>
- spécifie, en secondes, la durée minimale de verrouillage à renvoyer
- au client. Les Répertoires Web de Microsoft présentent une durée par
- défaut de 120 secondes ; la directive
- <code class="directive">DavMinTimeout</code> permet de définir une valeur
- supérieure (par exemple 600 secondes), afin de réduire les risques
- de perte du verrou par le client suite à une surcharge du
- réseau.</p>
+ spécifie, en secondes, la durée minimale de verrouillage à renvoyer
+ au client. Les Répertoires Web de Microsoft présentent une durée par
+ défaut de 120 secondes ; la directive
+ <code class="directive">DavMinTimeout</code> permet de définir une valeur
+ supérieure (par exemple 600 secondes), afin de réduire les risques
+ de perte du verrou par le client suite à une surcharge du
+ réseau.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Location "/MSWord">
DavMinTimeout 600
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_dav.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_dav.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_dav.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_dav_fs</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav_fs.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_dav_fs.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_dav_fs.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_dav_fs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_dav_fs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Implémente le fournisseur filesystem pour
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Implémente le fournisseur filesystem pour
<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></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>dav_fs_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dav_fs.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dav_fs_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dav_fs.c</td></tr></table>
<h3>Sommaire</h3>
- <p>L'activation de ce module <em>nécessite</em> l'utilisation de
- <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>. C'est un module de support pour <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> et à ce titre, il permet l'accès à des ressources
- situées dans le système de fichiers du serveur. Le nom formel de ce
+ <p>L'activation de ce module <em>nécessite</em> l'utilisation de
+ <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>. C'est un module de support pour <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> et à ce titre, il permet l'accès à des ressources
+ situées dans le système de fichiers du serveur. Le nom formel de ce
fournisseur est <code>filesystem</code>. Les fournisseurs supports
- de <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> sont invoqués via la directive
+ de <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> sont invoqués via la directive
<code class="directive"><a href="../mod/mod_dav.html#dav">Dav</a></code> :</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">Dav filesystem</pre>
</div>
- <p>Comme <code>filesystem</code> est le fournisseur par défaut de
+ <p>Comme <code>filesystem</code> est le fournisseur par défaut de
<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>, vous pouvez vous contenter d'utiliser la
valeur <code>On</code> comme argument de Dav.</p>
</div>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#davlockdb">DavLockDB</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav_fs">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav_fs">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav_fs">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav_fs">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></li>
<li><a href="#comments_section">Commentaires</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="davlockdb" id="davlockdb">Directive</a> <a name="DavLockDB" id="DavLockDB">DavLockDB</a><a title="Lien permanent" href="#davlockdb" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin de la base de données des verrous DAV</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin de la base de données des verrous DAV</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavLockDB <var>chemin fichier</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_dav_fs</td></tr>
</table>
- <p>La directive <code class="directive">DavLockDB</code> spécifie
- le chemin complet de la base de données des verrous, sans extension.
- Si le chemin n'est pas absolu, il sera considéré comme relatif au
- répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. L'implémentation de
- <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> utilise une base de données SDBM pour
+ <p>La directive <code class="directive">DavLockDB</code> spécifie
+ le chemin complet de la base de données des verrous, sans extension.
+ Si le chemin n'est pas absolu, il sera considéré comme relatif au
+ répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. L'implémentation de
+ <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> utilise une base de données SDBM pour
surveiller les verrous utilisateurs.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">DavLockDB var/DavLock</pre>
</div>
- <p>Les utilisateur et groupe sous lesquels Apache s'exécute et qui
- sont respectivement définis par les directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> doivent pouvoir écrire dans le
- répertoire qui contient le fichier de la base de données des
- verrous. Pour des raisons de sécurité, il est recommandé de créer un
- répertoire dédié à la base de données des verrous, plutôt que de
- modifier les permissions d'un répertoire existant. Dans l'exemple
- ci-dessus, Apache va créer des fichiers dans le répertoire
- <code>var/</code>, lui-même sous-répertoire du répertoire défini par
+ <p>Les utilisateur et groupe sous lesquels Apache s'exécute et qui
+ sont respectivement définis par les directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> doivent pouvoir écrire dans le
+ répertoire qui contient le fichier de la base de données des
+ verrous. Pour des raisons de sécurité, il est recommandé de créer un
+ répertoire dédié à la base de données des verrous, plutôt que de
+ modifier les permissions d'un répertoire existant. Dans l'exemple
+ ci-dessus, Apache va créer des fichiers dans le répertoire
+ <code>var/</code>, lui-même sous-répertoire du répertoire défini par
la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>, avec le nom de base
<code>DavLock</code> suivi d'une extension choisie par le
serveur.</p>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav_fs.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_dav_fs.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_dav_fs.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_dav_fs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_dav_fs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_dav_lock</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav_lock.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_dav_lock.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_dav_lock.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_dav_lock.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module de verrouillage générique pour
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module de verrouillage générique pour
<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></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>dav_lock_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dav_lock.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dav_lock_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dav_lock.c</td></tr></table>
<h3>Sommaire</h3>
- <p>ce module implémente une API de verrouillage générique que tout
+ <p>ce module implémente une API de verrouillage générique que tout
fournisseur support de <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> peut utiliser. Son
- activation nécessite l'utilisation de <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>. Mais
+ activation nécessite l'utilisation de <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>. Mais
sans fournisseur support pour l'utiliser, il n'est d'aucun service
- et ne doit pas être chargé dans le serveur. <a href="http://subversion.apache.org/">mod_dav_svn</a>, le module qui
- implémente le fournisseur subversion, est un exemple
+ et ne doit pas être chargé dans le serveur. <a href="http://subversion.apache.org/">mod_dav_svn</a>, le module qui
+ implémente le fournisseur subversion, est un exemple
de module de support qui utilise effectivement
<code class="module"><a href="../mod/mod_dav_lock.html">mod_dav_lock</a></code>.</p>
<p>Notez que <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> n'a <em>pas</em> besoin de
- ce module de verrouillage générique, car il utilise sa propre
- version plus spécifique.</p>
+ ce module de verrouillage générique, car il utilise sa propre
+ version plus spécifique.</p>
<p>Pour que <code class="module"><a href="../mod/mod_dav_lock.html">mod_dav_lock</a></code> puisse fonctionner, il
- vous suffit de spécifier le chemin de la base de données des verrous
- à l'aide de la directive <code class="directive"><a href="#davgenericlockdb">DavGenericLockDB</a></code> décrite
+ vous suffit de spécifier le chemin de la base de données des verrous
+ à l'aide de la directive <code class="directive"><a href="#davgenericlockdb">DavGenericLockDB</a></code> décrite
ci-dessous.</p>
- <div class="note"><h3>Note du développeur</h3>
- <p>Pour déterminer le pointeur de la fonction du fournisseur de
+ <div class="note"><h3>Note du développeur</h3>
+ <p>Pour déterminer le pointeur de la fonction du fournisseur de
verrouillage, vous devez utiliser l'API
<code>ap_lookup_provider</code> avec les arguments
<code>dav-lock</code>, <code>generic</code> et <code>0</code>.</p>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#davgenericlockdb">DavGenericLockDB</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav_lock">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav_lock">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dav_lock">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dav_lock">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code></li>
<li><a href="#comments_section">Commentaires</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="davgenericlockdb" id="davgenericlockdb">Directive</a> <a name="DavGenericLockDB" id="DavGenericLockDB">DavGenericLockDB</a><a title="Lien permanent" href="#davgenericlockdb" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin de la base de données des verrous DAV</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin de la base de données des verrous DAV</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavGenericLockDB <var>chemin fichier</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_dav_lock</td></tr>
</table>
- <p>La directive <code class="directive">DavLockDB</code> spécifie
- le chemin complet de la base de données des verrous, sans extension.
- Si le chemin n'est pas absolu, il sera considéré comme relatif au
- répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. L'implémentation de
- <code class="module"><a href="../mod/mod_dav_lock.html">mod_dav_lock</a></code> utilise une base de données SDBM pour
+ <p>La directive <code class="directive">DavLockDB</code> spécifie
+ le chemin complet de la base de données des verrous, sans extension.
+ Si le chemin n'est pas absolu, il sera considéré comme relatif au
+ répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. L'implémentation de
+ <code class="module"><a href="../mod/mod_dav_lock.html">mod_dav_lock</a></code> utilise une base de données SDBM pour
surveiller les verrous utilisateurs.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">DavGenericLockDB var/DavLock</pre>
</div>
- <p>Les utilisateur et groupe sous lesquels Apache s'exécute et qui
- sont respectivement définis par les directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> doivent pouvoir écrire dans le
- répertoire qui contient le fichier de la base de données des
- verrous. Pour des raisons de sécurité, il est recommandé de créer un
- répertoire dédié à la base de données des verrous, plutôt que de
- modifier les permissions d'un répertoire existant. Dans l'exemple
- ci-dessus, Apache va créer des fichiers dans le répertoire
- <code>var/</code>, lui-même sous-répertoire du répertoire défini par
+ <p>Les utilisateur et groupe sous lesquels Apache s'exécute et qui
+ sont respectivement définis par les directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> doivent pouvoir écrire dans le
+ répertoire qui contient le fichier de la base de données des
+ verrous. Pour des raisons de sécurité, il est recommandé de créer un
+ répertoire dédié à la base de données des verrous, plutôt que de
+ modifier les permissions d'un répertoire existant. Dans l'exemple
+ ci-dessus, Apache va créer des fichiers dans le répertoire
+ <code>var/</code>, lui-même sous-répertoire du répertoire défini par
la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>, avec le nom de base
<code>DavLock</code> suivi d'une extension choisie par le
serveur.</p>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav_lock.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_dav_lock.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_dav_lock.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_dav_lock.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_dbd</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_dbd.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_dbd.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Gestion des connexions à une base de données SQL</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Gestion des connexions à une base de données SQL</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>dbd_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dbd.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dbd_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dbd.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Le module <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> gère les connexions
- à une base de données SQL via <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>. Il permet
- aux modules qui requièrent des fonctions liées aux bases de données
- SQL de se connecter à une base de données à la demande, et s'efforce
- de conférer aux bases de données une efficacité et une
- évolutivité optimales pour les MPMs threadés ou non threadés. Pour
- plus de détails, voir le site web <a href="http://apr.apache.org/">APR</a>,
+ <p>Le module <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> gère les connexions
+ à une base de données SQL via <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>. Il permet
+ aux modules qui requièrent des fonctions liées aux bases de données
+ SQL de se connecter à une base de données à la demande, et s'efforce
+ de conférer aux bases de données une efficacité et une
+ évolutivité optimales pour les MPMs threadés ou non threadés. Pour
+ plus de détails, voir le site web <a href="http://apr.apache.org/">APR</a>,
ainsi que cette vue d'ensemble de l'<a href="http://people.apache.org/~niq/dbd.html">environnement de
- développement d'Apache DBD</a> par son développeur initial.
+ développement d'Apache DBD</a> par son développeur initial.
</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#pooling">Regroupement des connexions</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#connecting">Connexion</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#API">API DBD d'Apache</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#prepared">Requêtes SQL préparées</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#prepared">Requêtes SQL préparées</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#security">AVERTISSEMENT DE SECURITE</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#dbdpreparesql">DBDPrepareSQL</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#dbdriver">DBDriver</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dbd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dbd">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dbd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dbd">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../misc/password_encryptions.html">Formats des mots de
passe</a></li>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="pooling" id="pooling">Regroupement des connexions</a><a title="Lien permanent" href="#pooling" class="permalink">¶</a></h2>
- <p>Ce module gère de manière optimisée en fonction de la plate-forme
- les connexions aux bases de données. Sur les plates-formes non
- threadées, il maintient une connexion persistente à la manière d'un
+ <p>Ce module gère de manière optimisée en fonction de la plate-forme
+ les connexions aux bases de données. Sur les plates-formes non
+ threadées, il maintient une connexion persistente à la manière d'un
LAMP classique (Linux, Apache, Mysql, Perl/PHP/Python). Sur les
- plates-formes threadées, il maintient un <em>groupe de
- connexions</em> à la fois plus évolutif et plus efficace, comme
- décrit dans <a href="http://www.apachetutor.org/dev/reslist">cet
+ plates-formes threadées, il maintient un <em>groupe de
+ connexions</em> à la fois plus évolutif et plus efficace, comme
+ décrit dans <a href="http://www.apachetutor.org/dev/reslist">cet
article d'ApacheTutor</a>. Notez que <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code>
- remplace les modules présentés dans cet article.</p>
+ remplace les modules présentés dans cet article.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="connecting" id="connecting">Connexion</a><a title="Lien permanent" href="#connecting" class="permalink">¶</a></h2>
- <p>Pour vous connecter à votre base de données, vous devez spécifier un
- pilote et des paramètres de connexion qui diffèrent selon le moteur de base
- de données. Par exemple, pour vous connecter à mysql, spécifiez ce qui suit
+ <p>Pour vous connecter à votre base de données, vous devez spécifier un
+ pilote et des paramètres de connexion qui diffèrent selon le moteur de base
+ de données. Par exemple, pour vous connecter à mysql, spécifiez ce qui suit
:</p>
<pre class="prettyprint lang-config">DBDriver mysql
la documentation de ces modules.</p>
<p>Voir la syntaxe de la directive <code class="directive">DBDParams</code> pour les
- informations à fournir dans la chaîne de connexion en fonction des
- différents pilotes de base de données supportés.</p>
+ informations à fournir dans la chaîne de connexion en fonction des
+ différents pilotes de base de données supportés.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="API" id="API">API DBD d'Apache</a><a title="Lien permanent" href="#API" class="permalink">¶</a></h2>
<p><code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> exporte cinq fonctions que d'autres
- modules pourront utiliser. L'API se présente comme suit :</p>
+ modules pourront utiliser. L'API se présente comme suit :</p>
<pre class="prettyprint lang-c">typedef struct {
apr_dbd_t *handle;
apr_hash_t *prepared;
} ap_dbd_t;
-/* Fonctions exportées pour accéder à la base de données */
+/* Fonctions exportées pour accéder à la base de données */
-/* ouvre une connexion qui DEVRA être explicitement fermée.
+/* ouvre une connexion qui DEVRA être explicitement fermée.
* Renvoie NULL en cas d'erreur
*/
AP_DECLARE(ap_dbd_t*) ap_dbd_open(apr_pool_t*, server_rec*);
/* ferme une connexion ouverte avec ap_dbd_open */
AP_DECLARE(void) ap_dbd_close(server_rec*, ap_dbd_t*);
-/* acquiert une connexion qui aura la durée de vie de la requête et qui
- * NE DEVRA PAS être explicitement fermée. Renvoie NULL en cas
- * d'erreur. C'est la fonction recommandée pour la plupart des
+/* acquiert une connexion qui aura la durée de vie de la requête et qui
+ * NE DEVRA PAS être explicitement fermée. Renvoie NULL en cas
+ * d'erreur. C'est la fonction recommandée pour la plupart des
* applications.
*/
AP_DECLARE(ap_dbd_t*) ap_dbd_acquire(request_rec*);
-/* acquiert une connexion qui aura la durée de vie d'une connexion et
- * qui NE DEVRA PAS être explicitement fermée. Renvoie NULL en cas
+/* acquiert une connexion qui aura la durée de vie d'une connexion et
+ * qui NE DEVRA PAS être explicitement fermée. Renvoie NULL en cas
* d'erreur.
*/
AP_DECLARE(ap_dbd_t*) ap_dbd_cacquire(conn_rec*);
-/* Prépare une requête qu'un module client pourra utiliser */
+/* Prépare une requête qu'un module client pourra utiliser */
AP_DECLARE(void) ap_dbd_prepare(server_rec*, const char*, const char*);
-/* Exporte aussi ces fonctions à titre optionnel mour les modules qui
- * péfèreraient les utiliser */
+/* Exporte aussi ces fonctions à titre optionnel mour les modules qui
+ * péfèreraient les utiliser */
APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_open, (apr_pool_t*, server_rec*));
APR_DECLARE_OPTIONAL_FN(void, ap_dbd_close, (server_rec*, ap_dbd_t*));
APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_acquire, (request_rec*));
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="prepared" id="prepared">Requêtes SQL préparées</a><a title="Lien permanent" href="#prepared" class="permalink">¶</a></h2>
- <p><code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> supporte les requêtes SQL préparées pour
- le compte des modules qui pourraient les utiliser. Chaque requête
- préparée doit posséder un nom (étiquette), et est stockée dans un
- condensé (hash) : les condensés sont du type
- <code>apr_dbd_prepared_t</code> et s'utilisent dans toute requête
- SQL ou commande select préparée par apr_dbd.</p>
+<h2><a name="prepared" id="prepared">Requêtes SQL préparées</a><a title="Lien permanent" href="#prepared" class="permalink">¶</a></h2>
+ <p><code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> supporte les requêtes SQL préparées pour
+ le compte des modules qui pourraient les utiliser. Chaque requête
+ préparée doit posséder un nom (étiquette), et est stockée dans un
+ condensé (hash) : les condensés sont du type
+ <code>apr_dbd_prepared_t</code> et s'utilisent dans toute requête
+ SQL ou commande select préparée par apr_dbd.</p>
<p>Il est du ressort des modules utilisateurs de dbd d'utiliser les
- requêtes préparées et de préciser quelles requêtes doivent être
- spécifiées dans httpd.conf, ou de fournir leurs propres directives
+ requêtes préparées et de préciser quelles requêtes doivent être
+ spécifiées dans httpd.conf, ou de fournir leurs propres directives
et d'utiliser <code>ap_dbd_prepare</code>.</p>
<div class="warning"><h3>Avertissement</h3>
- Lorsqu'on utilise des requêtes préparées avec des bases de
- données MySQL, il est préférable de définir
- <code>reconnect</code> à 0 dans la chaîne de connexion, afin
- d'éviter des erreurs provoquées par un client MySQL qui se
- reconnecterait sans réinitialiser correctement les requêtes
- préparées. Si <code>reconnect</code> est défini à 1, toute
- connexion défectueuse sera sensée être réparée, mais comme
- mod_dbd n'en est pas informé, les requêtes préparées seront
- invalidées.
+ Lorsqu'on utilise des requêtes préparées avec des bases de
+ données MySQL, il est préférable de définir
+ <code>reconnect</code> à 0 dans la chaîne de connexion, afin
+ d'éviter des erreurs provoquées par un client MySQL qui se
+ reconnecterait sans réinitialiser correctement les requêtes
+ préparées. Si <code>reconnect</code> est défini à 1, toute
+ connexion défectueuse sera sensée être réparée, mais comme
+ mod_dbd n'en est pas informé, les requêtes préparées seront
+ invalidées.
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="security" id="security">AVERTISSEMENT DE SECURITE</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
- <p>Toute application web impliquant une base de données doit se
- protéger elle-même contre les attaques de type injection SQL. Dans
- la plupart des cas Apache DBD est sûr, car les applications
- utilisent des requêtes préparées, et les entrées non sûres ne seront
- utilisées qu'à titre de données. Bien entendu, si vous l'utilisez
- via un module tiers, vous devez être au fait des précautions à
+ <p>Toute application web impliquant une base de données doit se
+ protéger elle-même contre les attaques de type injection SQL. Dans
+ la plupart des cas Apache DBD est sûr, car les applications
+ utilisent des requêtes préparées, et les entrées non sûres ne seront
+ utilisées qu'à titre de données. Bien entendu, si vous l'utilisez
+ via un module tiers, vous devez être au fait des précautions à
prendre.</p>
<p>Cependant, le pilote <var>FreeTDS</var> est <strong>non
- sûr</strong> de par sa nature même. Comme la bibliothèque
- sous-jacente ne supporte pas les requêtes préparées, le pilote en
- effectue une émulation, et les entrées non sûres sont fusionnées
- avec la requête SQL.</p>
- <p>Il peut être sécurisé en <em>décontaminant</em> toutes les
- entrées : un processus inspiré de la recherche de contaminations de
- Perl (NdT : <code>taint checking</code>). Chaque entrée est comparée
- à une expression rationnelle, et
- seules les entrées qui correspondent sont utilisées, en accord avec
+ sûr</strong> de par sa nature même. Comme la bibliothèque
+ sous-jacente ne supporte pas les requêtes préparées, le pilote en
+ effectue une émulation, et les entrées non sûres sont fusionnées
+ avec la requête SQL.</p>
+ <p>Il peut être sécurisé en <em>décontaminant</em> toutes les
+ entrées : un processus inspiré de la recherche de contaminations de
+ Perl (NdT : <code>taint checking</code>). Chaque entrée est comparée
+ à une expression rationnelle, et
+ seules les entrées qui correspondent sont utilisées, en accord avec
le raccourci Perl :</p>
<div class="example"><pre><code> $untrusted =~ /([a-z]+)/;
$trusted = $1;</code></pre></div>
<p>Pour utiliser ceci, les expressions rationnelles de
- décontamination doivent être incluses dans les requêtes préparées.
- L'expression rationnelle doit se situer immédiatement après le
- caractère % dans la requête préparée, et doit être entourée
- d'accolades {}. Par exemple, si votre application attend une entrée
- alphanumérique, vous pouvez utiliser :</p>
+ décontamination doivent être incluses dans les requêtes préparées.
+ L'expression rationnelle doit se situer immédiatement après le
+ caractère % dans la requête préparée, et doit être entourée
+ d'accolades {}. Par exemple, si votre application attend une entrée
+ alphanumérique, vous pouvez utiliser :</p>
<div class="example"><p><code>
<code>"SELECT foo FROM bar WHERE input = %s"</code>
</code></p></div>
- <p>avec d'autres pilotes, et ne risquer au pire qu'une requête
- en échec. Mais avec FreeTDS, vous devez utiliser :</p>
+ <p>avec d'autres pilotes, et ne risquer au pire qu'une requête
+ en échec. Mais avec FreeTDS, vous devez utiliser :</p>
<div class="example"><p><code>
<code>"SELECT foo FROM bar WHERE input = %{([A-Za-z0-9]+)}s"</code>
</code></p></div>
- <p>tout ce qui ne correspond pas à l'expression rationnelle est
- alors rejeté, et la requête est ainsi désormais sûre.</p>
+ <p>tout ce qui ne correspond pas à l'expression rationnelle est
+ alors rejeté, et la requête est ainsi désormais sûre.</p>
<p>Alternativement, vous pouvez utiliser le pilote ODBC tiers, qui
- offre la sécurité des requêtes préparées authentiques.</p>
+ offre la sécurité des requêtes préparées authentiques.</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="dbdexptime" id="dbdexptime">Directive</a> <a name="DBDExptime" id="DBDExptime">DBDExptime</a><a title="Lien permanent" href="#dbdexptime" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de vie des connexions inactives</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDExptime <var>durée en secondes</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DBDExptime 300</code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de vie des connexions inactives</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDExptime <var>durée en secondes</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DBDExptime 300</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_dbd</td></tr>
</table>
- <p>Cette directive définit la durée de vie des connexions
- inactives lorsque le nombre de connexions spécifié par la directive
- DBDKeep a été dépassé (plates-formes threadées seulement).</p>
+ <p>Cette directive définit la durée de vie des connexions
+ inactives lorsque le nombre de connexions spécifié par la directive
+ DBDKeep a été dépassé (plates-formes threadées seulement).</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="dbdinitsql" id="dbdinitsql">Directive</a> <a name="DBDInitSQL" id="DBDInitSQL">DBDInitSQL</a><a title="Lien permanent" href="#dbdinitsql" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Exécute une instruction SQL après connexion à une base de
-données</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Exécute une instruction SQL après connexion à une base de
+données</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDInitSQL <var>"instruction SQL"</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_dbd</td></tr>
</table>
- <p>Les modules qui le souhaitent peuvent exécuter une ou plusieurs
- instructions SQL après connexion à une base de données. Par exemple
- initialiser certaines valeurs, ou ajouter une entrée dans le journal
- lors d'une nouvelle connexion à la base de données.</p>
+ <p>Les modules qui le souhaitent peuvent exécuter une ou plusieurs
+ instructions SQL après connexion à une base de données. Par exemple
+ initialiser certaines valeurs, ou ajouter une entrée dans le journal
+ lors d'une nouvelle connexion à la base de données.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de connexions maintenues</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDKeep <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DBDKeep 2</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DBDKeep 2</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_dbd</td></tr>
</table>
- <p>Cette directive définit le nombre maximum de connexions
- à maintenir par processus, en dehors de celles servant à gérer les
- pics de demandes (plates-formes threadées seulement).</p>
+ <p>Cette directive définit le nombre maximum de connexions
+ à maintenir par processus, en dehors de celles servant à gérer les
+ pics de demandes (plates-formes threadées seulement).</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de connexions</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDMax <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DBDMax 10</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DBDMax 10</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_dbd</td></tr>
</table>
- <p>Cette directive définit le nombre maximum effectif de
- connexions par processus (plates-formes threadées seulement).</p>
+ <p>Cette directive définit le nombre maximum effectif de
+ connexions par processus (plates-formes threadées seulement).</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre minimum de connexions</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDMin <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DBDMin 1</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DBDMin 1</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_dbd</td></tr>
</table>
- <p>Cette directive définit le nombre minimum de connexions
- par processus (plates-formes threadées seulement).</p>
+ <p>Cette directive définit le nombre minimum de connexions
+ par processus (plates-formes threadées seulement).</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="dbdparams" id="dbdparams">Directive</a> <a name="DBDParams" id="DBDParams">DBDParams</a><a title="Lien permanent" href="#dbdparams" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Paramètres de la connexion à la base de
-données</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Paramètres de la connexion à la base de
+données</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDParams
<var>param1</var>=<var>valeur1</var>[,<var>param2</var>=<var>valeur2</var>]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_dbd</td></tr>
</table>
- <p>Cette directive spécifie des paramètres selon les
- besoins du pilote concerné. En général, les paramètres à passer
- concernent tout ce qui n'a pas de valeur par défaut comme le nom
- d'utilisateur, le mot de passe, le nom de la base de données, le nom
- d'hôte et le numéro de port de la connexion.</p>
- <p>Les paramètres de la chaîne de connexion en fonction des
- différents pilotes comprennent :</p>
+ <p>Cette directive spécifie des paramètres selon les
+ besoins du pilote concerné. En général, les paramètres à passer
+ concernent tout ce qui n'a pas de valeur par défaut comme le nom
+ d'utilisateur, le mot de passe, le nom de la base de données, le nom
+ d'hôte et le numéro de port de la connexion.</p>
+ <p>Les paramètres de la chaîne de connexion en fonction des
+ différents pilotes comprennent :</p>
<dl>
<dt>FreeTDS (pour MSSQL et SyBase)</dt>
<dd>username, password, appname, dbname, host, charset, lang, server</dd>
<dt>Oracle</dt>
<dd>user, pass, dbname, server</dd>
<dt>PostgreSQL</dt>
- <dd>La chaîne de connexion est passée directement à <code>PQconnectdb</code></dd>
+ <dd>La chaîne de connexion est passée directement à <code>PQconnectdb</code></dd>
<dt>SQLite2</dt>
- <dd>La chaîne de connexion est scindée avec comme séparateur le
- caractère ':', et <code>partie1:partie2</code> est utilisé dans
+ <dd>La chaîne de connexion est scindée avec comme séparateur le
+ caractère ':', et <code>partie1:partie2</code> est utilisé dans
<code>sqlite_open(partie1, atoi(partie2), NULL)</code></dd>
<dt>SQLite3</dt>
- <dd>La chaîne de connexion est passée directement à <code>sqlite3_open</code></dd>
+ <dd>La chaîne de connexion est passée directement à <code>sqlite3_open</code></dd>
<dt>ODBC</dt>
<dd>datasource, user, password, connect, ctimeout, stimeout, access, txmode, bufsize</dd>
</dl>
<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_dbd</td></tr>
</table>
- <p>Si cette directive est définie à Off, les connexions persistentes
- et les connexions groupées sont désactivées. À la demande d'un
- client, une nouvelle connexion à la base de données est ouverte, et
- fermée immédiatement à l'issue du traitement. Cette configuration ne
- doit être utilisée qu'à des fins de débogage, ou sur des serveurs à
+ <p>Si cette directive est définie à Off, les connexions persistentes
+ et les connexions groupées sont désactivées. À la demande d'un
+ client, une nouvelle connexion à la base de données est ouverte, et
+ fermée immédiatement à l'issue du traitement. Cette configuration ne
+ doit être utilisée qu'à des fins de débogage, ou sur des serveurs à
charge faible.</p>
- <p>Par défaut, les groupes de connexions persistentes sont activés
+ <p>Par défaut, les groupes de connexions persistentes sont activés
(ou une seule connexion persistente du style LAMP pour les serveurs
- non threadés), et c'est la configuration qui devrait être utilisée
+ non threadés), et c'est la configuration qui devrait être utilisée
dans la plupart des cas sur un serveur en production.</p>
<p>Avant la version 2.2.2, cette directive n'acceptait que les
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="dbdpreparesql" id="dbdpreparesql">Directive</a> <a name="DBDPrepareSQL" id="DBDPrepareSQL">DBDPrepareSQL</a><a title="Lien permanent" href="#dbdpreparesql" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une requête SQL préparée</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDPrepareSQL <var>"requête SQL"</var> <var>étiquette</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une requête SQL préparée</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDPrepareSQL <var>"requête SQL"</var> <var>étiquette</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_dbd</td></tr>
</table>
<p>Pour les modules tels que les modules d'authentification, qui
- utilisent de manière répétée la même requête SQL, on peut optimiser
- les performances en préparant la requête une fois pour toutes au
- démarrage, plutôt qu'à chaque utilisation. Cette directive permet de
- préparer une requête SQL et de lui assigner une étiquette.</p>
+ utilisent de manière répétée la même requête SQL, on peut optimiser
+ les performances en préparant la requête une fois pour toutes au
+ démarrage, plutôt qu'à chaque utilisation. Cette directive permet de
+ préparer une requête SQL et de lui assigner une étiquette.</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="dbdriver" id="dbdriver">Directive</a> <a name="DBDriver" id="DBDriver">DBDriver</a><a title="Lien permanent" href="#dbdriver" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie un pilote SQL</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie un pilote SQL</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DBDriver <var>nom</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_dbd</td></tr>
</table>
- <p>Cette directive spécifie un pilote apr_dbd par son
- nom. Le pilote doit être installé sur votre système (sur la plupart
- des systèmes, il s'agit d'un objet partagé ou d'une dll). Par
- exemple, <code>DBDriver mysql</code> va sélectionner le pilote MySQL
- dans la bibliothèque apr_dbd_mysql.so.</p>
+ <p>Cette directive spécifie un pilote apr_dbd par son
+ nom. Le pilote doit être installé sur votre système (sur la plupart
+ des systèmes, il s'agit d'un objet partagé ou d'une dll). Par
+ exemple, <code>DBDriver mysql</code> va sélectionner le pilote MySQL
+ dans la bibliothèque apr_dbd_mysql.so.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_dbd.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_dbd.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_deflate</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_deflate.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_deflate.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_deflate.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_deflate.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Comprime le contenu avant de le servir au
client</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>deflate_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_deflate.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>deflate_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_deflate.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Le module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> implémente le filtre de
+ <p>Le module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> implémente le filtre de
sortie <code>DEFLATE</code> qui permet de comprimer la sortie de
- votre serveur avant de l'envoyer au client sur le réseau.</p>
+ votre serveur avant de l'envoyer au client sur le réseau.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#supportedencodings">Codages supportés</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#supportedencodings">Codages supportés</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#recommended">Exemples de configurations</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#enable">Activation de la compression</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxies">Prise en compte des serveurs mandataires</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#precompressed">Servir du contenu précompressé</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#precompressed">Servir du contenu précompressé</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#deflatealteretag">DeflateAlterETag</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#deflatememlevel">DeflateMemLevel</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#deflatewindowsize">DeflateWindowSize</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_deflate">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_deflate">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_deflate">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_deflate">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../filter.html">Les filtres</a></li>
<li><a href="#comments_section">Commentaires</a></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="supportedencodings" id="supportedencodings">Codages supportés</a><a title="Lien permanent" href="#supportedencodings" class="permalink">¶</a></h2>
- <p>Le seul codage supporté est <code>gzip</code> afin d'assurer une complète
- compatibilité avec les anciens navigateurs. Le codage <code>deflate</code>
- n'est donc pas supporté ; voir à ce sujet la <a href="http://www.gzip.org/zlib/zlib_faq.html#faq38">documentation de zlib</a>
- pour une explication détaillée.
+<h2><a name="supportedencodings" id="supportedencodings">Codages supportés</a><a title="Lien permanent" href="#supportedencodings" class="permalink">¶</a></h2>
+ <p>Le seul codage supporté est <code>gzip</code> afin d'assurer une complète
+ compatibilité avec les anciens navigateurs. Le codage <code>deflate</code>
+ n'est donc pas supporté ; voir à ce sujet la <a href="http://www.gzip.org/zlib/zlib_faq.html#faq38">documentation de zlib</a>
+ pour une explication détaillée.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="recommended" id="recommended">Exemples de configurations</a><a title="Lien permanent" href="#recommended" class="permalink">¶</a></h2>
<div class="warning"><h3>Compression et TLS</h3>
- <p>Certaines applications web sont vulnérables à une attaque pour
+ <p>Certaines applications web sont vulnérables à une attaque pour
vol d'informations lorsqu'une connexion TLS transporte des
- données compressées par deflate. Pour plus de détails,
+ données compressées par deflate. Pour plus de détails,
documentez-vous sur la famille d'attaques "BREACH".</p>
</div>
<p>Voici un exemple simple de configuration qui permet de comprimer
- les types de contenu à base de texte.</p>
+ les types de contenu à base de texte.</p>
<div class="example"><h3>Ne comprime que certains types de documents</h3><pre class="prettyprint lang-config">AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript</pre>
</div>
<div class="section">
<h2><a name="enable" id="enable">Activation de la compression</a><a title="Lien permanent" href="#enable" class="permalink">¶</a></h2>
<div class="warning"><h3>Compression et TLS</h3>
- <p>Certaines applications web sont vulnérables à une attaque pour
+ <p>Certaines applications web sont vulnérables à une attaque pour
vol d'informations lorsqu'une connexion TLS transporte des
- données compressées par deflate. Pour plus de détails,
+ données compressées par deflate. Pour plus de détails,
documentez-vous sur la famille d'attaques "BREACH".</p>
</div>
<h3><a name="output" id="output">Compression de la sortie</a></h3>
- <p>La compression est implémentée par le <a href="../filter.html">filtre</a> <code>DEFLATE</code>. La
+ <p>La compression est implémentée par le <a href="../filter.html">filtre</a> <code>DEFLATE</code>. La
directive suivante active la compression des documents dans le
- conteneur où elle est placée :</p>
+ conteneur où elle est placée :</p>
<pre class="prettyprint lang-config">SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip</pre>
- <p>Si vous voulez limiter la compression à certains types MIME
+ <p>Si vous voulez limiter la compression à certains types MIME
particuliers, vous pouvez utiliser la directive <code class="directive"><a href="../mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code>. Voici un exemple
- où la compression n'est activée que pour les fichiers html de la
+ où la compression n'est activée que pour les fichiers html de la
documentation d'Apache :</p>
<pre class="prettyprint lang-config"><Directory "/your-server-root/manual">
<div class="note"><h3>Note</h3>
- Le filtre <code>DEFLATE</code> est toujours inséré après les
+ Le filtre <code>DEFLATE</code> est toujours inséré après les
filtres RESOURCE comme PHP ou SSI. Il n'affecte jamais les
- sous-requêtes internes.
+ sous-requêtes internes.
</div>
<div class="note"><h3>Note</h3>
- La variable d'environnement <code>force-gzip</code>, définie à
+ La variable d'environnement <code>force-gzip</code>, définie à
l'aide de la directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>, permet d'ignorer la
- configuration de votre navigateur quant aux codages acceptés, et
- d'envoyer sans condition une sortie comprimée.
+ configuration de votre navigateur quant aux codages acceptés, et
+ d'envoyer sans condition une sortie comprimée.
</div>
- <h3><a name="inflate" id="inflate">Décompression de la sortie</a></h3>
+ <h3><a name="inflate" id="inflate">Décompression de la sortie</a></h3>
<p>Le module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> fournit aussi un filtre
- permettant de décomprimer un corps de réponse comprimé par gzip.
- Pour activer cette fonctionnalité, vous devez insérer le filtre
- <code>INFLATE</code> dans la chaîne de filtrage en sortie via la
+ permettant de décomprimer un corps de réponse comprimé par gzip.
+ Pour activer cette fonctionnalité, vous devez insérer le filtre
+ <code>INFLATE</code> dans la chaîne de filtrage en sortie via la
directive <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code> ou
<code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>, comme
dans l'exemple suivant :</p>
</Location></pre>
- <p>Dans cet exemple, les sorties comprimées par gzip en
- provenance de example.com seront décomprimées afin de pouvoir
- être éventuellement traitées par d'autres filtres.
+ <p>Dans cet exemple, les sorties comprimées par gzip en
+ provenance de example.com seront décomprimées afin de pouvoir
+ être éventuellement traitées par d'autres filtres.
</p>
- <h3><a name="input" id="input">Décompression de l'entrée</a></h3>
- <p>Le module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> fournit également un filtre
- permettant de décomprimer un corps de requête comprimé par gzip.
- Pour activer cette fonctionnalité, vous devez insérer le filtre
- <code>DEFLATE</code> dans la chaîne de filtrage en entrée via la
+ <h3><a name="input" id="input">Décompression de l'entrée</a></h3>
+ <p>Le module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> fournit également un filtre
+ permettant de décomprimer un corps de requête comprimé par gzip.
+ Pour activer cette fonctionnalité, vous devez insérer le filtre
+ <code>DEFLATE</code> dans la chaîne de filtrage en entrée via la
directive <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code> ou
<code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>, comme
dans l'exemple suivant :</p>
</Location></pre>
- <p>Désormais, si une requête contient un en-tête
+ <p>Désormais, si une requête contient un en-tête
<code>Content-Encoding: gzip</code>, son corps sera
- automatiquement décomprimé. Peu de navigateurs sont actuellement
- en mesure de comprimer les corps de requêtes. Cependant,
- certaines applications spécialisées supportent les requêtes
- comprimées, comme par exemple certains clients <a href="http://www.webdav.org">WebDAV</a>.</p>
+ automatiquement décomprimé. Peu de navigateurs sont actuellement
+ en mesure de comprimer les corps de requêtes. Cependant,
+ certaines applications spécialisées supportent les requêtes
+ comprimées, comme par exemple certains clients <a href="http://www.webdav.org">WebDAV</a>.</p>
- <div class="warning"><h3>Note à propos de l'en-tête
+ <div class="warning"><h3>Note à propos de l'en-tête
<code>Content-Length</code></h3>
- <p>Si vous évaluez vous-même la taille du corps de requête,
- <em>ne faites pas confiance à l'en-tête
- <code>Content-Length</code>!</em> L'en-tête
- Content-Length indique la longueur des données en provenance du
- client, et <em>non</em> la quantité d'octets que représente le
- flux de données décompressé.</p>
+ <p>Si vous évaluez vous-même la taille du corps de requête,
+ <em>ne faites pas confiance à l'en-tête
+ <code>Content-Length</code>!</em> L'en-tête
+ Content-Length indique la longueur des données en provenance du
+ client, et <em>non</em> la quantité d'octets que représente le
+ flux de données décompressé.</p>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="proxies" id="proxies">Prise en compte des serveurs mandataires</a><a title="Lien permanent" href="#proxies" class="permalink">¶</a></h2>
- <p>Le module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> envoie un en-tête de
- réponse HTTP <code>Vary: Accept-Encoding</code> pour avertir les
- mandataires qu'une réponse enregistrée dans le cache ne doit être
- envoyée qu'aux clients qui ont envoyé l'en-tête de requête
- <code>Accept-Encoding</code> approprié. Ceci permet d'éviter l'envoi
- d'un contenu comprimé à un client qui ne sera pas en mesure
- de l'interpréter.</p>
-
- <p>Si vous avez défini des exclusions spécifiques dépendant, par
- exemple, de l'en-tête <code>User-Agent</code>, vous devez
- ajouter manuellement des données à l'en-tête <code>Vary</code> afin
- d'informer les mandataires des restrictions supplémentaires. Par
- exemple, dans la configuration classique où l'addition du filtre
- <code>DEFLATE</code> dépend du contenu de l'en-tête
- <code>User-Agent</code>, vous devez spécifier :</p>
+ <p>Le module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> envoie un en-tête de
+ réponse HTTP <code>Vary: Accept-Encoding</code> pour avertir les
+ mandataires qu'une réponse enregistrée dans le cache ne doit être
+ envoyée qu'aux clients qui ont envoyé l'en-tête de requête
+ <code>Accept-Encoding</code> approprié. Ceci permet d'éviter l'envoi
+ d'un contenu comprimé à un client qui ne sera pas en mesure
+ de l'interpréter.</p>
+
+ <p>Si vous avez défini des exclusions spécifiques dépendant, par
+ exemple, de l'en-tête <code>User-Agent</code>, vous devez
+ ajouter manuellement des données à l'en-tête <code>Vary</code> afin
+ d'informer les mandataires des restrictions supplémentaires. Par
+ exemple, dans la configuration classique où l'addition du filtre
+ <code>DEFLATE</code> dépend du contenu de l'en-tête
+ <code>User-Agent</code>, vous devez spécifier :</p>
<pre class="prettyprint lang-config">Header append Vary User-Agent</pre>
- <p>Si votre décision de comprimer le contenu dépend d'autres
- informations que celles contenues dans les en-têtes de la requête
- (par exemple la version HTTP), vous devez attribuer à l'en-tête
- <code>Vary</code> la valeur <code>*</code>, ce qui permet d'empêcher
+ <p>Si votre décision de comprimer le contenu dépend d'autres
+ informations que celles contenues dans les en-têtes de la requête
+ (par exemple la version HTTP), vous devez attribuer à l'en-tête
+ <code>Vary</code> la valeur <code>*</code>, ce qui permet d'empêcher
les mandataires compatibles de tout mettre en cache.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">Header set Vary *</pre>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="precompressed" id="precompressed">Servir du contenu précompressé</a><a title="Lien permanent" href="#precompressed" class="permalink">¶</a></h2>
+<h2><a name="precompressed" id="precompressed">Servir du contenu précompressé</a><a title="Lien permanent" href="#precompressed" class="permalink">¶</a></h2>
- <p>Comme <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> recompresse le contenu demandé à
- chaque requête, il est possible de gagner en performances en
- précompressant ce contenu, et en forçant mod_deflate à servir ce
- contenu précompressé sans avoir à le recompresser à chaque requête.
+ <p>Comme <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> recompresse le contenu demandé à
+ chaque requête, il est possible de gagner en performances en
+ précompressant ce contenu, et en forçant mod_deflate à servir ce
+ contenu précompressé sans avoir à le recompresser à chaque requête.
Pour ce faire, utilisez une configuration du style :</p>
<pre class="prettyprint lang-config"><IfModule mod_headers.c>
- # Servir des fichiers JS et CSS compressés avec gzip, s'ils existent, et
+ # Servir des fichiers JS et CSS compressés avec gzip, s'ils existent, et
# si le client accepte gzip.
RewriteCond "%{HTTP:Accept-encoding}" "gzip"
RewriteCond "%{REQUEST_FILENAME}\.gz" "-s"
RewriteRule "^(.*)\.(css|js)" "$1\.$2\.gz" [QSA]
- # Servir des types de contenus corrects, et empêcher mod_deflate
+ # Servir des types de contenus corrects, et empêcher mod_deflate
# d'effectuer un double gzip.
RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-gzip:1]
RewriteRule "\.js\.gz$" "-" [T=text/javascript,E=no-gzip:1]
# Servir le type de codage correct.
Header append Content-Encoding gzip
- # Force les mandataires à mettre en cache séparément les fichiers
- # css/js gzippés & non gzippés.
+ # Force les mandataires à mettre en cache séparément les fichiers
+ # css/js gzippés & non gzippés.
Header append Vary Accept-Encoding
</FilesMatch>
</IfModule></pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="deflatealteretag" id="deflatealteretag">Directive</a> <a name="DeflateAlterETag" id="DeflateAlterETag">DeflateAlterETag</a><a title="Lien permanent" href="#deflatealteretag" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Comment l'en-tête sortant ETag doit être modifié au cours
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Comment l'en-tête sortant ETag doit être modifié au cours
de la compression</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DeflateAlterETag AddSuffix|NoChange|Remove</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DeflateAlterETag AddSuffix</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DeflateAlterETag AddSuffix</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_deflate</td></tr>
</table>
<p>La directive <code class="directive">DeflateAlterETag</code> permet de
- spécifier comment l'en-tête ETag doit être modifié lorsqu'une
- réponse est compressée.</p>
+ spécifier comment l'en-tête ETag doit être modifié lorsqu'une
+ réponse est compressée.</p>
<dl>
<dt>AddSuffix</dt>
- <dd><p>Ajoute la méthode de compression à la fin de l'en-tête, ce
- qui a pour effet d'attribuer un en-tête ETag unique aux
- représentations compressées et non compressées. C'est l'option par
- défaut depuis la version 2.4.0, mais empêche de servir des
- codes d'état "HTTP Not Modified" (304) en réponse aux requêtes pour un
- contenu compressé.</p></dd>
+ <dd><p>Ajoute la méthode de compression à la fin de l'en-tête, ce
+ qui a pour effet d'attribuer un en-tête ETag unique aux
+ représentations compressées et non compressées. C'est l'option par
+ défaut depuis la version 2.4.0, mais empêche de servir des
+ codes d'état "HTTP Not Modified" (304) en réponse aux requêtes pour un
+ contenu compressé.</p></dd>
<dt>NoChange</dt>
- <dd><p>Ne modifie pas l'en-tête ETag dans une réponse compressée.
- C'était l'option par
- défaut avant la version 2.4.0, mais cela ne respectait pas la
- préconisation HTTP/1.1 selon laquelle chaque représentation de la
- même ressource doit posséder un en-tête ETag unique.</p></dd>
+ <dd><p>Ne modifie pas l'en-tête ETag dans une réponse compressée.
+ C'était l'option par
+ défaut avant la version 2.4.0, mais cela ne respectait pas la
+ préconisation HTTP/1.1 selon laquelle chaque représentation de la
+ même ressource doit posséder un en-tête ETag unique.</p></dd>
<dt>Remove</dt>
- <dd><p>Supprime l'en-tête ETag dans les réponses compressées, ce qui
- a pour effet de rendre impossibles certaines requêtes
- conditionnelles, mais permet d'éviter les inconvénients des options
- précédentes.</p></dd>
+ <dd><p>Supprime l'en-tête ETag dans les réponses compressées, ce qui
+ a pour effet de rendre impossibles certaines requêtes
+ conditionnelles, mais permet d'éviter les inconvénients des options
+ précédentes.</p></dd>
</dl>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du fragment que zlib devra comprimer en une seule
fois</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DeflateBufferSize <var>valeur</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DeflateBufferSize 8096</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DeflateBufferSize 8096</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_deflate</td></tr>
</table>
<p>La directive <code class="directive">DeflateBufferSize</code> permet de
- spécifier la taille en octets du fragment que zlib devra comprimer
- en une seule fois. Si la taille de la réponse compressée est supérieure à
- celle spécifiée par cette directive, httpd passera à un mode d'encodage
- fragmenté (l'en-tête HTTP <code>Transfer-Encoding</code> prend la valeur
- <code>Chunked</code>), ceci ayant comme effet de bord de ne définir aucun
- en-tête HTTP <code>Content-Length</code>. Il est important de connaître ce
- comportement, particulièrement lorsque httpd travaille derrière des
- mandataires inverses avec mise en cache, ou lorsque httpd est configuré pour
+ spécifier la taille en octets du fragment que zlib devra comprimer
+ en une seule fois. Si la taille de la réponse compressée est supérieure à
+ celle spécifiée par cette directive, httpd passera à un mode d'encodage
+ fragmenté (l'en-tête HTTP <code>Transfer-Encoding</code> prend la valeur
+ <code>Chunked</code>), ceci ayant comme effet de bord de ne définir aucun
+ en-tête HTTP <code>Content-Length</code>. Il est important de connaître ce
+ comportement, particulièrement lorsque httpd travaille derrière des
+ mandataires inverses avec mise en cache, ou lorsque httpd est configuré pour
utiliser <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> et <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code> car
- les réponses HTTP sans en-tête <code>Content-Length</code> peuvent ne pas
- être mises en cache.</p>
+ les réponses HTTP sans en-tête <code>Content-Length</code> peuvent ne pas
+ être mises en cache.</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="deflatecompressionlevel" id="deflatecompressionlevel">Directive</a> <a name="DeflateCompressionLevel" id="DeflateCompressionLevel">DeflateCompressionLevel</a><a title="Lien permanent" href="#deflatecompressionlevel" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le niveau de compression que nous appliquons à la
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le niveau de compression que nous appliquons à la
sortie</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DeflateCompressionLevel <var>valeur</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>La valeur par défaut de zlib</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>La valeur par défaut de zlib</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_deflate</td></tr>
</table>
<p>La directive <code class="directive">DeflateCompressionLevel</code>
- permet de spécifier le niveau de compression à utiliser ; plus
+ permet de spécifier le niveau de compression à utiliser ; plus
grande est la valeur, meilleure sera la compression, mais plus grand
- sera aussi le temps CPU nécessaire pour effectuer le
+ sera aussi le temps CPU nécessaire pour effectuer le
traitement.</p>
- <p>La valeur doit être comprise entre 1 (compression minimale) et 9
+ <p>La valeur doit être comprise entre 1 (compression minimale) et 9
(compression maximale).</p>
</div>
<div class="directive-section"><h2><a name="deflatefilternote" id="deflatefilternote">Directive</a> <a name="DeflateFilterNote" id="DeflateFilterNote">DeflateFilterNote</a><a title="Lien permanent" href="#deflatefilternote" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre le taux de compression sous la forme d'une note
-à des fins de journalisation</td></tr>
+à des fins de journalisation</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DeflateFilterNote [<var>type</var>] <var>nom de la note</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_deflate</td></tr>
</table>
<p>La directive <code class="directive">DeflateFilterNote</code> permet de
- spécifier qu'une note à propos du taux de compression doit être
- attachée à la requête. Le nom de la note est passé sous la forme
- d'un argument de la directive. Vous pouvez utiliser cette note à des
- fins statistiques en enregistrant sa valeur dans votre <a href="../logs.html#accesslog">journal des accès</a>.</p>
+ spécifier qu'une note à propos du taux de compression doit être
+ attachée à la requête. Le nom de la note est passé sous la forme
+ d'un argument de la directive. Vous pouvez utiliser cette note à des
+ fins statistiques en enregistrant sa valeur dans votre <a href="../logs.html#accesslog">journal des accès</a>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"> DeflateFilterNote ratio
CustomLog "logs/deflate_log" deflate</pre>
</div>
- <p>Pour extraire des informations plus précises de vos journaux,
- vous pouvez utiliser l'argument <var>type</var> pour spécifier le
- type de données de la note enregistrée dans le journal.
+ <p>Pour extraire des informations plus précises de vos journaux,
+ vous pouvez utiliser l'argument <var>type</var> pour spécifier le
+ type de données de la note enregistrée dans le journal.
<var>type</var> peut prendre une des valeurs suivantes :</p>
<dl>
<dt><code>Input</code></dt>
- <dd>Enregistre dans la note la taille en octets du flux en entrée
+ <dd>Enregistre dans la note la taille en octets du flux en entrée
du filtre.</dd>
<dt><code>Output</code></dt>
du filtre.</dd>
<dt><code>Ratio</code></dt>
- <dd>Enregistre le taux de compression (<code>sortie/entrée *
- 100</code>) dans la note. Il s'agit de la valeur par défaut si
+ <dd>Enregistre le taux de compression (<code>sortie/entrée *
+ 100</code>) dans la note. Il s'agit de la valeur par défaut si
l'argument <var>type</var> est omis.</dd>
</dl>
- <p>Vous pouvez donc configurer votre journalisation de la manière
+ <p>Vous pouvez donc configurer votre journalisation de la manière
suivante :</p>
- <div class="example"><h3>Journalisation détaillée</h3><pre class="prettyprint lang-config">DeflateFilterNote Input instream
+ <div class="example"><h3>Journalisation détaillée</h3><pre class="prettyprint lang-config">DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="deflateinflatelimitrequestbody" id="deflateinflatelimitrequestbody">Directive</a> <a name="DeflateInflateLimitRequestBody" id="DeflateInflateLimitRequestBody">DeflateInflateLimitRequestBody</a><a title="Lien permanent" href="#deflateinflatelimitrequestbody" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale des corps de requête décompressés</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale des corps de requête décompressés</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DeflateInflateLimitRequestBody<var>value</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Aucune limite, mais LimitRequestBody s'applique après la
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Aucune limite, mais LimitRequestBody s'applique après la
compression</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</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_deflate</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP
Apache</td></tr>
</table>
<p>La directive
<code class="directive">DeflateInflateLimitRequestBody</code> permet de
- spécifier la taille maximale d'un corps de requête décompressé. Si
- elle n'est pas définie, c'est la valeur de la directive <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code> qui s'applique au corps
- de requête décompressé.</p>
+ spécifier la taille maximale d'un corps de requête décompressé. Si
+ elle n'est pas définie, c'est la valeur de la directive <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code> qui s'applique au corps
+ de requête décompressé.</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="deflateinflateratioburst" id="deflateinflateratioburst">Directive</a> <a name="DeflateInflateRatioBurst" id="DeflateInflateRatioBurst">DeflateInflateRatioBurst</a><a title="Lien permanent" href="#deflateinflateratioburst" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximal de fois que le ratio de décompression d'un
-corps de requête peut être dépassé</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximal de fois que le ratio de décompression d'un
+corps de requête peut être dépassé</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DeflateInflateRatioBurst <var>value</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>3</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#Default">Défaut:</a></th><td><code>3</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">AllowOverride:</a></th><td>All</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_deflate</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP
Apache</td></tr>
</table>
<p>La directive <code class="directive">DeflateInflateRatioBurst</code>
- permet de spécifier le nombre maximal de fois que la valeur de la
- directive <code class="directive">DeflateInflateRatioLimit</code> peut être
- dépassé avant l'arrêt du traitement de la requête.</p>
+ permet de spécifier le nombre maximal de fois que la valeur de la
+ directive <code class="directive">DeflateInflateRatioLimit</code> peut être
+ dépassé avant l'arrêt du traitement de la requête.</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="deflateinflateratiolimit" id="deflateinflateratiolimit">Directive</a> <a name="DeflateInflateRatioLimit" id="DeflateInflateRatioLimit">DeflateInflateRatioLimit</a><a title="Lien permanent" href="#deflateinflateratiolimit" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ratio de décompression maximum pour les corps de requêtes</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ratio de décompression maximum pour les corps de requêtes</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DeflateInflateRatioLimit <var>value</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>200</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#Default">Défaut:</a></th><td><code>200</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">AllowOverride:</a></th><td>All</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_deflate</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP
Apache</td></tr>
</table>
<p>La directive <code class="directive">DeflateInflateRatioLimit</code>
- permet de définir le ratio maximum entre la taille d'un corps de
- requête compressé et sa taille décompressée. Ce ratio est vérifié au
- fur et à mesure de
- l'arrivée du corps de requête, et s'il est dépassé plus de
+ permet de définir le ratio maximum entre la taille d'un corps de
+ requête compressé et sa taille décompressée. Ce ratio est vérifié au
+ fur et à mesure de
+ l'arrivée du corps de requête, et s'il est dépassé plus de
<code class="directive">DeflateInflateRatioBurst</code> fois, le traitement
- de la requête est interrompu.</p>
+ de la requête est interrompu.</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="deflatememlevel" id="deflatememlevel">Directive</a> <a name="DeflateMemLevel" id="DeflateMemLevel">DeflateMemLevel</a><a title="Lien permanent" href="#deflatememlevel" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La quantité de mémoire utilisable par zlib pour la
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La quantité de mémoire utilisable par zlib pour la
compression</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DeflateMemLevel <var>valeur</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DeflateMemLevel 9</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DeflateMemLevel 9</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_deflate</td></tr>
</table>
<p>La directive <code class="directive">DeflateMemLevel</code> permet de
- spécifier la quantité de mémoire utilisable par zlib pour la
+ spécifier la quantité de mémoire utilisable par zlib pour la
compression (une valeur comprise entre 1 et 9).</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="deflatewindowsize" id="deflatewindowsize">Directive</a> <a name="DeflateWindowSize" id="DeflateWindowSize">DeflateWindowSize</a><a title="Lien permanent" href="#deflatewindowsize" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille de la fenêtre de compression zlib</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille de la fenêtre de compression zlib</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DeflateWindowSize <var>valeur</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DeflateWindowSize 15</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DeflateWindowSize 15</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_deflate</td></tr>
</table>
<p>La directive <code class="directive">DeflateWindowSize</code> permet de
- spécifier la fenêtre de compression zlib (une valeur comprise entre
- 1 et 15). En général, plus grande sera la taille de la fenêtre, plus
+ spécifier la fenêtre de compression zlib (une valeur comprise entre
+ 1 et 15). En général, plus grande sera la taille de la fenêtre, plus
grand sera le taux de compression auquel on pourra s'attendre.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_deflate.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_deflate.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_deflate.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_deflate.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_deflate.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_dialup</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dialup.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_dialup.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_dialup.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Envoie le contenu statique avec une bande passante limitée
-définie par les différents standards des anciens modems.</td></tr>
-<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dialup_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dialup.c</td></tr></table>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Envoie le contenu statique avec une bande passante limitée
+définie par les différents standards des anciens modems.</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dialup_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dialup.c</td></tr></table>
<h3>Sommaire</h3>
<p>Il s'agit d'un module qui envoie le contenu statique avec une bande
-passante limitée définie par les différents standards des anciens
+passante limitée définie par les différents standards des anciens
modems. Ainsi, il est possible de naviguer sur votre site avec un modem
56k V.92 en positionnant une configuration de ce type :</p>
<p>Auparavant, pour faire des modules de limitation de bande passante,
-il fallait monopoliser un thread, pour chaque client, et insérer des
-temporisations pour diminuer la bande passante. Grâce à cette nouvelle
-fonctionnalité, un gestionnaire peut recevoir les réponses à ses
-callbacks après N millisecondes, et il sera invoqué par le module MPM
-Event dans un thread différent à la fin du délai indiqué. À partir de ce
-moment, le gestionnaire peut continuer à envoyer des données au
+il fallait monopoliser un thread, pour chaque client, et insérer des
+temporisations pour diminuer la bande passante. Grâce à cette nouvelle
+fonctionnalité, un gestionnaire peut recevoir les réponses à ses
+callbacks après N millisecondes, et il sera invoqué par le module MPM
+Event dans un thread différent à la fin du délai indiqué. À partir de ce
+moment, le gestionnaire peut continuer à envoyer des données au
client.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#modemstandard">ModemStandard</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dialup">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dialup">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dialup">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dialup">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</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="modemstandard" id="modemstandard">Directive</a> <a name="ModemStandard" id="ModemStandard">ModemStandard</a><a title="Lien permanent" href="#modemstandard" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Standard de modem à simuler</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Standard de modem à simuler</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ModemStandard V.21|V.26bis|V.32|V.34|V.92</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dialup</td></tr>
</table>
-<p>Cette directive permet de spécifier le standard de modem que vous
+<p>Cette directive permet de spécifier le standard de modem que vous
souhaitez simuler.</p>
<pre class="prettyprint lang-config"><Location "/mysite">
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dialup.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_dialup.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_dialup.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_dir</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_dir.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_dir.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet la redirection des adresses se terminant par un
-répertoire sans slash de fin et la mise à disposition des fichiers index
-de répertoire</td></tr>
+répertoire sans slash de fin et la mise à disposition des fichiers index
+de répertoire</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>dir_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dir.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dir_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dir.c</td></tr></table>
<h3>Sommaire</h3>
- <p>L'index d'un répertoire peut provenir de deux sources :</p>
+ <p>L'index d'un répertoire peut provenir de deux sources :</p>
<ul>
- <li>Un fichier écrit par l'utilisateur, dont le nom, en général
- appelé <code>index.html</code>, peut être défini à l'aide de la
+ <li>Un fichier écrit par l'utilisateur, dont le nom, en général
+ appelé <code>index.html</code>, peut être défini à l'aide de la
directive <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code>
fournie par le module <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>.</li>
- <li>Un listing généré par le serveur, par l'intermédiaire du
+ <li>Un listing généré par le serveur, par l'intermédiaire du
module <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>.</li>
</ul>
<p>Les deux fonctions sont bien distinctes, si bien que vous pouvez
- supprimer (ou remplacer) la génération automatique d'index, si vous
+ supprimer (ou remplacer) la génération automatique d'index, si vous
le souhaitez.</p>
- <p>Une redirection "slash de fin" est effectuée lorsque le serveur
- reçoit une requête pour une URL du style
- <code>http://nom-serveur/foo/nom-rep</code> où <code>nom-rep</code>
- est le nom d'un répertoire. Comme les répertoires nécessitent un slash de
+ <p>Une redirection "slash de fin" est effectuée lorsque le serveur
+ reçoit une requête pour une URL du style
+ <code>http://nom-serveur/foo/nom-rep</code> où <code>nom-rep</code>
+ est le nom d'un répertoire. Comme les répertoires nécessitent un slash de
fin, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> effectue une redirection vers
<code>http://nom-serveur/foo/nom-rep/</code>.</p>
</div>
<li><img alt="" src="../images/down.gif" /> <a href="#directoryslash">DirectorySlash</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#fallbackresource">FallbackResource</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dir">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dir">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dir">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dir">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</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="directorycheckhandler" id="directorycheckhandler">Directive</a> <a name="DirectoryCheckHandler" id="DirectoryCheckHandler">DirectoryCheckHandler</a><a title="Lien permanent" href="#directorycheckhandler" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la réponse de ce module lorsqu'un autre
-gestionnaire est utilisé</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la réponse de ce module lorsqu'un autre
+gestionnaire est utilisé</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DirectoryCheckHandler On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DirectoryCheckHandler Off</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#Default">Défaut:</a></th><td><code>DirectoryCheckHandler Off</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">AllowOverride:</a></th><td>Indexes</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_dir</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.8 du serveur HTTP
-Apache. Les versions antérieures à 2.4 se comportaient implicitement
-comme si "DirectoryCheckHandler ON" avait été spécifié.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.8 du serveur HTTP
+Apache. Les versions antérieures à 2.4 se comportaient implicitement
+comme si "DirectoryCheckHandler ON" avait été spécifié.</td></tr>
</table>
<p>La directive <code class="directive">DirectoryCheckHandler</code> permet
de faire en sorte que <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> recherche un index
- de répertoire ou ajoute des slashes de fin lorsqu'un autre
- gestionnaire à été défini pour l'URL considérée. Les gestionnaires
- peuvent être définis à l'exécution via des directives telles que
+ de répertoire ou ajoute des slashes de fin lorsqu'un autre
+ gestionnaire à été défini pour l'URL considérée. Les gestionnaires
+ peuvent être définis à l'exécution via des directives telles que
<code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> ou par d'autres
modules.</p>
- <p>Dans les versions antérieures à 2.4, ce module ne modifiait pas
- son comportement si un autre gestionnaire avait été défini pour
- l'URL considérée. Ceci permettait de servir des index de répertoires
- même si une directive <code class="directive">SetHandler</code> avait été
- définie pour un répertoire entier, mais pouvait aussi être à
+ <p>Dans les versions antérieures à 2.4, ce module ne modifiait pas
+ son comportement si un autre gestionnaire avait été défini pour
+ l'URL considérée. Ceci permettait de servir des index de répertoires
+ même si une directive <code class="directive">SetHandler</code> avait été
+ définie pour un répertoire entier, mais pouvait aussi être à
l'origine de conflits avec d'autres modules.</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="directoryindex" id="directoryindex">Directive</a> <a name="DirectoryIndex" id="DirectoryIndex">DirectoryIndex</a><a title="Lien permanent" href="#directoryindex" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liste des fichiers ressources à rechercher lorsque le
-client envoie une requête pour un répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liste des fichiers ressources à rechercher lorsque le
+client envoie une requête pour un répertoire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DirectoryIndex
disabled | <var>url locale</var> [<var>url locale</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DirectoryIndex index.html</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#Default">Défaut:</a></th><td><code>DirectoryIndex index.html</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">AllowOverride:</a></th><td>Indexes</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_dir</td></tr>
</table>
<p>La directive <code class="directive">DirectoryIndex</code> permet de
- définir une liste de fichiers ressources à rechercher lorsqu'un
- client envoie une requête pour l'index d'un répertoire, en ajoutant
- un '/' à la fin du nom de ce dernier. <var>url locale</var> est
- l'URL (codée avec caractères '%') d'un document du serveur, relative
- au répertoire faisant l'objet de la requête ; il s'agit en général
- du nom d'un fichier situé dans le répertoire. Si plusieurs URLs sont
- fournies, le serveur renverra la première d'entre elles qui
- correspond à une ressource existante. Si aucune ressource ne
- correspond à la liste des URLs spécifiées, et si l'option
- <code>Indexes</code> est définie, le serveur générera son propre
- listing du répertoire.</p>
+ définir une liste de fichiers ressources à rechercher lorsqu'un
+ client envoie une requête pour l'index d'un répertoire, en ajoutant
+ un '/' à la fin du nom de ce dernier. <var>url locale</var> est
+ l'URL (codée avec caractères '%') d'un document du serveur, relative
+ au répertoire faisant l'objet de la requête ; il s'agit en général
+ du nom d'un fichier situé dans le répertoire. Si plusieurs URLs sont
+ fournies, le serveur renverra la première d'entre elles qui
+ correspond à une ressource existante. Si aucune ressource ne
+ correspond à la liste des URLs spécifiées, et si l'option
+ <code>Indexes</code> est définie, le serveur générera son propre
+ listing du répertoire.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">DirectoryIndex index.html</pre>
</div>
- <p>Avec cette configuration, une requête pour l'URL
+ <p>Avec cette configuration, une requête pour l'URL
<code>http://example.com/docs/</code> renverrait au client la
ressource <code>http://example.com/docs/index.html</code> si elle
- existe, ou provoquerait la génération du listing du répertoire si la
+ existe, ou provoquerait la génération du listing du répertoire si la
ressource n'existe pas.</p>
- <p>Notez qu'il n'est pas nécessaire que les documents soient
- relatifs au répertoire ;</p>
+ <p>Notez qu'il n'est pas nécessaire que les documents soient
+ relatifs au répertoire ;</p>
<pre class="prettyprint lang-config">DirectoryIndex index.html index.txt /cgi-bin/index.pl</pre>
- <p>provoquerait l'exécution du script CGI
+ <p>provoquerait l'exécution du script CGI
<code>/cgi-bin/index.pl</code> si aucun des fichiers
<code>index.html</code> ou <code>index.txt</code> n'existe dans le
- répertoire considéré.</p>
+ répertoire considéré.</p>
- <p>La spécification du seul argument "disabled" empêche
+ <p>La spécification du seul argument "disabled" empêche
<code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> de rechercher un index. Un argument
- "disabled" sera interprété de manière littérale si d'autres
- arguments sont présents avant ou après lui, même s'ils sont
- eux-mêmes des arguments "disabled".</p>
-
- <p><strong>Note :</strong>La définition de plusieurs directives
- <code class="directive">DirectoryIndex</code> au sein d'un <a href="../sections.html"><em>même
- contexte</em></a> permet d'ajouter des ressources à rechercher plutôt
- que de remplacer celle déjà définies :
+ "disabled" sera interprété de manière littérale si d'autres
+ arguments sont présents avant ou après lui, même s'ils sont
+ eux-mêmes des arguments "disabled".</p>
+
+ <p><strong>Note :</strong>La définition de plusieurs directives
+ <code class="directive">DirectoryIndex</code> au sein d'un <a href="../sections.html"><em>même
+ contexte</em></a> permet d'ajouter des ressources à rechercher plutôt
+ que de remplacer celle déjà définies :
</p>
- <pre class="prettyprint lang-config"># Exemple A: définit index.html comme page d'index, ainsi qu'index.php.
+ <pre class="prettyprint lang-config"># Exemple A: définit index.html comme page d'index, ainsi qu'index.php.
<Directory "/foo">
DirectoryIndex index.html
DirectoryIndex index.php
</Directory>
-# Exemple B: identique à l'exemple A, mais avec une seule directive.
+# Exemple B: identique à l'exemple A, mais avec une seule directive.
<Directory "/foo">
DirectoryIndex index.html index.php
</Directory>
# Exemple C: pour remplacer la liste des pages d'index par une autre,
-# vous devez tout d'abord supprimer la première liste : dans l'exemple
+# vous devez tout d'abord supprimer la première liste : dans l'exemple
# suivant, il ne restera qu'index.php comme page d'index.
<Directory "/foo">
DirectoryIndex index.html
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="directoryindexredirect" id="directoryindexredirect">Directive</a> <a name="DirectoryIndexRedirect" id="DirectoryIndexRedirect">DirectoryIndexRedirect</a><a title="Lien permanent" href="#directoryindexredirect" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une redirection externe pour les index de
-répertoires.
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une redirection externe pour les index de
+répertoires.
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DirectoryIndexRedirect on | off | permanent | temp | seeother |
<var>3xx-code</var>
</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DirectoryIndexRedirect off</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#Default">Défaut:</a></th><td><code>DirectoryIndexRedirect off</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">AllowOverride:</a></th><td>Indexes</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_dir</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.14</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.14</td></tr>
</table>
- <p>Par défaut, c'est la page définie par la directive
- <code class="directive">DirectoryIndex</code> qui est sélectionnée et
- renvoyée de manière transparente au client. La directive
+ <p>Par défaut, c'est la page définie par la directive
+ <code class="directive">DirectoryIndex</code> qui est sélectionnée et
+ renvoyée de manière transparente au client. La directive
<code class="directive">DirectoryIndexRedirect</code> permet de rediriger le
client via une redirection de type 3xx.</p>
- <p>Les arguments acceptés sont :</p>
+ <p>Les arguments acceptés sont :</p>
<ul>
<li><code>on</code> : envoie une redirection 302 vers l'index choisi.</li>
<li><code>off</code> : n'envoie aucune redirection. Il s'agit du comportement historique de mod_dir.</li>
<li><code>permanent</code> : envoie une redirection 301 (permanent) vers l'index choisi.</li>
- <li><code>temp</code> : ceci est équivalent à <code>on</code></li>
- <li><code>seeother</code> : envoie une redirection 303 (également appelée "See Other") vers l'index choisi.</li>
- <li><var>3xx-code</var> : envoie une redirection accompagnée du code 3xx choisi.</li>
+ <li><code>temp</code> : ceci est équivalent à <code>on</code></li>
+ <li><code>seeother</code> : envoie une redirection 303 (également appelée "See Other") vers l'index choisi.</li>
+ <li><var>3xx-code</var> : envoie une redirection accompagnée du code 3xx choisi.</li>
</ul>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">DirectoryIndexRedirect on</pre>
</div>
- <p>Une requête pour <code>http://example.com/docs/</code> se
+ <p>Une requête pour <code>http://example.com/docs/</code> se
solderait par une redirection temporaire vers
<code>http://example.com/docs/index.html</code> si cette ressource
existe.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="directoryslash" id="directoryslash">Directive</a> <a name="DirectorySlash" id="DirectorySlash">DirectorySlash</a><a title="Lien permanent" href="#directoryslash" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activation/Désactivation de la redirection "slash de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activation/Désactivation de la redirection "slash de
fin"</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DirectorySlash On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DirectorySlash On</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#Default">Défaut:</a></th><td><code>DirectorySlash On</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">AllowOverride:</a></th><td>Indexes</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_dir</td></tr>
</table>
<p>La directive <code class="directive">DirectorySlash</code> permet de
- déterminer si <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> doit corriger ou non les URLs
- pointant vers un répertoire.</p>
+ déterminer si <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> doit corriger ou non les URLs
+ pointant vers un répertoire.</p>
- <p>En général, si un utilisateur envoie une requête pour une
- ressource sans slash de fin, cette ressource représentant un
- répertoire, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> le redirige vers la même
+ <p>En général, si un utilisateur envoie une requête pour une
+ ressource sans slash de fin, cette ressource représentant un
+ répertoire, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> le redirige vers la même
ressource, mais <em>en ajoutant</em> un slash de fin, et ceci pour
plusieurs bonnes raisons :</p>
<ul>
- <li>La requête de l'utilisateur contiendra finalement l'URL
+ <li>La requête de l'utilisateur contiendra finalement l'URL
canonique de la ressource</li>
<li><code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> fonctionnera correctement. Comme
il n'indique pas le chemin dans le lien, le chemin de l'URL serait
incorrect.</li>
- <li>La directive <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> n'est évaluée
- <em>que</em> pour les répertoires se terminant par un slash.</li>
- <li>Les références à des URLs relatives dans les pages html
+ <li>La directive <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> n'est évaluée
+ <em>que</em> pour les répertoires se terminant par un slash.</li>
+ <li>Les références à des URLs relatives dans les pages html
fonctionneront alors correctement.</li>
</ul>
<p>Si vous ne souhaitez pas voir ces effets, <em>et</em> si
- les raisons évoquées ci-dessus ne s'appliquent pas à vous, vous
- pouvez désactiver la redirection comme indiqué ci-dessous.
- Gardez cependant à l'esprit que ceci peut avoir des répercutions en
- matière de sécurité.</p>
+ les raisons évoquées ci-dessus ne s'appliquent pas à vous, vous
+ pouvez désactiver la redirection comme indiqué ci-dessous.
+ Gardez cependant à l'esprit que ceci peut avoir des répercutions en
+ matière de sécurité.</p>
- <pre class="prettyprint lang-config"># voir l'avertissement de sécurité ci-dessous !
+ <pre class="prettyprint lang-config"># voir l'avertissement de sécurité ci-dessous !
<Location "/some/path">
DirectorySlash Off
SetHandler some-handler
</Location></pre>
- <div class="warning"><h3>Avertissement de sécurité</h3>
- <p>La désactivation de la redirection "slash de fin" peut entraîner
- la divulgation d'informations. Considérons la situation où
+ <div class="warning"><h3>Avertissement de sécurité</h3>
+ <p>La désactivation de la redirection "slash de fin" peut entraîner
+ la divulgation d'informations. Considérons la situation où
<code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> est actif (<code>Options
- +Indexes</code>), où la directive <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> a pour valeur une ressource valide (par
- exemple <code>index.html</code>), et où aucun gestionnaire
- particulier n'a été défini pour cette URL. Dans ce cas, une requête
+ +Indexes</code>), où la directive <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> a pour valeur une ressource valide (par
+ exemple <code>index.html</code>), et où aucun gestionnaire
+ particulier n'a été défini pour cette URL. Dans ce cas, une requête
avec slash de fin afficherait le contenu du fichier
- <code>index.html</code> ; <strong>par contre, une requête sans slash
+ <code>index.html</code> ; <strong>par contre, une requête sans slash
de fin afficherait un listing du contenu du
- répertoire</strong>.</p>
+ répertoire</strong>.</p>
</div>
<p>Notez aussi que certains navigateurs peuvent modifier par erreur
- des requêtes POST en requêtes GET lors d'une redirection, les
- données POST étant alors perdues.</p>
+ des requêtes POST en requêtes GET lors d'une redirection, les
+ données POST étant alors perdues.</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="fallbackresource" id="fallbackresource">Directive</a> <a name="FallbackResource" id="FallbackResource">FallbackResource</a><a title="Lien permanent" href="#fallbackresource" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une URL par défaut pour les requêtes qui ne ciblent
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une URL par défaut pour les requêtes qui ne ciblent
aucun fichier</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FallbackResource disabled | <var>url-locale</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Désactivé - httpd renvoie un code d'erreur 404 (Not Found)</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#Default">Défaut:</a></th><td><code>Désactivé - httpd renvoie un code d'erreur 404 (Not Found)</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">AllowOverride:</a></th><td>Indexes</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_dir</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'argument <code>disabled</code> est disponible depuis la
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'argument <code>disabled</code> est disponible depuis la
version 2.4.4 du serveur HTTP Apache</td></tr>
</table>
- <p>Cette directive permet de définir un traitement pour toute URL
- qui ne correspond à aucune ressource de votre système de fichiers,
+ <p>Cette directive permet de définir un traitement pour toute URL
+ qui ne correspond à aucune ressource de votre système de fichiers,
et qui provoquerait sans cela l'envoi d'un code d'erreur HTTP 404
(Not Found).
Par exemple</p>
<pre class="prettyprint lang-config">FallbackResource /not-404.php</pre>
- <p>fait en sorte que les requêtes ne correspondant à aucun fichier
- soient traitées par <code>non-404.php</code>, sans affecter les
- requêtes pour des fichiers existants.</p>
+ <p>fait en sorte que les requêtes ne correspondant à aucun fichier
+ soient traitées par <code>non-404.php</code>, sans affecter les
+ requêtes pour des fichiers existants.</p>
<p>Il est souvent souhaitable qu'un seul fichier ou ressource traite
- toutes les requêtes à destination d'un répertoire
- particulier, sauf pour les requêtes qui correspondent à un fichier
- ou script existant. On y fait souvent référence sous le terme
- 'contrôleur frontal'.</p>
- <p>Dans les versions plus anciennes de httpd, cet effet nécessitait
- en général <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, et l'utilisation des tests
- conditionnels <code>-f</code> et <code>-d</code> pour vérifier
- l'existence des fichiers et répertoires. Maintenant, une seule ligne
- de configuration est nécessaire.</p>
+ toutes les requêtes à destination d'un répertoire
+ particulier, sauf pour les requêtes qui correspondent à un fichier
+ ou script existant. On y fait souvent référence sous le terme
+ 'contrôleur frontal'.</p>
+ <p>Dans les versions plus anciennes de httpd, cet effet nécessitait
+ en général <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, et l'utilisation des tests
+ conditionnels <code>-f</code> et <code>-d</code> pour vérifier
+ l'existence des fichiers et répertoires. Maintenant, une seule ligne
+ de configuration est nécessaire.</p>
<pre class="prettyprint lang-config">FallbackResource /index.php</pre>
<p>Les fichiers existants comme des images, des fichiers css, etc...
- seront traités normalement.</p>
- <p>Utilisez l'argument <code>disabled</code> pour désactiver cette
- fonctionnalité si l'héritage d'un répertoire parent n'est pas
- souhaité.</p>
- <p>Pour un URI intermédiaire tel que
- <em>http://example.com/blog/</em>, cet URI intermédiaire doit être
- spécifié en tant que <var>url-locale</var> :</p>
+ seront traités normalement.</p>
+ <p>Utilisez l'argument <code>disabled</code> pour désactiver cette
+ fonctionnalité si l'héritage d'un répertoire parent n'est pas
+ souhaité.</p>
+ <p>Pour un URI intermédiaire tel que
+ <em>http://example.com/blog/</em>, cet URI intermédiaire doit être
+ spécifié en tant que <var>url-locale</var> :</p>
<pre class="prettyprint lang-config"><Directory "/web/example.com/htdocs/blog">
FallbackResource /blog/index.php
</Directory>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_dir.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_dir.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_dumpio</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dumpio.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_dumpio.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_dumpio.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_dumpio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Enregistre toutes les entrées/sorties dans le journal des
-erreurs de la manière souhaitée.</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Enregistre toutes les entrées/sorties dans le journal des
+erreurs de la manière souhaitée.</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>dumpio_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dumpio.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dumpio_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dumpio.c</td></tr></table>
<h3>Sommaire</h3>
- <p><code>mod_dumpio</code> permet d'enregistrer toutes les entrées
- reçues par Apache et/ou toutes les sorties envoyées par ce dernier
+ <p><code>mod_dumpio</code> permet d'enregistrer toutes les entrées
+ reçues par Apache et/ou toutes les sorties envoyées par ce dernier
dans le fichier error.log.
</p>
- <p>L'enregistrement des données s'effectue juste après
- le décodage SSL (pour les entrées), et juste avant le codage SSL (pour les
- sorties). Comme on peut s'y attendre, tout ceci peut représenter un
- volume important de données, et ne doit être
- utilisé qu'à des fins de débogage.</p>
+ <p>L'enregistrement des données s'effectue juste après
+ le décodage SSL (pour les entrées), et juste avant le codage SSL (pour les
+ sorties). Comme on peut s'y attendre, tout ceci peut représenter un
+ volume important de données, et ne doit être
+ utilisé qu'à des fins de débogage.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#dumpioinput">DumpIOInput</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#dumpiooutput">DumpIOOutput</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dumpio">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dumpio">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_dumpio">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_dumpio">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<h2><a name="enable" id="enable">Activation du support dumpio</a><a title="Lien permanent" href="#enable" class="permalink">¶</a></h2>
- <p>Pour activer le module, ce dernier doit être compilé et chargé
- par l'intermédiaire de la configuration de votre instance d'Apache.
- La journalisation peut ensuite être activée ou
- désactivée séparément
- pour les entrées et sorties à l'aide des directives ci-dessous. En
- outre, <code class="module"><a href="../mod/mod_dumpio.html">mod_dumpio</a></code> doit être configuré à <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> <code>trace7</code> :</p>
+ <p>Pour activer le module, ce dernier doit être compilé et chargé
+ par l'intermédiaire de la configuration de votre instance d'Apache.
+ La journalisation peut ensuite être activée ou
+ désactivée séparément
+ pour les entrées et sorties à l'aide des directives ci-dessous. En
+ outre, <code class="module"><a href="../mod/mod_dumpio.html">mod_dumpio</a></code> doit être configuré à <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> <code>trace7</code> :</p>
<pre class="prettyprint lang-config">LogLevel dumpio:trace7</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="dumpioinput" id="dumpioinput">Directive</a> <a name="DumpIOInput" id="DumpIOInput">DumpIOInput</a><a title="Lien permanent" href="#dumpioinput" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre toutes les entrées dans le journal des
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre toutes les entrées dans le journal des
erreurs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DumpIOInput On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DumpIOInput Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DumpIOInput Off</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_dumpio</td></tr>
</table>
- <p>Active la journalisation de toutes les entrées.</p>
+ <p>Active la journalisation de toutes les entrées.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">DumpIOInput On</pre>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre toutes les sorties dans le journal des
erreurs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DumpIOOutput On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DumpIOOutput Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DumpIOOutput Off</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_dumpio</td></tr>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dumpio.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_dumpio.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_dumpio.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_dumpio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_echo</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_echo.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_echo.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_echo.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_echo.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_echo.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Un simple serveur d'écho pour illustrer les modules de
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Un simple serveur d'écho pour illustrer les modules de
protocole</td></tr>
-<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>echo_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_echo.c</td></tr></table>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>echo_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_echo.c</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module est un module de protocole exemple permettant d'en
- illustrer le concept. Il fournit un simple serveur d'écho. Envoyez
+ illustrer le concept. Il fournit un simple serveur d'écho. Envoyez
lui une phrase par telnet, et il vous la renverra.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#protocolecho">ProtocolEcho</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_echo">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_echo">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_echo">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_echo">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</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="protocolecho" id="protocolecho">Directive</a> <a name="ProtocolEcho" id="ProtocolEcho">ProtocolEcho</a><a title="Lien permanent" href="#protocolecho" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive le serveur d'écho</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive le serveur d'écho</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProtocolEcho On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProtocolEcho Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProtocolEcho Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_echo</td></tr>
</table>
<p>La directive <code class="directive">ProtocolEcho</code> permet d'activer
- ou de désactiver le serveur d'écho.</p>
+ ou de désactiver le serveur d'écho.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProtocolEcho On</pre>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_echo.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_echo.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_echo.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_echo.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_echo.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_env</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_env.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_env.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_env.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Modifie l'environnement transmis aux scripts CGI et aux
pages SSI</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>env_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_env.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>env_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_env.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module permet de contrôler les variables d'environnement
- internes utilisées par divers modules du serveur HTTP Apache. Ces
+ <p>Ce module permet de contrôler les variables d'environnement
+ internes utilisées par divers modules du serveur HTTP Apache. Ces
variables sont aussi accessibles aux scripts CGI en tant que
- variables d'environnement système natives, et disponibles dans les
+ variables d'environnement système natives, et disponibles dans les
pages SSI. Les variables d'environnement peuvent
- être transmises depuis le shell qui a lancé le processus
- <code class="program"><a href="../programs/httpd.html">httpd</a></code>. Elles peuvent également être définies ou
- supprimées au cours du processus de configuration.</p>
+ être transmises depuis le shell qui a lancé le processus
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code>. Elles peuvent également être définies ou
+ supprimées au cours du processus de configuration.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#setenv">SetEnv</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#unsetenv">UnsetEnv</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_env">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_env">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_env">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_env">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../env.html">Variables d'environnement</a></li>
<li><code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li>
shell</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PassEnv <var>var-env</var> [<var>var-env</var>]
...</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_env</td></tr>
</table>
- <p>Cette directive permet de spécifier quelles variables
- d'environnement système natives doivent être disponibles en tant que
+ <p>Cette directive permet de spécifier quelles variables
+ d'environnement système natives doivent être disponibles en tant que
variables d'environnement internes pour les modules du serveur HTTP
- Apache, et propagées vers les scripts CGI et les pages SSI. Leurs
- valeurs sont issues de l'environnement natif de l'OS associé au
- shell qui a invoqué le processus <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p>
+ Apache, et propagées vers les scripts CGI et les pages SSI. Leurs
+ valeurs sont issues de l'environnement natif de l'OS associé au
+ shell qui a invoqué le processus <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">PassEnv LD_LIBRARY_PATH</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="setenv" id="setenv">Directive</a> <a name="SetEnv" id="SetEnv">SetEnv</a><a title="Lien permanent" href="#setenv" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetEnv <var>var-env</var> [<var>valeur</var>]</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_env</td></tr>
</table>
- <p>Définit une variable d'environnement interne, cette dernière étant
+ <p>Définit une variable d'environnement interne, cette dernière étant
ensuite disponible pour les modules du serveur HTTP Apache et
transmise aux scripts CGI et aux pages SSI.</p>
</div>
<p>Si l'argument <var>valeur</var> est absent, la variable est
- définie à la valeur d'une chaîne vide.</p>
+ définie à la valeur d'une chaîne vide.</p>
- <div class="note"><p>Les variables d'environnement internes définies par cette
- directive le sont <em>après</em> l'exécution de la plupart des
- directives du traitement initial des requêtes, comme les contrôles
- d'accès et la mise en correspondance des URIs avec les noms de
- fichiers. Si la variable d'environnement est sensée intervenir au
+ <div class="note"><p>Les variables d'environnement internes définies par cette
+ directive le sont <em>après</em> l'exécution de la plupart des
+ directives du traitement initial des requêtes, comme les contrôles
+ d'accès et la mise en correspondance des URIs avec les noms de
+ fichiers. Si la variable d'environnement est sensée intervenir au
cours de cette phase initiale du traitement, par exemple pour la
directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>,
- vous devez plutôt utiliser la directive <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> pour définir cette
+ vous devez plutôt utiliser la directive <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> pour définir cette
variable.</p>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime des variables de l'environnement</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UnsetEnv <var>var-env</var> [<var>var-env</var>]
...</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_env</td></tr>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_env.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_env.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_env.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_example_hooks</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_example_hooks.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_example_hooks.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_example_hooks.html" title="Français"> fr </a> |
<a href="../ko/mod/mod_example_hooks.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Illustration de l'API des modules Apache</td></tr>
-<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>example_hooks_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_example_hooks.c</td></tr></table>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>example_hooks_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_example_hooks.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Certains fichiers situés dans le répertoire
+ <p>Certains fichiers situés dans le répertoire
<code>modules/examples</code> de l'arborescence de la
- distribution d'Apache sont fournis à titre d'exemples pour ceux qui
- souhaitent écrire des modules qui utilisent l'API d'Apache.</p>
+ distribution d'Apache sont fournis à titre d'exemples pour ceux qui
+ souhaitent écrire des modules qui utilisent l'API d'Apache.</p>
<p>Le fichier principal est <code>mod_example_hooks.c</code>, qui
- constitue une illustration exhaustive des différents mécanismes et
- syntaxes d'appels. En aucun cas un module additionnel n'aura à
- inclure des routines pour tous les appels - il n'en nécessitera au
+ constitue une illustration exhaustive des différents mécanismes et
+ syntaxes d'appels. En aucun cas un module additionnel n'aura à
+ inclure des routines pour tous les appels - il n'en nécessitera au
contraire qu'un petit nombre !</p>
- <p>Le module example_hooks fonctionne réellement. Si vous le chargez dans
+ <p>Le module example_hooks fonctionne réellement. Si vous le chargez dans
votre serveur, activez le gestionnaire "example-hooks-handler" dans une
- section location, et essayez d'accéder à la zone du site web
+ section location, et essayez d'accéder à la zone du site web
correspondante, vous verrez s'afficher certaines sorties que le
- module example_hooks produit au cours des différents appels.</p>
+ module example_hooks produit au cours des différents appels.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#example">Example</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_example_hooks">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_example_hooks">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_example_hooks">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_example_hooks">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<h2><a name="compiling" id="compiling">Compilation du module example_hooks</a><a title="Lien permanent" href="#compiling" class="permalink">¶</a></h2>
<p>Pour inclure le module example_hooks dans votre serveur, effectuez les
- étapes suivantes :</p>
+ étapes suivantes :</p>
<ol>
- <li>Exécutez <code class="program"><a href="../programs/configure.html">configure</a></code> avec l'option
+ <li>Exécutez <code class="program"><a href="../programs/configure.html">configure</a></code> avec l'option
<code>--enable-example-hooks</code>.</li>
- <li>Compilez le serveur (exécutez la commande
+ <li>Compilez le serveur (exécutez la commande
"<code>make</code>").</li>
</ol>
<li>Modifiez le fichier.</li>
- <li>Créez <code>modules/nouveau_module/config.m4</code>.
+ <li>Créez <code>modules/nouveau_module/config.m4</code>.
<ol>
<li>Ajoutez <code>APACHE_MODPATH_INIT(nouveau_module)</code>.</li>
<li>Copiez la ligne APACHE_MODULE contenant "example_hooks" depuis
<code>modules/examples/config.m4</code>.</li>
<li>Remplacez le premier argument "example-hooks" par
<em>monexemple</em>.</li>
- <li>Remplacez le second argument par une brève description de
- votre module. Cette description sera utilisée par la commande
+ <li>Remplacez le second argument par une brève description de
+ votre module. Cette description sera utilisée par la commande
<code>configure --help</code>.</li>
- <li>Si la compilation de votre module nécessite des drapeaux
- de compilation C, des drapeaux d'édition de liens, ou de
- bibliothèques supplémentaires, ajoutez les respectivement à
+ <li>Si la compilation de votre module nécessite des drapeaux
+ de compilation C, des drapeaux d'édition de liens, ou de
+ bibliothèques supplémentaires, ajoutez les respectivement à
CFLAGS, LDFLAGS et LIBS. Reportez-vous aux fichiers
- <code>config.m4</code> des répertoires des autres modules pour
+ <code>config.m4</code> des répertoires des autres modules pour
plus d'exemples.</li>
<li>Ajoutez <code>APACHE_MODPATH_FINISH</code>.</li>
</ol>
</li>
- <li>Créez le fichier
+ <li>Créez le fichier
<code>module/nouveau_module/Makefile.in</code>.
- Si la compilation de votre module ne nécessite pas d'instructions
- particulières, ce fichier ne doit contenir que la ligne
+ Si la compilation de votre module ne nécessite pas d'instructions
+ particulières, ce fichier ne doit contenir que la ligne
<code>include $(top_srcdir)/build/special.mk</code>.</li>
- <li>Exécutez ./buildconf à la racine du répertoire.</li>
+ <li>Exécutez ./buildconf à la racine du répertoire.</li>
- <li>Compilez le serveur après avoir exécuté la commande configure
+ <li>Compilez le serveur après avoir exécuté la commande configure
avec l'option --enable-monexemple.</li>
</ol>
<h2><a name="using" id="using">Utilisation du module
<code>mod_example_hooks</code></a><a title="Lien permanent" href="#using" class="permalink">¶</a></h2>
- <p>Pour activer le module example_hooks, ajoutez à votre fichier
+ <p>Pour activer le module example_hooks, ajoutez à votre fichier
<code>httpd.conf</code> un bloc du style :</p>
<pre class="prettyprint lang-config"><Location "/example-hooks-info">
SetHandler example-hooks-handler
<p>Vous pouvez aussi ajouter ce qui suit dans un fichier <a href="core.html#accessfilename"><code>.htaccess</code></a>, puis
- accéder au fichier "test.example" à partir du répertoire
+ accéder au fichier "test.example" à partir du répertoire
correspondant :</p>
<pre class="prettyprint lang-config">AddHandler example-hooks-handler .example</pre>
- <p>Après avoir rechargé la configuration ou redémarré votre serveur,
- vous devriez pouvoir accéder à ce fichier et voir s'afficher ce qui
- a été décrit plus haut.</p>
+ <p>Après avoir rechargé la configuration ou redémarré votre serveur,
+ vous devriez pouvoir accéder à ce fichier et voir s'afficher ce qui
+ a été décrit plus haut.</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="example" id="example">Directive</a> <a name="Example" id="Example">Example</a><a title="Lien permanent" href="#example" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directive de démonstration pour illustrer l'API des modules
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directive de démonstration pour illustrer l'API des modules
Apache</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Example</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_example_hooks</td></tr>
</table>
<p>La directive <code class="directive">Example</code> n'a pour fonction que
- de définir un drapeau de démonstration que le gestionnaire de
- contenu du module example_hooks va afficher. Elle ne possède aucun
- argument. Si vous naviguez vers une URL à laquelle le gestionnaire
+ de définir un drapeau de démonstration que le gestionnaire de
+ contenu du module example_hooks va afficher. Elle ne possède aucun
+ argument. Si vous naviguez vers une URL à laquelle le gestionnaire
de contenu example_hooks s'applique, vous verrez s'afficher les routines
- du module, ainsi que l'ordre dans lequel elles ont été appelées pour
- servir le document demandé. On peut observer l'effet de cette
+ du module, ainsi que l'ordre dans lequel elles ont été appelées pour
+ servir le document demandé. On peut observer l'effet de cette
directive dans la phrase "<code>Example
directive declared here: YES/NO</code>".</p>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_example_hooks.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_example_hooks.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_example_hooks.html" title="Français"> fr </a> |
<a href="../ko/mod/mod_example_hooks.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_expires</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_expires.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_expires.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_expires.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_expires.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_expires.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Génération des en-têtes HTTP <code>Expires</code> et
-<code>Cache-Control</code> en fonction de critères spécifiés par
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Génération des en-têtes HTTP <code>Expires</code> et
+<code>Cache-Control</code> en fonction de critères spécifiés par
l'utilisateur</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>expires_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_expires.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>expires_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_expires.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module permet de contrôler la définition de l'en-tête HTTP
+ <p>Ce module permet de contrôler la définition de l'en-tête HTTP
<code>Expires</code> et la directive <code>max-age</code> de
- l'en-tête HTTP <code>Cache-Control</code> dans les réponses du
- serveur. La date d'expiration peut être définie soit par rapport à
- la date de dernière modification du fichier source, soit
- par rapport à l'heure d'accès du client.</p>
+ l'en-tête HTTP <code>Cache-Control</code> dans les réponses du
+ serveur. La date d'expiration peut être définie soit par rapport à
+ la date de dernière modification du fichier source, soit
+ par rapport à l'heure d'accès du client.</p>
- <p>Ces en-têtes HTTP permettent d'informer le client quant à la
- validité et à la persistence du document. S'il est présent dans le
- cache, et tant qu'il n'est pas arrivé à expiration, le document sera
- servi à partir de ce dernier, plutôt qu'à partir du document source.
- Après expiration, la copie du document dans le cache sera considérée
- comme "expirée" et donc invalide, et une nouvelle copie devra être
- obtenue à partir du document source.</p>
+ <p>Ces en-têtes HTTP permettent d'informer le client quant à la
+ validité et à la persistence du document. S'il est présent dans le
+ cache, et tant qu'il n'est pas arrivé à expiration, le document sera
+ servi à partir de ce dernier, plutôt qu'à partir du document source.
+ Après expiration, la copie du document dans le cache sera considérée
+ comme "expirée" et donc invalide, et une nouvelle copie devra être
+ obtenue à partir du document source.</p>
- <p>Pour modifier les directives de contrôle du cache autres
+ <p>Pour modifier les directives de contrôle du cache autres
que <code>max-age</code> (voir la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">RFC
2616 section 14.9</a>), vous pouvez utiliser la directive <code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code>.</p>
- <p>Lorsque l'en-tête <code>Expires</code> est déjà présent dans la
- réponse générée par le serveur, par exemple s'il a été créé par un
+ <p>Lorsque l'en-tête <code>Expires</code> est déjà présent dans la
+ réponse générée par le serveur, par exemple s'il a été créé par un
script CGI ou un serveur original via un serveur mandataire, ce
- module n'ajoute aucun en-tête <code>Expires</code> ou
+ module n'ajoute aucun en-tête <code>Expires</code> ou
<code>Cache-Control</code>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#AltSyn">Autre syntaxe de définition de
+<li><img alt="" src="../images/down.gif" /> <a href="#AltSyn">Autre syntaxe de définition de
l'intervalle</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#expiresbytype">ExpiresByType</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#expiresdefault">ExpiresDefault</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_expires">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_expires">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_expires">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_expires">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="AltSyn" id="AltSyn">Autre syntaxe de définition de
+<h2><a name="AltSyn" id="AltSyn">Autre syntaxe de définition de
l'intervalle</a><a title="Lien permanent" href="#AltSyn" class="permalink">¶</a></h2>
<p>Pour une syntaxe plus lisible, on peut aussi utiliser les
directives <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code> et <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> comme suit :</p>
ExpiresByType type/encoding "<var>base</var> [plus <var>num</var> <var>type</var>] [<var>num</var> <var>type</var>] ..."</pre>
- <p>où <var>base</var> peut être :</p>
+ <p>où <var>base</var> peut être :</p>
<ul>
<li><code>access</code></li>
- <li><code>now</code> (équivalent à
+ <li><code>now</code> (équivalent à
'<code>access</code>')</li>
<li><code>modification</code></li>
</ul>
- <p>Le mot-clé <code>plus</code> est optionnel. <var>num</var> doit
- correspondre à une valeur entière [compatible avec
- <code>atoi()</code>], et <var>type</var> peut être choisi parmi :</p>
+ <p>Le mot-clé <code>plus</code> est optionnel. <var>num</var> doit
+ correspondre à une valeur entière [compatible avec
+ <code>atoi()</code>], et <var>type</var> peut être choisi parmi :</p>
<ul>
<li><code>years</code></li>
<li><code>seconds</code></li>
</ul>
- <p>Par exemple, pour faire expirer par défaut les documents 1 mois
- après leur accès, on peut utiliser une des directives suivantes :</p>
+ <p>Par exemple, pour faire expirer par défaut les documents 1 mois
+ après leur accès, on peut utiliser une des directives suivantes :</p>
<pre class="prettyprint lang-config">ExpiresDefault "access plus 1 month"
ExpiresDefault "access plus 4 weeks"
ExpiresDefault "access plus 30 days"</pre>
- <p>La date d'expiration peut être définie plus précisément en
+ <p>La date d'expiration peut être définie plus précisément en
ajoutant plusieurs clauses '<var>num</var> <var>type</var>' :</p>
<pre class="prettyprint lang-config">ExpiresByType text/html "access plus 1 month 15 days 2 hours"
ExpiresByType image/gif "modification plus 5 hours 3 minutes"</pre>
- <p>Notez que si vous utilisez une configuration basée sur la date de
- modification, l'en-tête Expires ne sera pas ajouté à un contenu qui
+ <p>Notez que si vous utilisez une configuration basée sur la date de
+ modification, l'en-tête Expires ne sera pas ajouté à un contenu qui
ne provient pas directement d'un fichier sur disque ; et ceci tout
- simplement parce que ce type de contenu ne possède pas de date de
+ simplement parce que ce type de contenu ne possède pas de date de
modification.</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="expiresactive" id="expiresactive">Directive</a> <a name="ExpiresActive" id="ExpiresActive">ExpiresActive</a><a title="Lien permanent" href="#expiresactive" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la génération d'en-têtes
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la génération d'en-têtes
<code>Expires</code></td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExpiresActive On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ExpiresActive Off</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#Default">Défaut:</a></th><td><code>ExpiresActive Off</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">AllowOverride:</a></th><td>Indexes</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_expires</td></tr>
</table>
- <p>Cette directive permet d'activer ou de désactiver la génération
- des en-têtes <code>Expires</code> et <code>Cache-Control</code> pour
- les documents concernés ; en d'autres termes, si cette directive se
+ <p>Cette directive permet d'activer ou de désactiver la génération
+ des en-têtes <code>Expires</code> et <code>Cache-Control</code> pour
+ les documents concernés ; en d'autres termes, si cette directive se
trouve dans un fichier <code>.htaccess</code>, par exemple, elle ne
- s'applique qu'aux documents générés à partir du répertoire
- considéré. Si elle est définie à <code>Off</code>, les en-têtes ne
- seront générés pour aucun document du domaine considéré (sauf
- surcharge de la configuration à un niveau inférieur, comme un
+ s'applique qu'aux documents générés à partir du répertoire
+ considéré. Si elle est définie à <code>Off</code>, les en-têtes ne
+ seront générés pour aucun document du domaine considéré (sauf
+ surcharge de la configuration à un niveau inférieur, comme un
fichier <code>.htaccess</code> qui l'emporterait sur le fichier de
- configuration du serveur). Si elle est définie à <code>On</code>,
- les en-têtes seront ajoutés aux documents servis en fonction des
- critères définis par les directives <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> et <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code> (<em>voir plus
+ configuration du serveur). Si elle est définie à <code>On</code>,
+ les en-têtes seront ajoutés aux documents servis en fonction des
+ critères définis par les directives <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code> et <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code> (<em>voir plus
loin</em>).</p>
- <p>Notez que cette directive ne permet pas de garantir qu'un en-tête
- <code>Expires</code> ou <code>Cache-Control</code> sera généré. Si
- les critères ne sont pas respectés, aucun en-tête ne sera généré, et
- la directive produira le même effet que si elle n'avait pas été
- définie.</p>
+ <p>Notez que cette directive ne permet pas de garantir qu'un en-tête
+ <code>Expires</code> ou <code>Cache-Control</code> sera généré. Si
+ les critères ne sont pas respectés, aucun en-tête ne sera généré, et
+ la directive produira le même effet que si elle n'avait pas été
+ définie.</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="expiresbytype" id="expiresbytype">Directive</a> <a name="ExpiresByType" id="ExpiresByType">ExpiresByType</a><a title="Lien permanent" href="#expiresbytype" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définition de la valeur de l'en-tête <code>Expires</code>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définition de la valeur de l'en-tête <code>Expires</code>
en fonction du type MIME</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExpiresByType <var>type MIME</var>
<var><code>secondes</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</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_expires</td></tr>
</table>
- <p>Cette directive permet de définir la valeur de l'en-tête
+ <p>Cette directive permet de définir la valeur de l'en-tête
<code>Expires</code> et de la directive <code>max-age</code> de
- l'en-tête <code>Cache-Control</code> générés pour les documents du
- type MIME spécifié (par exemple, <code>text/html</code>). Le second
- argument définit le nombre de secondes qui seront ajoutées à un
+ l'en-tête <code>Cache-Control</code> générés pour les documents du
+ type MIME spécifié (par exemple, <code>text/html</code>). Le second
+ argument définit le nombre de secondes qui seront ajoutées à un
temps de base pour calculer la date d'expiration.
<code>Cache-Control: max-age</code> se calcule en soustrayant la
- date de la requête de la date d'expiration et s'exprime en
+ date de la requête de la date d'expiration et s'exprime en
secondes.</p>
- <p>Le champ <code><var><code></var></code> permet de spécifier
- quel temps doit être utilisé comme temps de base; <code>M</code>
+ <p>Le champ <code><var><code></var></code> permet de spécifier
+ quel temps doit être utilisé comme temps de base; <code>M</code>
signifie que c'est la date
- de dernière modification du fichier qui doit être utilisée comme
+ de dernière modification du fichier qui doit être utilisée comme
temps de base, alors que <code>A</code> signifie que c'est le moment
- où le client a accédé au document qui doit être utilisé comme temps
+ où le client a accédé au document qui doit être utilisé comme temps
de base.</p>
- <p>La différence d'effet est subtile. Si on utilise <code>M</code>,
+ <p>La différence d'effet est subtile. Si on utilise <code>M</code>,
toutes les copies existantes du document dans tous les caches
- expireront au même moment, ce qui peut convenir par exemple pour une
- notice hebdomadaire qui correspond toujours à la même URL. Si on
- utilise <code>A</code>, la date d'expiration sera différente pour
+ expireront au même moment, ce qui peut convenir par exemple pour une
+ notice hebdomadaire qui correspond toujours à la même URL. Si on
+ utilise <code>A</code>, la date d'expiration sera différente pour
chaque client, ce qui peut convenir pour des fichiers d'images qui
- ne changent pas très souvent, et en particulier pour un ensemble de
- documents en relation qui se réfèrent tous aux mêmes images (ces
- images sont alors accédées de manière répétitive dans un intervalle
+ ne changent pas très souvent, et en particulier pour un ensemble de
+ documents en relation qui se réfèrent tous aux mêmes images (ces
+ images sont alors accédées de manière répétitive dans un intervalle
de temps assez court).</p>
- <div class="example"><h3>Exemple :</h3><pre class="prettyprint lang-config"># active la génération des en-têtes Expires
+ <div class="example"><h3>Exemple :</h3><pre class="prettyprint lang-config"># active la génération des en-têtes Expires
ExpiresActive On
# les images GIF expirent au bout d'un mois dans le cache du
# client
ExpiresByType image/gif A2592000
-# les documents HTML restent valables une semaine après leur date
-# de dernière modification
+# les documents HTML restent valables une semaine après leur date
+# de dernière modification
ExpiresByType text/html M604800</pre>
</div>
<p>Notez que cette directive ne produit d'effet que si
- <code>ExpiresActive On</code> a été spécifié. Elle l'emporte, mais
- <em>seulement</em> pour le type MIME spécifié, sur toute date
- d'expiration définie par la directive <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code>.</p>
+ <code>ExpiresActive On</code> a été spécifié. Elle l'emporte, mais
+ <em>seulement</em> pour le type MIME spécifié, sur toute date
+ d'expiration définie par la directive <code class="directive"><a href="#expiresdefault">ExpiresDefault</a></code>.</p>
- <p>Vous pouvez aussi définir le mode de calcul de la date
+ <p>Vous pouvez aussi définir le mode de calcul de la date
d'expiration en utilisant une <a href="#AltSyn">syntaxe
- alternative</a>, comme décrit plus haut dans ce document.</p>
+ alternative</a>, comme décrit plus haut dans ce document.</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="expiresdefault" id="expiresdefault">Directive</a> <a name="ExpiresDefault" id="ExpiresDefault">ExpiresDefault</a><a title="Lien permanent" href="#expiresdefault" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mode de calcul par défaut de la date
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mode de calcul par défaut de la date
d'expiration</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExpiresDefault <var><code>secondes</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</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_expires</td></tr>
</table>
- <p>Cette directive permet de définir le mode de calcul par défaut de
- la date d'expiration pour tous les documents du domaine considéré.
- Elle peut être annulée pour certains types de documents par la
+ <p>Cette directive permet de définir le mode de calcul par défaut de
+ la date d'expiration pour tous les documents du domaine considéré.
+ Elle peut être annulée pour certains types de documents par la
directive <code class="directive"><a href="#expiresbytype">ExpiresByType</a></code>. Voir la description
- de cette dernière directive pour plus de détails à propos de la
+ de cette dernière directive pour plus de détails à propos de la
syntaxe de l'argument, ainsi que la description de la <a href="#AltSyn">syntaxe alternative</a>.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_expires.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_expires.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_expires.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_expires.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_expires.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_ext_filter</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ext_filter.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_ext_filter.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_ext_filter.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_ext_filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_ext_filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fait traiter le corps de la réponse par un programme
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fait traiter le corps de la réponse par un programme
externe avant de l'envoyer au client</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>ext_filter_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ext_filter.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>ext_filter_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ext_filter.c</td></tr></table>
<h3>Sommaire</h3>
- <p><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> représente un modèle de
+ <p><code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> représente un modèle de
programmation simple et bien connu pour les <a href="../filter.html">filtres</a>. Avec ce module, tout programme
- qui lit l'entrée standard stdin et écrit sur la sortie standard
+ qui lit l'entrée standard stdin et écrit sur la sortie standard
stdout (autrement dit une commande filtre de style Unix) peut
- servir de filtre pour Apache. Ce mécanisme de filtrage est beaucoup
- plus lent qu'un filtre spécialement écrit pour
- l'API d'Apache et faisant partie intégrante du processus du serveur
- Apache, mais il présente les avantages suivants :</p>
+ servir de filtre pour Apache. Ce mécanisme de filtrage est beaucoup
+ plus lent qu'un filtre spécialement écrit pour
+ l'API d'Apache et faisant partie intégrante du processus du serveur
+ Apache, mais il présente les avantages suivants :</p>
<ul>
- <li>le modèle de programmation est beaucoup plus simple</li>
+ <li>le modèle de programmation est beaucoup plus simple</li>
- <li>tout langage de script ou de programmation peut être utilisé,
- pourvu qu'il permette au programme de lire l'entrée standard et
- d'écrire sur la sortie standard.</li>
+ <li>tout langage de script ou de programmation peut être utilisé,
+ pourvu qu'il permette au programme de lire l'entrée standard et
+ d'écrire sur la sortie standard.</li>
<li>on peut utiliser des programmes existants comme filtres Apache
sans modification.</li>
</ul>
- <p>Même dans le cas où le niveau de performance est insuffisant pour
+ <p>Même dans le cas où le niveau de performance est insuffisant pour
une utilisation en production, on peut utiliser
<code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> comme prototype d'environnement pour
les filtres.</p>
<li><img alt="" src="../images/down.gif" /> <a href="#extfilterdefine">ExtFilterDefine</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#extfilteroptions">ExtFilterOptions</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ext_filter">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ext_filter">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ext_filter">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ext_filter">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../filter.html">Filtres</a></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="section">
<h2><a name="examples" id="examples">Exemples</a><a title="Lien permanent" href="#examples" class="permalink">¶</a></h2>
- <h3>Générer du HTML à partir d'un autre type de
+ <h3>Générer du HTML à partir d'un autre type de
contenu</h3>
- <pre class="prettyprint lang-config"># la directive de mod_ext_filter définissant un filtre
+ <pre class="prettyprint lang-config"># la directive de mod_ext_filter définissant un filtre
# permettant de mettre des fichiers text/c au format HTML en
# utilisant le programme externe /usr/bin/enscript, le type du
-# fichier résultant étant défini à text/html
+# fichier résultant étant défini à text/html
ExtFilterDefine c-to-html mode=output \
intype=text/c outtype=text/html \
cmd="/usr/bin/enscript --color -w html -Ec -o -"
# nouveau filtre
SetOutputFilter c-to-html
- # directive de mod_mime définissant le type des fichiers dont
- # le nom possède l'extension .c à text/c
+ # directive de mod_mime définissant le type des fichiers dont
+ # le nom possède l'extension .c à text/c
AddType text/c .c
</Directory></pre>
- <h3>Implémentation d'un filtre de codage de
+ <h3>Implémentation d'un filtre de codage de
contenu</h3>
- <p>Note : cet exemple avec gzip n'est fourni qu'à titre
- d'illustration. Veuillez vous reporter à la documentation de
- <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> pour un exemple d'implémentation plus
+ <p>Note : cet exemple avec gzip n'est fourni qu'à titre
+ d'illustration. Veuillez vous reporter à la documentation de
+ <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> pour un exemple d'implémentation plus
pratique.</p>
- <pre class="prettyprint lang-config"># la directive de mod_ext_filter qui définit le filtre externe
+ <pre class="prettyprint lang-config"># la directive de mod_ext_filter qui définit le filtre externe
ExtFilterDefine gzip mode=output cmd=/bin/gzip
<Location "/gzipped">
SetOutputFilter gzip
# la directive de mod_headers permettant d'ajouter le champ
- # d'en-tête "Content-Encoding: gzip"
+ # d'en-tête "Content-Encoding: gzip"
Header set Content-Encoding gzip
</Location></pre>
<h3>Ralentissement du serveur</h3>
- <pre class="prettyprint lang-config"># directive de mod_ext_filter définissant un filtre qui fait
+ <pre class="prettyprint lang-config"># directive de mod_ext_filter définissant un filtre qui fait
# passer tous les flux en sortie par la commande cat ; cat ne
# modifie rien ; elle ne fait que compliquer le cheminement des
-# flux et consommer des ressources supplémentaires
+# flux et consommer des ressources supplémentaires
ExtFilterDefine slowdown mode=output cmd=/bin/cat \
ExtFilterDefine slowdown mode=output cmd=/bin/cat \
preservescontentlength
<h3>Utilisation de sed pour remplacer du texte dans la
- réponse</h3>
+ réponse</h3>
- <pre class="prettyprint lang-config"># directive de mod_ext_filter définissant un filtre qui
-# remplace du texte dans la réponse
+ <pre class="prettyprint lang-config"># directive de mod_ext_filter définissant un filtre qui
+# remplace du texte dans la réponse
#
ExtFilterDefine fixtext mode=output intype=text/html \
cmd="/bin/sed s/verdana/arial/g"
<div class="note">
<p>Vous pouvez aussi utiliser <code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code> pour
-effectuer le même traitement sans avoir à invoquer un programme
+effectuer le même traitement sans avoir à invoquer un programme
externe.</p>
</div>
<h3>Tracer un autre filtre</h3>
- <pre class="prettyprint lang-config"># Trace les données lues et écrites par mod_deflate pour un
-# client particulier (IP 192.168.1.31) qui a des problèmes de
+ <pre class="prettyprint lang-config"># Trace les données lues et écrites par mod_deflate pour un
+# client particulier (IP 192.168.1.31) qui a des problèmes de
# compression.
# Ce premier filtre va tracer ce qui entre dans mod_deflate.
ExtFilterDefine tracebefore \
EnableEnv=trace_this_client
# Ce second filtre va tracer ce qui sort de mod_deflate.
-# Notez que sans le paramètre ftype, le type de filtre par
-# défaut AP_FTYPE_RESOURCE placerait le filtre *avant*
-# mod_deflate dans la chaîne de filtrage. Le fait d'affecter
-# à ce paramètre une valeur numérique sensiblement supérieure à
+# Notez que sans le paramètre ftype, le type de filtre par
+# défaut AP_FTYPE_RESOURCE placerait le filtre *avant*
+# mod_deflate dans la chaîne de filtrage. Le fait d'affecter
+# à ce paramètre une valeur numérique sensiblement supérieure à
# AP_FTYPE_CONTENT_SET permet de s'assurer que le filtre sera
-# placé après mod_deflate.
+# placé après mod_deflate.
ExtFilterDefine traceafter \
cmd="/bin/tracefilter.pl /tmp/traceafter" \
EnableEnv=trace_this_client ftype=21
</Directory></pre>
- <div class="example"><h3>Voici le filtre qui trace les données :</h3><pre class="prettyprint lang-perl">#!/usr/local/bin/perl -w
+ <div class="example"><h3>Voici le filtre qui trace les données :</h3><pre class="prettyprint lang-perl">#!/usr/local/bin/perl -w
use strict;
open(SAVE, ">$ARGV[0]")
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="extfilterdefine" id="extfilterdefine">Directive</a> <a name="ExtFilterDefine" id="ExtFilterDefine">ExtFilterDefine</a><a title="Lien permanent" href="#extfilterdefine" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit un filtre externe</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExtFilterDefine <var>nom_filtre</var> <var>paramètres</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit un filtre externe</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExtFilterDefine <var>nom_filtre</var> <var>paramètres</var></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_ext_filter</td></tr>
</table>
<p>La directive <code class="directive">ExtFilterDefine</code>
- définit les caractéristiques d'un filtre externe, et en particulier
- le programme à exécuter ainsi que ses arguments.</p>
-
- <p><var>nom_filtre</var> spécifie le nom du filtre en cours de
- définition. On peut ensuite utiliser ce nom pour référencer le
- filtre dans les directives <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>. Il doit être unique parmi les noms de
- tous les filtres enregistrés. <em>Pour le moment, aucune erreur
- n'est signalée par l'API register-filter, si bien qu'un problème de
- noms dupliqués ne sera pas porté à la connaissance de
+ définit les caractéristiques d'un filtre externe, et en particulier
+ le programme à exécuter ainsi que ses arguments.</p>
+
+ <p><var>nom_filtre</var> spécifie le nom du filtre en cours de
+ définition. On peut ensuite utiliser ce nom pour référencer le
+ filtre dans les directives <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>. Il doit être unique parmi les noms de
+ tous les filtres enregistrés. <em>Pour le moment, aucune erreur
+ n'est signalée par l'API register-filter, si bien qu'un problème de
+ noms dupliqués ne sera pas porté à la connaissance de
l'utilisateur.</em></p>
- <p>Viennent ensuite un ou plusieurs paramètres dans un ordre
- indéfini, qui permettent de spécifier la commande externe à exécuter
- et certaines autres caractéristiques. Le seul paramètre obligatoire
- est <code>cmd=</code>. Voici la liste de ces paramètres :</p>
+ <p>Viennent ensuite un ou plusieurs paramètres dans un ordre
+ indéfini, qui permettent de spécifier la commande externe à exécuter
+ et certaines autres caractéristiques. Le seul paramètre obligatoire
+ est <code>cmd=</code>. Voici la liste de ces paramètres :</p>
<dl>
<dt><code>cmd=<var>ligne de commande</var></code></dt>
- <dd>Le mot-clé <code>cmd=</code> spécifie la commande
- externe à exécuter. Si la ligne de commande comporte des
- arguments, elle doit être entourée de guillemets (par exemple
+ <dd>Le mot-clé <code>cmd=</code> spécifie la commande
+ externe à exécuter. Si la ligne de commande comporte des
+ arguments, elle doit être entourée de guillemets (par exemple
<code>cmd="<var>/bin/mypgm</var> <var>arg1</var>
<var>arg2</var>"</code>). Les guillemets habituels du shell ne
- sont pas nécessaires car le programme est lancé directement, sans
- passer par le shell. Les arguments du programme doivent être
- séparés par des espaces. Si un argument contient des espaces, ces
- derniers doivent être échappés par un antislash '\'. Si un
- argument contient des antislashes '\', ces derniers doivent être
- eux-mêmes échappés par un antislash '\'. Outre les variables
+ sont pas nécessaires car le programme est lancé directement, sans
+ passer par le shell. Les arguments du programme doivent être
+ séparés par des espaces. Si un argument contient des espaces, ces
+ derniers doivent être échappés par un antislash '\'. Si un
+ argument contient des antislashes '\', ces derniers doivent être
+ eux-mêmes échappés par un antislash '\'. Outre les variables
d'environnement CGI standards, les variables DOCUMENT_URI,
- DOCUMENT_PATH_INFO, et QUERY_STRING_UNESCAPED seront également
- définies pour le programme.</dd>
+ DOCUMENT_PATH_INFO, et QUERY_STRING_UNESCAPED seront également
+ définies pour le programme.</dd>
<dt><code>mode=<var>mode</var></code></dt>
- <dd>Utilisez <code>mode=output</code> (valeur par défaut) pour les
- filtres qui traitent les réponses. Utilisez
+ <dd>Utilisez <code>mode=output</code> (valeur par défaut) pour les
+ filtres qui traitent les réponses. Utilisez
<code>mode=input</code> pour les filtres qui traitent les
- requêtes. <code>mode=input</code> est disponible depuis la version
+ requêtes. <code>mode=input</code> est disponible depuis la version
2.1 d'Apache.</dd>
<dt><code>intype=<var>type MIME</var></code></dt>
- <dd>Ce paramètre spécifie le type de médium Internet
- (c'est à dire le type MIME) des documents qui doivent être
- filtrés. Par défaut, tous les documents sont filtrés. Aucun des
- documents possédant un type MIME autre que celui spécifié par
- <code>intype=</code> ne sera filtré.</dd>
+ <dd>Ce paramètre spécifie le type de médium Internet
+ (c'est à dire le type MIME) des documents qui doivent être
+ filtrés. Par défaut, tous les documents sont filtrés. Aucun des
+ documents possédant un type MIME autre que celui spécifié par
+ <code>intype=</code> ne sera filtré.</dd>
<dt><code>outtype=<var>type MIME</var></code></dt>
- <dd>Ce paramètre spécifie le type de médium Internet
- (c'est à dire le type MIME) des documents filtrés. Il intervient
- lorsque les opérations de filtrage comprennent une modification du
- type MIME. Par défaut, le type MIME n'est pas modifié.</dd>
+ <dd>Ce paramètre spécifie le type de médium Internet
+ (c'est à dire le type MIME) des documents filtrés. Il intervient
+ lorsque les opérations de filtrage comprennent une modification du
+ type MIME. Par défaut, le type MIME n'est pas modifié.</dd>
<dt><code>PreservesContentLength</code></dt>
- <dd>Le mot-clé <code>PreservesContentLength</code> indique que le
+ <dd>Le mot-clé <code>PreservesContentLength</code> indique que le
filtre doit conserver la taille du contenu. Ce n'est pas le
- comportement par défaut, car la plupart des filtres modifient cette
- taille. Ce mot-clé doit être spécifié si le filtre ne doit pas
+ comportement par défaut, car la plupart des filtres modifient cette
+ taille. Ce mot-clé doit être spécifié si le filtre ne doit pas
modifier la taille du contenu.</dd>
<dt><code>ftype=<var>type de filtre</var></code></dt>
- <dd>Ce paramètre spécifie une valeur numérique
- représentant le type de filtre sous lequel le filtre doit être
- enregistré. La valeur par défaut, AP_FTYPE_RESOURCE, convient dans
- la plupart des situations. Ce paramètre devient nécessaire dès lors
- que le filtre doit opérer à un autre point de la chaîne de filtrage
+ <dd>Ce paramètre spécifie une valeur numérique
+ représentant le type de filtre sous lequel le filtre doit être
+ enregistré. La valeur par défaut, AP_FTYPE_RESOURCE, convient dans
+ la plupart des situations. Ce paramètre devient nécessaire dès lors
+ que le filtre doit opérer à un autre point de la chaîne de filtrage
que les filtres de ressources.
- Voir les définitions de AP_FTYPE_...
- dans util_filter.h pour trouver une valeur appropriée.</dd>
+ Voir les définitions de AP_FTYPE_...
+ dans util_filter.h pour trouver une valeur appropriée.</dd>
<dt><code>disableenv=<var>env</var></code></dt>
- <dd>Ce paramètre spécifie le nom d'une variable
- d'environnement qui, si elle est définie, va désactiver le
+ <dd>Ce paramètre spécifie le nom d'une variable
+ d'environnement qui, si elle est définie, va désactiver le
filtre.</dd>
<dt><code>enableenv=<var>env</var></code></dt>
- <dd>Ce paramètre spécifie le nom d'une variable
- d'environnement qui doit être définie pour que le filtre ne soit
- pas désactivé.</dd>
+ <dd>Ce paramètre spécifie le nom d'une variable
+ d'environnement qui doit être définie pour que le filtre ne soit
+ pas désactivé.</dd>
</dl>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure les options de
<code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code></td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExtFilterOptions <var>option</var> [<var>option</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ExtFilterOptions NoLogStderr</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ExtFilterOptions NoLogStderr</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</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_ext_filter</td></tr>
</table>
<p>La directive <code class="directive">ExtFilterOptions</code>
- spécifie des options de traitement particulières pour
+ spécifie des options de traitement particulières pour
<code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>. Les arguments <var>option</var>
peuvent contenir :</p>
<dl>
<dt><code>LogStderr | NoLogStderr</code></dt>
- <dd>Le mot-clé <code>LogStderr</code> indique que les messages
- envoyés par le programme de filtrage externe sur la sortie
- d'erreurs standard doivent être enregistrés dans le journal des
+ <dd>Le mot-clé <code>LogStderr</code> indique que les messages
+ envoyés par le programme de filtrage externe sur la sortie
+ d'erreurs standard doivent être enregistrés dans le journal des
erreurs d'Apache. <code>NoLogStderr</code> inverse ce
comportement.</dd>
<dt><code>Onfail=[abort|remove]</code></dt>
- <dd>Indique la marche à suivre si le programme de filtrage externe
- ne peut pas démarrer. Avec <code>abort</code> (la valeur par
- défaut), le traitement de la requête sera abandonné. Avec <code>remove</code>, le
- filtre est supprimé, et le traitement de la requête se poursuit
+ <dd>Indique la marche à suivre si le programme de filtrage externe
+ ne peut pas démarrer. Avec <code>abort</code> (la valeur par
+ défaut), le traitement de la requête sera abandonné. Avec <code>remove</code>, le
+ filtre est supprimé, et le traitement de la requête se poursuit
sans lui.</dd>
</dl>
<pre class="prettyprint lang-config">ExtFilterOptions LogStderr</pre>
- <p>Les messages envoyés vers la sortie d'erreurs standard du filtre
- seront enregistrés dans le journal des erreurs d'Apache.</p>
+ <p>Les messages envoyés vers la sortie d'erreurs standard du filtre
+ seront enregistrés dans le journal des erreurs d'Apache.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ext_filter.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_ext_filter.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_ext_filter.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_ext_filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_ext_filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_file_cache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_file_cache.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_file_cache.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_file_cache.html" title="Français"> fr </a> |
<a href="../ko/mod/mod_file_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Mise en cache mémoire d'une liste statique de
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Mise en cache mémoire d'une liste statique de
fichiers</td></tr>
-<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>file_cache_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_file_cache.c</td></tr></table>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>file_cache_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_file_cache.c</td></tr></table>
<h3>Sommaire</h3>
<div class="warning">
- Ce module doit être utilisé avec précautions. Il est recommandé de
+ Ce module doit être utilisé avec précautions. Il est recommandé de
lire attentivement ce document, car une mauvaise utilisation de
- <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> peut facilement conduire à la
- création d'un site inopérant.
+ <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> peut facilement conduire à la
+ création d'un site inopérant.
</div>
- <p>La mise en cache de fichiers souvent demandés mais rarement
- modifiés est une technique qui peut réduire la charge du
+ <p>La mise en cache de fichiers souvent demandés mais rarement
+ modifiés est une technique qui peut réduire la charge du
serveur. <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> met en oeuvre deux
techniques de mise en cache de fichiers <em>statiques</em>
- fréquemment demandés. Des directives de configuration vous
- permettent d'indiquer à <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> soit
- d'ouvrir et de charger une image en mémoire d'un fichier avec
- <code>mmap()</code>, soit de pré-ouvrir un fichier et de maintenir en
+ fréquemment demandés. Des directives de configuration vous
+ permettent d'indiquer à <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> soit
+ d'ouvrir et de charger une image en mémoire d'un fichier avec
+ <code>mmap()</code>, soit de pré-ouvrir un fichier et de maintenir en
service le <em>gestionnaire</em> du fichier. Chacune de ces techniques
- amène à réduire la charge du serveur lors du traitement des
- requêtes concernant ces fichiers, en accomplissant une partie du
- travail nécessaire à la mise à disposition de ces fichiers (en
- particulier les opérations d'entrées/sorties sur les fichiers) au
- démarrage du serveur, plutôt qu'au cours de chaque requête.</p>
+ amène à réduire la charge du serveur lors du traitement des
+ requêtes concernant ces fichiers, en accomplissant une partie du
+ travail nécessaire à la mise à disposition de ces fichiers (en
+ particulier les opérations d'entrées/sorties sur les fichiers) au
+ démarrage du serveur, plutôt qu'au cours de chaque requête.</p>
- <p>Note : ces techniques sont inutilisables pour accélérer des
+ <p>Note : ces techniques sont inutilisables pour accélérer des
programmes CGI ou d'autres fichiers servis par des gestionnaires de
- contenu spéciaux. Elles ne peuvent être utilisées que pour des
- fichiers standards en général servis par le gestionnaire de contenu
+ contenu spéciaux. Elles ne peuvent être utilisées que pour des
+ fichiers standards en général servis par le gestionnaire de contenu
de base d'Apache.</p>
<p>Ce module est une extension et s'inspire fortement du module
<li><img alt="" src="../images/down.gif" /> <a href="#cachefile">CacheFile</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#mmapfile">MMapFile</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_file_cache">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_file_cache">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_file_cache">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_file_cache">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="using" id="using">Utilisation de mod_file_cache</a><a title="Lien permanent" href="#using" class="permalink">¶</a></h2>
- <p><code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> gère la mise en cache d'une liste
- de fichiers définie de manière statique via une des directives
+ <p><code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> gère la mise en cache d'une liste
+ de fichiers définie de manière statique via une des directives
<code class="directive"><a href="#mmapfile">MMapFile</a></code> ou
<code class="directive"><a href="#cachefile">CacheFile</a></code> au niveau
de la configuration du serveur principal.</p>
- <p>Les deux directives ne sont pas supportées par toutes les
+ <p>Les deux directives ne sont pas supportées par toutes les
plates-formes. Par exemple, Apache pour Windows ne supporte pas
actuellement la directive <code class="directive"><a href="#mmapfile">MMapFile</a></code>, alors que d'autres
plates-formes, comme AIX, supportent les deux. Vous recevrez un
message d'erreur dans le journal des erreurs du serveur si vous
- essayez d'utiliser une directive non supportée. Si vous utilisez une
- directive non supportée, le serveur démarrera, mais les fichiers ne
+ essayez d'utiliser une directive non supportée. Si vous utilisez une
+ directive non supportée, le serveur démarrera, mais les fichiers ne
seront pas mis en cache. Sur les plates-formes qui supportent les
- deux directives, vous devez faire des essais afin de déterminer
+ deux directives, vous devez faire des essais afin de déterminer
quelle directive vous convient le mieux.</p>
<h3>Directive MMapFile</h3>
<p>La directive <code class="directive"><a href="#mmapfile">MMapFile</a></code> du module
- <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> permet de transférer en mémoire
- une liste statique de fichiers à l'aide de l'appel système
- <code>mmap()</code>. Cet appel système est disponible sur la
+ <code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> permet de transférer en mémoire
+ une liste statique de fichiers à l'aide de l'appel système
+ <code>mmap()</code>. Cet appel système est disponible sur la
plupart des plates-formes de style Unix, mais pas sur toutes. Il
- existe parfois des limites spécifiques au système quant à la
- taille et au nombre de fichiers qui peuvent être
- <code>mmap()</code>és, et l'expérimentation est probablement la
- méthode la plus simple pour déterminer ces limites.</p>
+ existe parfois des limites spécifiques au système quant à la
+ taille et au nombre de fichiers qui peuvent être
+ <code>mmap()</code>és, et l'expérimentation est probablement la
+ méthode la plus simple pour déterminer ces limites.</p>
- <p>Ce <code>mmap()</code>age n'est effectué qu'une seul fois au
- démarrage ou redémarrage du serveur. Ainsi, chaque fois qu'un des
- fichiers chargés en mémoire est modifié au niveau du système de
- fichiers, vous <em>devez</em> redémarrer le serveur (voir la
- documentation sur l'<a href="../stopping.html">Arrêt et redémarrage</a>). Pour bien
- insister sur ce point, si des fichiers sont modifiés <em>sur
- disque</em>, et si vous ne redémarrez pas le serveur, vous allez
- finir par servir des contenus complètement obsolètes. Vous devez
- mettre à jour les fichiers en renommant l'ancienne version et en
+ <p>Ce <code>mmap()</code>age n'est effectué qu'une seul fois au
+ démarrage ou redémarrage du serveur. Ainsi, chaque fois qu'un des
+ fichiers chargés en mémoire est modifié au niveau du système de
+ fichiers, vous <em>devez</em> redémarrer le serveur (voir la
+ documentation sur l'<a href="../stopping.html">Arrêt et redémarrage</a>). Pour bien
+ insister sur ce point, si des fichiers sont modifiés <em>sur
+ disque</em>, et si vous ne redémarrez pas le serveur, vous allez
+ finir par servir des contenus complètement obsolètes. Vous devez
+ mettre à jour les fichiers en renommant l'ancienne version et en
enregistrant la nouvelle sur disque. Pour y parvenir, on peut
utiliser des outils comme <code>rdist</code> et <code>mv</code>.
La raison pour laquelle ce module ne prend pas en compte les
- modifications de fichiers réside dans le fait que cette
- vérification nécessiterait un appel à <code>stat()</code> à chaque
- accès, et en fin de compte, l'augmentation de la consommation de
+ modifications de fichiers réside dans le fait que cette
+ vérification nécessiterait un appel à <code>stat()</code> à chaque
+ accès, et en fin de compte, l'augmentation de la consommation de
ressources finirait par aller contre le but initial de
- réduire les entrées/sorties.</p>
+ réduire les entrées/sorties.</p>
<h3>Directive CacheFile</h3>
<p>La directive <code class="directive"><a href="#cachefile">CacheFile</a></code> du module
<code class="module"><a href="../mod/mod_file_cache.html">mod_file_cache</a></code> permet d'associer un
- <em>gestionnaire</em> ou <em>descripteur de fichier</em> à chaque
- fichier énuméré dans la directive de configuration et place ces
+ <em>gestionnaire</em> ou <em>descripteur de fichier</em> à chaque
+ fichier énuméré dans la directive de configuration et place ces
gestionnaires de fichiers ouverts dans le cache. Lorsqu'un des
- fichier est demandé, le serveur sélectionne son gestionnaire dans
- le cache et le transmet à l'API <code>sendfile()</code> (ou
+ fichier est demandé, le serveur sélectionne son gestionnaire dans
+ le cache et le transmet à l'API <code>sendfile()</code> (ou
<code>TransmitFile()</code> sous Windows).</p>
- <p>Cette mise en cache des gestionnaire n'est effectuée qu'une
- seule fois au démarrage ou redémarrage du système. Ainsi, chaque
- fois qu'un des fichiers chargés en mémoire est modifié au niveau
- du système de fichiers, vous <em>devez</em> redémarrer le serveur
- (voir la documentation sur l'<a href="../stopping.html">Arrêt et redémarrage</a>).
+ <p>Cette mise en cache des gestionnaire n'est effectuée qu'une
+ seule fois au démarrage ou redémarrage du système. Ainsi, chaque
+ fois qu'un des fichiers chargés en mémoire est modifié au niveau
+ du système de fichiers, vous <em>devez</em> redémarrer le serveur
+ (voir la documentation sur l'<a href="../stopping.html">Arrêt et redémarrage</a>).
Pour bien
- insister sur ce point, si des fichiers sont modifiés <em>sur
- disque</em>, et si vous ne redémarrez pas le serveur, vous allez
- finir par servir des contenus complètement obsolètes. Vous devez
- mettre à jour les fichiers en renommant l'ancienne version et en
+ insister sur ce point, si des fichiers sont modifiés <em>sur
+ disque</em>, et si vous ne redémarrez pas le serveur, vous allez
+ finir par servir des contenus complètement obsolètes. Vous devez
+ mettre à jour les fichiers en renommant l'ancienne version et en
enregistrant la nouvelle sur disque. Pour y parvenir, on peut
utiliser des outils comme <code>rdist</code> et
<code>mv</code>.</p>
<div class="note"><h3>Note</h3>
<p>Ne cherchez pas de directive qui met tous les
- fichiers d'un répertoire en cache, de manière récursive. Pour y
- parvenir, vous pouvez vous reporter à la directive <code class="directive"><a href="../mod/core.html#include">Include</a></code>, et considérer cette
+ fichiers d'un répertoire en cache, de manière récursive. Pour y
+ parvenir, vous pouvez vous reporter à la directive <code class="directive"><a href="../mod/core.html#include">Include</a></code>, et considérer cette
commande :</p>
<div class="example"><p><code>
<div class="directive-section"><h2><a name="cachefile" id="cachefile">Directive</a> <a name="CacheFile" id="CacheFile">CacheFile</a><a title="Lien permanent" href="#cachefile" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en cache une liste de gestionnaires de fichiers au
-démarrage</td></tr>
+démarrage</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheFile <var>chemin_fichier</var> [<var>chemin fichier</var>] ...</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>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_file_cache</td></tr>
</table>
<p>La directive <code class="directive">CacheFile</code> associe
- des gestionnaires à un ou plusieurs fichiers (séparés par des
- espaces), et place ceux-ci dans le cache au démarrage du
+ des gestionnaires à un ou plusieurs fichiers (séparés par des
+ espaces), et place ceux-ci dans le cache au démarrage du
serveur. Les gestionnaires des fichiers mis en cache sont
- automatiquement fermés à l'arrêt du serveur. Lorsqu'un ou plusieurs
- fichiers ont été modifiés sur disque, le serveur doit être redémarré
+ automatiquement fermés à l'arrêt du serveur. Lorsqu'un ou plusieurs
+ fichiers ont été modifiés sur disque, le serveur doit être redémarré
afin que les modifications soient prises en compte par le cache.</p>
<p>Soyez prudent avec les arguments <var>chemin_fichier</var> : ils
- doivent correspondre exactement au chemin du système de fichier que
- créent les gestionnaires de traduction URL-vers-nom-fichier
+ doivent correspondre exactement au chemin du système de fichier que
+ créent les gestionnaires de traduction URL-vers-nom-fichier
d'Apache. On ne peut pas comparer des inodes ou autres identifiants
- pour mettre en correspondance des chemins à l'aide de liens
- symboliques <em>(etc...)</em>, car là encore, ceci nécessiterait un
- appel à <code>stat()</code> supplémentaire, ce qui est inacceptable.
+ pour mettre en correspondance des chemins à l'aide de liens
+ symboliques <em>(etc...)</em>, car là encore, ceci nécessiterait un
+ appel à <code>stat()</code> supplémentaire, ce qui est inacceptable.
Il n'est pas garanti que ce module fonctionne avec des noms de
- fichiers réécrits par <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> ou
+ fichiers réécrits par <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> ou
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">CacheFile /usr/local/apache/htdocs/index.html</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mmapfile" id="mmapfile">Directive</a> <a name="MMapFile" id="MMapFile">MMapFile</a><a title="Lien permanent" href="#mmapfile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Charge au démarrage une liste de fichiers en
-mémoire</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Charge au démarrage une liste de fichiers en
+mémoire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MMapFile <var>chemin fichier</var> [<var>chemin_fichier</var>] ...</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>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_file_cache</td></tr>
</table>
<p>La directive <code class="directive">MMapFile</code> provoque le chargement d'un
- ou plusieurs fichiers (séparés par des espaces) en mémoire au
- démarrage du serveur. Ceux-ci sont automatiquement déchargés de la
- mémoire à l'arrêt du serveur. Lorsqu'un ou plusieurs fichiers ont
- été modifiés sur disque, on doit au minimum envoyer un signal
+ ou plusieurs fichiers (séparés par des espaces) en mémoire au
+ démarrage du serveur. Ceux-ci sont automatiquement déchargés de la
+ mémoire à l'arrêt du serveur. Lorsqu'un ou plusieurs fichiers ont
+ été modifiés sur disque, on doit au minimum envoyer un signal
<code>HUP</code> ou <code>USR1</code> au serveur afin de les
re<code>mmap()</code>er.</p>
<p>Soyez prudent avec les arguments <var>chemin_fichier</var> : ils
- doivent correspondre exactement au chemin du système de fichier que
- créent les gestionnaires de traduction URL-vers-nom-fichier
+ doivent correspondre exactement au chemin du système de fichier que
+ créent les gestionnaires de traduction URL-vers-nom-fichier
d'Apache. On ne peut pas comparer des inodes ou autres identifiants
- pour mettre en correspondance des chemins à l'aide de liens
- symboliques <em>(etc...)</em>, car là encore, ceci nécessiterait un
- appel à <code>stat()</code> supplémentaire, ce qui est inacceptable.
+ pour mettre en correspondance des chemins à l'aide de liens
+ symboliques <em>(etc...)</em>, car là encore, ceci nécessiterait un
+ appel à <code>stat()</code> supplémentaire, ce qui est inacceptable.
Il n'est pas garanti que ce module fonctionne avec des noms de
- fichiers réécrits par <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> ou
+ fichiers réécrits par <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> ou
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MMapFile /usr/local/apache/htdocs/index.html</pre>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_file_cache.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_file_cache.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_file_cache.html" title="Français"> fr </a> |
<a href="../ko/mod/mod_file_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_filter</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_filter.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_filter.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_filter.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module de configuration de filtre intelligent sensible au
contexte</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>filter_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_filter.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>filter_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_filter.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module permet une configuration intelligente et dépendant du
+ <p>Ce module permet une configuration intelligente et dépendant du
contexte des filtres de contenu en sortie. Par exemple, Apache peut
- être configuré pour faire traiter différents types de contenus par
- différents filtres, même lorsque le type de contenu n'est pas connu
- à l'avance (par exemple dans un serveur mandataire).</p>
-
- <p>Le fonctionnement de <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> consiste à
- introduire des branchements dans la chaîne de filtrage. Plutôt que
- d'insérer directement des filtres dans la chaîne, on insère un
- sélecteur de filtre qui va effectuer un branchement conditionnel
+ être configuré pour faire traiter différents types de contenus par
+ différents filtres, même lorsque le type de contenu n'est pas connu
+ à l'avance (par exemple dans un serveur mandataire).</p>
+
+ <p>Le fonctionnement de <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> consiste à
+ introduire des branchements dans la chaîne de filtrage. Plutôt que
+ d'insérer directement des filtres dans la chaîne, on insère un
+ sélecteur de filtre qui va effectuer un branchement conditionnel
vers un fournisseur de filtre. <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> peut
utiliser tout filtre de contenu comme fournisseur ; aucune
- modification des modules de filtrage existants n'est nécessaire
- (bien qu'il soit tout de même possible de les simplifier).</p>
+ modification des modules de filtrage existants n'est nécessaire
+ (bien qu'il soit tout de même possible de les simplifier).</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#smart">Filtrage intelligent</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#terms">Déclarations de filtres, fournisseurs et
-chaînes</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#config">Configuration de la chaîne de
+<li><img alt="" src="../images/down.gif" /> <a href="#terms">Déclarations de filtres, fournisseurs et
+chaînes</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#config">Configuration de la chaîne de
filtrage</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#errordocs">Filtrage et statut de la réponse</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#upgrade">Mise à jour depuis une configuration du
+<li><img alt="" src="../images/down.gif" /> <a href="#errordocs">Filtrage et statut de la réponse</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#upgrade">Mise à jour depuis une configuration du
serveur HTTP Apache 2.2</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Gestion de protocole</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#filterprovider">FilterProvider</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#filtertrace">FilterTrace</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_filter">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_filter">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_filter">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_filter">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="smart" id="smart">Filtrage intelligent</a><a title="Lien permanent" href="#smart" class="permalink">¶</a></h2>
- <p>Dans le modèle de filtrage traditionnel, les filtres sont insérés
- sans condition à l'aide de la directive <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> et des directives
- apparentées. Chaque filtre doit ensuite déterminer s'il doit
- s'exécuter ou non, et les administrateurs du serveur disposent de
- peu de souplesse pour faire en sorte que la chaîne soit traitée de
- manière dynamique.</p>
-
- <p><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>, à l'opposé, fournit aux
- administrateurs du serveur un grand degré de souplesse pour
- configurer la chaîne de filtrage. Concrètement, la décision
- d'insérer un filtre peut être prise en fonction d'une <a href="../expr.html">expression</a> booléenne complexe. Ceci
- généralise le fonctionnement relativement souple de la directive
+ <p>Dans le modèle de filtrage traditionnel, les filtres sont insérés
+ sans condition à l'aide de la directive <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> et des directives
+ apparentées. Chaque filtre doit ensuite déterminer s'il doit
+ s'exécuter ou non, et les administrateurs du serveur disposent de
+ peu de souplesse pour faire en sorte que la chaîne soit traitée de
+ manière dynamique.</p>
+
+ <p><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>, à l'opposé, fournit aux
+ administrateurs du serveur un grand degré de souplesse pour
+ configurer la chaîne de filtrage. Concrètement, la décision
+ d'insérer un filtre peut être prise en fonction d'une <a href="../expr.html">expression</a> booléenne complexe. Ceci
+ généralise le fonctionnement relativement souple de la directive
<code class="directive">AddOutputFilterByType</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="terms" id="terms">Déclarations de filtres, fournisseurs et
-chaînes</a><a title="Lien permanent" href="#terms" class="permalink">¶</a></h2>
+<h2><a name="terms" id="terms">Déclarations de filtres, fournisseurs et
+chaînes</a><a title="Lien permanent" href="#terms" class="permalink">¶</a></h2>
<p class="figure">
- <img src="../images/mod_filter_old.gif" width="160" height="310" alt="[Cette image illustre le modèle de filtrage traditionnel]" /><br />
- <dfn>Figure 1:</dfn> Le modèle de filtrage traditionnel</p>
+ <img src="../images/mod_filter_old.gif" width="160" height="310" alt="[Cette image illustre le modèle de filtrage traditionnel]" /><br />
+ <dfn>Figure 1:</dfn> Le modèle de filtrage traditionnel</p>
- <p>Dans le modèle traditionnel, les filtres en sortie constituent
- une simple chaîne s'étendant depuis le générateur de contenu (ou
+ <p>Dans le modèle traditionnel, les filtres en sortie constituent
+ une simple chaîne s'étendant depuis le générateur de contenu (ou
gestionnaire) jusqu'au client. Ce fonctionnement peut convenir s'il
- permet d'atteindre le but recherché, mais pose
- problème lorsque cette chaîne doit être configurée dynamiquement en
+ permet d'atteindre le but recherché, mais pose
+ problème lorsque cette chaîne doit être configurée dynamiquement en
fonction de la sortie du gestionnaire.</p>
<p class="figure">
- <img src="../images/mod_filter_new.gif" width="423" height="331" alt="[Cette image illustre le modèle de fonctionnement de mod_filter]" /><br />
- <dfn>Figure 2:</dfn> Le modèle de fonctionnement de
+ <img src="../images/mod_filter_new.gif" width="423" height="331" alt="[Cette image illustre le modèle de fonctionnement de mod_filter]" /><br />
+ <dfn>Figure 2:</dfn> Le modèle de fonctionnement de
<code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></p>
- <p>Le fonctionnement de <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> consiste à
- introduire des branchements dans la chaîne de filtrage. Plutôt que
- d'insérer directement des filtres dans la chaîne, on insère un
- sélecteur de filtre qui va effectuer un branchement conditionnel
+ <p>Le fonctionnement de <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> consiste à
+ introduire des branchements dans la chaîne de filtrage. Plutôt que
+ d'insérer directement des filtres dans la chaîne, on insère un
+ sélecteur de filtre qui va effectuer un branchement conditionnel
vers un fournisseur de filtre. <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> peut
utiliser tout filtre de contenu comme fournisseur ; aucune
- modification des modules de filtrage existants n'est nécessaire
- (bien qu'il soit tout de même possible de les simplifier). Il peut y
+ modification des modules de filtrage existants n'est nécessaire
+ (bien qu'il soit tout de même possible de les simplifier). Il peut y
avoir plusieurs fournisseurs pour un seul filtre, mais un seul
- fournisseur sera choisi pour chaque requête.</p>
+ fournisseur sera choisi pour chaque requête.</p>
- <p>Une chaîne de filtrage peut comporter autant d'instances du
- sélecteur de filtre que l'on souhaite, chacune d'entre elles pouvant
- disposer de plusieurs fournisseurs. Un sélecteur de filtre possédant
+ <p>Une chaîne de filtrage peut comporter autant d'instances du
+ sélecteur de filtre que l'on souhaite, chacune d'entre elles pouvant
+ disposer de plusieurs fournisseurs. Un sélecteur de filtre possédant
un seul fournisseur dont le choix est inconditionnel constitue un
- cas particulier : cette situation est équivalente à l'insertion
- directe du filtre dans la chaîne.</p>
+ cas particulier : cette situation est équivalente à l'insertion
+ directe du filtre dans la chaîne.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="config" id="config">Configuration de la chaîne de
+<h2><a name="config" id="config">Configuration de la chaîne de
filtrage</a><a title="Lien permanent" href="#config" class="permalink">¶</a></h2>
- <p>Trois étapes sont nécessaires pour configurer une chaîne de
+ <p>Trois étapes sont nécessaires pour configurer une chaîne de
filtrage avec <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>. Voir ci-dessous la
- description détaillée des directives.</p>
+ description détaillée des directives.</p>
<dl>
- <dt>Déclaration des filtres</dt>
+ <dt>Déclaration des filtres</dt>
<dd>La directive <code class="directive"><a href="#filterdeclare">FilterDeclare</a></code>
- permet de déclarer un nouveau filtre intelligent en lui assignant un nom et
- éventuellement un type.</dd>
+ permet de déclarer un nouveau filtre intelligent en lui assignant un nom et
+ éventuellement un type.</dd>
<dt>Enregistrement des fournisseurs</dt>
<dd>La directive <code class="directive"><a href="#filterprovider">FilterProvider</a></code> permet d'associer un
- fournisseur à un filtre. Le filtre a été éventuellement déclaré à
+ fournisseur à un filtre. Le filtre a été éventuellement déclaré à
l'aide de la directive <code class="directive"><a href="#filterdeclare">FilterDeclare</a></code> ; si ce n'est pas le cas, FilterProvider
- va le déclarer implicitement. Le fournisseur doit avoir été enregistré à
+ va le déclarer implicitement. Le fournisseur doit avoir été enregistré à
l'aide de <code>ap_register_output_filter</code> par un module
quelconque. Le dernier argument de la directive <code class="directive"><a href="#filterprovider">FilterProvider</a></code> est une expression :
- le fournisseur s'exécutera pour une requête si et seulement si
- l'expression est évaluée vraie. L'expression peut évaluer une
- requête HTTP ou les en-têtes de la réponse, des variables
- d'environnement, ou le gestionnaire utilisé par cette requête. À la
- différence des version précédentes, mod_filter supporte désormais
- les expressions complexes associant des critères multiples au moyen
- d'une logique AND / OR (&& / ||) et de parenthèses. Pour les
- détails sur la syntaxe de l'expression, voir la <a href="../expr.html">documentation sur ap_expr</a>.</dd>
-
- <dt>Configuration de la chaîne de filtrage</dt>
- <dd>Les directives ci-dessus permettent d'élaborer les éléments
- d'une chaîne de filtrage intelligente, mais pas de les configurer en
- vue de leur exécution. La directive <code class="directive"><a href="#filterchain">FilterChain</a></code> élabore une chaîne de filtrage à
- partir de filtres intelligents déclarés, permettant avec souplesse
- d'insérer des filtres au début ou à la fin de la chaîne, de
- supprimer un filtre ou même la chaîne complète.</dd>
+ le fournisseur s'exécutera pour une requête si et seulement si
+ l'expression est évaluée vraie. L'expression peut évaluer une
+ requête HTTP ou les en-têtes de la réponse, des variables
+ d'environnement, ou le gestionnaire utilisé par cette requête. À la
+ différence des version précédentes, mod_filter supporte désormais
+ les expressions complexes associant des critères multiples au moyen
+ d'une logique AND / OR (&& / ||) et de parenthèses. Pour les
+ détails sur la syntaxe de l'expression, voir la <a href="../expr.html">documentation sur ap_expr</a>.</dd>
+
+ <dt>Configuration de la chaîne de filtrage</dt>
+ <dd>Les directives ci-dessus permettent d'élaborer les éléments
+ d'une chaîne de filtrage intelligente, mais pas de les configurer en
+ vue de leur exécution. La directive <code class="directive"><a href="#filterchain">FilterChain</a></code> élabore une chaîne de filtrage à
+ partir de filtres intelligents déclarés, permettant avec souplesse
+ d'insérer des filtres au début ou à la fin de la chaîne, de
+ supprimer un filtre ou même la chaîne complète.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="errordocs" id="errordocs">Filtrage et statut de la réponse</a><a title="Lien permanent" href="#errordocs" class="permalink">¶</a></h2>
- <p>Normalement, mod_filter n'applique les filtres qu'aux réponses
- possédant un statut HTTP 200 (OK). Pour pouvoir filtrer des
- documents possédant un autre statut, vous devez définir la variable
- d'environnement <var>filter-errordocs</var>, les réponses étant
- alors filtrées sans se préoccuper de leur statut. Pour définir ce
- comportement de manière plus fine, vous pouvez utiliser des
+<h2><a name="errordocs" id="errordocs">Filtrage et statut de la réponse</a><a title="Lien permanent" href="#errordocs" class="permalink">¶</a></h2>
+ <p>Normalement, mod_filter n'applique les filtres qu'aux réponses
+ possédant un statut HTTP 200 (OK). Pour pouvoir filtrer des
+ documents possédant un autre statut, vous devez définir la variable
+ d'environnement <var>filter-errordocs</var>, les réponses étant
+ alors filtrées sans se préoccuper de leur statut. Pour définir ce
+ comportement de manière plus fine, vous pouvez utiliser des
conditions dans la directive
<code class="directive">FilterProvider</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="upgrade" id="upgrade">Mise à jour depuis une configuration du
+<h2><a name="upgrade" id="upgrade">Mise à jour depuis une configuration du
serveur HTTP Apache 2.2</a><a title="Lien permanent" href="#upgrade" class="permalink">¶</a></h2>
- <p>La directive <code class="directive"><a href="#filterprovider">FilterProvider</a></code> a été modifiée par
- rapport à httpd 2.2 : les arguments <var>match</var> et
- <var>dispatch</var> ont été remplacés par l'argument unique
- <var>expression</var> plus polyvalent. En général, il est possible
- de convertir une paire match/dispatch vers les deux côtés d'une
- expression, de la manière suivante :</p>
+ <p>La directive <code class="directive"><a href="#filterprovider">FilterProvider</a></code> a été modifiée par
+ rapport à httpd 2.2 : les arguments <var>match</var> et
+ <var>dispatch</var> ont été remplacés par l'argument unique
+ <var>expression</var> plus polyvalent. En général, il est possible
+ de convertir une paire match/dispatch vers les deux côtés d'une
+ expression, de la manière suivante :</p>
<div class="example"><p><code>"dispatch = 'match'"</code></p></div>
- <p>Les en-têtes de requête et de réponse et les variables
- d'environnement sont maintenant interprétés selon les syntaxes
+ <p>Les en-têtes de requête et de réponse et les variables
+ d'environnement sont maintenant interprétés selon les syntaxes
respectives <var>%{req:foo}</var>, <var>%{resp:foo}</var> et
<var>%{env:foo}</var>. Les variables <var>%{HANDLER}</var> et
- <var>%{CONTENT_TYPE}</var> sont également supportées.</p>
- <p>Notez que l'évaluation de l'expression ne supporte plus les
- comparaisons de sous-chaînes. Ces dernières peuvent
- être remplacées par des comparaisons d'expressions rationnelles.</p>
+ <var>%{CONTENT_TYPE}</var> sont également supportées.</p>
+ <p>Notez que l'évaluation de l'expression ne supporte plus les
+ comparaisons de sous-chaînes. Ces dernières peuvent
+ être remplacées par des comparaisons d'expressions rationnelles.</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><a title="Lien permanent" href="#examples" class="permalink">¶</a></h2>
<dl>
- <dt>Inclusions côté serveur (SSI)</dt>
- <dd>Un exemple simple de remplacement de la directive <code class="directive"><a href="../mod/core.html#addoutputfilterbytype">AddOutputFilterByType</a></code>. On crée un nouveau filtre
- intelligent nommé "SSI" qui tire partie de manière conditionnelle du filtre
+ <dt>Inclusions côté serveur (SSI)</dt>
+ <dd>Un exemple simple de remplacement de la directive <code class="directive"><a href="../mod/core.html#addoutputfilterbytype">AddOutputFilterByType</a></code>. On crée un nouveau filtre
+ intelligent nommé "SSI" qui tire partie de manière conditionnelle du filtre
"INCLUDES" de <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> en tant que fournisseur.
<pre class="prettyprint lang-config">FilterDeclare SSI
FilterProvider SSI INCLUDES "%{CONTENT_TYPE} =~ m|^text/html|"
</dd>
- <dt>Inclusions côté serveur (SSI)</dt>
- <dd>Même exemple que ci-dessus, mais envoi vers un gestionnaire
+ <dt>Inclusions côté serveur (SSI)</dt>
+ <dd>Même exemple que ci-dessus, mais envoi vers un gestionnaire
(comportement classique des SSI ; les fichiers .shtml sont
- traités).
+ traités).
<pre class="prettyprint lang-config">FilterProvider SSI INCLUDES "%{HANDLER} = 'server-parsed'"
FilterChain SSI</pre>
</dd>
- <dt>Émulation de mod_gzip avec mod_deflate</dt>
- <dd>Cet exemple illustre les propriétés dynamiques qu'acquiert un filtre
+ <dt>Émulation de mod_gzip avec mod_deflate</dt>
+ <dd>Cet exemple illustre les propriétés dynamiques qu'acquiert un filtre
traditionnel lorsqu'un filtre intelligent est construit autour. Un nouveau
- filtre intelligent nommé "gzip" est créé qui n'insère de manière dynamique le
+ filtre intelligent nommé "gzip" est créé qui n'insère de manière dynamique le
filtre INFLATE de <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> que si "gzip" n'est PAS dans
- l'en-tête Accept-Encoding. Le filtre intelligent gzip s'exécute
+ l'en-tête Accept-Encoding. Le filtre intelligent gzip s'exécute
avec le type ftype CONTENT_SET.
<pre class="prettyprint lang-config">FilterDeclare gzip CONTENT_SET
FilterProvider gzip INFLATE "%{req:Accept-Encoding} !~ /gzip/"
</dd>
- <dt>Diminution de la résolution d'une image</dt>
- <dd>Cette exemple montre des abstractions qui vont au delà du filtrage
- intelligent. Supposons que nous voulions réduire la résolution de toutes les
- images web, et que nous disposions de différents fournisseurs de filtrage pour les images GIF,
- JPEG et PNG. La configuration ci-dessous définit les filtres intelligents
- "unpack" et "repack" en invoquant le fournisseur de filtrage approprié au
- type de contenu à l'exécution.
+ <dt>Diminution de la résolution d'une image</dt>
+ <dd>Cette exemple montre des abstractions qui vont au delà du filtrage
+ intelligent. Supposons que nous voulions réduire la résolution de toutes les
+ images web, et que nous disposions de différents fournisseurs de filtrage pour les images GIF,
+ JPEG et PNG. La configuration ci-dessous définit les filtres intelligents
+ "unpack" et "repack" en invoquant le fournisseur de filtrage approprié au
+ type de contenu à l'exécution.
<pre class="prettyprint lang-config">FilterProvider unpack jpeg_unpack "%{CONTENT_TYPE} = 'image/jpeg'"
FilterProvider unpack gif_unpack "%{CONTENT_TYPE} = 'image/gif'"
FilterProvider unpack png_unpack "%{CONTENT_TYPE} = 'image/png'"
<div class="section">
<h2><a name="protocol" id="protocol">Gestion de protocole</a><a title="Lien permanent" href="#protocol" class="permalink">¶</a></h2>
<p>Historiquement, tout filtre doit s'assurer que toute modification
- qu'il effectue est correctement représentée dans les en-têtes de la
- réponse HTTP, et qu'il ne s'exécutera pas si cette exécution
- résultait en une modification interdite. Ceci impose aux auteurs de
- filtres la corvée de réimplémenter certaines fonctionnalités
+ qu'il effectue est correctement représentée dans les en-têtes de la
+ réponse HTTP, et qu'il ne s'exécutera pas si cette exécution
+ résultait en une modification interdite. Ceci impose aux auteurs de
+ filtres la corvée de réimplémenter certaines fonctionnalités
communes dans chaque filtre :</p>
<ul>
<li>De nombreux filtres modifient les contenus, et de ce fait
invalident les balises de ces contenus, leur somme de
- contrôle, leur condensé (hash) existant, ainsi que leur
+ contrôle, leur condensé (hash) existant, ainsi que leur
taille.</li>
- <li>Les filtres qui nécessitent une réponse entière et non tronquée en
- entrée, doivent s'assurer qu'il n'ont pas reçu une réponse à une
- requête partielle.</li>
+ <li>Les filtres qui nécessitent une réponse entière et non tronquée en
+ entrée, doivent s'assurer qu'il n'ont pas reçu une réponse à une
+ requête partielle.</li>
<li>Les filtres qui modifient la sortie d'un autre filtre doivent
- s'assurer qu'ils ne violent pas la directive d'un en-tête
- <code>Cache-Control: no-transform</code> éventuel.</li>
+ s'assurer qu'ils ne violent pas la directive d'un en-tête
+ <code>Cache-Control: no-transform</code> éventuel.</li>
- <li>Les filtres peuvent agir sur des réponses de façon à ce qu'elles
- ne puissent plus être mises en cache.</li>
+ <li>Les filtres peuvent agir sur des réponses de façon à ce qu'elles
+ ne puissent plus être mises en cache.</li>
</ul>
- <p><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> a pour but de gérer de manière
- générale ces détails de l'implémentation des filtres, réduisant par
- là-même la complexité des modules de filtrage de contenu. Le
+ <p><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> a pour but de gérer de manière
+ générale ces détails de l'implémentation des filtres, réduisant par
+ là-même la complexité des modules de filtrage de contenu. Le
travail permettant d'atteindre ce but est cependant toujours en
cours ; la directive <code class="directive"><a href="#filterprotocol">FilterProtocol</a></code>
- implémente certaines de ces fonctionnalités à des fins de
- compatibilité ascendante avec les modules d'Apache 2.0. Pour les
- versions 2.1 et supérieures de httpd, les API
+ implémente certaines de ces fonctionnalités à des fins de
+ compatibilité ascendante avec les modules d'Apache 2.0. Pour les
+ versions 2.1 et supérieures de httpd, les API
<code>ap_register_output_filter_protocol</code> et
<code>ap_filter_protocol</code> permettent aux modules de filtrage
- de définir leurs propres comportements.</p>
+ de définir leurs propres comportements.</p>
- <p>Cependant, <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> ne doit pas interférer
- avec un filtre qui gère déjà tous les aspects du protocole. Par
- défaut (c'est à dire en l'absence de toute directive <code class="directive"><a href="#filterprotocol">FilterProtocol</a></code>),
- <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> ne modifiera donc pas les en-têtes.</p>
+ <p>Cependant, <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> ne doit pas interférer
+ avec un filtre qui gère déjà tous les aspects du protocole. Par
+ défaut (c'est à dire en l'absence de toute directive <code class="directive"><a href="#filterprotocol">FilterProtocol</a></code>),
+ <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> ne modifiera donc pas les en-têtes.</p>
- <p>Au moment où ces lignes sont écrites, cette fonctionnalité a été
- très peu testée, car les modules d'usage courant ont été conçus pour
+ <p>Au moment où ces lignes sont écrites, cette fonctionnalité a été
+ très peu testée, car les modules d'usage courant ont été conçus pour
fonctionner avec httpd 2.0. Les modules qui l'utilisent devront donc
- l'expérimenter avec précautions.</p>
+ l'expérimenter avec précautions.</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="addoutputfilterbytype" id="addoutputfilterbytype">Directive</a> <a name="AddOutputFilterByType" id="AddOutputFilterByType">AddOutputFilterByType</a><a title="Lien permanent" href="#addoutputfilterbytype" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>assigne un filtre en sortie pour un type de média
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>assigne un filtre en sortie pour un type de média
particulier</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddOutputFilterByType <var>filtre</var>[;<var>filtre</var>...]
-<var>type_de_média</var> [<var>type_de_média</var>] ...</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>
+<var>type_de_média</var> [<var>type_de_média</var>] ...</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">AllowOverride:</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_filter</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Présentait de sévères limitations avant d'être déplacé dans
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Présentait de sévères limitations avant d'être déplacé dans
<code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> dans la version 2.3.7</td></tr>
</table>
<p>Cette directive active un <a href="../filter.html">filtre</a> en sortie particulier pour une
- requête en fonction du <a class="glossarylink" href="../glossary.html#type de média" title="voir glossaire">type de média</a> de la réponse.</p>
+ requête en fonction du <a class="glossarylink" href="../glossary.html#type de média" title="voir glossaire">type de média</a> de la réponse.</p>
<p>L'exemple suivant active le filtre <code>DEFLATE</code> qui est
fourni par le module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>. Il va compresser
<p>Si vous voulez assigner plusieurs filtres au contenu, leurs noms
- doivent être séparés par des points-virgules. On peut aussi utiliser
+ doivent être séparés par des points-virgules. On peut aussi utiliser
une directive <code class="directive">AddOutputFilterByType</code> pour
- chacun des filtres à assigner.</p>
+ chacun des filtres à assigner.</p>
<p>La configuration ci-dessous impose le traitement de toute sortie
de script dont le type MIME est <code>text/html</code> en premier
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="filterchain" id="filterchain">Directive</a> <a name="FilterChain" id="FilterChain">FilterChain</a><a title="Lien permanent" href="#filterchain" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure la chaîne de filtrage</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure la chaîne de filtrage</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FilterChain [+=-@!]<var>smart-filter-name</var> <var>...</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</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_filter</td></tr>
</table>
- <p>Cette directive permet de configurer une chaîne de filtrage
- composée de filtres déclarés. <code class="directive">FilterChain</code>
- accepte un nombre illimité d'arguments, chacun d'entre eux étant
- précédé d'un caractère de contrôle unique qui détermine l'action à
+ <p>Cette directive permet de configurer une chaîne de filtrage
+ composée de filtres déclarés. <code class="directive">FilterChain</code>
+ accepte un nombre illimité d'arguments, chacun d'entre eux étant
+ précédé d'un caractère de contrôle unique qui détermine l'action à
entreprendre :</p>
<dl>
<dt><code>+<var>smart-filter-name</var></code></dt>
- <dd>Ajoute <var>smart-filter-name</var> à la fin de la chaîne de filtrage</dd>
+ <dd>Ajoute <var>smart-filter-name</var> à la fin de la chaîne de filtrage</dd>
<dt><code>@<var>smart-filter-name</var></code></dt>
- <dd>Ajoute <var>smart-filter-name</var> au début de la chaîne de filtrage</dd>
+ <dd>Ajoute <var>smart-filter-name</var> au début de la chaîne de filtrage</dd>
<dt><code>-<var>smart-filter-name</var></code></dt>
- <dd>Supprime <var>smart-filter-name</var> de la chaîne de filtrage</dd>
+ <dd>Supprime <var>smart-filter-name</var> de la chaîne de filtrage</dd>
<dt><code>=<var>smart-filter-name</var></code></dt>
- <dd>Supprime tous les filtres de la chaîne de filtrage existante et
+ <dd>Supprime tous les filtres de la chaîne de filtrage existante et
les remplace par <var>smart-filter-name</var></dd>
<dt><code>!</code></dt>
- <dd>Supprime tous les filtres de la chaîne de filtrage existante</dd>
+ <dd>Supprime tous les filtres de la chaîne de filtrage existante</dd>
<dt><code><var>smart-filter-name</var></code></dt>
- <dd>Équivalent à <code>+<var>smart-filter-name</var></code></dd>
+ <dd>Équivalent à <code>+<var>smart-filter-name</var></code></dd>
</dl>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="filterdeclare" id="filterdeclare">Directive</a> <a name="FilterDeclare" id="FilterDeclare">FilterDeclare</a><a title="Lien permanent" href="#filterdeclare" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare un filtre intelligent</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare un filtre intelligent</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FilterDeclare <var>smart-filter-name</var> <var>[type]</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</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_filter</td></tr>
</table>
- <p>Cette directive permet de déclarer un filtre en sortie associé à
- un en-tête ou une variable d'environnement qui déterminera les
- conditions de son exécution. Le premier argument est le
- <var>smart-filter-name</var> destiné à être utilisé dans les directives
+ <p>Cette directive permet de déclarer un filtre en sortie associé à
+ un en-tête ou une variable d'environnement qui déterminera les
+ conditions de son exécution. Le premier argument est le
+ <var>smart-filter-name</var> destiné à être utilisé dans les directives
<code class="directive"><a href="#filterprovider">FilterProvider</a></code>, <code class="directive"><a href="#filterchain">FilterChain</a></code> et <code class="directive"><a href="#filterprotocol">FilterProtocol</a></code>.</p>
<p>Le dernier argument (optionnel) est le type du filtre, et peut
- prendre les valeurs de <code>ap_filter_type</code>, à savoir
- <code>RESOURCE</code> (valeur par défaut), <code>CONTENT_SET</code>,
+ prendre les valeurs de <code>ap_filter_type</code>, à savoir
+ <code>RESOURCE</code> (valeur par défaut), <code>CONTENT_SET</code>,
<code>PROTOCOL</code>, <code>TRANSCODE</code>,
<code>CONNECTION</code> ou <code>NETWORK</code>.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="filterprotocol" id="filterprotocol">Directive</a> <a name="FilterProtocol" id="FilterProtocol">FilterProtocol</a><a title="Lien permanent" href="#filterprotocol" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie le respect du protocole HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie le respect du protocole HTTP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FilterProtocol <var>smart-filter-name</var> [<var>provider-name</var>]
<var>proto-flags</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</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_filter</td></tr>
</table>
- <p>Cette directive permet à <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> de s'assurer
- qu'un filtre ne s'exécutera pas s'il ne doit pas le faire, et que
- les en-têtes de la réponse HTTP sont définis correctement en tenant
+ <p>Cette directive permet à <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> de s'assurer
+ qu'un filtre ne s'exécutera pas s'il ne doit pas le faire, et que
+ les en-têtes de la réponse HTTP sont définis correctement en tenant
compte des effets du filtre.</p>
- <p>Cette directive se présente sous deux formes. Avec trois
- arguments, elle s'applique de manière spécifique à un <var>smart-filter-name</var> et un <var>provider-name</var> pour ce filtre. Avec
- deux arguments, elle s'applique à un <var>smart-filter-name</var> pour
+ <p>Cette directive se présente sous deux formes. Avec trois
+ arguments, elle s'applique de manière spécifique à un <var>smart-filter-name</var> et un <var>provider-name</var> pour ce filtre. Avec
+ deux arguments, elle s'applique à un <var>smart-filter-name</var> pour
<em>tout</em> fournisseur qu'il actionne.</p>
- <p>Les drapeaux spécifiés sont fusionnés avec les drapeaux que les
- fournisseurs sous-jacents ont éventuellement enregistrés avec
+ <p>Les drapeaux spécifiés sont fusionnés avec les drapeaux que les
+ fournisseurs sous-jacents ont éventuellement enregistrés avec
<code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>. Par exemple, un filtre peut avoir
- spécifié en interne un drapeau équivalent à <code>change=yes</code>,
- mais une configuration particulière du module peut le surcharger
- en spécifiant <code>change=no</code>.
+ spécifié en interne un drapeau équivalent à <code>change=yes</code>,
+ mais une configuration particulière du module peut le surcharger
+ en spécifiant <code>change=no</code>.
</p>
<p><var>proto-flags</var> peut contenir un ou plusieurs
<dl>
<dt><code>change=yes|no</code></dt>
- <dd>Indique si le filtre doit modifier le contenu, y compris éventuellement sa
+ <dd>Indique si le filtre doit modifier le contenu, y compris éventuellement sa
taille</dd>
<dt><code>change=1:1</code></dt>
<dd>Le filtre modifie le contenu, mais pas sa taille</dd>
<dt><code>byteranges=no</code></dt>
- <dd>Le filtre ne peut pas traiter de réponses à des sous-requêtes et
- nécessite des réponses complètes en entrée</dd>
+ <dd>Le filtre ne peut pas traiter de réponses à des sous-requêtes et
+ nécessite des réponses complètes en entrée</dd>
<dt><code>proxy=no</code></dt>
- <dd>Le filtre ne doit pas s'exécuter dans un contexte de mandataire</dd>
+ <dd>Le filtre ne doit pas s'exécuter dans un contexte de mandataire</dd>
<dt><code>proxy=transform</code></dt>
- <dd>Le filtre transforme la réponse de manière incompatible avec
- l'en-tête HTTP <code>Cache-Control: no-transform</code></dd>
+ <dd>Le filtre transforme la réponse de manière incompatible avec
+ l'en-tête HTTP <code>Cache-Control: no-transform</code></dd>
<dt><code>cache=no</code></dt>
- <dd>Le filtre fait en sorte que la sortie ne puisse pas être mise en
+ <dd>Le filtre fait en sorte que la sortie ne puisse pas être mise en
cache (par exemple en introduisant des modifications de contenu
- aléatoires)</dd>
+ aléatoires)</dd>
</dl>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre un filtre de contenu</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FilterProvider <var>smart-filter-name</var> <var>provider-name</var>
<var>expression</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</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_filter</td></tr>
</table>
<p>Cette directive permet d'associer un <em>fournisseur</em> au
- filtre intelligent. Le fournisseur sera invoqué si et seulement si
- l'<var>expression</var> est évaluée vraie lorsque le sélecteur de
- filtre est appelé pour la première fois.</p>
+ filtre intelligent. Le fournisseur sera invoqué si et seulement si
+ l'<var>expression</var> est évaluée vraie lorsque le sélecteur de
+ filtre est appelé pour la première fois.</p>
<p>
- <var>provider-name</var> doit avoir été enregistré au cours du
- chargement d'un module à l'aide de
+ <var>provider-name</var> doit avoir été enregistré au cours du
+ chargement d'un module à l'aide de
<code>ap_register_output_filter</code>.
</p>
<h3>Voir aussi</h3>
<ul>
<li><a href="../expr.html">Les expressions dans le serveur HTTP
-Apache</a>, pour une référence complète et d'autres exemples.</li>
+Apache</a>, pour une référence complète et d'autres exemples.</li>
<li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></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="filtertrace" id="filtertrace">Directive</a> <a name="FilterTrace" id="FilterTrace">FilterTrace</a><a title="Lien permanent" href="#filtertrace" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Obtention d'informations de débogage/diagnostique en
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Obtention d'informations de débogage/diagnostique en
provenance de <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FilterTrace <var>smart-filter-name</var> <var>level</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_filter</td></tr>
</table>
- <p>Cette directive permet d'obtenir des informations de débogage en
- provenance de <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>. Elle est conçue pour
- aider à tester et déboguer les fournisseurs (ou modules de filtrage)
- ; elle peut aussi apporter une aide à l'utilisation de
- <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> lui-même.</p>
+ <p>Cette directive permet d'obtenir des informations de débogage en
+ provenance de <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>. Elle est conçue pour
+ aider à tester et déboguer les fournisseurs (ou modules de filtrage)
+ ; elle peut aussi apporter une aide à l'utilisation de
+ <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> lui-même.</p>
- <p>La sortie de débogage dépend de la définition d'argument
+ <p>La sortie de débogage dépend de la définition d'argument
<var>level</var> :</p>
<dl>
- <dt><code>0</code> (valeur par défaut)</dt>
- <dd>Aucune information de débogage n'est générée.</dd>
+ <dt><code>0</code> (valeur par défaut)</dt>
+ <dd>Aucune information de débogage n'est générée.</dd>
<dt><code>1</code></dt>
<dd><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code> va enregistrer les ensembles de
- conteneurs de données (buckets and brigades) qui traversent le
+ conteneurs de données (buckets and brigades) qui traversent le
filtre dans le journal des erreurs, avant que le fournisseur ne les
- traite. Ces informations sont similaires à celles générées par <a href="http://apache.webthing.com/mod_diagnostics/">mod_diagnostics</a>.
+ traite. Ces informations sont similaires à celles générées par <a href="http://apache.webthing.com/mod_diagnostics/">mod_diagnostics</a>.
</dd>
- <dt><code>2</code> (pas encore implémenté)</dt>
- <dd>Ce niveau permettra d'enregistrer l'ensemble des données qui
+ <dt><code>2</code> (pas encore implémenté)</dt>
+ <dd>Ce niveau permettra d'enregistrer l'ensemble des données qui
traversent le filtre dans un fichier temporaire avant de les envoyer
- au fournisseur. <strong>Pour un débogage mono-utilisateur
- seulement</strong> ; l'enregistrement des données concernant
- plusieurs requêtes simultannées ne sera pas supporté.</dd>
+ au fournisseur. <strong>Pour un débogage mono-utilisateur
+ seulement</strong> ; l'enregistrement des données concernant
+ plusieurs requêtes simultannées ne sera pas supporté.</dd>
</dl>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_filter.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_filter.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_filter.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_firehose</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_firehose.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_firehose.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_firehose.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Multiplexage des entrées/sorties vers un fichier ou un pipe.</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Multiplexage des entrées/sorties vers un fichier ou un pipe.</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>firehose_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_firehose.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>firehose_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_firehose.c</td></tr></table>
<h3>Sommaire</h3>
- <p><code>mod_firehose</code> fournit un mécanisme permettant
- d'enregistrer les données transmises entre le serveur httpd et le
- client au niveau élémentaire de la connexion dans un fichier ou un
- pipe, de façon à ce que les données puissent être analysées ou
- rejouées ultérieurement par le serveur. Il s'apparente à un "tcpdump
+ <p><code>mod_firehose</code> fournit un mécanisme permettant
+ d'enregistrer les données transmises entre le serveur httpd et le
+ client au niveau élémentaire de la connexion dans un fichier ou un
+ pipe, de façon à ce que les données puissent être analysées ou
+ rejouées ultérieurement par le serveur. Il s'apparente à un "tcpdump
pour httpd".</p>
- <p>Les connexions sont enregistrées après décodage de la couche SSL,
- et peuvent ainsi être utilisées dans le cadre d'une réquisition
- légale.</p>
+ <p>Les connexions sont enregistrées après décodage de la couche SSL,
+ et peuvent ainsi être utilisées dans le cadre d'une réquisition
+ légale.</p>
<p>L'utilitaire <code class="program"><a href="../programs/firehose.html">firehose</a></code> permet en retour de
- démultiplexer le flux enregistré dans des fichiers individuels pour
+ démultiplexer le flux enregistré dans des fichiers individuels pour
analyse ou rejeu via des outils tels que <code>netcat</code>.</p>
- <div class="note"><h3>AVERTISSEMENT</h3>Ce module ignore tout mécanisme
- invoqué au niveau de la requête pour rendre les données privées. Il
- est donc de la responsabilité de l'administrateur de s'assurer que
- les données privées ne seront pas compromises par son utilisation.
+ <div class="note"><h3>AVERTISSEMENT</h3>Ce module ignore tout mécanisme
+ invoqué au niveau de la requête pour rendre les données privées. Il
+ est donc de la responsabilité de l'administrateur de s'assurer que
+ les données privées ne seront pas compromises par son utilisation.
</div>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#enable">Activation de la "Lance à incendie" (Firehose)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#enable">Activation de la "Lance à incendie" (Firehose)</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#format">Format du flux</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#firehoserequestinput">FirehoseRequestInput</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#firehoserequestoutput">FirehoseRequestOutput</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_firehose">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_firehose">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_firehose">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_firehose">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="program"><a href="../programs/firehose.html">firehose</a></code></li>
<li><a href="#comments_section">Commentaires</a></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="enable" id="enable">Activation de la "Lance à incendie" (Firehose)</a><a title="Lien permanent" href="#enable" class="permalink">¶</a></h2>
+<h2><a name="enable" id="enable">Activation de la "Lance à incendie" (Firehose)</a><a title="Lien permanent" href="#enable" class="permalink">¶</a></h2>
- <p>Pour activer ce module, il doit être compilé et chargé via la
+ <p>Pour activer ce module, il doit être compilé et chargé via la
configuration de votre instance httpd courante, et les directives
- ci-dessous permettent de sélectionner les données que vous souhaitez
+ ci-dessous permettent de sélectionner les données que vous souhaitez
enregistrer.</p>
- <p>Il est possible d'enregistrer les données entrantes et sortantes
- dans le même fichier, car la direction du flux est indiquée dans
+ <p>Il est possible d'enregistrer les données entrantes et sortantes
+ dans le même fichier, car la direction du flux est indiquée dans
chaque fragment.</p>
- <p>Il est possible d'écrire vers des fichiers normaux ou des listes
+ <p>Il est possible d'écrire vers des fichiers normaux ou des listes
fifos (pipes). Dans le cas des listes fifos, mod_firehose fait en
- sorte que la taille des paquets ne dépasse pas la valeur de PIPE_BUF
- afin de s'assurer que l'écriture de ces derniers s'effectue en une
+ sorte que la taille des paquets ne dépasse pas la valeur de PIPE_BUF
+ afin de s'assurer que l'écriture de ces derniers s'effectue en une
seule fois.</p>
- <p>Si une liste fifo sous forme de pipe doit être utilisée, pour que
- cette dernière soit ouverte en écriture, certaines données doivent
- en être extraites avant le démarrage de httpd. Si l'ouverture du
- pipe échoue, mod_firehose ne sera pas activé, et le serveur sera
- lancé normalement.</p>
+ <p>Si une liste fifo sous forme de pipe doit être utilisée, pour que
+ cette dernière soit ouverte en écriture, certaines données doivent
+ en être extraites avant le démarrage de httpd. Si l'ouverture du
+ pipe échoue, mod_firehose ne sera pas activé, et le serveur sera
+ lancé normalement.</p>
- <p>Par défaut, toute tentative d'écriture bloque le serveur. Si le
- serveur a été compilé avec APR version 2.0 ou supérieure, et si le
- paramètre "nonblock" a été spécifié, les écritures dans les fichiers
- seront non blocantes, et tout dépassement de tampon entraînera la
- perte des données de débogage. Dans ce cas, il est possible donner
- la priorité à l'exécution du serveur sur l'enregistrement des
- données firehose.</p>
+ <p>Par défaut, toute tentative d'écriture bloque le serveur. Si le
+ serveur a été compilé avec APR version 2.0 ou supérieure, et si le
+ paramètre "nonblock" a été spécifié, les écritures dans les fichiers
+ seront non blocantes, et tout dépassement de tampon entraînera la
+ perte des données de débogage. Dans ce cas, il est possible donner
+ la priorité à l'exécution du serveur sur l'enregistrement des
+ données firehose.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="format" id="format">Format du flux</a><a title="Lien permanent" href="#format" class="permalink">¶</a></h2>
- <p>En général, le serveur gère plusieurs connexions simultanément,
- et de ce fait, les requêtes et les réponses doivent être
- multiplexées avant d'être écrites dans le firehose.</p>
+ <p>En général, le serveur gère plusieurs connexions simultanément,
+ et de ce fait, les requêtes et les réponses doivent être
+ multiplexées avant d'être écrites dans le firehose.</p>
- <p>Chaque fragment se présente sous la forme d'un texte en clair
- de façon à ce qu'un firehose puisse être ouvert et inspecté par un
- éditeur de texte standard. Il est aussi possible d'utiliser
- l'utilitaire <code class="program"><a href="../programs/firehose.html">firehose</a></code> pour démultiplexer le
- firehose en requêtes ou connexions individuelles.</p>
-
- <p>La taille maximale des fragments multiplexés est définie par la
- variable PIPE_BUF. Elle correspond à la taille maximale d'un
- élément que le système peut écrire. Si la taille des fragments
- multiplexés reste en dessous de PIPE_BUF, le module garantit que les
- contenus des différents fragments ne se recouperont pas. La valeur
- de PIPE_BUF varie en fonction du système d'exploitation.</p>
+ <p>Chaque fragment se présente sous la forme d'un texte en clair
+ de façon à ce qu'un firehose puisse être ouvert et inspecté par un
+ éditeur de texte standard. Il est aussi possible d'utiliser
+ l'utilitaire <code class="program"><a href="../programs/firehose.html">firehose</a></code> pour démultiplexer le
+ firehose en requêtes ou connexions individuelles.</p>
+
+ <p>La taille maximale des fragments multiplexés est définie par la
+ variable PIPE_BUF. Elle correspond à la taille maximale d'un
+ élément que le système peut écrire. Si la taille des fragments
+ multiplexés reste en dessous de PIPE_BUF, le module garantit que les
+ contenus des différents fragments ne se recouperont pas. La valeur
+ de PIPE_BUF varie en fonction du système d'exploitation.</p>
<p>La BNF du format du fragment est la suivante :</p>
header = length SPC timestamp SPC ( request | response ) SPC uuid SPC count
- length = <longueur de fragment sur 16 octets hexadécimaux>
- timestamp = <temps depuis 1970 en microsecondes sur 16 octets hexadécimaux>
+ length = <longueur de fragment sur 16 octets hexadécimaux>
+ timestamp = <temps depuis 1970 en microsecondes sur 16 octets hexadécimaux>
request = "<"
response = ">"
- uuid = <uuid formaté de la connexion>
- count = <numéro hexadécimal du fragment dans la connexion>
+ uuid = <uuid formaté de la connexion>
+ count = <numéro hexadécimal du fragment dans la connexion>
body = <contenu binaire du fragment>
SPC = <un espace>
CRLF = <un retour chariot suivi d'une nouvelle ligne></pre>
- <p>Tous les fragments d'une connexion ou d'une requête partagent le
- même UUID, selon que les connexions ou les requêtes sont
- enregistrées ou non. Si les connexions sont enregistrées, plusieurs
- requêtes peuvent apparaître dans la même connexion. Un fragment de
+ <p>Tous les fragments d'une connexion ou d'une requête partagent le
+ même UUID, selon que les connexions ou les requêtes sont
+ enregistrées ou non. Si les connexions sont enregistrées, plusieurs
+ requêtes peuvent apparaître dans la même connexion. Un fragment de
longueur nulle indique la fin de la connexion.</p>
- <p>Certains fragments peuvent manquer ou être supprimés si le
+ <p>Certains fragments peuvent manquer ou être supprimés si le
processus qui les lit est trop lent. Si cela se produit, il y aura
des trous dans le comptage des connections. Un avertissement
- indiquant l'UUID et le numéro du fragment supprimé sera enregistré
+ indiquant l'UUID et le numéro du fragment supprimé sera enregistré
dans le journal des erreurs.</p>
- <p>En cas de crash ou d'arrêt forcé du processus httpd, il est
+ <p>En cas de crash ou d'arrêt forcé du processus httpd, il est
possible que le fragment vide de terminaison n'apparaisse pas. Cela
peut aussi se produire si le processus qui lit les fragments n'est
pas assez rapide.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="firehoseconnectioninput" id="firehoseconnectioninput">Directive</a> <a name="FirehoseConnectionInput" id="FirehoseConnectionInput">FirehoseConnectionInput</a><a title="Lien permanent" href="#firehoseconnectioninput" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic entrant dans le serveur à chaque
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic entrant dans le serveur à chaque
connexion.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseConnectionInput <var>[ block | nonblock ]</var> <var>filename</var></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#Default">Défaut:</a></th><td><code>none</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_firehose</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Capture le trafic entrant dans le serveur à chaque connexion.
- Plusieurs requêtes seront capturées pour la même connexion si les
- connexions persistantes sont activées.</p>
+ <p>Capture le trafic entrant dans le serveur à chaque connexion.
+ Plusieurs requêtes seront capturées pour la même connexion si les
+ connexions persistantes sont activées.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseConnectionInput connection-input.firehose</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="firehoseconnectionoutput" id="firehoseconnectionoutput">Directive</a> <a name="FirehoseConnectionOutput" id="FirehoseConnectionOutput">FirehoseConnectionOutput</a><a title="Lien permanent" href="#firehoseconnectionoutput" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic sortant du serveur à chaque connexion</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic sortant du serveur à chaque connexion</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseConnectionOutput <var>[ block | nonblock ]</var> <var>filename</var></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#Default">Défaut:</a></th><td><code>none</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_firehose</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Capture le trafic sortant du serveur à chaque connexion.
- Plusieurs requêtes seront capturées pour la même connexion si les
- connexions persistantes sont activées.
+ <p>Capture le trafic sortant du serveur à chaque connexion.
+ Plusieurs requêtes seront capturées pour la même connexion si les
+ connexions persistantes sont activées.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseConnectionOutput connection-output.firehose</pre>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic entrant dans mod_proxy</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseProxyConnectionInput <var>[ block | nonblock ]</var> <var>filename</var></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#Default">Défaut:</a></th><td><code>none</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_firehose</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td /></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td /></tr>
</table>
- <p>Capture le trafic reçu par mod_proxy.</p>
+ <p>Capture le trafic reçu par mod_proxy.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseProxyConnectionInput proxy-input.firehose</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="firehoseproxyconnectionoutput" id="firehoseproxyconnectionoutput">Directive</a> <a name="FirehoseProxyConnectionOutput" id="FirehoseProxyConnectionOutput">FirehoseProxyConnectionOutput</a><a title="Lien permanent" href="#firehoseproxyconnectionoutput" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic envoyé par mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic envoyé par mod_proxy</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseProxyConnectionOutput <var>[ block | nonblock ]</var> <var>filename</var></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#Default">Défaut:</a></th><td><code>none</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_firehose</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Capture le trafic envoyé par mod_proxy.</p>
+ <p>Capture le trafic envoyé par mod_proxy.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseProxyConnectionOutput proxy-output.firehose</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="firehoserequestinput" id="firehoserequestinput">Directive</a> <a name="FirehoseRequestInput" id="FirehoseRequestInput">FirehoseRequestInput</a><a title="Lien permanent" href="#firehoserequestinput" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic entrant dans le serveur à chaque requête</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic entrant dans le serveur à chaque requête</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseRequestInput <var>[ block | nonblock ]</var> <var>filename</var></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#Default">Défaut:</a></th><td><code>none</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_firehose</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Capture le trafic entrant dans le serveur à chaque requête. Les
- requêtes sont capturées séparément, que les connexions persistantes
- soient activées ou non.</p>
+ <p>Capture le trafic entrant dans le serveur à chaque requête. Les
+ requêtes sont capturées séparément, que les connexions persistantes
+ soient activées ou non.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseRequestInput request-input.firehose</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="firehoserequestoutput" id="firehoserequestoutput">Directive</a> <a name="FirehoseRequestOutput" id="FirehoseRequestOutput">FirehoseRequestOutput</a><a title="Lien permanent" href="#firehoserequestoutput" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic sortant du serveur à chaque requête</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture le trafic sortant du serveur à chaque requête</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FirehoseRequestOutput <var>[ block | nonblock ]</var> <var>filename</var></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#Default">Défaut:</a></th><td><code>none</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_firehose</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Capture le trafic sortant du serveur à chaque requête. Les
- requêtes sont capturées séparément, que les connexions persistantes
- soient activées ou non.</p>
+ <p>Capture le trafic sortant du serveur à chaque requête. Les
+ requêtes sont capturées séparément, que les connexions persistantes
+ soient activées ou non.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">FirehoseRequestOutput request-output.firehose</pre>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_firehose.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_firehose.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_firehose.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_headers</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_headers.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_headers.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Personnalisation des en-têtes de requêtes et de réponses
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Personnalisation des en-têtes de requêtes et de réponses
HTTP</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>headers_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_headers.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>headers_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_headers.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module fournit des directives permettant de contrôler et
- modifier les en-têtes de requêtes et de réponses HTTP. Les en-têtes
- peuvent être fusionnés, remplacés ou supprimés.</p>
+ <p>Ce module fournit des directives permettant de contrôler et
+ modifier les en-têtes de requêtes et de réponses HTTP. Les en-têtes
+ peuvent être fusionnés, remplacés ou supprimés.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#order">Chronologie du traitement</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#early">Traitement précoce et traitement
+<li><img alt="" src="../images/down.gif" /> <a href="#early">Traitement précoce et traitement
tardif</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li>
</ul><h3 class="directives">Directives</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#header">Header</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#requestheader">RequestHeader</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_headers">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_headers">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_headers">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_headers">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<h2><a name="order" id="order">Chronologie du traitement</a><a title="Lien permanent" href="#order" class="permalink">¶</a></h2>
<p>Les directives fournies par <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> peuvent
- s'insérer presque partout dans la configuration du serveur, et on
- peut limiter leur portée en les plaçant dans des <a href="../sections.html">sections de configuration</a>.</p>
+ s'insérer presque partout dans la configuration du serveur, et on
+ peut limiter leur portée en les plaçant dans des <a href="../sections.html">sections de configuration</a>.</p>
- <p>La chronologie du traitement est importante et est affectée par
+ <p>La chronologie du traitement est importante et est affectée par
l'ordre d'apparition des directives dans le fichier de configuration
et par leur placement dans les <a href="../sections.html#mergin">sections de configuration</a>. Ainsi,
- ces deux directives ont un effet différent si leur ordre est inversé
+ ces deux directives ont un effet différent si leur ordre est inversé
:</p>
<pre class="prettyprint lang-config">RequestHeader append MirrorID "mirror 12"
RequestHeader unset MirrorID</pre>
- <p>Dans cet ordre, l'en-tête <code>MirrorID</code> n'est pas défini.
- Si l'ordre des directives était inversé, l'en-tête
- <code>MirrorID</code> serait défini à "mirror 12".</p>
+ <p>Dans cet ordre, l'en-tête <code>MirrorID</code> n'est pas défini.
+ Si l'ordre des directives était inversé, l'en-tête
+ <code>MirrorID</code> serait défini à "mirror 12".</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="early" id="early">Traitement précoce et traitement
+<h2><a name="early" id="early">Traitement précoce et traitement
tardif</a><a title="Lien permanent" href="#early" class="permalink">¶</a></h2>
- <p><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> peut agir soir précocement, soit
- tardivement au niveau de la requête. Le mode normal est le mode
- tardif, lorsque les en-têtes de <em>requête</em> sont définis, immédiatement
- avant l'exécution du générateur de contenu, et pour les en-têtes de
- <em>réponse</em>, juste au moment où la réponse est envoyée sur le réseau.
+ <p><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> peut agir soir précocement, soit
+ tardivement au niveau de la requête. Le mode normal est le mode
+ tardif, lorsque les en-têtes de <em>requête</em> sont définis, immédiatement
+ avant l'exécution du générateur de contenu, et pour les en-têtes de
+ <em>réponse</em>, juste au moment où la réponse est envoyée sur le réseau.
Utilisez toujours le mode tardif sur un serveur en production.</p>
- <p>Le mode précoce a été conçu à des fins d'aide aux tests et au
- débogage pour les développeurs. Les directives définies en utilisant
- le mot-clé <code>early</code> sont censées agir au tout début du
- traitement de la requête. Cela signifie que l'on peut les utiliser
- pour simuler différentes requêtes et définir des situations de test,
- tout en gardant à l'esprit que les en-têtes peuvent être modifiés à
- tout moment par d'autres modules avant que le réponse ne soit
- générée.</p>
-
- <p>Comme les directives précoces sont traitées avant que le
- chemin de la requête ne soit parcouru, les en-têtes
- précoces ne peuvent être définis que dans un contexte de serveur
- principal ou de serveur virtuel. Les directives précoces ne peuvent
- pas dépendre d'un chemin de requête, si bien qu'elles échoueront
+ <p>Le mode précoce a été conçu à des fins d'aide aux tests et au
+ débogage pour les développeurs. Les directives définies en utilisant
+ le mot-clé <code>early</code> sont censées agir au tout début du
+ traitement de la requête. Cela signifie que l'on peut les utiliser
+ pour simuler différentes requêtes et définir des situations de test,
+ tout en gardant à l'esprit que les en-têtes peuvent être modifiés à
+ tout moment par d'autres modules avant que le réponse ne soit
+ générée.</p>
+
+ <p>Comme les directives précoces sont traitées avant que le
+ chemin de la requête ne soit parcouru, les en-têtes
+ précoces ne peuvent être définis que dans un contexte de serveur
+ principal ou de serveur virtuel. Les directives précoces ne peuvent
+ pas dépendre d'un chemin de requête, si bien qu'elles échoueront
dans des contextes tels que <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="../mod/core.html#location"><Location></a></code>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<ol>
<li>
- Copie tous les en-têtes de requête qui commencent par "TS" vers
- les en-têtes de la réponse :
+ Copie tous les en-têtes de requête qui commencent par "TS" vers
+ les en-têtes de la réponse :
<pre class="prettyprint lang-config">Header echo ^TS</pre>
</li>
<li>
- Ajoute à la réponse un en-tête, <code>mon-en-tête</code>, qui
- contient un horodatage permettant de déterminer le moment où la
- requête a été reçue, et le temps qui s'est écoulé jusqu'à ce que
- la requête ait commencé à être servie. Cet en-tête peut être
- utilisé par le client pour estimer la charge du serveur ou
- isoler les goulets d'étranglement entre le client et le
+ Ajoute à la réponse un en-tête, <code>mon-en-tête</code>, qui
+ contient un horodatage permettant de déterminer le moment où la
+ requête a été reçue, et le temps qui s'est écoulé jusqu'à ce que
+ la requête ait commencé à être servie. Cet en-tête peut être
+ utilisé par le client pour estimer la charge du serveur ou
+ isoler les goulets d'étranglement entre le client et le
serveur.
- <pre class="prettyprint lang-config">Header set mon-en-tête "%D %t"</pre>
+ <pre class="prettyprint lang-config">Header set mon-en-tête "%D %t"</pre>
- <p>le résultat est l'ajout à la réponse d'un en-tête du type :</p>
+ <p>le résultat est l'ajout à la réponse d'un en-tête du type :</p>
<div class="example"><p><code>
- mon-en-tête: D=3775428 t=991424704447256
+ mon-en-tête: D=3775428 t=991424704447256
</code></p></div>
</li>
<li>
- Dit Bonjour à Joe
+ Dit Bonjour à Joe
<div class="example"><p><code>
- Header set mon-en-tête "Bonjour Joe. Il a fallu %D microsecondes \<br />
- à Apache pour servir cette requête."
+ Header set mon-en-tête "Bonjour Joe. Il a fallu %D microsecondes \<br />
+ à Apache pour servir cette requête."
</code></p></div>
- <p>le résultat est l'ajout à la réponse d'un en-tête du type :</p>
+ <p>le résultat est l'ajout à la réponse d'un en-tête du type :</p>
- <pre class="prettyprint lang-config"> Header set MyHeader "Bonjour Joe. Il a fallu D=3775428 microsecondes à Apache
- pour servir cette requête."</pre>
+ <pre class="prettyprint lang-config"> Header set MyHeader "Bonjour Joe. Il a fallu D=3775428 microsecondes à Apache
+ pour servir cette requête."</pre>
</li>
<li>
- Ajoute l'en-tête <code>mon-en-tête</code> à la réponse si et
- seulement si l'en-tête <code>mon-en-tête-requête</code> est
- présent dans la requête. Ceci peut s'avérer utile pour générer
- des en-têtes de réponse "à la tête du client". Notez que cet
- exemple nécessite les services du module
+ Ajoute l'en-tête <code>mon-en-tête</code> à la réponse si et
+ seulement si l'en-tête <code>mon-en-tête-requête</code> est
+ présent dans la requête. Ceci peut s'avérer utile pour générer
+ des en-têtes de réponse "à la tête du client". Notez que cet
+ exemple nécessite les services du module
<code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>.
<pre class="prettyprint lang-config">SetEnvIf MyRequestHeader myvalue HAVE_MyRequestHeader
Header set MyHeader "%D %t mytext" env=HAVE_MyRequestHeader</pre>
- <p>Si l'en-tête <code>mon-en-tête-requête: mavaleur</code> est
- présent dans la requête HTTP, la réponse contiendra un en-tête
+ <p>Si l'en-tête <code>mon-en-tête-requête: mavaleur</code> est
+ présent dans la requête HTTP, la réponse contiendra un en-tête
du type :</p>
<div class="example"><p><code>
- mon-en-tête: D=3775428 t=991424704447256 montexte
+ mon-en-tête: D=3775428 t=991424704447256 montexte
</code></p></div>
</li>
<li>
- Permet à DAV de fonctionner avec Apache sur SSL (voir la <a href="http://svn.haxx.se/users/archive-2006-03/0549.shtml">description
- du problème</a>) en remplaçant <var>https:</var> par
- <var>http:</var> dans l'en-tête <var>Destination</var> :
+ Permet à DAV de fonctionner avec Apache sur SSL (voir la <a href="http://svn.haxx.se/users/archive-2006-03/0549.shtml">description
+ du problème</a>) en remplaçant <var>https:</var> par
+ <var>http:</var> dans l'en-tête <var>Destination</var> :
<pre class="prettyprint lang-config">RequestHeader edit Destination ^https: http: early</pre>
</li>
<li>
- Définit la valeur d'un même en-tête sous de multiples conditions
- non exclusives, mais ne duplique pas une valeur déjà définie
- dans l'en-tête qui en résulte. Si toutes les conditions
- suivantes sont satisfaites pour une requête (en d'autres termes,
+ Définit la valeur d'un même en-tête sous de multiples conditions
+ non exclusives, mais ne duplique pas une valeur déjà définie
+ dans l'en-tête qui en résulte. Si toutes les conditions
+ suivantes sont satisfaites pour une requête (en d'autres termes,
si les trois variables d'environnement <code>CGI</code>,
<code>NO_CACHE</code> et <code>NO_STORE</code> existent pour la
- requête) :
+ requête) :
<pre class="prettyprint lang-config">Header merge Cache-Control no-cache env=CGI
Header merge Cache-Control no-cache env=NO_CACHE
Header merge Cache-Control no-store env=NO_STORE</pre>
- <p>alors, la réponse contiendra l'en-tête suivant :</p>
+ <p>alors, la réponse contiendra l'en-tête suivant :</p>
<div class="example"><p><code>
Cache-Control: no-cache, no-store
</code></p></div>
- <p>Si <code>append</code> avait été utilisé à la place de
- <code>merge</code>, la réponse aurait contenu l'en-tête suivant
+ <p>Si <code>append</code> avait été utilisé à la place de
+ <code>merge</code>, la réponse aurait contenu l'en-tête suivant
:</p>
<div class="example"><p><code>
</code></p></div>
</li>
<li>
- Définit un cookie de test si et seulement si le client n'envoie
+ Définit un cookie de test si et seulement si le client n'envoie
pas de cookie
<pre class="prettyprint lang-config">Header set Set-Cookie testcookie "expr=-z %{req:Cookie}"</pre>
</li>
<li>
- Ajoute un en-tête de mise en cache pour les réponses avec un
- code d'état HTTP de 200
+ Ajoute un en-tête de mise en cache pour les réponses avec un
+ code d'état HTTP de 200
<pre class="prettyprint lang-config">Header append Cache-Control s-maxage=600 "expr=%{REQUEST_STATUS} == 200"</pre>
</li>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="header" id="header">Directive</a> <a name="Header" id="Header">Header</a><a title="Lien permanent" href="#header" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure les en-têtes d'une réponse HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure les en-têtes d'une réponse HTTP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Header [<var>condition</var>] add|append|echo|edit|edit*|merge|set|setifempty|unset|note
-<var>en-tête</var> [[expr=]<var>valeur</var>
+<var>en-tête</var> [[expr=]<var>valeur</var>
[<var>remplacement</var>]
[early|env=[!]<var>variable</var>|expr=<var>expression</var>]]
</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_headers</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>SetIfEmpty est disponible depuis la version 2.4.7 du
-serveur HTTP Apache ; le paramètre expr=valeur a été introduit avec la
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>SetIfEmpty est disponible depuis la version 2.4.7 du
+serveur HTTP Apache ; le paramètre expr=valeur a été introduit avec la
version 2.4.10</td></tr>
</table>
<p>Cette directive permet de remplacer, fusionner, ou
- supprimer des en-têtes de réponse HTTP. L'en-tête est modifié juste
- après que le gestionnaire de contenu et les filtres en sortie ne
- s'exécutent, ce qui permet la modification des en-têtes
+ supprimer des en-têtes de réponse HTTP. L'en-tête est modifié juste
+ après que le gestionnaire de contenu et les filtres en sortie ne
+ s'exécutent, ce qui permet la modification des en-têtes
sortants.</p>
- <p>L'argument optionnel <var>condition</var> permet de déterminer
- sur quelle table interne d'en-têtes de réponses cette directive va
- opérer. En dépit du nom, la valeur par défaut de
+ <p>L'argument optionnel <var>condition</var> permet de déterminer
+ sur quelle table interne d'en-têtes de réponses cette directive va
+ opérer. En dépit du nom, la valeur par défaut de
<code>onsuccess</code> ne limite <em>pas</em> une <var>action</var>
- aux réponses avec un code d'état de 2xx. Les en-têtes définis sous
- cette condition sont encore utilisés quand par exemple une requête
- est mandatée ou générée par un programme CGI avec <em>succès</em>,
- et ceci même dans le cas où ils ont généré un code d'échec.</p>
+ aux réponses avec un code d'état de 2xx. Les en-têtes définis sous
+ cette condition sont encore utilisés quand par exemple une requête
+ est mandatée ou générée par un programme CGI avec <em>succès</em>,
+ et ceci même dans le cas où ils ont généré un code d'échec.</p>
- <p>Lorsque votre action est une fonction agissant sur un en-tête
- existant, vous pourrez être amené à spécifier une condition
+ <p>Lorsque votre action est une fonction agissant sur un en-tête
+ existant, vous pourrez être amené à spécifier une condition
<code>always</code>, en fonction de la table interne dans laquelle
- l'en-tête original a été défini. La table qui correspond à
- <code>always</code> est utilisée pour les réponses d'erreur générées
- localement ainsi que pour les réponses qui ont abouti.
- Notez aussi que la répétition
- de cette directive avec les deux conditions peut être pertinente
- dans certains scénarios, car <code>always</code> n'englobe pas
- <code>onsuccess</code> en ce qui concerne les en-têtes existants :</p>
+ l'en-tête original a été défini. La table qui correspond à
+ <code>always</code> est utilisée pour les réponses d'erreur générées
+ localement ainsi que pour les réponses qui ont abouti.
+ Notez aussi que la répétition
+ de cette directive avec les deux conditions peut être pertinente
+ dans certains scénarios, car <code>always</code> n'englobe pas
+ <code>onsuccess</code> en ce qui concerne les en-têtes existants :</p>
<ul>
- <li>Vous ajoutez un en-tête à une réponse
- générée localement et échouée (non-2xx),
+ <li>Vous ajoutez un en-tête à une réponse
+ générée localement et échouée (non-2xx),
une redirection par exemple, et dans ce cas, seule la table
- correspondant à <code>always</code> est utilisée dans la réponse
- définitive.</li>
- <li>Vous modifiez ou supprimez un en-tête généré par un script
+ correspondant à <code>always</code> est utilisée dans la réponse
+ définitive.</li>
+ <li>Vous modifiez ou supprimez un en-tête généré par un script
CGI, et dans ce cas, les scripts CGI sont dans la table
- correspondant à <code>always</code> et non dans la table par
- défaut.</li>
- <li>Vous modifiez ou supprimez un en-tête généré par tel ou tel
- composant du serveur, mais cet en-tête n'est pas trouvé par la
- condition par défaut <code>onsuccess</code>.</li>
+ correspondant à <code>always</code> et non dans la table par
+ défaut.</li>
+ <li>Vous modifiez ou supprimez un en-tête généré par tel ou tel
+ composant du serveur, mais cet en-tête n'est pas trouvé par la
+ condition par défaut <code>onsuccess</code>.</li>
</ul>
- <p>Outre le paramètre <var>condition</var> décrit ci-dessus, vous
- pouvez limiter une action en fonction de codes d'état HTTP, par
- exemple pour les requêtes mandatées ou générées par un programme
+ <p>Outre le paramètre <var>condition</var> décrit ci-dessus, vous
+ pouvez limiter une action en fonction de codes d'état HTTP, par
+ exemple pour les requêtes mandatées ou générées par un programme
CGI. Voir l'exemple qui utilise %{REQUEST_STATUS} dans la section
ci-dessus.</p>
- <p>L'action que cette directive provoque est déterminée par le
+ <p>L'action que cette directive provoque est déterminée par le
premier argument (ou par le second argument si une
- <var>condition</var> est spécifiée). Il peut prendre
+ <var>condition</var> est spécifiée). Il peut prendre
une des valeurs suivantes :</p>
<dl>
<dt><code>add</code></dt>
- <dd>L'en-tête est ajouté au jeu d'en-têtes préexistant, même s'il
- existe déjà. Ceci peut conduire à la présence de deux (ou plusieurs)
- en-têtes possèdant le même nom et donc induire des conséquences
- imprévues ; en général, il est préférable d'utiliser
+ <dd>L'en-tête est ajouté au jeu d'en-têtes préexistant, même s'il
+ existe déjà. Ceci peut conduire à la présence de deux (ou plusieurs)
+ en-têtes possèdant le même nom et donc induire des conséquences
+ imprévues ; en général, il est préférable d'utiliser
<code>set</code>, <code>append</code> ou <code>merge</code>.</dd>
<dt><code>append</code></dt>
- <dd>La valeur d'en-tête est ajoutée à tout en-tête existant de même
- nom. Lorsqu'une nouvelle valeur est ainsi ajoutée, elle est séparée
- de celles qui sont déjà présentes par une virgule. Il s'agit de la
- méthode HTTP standard permettant d'affecter plusieurs valeurs à un
- en-tête.</dd>
+ <dd>La valeur d'en-tête est ajoutée à tout en-tête existant de même
+ nom. Lorsqu'une nouvelle valeur est ainsi ajoutée, elle est séparée
+ de celles qui sont déjà présentes par une virgule. Il s'agit de la
+ méthode HTTP standard permettant d'affecter plusieurs valeurs à un
+ en-tête.</dd>
<dt><code>echo</code></dt>
- <dd>Les en-têtes de la requête possédant le nom spécifié sont
- recopiés vers les en-têtes de la réponse. <var>en-tête</var> peut
- être une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>, et
- <var>valeur</var> ne doit pas être présent.</dd>
+ <dd>Les en-têtes de la requête possédant le nom spécifié sont
+ recopiés vers les en-têtes de la réponse. <var>en-tête</var> peut
+ être une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>, et
+ <var>valeur</var> ne doit pas être présent.</dd>
<dt><code>edit</code></dt>
<dt><code>edit*</code></dt>
- <dd>Si l'en-tête existe, sa valeur est modifiée en fonction d'une
+ <dd>Si l'en-tête existe, sa valeur est modifiée en fonction d'une
<a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a> de type
recherche/remplacement. L'argument <var>valeur</var> est une
<a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>, et
- l'argument <var>remplacement</var> une chaîne de caractères de
- remplacement qui peut contenir des références
- arrières ou des spécificateurs de format. La forme <code>edit</code> n'effectuera une
+ l'argument <var>remplacement</var> une chaîne de caractères de
+ remplacement qui peut contenir des références
+ arrières ou des spécificateurs de format. La forme <code>edit</code> n'effectuera une
recherche/remplacement qu'une seule fois dans la valeur de
- l'en-tête, alors que la forme <code>edit*</code> en effectuera autant
- que le nombre d'apparition de la chaîne à remplacer.</dd>
+ l'en-tête, alors que la forme <code>edit*</code> en effectuera autant
+ que le nombre d'apparition de la chaîne à remplacer.</dd>
<dt><code>merge</code></dt>
- <dd>La valeur d'en-tête est ajoutée à tout en-tête de même nom, sauf
- si elle apparaît déjà dans la liste des valeurs préexistantes de
- l'en-tête séparées par des virgules. Lorsqu'une nouvelle valeur est
- ainsi ajoutée, elle est séparée de celles qui sont déjà présentes
- par une virgule. Il s'agit de la méthode HTTP standard permettant
- d'affecter plusieurs valeurs à un en-tête. Les valeurs sont
- comparées en tenant compte de la casse, et après le traitement de
- tous les spécificateurs de format. Une valeur entourée de guillemets
- est considérée comme différente de la même valeur mais sans
+ <dd>La valeur d'en-tête est ajoutée à tout en-tête de même nom, sauf
+ si elle apparaît déjà dans la liste des valeurs préexistantes de
+ l'en-tête séparées par des virgules. Lorsqu'une nouvelle valeur est
+ ainsi ajoutée, elle est séparée de celles qui sont déjà présentes
+ par une virgule. Il s'agit de la méthode HTTP standard permettant
+ d'affecter plusieurs valeurs à un en-tête. Les valeurs sont
+ comparées en tenant compte de la casse, et après le traitement de
+ tous les spécificateurs de format. Une valeur entourée de guillemets
+ est considérée comme différente de la même valeur mais sans
guillemets.</dd>
<dt><code>set</code></dt>
- <dd>L'en-tête est défini, remplaçant tout en-tête préexistant avec
- le même nom. L'argument <var>valeur</var> peut être une chaîne de
+ <dd>L'en-tête est défini, remplaçant tout en-tête préexistant avec
+ le même nom. L'argument <var>valeur</var> peut être une chaîne de
formatage.</dd>
<dt><code>setifempty</code></dt>
- <dd>L'en-tête est défini, mais seulement s'il n'existe
- aucun en-tête avec le même nom.
+ <dd>L'en-tête est défini, mais seulement s'il n'existe
+ aucun en-tête avec le même nom.
<div class="note">
- L'en-tête Content-Type est un cas particulier car il est possible que sa
- valeur ait été déterminée mais que l'en-tête ne soit pas présent dans la
- réponse lorsque <code>setifempty</code> est évalué. Dans ce cas, il est
- préférable d'utiliser <code>set</code> comme dans l'exemple suivant :
+ L'en-tête Content-Type est un cas particulier car il est possible que sa
+ valeur ait été déterminée mais que l'en-tête ne soit pas présent dans la
+ réponse lorsque <code>setifempty</code> est évalué. Dans ce cas, il est
+ préférable d'utiliser <code>set</code> comme dans l'exemple suivant :
<pre class="prettyprint lang-config">Header set Content-Type "text/plain" "expr=-z %{CONTENT_TYPE}"</pre>
</div></dd>
<dt><code>unset</code></dt>
- <dd>L'en-tête est supprimé s'il existe. Si plusieurs en-têtes
- possèdent le même nom, ils seront tous supprimés. L'argument
- <var>value</var> ne doit pas apparaître.</dd>
+ <dd>L'en-tête est supprimé s'il existe. Si plusieurs en-têtes
+ possèdent le même nom, ils seront tous supprimés. L'argument
+ <var>value</var> ne doit pas apparaître.</dd>
<dt><code>note</code></dt>
- <dd>La valeur de l'<var>en-tête</var> considéré est copiée dans une
- note interne dont le nom est spécifié via l'argument
- <var>valeur</var>. Ceci permet de journaliser la valeur d'un en-tête
- envoyé par un programme CGI ou une ressource mandatée, même s'il
- est prévu de l'effacer.<br />
- Disponible à partir de la version 2.4.7 du serveur HTTP Apache.</dd>
+ <dd>La valeur de l'<var>en-tête</var> considéré est copiée dans une
+ note interne dont le nom est spécifié via l'argument
+ <var>valeur</var>. Ceci permet de journaliser la valeur d'un en-tête
+ envoyé par un programme CGI ou une ressource mandatée, même s'il
+ est prévu de l'effacer.<br />
+ Disponible à partir de la version 2.4.7 du serveur HTTP Apache.</dd>
</dl>
- <p>Cet argument est suivi d'un nom d'<var>en-tête</var> qui peut se
- terminer par un caractère ':', mais ce n'est pas obligatoire. La
- casse est ignorée avec <code>set</code>, <code>append</code>,
+ <p>Cet argument est suivi d'un nom d'<var>en-tête</var> qui peut se
+ terminer par un caractère ':', mais ce n'est pas obligatoire. La
+ casse est ignorée avec <code>set</code>, <code>append</code>,
<code>merge</code>, <code>add</code>, <code>unset</code> et
- <code>edit</code>. Le nom d'<var>en-tête</var> est sensible à la
- casse pour <code>echo</code> et peut être une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>.</p>
+ <code>edit</code>. Le nom d'<var>en-tête</var> est sensible à la
+ casse pour <code>echo</code> et peut être une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>.</p>
<p>Avec <code>set</code>, <code>append</code>, <code>merge</code> et
- <code>add</code>, une <var>valeur</var> est spécifiée comme
+ <code>add</code>, une <var>valeur</var> est spécifiée comme
argument suivant. Si <var>valeur</var> contient des espaces, elle
- doit être entourée de guillemets. <var>valeur</var> peut être une
- chaîne de caractères, une chaîne contenant des spécificateurs de
- format propres à <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> (et des caractères
- littéraux), ou une expression <a href="../expr.html">ap_expr</a>
- préfixée par <em>expr=</em>.</p>
+ doit être entourée de guillemets. <var>valeur</var> peut être une
+ chaîne de caractères, une chaîne contenant des spécificateurs de
+ format propres à <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> (et des caractères
+ littéraux), ou une expression <a href="../expr.html">ap_expr</a>
+ préfixée par <em>expr=</em>.</p>
- <p><var>valeur</var> supporte les spécificateurs de format suivants :</p>
+ <p><var>valeur</var> supporte les spécificateurs de format suivants :</p>
<table class="bordered"><tr class="header"><th>Format</th><th>Description</th></tr>
<tr><td><code>%%</code></td>
- <td>Le caractère pourcentage</td></tr>
+ <td>Le caractère pourcentage</td></tr>
<tr class="odd"><td><code>%t</code></td>
- <td>Le moment de réception de la requête en temps
- universel coordonné depuis le temps epoch (Jan. 1, 1970) et
- exprimé en microsecondes. La valeur est précédée de
+ <td>Le moment de réception de la requête en temps
+ universel coordonné depuis le temps epoch (Jan. 1, 1970) et
+ exprimé en microsecondes. La valeur est précédée de
<code>t=</code>.</td></tr>
<tr><td><code>%D</code></td>
- <td>Le temps écoulé entre la réception de la requête et l'envoi
- des en-têtes sur le réseau. Il s'agit de la durée de traitement
- de la requête. La valeur est précédée de <code>D=</code>. La
- valeur est exprimée en microsecondes.</td></tr>
+ <td>Le temps écoulé entre la réception de la requête et l'envoi
+ des en-têtes sur le réseau. Il s'agit de la durée de traitement
+ de la requête. La valeur est précédée de <code>D=</code>. La
+ valeur est exprimée en microsecondes.</td></tr>
<tr class="odd"><td><code>%l</code></td>
<td>La charge moyenne courante du serveur proprement dit. Ce
sont les valeurs obtenues par <code>getloadavg()</code> qui
- représentent la charge moyenne courante, sur 5 minutes et sur 15
- minutes. Chaque valeur est précédée de <code>l=</code> et
- séparée de la suivante par un <code>/</code>.<br />
+ représentent la charge moyenne courante, sur 5 minutes et sur 15
+ minutes. Chaque valeur est précédée de <code>l=</code> et
+ séparée de la suivante par un <code>/</code>.<br />
Disponible depuis la version 2.4.4 du serveur HTTP Apache.
</td></tr>
<tr><td><code>%i</code></td>
- <td>Le pourcentage courant de httpd au repos (de 0 à 100)
+ <td>Le pourcentage courant de httpd au repos (de 0 à 100)
en se basant sur le nombre de processus et threads disponibles.
- La valeur est précédée de <code>i=</code>.<br />
+ La valeur est précédée de <code>i=</code>.<br />
Disponible depuis la version 2.4.4 du serveur HTTP Apache.
</td></tr>
<tr class="odd"><td><code>%b</code></td>
- <td>Le pourcentage courant de httpd utilisé (de 0 à 100)
+ <td>Le pourcentage courant de httpd utilisé (de 0 à 100)
en se basant sur le nombre de processus et threads disponibles.
- La valeur est précédée de <code>b=</code>.<br />
+ La valeur est précédée de <code>b=</code>.<br />
Disponible depuis la version 2.4.4 du serveur HTTP Apache.
</td></tr>
<tr><td><code>%{NOM_VARIABLE}e</code></td>
<tr class="odd"><td><code>%{NOM_VARIABLE}s</code></td>
<td>Le contenu de la <a href="../env.html">variable
d'environnement SSL</a> <code>NOM_VARIABLE</code>, si
- <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est activé.</td></tr>
+ <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est activé.</td></tr>
</table>
<div class="note"><h3>Note</h3>
- <p>Le spécificateur de format <code>%s</code> est disponible
- depuis la version 2.1 d'Apache ; il peut être utilisé à la place
- de <code>%e</code> pour éviter de devoir spécifier
+ <p>Le spécificateur de format <code>%s</code> est disponible
+ depuis la version 2.1 d'Apache ; il peut être utilisé à la place
+ de <code>%e</code> pour éviter de devoir spécifier
<code>SSLOptions +StdEnvVars</code>. Cependant, si
- <code>SSLOptions +StdEnvVars</code> doit tout de même être
- spécifié pour une raison quelconque, <code>%e</code> sera plus
+ <code>SSLOptions +StdEnvVars</code> doit tout de même être
+ spécifié pour une raison quelconque, <code>%e</code> sera plus
efficace que <code>%s</code>.</p>
</div>
- <div class="note"><h3>Note à propos des valeurs des expressions</h3>
- <p>Lorsque le paramètre valeur utilise l'interpréteur <a href="../expr.html">ap_expr</a>, certaines syntaxes d'expressions
- seront différentes des exemples qui évaluent des expressions
- <em>booléennes</em> telles que <If> :</p>
+ <div class="note"><h3>Note à propos des valeurs des expressions</h3>
+ <p>Lorsque le paramètre valeur utilise l'interpréteur <a href="../expr.html">ap_expr</a>, certaines syntaxes d'expressions
+ seront différentes des exemples qui évaluent des expressions
+ <em>booléennes</em> telles que <If> :</p>
<ul>
- <li>Le point de départ de la syntaxe est 'string' au lieu de
+ <li>Le point de départ de la syntaxe est 'string' au lieu de
'expr'.</li>
<li>Les appels de fonction utilisent la syntaxe %{funcname:arg} au
lieu de funcname(arg).</li>
<li>Les fonctions multi-arguments ne sont pas encore disponibles
- depuis le point de départ 'string'.</li>
- <li>Il faut mettre entre guillemets l'ensemble du paramètre, comme
+ depuis le point de départ 'string'.</li>
+ <li>Il faut mettre entre guillemets l'ensemble du paramètre, comme
dans l'exemple suivant :
<pre class="prettyprint lang-config">Header set foo-checksum "expr=%{md5:foo}"</pre>
</ul>
</div>
- <p><code>edit</code>nécessite les deux arguments
+ <p><code>edit</code>nécessite les deux arguments
<var>valeur</var>, qui est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression
- rationnelle</a>, et une chaîne additionnelle
- <var>remplacement</var>. Depuis la version 2.4.7, la chaîne de
+ rationnelle</a>, et une chaîne additionnelle
+ <var>remplacement</var>. Depuis la version 2.4.7, la chaîne de
remplacement peut aussi
- contenir des spécificateurs de format.</p>
+ contenir des spécificateurs de format.</p>
- <p>La directive <code class="directive">Header</code> peut être suivie d'un
+ <p>La directive <code class="directive">Header</code> peut être suivie d'un
argument additionnel qui peut prendre les valeurs suivantes :</p>
<dl>
<dt><code>early</code></dt>
- <dd>Spécifie <a href="#early">traitement préalable</a>.</dd>
+ <dd>Spécifie <a href="#early">traitement préalable</a>.</dd>
<dt><code>env=[!]<var>variable</var></code></dt>
- <dd>La directive est appliquée si et seulement si la <a href="../env.html">variable d'environnement</a>
+ <dd>La directive est appliquée si et seulement si la <a href="../env.html">variable d'environnement</a>
<code>variable</code> existe. Un <code>!</code> devant
<code>variable</code> inverse le test, et la directive ne
- s'appliquera alors que si <code>variable</code> n'est pas définie.</dd>
+ s'appliquera alors que si <code>variable</code> n'est pas définie.</dd>
<dt><code>expr=<var>expression</var></code></dt>
<dd>La directive s'applique si et seulement si <var>expression</var>
- est évaluée à true. Vous trouverez plus de détails à propos de la
- syntaxe et de l'évaluation des expressions dans la documentation <a href="../expr.html">ap_expr</a>.
- <pre class="prettyprint lang-config"> # Cet exemple retarde l'évaluation de la clause de condition par
- # rapport à <If>
+ est évaluée à true. Vous trouverez plus de détails à propos de la
+ syntaxe et de l'évaluation des expressions dans la documentation <a href="../expr.html">ap_expr</a>.
+ <pre class="prettyprint lang-config"> # Cet exemple retarde l'évaluation de la clause de condition par
+ # rapport à <If>
Header always set CustomHeader my-value "expr=%{REQUEST_URI} =~ m#^/special_path.php$#"</pre>
</dd>
</dl>
- <p>Excepté le cas du mode <a href="#early">précoce</a>, les
- directives <code class="directive">Header</code> sont traitées juste avant
- l'envoi de la réponse sur le réseau. Cela signifie qu'il est
- possible de définir et/ou modifier la plupart des en-têtes, à
- l'exception de certains en-têtes qui sont ajoutés par le filtre
- d'en-tête HTTP. Avant la version 2.2.12, il n'était pas
- possible de modifier l'en-tête Content-Type avec cette directive.</p>
+ <p>Excepté le cas du mode <a href="#early">précoce</a>, les
+ directives <code class="directive">Header</code> sont traitées juste avant
+ l'envoi de la réponse sur le réseau. Cela signifie qu'il est
+ possible de définir et/ou modifier la plupart des en-têtes, à
+ l'exception de certains en-têtes qui sont ajoutés par le filtre
+ d'en-tête HTTP. Avant la version 2.2.12, il n'était pas
+ possible de modifier l'en-tête Content-Type avec cette directive.</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="requestheader" id="requestheader">Directive</a> <a name="RequestHeader" id="RequestHeader">RequestHeader</a><a title="Lien permanent" href="#requestheader" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure les en-têtes d'une requête HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure les en-têtes d'une requête HTTP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RequestHeader add|append|edit|edit*|merge|set|setifempty|unset
-<var>en-tête</var> [[expr=]<var>valeur</var>
+<var>en-tête</var> [[expr=]<var>valeur</var>
[<var>remplacement</var>]
[early|env=[!]<var>variable</var>|expr=<var>expression</var>]]
</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_headers</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>SetIfEmpty est disponible depuis la version 2.4.7 du
-serveur HTTP Apache ; le paramètre expr=valeur a été introduit avec la
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>SetIfEmpty est disponible depuis la version 2.4.7 du
+serveur HTTP Apache ; le paramètre expr=valeur a été introduit avec la
version 2.4.10</td></tr>
</table>
<p>Cette directive permet de remplacer, fusionner, modifier ou
- supprimer des en-têtes de requête HTTP. L'en-tête est modifié juste
- avant que le gestionnaire de contenu ne s'exécute, ce qui permet la
- modification des en-têtes entrants. L'action effectuée est
- déterminée par le premier argument. Ce dernier accepte les valeurs
+ supprimer des en-têtes de requête HTTP. L'en-tête est modifié juste
+ avant que le gestionnaire de contenu ne s'exécute, ce qui permet la
+ modification des en-têtes entrants. L'action effectuée est
+ déterminée par le premier argument. Ce dernier accepte les valeurs
suivantes :</p>
<dl>
<dt><code>add</code></dt>
- <dd>L'en-tête est ajouté au jeu d'en-têtes préexistant, même s'il
- existe déjà. Ceci peut conduire à la présence de deux (ou plusieurs)
- en-têtes possèdant le même nom et donc induire des conséquences
- imprévues ; en général, il est préférable d'utiliser
+ <dd>L'en-tête est ajouté au jeu d'en-têtes préexistant, même s'il
+ existe déjà. Ceci peut conduire à la présence de deux (ou plusieurs)
+ en-têtes possèdant le même nom et donc induire des conséquences
+ imprévues ; en général, il est préférable d'utiliser
<code>set</code>, <code>append</code> ou <code>merge</code>.</dd>
<dt><code>append</code></dt>
- <dd>La valeur d'en-tête est ajoutée à tout en-tête existant de même
- nom. Lorsqu'une nouvelle valeur est ainsi ajoutée, elle est séparée
- de celles qui sont déjà présentes par une virgule. Il s'agit de la
- méthode HTTP standard permettant d'affecter plusieurs valeurs à un
- en-tête.</dd>
+ <dd>La valeur d'en-tête est ajoutée à tout en-tête existant de même
+ nom. Lorsqu'une nouvelle valeur est ainsi ajoutée, elle est séparée
+ de celles qui sont déjà présentes par une virgule. Il s'agit de la
+ méthode HTTP standard permettant d'affecter plusieurs valeurs à un
+ en-tête.</dd>
<dt><code>edit</code></dt>
<dt><code>edit*</code></dt>
- <dd>Si l'en-tête existe, sa valeur est modifiée en fonction d'une
+ <dd>Si l'en-tête existe, sa valeur est modifiée en fonction d'une
<a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a> de type
recherche/remplacement. L'argument <var>valeur</var> est une
<a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>, et
- l'argument <var>remplacement</var> une chaîne de caractères de
- remplacement qui peut contenir des références
- arrières ou des spécificateurs de format. Avec
- <code>edit</code>, la chaîne de l'en-tête correspondant au modèle ne
- sera recherchée et remplacée qu'une seule fois, alors qu'avec
+ l'argument <var>remplacement</var> une chaîne de caractères de
+ remplacement qui peut contenir des références
+ arrières ou des spécificateurs de format. Avec
+ <code>edit</code>, la chaîne de l'en-tête correspondant au modèle ne
+ sera recherchée et remplacée qu'une seule fois, alors qu'avec
<code>edit*</code>, elle le sera pour chacune de ses instances si
- elle apparaît plusieurs fois.</dd>
+ elle apparaît plusieurs fois.</dd>
<dt><code>merge</code></dt>
- <dd>La valeur d'en-tête est ajoutée à tout en-tête de même nom, sauf
- si elle apparaît déjà dans la liste des valeurs préexistantes de
- l'en-tête séparées par des virgules. Lorsqu'une nouvelle valeur est
- ainsi ajoutée, elle est séparée de celles qui sont déjà présentes
- par une virgule. Il s'agit de la méthode HTTP standard permettant
- d'affecter plusieurs valeurs à un en-tête. Les valeurs sont
- comparées en tenant compte de la casse, et après le traitement de
- tous les spécificateurs de format. Une valeur entourée de guillemets
- est considérée comme différente de la même valeur mais sans
+ <dd>La valeur d'en-tête est ajoutée à tout en-tête de même nom, sauf
+ si elle apparaît déjà dans la liste des valeurs préexistantes de
+ l'en-tête séparées par des virgules. Lorsqu'une nouvelle valeur est
+ ainsi ajoutée, elle est séparée de celles qui sont déjà présentes
+ par une virgule. Il s'agit de la méthode HTTP standard permettant
+ d'affecter plusieurs valeurs à un en-tête. Les valeurs sont
+ comparées en tenant compte de la casse, et après le traitement de
+ tous les spécificateurs de format. Une valeur entourée de guillemets
+ est considérée comme différente de la même valeur mais sans
guillemets.</dd>
<dt><code>set</code></dt>
- <dd>L'en-tête est défini, remplaçant tout en-tête préexistant avec
- le même nom.</dd>
+ <dd>L'en-tête est défini, remplaçant tout en-tête préexistant avec
+ le même nom.</dd>
<dt><code>setifempty</code></dt>
- <dd>L'en-tête est défini, mais seulement s'il n'existe
- aucun en-tête avec le même nom.<br />
+ <dd>L'en-tête est défini, mais seulement s'il n'existe
+ aucun en-tête avec le même nom.<br />
Disponible depuis la version 2.4.7 du serveur HTTP Apache.</dd>
<dt><code>unset</code></dt>
- <dd>L'en-tête est supprimé s'il existe. Si plusieurs en-têtes
- possèdent le même nom, ils seront tous supprimés. L'argument
- <var>value</var> ne doit pas apparaître.</dd>
+ <dd>L'en-tête est supprimé s'il existe. Si plusieurs en-têtes
+ possèdent le même nom, ils seront tous supprimés. L'argument
+ <var>value</var> ne doit pas apparaître.</dd>
</dl>
- <p>Cet argument est suivi d'un nom d'en-tête qui peut se terminer
- par un caractère ':', mais ce n'est pas obligatoire. La casse est
- ignorée. Avec <code>set</code>, <code>append</code>,
+ <p>Cet argument est suivi d'un nom d'en-tête qui peut se terminer
+ par un caractère ':', mais ce n'est pas obligatoire. La casse est
+ ignorée. Avec <code>set</code>, <code>append</code>,
<code>merge</code> et <code>add</code>, une <var>valeur</var> est
- fournie en troisième argument. Si une <var>valeur</var> contient des
- espaces, elle doit être entourée de guillemets. Avec
- <code>unset</code>, aucune <var>valeur</var> ne doit apparaître.
- <var>valeur</var> peut être une chaîne de caractères, une chaîne
- contenant des spécificateurs de format, ou une combinaison des deux.
- Les spécificateurs de format supportés sont les mêmes que ceux de la
- directive <code class="directive"><a href="#header">Header</a></code>, à
- laquelle vous pouvez vous reporter pour plus de détails. Avec
+ fournie en troisième argument. Si une <var>valeur</var> contient des
+ espaces, elle doit être entourée de guillemets. Avec
+ <code>unset</code>, aucune <var>valeur</var> ne doit apparaître.
+ <var>valeur</var> peut être une chaîne de caractères, une chaîne
+ contenant des spécificateurs de format, ou une combinaison des deux.
+ Les spécificateurs de format supportés sont les mêmes que ceux de la
+ directive <code class="directive"><a href="#header">Header</a></code>, à
+ laquelle vous pouvez vous reporter pour plus de détails. Avec
<code>edit</code>, les deux arguments <var>valeur</var> et
<var>remplacement</var> sont obligatoires, et correspondent
- respectivement à une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression
- rationnelle</a> et à une chaîne de remplacement.</p>
+ respectivement à une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression
+ rationnelle</a> et à une chaîne de remplacement.</p>
- <p>La directive <code class="directive">RequestHeader</code> peut être
- suivie d'un argument supplémentaire, qui pourra prendre les valeurs
+ <p>La directive <code class="directive">RequestHeader</code> peut être
+ suivie d'un argument supplémentaire, qui pourra prendre les valeurs
suivantes :</p>
<dl>
<dt><code>early</code></dt>
- <dd>Spécifie <a href="#early">traitement préalable</a>.</dd>
+ <dd>Spécifie <a href="#early">traitement préalable</a>.</dd>
<dt><code>env=[!]<var>variable</var></code></dt>
- <dd>La directive est appliquée si et seulement si la <a href="../env.html">variable d'environnement</a>
+ <dd>La directive est appliquée si et seulement si la <a href="../env.html">variable d'environnement</a>
<code>variable</code> existe. Un <code>!</code> devant
<code>variable</code> inverse le test, et la directive ne
- s'appliquera alors que si <code>variable</code> n'est pas définie.</dd>
+ s'appliquera alors que si <code>variable</code> n'est pas définie.</dd>
<dt><code>expr=<var>expression</var></code></dt>
<dd>La directive s'applique si et seulement si <var>expression</var>
- est évaluée à true. Vous trouverez plus de détails à propos de la
- syntaxe et de l'évaluation des expressions dans la documentation <a href="../expr.html">ap_expr</a>.</dd>
+ est évaluée à true. Vous trouverez plus de détails à propos de la
+ syntaxe et de l'évaluation des expressions dans la documentation <a href="../expr.html">ap_expr</a>.</dd>
</dl>
- <p>Excepté le cas du mode <a href="#early">précoce</a>, la directive
- <code class="directive">RequestHeader</code> est traitée juste avant la
- prise en compte de la requête par son gestionnaire, au cours de la
- phase de vérification. Ceci permet la modification des en-têtes
- générés par le navigateur, ou par les filtres en entrée
+ <p>Excepté le cas du mode <a href="#early">précoce</a>, la directive
+ <code class="directive">RequestHeader</code> est traitée juste avant la
+ prise en compte de la requête par son gestionnaire, au cours de la
+ phase de vérification. Ceci permet la modification des en-têtes
+ générés par le navigateur, ou par les filtres en entrée
d'Apache.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_headers.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_headers.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_headers.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_heartbeat</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_heartbeat.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_heartbeat.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_heartbeat.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Envoie des messages d'état au mandataire frontal</td></tr>
-<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>heartbeat_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_heartbeat</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Envoie des messages d'état au mandataire frontal</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>heartbeat_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_heartbeat</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3
du serveur HTTP Apache</td></tr></table>
<h3>Sommaire</h3>
- <p><code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> envoie à un moniteur
+ <p><code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> envoie à un moniteur
<code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> des messages multicast l'informant
- du nombre de connexions courantes. En général,
- <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> est chargé sur un serveur
- mandataire où <code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code> est chargé, ce
+ du nombre de connexions courantes. En général,
+ <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> est chargé sur un serveur
+ mandataire où <code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code> est chargé, ce
qui permet d'utiliser la <em>lbmethod</em> "heartbeat" au sein des
directives <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>.</p>
<p>
- Le module <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> est chargé sur le
- serveur d'origine qui sert les requêtes via le
+ Le module <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> est chargé sur le
+ serveur d'origine qui sert les requêtes via le
serveur mandataire.
</p>
<div class="warning">
Pour utiliser <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code>,
<code class="module"><a href="../mod/mod_status.html">mod_status</a></code> et <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code>
- doivent être soit des modules statiques, soit des modules
- dynamiques, et dans ce dernier cas, ils doivent être chargés
+ doivent être soit des modules statiques, soit des modules
+ dynamiques, et dans ce dernier cas, ils doivent être chargés
avant <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code>.
</div>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#heartbeataddress">HeartbeatAddress</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_heartbeat">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_heartbeat">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_heartbeat">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_heartbeat">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<h2><a name="consuming" id="consuming">Utilisation de la sortie de mod_heartbeat</a><a title="Lien permanent" href="#consuming" class="permalink">¶</a></h2>
<p>
- Chaque seconde, ce module génère un paquet multicast UDP contenant
- le nombre de threads/processus occupés et en attente. Le paquet
- possède un format ASCII simple similaire aux paramètres de requête
+ Chaque seconde, ce module génère un paquet multicast UDP contenant
+ le nombre de threads/processus occupés et en attente. Le paquet
+ possède un format ASCII simple similaire aux paramètres de requête
GET en HTTP.
</p>
<p>
Les utilisateurs disposeront dans le futur de nouvelles variables en
- plus de busy et ready, et toujours séparées par des '&'.
+ plus de busy et ready, et toujours séparées par des '&'.
</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="heartbeataddress" id="heartbeataddress">Directive</a> <a name="HeartbeatAddress" id="HeartbeatAddress">HeartbeatAddress</a><a title="Lien permanent" href="#heartbeataddress" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adresse multicast à laquelle envoyer les requêtes
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adresse multicast à laquelle envoyer les requêtes
heartbeat</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HeartbeatAddress <var>addr:port</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>disabled</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>disabled</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>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_heartbeat</td></tr>
</table>
<p>La directive <code class="directive">HeartbeatAddress</code> permet de
- spécifier l'adresse multicast à laquelle <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> va
- envoyer ses informations. En général, cette adresse correspond à la
- valeur définie par la directive <code class="directive"><a href="../mod/mod_heartmonitor.html#heartbeatlisten">HeartbeatListen</a></code> sur le serveur
+ spécifier l'adresse multicast à laquelle <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> va
+ envoyer ses informations. En général, cette adresse correspond à la
+ valeur définie par la directive <code class="directive"><a href="../mod/mod_heartmonitor.html#heartbeatlisten">HeartbeatListen</a></code> sur le serveur
mandataire frontal.</p>
<pre class="prettyprint lang-config">HeartbeatAddress 239.0.0.1:27999</pre>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_heartbeat.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_heartbeat.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_heartbeat.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_heartmonitor</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_heartmonitor.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_heartmonitor.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_heartmonitor.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Moniteur centralisé pour les serveurs d'origine mod_heartbeat</td></tr>
-<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>heartmonitor_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_heartmonitor.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Moniteur centralisé pour les serveurs d'origine mod_heartbeat</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>heartmonitor_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_heartmonitor.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
<h3>Sommaire</h3>
<p>
-<code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> interprète les messages d'état générés
-par les serveurs d'origine pour lesquels <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> est activé et
-fournit ces informations à <code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code>, ce
+<code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> interprète les messages d'état générés
+par les serveurs d'origine pour lesquels <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> est activé et
+fournit ces informations à <code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code>, ce
qui permet d'utiliser la <em>lbmethod</em> "heartbeat" au sein des
directives <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>.
</p>
<p>Ce module utilise les services de <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code>,
lorsqu'il est disponible, au lieu d'un simple fichier texte. Aucune
-configuration supplémentaire n'est requise pour utiliser
+configuration supplémentaire n'est requise pour utiliser
<code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code>.</p>
<div class="warning">
Pour utiliser <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code>,
<code class="module"><a href="../mod/mod_status.html">mod_status</a></code> et <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code>
- doivent être soit des modules statiques, soit des modules
- dynamiques, et dans ce dernier cas, ils doivent être chargés
+ doivent être soit des modules statiques, soit des modules
+ dynamiques, et dans ce dernier cas, ils doivent être chargés
avant <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code>.
</div>
</div>
<li><img alt="" src="../images/down.gif" /> <a href="#heartbeatmaxservers">HeartbeatMaxServers</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#heartbeatstorage">HeartbeatStorage</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_heartmonitor">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_heartmonitor">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_heartmonitor">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_heartmonitor">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</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="heartbeatlisten" id="heartbeatlisten">Directive</a> <a name="HeartbeatListen" id="HeartbeatListen">HeartbeatListen</a><a title="Lien permanent" href="#heartbeatlisten" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adresse multicast d'écoute des requêtes entrantes heartbeat</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adresse multicast d'écoute des requêtes entrantes heartbeat</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HeartbeatListen<var>addr:port</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>disabled</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>disabled</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>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_heartmonitor</td></tr>
</table>
<p>La directive <code class="directive">HeartbeatListen</code> permet de
- spécifier l'adresse multicast sur laquelle le serveur va surveiller les
- informations d'état en provenance de serveurs où
- <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> est activé. Cette adresse correspond
- en général à la valeur de la directive <code class="directive"><a href="../mod/mod_heartbeat.html#heartbeataddress">HeartbeatAddress</a></code> sur le serveur
+ spécifier l'adresse multicast sur laquelle le serveur va surveiller les
+ informations d'état en provenance de serveurs où
+ <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code> est activé. Cette adresse correspond
+ en général à la valeur de la directive <code class="directive"><a href="../mod/mod_heartbeat.html#heartbeataddress">HeartbeatAddress</a></code> sur le serveur
d'origine.
</p>
<pre class="prettyprint lang-config">HeartbeatListen 239.0.0.1:27999</pre>
- <p>Tant que cette directive n'est pas utilisée, le module est
- désactivé.</p>
+ <p>Tant que cette directive n'est pas utilisée, le module est
+ désactivé.</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="heartbeatmaxservers" id="heartbeatmaxservers">Directive</a> <a name="HeartbeatMaxServers" id="HeartbeatMaxServers">HeartbeatMaxServers</a><a title="Lien permanent" href="#heartbeatmaxservers" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le nombre maximal de serveurs qui pourront envoyer
-des requêtes heartbeat à ce serveur.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le nombre maximal de serveurs qui pourront envoyer
+des requêtes heartbeat à ce serveur.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HeartbeatMaxServers <var>nombre-de-serveurs</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HeartbeatMaxServers 10</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HeartbeatMaxServers 10</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>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_heartmonitor</td></tr>
</table>
<p>La directive <code class="directive">HeartbeatMaxServers</code>
- spécifie le nombre maximal de serveurs qui pourront envoyer des
- requêtes heartbeat à ce serveur de monitoring. Elle permet ainsi de
- contrôler la quantité de mémoire partagée allouée pour le stockage
- des données heartbeat lorsqu'on utilise
+ spécifie le nombre maximal de serveurs qui pourront envoyer des
+ requêtes heartbeat à ce serveur de monitoring. Elle permet ainsi de
+ contrôler la quantité de mémoire partagée allouée pour le stockage
+ des données heartbeat lorsqu'on utilise
<code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></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="heartbeatstorage" id="heartbeatstorage">Directive</a> <a name="HeartbeatStorage" id="HeartbeatStorage">HeartbeatStorage</a><a title="Lien permanent" href="#heartbeatstorage" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin vers le stockage des données heartbeat</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin vers le stockage des données heartbeat</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HeartbeatStorage <var>chemin fichier</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HeartbeatStorage logs/hb.dat</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HeartbeatStorage logs/hb.dat</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>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_heartmonitor</td></tr>
</table>
<p>La directive <code class="directive">HeartbeatStorage</code> permet de
- spécifier le chemin de stockage des données heartbeat. Ce fichier
- texte n'est utilisé que si <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code> n'est
- pas chargé.</p>
+ spécifier le chemin de stockage des données heartbeat. Ce fichier
+ texte n'est utilisé que si <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code> n'est
+ pas chargé.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_heartmonitor.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_heartmonitor.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_heartmonitor.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_http2</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_http2.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_http2.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_http2.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support de la couche transport HTTP/2</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>http2_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_http2.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>http2_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_http2.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur
HTTP Apache</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module ajoute le support de HTTP/2 (<a href="https://tools.ietf.org/html/rfc7540">RFC 7540</a>) au serveur HTTP
Apache.</p>
- <p>Il s'appuie sur la bibliothèque <a href="http://nghttp2.org/">libnghttp2</a> pour implémenter le
+ <p>Il s'appuie sur la bibliothèque <a href="http://nghttp2.org/">libnghttp2</a> pour implémenter le
moteur de base http/2.</p>
- <div class="warning"><h3>Avertissement</h3>
- <p>Ce module en est au stade expérimental. Ses comportements,
- directives et valeurs par défaut sont susceptibles d'évoluer
- au fur et à mesure de la parution de ses futures différentes
- versions en relation avec les autres modules standards. Les
- utilisateurs sont fortement encouragés à consulter le fichier
- "CHANGES" pour les éventuelles mises à jour.</p>
- </div>
-
- <p>Pour mettre en oeuvre les fonctionnalités décrites dans ce
+ <p>Pour mettre en oeuvre les fonctionnalités décrites dans ce
document, vous devez activer HTTP/2 en utilisant la directive
<code class="directive"><a href="../mod/core.html#protocols">Protocols</a></code>. HTTP/2 <a href="https://http2.github.io/faq/#does-http2-require-encryption">n'imposant
pas</a> de chiffrement, deux protocoles sont disponibles :
<div class="note"><h3>HTTP/2 dans un contexte de serveur virtuel (TLS seulement)</h3>
<pre class="prettyprint lang-config">Protocols h2 http/1.1</pre>
- <p>Permet une négociation HTTP/2 (h2) via TLS ALPN au sein d'un
+ <p>Permet une négociation HTTP/2 (h2) via TLS ALPN au sein d'un
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
- sécurisé. La vérification du préambule HTTP/2 (mode direct, voir
- <code class="directive"><a href="#h2direct">H2Direct</a></code>) est désactivée par
- défaut pour <code>h2</code>.</p>
+ sécurisé. La vérification du préambule HTTP/2 (mode direct, voir
+ <code class="directive"><a href="#h2direct">H2Direct</a></code>) est désactivée par
+ défaut pour <code>h2</code>.</p>
</div>
<div class="note"><h3>HTTP/2 dans un contexte de serveur (TLS et texte pur)</h3>
<pre class="prettyprint lang-config">Protocols h2 h2c http/1.1</pre>
- <p>Permet une négociation HTTP/2 (h2) via TLS ALPN au sein d'un
+ <p>Permet une négociation HTTP/2 (h2) via TLS ALPN au sein d'un
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
- sécurisé. Permet aussi une négociation HTTP/2 en texte pur (h2c) en
- effectuant une mise à jour depuis une connexion initiale HTTP/1.1 ou via
- une vérification du préambule HTTP/2 (mode direct, voir
+ sécurisé. Permet aussi une négociation HTTP/2 en texte pur (h2c) en
+ effectuant une mise à jour depuis une connexion initiale HTTP/1.1 ou via
+ une vérification du préambule HTTP/2 (mode direct, voir
<code class="directive"><a href="#h2direct">H2Direct</a></code>).</p>
</div>
- <p>Si vous avez besoin d'informations supplémentaires à propos du
- protocole, veuillez vous reporter à la <a href="https://http2.github.io/faq">HTTP/2 FAQ</a>.</p>
+ <p>Si vous avez besoin d'informations supplémentaires à propos du
+ protocole, veuillez vous reporter à la <a href="https://http2.github.io/faq">HTTP/2 FAQ</a>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Comment ça marche ?</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Comment ça marche ?</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#h2copyfiles">H2CopyFiles</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#h2upgrade">H2Upgrade</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#h2windowsize">H2WindowSize</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_http2">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_http2">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_http2">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_http2">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="how-it-works" id="how-it-works">Comment ça marche ?</a><a title="Lien permanent" href="#how-it-works" class="permalink">¶</a></h2>
+<h2><a name="how-it-works" id="how-it-works">Comment ça marche ?</a><a title="Lien permanent" href="#how-it-works" class="permalink">¶</a></h2>
<h3><a name="dimensioning" id="dimensioning">Quantification des ressources
- supplémentaires nécessaires à HTTP/2</a></h3>
+ supplémentaires nécessaires à HTTP/2</a></h3>
<p>
Activer HTTP/2 sur votre serveur Apache a un impact sur la
- consommation de ressources, et si votre site est très actif, il est
- conseillé d'en prendre sérieusement en compte les implications.
+ consommation de ressources, et si votre site est très actif, il est
+ conseillé d'en prendre sérieusement en compte les implications.
</p>
<p>
- HTTP/2 attribue à chaque requête qu'il reçoit son propre <em>thread
- de travail</em> pour son traitement, la collecte des résultats et
+ HTTP/2 attribue à chaque requête qu'il reçoit son propre <em>thread
+ de travail</em> pour son traitement, la collecte des résultats et
l'envoie de ces derniers au client. Pour y parvenir, il lui faut
- lancer des threads supplémentaires, et ceci constituera le premier
+ lancer des threads supplémentaires, et ceci constituera le premier
effet notable de l'activation de HTTP/2.
</p>
<p>
- Dans l'implémentation actuelle, ces threads de travail font partie
+ Dans l'implémentation actuelle, ces threads de travail font partie
d'un jeu de threads distinct de celui des threads de travail du MPM
- avec lequel vous êtes familié. Il s'agit simplement du mode de
+ avec lequel vous êtes familié. Il s'agit simplement du mode de
fonctionnement actuel, et il n'en sera pas obligatoirement toujours
- ainsi (il est cependant probable que la situation restera inchangée
+ ainsi (il est cependant probable que la situation restera inchangée
avec la version 2.4.x). De par ce mode de fonctionnement, les
threads de travail HTTP/2, ou plus simplement H2 ne seront pas
- affichés par <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. De même, ils ne seront pas
+ affichés par <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. De même, ils ne seront pas
pris en compte par les directives du style <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>. Par contre, ils
- utilisent par défaut la valeur de <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> si vous n'avez pas
- spécifié d'autres valeurs via <code class="directive"><a href="#h2minworkers">H2MinWorkers</a></code> et <code class="directive"><a href="#h2maxworkers">H2MaxWorkers</a></code>.
+ utilisent par défaut la valeur de <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> si vous n'avez pas
+ spécifié d'autres valeurs via <code class="directive"><a href="#h2minworkers">H2MinWorkers</a></code> et <code class="directive"><a href="#h2maxworkers">H2MaxWorkers</a></code>.
</p>
<p>
- Autre changement à surveiller : la consommation de mémoire. En
+ Autre changement à surveiller : la consommation de mémoire. En
effet, comme HTTP/2 conserve plus d'informations sur le serveur pour
- gérer toutes les requêtes en cours, leurs priorités et
- interdépendances, il aura toujours besoin de plus de mémoire que
+ gérer toutes les requêtes en cours, leurs priorités et
+ interdépendances, il aura toujours besoin de plus de mémoire que
pour un traitement en HTTP/1.1. Trois directives permettent de
- limiter l'empreinte mémoire d'une connexion HTTP/2 : <code class="directive"><a href="#h2maxsessionstreams">H2MaxSessionStreams</a></code>, <code class="directive"><a href="#h2windowsize">H2WindowSize</a></code> et <code class="directive"><a href="#h2streammaxmemsize">H2StreamMaxMemSize</a></code>.
+ limiter l'empreinte mémoire d'une connexion HTTP/2 : <code class="directive"><a href="#h2maxsessionstreams">H2MaxSessionStreams</a></code>, <code class="directive"><a href="#h2windowsize">H2WindowSize</a></code> et <code class="directive"><a href="#h2streammaxmemsize">H2StreamMaxMemSize</a></code>.
</p>
<p>
La directive <code class="directive"><a href="#h2maxsessionstreams">H2MaxSessionStreams</a></code> permet de limiter
- le nombre de requêtes simultanées qu'un client peut envoyer sur une
- connexion HTTP/2. La valeur que vous allez définir dépend de votre
- site. La valeur par défaut qui est de 100 est largement suffisante,
- et à moins que vous ne soyez un peu juste en mémoire, je vous
- conseille de ne pas la modifier. La plupart des requêtes qu'envoie
- un client sont des requêtes de type GET sans corps qui n'utilisent
- que très peu de mémoire en attendant le démarrage du traitement.
+ le nombre de requêtes simultanées qu'un client peut envoyer sur une
+ connexion HTTP/2. La valeur que vous allez définir dépend de votre
+ site. La valeur par défaut qui est de 100 est largement suffisante,
+ et à moins que vous ne soyez un peu juste en mémoire, je vous
+ conseille de ne pas la modifier. La plupart des requêtes qu'envoie
+ un client sont des requêtes de type GET sans corps qui n'utilisent
+ que très peu de mémoire en attendant le démarrage du traitement.
</p>
<p>
La directive <code class="directive"><a href="#h2windowsize">H2WindowSize</a></code>
- permet de définir la taille maximale que peut avoir le corps d'une
- requête que le client envoie avant d'attendre que le serveur
- en demande d'avantage. En d'autres termes, il s'agit de la quantité
- de données que le serveur peut stocker dans son tampon, valable pour
- une requête.
+ permet de définir la taille maximale que peut avoir le corps d'une
+ requête que le client envoie avant d'attendre que le serveur
+ en demande d'avantage. En d'autres termes, il s'agit de la quantité
+ de données que le serveur peut stocker dans son tampon, valable pour
+ une requête.
</p>
<p>
- En outre, la directive <code class="directive"><a href="#h2streammaxmemsize">H2StreamMaxMemSize</a></code> permet de définir
- la quantité de données de la réponse qui doit être mise en tampon.
- Chaque requête étant prise en charge par un thread H2Worker et
- produisant des données que le serveur tente de transmettre au client
+ En outre, la directive <code class="directive"><a href="#h2streammaxmemsize">H2StreamMaxMemSize</a></code> permet de définir
+ la quantité de données de la réponse qui doit être mise en tampon.
+ Chaque requête étant prise en charge par un thread H2Worker et
+ produisant des données que le serveur tente de transmettre au client
via une connexion HTTP/2, si le client n'est pas en mesure de lire
- ces données assez rapidement, la connexion les mettra en tampon et
- interrompra l'exécution du thread H2Worker correspondant.
+ ces données assez rapidement, la connexion les mettra en tampon et
+ interrompra l'exécution du thread H2Worker correspondant.
</p>
- <h3><a name="misdirected" id="misdirected">Serveurs virtuels et requêtes mal
- redirigées</a></h3>
+ <h3><a name="misdirected" id="misdirected">Serveurs virtuels et requêtes mal
+ redirigées</a></h3>
<p>
- De nombreux site utilisent le même certificat TLS pour plusieurs
- serveurs virtuels. Ce certificat référence un nom de serveur
- générique comme '*.example.org' ou plusieurs noms de serveur
- différents. Les navigateurs qui utilisent HTTP/2 détectent ce
- comportement et réutilisent une connexion déjà ouverte pour ces
+ De nombreux site utilisent le même certificat TLS pour plusieurs
+ serveurs virtuels. Ce certificat référence un nom de serveur
+ générique comme '*.example.org' ou plusieurs noms de serveur
+ différents. Les navigateurs qui utilisent HTTP/2 détectent ce
+ comportement et réutilisent une connexion déjà ouverte pour ces
serveurs.
</p>
<p>
- Ceci améliore considérablement les performances, mais il y a un prix
- à payer : il faut accorder un soin tout particulier à la
- configuration de tels serveurs virtuels. Le problème réside dans le
- fait que plusieurs requêtes pour plusieurs serveurs virtuels vont se
- partager la même connexion TLS, et ceci empêche toute renégociation
+ Ceci améliore considérablement les performances, mais il y a un prix
+ à payer : il faut accorder un soin tout particulier à la
+ configuration de tels serveurs virtuels. Le problème réside dans le
+ fait que plusieurs requêtes pour plusieurs serveurs virtuels vont se
+ partager la même connexion TLS, et ceci empêche toute renégociation
car le standard HTTP/2 l'interdit.
</p>
<p>
- Ainsi, lorsque plusieurs de vos serveurs virtuels utilisent le même
- certificat et si vous souhaitez utiliser HTTP/2 pour y accéder, vous
- devez vous assurer que tous vos serveurs virtuels possèdent
- exactement la même configuration SSL. En particulier, ils doivent
- utiliser les mêmes protocole, algorithme de chiffrement et
- configuration pour la vérification du client.
+ Ainsi, lorsque plusieurs de vos serveurs virtuels utilisent le même
+ certificat et si vous souhaitez utiliser HTTP/2 pour y accéder, vous
+ devez vous assurer que tous vos serveurs virtuels possèdent
+ exactement la même configuration SSL. En particulier, ils doivent
+ utiliser les mêmes protocole, algorithme de chiffrement et
+ configuration pour la vérification du client.
</p>
<p>
- Dans le cas contraire, Apache httpd le détectera et renverra au
- client un code de réponse spécial, 421 Misdirected Request.
+ Dans le cas contraire, Apache httpd le détectera et renverra au
+ client un code de réponse spécial, 421 Misdirected Request.
</p>
<h3><a name="envvars" id="envvars">Variables d'environnement</a></h3>
- <p>Ce module peut être configuré pour fournir des informations en
+ <p>Ce module peut être configuré pour fournir des informations en
rapport avec HTTP/2 sous la forme de variables d'environnement
- supplémentaires dans l'espace de nommage SSI et CGI, ainsi que dans les
- configurations personnalisées de le journalisation (voir
+ supplémentaires dans l'espace de nommage SSI et CGI, ainsi que dans les
+ configurations personnalisées de le journalisation (voir
<code>%{VAR_NAME}e</code>).
</p>
<th>Type :</th>
<th>Description :</th>
</tr>
- <tr><td><code>HTTPe</code></td><td>drapeau</td><td>HTTP/2 est utilisé.</td></tr>
+ <tr><td><code>HTTPe</code></td><td>drapeau</td><td>HTTP/2 est utilisé.</td></tr>
<tr><td><code>H2PUSH</code></td><td>drapeau</td><td>La
- fonctionnalité HTTP/2 Server Push est activée pour cette requête et
- supportée par le client.</td></tr>
+ fonctionnalité HTTP/2 Server Push est activée pour cette requête et
+ supportée par le client.</td></tr>
<tr><td><code>H2_PUSH</code></td><td>drapeau</td><td>autre nom pour <code>H2PUSH</code></td></tr>
- <tr><td><code>H2_PUSHED</code></td><td>chaîne</td><td>vide ou
- <code>PUSHED</code> pour une requête pushée par le serveur.</td></tr>
- <tr><td><code>H2_PUSHED_ON</code></td><td>nombre</td><td>numéro du
- flux HTTP/2 qui a déclenché le push de cette requête.</td></tr>
- <tr><td><code>H2_STREAM_ID</code></td><td>nombre</td><td>numéro du
- flux HTTP/2 de cette requête.</td></tr>
- <tr><td><code>H2_STREAM_TAG</code></td><td>chaîne</td><td>identifiant
- de flux unique du processus HTTP/2 composé de l'identifiant de la
- connexion et de l'identifiant du flux séparés par <code>-</code>.</td></tr>
+ <tr><td><code>H2_PUSHED</code></td><td>chaîne</td><td>vide ou
+ <code>PUSHED</code> pour une requête pushée par le serveur.</td></tr>
+ <tr><td><code>H2_PUSHED_ON</code></td><td>nombre</td><td>numéro du
+ flux HTTP/2 qui a déclenché le push de cette requête.</td></tr>
+ <tr><td><code>H2_STREAM_ID</code></td><td>nombre</td><td>numéro du
+ flux HTTP/2 de cette requête.</td></tr>
+ <tr><td><code>H2_STREAM_TAG</code></td><td>chaîne</td><td>identifiant
+ de flux unique du processus HTTP/2 composé de l'identifiant de la
+ connexion et de l'identifiant du flux séparés par <code>-</code>.</td></tr>
</table>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="h2copyfiles" id="h2copyfiles">Directive</a> <a name="H2CopyFiles" id="H2CopyFiles">H2CopyFiles</a><a title="Lien permanent" href="#h2copyfiles" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la gestion des fichiers dans les réponses</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la gestion des fichiers dans les réponses</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2CopyFiles on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2CopyFiles off</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#Default">Défaut:</a></th><td><code>H2CopyFiles off</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">AllowOverride:</a></th><td>FileInfo</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_http2</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.24 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.24 du serveur HTTP
Apache.</td></tr>
</table>
<p>
- Cette directive permet de définir la manière de gérer les
- contenus de fichiers dans les réponses. Lorsqu'elle est à <code>off</code>
- (sa valeur par défaut), les descripteurs de fichiers sont
- transmis par le processus de traitement de la requête vers la
- connexion principale en utilisant le système habituel de mise en
- réserve d'Apache pour gérer le durée de vie du fichier.
+ Cette directive permet de définir la manière de gérer les
+ contenus de fichiers dans les réponses. Lorsqu'elle est à <code>off</code>
+ (sa valeur par défaut), les descripteurs de fichiers sont
+ transmis par le processus de traitement de la requête vers la
+ connexion principale en utilisant le système habituel de mise en
+ réserve d'Apache pour gérer le durée de vie du fichier.
</p>
<p>
- Lorsqu'elle est à <code>on</code>, le contenu du fichier est
- recopier pendant le traitement de la requête et ces données
+ Lorsqu'elle est à <code>on</code>, le contenu du fichier est
+ recopier pendant le traitement de la requête et ces données
mises en tampon sont transmises vers la connexion principale, ce
- qui s'avère avantageux lorsqu'un module tiers injecte dans la
- réponse des fichiers possédant des durées de vie différentes.
+ qui s'avère avantageux lorsqu'un module tiers injecte dans la
+ réponse des fichiers possédant des durées de vie différentes.
</p>
<p>
Un exemple de ces modules tiers : <code>mod_wsgi</code> qui peut
- injecter des descripteurs de fichiers dans la réponse. Ces
- fichiers sont fermés lorsque Python estime que le traitement est
- terminé, alors que <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> est probablement
+ injecter des descripteurs de fichiers dans la réponse. Ces
+ fichiers sont fermés lorsque Python estime que le traitement est
+ terminé, alors que <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> est probablement
encore loin d'en avoir fini avec eux.
</p>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activation du protocole H2 Direct</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2Direct on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2Direct on pour h2c, off pour le protocole h2</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2Direct on pour h2c, off pour le protocole h2</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_http2</td></tr>
</table>
<p>
- Cette directive permet d'activer/désactiver
- l'utilisation du mode HTTP/2 Direct. Elle doit être
- située dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> afin d'activer la
+ Cette directive permet d'activer/désactiver
+ l'utilisation du mode HTTP/2 Direct. Elle doit être
+ située dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> afin d'activer la
communication directe HTTP/2 pour le serveur virtuel
- considéré.
+ considéré.
</p>
<p>
La notion de communication directe signifie que si les
- premiers octets reçus par le serveur correspondent à un
- en-tête HTTP/2, le protocole HTTP/2 est utilisé sans
- négociation supplémentaire. Ce mode est défini pour
+ premiers octets reçus par le serveur correspondent à un
+ en-tête HTTP/2, le protocole HTTP/2 est utilisé sans
+ négociation supplémentaire. Ce mode est défini pour
les transmissions en clair (h2c) dans la RFC 7540. Son
utilisation avec les connexions TLS n'est pas
- officiellement supportée.
+ officiellement supportée.
</p>
<p>
- Lorsque le protocole h2 ou h2c n'est pas activé via la
- directive <code class="directive"><a href="../mod/core.html#protocols">Protocols</a></code>, la recherche d'un en-tête HTTP/2 n'est
- jamais effectuée au sein d'une connexion. La directive
+ Lorsque le protocole h2 ou h2c n'est pas activé via la
+ directive <code class="directive"><a href="../mod/core.html#protocols">Protocols</a></code>, la recherche d'un en-tête HTTP/2 n'est
+ jamais effectuée au sein d'une connexion. La directive
<code class="directive">H2Direct</code> ne produit alors aucun effet. Ceci est
important pour les connexions qui utilisent un protocole
- pour lequel une lecture initiale peut entraîner un
- blocage définitif comme NNTP.
+ pour lequel une lecture initiale peut entraîner un
+ blocage définitif comme NNTP.
</p>
<p>
Pour un client qui sait qu'un serveur supporte h2c, la
communication directe HTTP/2 dispense le client d'une
- mise à jour HTTP/1.1, ce qui entraîne une amélioration
- des performances et évite les restrictions sur les corps
- de requête suite à une mise à jour.
+ mise à jour HTTP/1.1, ce qui entraîne une amélioration
+ des performances et évite les restrictions sur les corps
+ de requête suite à une mise à jour.
</p>
<p>
Cette directive rend aussi h2c plus attractif pour les
- communications de serveur à serveur lorsque la connexion
- est sure ou peut être sécurisée d'une manière ou d'une
+ communications de serveur à serveur lorsque la connexion
+ est sure ou peut être sécurisée d'une manière ou d'une
autre.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2Direct on</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="h2earlyhints" id="h2earlyhints">Directive</a> <a name="H2EarlyHints" id="H2EarlyHints">H2EarlyHints</a><a title="Lien permanent" href="#h2earlyhints" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle l'envoi de codes d'état 103</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle l'envoi de codes d'état 103</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2EarlyHints on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2EarlyHints off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2EarlyHints off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_http2</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.24 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.24 du serveur HTTP
Apache.</td></tr>
</table>
<p>
- Cette directive permet de définir si les réponses intermédiaires
- contenant un code d'état HTTP 103 doivent être envoyées au
- client ou non. Par défaut ce n'est actuellement pas le cas car
- certains clients ont encore des problèmes avec les réponses
- intermédiaires inattendues.
+ Cette directive permet de définir si les réponses intermédiaires
+ contenant un code d'état HTTP 103 doivent être envoyées au
+ client ou non. Par défaut ce n'est actuellement pas le cas car
+ certains clients ont encore des problèmes avec les réponses
+ intermédiaires inattendues.
</p>
<p>
- Lorsque cette directive est définie à <code>on</code>, les
- ressources PUSHées définie par la directive
- <code>H2PushResource</code> déclenchent une réponse
- intermédiaire 103 avant la réponse finale. Cette réponse 103
- comporte des en-têtes <code>Link</code> qui provoquent le
- <code>préchargement</code> des ressources considérées.
+ Lorsque cette directive est définie à <code>on</code>, les
+ ressources PUSHées définie par la directive
+ <code>H2PushResource</code> déclenchent une réponse
+ intermédiaire 103 avant la réponse finale. Cette réponse 103
+ comporte des en-têtes <code>Link</code> qui provoquent le
+ <code>préchargement</code> des ressources considérées.
</p>
</div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximal de flux actifs par session HTTP/2.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2MaxSessionStreams <em>n</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2MaxSessionStreams 100</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2MaxSessionStreams 100</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_http2</td></tr>
</table>
<p>
- Cette directive permet de définir le nombre maximal de flux
- actifs par session (connexion) HTTP/2 accepté par le serveur.
- Selon la RFC 7540, un flux est considéré comme actif s'il n'est
- ni <code>en attente</code> ni <code>fermé</code>.
+ Cette directive permet de définir le nombre maximal de flux
+ actifs par session (connexion) HTTP/2 accepté par le serveur.
+ Selon la RFC 7540, un flux est considéré comme actif s'il n'est
+ ni <code>en attente</code> ni <code>fermé</code>.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2MaxSessionStreams 20</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="h2maxworkeridleseconds" id="h2maxworkeridleseconds">Directive</a> <a name="H2MaxWorkerIdleSeconds" id="H2MaxWorkerIdleSeconds">H2MaxWorkerIdleSeconds</a><a title="Lien permanent" href="#h2maxworkeridleseconds" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximal de secondes pendant lequel une unité de
- traitement h2 pourra rester inactive sans être arrêtée.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximal de secondes pendant lequel une unité de
+ traitement h2 pourra rester inactive sans être arrêtée.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2MaxWorkerIdleSeconds <em>n</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2MaxWorkerIdleSeconds 600</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2MaxWorkerIdleSeconds 600</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_http2</td></tr>
</table>
<p>
- Cette directive permet de définir le nombre maximal de secondes
- pendant lequel une unité de traitement h2 pourra rester inactive
- avant de s'arrêter elle-même. Cet arrêt ne peut cependant se
- produire que si le nombre d'unités de traitement h2 dépasse
+ Cette directive permet de définir le nombre maximal de secondes
+ pendant lequel une unité de traitement h2 pourra rester inactive
+ avant de s'arrêter elle-même. Cet arrêt ne peut cependant se
+ produire que si le nombre d'unités de traitement h2 dépasse
<code class="directive"><a href="#h2minworkers">H2MinWorkers</a></code>.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2MaxWorkerIdleSeconds 20</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="h2maxworkers" id="h2maxworkers">Directive</a> <a name="H2MaxWorkers" id="H2MaxWorkers">H2MaxWorkers</a><a title="Lien permanent" href="#h2maxworkers" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximal de threads à utiliser pour chaque processus
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximal de threads à utiliser pour chaque processus
enfant.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2MaxWorkers <em>n</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#Module">Module:</a></th><td>mod_http2</td></tr>
</table>
<p>
- Cette directive permet de définir le nombre maximal de threads à
+ Cette directive permet de définir le nombre maximal de threads à
lancer pour le traitement HTTP/2 de chaque processus enfant. Si
- cette directive n'est pas définie, <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code>
- choisira une valeur appropriée en fonction du module <code>mpm</code>
- utilisé.
+ cette directive n'est pas définie, <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code>
+ choisira une valeur appropriée en fonction du module <code>mpm</code>
+ utilisé.
This directive sets the maximum number of worker threads to spawn
per child process for HTTP/2 processing. If this directive is not used,
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="h2minworkers" id="h2minworkers">Directive</a> <a name="H2MinWorkers" id="H2MinWorkers">H2MinWorkers</a><a title="Lien permanent" href="#h2minworkers" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre minimal de threads à utiliser pour chaque processus
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre minimal de threads à utiliser pour chaque processus
enfant.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2MinWorkers <em>n</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#Module">Module:</a></th><td>mod_http2</td></tr>
</table>
<p>
- Cette directive permet de définir le nombre minimal de threads à
+ Cette directive permet de définir le nombre minimal de threads à
lancer pour le traitement HTTP/2 de chaque processus enfant. Si
- cette directive n'est pas définie, <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code>
- choisira une valeur appropriée en fonction du module <code>mpm</code>
- utilisé.
+ cette directive n'est pas définie, <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code>
+ choisira une valeur appropriée en fonction du module <code>mpm</code>
+ utilisé.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2MinWorkers 10</pre>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Impose les connexions HTTP/2 en mode "TLS moderne"
seulement</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2ModernTLSOnly on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2ModernTLSOnly on</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2ModernTLSOnly on</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_http2</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP
Apache.</td></tr>
</table>
<p>
- Cette directive permet de définir si les vérifications de
- sécurité sur les connexions HTTP/2 doivent être exclusivement en
- mode TLS (https:). Elle peut être placée au niveau du serveur
+ Cette directive permet de définir si les vérifications de
+ sécurité sur les connexions HTTP/2 doivent être exclusivement en
+ mode TLS (https:). Elle peut être placée au niveau du serveur
principal ou dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.
</p>
<p>
- Les vérifications de sécurité nécessitent TLSv1.2 au minimum et
- l'absence de tout algorithme de chiffrement listé dans la RFC
- 7540, Appendix A. Ces vérifications seront étendues lorsque de
- nouveaux prérequis en matière de sécurité seront mis en place.
+ Les vérifications de sécurité nécessitent TLSv1.2 au minimum et
+ l'absence de tout algorithme de chiffrement listé dans la RFC
+ 7540, Appendix A. Ces vérifications seront étendues lorsque de
+ nouveaux prérequis en matière de sécurité seront mis en place.
</p>
<p>
- Le nom provient des définitions Mozilla <a href="https://wiki.mozilla.org/Security/Server_Side_TLS">Security/Server
- Side TLS</a> où il est question de "modern compatibility".
+ Le nom provient des définitions Mozilla <a href="https://wiki.mozilla.org/Security/Server_Side_TLS">Security/Server
+ Side TLS</a> où il est question de "modern compatibility".
Mozilla Firefox et d'autres navigateurs imposent la "modern
compatibility" pour les connexions HTTP/2. Comme toute chose en
- matière de sécurité opérationnelle, c'est une cible mouvante
- susceptible d'évoluer dans le futur.
+ matière de sécurité opérationnelle, c'est une cible mouvante
+ susceptible d'évoluer dans le futur.
</p>
<p>
- Un des buts de ces vérifications dans <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> tend à imposer
- ce niveau de sécurité pour toutes les connexions, et non
+ Un des buts de ces vérifications dans <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> tend à imposer
+ ce niveau de sécurité pour toutes les connexions, et non
seulement celles en provenance des navigateurs web. Un autre but
est l'interdiction d'utiliser HTTP/2 en tant que protocole dans
- les négociations si les prérequis ne sont pas respectés.
+ les négociations si les prérequis ne sont pas respectés.
</p>
<p>
- En fin de compte, la sécurité de la connexion TLS est déterminée
+ En fin de compte, la sécurité de la connexion TLS est déterminée
par les directives de configuration du serveur pour <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2ModernTLSOnly off</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="h2push" id="h2push">Directive</a> <a name="H2Push" id="H2Push">H2Push</a><a title="Lien permanent" href="#h2push" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activation/désactivation du server push H2</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activation/désactivation du server push H2</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2Push on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2Push on</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2Push on</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_http2</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP
Apache.</td></tr>
</table>
<p>
- Cette directive permet d'activer/désactiver
- l'utilisation de la fonctionnalité server push du
+ Cette directive permet d'activer/désactiver
+ l'utilisation de la fonctionnalité server push du
protocole HTTP/2.
</p>
<p>
- Lorsqu'un client demande une ressource particulière, le
+ Lorsqu'un client demande une ressource particulière, le
protocole HTTP/2 permet au serveur de lui fournir des
- ressources supplémentaires. Ceci s'avère utile lorsque
- ces ressources sont reliées entre elles, ce qui peut
+ ressources supplémentaires. Ceci s'avère utile lorsque
+ ces ressources sont reliées entre elles, ce qui peut
laisser supposer que le client va probablement les
- demander dans un délai plus ou moins long. Le mécanisme
- de pushing permet alors au client d'économiser le temps
+ demander dans un délai plus ou moins long. Le mécanisme
+ de pushing permet alors au client d'économiser le temps
qu'il lui aurait fallu pour demander ces ressources
- supplémentaires lui-même. Par contre, fournir au client
- des ressources dont il n'a pas besoin ou qu'il possède
- déjà constitue une perte de bande passante.
+ supplémentaires lui-même. Par contre, fournir au client
+ des ressources dont il n'a pas besoin ou qu'il possède
+ déjà constitue une perte de bande passante.
</p>
<p>
- Les server pushes sont détectés en inspectant les
- en-têtes <code>Link</code> des réponses (voir
+ Les server pushes sont détectés en inspectant les
+ en-têtes <code>Link</code> des réponses (voir
https://tools.ietf.org/html/rfc5988 pour la
- spécification). Lorsqu'un lien spécifié de cette manière
- possède l'attribut <code>rel=preload</code>, il est
- considéré comme devant faire l'objet d'un push.
+ spécification). Lorsqu'un lien spécifié de cette manière
+ possède l'attribut <code>rel=preload</code>, il est
+ considéré comme devant faire l'objet d'un push.
</p>
<p>
- Les en-têtes link des réponses sont soit définis par
- l'application, soit configurés via
+ Les en-têtes link des réponses sont soit définis par
+ l'application, soit configurés via
<code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> comme suit :
</p>
- <div class="example"><h3>Exemple de configuration d'en-tête link via mod_headers</h3><pre class="prettyprint lang-config"><Location /index.html>
+ <div class="example"><h3>Exemple de configuration d'en-tête link via mod_headers</h3><pre class="prettyprint lang-config"><Location /index.html>
Header add Link "</css/site.css>;rel=preload"
Header add Link "</images/logo.jpg>;rel=preload"
</Location></pre>
</div>
<p>
Comme le montre l'exemple, il est possible d'ajouter
- autant d'en-têtes link que l'on souhaite à une réponse, ce qui déclenchera
- autant de pushes. Cette fonctionnalité doit donc être
- utilisée avec prudence car le module ne vérifie pas si
- une ressource n'a pas déjà été "pushée" vers un client.
+ autant d'en-têtes link que l'on souhaite à une réponse, ce qui déclenchera
+ autant de pushes. Cette fonctionnalité doit donc être
+ utilisée avec prudence car le module ne vérifie pas si
+ une ressource n'a pas déjà été "pushée" vers un client.
</p>
<p>
- Les server pushes HTTP/2 sont activés par défaut. Cette
- directive permet de désactiver cette fonctionnalité pour
- le serveur virtuel ou non considéré.
+ Les server pushes HTTP/2 sont activés par défaut. Cette
+ directive permet de désactiver cette fonctionnalité pour
+ le serveur virtuel ou non considéré.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2Push off</pre>
</div>
<p>
Enfin, il est important de savoir que les pushes ne se
- produisent que si le client en manifeste le désir ; la
+ produisent que si le client en manifeste le désir ; la
plupart des navigateurs le font, mais certains, comme
Safari 9, ne le font pas. En outre, les pushes ne se produisent que
- pour les ressources de la même <em>autorité</em> que celle de la
- réponse originale.
+ pour les ressources de la même <em>autorité</em> que celle de la
+ réponse originale.
</p>
</div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du journal des Pushes H2</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2PushDiarySize n</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2PushDiarySize 256</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2PushDiarySize 256</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_http2</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.19 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.19 du serveur HTTP
Apache.</td></tr>
</table>
<p>
- Cette directive permet de définir le nombre maximum de pushes
- qui seront enregistrés pour une connexion HTTP/2. Elle peut être
- placée dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> afin de définir le nombre
- de pushes pour le serveur virtuel considéré.
+ Cette directive permet de définir le nombre maximum de pushes
+ qui seront enregistrés pour une connexion HTTP/2. Elle peut être
+ placée dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> afin de définir le nombre
+ de pushes pour le serveur virtuel considéré.
</p>
<p>
- Le journal des pushes enregistre un condensé (sous la forme d'un
- nombre de 64 bits) des ressources préchargées (leurs URLs) afin
- d'éviter les duplications de pushes pour une même connexion.
- Cependant, ces données ne sont pas conservées, et les clients
- qui ouvrent une nouvelle connexion se verront à nouveau affecter les
- mêmes pushes. A ce titre, une étude est en cours pour permettre
- au client de supprimer le condensé des ressources qu'il possède
- déjà, et par là-même de réinitialiser le journal des pushes à
+ Le journal des pushes enregistre un condensé (sous la forme d'un
+ nombre de 64 bits) des ressources préchargées (leurs URLs) afin
+ d'éviter les duplications de pushes pour une même connexion.
+ Cependant, ces données ne sont pas conservées, et les clients
+ qui ouvrent une nouvelle connexion se verront à nouveau affecter les
+ mêmes pushes. A ce titre, une étude est en cours pour permettre
+ au client de supprimer le condensé des ressources qu'il possède
+ déjà, et par là-même de réinitialiser le journal des pushes à
chaque nouvelle connexion.
</p>
<p>
- Si la taille maximale est atteinte, les nouvelles entrées
- remplacent les plus anciennes. Une entrée du journal nécessitant
- 8 octets, un journal de 256 entrées consomme 2 Ko de mémoire.
+ Si la taille maximale est atteinte, les nouvelles entrées
+ remplacent les plus anciennes. Une entrée du journal nécessitant
+ 8 octets, un journal de 256 entrées consomme 2 Ko de mémoire.
</p>
<p>
- Si cette directive est définie à 0, le journal des pushes est
- désactivé.
+ Si cette directive est définie à 0, le journal des pushes est
+ désactivé.
</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="h2pushpriority" id="h2pushpriority">Directive</a> <a name="H2PushPriority" id="H2PushPriority">H2PushPriority</a><a title="Lien permanent" href="#h2pushpriority" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Priorité des pushes H2</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Priorité des pushes H2</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2PushPriority mime-type [after|before|interleaved] [weight]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2PushPriority * After 16</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2PushPriority * After 16</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_http2</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP
- Apache. Nécessite la bibliothèque nghttp2 version 1.5.0 ou supérieure.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP
+ Apache. Nécessite la bibliothèque nghttp2 version 1.5.0 ou supérieure.</td></tr>
</table>
<p>
- Cette directive permet de définir une gestion de priorité des
- pushes en fonction du type de contenu de la réponse. Elle est en
- général définie au niveau du serveur principal, mais peut aussi
- l'être au niveau d'un serveur virtuel.
+ Cette directive permet de définir une gestion de priorité des
+ pushes en fonction du type de contenu de la réponse. Elle est en
+ général définie au niveau du serveur principal, mais peut aussi
+ l'être au niveau d'un serveur virtuel.
</p>
<p>
- Les pushes HTTP/2 sont toujours liés à une requête client.
- Chaque paire requête/réponse de cette sorte, ou <em>flux</em>,
- possède une dépendance et un poids qui définissent la
- <em>priorité</em> du flux.
+ Les pushes HTTP/2 sont toujours liés à une requête client.
+ Chaque paire requête/réponse de cette sorte, ou <em>flux</em>,
+ possède une dépendance et un poids qui définissent la
+ <em>priorité</em> du flux.
</p>
<p>
- Lorsqu'un flux <em>dépend</em> d'un autre, disons X dépend de Y,
- alors Y reçoit toute la bande passante avant que X n'en reçoive
+ Lorsqu'un flux <em>dépend</em> d'un autre, disons X dépend de Y,
+ alors Y reçoit toute la bande passante avant que X n'en reçoive
ne serait-ce qu'une partie. Notez que cela ne signifie en rien
- que Y bloque X ; en effet, si Y n'a aucune donnée à envoyer,
- toute la bande passante qui lui est allouée peut être utilisée
+ que Y bloque X ; en effet, si Y n'a aucune donnée à envoyer,
+ toute la bande passante qui lui est allouée peut être utilisée
par X.
</p>
<p>
- Lorsque plusieurs flux dépendent d'un même autre flux, disons X1
- et X2 dépendent tous deux de Y, le <em>poids</em> détermine la
- bande passante allouée. Ainsi, si X1 et X2 possèdent le même
- poids, ils recevront tous deux la moitié de la bande passante
- disponible. Si le poids de X1 est égal au double de celui de X2,
+ Lorsque plusieurs flux dépendent d'un même autre flux, disons X1
+ et X2 dépendent tous deux de Y, le <em>poids</em> détermine la
+ bande passante allouée. Ainsi, si X1 et X2 possèdent le même
+ poids, ils recevront tous deux la moitié de la bande passante
+ disponible. Si le poids de X1 est égal au double de celui de X2,
X1 recevra une bande passante double de celle de X2.
</p>
<p>
- En fin de compte, tout flux dépend du flux <em>racine</em> qui
- reçoit toute la bande passante disponible mais n'envoie jamais
- de données. Cette bande passante est ainsi répartie entre les flux
+ En fin de compte, tout flux dépend du flux <em>racine</em> qui
+ reçoit toute la bande passante disponible mais n'envoie jamais
+ de données. Cette bande passante est ainsi répartie entre les flux
enfants selon leur poids. Ces derniers l'utilisent alors pour
- envoyer leurs données ou pour la répartir entre leurs propres
+ envoyer leurs données ou pour la répartir entre leurs propres
flux enfants, et ainsi de suite. Si aucun des flux enfants n'a
- de données à envoyer, la bande passante est attribuée à d'autres
- flux selon les mêmes règles.
+ de données à envoyer, la bande passante est attribuée à d'autres
+ flux selon les mêmes règles.
</p>
<p>
- Ce système de priorités a été conçu de façon a toujours pouvoir
- utiliser la bande passante disponible tout en définissant des
- priorités et en attribuant des poids aux différents flux. Ainsi,
- tous les flux sont en général initialisés par le client qui
- lui-même définit les priorités.
+ Ce système de priorités a été conçu de façon a toujours pouvoir
+ utiliser la bande passante disponible tout en définissant des
+ priorités et en attribuant des poids aux différents flux. Ainsi,
+ tous les flux sont en général initialisés par le client qui
+ lui-même définit les priorités.
</p>
<p>
Seul le fait de savoir qu'un flux implique un PUSH permet au
- serveur de décider quelle est la priorité <em>initiale</em> d'un
+ serveur de décider quelle est la priorité <em>initiale</em> d'un
tel flux. Dans les exemples ci-dessous, X est le flux client. Il
- dépend de Y et le serveur décide de "PUSHer" les flux P1 et P2
+ dépend de Y et le serveur décide de "PUSHer" les flux P1 et P2
sur X.
</p>
<p>
- La règle de priorité par défaut est :
+ La règle de priorité par défaut est :
</p>
- <div class="example"><h3>Règle de priorité par défaut</h3><pre class="prettyprint lang-config">H2PushPriority * After 16</pre>
+ <div class="example"><h3>Règle de priorité par défaut</h3><pre class="prettyprint lang-config">H2PushPriority * After 16</pre>
</div>
<p>
Elle peut se traduire par "Envoyer un flux PUSH avec tout type
- de contenu et dépendant du flux client avec le poids 16". P1 et
- P2 seront alors envoyés après X, et comme leurs poids sont
- identiques, il se verront allouer la même quantité de bande
+ de contenu et dépendant du flux client avec le poids 16". P1 et
+ P2 seront alors envoyés après X, et comme leurs poids sont
+ identiques, il se verront allouer la même quantité de bande
passante.
</p>
- <div class="example"><h3>Règle de priorité entrelacée</h3><pre class="prettyprint lang-config">H2PushPriority text/css Interleaved 256</pre>
+ <div class="example"><h3>Règle de priorité entrelacée</h3><pre class="prettyprint lang-config">H2PushPriority text/css Interleaved 256</pre>
</div>
<p>
Ce qui peut se traduire par "Envoyer toute ressource CSS dans la
- même dépendance et avec le même poids que le flux client". Si le
- type de contenu de P1 est "text/css", il dépendra de Y (comme X)
- et son poids effectif sera calculé selon la formule : <code>P1ew
+ même dépendance et avec le même poids que le flux client". Si le
+ type de contenu de P1 est "text/css", il dépendra de Y (comme X)
+ et son poids effectif sera calculé selon la formule : <code>P1ew
= Xw * (P1w / 256)</code>. Si P1w est de 256, Le poids effectif
- de P1 sera le même que celui de X. Si X et P1 ont des données à
- envoyer, il se verront allouer la même quantité de bande
+ de P1 sera le même que celui de X. Si X et P1 ont des données à
+ envoyer, il se verront allouer la même quantité de bande
passante.
</p>
<p>
- Avec un Pw de 512, un flux entrelacé et PUSHé aura un poids
+ Avec un Pw de 512, un flux entrelacé et PUSHé aura un poids
double de celui de X. Avec un poids de 128, son poids ne sera
- que la moitié de celui de X. Notez que les poids effectifs sont
- toujours plafonnés à 256.
+ que la moitié de celui de X. Notez que les poids effectifs sont
+ toujours plafonnés à 256.
</p>
- <div class="example"><h3>Règle de priorité Before</h3><pre class="prettyprint lang-config">H2PushPriority application/json Before</pre>
+ <div class="example"><h3>Règle de priorité Before</h3><pre class="prettyprint lang-config">H2PushPriority application/json Before</pre>
</div>
<p>
- Dans cet exemple, tout flux PUSHé dont le contenu est de type
- 'application/json' sera envoyé <em>avant</em> X, ce qui rend P1
- dépendant de Y et X dépendant de P1. Ainsi, X sera mis en
- attente aussi longtemps que P1 aura des données à envoyer. Le
- poids effectif est hérité du flux client, et l'attribution d'un
- poids spécifique n'est pas autorisée.
+ Dans cet exemple, tout flux PUSHé dont le contenu est de type
+ 'application/json' sera envoyé <em>avant</em> X, ce qui rend P1
+ dépendant de Y et X dépendant de P1. Ainsi, X sera mis en
+ attente aussi longtemps que P1 aura des données à envoyer. Le
+ poids effectif est hérité du flux client, et l'attribution d'un
+ poids spécifique n'est pas autorisée.
</p>
<p>
- Vous devez garder à l'esprit que les spécifications en matière
- de priorités sont limitées par les ressources disponibles du
+ Vous devez garder à l'esprit que les spécifications en matière
+ de priorités sont limitées par les ressources disponibles du
serveur. Si un serveur ne dispose d'aucun processus/thread de
- travail pour les flux PUSHés, les données du flux considéré ne
- seront envoyées que lorsque les autres flux auront terminé
+ travail pour les flux PUSHés, les données du flux considéré ne
+ seront envoyées que lorsque les autres flux auront terminé
l'envoi des leurs.
</p>
<p>
Enfin et surtout, il convient de tenir compte de certaines
- particularités de la syntaxe de cette directive :
+ particularités de la syntaxe de cette directive :
</p>
<ol>
<li>'*' est la seule expression permettant de remplacer tout
type de contenu. 'image/*' ne fonctionnera pas.</li>
- <li>La dépendance par défaut est 'After'.</li>
- <li>Il existe aussi des poids par défaut : pour 'After' le poids
+ <li>La dépendance par défaut est 'After'.</li>
+ <li>Il existe aussi des poids par défaut : pour 'After' le poids
est de 16, alors que pour 'interleaved' il est de 256.
</li>
</ol>
- <div class="example"><h3>Exemples de règles</h3><pre class="prettyprint lang-config">H2PushPriority application/json 32 # une règle de priorité 'After'
-H2PushPriority image/jpeg before # poid hérité
-H2PushPriority text/css interleaved # poids de 256 par défaut</pre>
+ <div class="example"><h3>Exemples de règles</h3><pre class="prettyprint lang-config">H2PushPriority application/json 32 # une règle de priorité 'After'
+H2PushPriority image/jpeg before # poid hérité
+H2PushPriority text/css interleaved # poids de 256 par défaut</pre>
</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="h2pushresource" id="h2pushresource">Directive</a> <a name="H2PushResource" id="H2PushResource">H2PushResource</a><a title="Lien permanent" href="#h2pushresource" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare des ressources à proposer ("pusher") au client</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare des ressources à proposer ("pusher") au client</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2PushResource [add] path [critical]</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_http2</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.24 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.24 du serveur HTTP
Apache.</td></tr>
</table>
<p>
- Lorsqu'il sont activés pour un répertoire, les PUSHes HTTP/2 seront
- tentés pour tous les chemins ajoutés via cette directive. Cette
- dernière peut être utilisée plusieurs fois pour le même
- répertoire.
+ Lorsqu'il sont activés pour un répertoire, les PUSHes HTTP/2 seront
+ tentés pour tous les chemins ajoutés via cette directive. Cette
+ dernière peut être utilisée plusieurs fois pour le même
+ répertoire.
</p>
<p>
- Cette directive propose des ressources beaucoup plus tôt que les
- en-têtes <code>Link</code> de <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>.
- <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> présente ces ressources au client via
- une réponse intermédiaire <code>103 Early Hints</code>. Ceci
+ Cette directive propose des ressources beaucoup plus tôt que les
+ en-têtes <code>Link</code> de <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>.
+ <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> présente ces ressources au client via
+ une réponse intermédiaire <code>103 Early Hints</code>. Ceci
implique que les clients qui ne supportent pas PUSH recevront
- quand-même rapidement des propositions de préchargement.
+ quand-même rapidement des propositions de préchargement.
</p>
<p>
- A la différence de la définition d'en-têtes de réponse
+ A la différence de la définition d'en-têtes de réponse
<code>Link</code> via <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>, cette
directive n'aura d'effet que pour les connexions HTTP/2.
</p>
<p>
- En ajoutant l'option <code>critical</code> à une telle
+ En ajoutant l'option <code>critical</code> à une telle
ressource, le serveur la traitera prioritairement, et une fois
- les données disponibles, ces dernières seront envoyées avant les
- données de la requête principale.
+ les données disponibles, ces dernières seront envoyées avant les
+ données de la requête principale.
</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="h2serializeheaders" id="h2serializeheaders">Directive</a> <a name="H2SerializeHeaders" id="H2SerializeHeaders">H2SerializeHeaders</a><a title="Lien permanent" href="#h2serializeheaders" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active/désactive la sérialisation du traitement des
- requêtes/réponses</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active/désactive la sérialisation du traitement des
+ requêtes/réponses</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2SerializeHeaders on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2SerializeHeaders off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2SerializeHeaders off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_http2</td></tr>
</table>
<p>
- Cette directive permet de définir si les requêtes HTTP/2 doivent
- être sérialisées au format HTTP/1.1 pour être traitées par le
- noyau de <code>httpd</code>, ou si les données binaires reçues
- doivent être passées directement aux <code>request_rec</code>s.
+ Cette directive permet de définir si les requêtes HTTP/2 doivent
+ être sérialisées au format HTTP/1.1 pour être traitées par le
+ noyau de <code>httpd</code>, ou si les données binaires reçues
+ doivent être passées directement aux <code>request_rec</code>s.
</p>
<p>
- La sérialisation dégrade les performances, mais garantit une
- meilleure compatibilité ascendante lorsque des filtres ou
- programmes accroche personnalisés en ont besoin.
+ La sérialisation dégrade les performances, mais garantit une
+ meilleure compatibilité ascendante lorsque des filtres ou
+ programmes accroche personnalisés en ont besoin.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2SerializeHeaders on</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="h2streammaxmemsize" id="h2streammaxmemsize">Directive</a> <a name="H2StreamMaxMemSize" id="H2StreamMaxMemSize">H2StreamMaxMemSize</a><a title="Lien permanent" href="#h2streammaxmemsize" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Quantité maximale de données en sortie mises en tampon par
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Quantité maximale de données en sortie mises en tampon par
flux.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2StreamMaxMemSize <em>bytes</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2StreamMaxMemSize 65536</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2StreamMaxMemSize 65536</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_http2</td></tr>
</table>
<p>
- Cette directive permet de définir la quantité maximale de
- données en sortie mises en tampon mémoire pour un flux actif. Ce
- tampon mémoire n'est pas alloué pour chaque flux en tant que
- tel. Les quantités de mémoire sont définies en fonction de
- cette limite lorsqu'elles sont sur le point d'être allouées. Le
- flux s'arrête lorsque la limite a été atteinte, et ne reprendra
- que lorsque les données du tampon auront été transmises au
+ Cette directive permet de définir la quantité maximale de
+ données en sortie mises en tampon mémoire pour un flux actif. Ce
+ tampon mémoire n'est pas alloué pour chaque flux en tant que
+ tel. Les quantités de mémoire sont définies en fonction de
+ cette limite lorsqu'elles sont sur le point d'être allouées. Le
+ flux s'arrête lorsque la limite a été atteinte, et ne reprendra
+ que lorsque les données du tampon auront été transmises au
client.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2StreamMaxMemSize 128000</pre>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2TLSCoolDownSecs <em>seconds</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2TLSCoolDownSecs 1</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2TLSCoolDownSecs 1</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_http2</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP
Apache.</td></tr>
</table>
<p>
- Cette directive permet de spécifier le nombre de secondes avant
+ Cette directive permet de spécifier le nombre de secondes avant
lequel une connexion TLS inactive va diminuer
- la taille des paquets de données à une valeur inférieure (~1300
- octets). Elle peut être définie au niveau du serveur principal
+ la taille des paquets de données à une valeur inférieure (~1300
+ octets). Elle peut être définie au niveau du serveur principal
ou pour un <code class="directive"><a href="../mod/core.html#serveur virtuel"><serveur
- virtuel></a></code> spécifique.
+ virtuel></a></code> spécifique.
</p>
<p>
Voir la directive <code class="directive"><a href="#h2tlswarmupsize">H2TLSWarmUpSize</a></code> pour une description
- du "préchauffage" de TLS. La directive <code class="directive">H2TLSCoolDownSecs</code> met en
- lumière le fait que les connexions peuvent se détériorer au bout
- d'un certain temps (et au fur et à mesure des corrections du
- flux TCP), et cela même si elle sont inactives. Pour ne pas
- détériorer les performances d'une manière générale, il est par
- conséquent préférable de revenir à la phase de préchauffage
- lorsqu'aucune donnée n'a été transmise pendant un certain nombre
+ du "préchauffage" de TLS. La directive <code class="directive">H2TLSCoolDownSecs</code> met en
+ lumière le fait que les connexions peuvent se détériorer au bout
+ d'un certain temps (et au fur et à mesure des corrections du
+ flux TCP), et cela même si elle sont inactives. Pour ne pas
+ détériorer les performances d'une manière générale, il est par
+ conséquent préférable de revenir à la phase de préchauffage
+ lorsqu'aucune donnée n'a été transmise pendant un certain nombre
de secondes.
</p>
<p>
- Dans les situations où les connexions peuvent être considérées
- comme fiables, ce délai peut être désactivé en définissant cette
- directive à 0.
+ Dans les situations où les connexions peuvent être considérées
+ comme fiables, ce délai peut être désactivé en définissant cette
+ directive à 0.
</p>
<p>
- Dans l'exemple suivant, la directive est définie à 0, ce qui
- désactive tout retour à une phase de préchauffage des connexions
- TLS. Les connexions TLS déjà préchauffées conservent donc toujours
- leur taille de paquet de données maximale.
+ Dans l'exemple suivant, la directive est définie à 0, ce qui
+ désactive tout retour à une phase de préchauffage des connexions
+ TLS. Les connexions TLS déjà préchauffées conservent donc toujours
+ leur taille de paquet de données maximale.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2TLSCoolDownSecs 0</pre>
</div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td /></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2TLSWarmUpSize <em>amount</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2TLSWarmUpSize 1048576</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2TLSWarmUpSize 1048576</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_http2</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP
Apache.</td></tr>
</table>
<p>
- Cette directive permet de définir le nombre d'octets à envoyer
+ Cette directive permet de définir le nombre d'octets à envoyer
dans les petits enregistrements TLS (~1300 octets) avant
d'atteindre leur taille maximale de 16 ko pour les connexions
- https: HTTP/2. Elle peut être définie au niveau du serveur
- principal ou pour des <code class="directive"><a href="../mod/core.html#serveurs virtuels"><Serveurs virtuels></a></code> spécifiques.
+ https: HTTP/2. Elle peut être définie au niveau du serveur
+ principal ou pour des <code class="directive"><a href="../mod/core.html#serveurs virtuels"><Serveurs virtuels></a></code> spécifiques.
</p>
<p>
- Les mesures effectuées par les <a href="https://www.igvita.com">laboratoires de performances de
+ Les mesures effectuées par les <a href="https://www.igvita.com">laboratoires de performances de
Google</a> montrent que les meilleurs performances sont atteintes
pour les connexions TLS si la taille initiale des
- enregistrements reste en deça du niveau du MTU afin de permettre
- à la totatlité d'un enregistrement d'entrer dans un paquet IP.
+ enregistrements reste en deça du niveau du MTU afin de permettre
+ à la totatlité d'un enregistrement d'entrer dans un paquet IP.
</p>
<p>
- Comme TCP ajuste son contrôle de flux et sa taille de fenêtre,
+ Comme TCP ajuste son contrôle de flux et sa taille de fenêtre,
des enregistrements TLS trop longs peuvent rester en file
- d'attente ou même être perdus et devoir alors être réémis. Ceci
+ d'attente ou même être perdus et devoir alors être réémis. Ceci
est bien entendu vrai pour tous les paquets ; cependant, TLS a
- besoin de la totalité de l'enregistrement pour pouvoir le
- déchiffrer. Tout octet manquant rendra impossible l'utilisation
- de ceux qui ont été reçus.
+ besoin de la totalité de l'enregistrement pour pouvoir le
+ déchiffrer. Tout octet manquant rendra impossible l'utilisation
+ de ceux qui ont été reçus.
</p>
<p>
- Lorqu'un nombre suffisant d'octets a été transmis avec succès,
+ Lorqu'un nombre suffisant d'octets a été transmis avec succès,
la connexion TCP est stable, et la taille maximale (16 ko) des
- enregistrements TLS peut être utilisée pour des performances
+ enregistrements TLS peut être utilisée pour des performances
optimales.
</p>
<p>
- Dans les architectures où les serveurs sont atteints par des
+ Dans les architectures où les serveurs sont atteints par des
machines locales ou pour les connexions de confiance seulement,
- la valeur de cette directive peut être définie à 0, ce qui a
- pour effet de désactiver la "phase de chauffage".
+ la valeur de cette directive peut être définie à 0, ce qui a
+ pour effet de désactiver la "phase de chauffage".
</p>
<p>
Dans l'exemple suivant, la phase de chauffage est effectivement
- désactivée en définissant la directive à 0.
+ désactivée en définissant la directive à 0.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2TLSWarmUpSize 0</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="h2upgrade" id="h2upgrade">Directive</a> <a name="H2Upgrade" id="H2Upgrade">H2Upgrade</a><a title="Lien permanent" href="#h2upgrade" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activation/Désactivation du protocole de mise à jour H2</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activation/Désactivation du protocole de mise à jour H2</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2Upgrade on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2Upgrade on pour h2c, off pour h2</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2Upgrade on pour h2c, off pour h2</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_http2</td></tr>
</table>
<p>
- Cette directive permet d'activer/désactiver l'utilisation de la
- méthode de mise à jour pour passer de HTTP/1.1 à HTTP/2. Elle
- doit être placée dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> afin d'activer la mise à
- jour vers HTTP/2 pour le serveur virtuel considéré.
+ Cette directive permet d'activer/désactiver l'utilisation de la
+ méthode de mise à jour pour passer de HTTP/1.1 à HTTP/2. Elle
+ doit être placée dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> afin d'activer la mise à
+ jour vers HTTP/2 pour le serveur virtuel considéré.
</p>
<p>
- Cette méthode de changement de protocole est définie dans
- HTTP/1.1 et utilise l'en-tête "Upgrade" (d'où son nom) pour
- indiquer l'intention d'utiliser un autre protocole. Cet en-tête
- peut être présent dans toute requête sur une connexion HTTP/1.1.
+ Cette méthode de changement de protocole est définie dans
+ HTTP/1.1 et utilise l'en-tête "Upgrade" (d'où son nom) pour
+ indiquer l'intention d'utiliser un autre protocole. Cet en-tête
+ peut être présent dans toute requête sur une connexion HTTP/1.1.
</p>
<p>
- Elle activée par défaut pour les transmissions en clair
- (h2c), et désactivée avec TLS (h2), comme préconisé par la RFC
+ Elle activée par défaut pour les transmissions en clair
+ (h2c), et désactivée avec TLS (h2), comme préconisé par la RFC
7540.
</p>
<p>
- Sachez cependant que les mises à jour ne sont acceptées que pour
- les requêtes qui ne possèdent pas de corps. Le requêtes de type
+ Sachez cependant que les mises à jour ne sont acceptées que pour
+ les requêtes qui ne possèdent pas de corps. Le requêtes de type
POST et PUT avec un contenu ne feront jamais l'objet d'une mise
- à jour vers HTTP/2. Se référer à la documentation de la
+ à jour vers HTTP/2. Se référer à la documentation de la
directive <code class="directive"><a href="#h2direct">H2Direct</a></code> pour
- envisager une alternative à Upgrade.
+ envisager une alternative à Upgrade.
</p>
<p>
- Cette directive n'a d'effet que si h2 ou h2c est activé via la
+ Cette directive n'a d'effet que si h2 ou h2c est activé via la
directive <code class="directive"><a href="../mod/core.html#protocols">Protocols</a></code>.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2Upgrade on</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="h2windowsize" id="h2windowsize">Directive</a> <a name="H2WindowSize" id="H2WindowSize">H2WindowSize</a><a title="Lien permanent" href="#h2windowsize" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale des paquets de données pour les transmissions client
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale des paquets de données pour les transmissions client
vers serveur.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2WindowSize <em>bytes</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2WindowSize 65535</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2WindowSize 65535</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_http2</td></tr>
</table>
<p>
- Cette directive permet de définir la taille maximale des paquets
- de données envoyés par le client au serveur, et
- limite la quantité de données que le serveur doit mettre en
- tampon. Le client arrêtera d'envoyer des données sur un flux
- lorsque cette limite sera atteinte jusqu'à ce que le serveur
- indique qu'il dispose d'un espace suffisant (car il aura traité
- une partie des données).
+ Cette directive permet de définir la taille maximale des paquets
+ de données envoyés par le client au serveur, et
+ limite la quantité de données que le serveur doit mettre en
+ tampon. Le client arrêtera d'envoyer des données sur un flux
+ lorsque cette limite sera atteinte jusqu'à ce que le serveur
+ indique qu'il dispose d'un espace suffisant (car il aura traité
+ une partie des données).
</p><p>
- Cette limite n'affecte que les corps de requêtes, non les
- métadonnées comme les en-têtes. Par contre, elle n'affecte pas
- les corps de réponses car la taille maximale de ces derniers est
- gérée au niveau des clients.
+ Cette limite n'affecte que les corps de requêtes, non les
+ métadonnées comme les en-têtes. Par contre, elle n'affecte pas
+ les corps de réponses car la taille maximale de ces derniers est
+ gérée au niveau des clients.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2WindowSize 128000</pre>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_http2.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_http2.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_http2.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
<div id="preamble"><h1>Module Apache mod_ident</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ident.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_ident.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_ident.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_ident.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_ident.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Recherche d'identité conformément à la RFC
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Recherche d'identité conformément à la RFC
1413</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>ident_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ident.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>ident_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ident.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module interroge un démon compatible <a href="http://www.ietf.org/rfc/rfc1413.txt">RFC 1413</a> sur un
- serveur distant afin de déterminer le propriétaire d'une
+ <p>Ce module interroge un démon compatible <a href="http://www.ietf.org/rfc/rfc1413.txt">RFC 1413</a> sur un
+ serveur distant afin de déterminer le propriétaire d'une
connexion.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#identitycheck">IdentityCheck</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#identitychecktimeout">IdentityCheckTimeout</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ident">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ident">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ident">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ident">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li>
<li><a href="#comments_section">Commentaires</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="identitycheck" id="identitycheck">Directive</a> <a name="IdentityCheck" id="IdentityCheck">IdentityCheck</a><a title="Lien permanent" href="#identitycheck" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la journalisation de l'identité RFC 1413 de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la journalisation de l'identité RFC 1413 de
l'utilisateur distant</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IdentityCheck On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>IdentityCheck Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>IdentityCheck Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_ident</td></tr>
</table>
<p>Cette directive permet d'activer la journalisation compatible <a href="http://www.ietf.org/rfc/rfc1413.txt">RFC 1413</a> du nom de
l'utilisateur distant pour chaque connexion, si la machine du client
- exécute identd ou un démon similaire. Cette information est
- enregistrée dans le journal des accès en utilisant la <a href="mod_log_config.html#formats">chaîne de formatage</a>
+ exécute identd ou un démon similaire. Cette information est
+ enregistrée dans le journal des accès en utilisant la <a href="mod_log_config.html#formats">chaîne de formatage</a>
<code>%...l</code>.</p>
<div class="note">
Cette information ne doit pas faire l'objet d'une confiance
- absolue, et elle ne doit être utilisée que dans le cadre d'un
- traçage grossier.
+ absolue, et elle ne doit être utilisée que dans le cadre d'un
+ traçage grossier.
</div>
- <p>Notez que de sérieux problèmes de délais peuvent survenir lors
- des accès à votre serveur, car chaque requête nécessite l'exécution
+ <p>Notez que de sérieux problèmes de délais peuvent survenir lors
+ des accès à votre serveur, car chaque requête nécessite l'exécution
d'un de ces processus de recherche. Lorsque des pare-feu ou des
- serveurs mandataires sont impliqués, chaque recherche est
- susceptible d'échouer et ajouter un temps de latence conformément
- à la directive <code class="directive"><a href="#identitychecktimeout">IdentityCheckTimeout</a></code>. En général, ces
- recherches ne se révèlent donc pas très utiles sur des serveurs
+ serveurs mandataires sont impliqués, chaque recherche est
+ susceptible d'échouer et ajouter un temps de latence conformément
+ à la directive <code class="directive"><a href="#identitychecktimeout">IdentityCheckTimeout</a></code>. En général, ces
+ recherches ne se révèlent donc pas très utiles sur des serveurs
publics accessibles depuis l'Internet.</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="identitychecktimeout" id="identitychecktimeout">Directive</a> <a name="IdentityCheckTimeout" id="IdentityCheckTimeout">IdentityCheckTimeout</a><a title="Lien permanent" href="#identitychecktimeout" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le délai d'attente pour les requêtes
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le délai d'attente pour les requêtes
ident</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IdentityCheckTimeout <var>secondes</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>IdentityCheckTimeout 30</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>IdentityCheckTimeout 30</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_ident</td></tr>
</table>
- <p>Cette directive permet de spécifier le délai d'attente d'une
- requête ident. Une valeur par défaut de 30 secondes est recommandée
+ <p>Cette directive permet de spécifier le délai d'attente d'une
+ requête ident. Une valeur par défaut de 30 secondes est recommandée
par la <a href="http://www.ietf.org/rfc/rfc1413.txt">RFC 1413</a>,
- principalement pour prévenir les problèmes qui pourraient être
- induits par la charge du réseau. Vous pouvez cependant ajuster la
- valeur de ce délai en fonction du débit de votre réseau local.</p>
+ principalement pour prévenir les problèmes qui pourraient être
+ induits par la charge du réseau. Vous pouvez cependant ajuster la
+ valeur de ce délai en fonction du débit de votre réseau local.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ident.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_ident.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_ident.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_ident.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_ident.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_imagemap</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_imagemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_imagemap.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_imagemap.html" title="Français"> fr </a> |
<a href="../ko/mod/mod_imagemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Traitement des cartes des zones interactives d'une image
(imagemaps) au niveau du serveur</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>imagemap_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_imagemap.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>imagemap_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_imagemap.c</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module traite les fichiers <code>.map</code>, et remplace
- ainsi la fonctionnalité du programme CGI <code>imagemap</code>. Tout
- répertoire ou type de document configuré pour utiliser le
- gestionnaire <code>imap-file</code> (à l'aide des directives
- <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> ou <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>), sera traité par ce
+ ainsi la fonctionnalité du programme CGI <code>imagemap</code>. Tout
+ répertoire ou type de document configuré pour utiliser le
+ gestionnaire <code>imap-file</code> (à l'aide des directives
+ <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> ou <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>), sera traité par ce
module.</p>
- <p>La directive suivante confère aux fichiers possèdant l'extension
+ <p>La directive suivante confère aux fichiers possèdant l'extension
<code>.map</code> le statut de fichiers imagemap :</p>
<pre class="prettyprint lang-config">AddHandler imap-file map</pre>
- <p>Notez que la syntaxe suivante reste encore supportée :</p>
+ <p>Notez que la syntaxe suivante reste encore supportée :</p>
<pre class="prettyprint lang-config">AddType application/x-httpd-imap map</pre>
<p>Cependant, nous essayons d'abandonner progressivement les "types
MIME magiques", et cette syntaxe est sur le point de devenir
- obsolète.</p>
+ obsolète.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#features">Nouvelles fonctionnalités</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#features">Nouvelles fonctionnalités</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#imapfile">Fichier imagemap</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#example">Exemple de fichier imagemap</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#referencing">Référencement de votre fichier
+<li><img alt="" src="../images/down.gif" /> <a href="#referencing">Référencement de votre fichier
imagemap</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#imapdefault">ImapDefault</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#imapmenu">ImapMenu</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_imagemap">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_imagemap">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_imagemap">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_imagemap">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="features" id="features">Nouvelles fonctionnalités</a><a title="Lien permanent" href="#features" class="permalink">¶</a></h2>
+<h2><a name="features" id="features">Nouvelles fonctionnalités</a><a title="Lien permanent" href="#features" class="permalink">¶</a></h2>
- <p>Le module imagemap propose quelques nouvelles fonctionnalités qui
- n'étaient pas disponibles avec les programmes imagemap précédemment
- distribués.</p>
+ <p>Le module imagemap propose quelques nouvelles fonctionnalités qui
+ n'étaient pas disponibles avec les programmes imagemap précédemment
+ distribués.</p>
<ul>
- <li>Références d'URLs relatives à l'information contenue dans
- l'en-tête Referer: .</li>
+ <li>Références d'URLs relatives à l'information contenue dans
+ l'en-tête Referer: .</li>
- <li>Assignement <code><base></code> par défaut via la
+ <li>Assignement <code><base></code> par défaut via la
nouvelle directive <code>base</code>.</li>
<li>Fichier <code>imagemap.conf</code> non requis.</li>
- <li>Références à des points.</li>
+ <li>Références à des points.</li>
- <li>Génération configurable de menus d'images interactives.</li>
+ <li>Génération configurable de menus d'images interactives.</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="imapfile" id="imapfile">Fichier imagemap</a><a title="Lien permanent" href="#imapfile" class="permalink">¶</a></h2>
- <p>Les lignes d'un fichier imagemap peuvent se présenter sous
+ <p>Les lignes d'un fichier imagemap peuvent se présenter sous
plusieurs formats :</p>
<div class="example"><p><code>
<p>Les directives sont <code>base</code>, <code>default</code>,
<code>poly</code>, <code>circle</code>, <code>rect</code>, ou
<code>point</code>. valeur est une URL absolue ou relative, ou une
- des valeurs spéciales énumérées ci-dessous. Les coordonnées sont des
- paires <code><var>x</var>,<var>y</var></code> séparées par des
+ des valeurs spéciales énumérées ci-dessous. Les coordonnées sont des
+ paires <code><var>x</var>,<var>y</var></code> séparées par des
espaces. Le texte entre guillemets est le texte du lien si un menu
- imagemap est généré. Les lignes commençant par '#' sont des
+ imagemap est généré. Les lignes commençant par '#' sont des
commentaires.</p>
<h3><a name="imapfile.directives" id="imapfile.directives">Directives d'un fichier
imagemap</a></h3>
- <p>Les directives autorisées dans un fichier imagemap sont au
- nombre de six. Elles peuvent se trouver à n'importe quelle
- position dans le fichier, mais sont traitées dans l'ordre selon
- lequel elles sont enregistrées dans le fichier imagemap.</p>
+ <p>Les directives autorisées dans un fichier imagemap sont au
+ nombre de six. Elles peuvent se trouver à n'importe quelle
+ position dans le fichier, mais sont traitées dans l'ordre selon
+ lequel elles sont enregistrées dans le fichier imagemap.</p>
<dl>
<dt>Directive <code>base</code></dt>
- <dd><p>Elle a le même effet que <code><base
+ <dd><p>Elle a le même effet que <code><base
href="<var>valeur</var>"></code>. Les URLs non absolues du
- fichier imagemap sont considérées comme relatives à cette valeur.
+ fichier imagemap sont considérées comme relatives à cette valeur.
La directive <code>base</code> l'emporte sur une directive
- <code class="directive"><a href="#imapbase">ImapBase</a></code> définie dans
+ <code class="directive"><a href="#imapbase">ImapBase</a></code> définie dans
un fichier <code>.htaccess</code> ou dans le fichier de
configuration du serveur. En l'absence de directive de
configuration <code class="directive">ImapBase</code>, la valeur par
- défaut de <code>base</code> est
+ défaut de <code>base</code> est
<code>http://nom_serveur/</code>.</p>
<p><code>base_uri</code> est un synonyme de <code>base</code>.
- Notez que la présence ou l'absence d'un slash de fin dans l'URL
+ Notez que la présence ou l'absence d'un slash de fin dans l'URL
est importante.</p></dd>
<dt>Directive <code>default</code></dt>
- <dd>La décision à prendre si les coordonnées fournies ne
- correspondent à aucune des directives <code>poly</code>,
+ <dd>La décision à prendre si les coordonnées fournies ne
+ correspondent à aucune des directives <code>poly</code>,
<code>circle</code>, ou <code>rect</code>, et si aucune directive
- <code>point</code> n'est présente. En l'absence de définition
- d'une directive de configuration <code class="directive"><a href="#imapdefault">ImapDefault</a></code>, la valeur par défaut est
+ <code>point</code> n'est présente. En l'absence de définition
+ d'une directive de configuration <code class="directive"><a href="#imapdefault">ImapDefault</a></code>, la valeur par défaut est
<code>nocontent</code> et provoque l'envoi d'un code de statut
- <code>204 No Content</code>. Le client verra toujours la même
+ <code>204 No Content</code>. Le client verra toujours la même
page s'afficher.</dd>
<dt>Directive <code>poly</code></dt>
- <dd>Accepte comme arguments trois à cent points, et est actionnée
- si les coordonnées sélectionnées par l'utilisateur tombent dans le
- polygone défini par ces points.</dd>
+ <dd>Accepte comme arguments trois à cent points, et est actionnée
+ si les coordonnées sélectionnées par l'utilisateur tombent dans le
+ polygone défini par ces points.</dd>
<dt>Directive <code>circle</code></dt>
- <dd>Accepte comme arguments les coordonnées du centre d'un cercle
- et celles d'un point de ce cercle. Elle est actionnée si les
- coordonnées sélectionnées par l'utilisateur tombent dans ce
+ <dd>Accepte comme arguments les coordonnées du centre d'un cercle
+ et celles d'un point de ce cercle. Elle est actionnée si les
+ coordonnées sélectionnées par l'utilisateur tombent dans ce
cercle.</dd>
<dt>Directive <code>rect</code></dt>
- <dd>Accepte comme arguments les coordonnées des sommets de deux
- angles opposés d'un rectangle. Elle est actionnée si les
- coordonnées sélectionnées par l'utilisateur tombent dans ce
+ <dd>Accepte comme arguments les coordonnées des sommets de deux
+ angles opposés d'un rectangle. Elle est actionnée si les
+ coordonnées sélectionnées par l'utilisateur tombent dans ce
rectangle.</dd>
<dt>Directive <code>point</code></dt>
<dd>Elle n'accepte qu'un seul point comme argument. Si aucune
autre directive ne correspond, c'est la directive
- dont le point spécifié est le plus près du point sélectionné par
- l'utilisateur qui est actionnée. Notez que la directive
+ dont le point spécifié est le plus près du point sélectionné par
+ l'utilisateur qui est actionnée. Notez que la directive
<code>default</code> ne sera pas suivie si une directive
- <code>point</code> est présente et si des coordonnées valides sont
+ <code>point</code> est présente et si des coordonnées valides sont
fournies.</dd>
</dl>
<h3><a name="imapfile.values" id="imapfile.values">Valeurs</a></h3>
- <p>Les valeurs passées aux directives peuvent contenir :</p>
+ <p>Les valeurs passées aux directives peuvent contenir :</p>
<dl>
<dt>une URL</dt>
- <dd><p>L'URL peut être absolue ou relative. Les URLs relatives
- peuvent contenir '..' et seront considérées comme relatives à la
+ <dd><p>L'URL peut être absolue ou relative. Les URLs relatives
+ peuvent contenir '..' et seront considérées comme relatives à la
valeur de <code>base</code>.</p>
- <p><code>base</code> en lui-même, ne sera pas résolu en fonction
+ <p><code>base</code> en lui-même, ne sera pas résolu en fonction
de la valeur courante. Cependant, une directive <code>base
mailto:</code> fonctionnera correctement.</p></dd>
<dt><code>map</code></dt>
- <dd>Équivalent à l'URL du fichier imagemap lui-même. Aucune
- coordonnée n'est spécifiée, et un menu sera donc généré, à moins
- qu'une directive <code class="directive"><a href="#imapmenu">ImapMenu</a></code> n'ait été définie à
+ <dd>Équivalent à l'URL du fichier imagemap lui-même. Aucune
+ coordonnée n'est spécifiée, et un menu sera donc généré, à moins
+ qu'une directive <code class="directive"><a href="#imapmenu">ImapMenu</a></code> n'ait été définie à
<code>none</code>.</dd>
<dt><code>menu</code></dt>
- <dd>Équivalent à <code>map</code>.</dd>
+ <dd>Équivalent à <code>map</code>.</dd>
<dt><code>referer</code></dt>
- <dd>Équivalent à l'URL du document référant. La valeur par défaut
- est <code>http://nom_serveur/</code> si aucun en-tête
- <code>Referer:</code> n'est présent.</dd>
+ <dd>Équivalent à l'URL du document référant. La valeur par défaut
+ est <code>http://nom_serveur/</code> si aucun en-tête
+ <code>Referer:</code> n'est présent.</dd>
<dt><code>nocontent</code></dt>
<dd>Envoie un code de statut <code>204 No Content</code>,
- indiquant au client qu'il doit continuer à afficher la même page.
+ indiquant au client qu'il doit continuer à afficher la même page.
Valide pour toutes les directives, sauf <code>base</code>.</dd>
<dt><code>error</code></dt>
- <dd>Envoie un code de statut d'échec <code>500 Server
+ <dd>Envoie un code de statut d'échec <code>500 Server
Error</code>. Valide pour toutes les directives, sauf
<code>base</code>, mais n'a de sens qu'avec la directive
<code>default</code>.</dd>
</dl>
- <h3><a name="imapfile.coords" id="imapfile.coords">Coordonnées</a></h3>
+ <h3><a name="imapfile.coords" id="imapfile.coords">Coordonnées</a></h3>
<dl>
<dt><code>0,0 200,200</code></dt>
- <dd>Une coordonnée se compose de deux valeurs, <var>x</var> et
- <var>y</var>, séparées par une virgule. Les coordonnées sont
- séparées entre elles par des espaces. Pour s'adapter à la manière
- dont Lynx traite les images interactives, la sélection par un
- utilisateur de la coordonnée <code>0,0</code> a le même effet que
- si aucune coordonnée n'a été sélectionnée.</dd>
+ <dd>Une coordonnée se compose de deux valeurs, <var>x</var> et
+ <var>y</var>, séparées par une virgule. Les coordonnées sont
+ séparées entre elles par des espaces. Pour s'adapter à la manière
+ dont Lynx traite les images interactives, la sélection par un
+ utilisateur de la coordonnée <code>0,0</code> a le même effet que
+ si aucune coordonnée n'a été sélectionnée.</dd>
</dl>
<dl>
<dt><code>"<var>Texte du menu</var>"</code></dt>
- <dd><p>Après la valeur ou les coordonnées, la ligne peut
- éventuellement contenir un texte entre guillemets. Cette chaîne
- constitue le texte du lien si un menu est généré :</p>
+ <dd><p>Après la valeur ou les coordonnées, la ligne peut
+ éventuellement contenir un texte entre guillemets. Cette chaîne
+ constitue le texte du lien si un menu est généré :</p>
<div class="example"><p><code>
<a href="http://example.com/"><var>Texte de
menu</var></a>
</code></p></div>
- <p>Si aucun texte entre guillemets n'est présent, le texte sera
- constitué du nom du lien :</p>
+ <p>Si aucun texte entre guillemets n'est présent, le texte sera
+ constitué du nom du lien :</p>
<div class="example"><p><code>
<a href="http://example.com/">http://example.com</a>
</code></p></div>
- <p>Si vous voulez insérer des guillemets dans le texte, vous devez
+ <p>Si vous voulez insérer des guillemets dans le texte, vous devez
les inscrire sous la forme <code>&quot;</code>.</p></dd>
</dl>
<h2><a name="example" id="example">Exemple de fichier imagemap</a><a title="Lien permanent" href="#example" class="permalink">¶</a></h2>
<div class="example"><p><code>
- #Les commentaires sont affichés dans un menu 'formaté' ou
- #'semi-formaté'.<br />
+ #Les commentaires sont affichés dans un menu 'formaté' ou
+ #'semi-formaté'.<br />
#Et peuvent contenir des balises html. <hr><br />
base referer<br />
poly map "Puis-je avoir un menu, s'il vous plait ?" 0,0 0,10 10,10 10,0<br />
- rect .. 0,0 77,27 "le répertoire du référant"<br />
+ rect .. 0,0 77,27 "le répertoire du référant"<br />
circle http://www.inetnebr.example.com/lincoln/feedback/ 195,0 305,27<br />
- rect autre_fichier "dans le même répertoire que le référant" 306,0 419,27<br />
+ rect autre_fichier "dans le même répertoire que le référant" 306,0 419,27<br />
point http://www.zyzzyva.example.com/ 100,100<br />
point http://www.tripod.example.com/ 200,200<br />
rect mailto:nate@tripod.example.com 100,150 200,0 "Bogues?"<br />
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="referencing" id="referencing">Référencement de votre fichier
+<h2><a name="referencing" id="referencing">Référencement de votre fichier
imagemap</a><a title="Lien permanent" href="#referencing" class="permalink">¶</a></h2>
<div class="example"><h3>Exemple HTML</h3><p><code>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="imapbase" id="imapbase">Directive</a> <a name="ImapBase" id="ImapBase">ImapBase</a><a title="Lien permanent" href="#imapbase" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Valeur par défaut de la directive <code>base</code> des
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Valeur par défaut de la directive <code>base</code> des
fichiers imagemap</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ImapBase map|referer|<var>URL</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ImapBase http://nom_serveur/</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#Default">Défaut:</a></th><td><code>ImapBase http://nom_serveur/</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">AllowOverride:</a></th><td>Indexes</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_imagemap</td></tr>
</table>
- <p>La directive <code class="directive">ImapBase</code> permet de définir la
- valeur par défaut de la directive <code>base</code> des fichiers
- imagemap. Sa valeur est écrasée par la présence éventuelle d'une
+ <p>La directive <code class="directive">ImapBase</code> permet de définir la
+ valeur par défaut de la directive <code>base</code> des fichiers
+ imagemap. Sa valeur est écrasée par la présence éventuelle d'une
directive <code>base</code> dans le fichier imagemap. Si cette
- directive est absente, la valeur par défaut de la directive
+ directive est absente, la valeur par défaut de la directive
<code>base</code> est
<code>http://<var>nom_serveur</var>/</code>.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="imapdefault" id="imapdefault">Directive</a> <a name="ImapDefault" id="ImapDefault">ImapDefault</a><a title="Lien permanent" href="#imapdefault" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action à entreprendre par défaut lorsqu'un fichier imagemap
-est invoqué avec des coordonnées qui ne correspondent à aucune
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action à entreprendre par défaut lorsqu'un fichier imagemap
+est invoqué avec des coordonnées qui ne correspondent à aucune
cible</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ImapDefault error|nocontent|map|referer|<var>URL</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ImapDefault nocontent</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#Default">Défaut:</a></th><td><code>ImapDefault nocontent</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">AllowOverride:</a></th><td>Indexes</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_imagemap</td></tr>
</table>
- <p>La directive <code class="directive">ImapDefault</code> permet de définir
- la valeur par défaut de la directive <code>default</code> utilisée
- dans les fichiers imagemap. Sa valeur est écrasée par la présence
- éventuelle d'une directive <code>default</code> dans le fichier
- imagemap. Si cette directive est absente, l'action associée à
+ <p>La directive <code class="directive">ImapDefault</code> permet de définir
+ la valeur par défaut de la directive <code>default</code> utilisée
+ dans les fichiers imagemap. Sa valeur est écrasée par la présence
+ éventuelle d'une directive <code>default</code> dans le fichier
+ imagemap. Si cette directive est absente, l'action associée à
<code>default</code> est <code>nocontent</code>, ce qui implique
l'envoi d'un code de statut <code>204 No Content</code> au client.
- Dans ce cas, le client doit continuer à afficher la même page.</p>
+ Dans ce cas, le client doit continuer à afficher la même page.</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="imapmenu" id="imapmenu">Directive</a> <a name="ImapMenu" id="ImapMenu">ImapMenu</a><a title="Lien permanent" href="#imapmenu" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action à entreprendre si aucune coordonnée n'est fournie
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action à entreprendre si aucune coordonnée n'est fournie
lorsqu'on invoque un fichier imagemap</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ImapMenu none|formatted|semiformatted|unformatted</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ImapMenu formatted</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#Default">Défaut:</a></th><td><code>ImapMenu formatted</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">AllowOverride:</a></th><td>Indexes</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_imagemap</td></tr>
</table>
- <p>La directive <code class="directive">ImapMenu</code> permet de spécifier
- l'action à entreprendre lorsqu'un fichier imagemap est invoqué sans
- coordonnées valides.</p>
+ <p>La directive <code class="directive">ImapMenu</code> permet de spécifier
+ l'action à entreprendre lorsqu'un fichier imagemap est invoqué sans
+ coordonnées valides.</p>
<dl>
<dt><code>none</code></dt>
<dd>Si l'argument d'ImapMenu est <code>none</code>, aucun menu
- n'est généré, et l'action <code>default</code> est effectuée.</dd>
+ n'est généré, et l'action <code>default</code> est effectuée.</dd>
<dt><code>formatted</code></dt>
<dd>Le menu <code>formatted</code> est le menu le plus simple. Les
- commentaires du fichier imagemap sont ignorés. Un en-tête de
- niveau un est affiché, puis un séparateur horizontal, puis chacun
- des liens sur une ligne séparée. L'aspect du menu est similaire à
- celui d'un listing de répertoire.</dd>
+ commentaires du fichier imagemap sont ignorés. Un en-tête de
+ niveau un est affiché, puis un séparateur horizontal, puis chacun
+ des liens sur une ligne séparée. L'aspect du menu est similaire à
+ celui d'un listing de répertoire.</dd>
<dt><code>semiformatted</code></dt>
<dd>Dans le menu <code>semiformatted</code>, les commentaires sont
- affichés au moment où ils apparaissent dans le fichier imagemap.
- Les lignes vides sont interprètées comme des lignes de séparation
- HTML. Aucun en-tête ni séparateur horizontal n'est affiché. À part
- ces différences, le menu <code>semiformatted</code> est identique
+ affichés au moment où ils apparaissent dans le fichier imagemap.
+ Les lignes vides sont interprètées comme des lignes de séparation
+ HTML. Aucun en-tête ni séparateur horizontal n'est affiché. À part
+ ces différences, le menu <code>semiformatted</code> est identique
au menu <code>formatted</code>.</dd>
<dt><code>unformatted</code></dt>
- <dd>Les commentaires sont affichés et les lignes vides sont
- ignorées. N'est affiché que ce qui apparait dans le fichier
- imagemap. Toutes les lignes de séparation HTML et les
- en-têtes doivent être inclus en tant que commentaires dans le
+ <dd>Les commentaires sont affichés et les lignes vides sont
+ ignorées. N'est affiché que ce qui apparait dans le fichier
+ imagemap. Toutes les lignes de séparation HTML et les
+ en-têtes doivent être inclus en tant que commentaires dans le
fichier imagemap. Cela vous procure une grande souplesse pour
- définir l'apparence de vos menus, mais vous oblige à rédiger vos
+ définir l'apparence de vos menus, mais vous oblige à rédiger vos
fichiers imagemap en HTML, et non en texte plat.</dd>
</dl>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_imagemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_imagemap.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_imagemap.html" title="Français"> fr </a> |
<a href="../ko/mod/mod_imagemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_include</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_include.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_include.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_include.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_include.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Documents html interprétés par le serveur (Server Side
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Documents html interprétés par le serveur (Server Side
Includes ou SSI)</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>include_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_include.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>include_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_include.c</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module fournit un filtre qui va traiter les fichiers avant
- de les envoyer au client. Le traitement est contrôlé via des
- commentaires SGML spécialement formatés, aussi nommés
- <dfn>éléments</dfn>. Ces éléments permettent l'insertion
+ de les envoyer au client. Le traitement est contrôlé via des
+ commentaires SGML spécialement formatés, aussi nommés
+ <dfn>éléments</dfn>. Ces éléments permettent l'insertion
conditionnelle de texte, l'inclusion d'autres fichiers ou
- programmes, ainsi que la définition et l'affichage de variables
+ programmes, ainsi que la définition et l'affichage de variables
d'environnement.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#enabling">Activation des SSI</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#pathinfo">PATH_INFO et SSI</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#elements">Eléments disponibles</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#elements">Eléments disponibles</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#includevars">Variables include</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#substitution">Substitution de variable</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#flowctrl">Eléments de contrôle d'inclusion conditionnelle</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#legacyexpr">Syntaxe des expressions héritée</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flowctrl">Eléments de contrôle d'inclusion conditionnelle</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#legacyexpr">Syntaxe des expressions héritée</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#ssiendtag">SSIEndTag</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ssiundefinedecho">SSIUndefinedEcho</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#xbithack">XBitHack</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_include">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_include">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_include">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_include">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li>
<li><code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code></li>
<h2><a name="enabling" id="enabling">Activation des SSI</a><a title="Lien permanent" href="#enabling" class="permalink">¶</a></h2>
- <p>Les SSI sont implémentés par le <a href="../filter.html">filtre</a> <code>INCLUDES</code>. Si des
- documents contenant des directives SSI possèdent une extension
- .shtml, les directives suivantes indiqueront à Apache de les
- interpréter et d'assigner le type MIME
+ <p>Les SSI sont implémentés par le <a href="../filter.html">filtre</a> <code>INCLUDES</code>. Si des
+ documents contenant des directives SSI possèdent une extension
+ .shtml, les directives suivantes indiqueront à Apache de les
+ interpréter et d'assigner le type MIME
<code>text/html</code> au document obtenu :</p>
<pre class="prettyprint lang-config">AddType text/html .shtml
AddOutputFilter INCLUDES .shtml</pre>
- <p>L'option suivante doit être définie pour les répertoires qui
- contiennent les fichiers shtml (en général dans une section
+ <p>L'option suivante doit être définie pour les répertoires qui
+ contiennent les fichiers shtml (en général dans une section
<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, mais
- cette option peut également être définie dans un fichier
- <code>.htaccess</code> si <code><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> Options</code> a été défini pour le
- répertoire considéré) :</p>
+ cette option peut également être définie dans un fichier
+ <code>.htaccess</code> si <code><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> Options</code> a été défini pour le
+ répertoire considéré) :</p>
<pre class="prettyprint lang-config">Options +Includes</pre>
- <p>Pour des raisons de compatibilité ascendante, le <a href="../handler.html">gestionnaire</a> <code>server-parsed</code>
+ <p>Pour des raisons de compatibilité ascendante, le <a href="../handler.html">gestionnaire</a> <code>server-parsed</code>
peut aussi activer le filtre INCLUDES. Ainsi, Apache va activer le
filtre INCLUDES pour tout document de type MIME
<code>text/x-server-parsed-html</code> ou
<h2><a name="pathinfo" id="pathinfo">PATH_INFO et SSI</a><a title="Lien permanent" href="#pathinfo" class="permalink">¶</a></h2>
- <p>Les fichiers traités dans le cadre des SSI n'acceptent plus par
- défaut les requêtes avec <code>PATH_INFO</code> (les informations
- relatives au chemin en fin de requête). La directive <code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> permet de configurer le
- serveur de façon à ce qu'il accepte ce genre de requête.</p>
+ <p>Les fichiers traités dans le cadre des SSI n'acceptent plus par
+ défaut les requêtes avec <code>PATH_INFO</code> (les informations
+ relatives au chemin en fin de requête). La directive <code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> permet de configurer le
+ serveur de façon à ce qu'il accepte ce genre de requête.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="elements" id="elements">Eléments disponibles</a><a title="Lien permanent" href="#elements" class="permalink">¶</a></h2>
- <p>Le document est interprété comme un document HTML, avec des
- commandes spéciales incluses sous forme de commentaires SGML. La
+<h2><a name="elements" id="elements">Eléments disponibles</a><a title="Lien permanent" href="#elements" class="permalink">¶</a></h2>
+ <p>Le document est interprété comme un document HTML, avec des
+ commandes spéciales incluses sous forme de commentaires SGML. La
syntaxe d'une commande est la suivante : </p>
<div class="example"><p><code>
- <!--#<var>élément</var> <var>attribut</var>=<var>valeur</var>
+ <!--#<var>élément</var> <var>attribut</var>=<var>valeur</var>
<var>attribut</var>=<var>valeur</var> ... -->
</code></p></div>
- <p>Les valeurs sont souvent entourées de guillemets, mais on peut
+ <p>Les valeurs sont souvent entourées de guillemets, mais on peut
aussi utiliser des apostrophes (<code>'</code>) ou des apostrophes
inverses (<code>`</code>). De nombreuses commandes n'acceptent
qu'une seule paire attribut-valeur. Notez que le terminateur de
- commentaire (<code>--></code>) doit être précédé d'un espace afin
- d'être sûr qu'il ne soit pas considéré comme un élément de commande
- SSI. Notez aussi que le délimiteur de début <code><!--#</code>
- est <em>un</em> élément de commande et ne doit donc pas contenir
+ commentaire (<code>--></code>) doit être précédé d'un espace afin
+ d'être sûr qu'il ne soit pas considéré comme un élément de commande
+ SSI. Notez aussi que le délimiteur de début <code><!--#</code>
+ est <em>un</em> élément de commande et ne doit donc pas contenir
d'espace.</p>
- <p>La table suivante contient la liste des éléments autorisés :</p>
+ <p>La table suivante contient la liste des éléments autorisés :</p>
<table class="bordered">
- <tr><th>Elément</th><th>Description</th></tr>
+ <tr><th>Elément</th><th>Description</th></tr>
<tr><td><code><a href="#element.comment">comment</a></code></td>
<td>commentaire SSI</td></tr>
<tr><td><code><a href="#element.config">config</a></code></td>
<tr><td><code><a href="#element.echo">echo</a></code></td>
<td>affiche le contenu de variables</td></tr>
<tr><td><code><a href="#element.exec">exec</a></code></td>
- <td>exécute des programmes externes</td></tr>
+ <td>exécute des programmes externes</td></tr>
<tr><td><code><a href="#element.fsize">fsize</a></code></td>
<td>affiche la taille d'un fichier</td></tr>
<tr><td><code><a href="#element.flastmod">flastmod</a></code></td>
- <td>affiche la date de dernière modification d'un fichier</td></tr>
+ <td>affiche la date de dernière modification d'un fichier</td></tr>
<tr><td><code><a href="#element.include">include</a></code></td>
<td>inclut un fichier</td></tr>
<tr><td><code><a href="#element.printenv">printenv</a></code></td>
<td>affiche toutes les variables disponibles</td></tr>
<tr><td><code><a href="#element.set">set</a></code></td>
- <td>définit la valeur d'une variable</td></tr>
+ <td>définit la valeur d'une variable</td></tr>
</table>
- <p>Les éléments SSI peuvent être définis par d'autres modules que
- <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>. À ce titre, l'élément <code><a href="#element.exec">exec</a></code> est fourni par
+ <p>Les éléments SSI peuvent être définis par d'autres modules que
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>. À ce titre, l'élément <code><a href="#element.exec">exec</a></code> est fourni par
<code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, et ne sera disponible que si ce module est
- chargé.</p>
+ chargé.</p>
- <h3><a name="element.comment" id="element.comment">L'élément comment</a></h3>
+ <h3><a name="element.comment" id="element.comment">L'élément comment</a></h3>
<p>Cette commande n'affiche aucune information. Elle n'a pour but que
l'ajout de commentaires dans un fichier et ces commentaires ne sont pas
- affichés.</p>
+ affichés.</p>
- <p>Cette syntaxe est disponible à partir de la version 2.4.21 du serveur
+ <p>Cette syntaxe est disponible à partir de la version 2.4.21 du serveur
HTTP Apache.</p>
<div class="example"><p><code>
</code></p></div>
- <h3><a name="element.config" id="element.config">L'élément config</a></h3>
- <p>Cette commande contrôle divers aspects de l'interprétation. Les
+ <h3><a name="element.config" id="element.config">L'élément config</a></h3>
+ <p>Cette commande contrôle divers aspects de l'interprétation. Les
attributs valides sont :</p>
<dl>
- <dt><code>echomsg</code> (<em>Versions 2.1 et supérieures
+ <dt><code>echomsg</code> (<em>Versions 2.1 et supérieures
d'Apache</em>)</dt>
- <dd><p>La valeur est un message qui sera envoyé au client si
- l'élément <code><a href="#element.echo">echo</a></code> tente
- d'afficher le contenu d'une variable non définie. Cet attribut
+ <dd><p>La valeur est un message qui sera envoyé au client si
+ l'élément <code><a href="#element.echo">echo</a></code> tente
+ d'afficher le contenu d'une variable non définie. Cet attribut
l'emporte sur toute directive <code class="directive"><a href="#ssiundefinedecho">SSIUndefinedEcho</a></code>.</p>
<div class="example"><p><code>
- <!--#config echomsg="[Valeur non définie]" -->
+ <!--#config echomsg="[Valeur non définie]" -->
</code></p></div>
</dd>
<dt><code>errmsg</code></dt>
- <dd><p>La valeur est un message qui sera envoyé au client si une
- erreur survient lors de l'interprétation du document. Cet attribut
+ <dd><p>La valeur est un message qui sera envoyé au client si une
+ erreur survient lors de l'interprétation du document. Cet attribut
l'emporte sur toute directive <code class="directive"><a href="#ssierrormsg">SSIErrorMsg</a></code>.</p>
<div class="example"><p><code>
- <!--#config errmsg="[Zut, quelque chose s'est mal passé.]" -->
+ <!--#config errmsg="[Zut, quelque chose s'est mal passé.]" -->
</code></p></div>
</dd>
<dt><code>sizefmt</code></dt>
- <dd><p>La valeur définit l'unité employée lors de l'affichage de la
+ <dd><p>La valeur définit l'unité employée lors de l'affichage de la
taille d'un fichier. Les valeurs possibles sont <code>bytes</code>
pour une taille en octets, ou <code>abbrev</code> pour une taille
en Ko ou Mo selon son importance ; par exemple, une taille de 1024
- octets sera affichée sous la forme "1K".</p>
+ octets sera affichée sous la forme "1K".</p>
<div class="example"><p><code>
<!--#config sizefmt="abbrev" -->
</dd>
<dt><code>timefmt</code></dt>
- <dd><p>La valeur est une chaîne que pourra utiliser la fonction de la
- bibliothèque standard <code>strftime(3)</code> lors de l'affichage
+ <dd><p>La valeur est une chaîne que pourra utiliser la fonction de la
+ bibliothèque standard <code>strftime(3)</code> lors de l'affichage
des dates.</p>
<div class="example"><p><code>
</dl>
- <h3><a name="element.echo" id="element.echo">L'élément echo</a></h3>
- <p>Cette commande affiche le contenu d'une des <a href="#includevars">variables include</a> définies ci-dessous. Si
- la variable n'est pas définie, le résultat est déterminé par la
+ <h3><a name="element.echo" id="element.echo">L'élément echo</a></h3>
+ <p>Cette commande affiche le contenu d'une des <a href="#includevars">variables include</a> définies ci-dessous. Si
+ la variable n'est pas définie, le résultat est déterminé par la
valeur de la directive <code class="directive"><a href="#ssiundefinedecho">SSIUndefinedEcho</a></code>. Le format d'affichage des dates est
- défini par l'attribut <code>timefmt</code> de la commande
+ défini par l'attribut <code>timefmt</code> de la commande
config.</p>
<p>Attributs:</p>
<dl>
<dt><code>var</code></dt>
- <dd>La valeur est le nom de la variable à afficher.</dd>
+ <dd>La valeur est le nom de la variable à afficher.</dd>
<dt><code>decoding</code></dt>
- <dd><p>Spécifie si Apache doit effectuer un décodage dans la
- variable avant son traitement ultérieur. La valeur par défaut est
- <code>none</code>, et dans ce cas, aucun décodage n'est effectué.
- Si la valeur est <code>url</code>, un décodage de type URL sera
- effectué (il s'agit du codage de type %-encoding utilisé dans les
+ <dd><p>Spécifie si Apache doit effectuer un décodage dans la
+ variable avant son traitement ultérieur. La valeur par défaut est
+ <code>none</code>, et dans ce cas, aucun décodage n'est effectué.
+ Si la valeur est <code>url</code>, un décodage de type URL sera
+ effectué (il s'agit du codage de type %-encoding utilisé dans les
URLs des liens, etc...). Si la valeur est <code>urlencoded</code>,
- c'est un décodage des éléments de type
- application/x-www-form-urlencode (que l'on trouve dans les chaînes
- de paramètres) qui sera effectué. Si la valeur est
+ c'est un décodage des éléments de type
+ application/x-www-form-urlencode (que l'on trouve dans les chaînes
+ de paramètres) qui sera effectué. Si la valeur est
<code>base64</code>, un
- decodage de type base64 sera effectué, et si elle est
- <code>entity</code>, c'est un décodage des entités HTML qui sera
- effectué. Ce décodage est effectué avant tout codage ultérieur de
- la variable. Il est possible d'effectuer plusieurs décodages en
- spécifiant plusieurs valeurs séparées par des virgules. Les
- spécifications de décodages restent valables jusqu'au prochain
- attribut de décodage, ou la fin de l'élément.</p>
-
- <p>Pour être pris en compte, l'attribut de <code>décodage</code>
- doit <em>précéder</em> l'attribut <code>var</code> correspondant.</p>
+ decodage de type base64 sera effectué, et si elle est
+ <code>entity</code>, c'est un décodage des entités HTML qui sera
+ effectué. Ce décodage est effectué avant tout codage ultérieur de
+ la variable. Il est possible d'effectuer plusieurs décodages en
+ spécifiant plusieurs valeurs séparées par des virgules. Les
+ spécifications de décodages restent valables jusqu'au prochain
+ attribut de décodage, ou la fin de l'élément.</p>
+
+ <p>Pour être pris en compte, l'attribut de <code>décodage</code>
+ doit <em>précéder</em> l'attribut <code>var</code> correspondant.</p>
</dd>
<dt><code>encoding</code></dt>
- <dd><p>Spécifie la manière dont Apache va coder les caractères
- spéciaux que la variable contient avant leur affichage. S'il est
- défini à <code>none</code>, aucun codage ne sera effectué. S'il
- est défini à <code>url</code>, un codage de type URL sera effectué
- (aussi connu sous le nom de codage avec caractères % , il convient
- pour les URLS des liens, etc...). S'il est défini à
+ <dd><p>Spécifie la manière dont Apache va coder les caractères
+ spéciaux que la variable contient avant leur affichage. S'il est
+ défini à <code>none</code>, aucun codage ne sera effectué. S'il
+ est défini à <code>url</code>, un codage de type URL sera effectué
+ (aussi connu sous le nom de codage avec caractères % , il convient
+ pour les URLS des liens, etc...). S'il est défini à
<code>urlencoded</code>, c'est un codage compatible
- application/x-www-form-urlencoded qui sera effectué (à utiliser
- dans les chaînes de paramètres). S'il est défini à
+ application/x-www-form-urlencoded qui sera effectué (à utiliser
+ dans les chaînes de paramètres). S'il est défini à
<code>base64</code>, c'est un encodage de type base64 qui sera
- effectué. Au début d'un élément
- <code>echo</code>, la valeur par défaut est définie à
- <code>entity</code>, ce qui correspond à un codage de type entité
- (codage qui convient pour un élément HTML de type bloc, comme le
- paragraphe d'un texte). Cette valeur par défaut peut être modifiée
+ effectué. Au début d'un élément
+ <code>echo</code>, la valeur par défaut est définie à
+ <code>entity</code>, ce qui correspond à un codage de type entité
+ (codage qui convient pour un élément HTML de type bloc, comme le
+ paragraphe d'un texte). Cette valeur par défaut peut être modifiée
en ajoutant un attribut <code>encoding</code>, qui fera effet
- jusqu'à la définition d'un nouvel attribut <code>encoding</code>
- ou la fin de l'élément echo.</p>
+ jusqu'à la définition d'un nouvel attribut <code>encoding</code>
+ ou la fin de l'élément echo.</p>
<p>Pour produire son effet, l'attribut <code>encoding</code> doit
- précéder l'attribut <code>var</code> concerné.</p>
+ précéder l'attribut <code>var</code> concerné.</p>
<div class="warning">
- Afin de prévenir les attaques de type cross-site scripting, il
- est recommandé de <em>toujours</em> encoder les données fournies
+ Afin de prévenir les attaques de type cross-site scripting, il
+ est recommandé de <em>toujours</em> encoder les données fournies
par les utilisateurs.
</div>
</dl>
- <h3><a name="element.exec" id="element.exec">L'élément exec</a></h3>
- <p>La commande <code>exec</code> exécute la commande shell ou le
- script spécifié. Elle nécessite le chargement du module
+ <h3><a name="element.exec" id="element.exec">L'élément exec</a></h3>
+ <p>La commande <code>exec</code> exécute la commande shell ou le
+ script spécifié. Elle nécessite le chargement du module
<code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>. Si <code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>IncludesNOEXEC</code> est
- définie, cette commande est désactivée. Les attributs disponibles
+ définie, cette commande est désactivée. Les attributs disponibles
sont :</p>
<dl>
<dt><code>cgi</code></dt>
- <dd><p>La valeur spécifie un chemin URL vers le script CGI (encodé
- avec caractères %). Si le chemin ne commence pas par un slash (/),
- il est considéré comme relatif au document courant. Le document
- référencé par ce chemin est invoqué en tant que script CGI, même
- s'il n'est pas censé être reconnu comme tel par le serveur. Les
- scripts CGI doivent cependant être activés dans le répertoire qui
+ <dd><p>La valeur spécifie un chemin URL vers le script CGI (encodé
+ avec caractères %). Si le chemin ne commence pas par un slash (/),
+ il est considéré comme relatif au document courant. Le document
+ référencé par ce chemin est invoqué en tant que script CGI, même
+ s'il n'est pas censé être reconnu comme tel par le serveur. Les
+ scripts CGI doivent cependant être activés dans le répertoire qui
contient les scripts (via la directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> ou l'<code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>ExecCGI</code>).</p>
- <p>Le <code>PATH_INFO</code> et la chaîne d'arguments
- (<code>QUERY_STRING</code>) de la requête originale du client sont
- fournis au script CGI ; ils <em>ne peuvent pas</em> être spécifiés
+ <p>Le <code>PATH_INFO</code> et la chaîne d'arguments
+ (<code>QUERY_STRING</code>) de la requête originale du client sont
+ fournis au script CGI ; ils <em>ne peuvent pas</em> être spécifiés
dans le chemin de l'URL. Le script disposera des variables include
en plus de l'environnement standard <a href="mod_cgi.html">CGI</a>.</p>
<!--#exec cgi="/cgi-bin/exemple.cgi" -->
</code></p></div>
- <p>Si, à la place d'un flux de sortie, le script renvoie un
- en-tête <code>Location:</code>, ce dernier sera traduit en ancrage
+ <p>Si, à la place d'un flux de sortie, le script renvoie un
+ en-tête <code>Location:</code>, ce dernier sera traduit en ancrage
HTML.</p>
- <p>L'élément <code><a href="#includevirtual">include
- virtual</a></code> doit être préféré à <code>exec cgi</code>. En
+ <p>L'élément <code><a href="#includevirtual">include
+ virtual</a></code> doit être préféré à <code>exec cgi</code>. En
particulier, si vous devez transmettre des arguments
- supplémentaires à un programme CGI en utilisant la chaîne
- d'arguments de la requête, c'est impossible avec <code>exec
+ supplémentaires à un programme CGI en utilisant la chaîne
+ d'arguments de la requête, c'est impossible avec <code>exec
cgi</code>, mais vous pouvez y parvenir avec <code>include
virtual</code> comme suit :</p>
</dd>
<dt><code>cmd</code></dt>
- <dd><p>Le serveur va exécuter la commande fournie en utilisant
+ <dd><p>Le serveur va exécuter la commande fournie en utilisant
<code>/bin/sh</code>. La commande dispose des <a href="#includevars">variables include</a>, en plus du jeu habituel
de variables CGI.</p>
- <p>Il est toujours préférable d'utiliser <code><a href="#includevirtual">#include virtual</a></code> à la place de
+ <p>Il est toujours préférable d'utiliser <code><a href="#includevirtual">#include virtual</a></code> à la place de
<code>#exec cgi</code> ou <code>#exec cmd</code>. <code>#include
- virtual</code> utilise le mécanisme standard des sous-requêtes
+ virtual</code> utilise le mécanisme standard des sous-requêtes
d'Apache pour inclure des fichiers ou des scripts. Il a fait
l'objet de tests plus approfondis et sa maintenance est mieux
suivie.</p>
<p>De plus, sur certaines plate-formes, comme Win32, et sous unix,
si l'on utilise <a href="../suexec.html">suexec</a>, il est
- impossible de transmettre des arguments à une commande dans une
- directive <code>exec</code>, à moins d'insérer des espaces dans la
+ impossible de transmettre des arguments à une commande dans une
+ directive <code>exec</code>, à moins d'insérer des espaces dans la
commande. Ainsi, alors que ce qui suit fonctionnera sous unix avec
une configuration sans suexec, l'effet produit ne sera pas celui
- désiré sous Win32, ou dans le cas de l'utilisation de suexec
+ désiré sous Win32, ou dans le cas de l'utilisation de suexec
:</p>
<div class="example"><p><code>
</dl>
- <h3><a name="element.fsize" id="element.fsize">L'élément fsize</a></h3>
- <p>Cette commande permet d'afficher la taille du fichier spécifié
- en fonction des spécifications de format de <code>sizefmt</code>.
+ <h3><a name="element.fsize" id="element.fsize">L'élément fsize</a></h3>
+ <p>Cette commande permet d'afficher la taille du fichier spécifié
+ en fonction des spécifications de format de <code>sizefmt</code>.
Attributs :</p>
<dl>
<dt><code>file</code></dt>
- <dd>La valeur est le chemin du fichier, relatif au répertoire
- contenant le document en cours d'interprétation.
+ <dd>La valeur est le chemin du fichier, relatif au répertoire
+ contenant le document en cours d'interprétation.
<div class="example"><p><code>
Ce fichier a une taille de <!--#fsize file="mod_include.html"
--> octets.
</code></p></div>
- La valeur de <code>file</code> ne peut pas faire référence à un
- fichier situé à un niveau supérieur de l'arborescence du répertoire
+ La valeur de <code>file</code> ne peut pas faire référence à un
+ fichier situé à un niveau supérieur de l'arborescence du répertoire
courant ou en dehors de la racine des documents ; il ne peut donc
- ni commencer par un slash, ni contenir la séquence de caractères
+ ni commencer par un slash, ni contenir la séquence de caractères
<code>../</code>. Si c'est le cas, le message d'erreur <code>The
- given path was above the root path</code> sera renvoyé.
+ given path was above the root path</code> sera renvoyé.
</dd>
<dt><code>virtual</code></dt>
- <dd>La valeur est un chemin URL (codé avec caractères %). S'il ne
- commence pas par un slash (/), il est considéré comme relatif au
+ <dd>La valeur est un chemin URL (codé avec caractères %). S'il ne
+ commence pas par un slash (/), il est considéré comme relatif au
document courant. Notez que cette commande n'affiche <em>pas</em>
la taille de la sortie d'un programme CGI, mais la taille du
- programme CGI lui-même.</dd>
+ programme CGI lui-même.</dd>
</dl>
<div class="example"><p><code>
pas les aliases URL-space.</p>
- <h3><a name="element.flastmod" id="element.flastmod">L'élément flastmod</a></h3>
- <p>Cette commande permet d'afficher la date de dernière
- modification du fichier spécifié, en fonction des spécifications
- de format de <code>timefmt</code>. Les attributs sont les mêmes
+ <h3><a name="element.flastmod" id="element.flastmod">L'élément flastmod</a></h3>
+ <p>Cette commande permet d'afficher la date de dernière
+ modification du fichier spécifié, en fonction des spécifications
+ de format de <code>timefmt</code>. Les attributs sont les mêmes
que ceux de la commande <code><a href="#element.fsize">fsize</a></code>.</p>
- <h3><a name="element.include" id="element.include">L'élément include</a></h3>
- <p>Cette commande permet d'insérer le texte d'un autre document ou
- fichier dans le fichier en cours d'interprétation. Tout fichier
- inclus est soumis au contrôle d'accès habituel. Si <a href="core.html#options">Options</a> <code>IncludesNOEXEC</code>
- est défini pour le répertoire contenant le fichier
- interprété, seuls les documents possèdant un
+ <h3><a name="element.include" id="element.include">L'élément include</a></h3>
+ <p>Cette commande permet d'insérer le texte d'un autre document ou
+ fichier dans le fichier en cours d'interprétation. Tout fichier
+ inclus est soumis au contrôle d'accès habituel. Si <a href="core.html#options">Options</a> <code>IncludesNOEXEC</code>
+ est défini pour le répertoire contenant le fichier
+ interprété, seuls les documents possèdant un
<a class="glossarylink" href="../glossary.html#type mime" title="voir glossaire">type MIME</a> de type texte
(<code>text/plain</code>, <code>text/html</code>, etc...) seront
- inclus. Les scripts CGI, quant à eux, sont invoqués de manière
- habituelle en utilisant l'URL complète fournie avec la commande, y
- compris toute chaîne d'arguments éventuelle.</p>
+ inclus. Les scripts CGI, quant à eux, sont invoqués de manière
+ habituelle en utilisant l'URL complète fournie avec la commande, y
+ compris toute chaîne d'arguments éventuelle.</p>
- <p>Un attribut définit le chemin du document à inclure, et peut
- apparaître plusieurs fois dans l'élément à inclure ; en retour, pour
- chaque attribut fourni à la commande include, une inclusion est
- effectuée. Les attributs disponibles sont :</p>
+ <p>Un attribut définit le chemin du document à inclure, et peut
+ apparaître plusieurs fois dans l'élément à inclure ; en retour, pour
+ chaque attribut fourni à la commande include, une inclusion est
+ effectuée. Les attributs disponibles sont :</p>
<dl>
<dt><code>file</code></dt>
- <dd>La valeur est un chemin relatif au répertoire contenant le
- fichier en cours d'interprétation. Elle ne peut ni contenir
- <code>../</code>, ni être un chemin absolu. Ainsi, vous ne pouvez
- pas inclure de fichiers situés en dehors de l'arborescence du
- site web ou dans un niveau supérieur à celui du fichier courant
- dans cette arborescence. Il est toujours préférable d'utiliser
+ <dd>La valeur est un chemin relatif au répertoire contenant le
+ fichier en cours d'interprétation. Elle ne peut ni contenir
+ <code>../</code>, ni être un chemin absolu. Ainsi, vous ne pouvez
+ pas inclure de fichiers situés en dehors de l'arborescence du
+ site web ou dans un niveau supérieur à celui du fichier courant
+ dans cette arborescence. Il est toujours préférable d'utiliser
l'attribut <code>virtual</code>.</dd>
<dt><code><a id="includevirtual" name="includevirtual">virtual</a></code></dt>
- <dd><p>La valeur est un chemin URL (codé avec caractères %). L'URL
- ne peut contenir qu'un chemin et une chaîne d'arguments
- éventuelle, à l'exclusion de tout protocole ou nom d'hôte. S'il ne
- commence pas par un slash (/), il est considéré comme relatif au
+ <dd><p>La valeur est un chemin URL (codé avec caractères %). L'URL
+ ne peut contenir qu'un chemin et une chaîne d'arguments
+ éventuelle, à l'exclusion de tout protocole ou nom d'hôte. S'il ne
+ commence pas par un slash (/), il est considéré comme relatif au
document courant.</p>
- <p>Une URL est construite à partir de l'attribut, et la sortie que
- renverrait le serveur si l'URL était accédée par le client est
- incluse dans la sortie interprétée. Les inclusions de fichiers
- peuvent ainsi être imbriquées.</p>
+ <p>Une URL est construite à partir de l'attribut, et la sortie que
+ renverrait le serveur si l'URL était accédée par le client est
+ incluse dans la sortie interprétée. Les inclusions de fichiers
+ peuvent ainsi être imbriquées.</p>
- <p>Si l'URL spécifiée correspond à un programme CGI, le programme
- sera exécuté, et son flux de sortie inséré à la place de la
- directive dans le fichier interprété. Vous pouvez insérer une
- chaîne d'arguments dans une URL correspond à un programme CGI
+ <p>Si l'URL spécifiée correspond à un programme CGI, le programme
+ sera exécuté, et son flux de sortie inséré à la place de la
+ directive dans le fichier interprété. Vous pouvez insérer une
+ chaîne d'arguments dans une URL correspond à un programme CGI
:</p>
<div class="example"><p><code>
<!--#include virtual="/cgi-bin/exemple.cgi?argument=valeur" -->
</code></p></div>
- <p><code>include virtual</code> doit être préféré à <code>exec
+ <p><code>include virtual</code> doit être préféré à <code>exec
cgi</code> pour inclure le flux de sortie d'un programme CGI dans
un document HTML.</p>
<p>Si la directive <code class="directive"><a href="../mod/mod_request.html#keptbodysize">KeptBodySize</a></code> est correctement
- définie et valide pour le fichier inclus, les tentatives de
- requêtes POST vers le document HTML qui inclut des fichiers seront
- transmises aux sous-requêtes en tant que requêtes POST
- elles-mêmes. Sans cette directive, toutes les sous-requêtes sont
- traitées en tant que requêtes GET.</p>
+ définie et valide pour le fichier inclus, les tentatives de
+ requêtes POST vers le document HTML qui inclut des fichiers seront
+ transmises aux sous-requêtes en tant que requêtes POST
+ elles-mêmes. Sans cette directive, toutes les sous-requêtes sont
+ traitées en tant que requêtes GET.</p>
</dd>
<dt><code>onerror</code></dt>
- <dd><p>La valeur est un chemin-URL (codé-%) qui est affiché si une
- tentative précédente d'inclure un fichier ou un attribut virtuel a
- échoué. Pour produire son effet, cet attribut doit être spécifié
- après le fichier ou les attributs virtuels concernés. Si la
- tentative d'inclure le chemin onerror échoue, ou si onerror n'est
- pas spécifié, c'est le message d'erreur par défaut qui sera
+ <dd><p>La valeur est un chemin-URL (codé-%) qui est affiché si une
+ tentative précédente d'inclure un fichier ou un attribut virtuel a
+ échoué. Pour produire son effet, cet attribut doit être spécifié
+ après le fichier ou les attributs virtuels concernés. Si la
+ tentative d'inclure le chemin onerror échoue, ou si onerror n'est
+ pas spécifié, c'est le message d'erreur par défaut qui sera
inclus.</p>
<div class="example"><p><code>
</code></p></div>
<div class="example"><p><code>
- # Chemins onerror dédiés<br />
+ # Chemins onerror dédiés<br />
<!--#include virtual="/path-a.html" onerror="/error-a.html" virtual="/path-b.html" onerror="/error-b.html" -->
</code></p></div>
</dl>
- <h3><a name="element.printenv" id="element.printenv">L'élément printenv</a></h3>
+ <h3><a name="element.printenv" id="element.printenv">L'élément printenv</a></h3>
<p>Cette commande affiche la liste en mode texte de toutes les variables et de
- leurs valeurs. Les caractères spéciaux sont encodés <code>entity</code> avant
- d'être affichés (se reporter à l'élément <code><a href="#element.echo">echo</a></code> pour plus de détails). Cette
+ leurs valeurs. Les caractères spéciaux sont encodés <code>entity</code> avant
+ d'être affichés (se reporter à l'élément <code><a href="#element.echo">echo</a></code> pour plus de détails). Cette
commande ne comporte pas d'attributs.</p>
<div class="example"><h3>Exemple</h3><p><code>
</code></p></div>
- <h3><a name="element.set" id="element.set">L'élément set</a></h3>
- <p>Cette commande permet de définir la valeur d'une variable. Les
+ <h3><a name="element.set" id="element.set">L'élément set</a></h3>
+ <p>Cette commande permet de définir la valeur d'une variable. Les
attributs sont :</p>
<dl>
<dt><code>var</code></dt>
- <dd>Le nom de la variable à définir.</dd>
+ <dd>Le nom de la variable à définir.</dd>
<dt><code>value</code></dt>
- <dd>La valeur à affecter à la variable.</dd>
+ <dd>La valeur à affecter à la variable.</dd>
<dt><code>decoding</code></dt>
- <dd><p>Spécifie si Apache doit effectuer un décodage dans la
- variable avant son traitement ultérieur. La valeur par défaut est
- <code>none</code>, et dans ce cas, aucun décodage n'est effectué.
+ <dd><p>Spécifie si Apache doit effectuer un décodage dans la
+ variable avant son traitement ultérieur. La valeur par défaut est
+ <code>none</code>, et dans ce cas, aucun décodage n'est effectué.
Si la valeur est <code>url</code>, <code>urlencoded</code>,
<code>base64</code> ou
- <code>entity</code>, c'est un décodage de type URL,
+ <code>entity</code>, c'est un décodage de type URL,
application/x-www-form-urlencoded, base64 ou
- entité HTML qui sera respectivement effectué. Il est possible
- d'effectuer plusieurs décodages en
- spécifiant plusieurs valeurs séparées par des virgules. Les
- spécifications de décodages restent valables jusqu'au prochain
- attribut de décodage, ou la fin de l'élément. Pour être pris en
- compte, l'attribut de <code>décodage</code>
- doit <em>précéder</em> l'attribut <code>var</code> correspondant.</p>
+ entité HTML qui sera respectivement effectué. Il est possible
+ d'effectuer plusieurs décodages en
+ spécifiant plusieurs valeurs séparées par des virgules. Les
+ spécifications de décodages restent valables jusqu'au prochain
+ attribut de décodage, ou la fin de l'élément. Pour être pris en
+ compte, l'attribut de <code>décodage</code>
+ doit <em>précéder</em> l'attribut <code>var</code> correspondant.</p>
</dd>
<dt><code>encoding</code></dt>
- <dd><p>Spécifie la manière dont Apache va encoder les caractères
- spéciaux que la variable contient avant leur affichage. S'il est
- défini à <code>none</code>, aucun encodage ne sera effectué. Si la
+ <dd><p>Spécifie la manière dont Apache va encoder les caractères
+ spéciaux que la variable contient avant leur affichage. S'il est
+ défini à <code>none</code>, aucun encodage ne sera effectué. Si la
valeur est <code>url</code>, <code>urlencoding</code>,
<code>base64</code> ou
<code>entity</code>, c'est un encodage de type URL,
application/x-www-form-urlencoded, base64 ou
- entité HTML qui sera respectivement effectué. Il est possible de
- spécifier plusieurs types d'encodage en les séparant par des
- virgules. La spécification du type d'encodage fera effet
- jusqu'à la définition d'un nouvel attribut encoding
- ou la fin de l'élément. Pour produire son effet, l'attribut <code>encoding</code> doit
- précéder l'attribut <code>var</code> concerné. Les encodages sont
- effectués après les opérations de décodage.</p>
+ entité HTML qui sera respectivement effectué. Il est possible de
+ spécifier plusieurs types d'encodage en les séparant par des
+ virgules. La spécification du type d'encodage fera effet
+ jusqu'à la définition d'un nouvel attribut encoding
+ ou la fin de l'élément. Pour produire son effet, l'attribut <code>encoding</code> doit
+ précéder l'attribut <code>var</code> concerné. Les encodages sont
+ effectués après les opérations de décodage.</p>
</dd>
</dl>
<h2><a name="includevars" id="includevars">Variables include</a><a title="Lien permanent" href="#includevars" class="permalink">¶</a></h2>
- <p>À l'instar des variables de l'environnement CGI standard, ces
- variables sont mises à la disposition de la commande
- <code>echo</code>, des opérateurs conditionnels <code>if</code> et
- <code>elif</code>, et de tout programme invoqué par le document.</p>
+ <p>À l'instar des variables de l'environnement CGI standard, ces
+ variables sont mises à la disposition de la commande
+ <code>echo</code>, des opérateurs conditionnels <code>if</code> et
+ <code>elif</code>, et de tout programme invoqué par le document.</p>
<dl>
<dt><code>DATE_GMT</code></dt>
<dd>La date locale courante.</dd>
<dt><code>DOCUMENT_ARGS</code></dt>
- <dd>Cette variable contient la chaîne de paramètres de la requête du
- document SSI actif, ou la chaîne vide si aucune chaîne de paramètres de
- requête n'est incluse. Pour les sous-requêtes invoquées par la directive
- SSI <code>include</code>, <code>QUERY_STRING</code> contiendra la chaîne
- de paramètres de la sous-requête et <code>DOCUMENT_ARGS</code> la chaîne
- de paramètres du document SSI (disponible à partir de la version 2.4.19 du
+ <dd>Cette variable contient la chaîne de paramètres de la requête du
+ document SSI actif, ou la chaîne vide si aucune chaîne de paramètres de
+ requête n'est incluse. Pour les sous-requêtes invoquées par la directive
+ SSI <code>include</code>, <code>QUERY_STRING</code> contiendra la chaîne
+ de paramètres de la sous-requête et <code>DOCUMENT_ARGS</code> la chaîne
+ de paramètres du document SSI (disponible à partir de la version 2.4.19 du
serveur HTTP Apache).</dd>
<dt><code>DOCUMENT_NAME</code></dt>
- <dd>Le nom de base du fichier demandé par l'utilisateur (sans son
+ <dd>Le nom de base du fichier demandé par l'utilisateur (sans son
chemin).</dd>
<dt><code>DOCUMENT_PATH_INFO</code></dt>
- <dd>La partie terminale du chemin du fichier. Voir la directive <code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> pour plus d'informations à
+ <dd>La partie terminale du chemin du fichier. Voir la directive <code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code> pour plus d'informations à
propos de <code>PATH_INFO</code>.</dd>
<dt><code>DOCUMENT_URI</code></dt>
- <dd>Le chemin URL (caractères % décodés) du document demandé par
+ <dd>Le chemin URL (caractères % décodés) du document demandé par
l'utilisateur. Notez que dans le cas d'inclusions de fichiers
- imbriquées, il ne s'agit <em>pas</em> de l'URL du document
- courant. Notez également que si l'URL est modifiée en interne (par
- exemple via une directive <code class="directive"><a href="../mod/mod_alias.html#alias">alias</a></code> ou <code class="directive"><a href="../mod/mod_dir.html#directoryindex">directoryindex</a></code>), c'est l'URL modifiée
+ imbriquées, il ne s'agit <em>pas</em> de l'URL du document
+ courant. Notez également que si l'URL est modifiée en interne (par
+ exemple via une directive <code class="directive"><a href="../mod/mod_alias.html#alias">alias</a></code> ou <code class="directive"><a href="../mod/mod_dir.html#directoryindex">directoryindex</a></code>), c'est l'URL modifiée
que contiendra la variable.</dd>
<dt><code>LAST_MODIFIED</code></dt>
- <dd>La date de dernière modification du document demandé par
+ <dd>La date de dernière modification du document demandé par
l'utilisateur.</dd>
<dt><code>QUERY_STRING_UNESCAPED</code></dt>
- <dd>Si une chaîne d'arguments est présente dans la requête pour le
- document SSI actif, elle sera affectée à
- cette variable, les caractères %-décodés, et éventuellement
- <em>échappés</em> pour qu'ils ne soient pas interprétés par le
- shell (les caractères spéciaux comme <code>&</code>,etc...
- sont précédés d'anti-slashes). Cette variable n'est pas définie si aucune
- chaîne d'arguments n'est présente. Utilisez <code>DOCUMENT_ARGS</code> si
- l'échappement des caractères du shell n'est pas souhaité.</dd>
+ <dd>Si une chaîne d'arguments est présente dans la requête pour le
+ document SSI actif, elle sera affectée à
+ cette variable, les caractères %-décodés, et éventuellement
+ <em>échappés</em> pour qu'ils ne soient pas interprétés par le
+ shell (les caractères spéciaux comme <code>&</code>,etc...
+ sont précédés d'anti-slashes). Cette variable n'est pas définie si aucune
+ chaîne d'arguments n'est présente. Utilisez <code>DOCUMENT_ARGS</code> si
+ l'échappement des caractères du shell n'est pas souhaité.</dd>
<dt><code>USER_NAME</code></dt>
- <dd>Le nom d'utilisateur du propriétaire du fichier.</dd>
+ <dd>Le nom d'utilisateur du propriétaire du fichier.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="substitution" id="substitution">Substitution de variable</a><a title="Lien permanent" href="#substitution" class="permalink">¶</a></h2>
- <p>Une substitution de variable à l'intérieur d'une chaîne entre
- guillemets s'effectue dans la plupart des situations où cette
- dernière peut raisonablement constituer un argument d'une directive
- SSI. Sont concernées les directives <code>config</code>,
+ <p>Une substitution de variable à l'intérieur d'une chaîne entre
+ guillemets s'effectue dans la plupart des situations où cette
+ dernière peut raisonablement constituer un argument d'une directive
+ SSI. Sont concernées les directives <code>config</code>,
<code>exec</code>, <code>flastmod</code>, <code>fsize</code>,
<code>include</code>, <code>echo</code>, et <code>set</code>. Si la
- directive <code class="directive"><a href="#ssilegacyexprparser">SSILegacyExprParser</a></code> est définie à
+ directive <code class="directive"><a href="#ssilegacyexprparser">SSILegacyExprParser</a></code> est définie à
<code>on</code>, la substitution s'effectue aussi dans les arguments
- des opérateurs conditionnels. Vous pouvez insérer
- un signe dollar en tant que caractère littéral dans une chaîne en
+ des opérateurs conditionnels. Vous pouvez insérer
+ un signe dollar en tant que caractère littéral dans une chaîne en
utilisant un anti-slash :</p>
<div class="example"><p><code>
<!--#set var="cur" value="\$test" -->
</code></p></div>
- <p>Si une référence de variable doit être substituée au beau milieu
- d'une séquence de caractères qui pourrait être elle-même considérée
- comme un identifiant valide, l'ambiguïté peut être levée en
- entourant la référence d'accolades, à la manière du shell :</p>
+ <p>Si une référence de variable doit être substituée au beau milieu
+ d'une séquence de caractères qui pourrait être elle-même considérée
+ comme un identifiant valide, l'ambiguïté peut être levée en
+ entourant la référence d'accolades, à la manière du shell :</p>
<div class="example"><p><code>
<!--#set var="Zed" value="${REMOTE_HOST}_${REQUEST_METHOD}" -->
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="flowctrl" id="flowctrl">Eléments de contrôle d'inclusion conditionnelle</a><a title="Lien permanent" href="#flowctrl" class="permalink">¶</a></h2>
+<h2><a name="flowctrl" id="flowctrl">Eléments de contrôle d'inclusion conditionnelle</a><a title="Lien permanent" href="#flowctrl" class="permalink">¶</a></h2>
- <p>Les éléments de base du contrôle d'inclusion conditionnelle sont
+ <p>Les éléments de base du contrôle d'inclusion conditionnelle sont
:</p>
<div class="example"><p><code>
<!--#endif -->
</code></p></div>
- <p>L'élément <code>if</code> fonctionne de la même manière que
+ <p>L'élément <code>if</code> fonctionne de la même manière que
la directive if d'un langage de programmation. La condition est
- évaluée et si le résultat est vrai, le texte qui suit jusqu'au
- prochain élément <code>elif</code>, <code>else</code> ou
+ évaluée et si le résultat est vrai, le texte qui suit jusqu'au
+ prochain élément <code>elif</code>, <code>else</code> ou
<code>endif</code> sera inclus dans le flux de sortie.</p>
- <p>Les éléments <code>elif</code> ou <code>else</code> permettent
- d'insérer du texte dans le flux de sortie si
- <var>test_condition</var> s'est révélé faux. Ces éléments sont
+ <p>Les éléments <code>elif</code> ou <code>else</code> permettent
+ d'insérer du texte dans le flux de sortie si
+ <var>test_condition</var> s'est révélé faux. Ces éléments sont
optionnels.</p>
- <p>L'élément <code>endif</code> termine le bloc de traitement
+ <p>L'élément <code>endif</code> termine le bloc de traitement
conditionnel <code>if</code> et est obligatoire.</p>
- <p><var>test_condition</var> est une expression booléenne qui
+ <p><var>test_condition</var> est une expression booléenne qui
emprunte la syntaxe <a href="../expr.html">ap_expr</a>. La directive
<code class="directive"><a href="#ssilegacyexprparser">SSILegacyExprParser</a></code>
permet de modifier cette syntaxe pour la rendre compatible avec
Apache HTTPD 2.2.x.</p>
- <p>Le jeu de variables SSI avec l'élément <code>var</code> sont
- exportées vers l'environnement de la requête et sont accessibles via
+ <p>Le jeu de variables SSI avec l'élément <code>var</code> sont
+ exportées vers l'environnement de la requête et sont accessibles via
la fonction <code>reqenv</code>. Pour faire simple, le nom de
fonction <code>v</code> est aussi disponible dans le module
<code class="module"><a href="../mod/mod_include.html">mod_include</a></code>.</p>
- <p>Dans l'exemple suivant, "depuis le réseau local" sera affiché si
- l'adresse IP du client appartient au sous-réseau 10.0.0.0/8.</p>
+ <p>Dans l'exemple suivant, "depuis le réseau local" sera affiché si
+ l'adresse IP du client appartient au sous-réseau 10.0.0.0/8.</p>
<div class="example"><p><code>
<!--#if expr='-R "10.0.0.0/8"' --><br />
<span class="indent">
- depuis le réseau local<br />
+ depuis le réseau local<br />
</span>
<!--#else --><br />
<span class="indent">
<!--#endif -->
</code></p></div>
- <p>Dans l'exemple suivant, "foo vaut bar" sera affiché si la variable
+ <p>Dans l'exemple suivant, "foo vaut bar" sera affiché si la variable
<code>foo</code> contient la valeur "bar".</p>
<div class="example"><p><code>
<!--#endif -->
</code></p></div>
- <div class="note"><h3>Documentation de référence</h3>
+ <div class="note"><h3>Documentation de référence</h3>
<p>Voir aussi <a href="../expr.html">Les expressions dans le serveur
- HTTP Apache</a> pour une référence complète et des exemples. Les
+ HTTP Apache</a> pour une référence complète et des exemples. Les
fonctions <em>restricted</em> ne sont pas disponibles dans
<code class="module"><a href="../mod/mod_include.html">mod_include</a></code>.</p>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="legacyexpr" id="legacyexpr">Syntaxe des expressions héritée</a><a title="Lien permanent" href="#legacyexpr" class="permalink">¶</a></h2>
+<h2><a name="legacyexpr" id="legacyexpr">Syntaxe des expressions héritée</a><a title="Lien permanent" href="#legacyexpr" class="permalink">¶</a></h2>
- <p>Cette section décrit la syntaxe de l'élément <code>#if
- expr</code> dans le cas où la directive <code class="directive"><a href="#ssilegacyexprparser">SSILegacyExprParser</a></code> est définie à
+ <p>Cette section décrit la syntaxe de l'élément <code>#if
+ expr</code> dans le cas où la directive <code class="directive"><a href="#ssilegacyexprparser">SSILegacyExprParser</a></code> est définie à
<code>on</code>.</p>
<dl>
- <dt><code><var>chaîne</var></code></dt>
- <dd>vrai si <var>chaîne</var> n'est pas vide</dd>
+ <dt><code><var>chaîne</var></code></dt>
+ <dd>vrai si <var>chaîne</var> n'est pas vide</dd>
<dt><code><var>-A string</var></code></dt>
- <dd><p>vrai si l'URL que contient la chaîne est accessible du
+ <dd><p>vrai si l'URL que contient la chaîne est accessible du
point de vue de la configuration, faux sinon. Il
- s'avère utile lorsqu'un lien vers une URL doit être caché aux
- utilisateurs qui ne sont pas autorisés à voir cette URL. Notez que
- le test porte sur l'autorisation d'accès à l'URL, et non sur son
+ s'avère utile lorsqu'un lien vers une URL doit être caché aux
+ utilisateurs qui ne sont pas autorisés à voir cette URL. Notez que
+ le test porte sur l'autorisation d'accès à l'URL, et non sur son
existence.</p>
<div class="example"><h3>Exemple</h3><p><code>
<!--#if expr="-A /prive" --><br />
<span class="indent">
- Cliquez <a href="/prive">ici</a> pour accéder aux
- informations privées.<br />
+ Cliquez <a href="/prive">ici</a> pour accéder aux
+ informations privées.<br />
</span>
<!--#endif -->
</code></p></div>
</dd>
- <dt><code><var>chaîne1</var> = <var>chaîne2</var><br />
- <var>chaîne1</var> == <var>chaîne2</var><br />
- <var>chaîne1</var> != <var>chaîne2</var></code></dt>
+ <dt><code><var>chaîne1</var> = <var>chaîne2</var><br />
+ <var>chaîne1</var> == <var>chaîne2</var><br />
+ <var>chaîne1</var> != <var>chaîne2</var></code></dt>
- <dd><p>Compare <var>chaîne1</var> à <var>chaîne2</var>. Si
- <var>chaîne2</var> est de la forme
- <code>/<var>chaîne2</var>/</code>, elle est traitée comme une
+ <dd><p>Compare <var>chaîne1</var> à <var>chaîne2</var>. Si
+ <var>chaîne2</var> est de la forme
+ <code>/<var>chaîne2</var>/</code>, elle est traitée comme une
expression rationnelle. Les expressions rationnelles sont
- implémentées par le moteur <a href="http://www.pcre.org">PCRE</a>
- et possèdent la même syntaxe que celles de <a href="http://www.perl.com">perl 5</a>. Notez que <code>==</code>
+ implémentées par le moteur <a href="http://www.pcre.org">PCRE</a>
+ et possèdent la même syntaxe que celles de <a href="http://www.perl.com">perl 5</a>. Notez que <code>==</code>
n'est qu'un alias pour <code>=</code> et se comporte exactement de
- la même manière que ce dernier.</p>
+ la même manière que ce dernier.</p>
<p>Si vous faites une comparaison directe (<code>=</code> ou
<code>==</code>), vous pouvez extraire des parties de l'expression
- rationnelle. Les parties extraites sont stockées dans les
- variables spéciales <code>$1</code> .. <code>$9</code>. L'ensemble
- de la chaîne correspondant à l'expression rationnelle est stocké
- dans la variable spéciale <code>$0</code>.</p>
+ rationnelle. Les parties extraites sont stockées dans les
+ variables spéciales <code>$1</code> .. <code>$9</code>. L'ensemble
+ de la chaîne correspondant à l'expression rationnelle est stocké
+ dans la variable spéciale <code>$0</code>.</p>
<div class="example"><h3>Exemple</h3><p><code>
<!--#if expr="$QUERY_STRING = /^sid=([a-zA-Z0-9]+)/" --><br />
</code></p></div>
</dd>
- <dt><code><var>chaîne1</var> < <var>chaîne2</var><br />
- <var>chaîne1</var> <= <var>chaîne2</var><br />
- <var>chaîne1</var> > <var>chaîne2</var><br />
- <var>chaîne1</var> >= <var>chaîne2</var></code></dt>
+ <dt><code><var>chaîne1</var> < <var>chaîne2</var><br />
+ <var>chaîne1</var> <= <var>chaîne2</var><br />
+ <var>chaîne1</var> > <var>chaîne2</var><br />
+ <var>chaîne1</var> >= <var>chaîne2</var></code></dt>
- <dd>Compare <var>chaîne1</var> à <var>chaîne2</var>. Notez que les
- chaînes sont comparées de manière <em>littérale</em> (en utilisant
- <code>strcmp(3)</code>). Ainsi, la chaîne "100" est inférieure à
+ <dd>Compare <var>chaîne1</var> à <var>chaîne2</var>. Notez que les
+ chaînes sont comparées de manière <em>littérale</em> (en utilisant
+ <code>strcmp(3)</code>). Ainsi, la chaîne "100" est inférieure à
"20".</dd>
<dt><code>( <var>test_condition</var> )</code></dt>
<var>test_condition2</var> est vrai</dd>
</dl>
- <p>"<code>=</code>" et "<code>!=</code>" ont une priorité supérieure
- à "<code>&&</code>" et "<code>||</code>". "<code>!</code>" a
- la priorité la plus haute. Ainsi, les deux directives suivantes sont
- équivalentes :</p>
+ <p>"<code>=</code>" et "<code>!=</code>" ont une priorité supérieure
+ à "<code>&&</code>" et "<code>||</code>". "<code>!</code>" a
+ la priorité la plus haute. Ainsi, les deux directives suivantes sont
+ équivalentes :</p>
<div class="example"><p><code>
<!--#if expr="$a = test1 && $b = test2" --><br />
<!--#if expr="($a = test1) && ($b = test2)" -->
</code></p></div>
- <p>Les opérateurs booléens <code>&&</code> et
- <code>||</code> ont la même priorité. Ainsi, si vous voulez
- augmenter la priorité d'un de ces opérateurs, vous devez utiliser
- des parenthèses.</p>
+ <p>Les opérateurs booléens <code>&&</code> et
+ <code>||</code> ont la même priorité. Ainsi, si vous voulez
+ augmenter la priorité d'un de ces opérateurs, vous devez utiliser
+ des parenthèses.</p>
- <p>Tout ce qui n'est pas reconnu comme variable ou opérateur est
- traité comme une chaîne. Les chaînes peuvent aussi être entourées
- d'apostrophes : <code>'chaîne'</code>. Les chaînes sans apostrophe
+ <p>Tout ce qui n'est pas reconnu comme variable ou opérateur est
+ traité comme une chaîne. Les chaînes peuvent aussi être entourées
+ d'apostrophes : <code>'chaîne'</code>. Les chaînes sans apostrophe
ne peuvent pas contenir d'espaces (espaces ou tabulations) car
- ceux-ci servent à séparer certains éléments comme les variables. Si
- plusieurs chaînes se trouvent dans une ligne, elles sont concaténées
+ ceux-ci servent à séparer certains éléments comme les variables. Si
+ plusieurs chaînes se trouvent dans une ligne, elles sont concaténées
en utilisant des espaces. Ainsi,</p>
- <div class="example"><p><code><var>chaîne1</var> <var>chaîne2</var></code> devient <code><var>chaîne1</var> <var>chaîne2</var></code><br />
+ <div class="example"><p><code><var>chaîne1</var> <var>chaîne2</var></code> devient <code><var>chaîne1</var> <var>chaîne2</var></code><br />
<br />
et<br />
<br />
- <code>'<var>chaîne1</var> <var>chaîne2</var>'</code> devient <code><var>chaîne1</var> <var>chaîne2</var></code>.</p></div>
+ <code>'<var>chaîne1</var> <var>chaîne2</var>'</code> devient <code><var>chaîne1</var> <var>chaîne2</var></code>.</p></div>
- <div class="note"><h3>Optimisation des expressions booléennes</h3>
- <p>Si les expressions atteignent une complexité suffisante pour
- ralentir les traitements de manière significative, vous pouvez
- essayer de les optimiser en fonction des règles d'évaluation :</p>
+ <div class="note"><h3>Optimisation des expressions booléennes</h3>
+ <p>Si les expressions atteignent une complexité suffisante pour
+ ralentir les traitements de manière significative, vous pouvez
+ essayer de les optimiser en fonction des règles d'évaluation :</p>
<ul>
- <li>Les expressions sont évaluées de la gauche vers la droite</li>
- <li>Les opérateurs booléens binaires (<code>&&</code> et
- <code>||</code>) font l'objet d'une évaluation abrégée chaque fois
- que cela est possible. En d'autres termes, et selon la règle
- ci-dessus, <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> évalue tout d'abord la
- partie gauche de l'expression. Si le résultat de l'évaluation de
- cette partie gauche suffit à déterminer le résultat final,
- l'évaluation s'arrête ici. Dans le cas contraire, la partie droite
- est évaluée, et le résultat final tient compte des résultats des
- évaluations des parties gauche et droite.</li>
- <li>L'évaluation abrégée est désactivée tant qu'il reste des
- expressions régulières à traiter. Ces dernières doivent être
- évaluées afin de définir les variables correspondant aux
- références arrières (<code>$1</code> .. <code>$9</code>).</li>
+ <li>Les expressions sont évaluées de la gauche vers la droite</li>
+ <li>Les opérateurs booléens binaires (<code>&&</code> et
+ <code>||</code>) font l'objet d'une évaluation abrégée chaque fois
+ que cela est possible. En d'autres termes, et selon la règle
+ ci-dessus, <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> évalue tout d'abord la
+ partie gauche de l'expression. Si le résultat de l'évaluation de
+ cette partie gauche suffit à déterminer le résultat final,
+ l'évaluation s'arrête ici. Dans le cas contraire, la partie droite
+ est évaluée, et le résultat final tient compte des résultats des
+ évaluations des parties gauche et droite.</li>
+ <li>L'évaluation abrégée est désactivée tant qu'il reste des
+ expressions régulières à traiter. Ces dernières doivent être
+ évaluées afin de définir les variables correspondant aux
+ références arrières (<code>$1</code> .. <code>$9</code>).</li>
</ul>
- <p>Si vous voulez déterminer la manière dont une expression est
- traitée, vous pouvez recompiler <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> en
+ <p>Si vous voulez déterminer la manière dont une expression est
+ traitée, vous pouvez recompiler <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> en
utilisant l'option de compilation <code>-DDEBUG_INCLUDE</code>.
- Ceci a pour effet d'insérer, pour chaque expression interprétée,
- des informations étiquetées, l'arbre d'interprétation et la
- manière dont elle est évaluée au sein du flux de sortie envoyé au
+ Ceci a pour effet d'insérer, pour chaque expression interprétée,
+ des informations étiquetées, l'arbre d'interprétation et la
+ manière dont elle est évaluée au sein du flux de sortie envoyé au
client.</p>
</div>
- <div class="note"><h3>Slashes d'échappement dans les expressions
+ <div class="note"><h3>Slashes d'échappement dans les expressions
rationnelles</h3>
- <p>Tous les caractères slashes qui ne sont pas des séparateurs dans
- votre expression rationnelle doivent être échappés, et ceci sans
+ <p>Tous les caractères slashes qui ne sont pas des séparateurs dans
+ votre expression rationnelle doivent être échappés, et ceci sans
tenir compte de leur signification du point de vue du moteur
d'expressions rationnelles.</p>
</div>
- <div class="note"><h3>Documentation de référence</h3>
+ <div class="note"><h3>Documentation de référence</h3>
<p>Voir le document <a href="../expr.html">Les expressions dans le
- serveur HTTP Apache</a>, pour une référence complète et des exemples.</p>
+ serveur HTTP Apache</a>, pour une référence complète et des exemples.</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="ssiendtag" id="ssiendtag">Directive</a> <a name="SSIEndTag" id="SSIEndTag">SSIEndTag</a><a title="Lien permanent" href="#ssiendtag" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chaîne qui termine l'élément include</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chaîne qui termine l'élément include</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSIEndTag <var>tag</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIEndTag "-->"</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIEndTag "-->"</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_include</td></tr>
</table>
- <p>Cette directive permet de modifier la chaîne que
- <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> interprète comme la fin d'un élément
+ <p>Cette directive permet de modifier la chaîne que
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> interprète comme la fin d'un élément
include.</p>
<pre class="prettyprint lang-config">SSIEndTag "%>"</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ssierrormsg" id="ssierrormsg">Directive</a> <a name="SSIErrorMsg" id="SSIErrorMsg">SSIErrorMsg</a><a title="Lien permanent" href="#ssierrormsg" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Message d'erreur affiché lorsqu'une erreur SSI
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Message d'erreur affiché lorsqu'une erreur SSI
survient</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSIErrorMsg <var>message</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIErrorMsg "[an error occurred while processing this
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIErrorMsg "[an error occurred while processing this
directive]"</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</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_include</td></tr>
</table>
<p>La directive <code class="directive">SSIErrorMsg</code> permet de
- modifier le message d'erreur affiché lorsqu'une erreur SSI survient.
- Pour les serveurs en production, il est recommandé de modifier le
- message d'erreur par défaut en <code>"<!-- Error
- -->"</code>, de façon à ce que le message ne soit pas
- présenté à l'utilisateur.</p>
+ modifier le message d'erreur affiché lorsqu'une erreur SSI survient.
+ Pour les serveurs en production, il est recommandé de modifier le
+ message d'erreur par défaut en <code>"<!-- Error
+ -->"</code>, de façon à ce que le message ne soit pas
+ présenté à l'utilisateur.</p>
- <p>Cette directive a le même effet que l'élément
+ <p>Cette directive a le même effet que l'élément
<code><!--#config errmsg=<var>message</var> --></code>.</p>
<pre class="prettyprint lang-config">SSIErrorMsg "<!-- Error -->"</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ssietag" id="ssietag">Directive</a> <a name="SSIETag" id="SSIETag">SSIETag</a><a title="Lien permanent" href="#ssietag" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si des en-têtes ETags sont générés par le serveur.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si des en-têtes ETags sont générés par le serveur.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSIETag on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIETag 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#Default">Défaut:</a></th><td><code>SSIETag 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">AllowOverride:</a></th><td>Limit</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_include</td></tr>
</table>
- <p>Dans le cas général, un fichier filtré par
- <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> peut contenir des éléments soit
- générés dynamiquement, soit éventuellement modifiés indépendemment
- du fichier original. En conséquence, il est demandé par défaut au
- serveur de ne pas générer d'en-tête <code>ETag</code> à la réponse
- en ajoutant <code>no-etag</code> aux informations de requête.</p>
-
- <p>Ce comportement peut être modifié via la directive
- <code class="directive">SSIETag</code> qui permet au serveur de générer un
- en-tête <code>ETag</code>. On peut aussi l'utiliser pour la mise
- en cache de la sortie. Notez qu'un serveur d'arrière-plan ou un
- générateur de contenu dynamique peut lui-même générer un en-tête
+ <p>Dans le cas général, un fichier filtré par
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> peut contenir des éléments soit
+ générés dynamiquement, soit éventuellement modifiés indépendemment
+ du fichier original. En conséquence, il est demandé par défaut au
+ serveur de ne pas générer d'en-tête <code>ETag</code> à la réponse
+ en ajoutant <code>no-etag</code> aux informations de requête.</p>
+
+ <p>Ce comportement peut être modifié via la directive
+ <code class="directive">SSIETag</code> qui permet au serveur de générer un
+ en-tête <code>ETag</code>. On peut aussi l'utiliser pour la mise
+ en cache de la sortie. Notez qu'un serveur d'arrière-plan ou un
+ générateur de contenu dynamique peut lui-même générer un en-tête
<code>ETag</code>, en ignorant l'information <code>no-etag</code>,
- cet en-tête <code>ETag</code> étant transmis par
- <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sans tenir compte de la définition de
- la présente directive. La directive <code class="directive">SSIETag</code>
+ cet en-tête <code>ETag</code> étant transmis par
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sans tenir compte de la définition de
+ la présente directive. La directive <code class="directive">SSIETag</code>
peut prendre une des valeurs suivantes :</p>
<dl>
<dt><code>off</code></dt>
- <dd><code>no-etag</code> sera ajouté aux informations de
- requête, et il sera demandé au serveur de ne pas générer
- d'en-tête <code>ETag</code>. Lorsqu'un serveur ignore la valeur
- de <code>no-etag</code> et génère tout de même un en-tête
- <code>ETag</code>, ce dernier sera respecté.</dd>
+ <dd><code>no-etag</code> sera ajouté aux informations de
+ requête, et il sera demandé au serveur de ne pas générer
+ d'en-tête <code>ETag</code>. Lorsqu'un serveur ignore la valeur
+ de <code>no-etag</code> et génère tout de même un en-tête
+ <code>ETag</code>, ce dernier sera respecté.</dd>
<dt><code>on</code></dt>
- <dd>Les en-têtes <code>ETag</code> existants seront respectés,
- et ceux générés par le serveur seront ajoutés à la réponse.</dd>
+ <dd>Les en-têtes <code>ETag</code> existants seront respectés,
+ et ceux générés par le serveur seront ajoutés à la réponse.</dd>
</dl>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ssilastmodified" id="ssilastmodified">Directive</a> <a name="SSILastModified" id="SSILastModified">SSILastModified</a><a title="Lien permanent" href="#ssilastmodified" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si des en-têtes <code>Last-Modified</code> sont
-générés par le serveur.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si des en-têtes <code>Last-Modified</code> sont
+générés par le serveur.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSILastModified on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSILastModified 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#Default">Défaut:</a></th><td><code>SSILastModified 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">AllowOverride:</a></th><td>Limit</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_include</td></tr>
</table>
- <p>Dans le cas général, un fichier filtré par
- <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> peut contenir des éléments soit
- générés dynamiquement, soit éventuellement modifiés indépendemment
- du fichier original. En conséquence, l'en-tête
- <code>Last-Modified</code> est supprimé par défaut de la réponse.</p>
+ <p>Dans le cas général, un fichier filtré par
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> peut contenir des éléments soit
+ générés dynamiquement, soit éventuellement modifiés indépendemment
+ du fichier original. En conséquence, l'en-tête
+ <code>Last-Modified</code> est supprimé par défaut de la réponse.</p>
<p>La directive <code class="directive">SSILastModified</code> permet de
- modifier ce comportement en faisant en sorte que l'en-tête
- <code>Last-Modified</code> soit respecté s'il est déjà présent, ou
- défini dans le cas contraire. On peut aussi l'utiliser pour la mise
+ modifier ce comportement en faisant en sorte que l'en-tête
+ <code>Last-Modified</code> soit respecté s'il est déjà présent, ou
+ défini dans le cas contraire. On peut aussi l'utiliser pour la mise
en cache de la sortie. La directive
<code class="directive">SSILastModified</code> peut prendre une des
valeurs suivantes :</p>
<dl>
<dt><code>off</code></dt>
- <dd>L'en-tête <code>Last-Modified</code> sera supprimé des
- réponses, à moins que la directive <code class="directive"><a href="#xbithack">XBitHack</a></code> ne soit définie à
- <code>full</code> comme décrit plus loin.</dd>
+ <dd>L'en-tête <code>Last-Modified</code> sera supprimé des
+ réponses, à moins que la directive <code class="directive"><a href="#xbithack">XBitHack</a></code> ne soit définie à
+ <code>full</code> comme décrit plus loin.</dd>
<dt><code>on</code></dt>
- <dd>L'en-tête <code>Last-Modified</code> sera respecté s'il est
- déjà présent, et ajouté à la réponse si cette dernière est un
- fichier et si l'en-tête est manquant. La directive <code class="directive"><a href="#ssilastmodified">SSILastModified</a></code> l'emporte sur
+ <dd>L'en-tête <code>Last-Modified</code> sera respecté s'il est
+ déjà présent, et ajouté à la réponse si cette dernière est un
+ fichier et si l'en-tête est manquant. La directive <code class="directive"><a href="#ssilastmodified">SSILastModified</a></code> l'emporte sur
la directive <code class="directive"><a href="#xbithack">XBitHack</a></code>.</dd>
</dl>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ssilegacyexprparser" id="ssilegacyexprparser">Directive</a> <a name="SSILegacyExprParser" id="SSILegacyExprParser">SSILegacyExprParser</a><a title="Lien permanent" href="#ssilegacyexprparser" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le mode de compatibilité pour les expressions
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le mode de compatibilité pour les expressions
conditionnelles.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSILegacyExprParser on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSILegacyExprParser 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#Default">Défaut:</a></th><td><code>SSILegacyExprParser 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">AllowOverride:</a></th><td>Limit</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_include</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.13.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.13.</td></tr>
</table>
- <p>Depuis la version 2.3.13, <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> a adopté
+ <p>Depuis la version 2.3.13, <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> a adopté
la nouvelle syntaxe <a href="../expr.html">ap_expr</a> pour ses
- expressions conditionnelles dans les éléments de contrôle de flux
- <code>#if</code>. Cette directive permet de réactiver l'<a href="#legacyexpr">ancienne syntaxe</a> qui est compatible avec les
- versions 2.2.x et antérieures d'Apache HTTPD.
+ expressions conditionnelles dans les éléments de contrôle de flux
+ <code>#if</code>. Cette directive permet de réactiver l'<a href="#legacyexpr">ancienne syntaxe</a> qui est compatible avec les
+ versions 2.2.x et antérieures d'Apache HTTPD.
</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="ssistarttag" id="ssistarttag">Directive</a> <a name="SSIStartTag" id="SSIStartTag">SSIStartTag</a><a title="Lien permanent" href="#ssistarttag" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chaîne qui marque le début d'un élément
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chaîne qui marque le début d'un élément
include</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSIStartTag <var>tag</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIStartTag "<!--#"</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIStartTag "<!--#"</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_include</td></tr>
</table>
- <p>Cette directive permet de modifier la chaîne que
- <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> interprète comme le début d'un élément
+ <p>Cette directive permet de modifier la chaîne que
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> interprète comme le début d'un élément
include.</p>
- <p>Cette option peut vous être utile si vous avez deux serveurs qui
- interprètent un fichier avec des commandes différentes (et
- éventuellement à des moments différents).</p>
+ <p>Cette option peut vous être utile si vous avez deux serveurs qui
+ interprètent un fichier avec des commandes différentes (et
+ éventuellement à des moments différents).</p>
<pre class="prettyprint lang-config">SSIStartTag "<%"
SSIEndTag "%>"</pre>
- <p>Avec l'exemple ci-dessus, qui définit aussi une directive
+ <p>Avec l'exemple ci-dessus, qui définit aussi une directive
<code class="directive"><a href="#ssiendtag">SSIEndTag</a></code>, vous pourrez
inscrire des directives SSI comme dans l'exemple suivant :</p>
- <div class="example"><h3>Directives SSI avec marques de début et de fin
- personnalisées</h3><p><code>
+ <div class="example"><h3>Directives SSI avec marques de début et de fin
+ personnalisées</h3><p><code>
<%printenv %>
</code></p></div>
<div class="directive-section"><h2><a name="ssitimeformat" id="ssitimeformat">Directive</a> <a name="SSITimeFormat" id="SSITimeFormat">SSITimeFormat</a><a title="Lien permanent" href="#ssitimeformat" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration du format d'affichage des dates</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSITimeFormat <var>chaîne de formatage</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSITimeFormat "%A, %d-%b-%Y %H:%M:%S %Z"</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#Syntax">Syntaxe:</a></th><td><code>SSITimeFormat <var>chaîne de formatage</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSITimeFormat "%A, %d-%b-%Y %H:%M:%S %Z"</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">AllowOverride:</a></th><td>All</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_include</td></tr>
</table>
<p>Cette directive permet de modifier le format d'affichage des
-variables d'environnement <code>DATE</code>. La <var>chaîne de
-formatage</var> est identique à celle de la fonction
-<code>strftime(3)</code> de la bibliothèque C standard.</p>
+variables d'environnement <code>DATE</code>. La <var>chaîne de
+formatage</var> est identique à celle de la fonction
+<code>strftime(3)</code> de la bibliothèque C standard.</p>
- <p>Cette directive a le même effet que l'élément
- <code><!--#config timefmt=<var>chaîne de formatage</var>
+ <p>Cette directive a le même effet que l'élément
+ <code><!--#config timefmt=<var>chaîne de formatage</var>
--></code>.</p>
<pre class="prettyprint lang-config">SSITimeFormat "%R, %B %d, %Y"</pre>
- <p>Avec l'exemple ci-dessus, les dates seront affichées dans le
+ <p>Avec l'exemple ci-dessus, les dates seront affichées dans le
style "22:26, June 14, 2002".</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="ssiundefinedecho" id="ssiundefinedecho">Directive</a> <a name="SSIUndefinedEcho" id="SSIUndefinedEcho">SSIUndefinedEcho</a><a title="Lien permanent" href="#ssiundefinedecho" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chaîne à afficher lorsqu'on tente d'extraire le contenu
-d'une variable non définie</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSIUndefinedEcho <var>chaîne</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIUndefinedEcho "(none)"</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#Description">Description:</a></th><td>Chaîne à afficher lorsqu'on tente d'extraire le contenu
+d'une variable non définie</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSIUndefinedEcho <var>chaîne</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSIUndefinedEcho "(none)"</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">AllowOverride:</a></th><td>All</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_include</td></tr>
</table>
- <p>Cette directive permet de modifier la chaîne affichée par
+ <p>Cette directive permet de modifier la chaîne affichée par
<code class="module"><a href="../mod/mod_include.html">mod_include</a></code> lorsqu'on tente d'extraire le contenu
- d'une variable non définie.</p>
+ d'une variable non définie.</p>
<pre class="prettyprint lang-config">SSIUndefinedEcho "<!-- nondef -->"</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="xbithack" id="xbithack">Directive</a> <a name="XBitHack" id="XBitHack">XBitHack</a><a title="Lien permanent" href="#xbithack" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interprète les directives SSI dans les fichiers dont le bit
-d'exécution est positionné</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interprète les directives SSI dans les fichiers dont le bit
+d'exécution est positionné</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>XBitHack on|off|full</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>XBitHack off</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#Default">Défaut:</a></th><td><code>XBitHack off</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">AllowOverride:</a></th><td>Options</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_include</td></tr>
</table>
- <p>La directive <code class="directive">XBitHack</code> permet de contrôler
- l'interprétation des documents html standards. Elle n'affecte que
+ <p>La directive <code class="directive">XBitHack</code> permet de contrôler
+ l'interprétation des documents html standards. Elle n'affecte que
les fichiers dont le <a class="glossarylink" href="../glossary.html#type mime" title="voir glossaire">type MIME</a> est
<code>text/html</code>. <code class="directive">XBitHack</code> peut prendre
les valeurs suivantes :</p>
<dl>
<dt><code>off</code></dt>
<dd>Aucun traitement particulier pour les fichiers
- exécutables.</dd>
+ exécutables.</dd>
<dt><code>on</code></dt>
- <dd>Tout fichier <code>text/html</code> dont le bit d'exécution
- est positionné pour le propriétaire sera traité en tant que
- document html interprété par le serveur.</dd>
+ <dd>Tout fichier <code>text/html</code> dont le bit d'exécution
+ est positionné pour le propriétaire sera traité en tant que
+ document html interprété par le serveur.</dd>
<dt><code>full</code></dt>
- <dd>Identique à <code>on</code>, avec test du bit d'exécution pour
- le groupe. Si ce dernier est positionné, la date de <code>dernière
- modification</code> du fichier renvoyé est définie à la date de
- dernière modification du fichier. Dans le cas contraire, aucune
- date de dernière modification n'est renvoyée. Le positionnement de
- ce bit permet aux clients et aux mandataires de gérer la mise en
- cache du résultat de la requête.
+ <dd>Identique à <code>on</code>, avec test du bit d'exécution pour
+ le groupe. Si ce dernier est positionné, la date de <code>dernière
+ modification</code> du fichier renvoyé est définie à la date de
+ dernière modification du fichier. Dans le cas contraire, aucune
+ date de dernière modification n'est renvoyée. Le positionnement de
+ ce bit permet aux clients et aux mandataires de gérer la mise en
+ cache du résultat de la requête.
<div class="note"><h3>Note</h3>
- <p>Il est recommandé de n'utiliser l'option full que dans le cas
- où vous êtes certain que le bit d'exécution du groupe est non
- positionné pour les scripts SSI qui pourraient effectuer l'<code>#include</code> d'un programme CGI ou bien produire des sorties
- différentes à chaque accès (ou seraient susceptibles d'être
- modifiées au cours des requêtes ultérieures).</p>
+ <p>Il est recommandé de n'utiliser l'option full que dans le cas
+ où vous êtes certain que le bit d'exécution du groupe est non
+ positionné pour les scripts SSI qui pourraient effectuer l'<code>#include</code> d'un programme CGI ou bien produire des sorties
+ différentes à chaque accès (ou seraient susceptibles d'être
+ modifiées au cours des requêtes ultérieures).</p>
- <p>Lorsqu'elle est définie à <code>on</code>, la directive
+ <p>Lorsqu'elle est définie à <code>on</code>, la directive
<code class="directive"><a href="#ssilastmodified">SSILastModified</a></code>
l'emporte sur la directive <code class="directive"><a href="#xbithack">XBitHack</a></code>.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_include.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_include.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_include.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_include.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_info</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_info.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_info.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_info.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_info.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_info.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Affiche une présentation complète de la configuration du
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Affiche une présentation complète de la configuration du
serveur</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>info_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_info.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>info_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_info.c</td></tr></table>
<h3>Sommaire</h3>
<p>Pour activer <code class="module"><a href="../mod/mod_info.html">mod_info</a></code>, ajoutez les lignes
- suivantes à votre fichier <code>httpd.conf</code>.</p>
+ suivantes à votre fichier <code>httpd.conf</code>.</p>
<pre class="prettyprint lang-config"><Location "/server-info">
SetHandler server-info
</Location></pre>
- <p>Il est recommandé d'utiliser <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> à
- l'intérieur de la section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> afin de restreindre l'accès aux
+ <p>Il est recommandé d'utiliser <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> à
+ l'intérieur de la section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> afin de restreindre l'accès aux
informations de configuration de votre serveur :</p>
<pre class="prettyprint lang-config"><Location "/server-info">
</Location></pre>
- <p>Une fois cette configuration effectuée, les informations du
- serveur sont disponibles à l'adresse
+ <p>Une fois cette configuration effectuée, les informations du
+ serveur sont disponibles à l'adresse
<code>http://votre-serveur.com/infos-serveur</code>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#security">Problèmes liés à la sécurité</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#queries">Filtrage des informations affichées</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#startup">Affichage de la configuration au démarrage</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#security">Problèmes liés à la sécurité</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#queries">Filtrage des informations affichées</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#startup">Affichage de la configuration au démarrage</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#limitations">Limitations connues</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#addmoduleinfo">AddModuleInfo</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_info">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_info">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_info">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_info">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="security" id="security">Problèmes liés à la sécurité</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
- <p>Une fois <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> chargé dans le serveur, sa
- fonctionnalité de gestionnaire est disponible dans <em>tous</em> les
+<h2><a name="security" id="security">Problèmes liés à la sécurité</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
+ <p>Une fois <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> chargé dans le serveur, sa
+ fonctionnalité de gestionnaire est disponible dans <em>tous</em> les
fichiers de configuration, y compris les fichiers de configuration
- des répertoires (par exemple <code>.htaccess</code>). Ceci peut
- avoir des répercutions en matière de sécurité pour votre site.</p>
+ des répertoires (par exemple <code>.htaccess</code>). Ceci peut
+ avoir des répercutions en matière de sécurité pour votre site.</p>
- <p>En particulier, l'utilisation de ce module peut conduire à la
- divulgation d'informations sensibles à partir des directives de
- configuration d'autres modules Apache comme des chemins systèmes,
+ <p>En particulier, l'utilisation de ce module peut conduire à la
+ divulgation d'informations sensibles à partir des directives de
+ configuration d'autres modules Apache comme des chemins systèmes,
des couples nom d'utilisateur/mot de passe, des noms de bases de
- données, etc... C'est pourquoi ce module ne doit être utilisé
- <strong>que</strong> dans un environnement sous contrôle et toujours
- avec les plus grandes précautions.</p>
+ données, etc... C'est pourquoi ce module ne doit être utilisé
+ <strong>que</strong> dans un environnement sous contrôle et toujours
+ avec les plus grandes précautions.</p>
- <p>Il est recommandé d'utiliser <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> pour
- restreindre l'accès aux informations de configuration de votre
+ <p>Il est recommandé d'utiliser <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> pour
+ restreindre l'accès aux informations de configuration de votre
serveur.</p>
- <div class="example"><h3>Contrôle d'accès</h3><pre class="prettyprint lang-config"><Location "/server-info">
+ <div class="example"><h3>Contrôle d'accès</h3><pre class="prettyprint lang-config"><Location "/server-info">
SetHandler server-info
- # Autorisation d'accès depuis le serveur lui-même
+ # Autorisation d'accès depuis le serveur lui-même
Require ip 127.0.0.1
- # Autorisation d'accès depuis une station de travail du réseau
+ # Autorisation d'accès depuis une station de travail du réseau
# local
Require ip 192.168.1.17
</Location></pre>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="queries" id="queries">Filtrage des informations affichées</a><a title="Lien permanent" href="#queries" class="permalink">¶</a></h2>
- <p>Par défaut, les informations affichées comprennent une liste de
- tous les modules activés, et pour chaque module, une description des
+<h2><a name="queries" id="queries">Filtrage des informations affichées</a><a title="Lien permanent" href="#queries" class="permalink">¶</a></h2>
+ <p>Par défaut, les informations affichées comprennent une liste de
+ tous les modules activés, et pour chaque module, une description des
directives qu'il accepte, les branchements (hooks) qu'il
- implémente, ainsi que les directives concernées dans la
+ implémente, ainsi que les directives concernées dans la
configuration courante.</p>
<p>Il est possible d'afficher d'autres vues de la configuration en
- ajoutant un argument à la requête <code>infos-serveur</code>. Par
+ ajoutant un argument à la requête <code>infos-serveur</code>. Par
exemple, <code>http://votre-serveur.com/infos-serveur?config</code>
affichera toutes les directives de configuration.</p>
<dl>
<dt><code>?<module-name></code></dt>
<dd>Uniquement les informations relatives au module
- spécifié</dd>
+ spécifié</dd>
<dt><code>?config</code></dt>
- <dd>Uniquement les directives de configuration, non triées
+ <dd>Uniquement les directives de configuration, non triées
par module</dd>
<dt><code>?hooks</code></dt>
<dd>Uniquement la liste des branchements (hooks)
- auxquels le module est attaché</dd>
+ auxquels le module est attaché</dd>
<dt><code>?list</code></dt>
- <dd>Une simple liste des modules activés</dd>
+ <dd>Une simple liste des modules activés</dd>
<dt><code>?server</code></dt>
<dd>Uniquement des informations de base sur le serveur</dd>
<dt><code>?providers</code></dt>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="startup" id="startup">Affichage de la configuration au démarrage</a><a title="Lien permanent" href="#startup" class="permalink">¶</a></h2>
+<h2><a name="startup" id="startup">Affichage de la configuration au démarrage</a><a title="Lien permanent" href="#startup" class="permalink">¶</a></h2>
<p>Si la directive de configuration define
- <code>-DDUMP_CONFIG</code> est utilisée, <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> va
- envoyer la configuration préinterprétée vers <code>stdout</code> au
- cours du démarrage du serveur.</p>
+ <code>-DDUMP_CONFIG</code> est utilisée, <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> va
+ envoyer la configuration préinterprétée vers <code>stdout</code> au
+ cours du démarrage du serveur.</p>
<pre class="prettyprint lang-sh">httpd -DDUMP_CONFIG -k start</pre>
- <p>"Préinterprétée" signifie que
- les directives telles que <code class="directive"><a href="../mod/core.html#ifdefine"><IfDefine></a></code> et <code class="directive"><a href="../mod/core.html#ifmodule"><IfModule></a></code> sont évaluées et les variables
- d'environnement remplacées par leurs valeurs. Cela ne représente
- cependant pas la configuration définitive. En particulier, les
- fusions ou écrasementsde définitions en cas de directives multiples ne sont pas
- représentés.</p>
+ <p>"Préinterprétée" signifie que
+ les directives telles que <code class="directive"><a href="../mod/core.html#ifdefine"><IfDefine></a></code> et <code class="directive"><a href="../mod/core.html#ifmodule"><IfModule></a></code> sont évaluées et les variables
+ d'environnement remplacées par leurs valeurs. Cela ne représente
+ cependant pas la configuration définitive. En particulier, les
+ fusions ou écrasementsde définitions en cas de directives multiples ne sont pas
+ représentés.</p>
- <p>Le résultat est équivalent à celui de la requête
+ <p>Le résultat est équivalent à celui de la requête
<code>?config</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="limitations" id="limitations">Limitations connues</a><a title="Lien permanent" href="#limitations" class="permalink">¶</a></h2>
<p><code class="module"><a href="../mod/mod_info.html">mod_info</a></code> tire ses informations de
- la configuration interprétée, et non du fichier de configuration
- original. La manière dont l'arbre de configuration interprété est
- créé induit quelques limitations :</p>
+ la configuration interprétée, et non du fichier de configuration
+ original. La manière dont l'arbre de configuration interprété est
+ créé induit quelques limitations :</p>
<ul>
- <li>Les directives qui sont traitées immédiatement sans être
- enregistrées dans l'arbre de configuration interprété ne sont pas
+ <li>Les directives qui sont traitées immédiatement sans être
+ enregistrées dans l'arbre de configuration interprété ne sont pas
prises en compte. Celles-ci comprennent <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>, <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> et <code class="directive"><a href="../mod/mod_so.html#loadfile">LoadFile</a></code>.</li>
- <li>Les directives qui contrôlent le fichier de configuration
- lui-même, comme <code class="directive"><a href="../mod/core.html#include">Include</a></code>,
+ <li>Les directives qui contrôlent le fichier de configuration
+ lui-même, comme <code class="directive"><a href="../mod/core.html#include">Include</a></code>,
<code class="directive"><a href="../mod/core.html#ifmodule"><IfModule></a></code> et
<code class="directive"><a href="../mod/core.html#ifdefine"><IfDefine></a></code> ne
sont pas prises en compte, mais les directives de configuration
incluses le sont.</li>
- <li>Les commentaires ne sont pas pris en compte (Ce qui peut être
- considéré comme une fonctionnalité).</li>
+ <li>Les commentaires ne sont pas pris en compte (Ce qui peut être
+ considéré comme une fonctionnalité).</li>
<li>Les directives de configuration des fichiers
<code>.htaccess</code> ne sont pas prises en compte (car elles ne
font pas partie de la configuration permanente du serveur).</li>
- <li>Les directives de conteneur comme <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> sont affichées
+ <li>Les directives de conteneur comme <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> sont affichées
normalement, mais <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> est incapable de
- déterminer le numéro de ligne de la balise fermante
+ déterminer le numéro de ligne de la balise fermante
<code class="directive"><a href="../mod/core.html#directory"></Directory></a></code>.</li>
- <li>Les directives générées par des modules tiers comme
- <a href="http://perl.apache.org">mod_perl</a> peuvent ne pas être
+ <li>Les directives générées par des modules tiers comme
+ <a href="http://perl.apache.org">mod_perl</a> peuvent ne pas être
prises en compte.</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="addmoduleinfo" id="addmoduleinfo">Directive</a> <a name="AddModuleInfo" id="AddModuleInfo">AddModuleInfo</a><a title="Lien permanent" href="#addmoduleinfo" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute des données supplémentaires aux informations de
-module affichées par le gestionnaire server-info</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddModuleInfo <var>nom-module</var> <var>chaîne</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute des données supplémentaires aux informations de
+module affichées par le gestionnaire server-info</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddModuleInfo <var>nom-module</var> <var>chaîne</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_info</td></tr>
</table>
- <p>Cette directive permet d'afficher le contenu de <var>chaîne</var>
- en tant qu'<strong>Information supplémentaire</strong> interprétée
+ <p>Cette directive permet d'afficher le contenu de <var>chaîne</var>
+ en tant qu'<strong>Information supplémentaire</strong> interprétée
en HTML pour le module <var>nom-module</var>. Exemple :</p>
<pre class="prettyprint lang-config">AddModuleInfo mod_deflate.c 'See <a \
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_info.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_info.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_info.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_info.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_info.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_isapi</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_isapi.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_isapi.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_isapi.html" title="Français"> fr </a> |
<a href="../ko/mod/mod_isapi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Extensions ISAPI dans Apache pour Windows</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>isapi_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_isapi.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Win32 only</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>isapi_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_isapi.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Win32 only</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module implémente l'API des extensions du Serveur Internet. Il
- permet à Apache pour Windows de servir les extensions du Serveur
+ <p>Ce module implémente l'API des extensions du Serveur Internet. Il
+ permet à Apache pour Windows de servir les extensions du Serveur
Internet (par exemple les modules .dll ISAPI), compte tenu des
- restrictions spécifiées.</p>
+ restrictions spécifiées.</p>
<p>Les modules d'extension ISAPI (fichiers .dll) sont des modules
tiers. Leur auteur n'est pas le Groupe Apache, et nous n'assurons
donc pas leur support. Veuillez contacter directement l'auteur
- d'ISAPI si vous rencontrez des problèmes à l'exécution d'une
+ d'ISAPI si vous rencontrez des problèmes à l'exécution d'une
extension ISAPI. <strong>Merci de <em>ne pas</em> soumettre ce genre
- de problème dans les listes d'Apache ou dans les pages de rapports
+ de problème dans les listes d'Apache ou dans les pages de rapports
de bogues.</strong></p>
</div>
<div id="quickview"><h3>Sujets</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#isapilognotsupported">ISAPILogNotSupported</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_isapi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_isapi">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_isapi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_isapi">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<p>Dans le fichier de configuration du serveur, utilisez la
directive <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> pour
associer les fichiers ISAPI au gestionnaire
- <code>isapi-handler</code> à l'aide de l'extension de leur nom de
- fichier. Pour faire en sorte que tout fichier .dll soit traité en
- tant qu'extension ISAPI, éditez le fichier httpd.conf et ajoutez les
+ <code>isapi-handler</code> à l'aide de l'extension de leur nom de
+ fichier. Pour faire en sorte que tout fichier .dll soit traité en
+ tant qu'extension ISAPI, éditez le fichier httpd.conf et ajoutez les
lignes suivantes :</p>
<pre class="prettyprint lang-config">AddHandler isapi-handler .dll</pre>
<div class="note">Dans les versions plus anciennes du serveur Apache, le nom du
- gestionnaire était <code>isapi-isa</code> au lieu de
- <code>isapi-handler</code>. Depuis les versions de développement 2.3
+ gestionnaire était <code>isapi-isa</code> au lieu de
+ <code>isapi-handler</code>. Depuis les versions de développement 2.3
du serveur Apache, <code>isapi-isa</code> n'est plus valide, et vous
- devrez éventuellement modifier votre configuration pour utiliser
- <code>isapi-handler</code> à la place.</div>
+ devrez éventuellement modifier votre configuration pour utiliser
+ <code>isapi-handler</code> à la place.</div>
- <p>Le serveur Apache ne propose aucun moyen de conserver en mémoire
- un module chargé. Vous pouvez cependant précharger et garder un
- module spécifique en mémoire en utilisant la syntaxe suivante dans
+ <p>Le serveur Apache ne propose aucun moyen de conserver en mémoire
+ un module chargé. Vous pouvez cependant précharger et garder un
+ module spécifique en mémoire en utilisant la syntaxe suivante dans
votre httpd.conf :</p>
<pre class="prettyprint lang-config">ISAPICacheFile c:/WebWork/Scripts/ISAPI/mytest.dll</pre>
- <p>Que vous ayez ou non préchargé une extension ISAPI, ces dernières
- sont toutes soumises au mêmes restrictions et possèdent les mêmes
- permissions que les scripts CGI. En d'autres termes, <code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>ExecCGI</code> doit être
- défini pour le répertoire qui contient le fichier .dll ISAPI.</p>
+ <p>Que vous ayez ou non préchargé une extension ISAPI, ces dernières
+ sont toutes soumises au mêmes restrictions et possèdent les mêmes
+ permissions que les scripts CGI. En d'autres termes, <code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>ExecCGI</code> doit être
+ défini pour le répertoire qui contient le fichier .dll ISAPI.</p>
<p>Reportez-vous aux <a href="#notes">Notes additionnelles</a> et au
- <a href="#journal">Journal du programmeur</a> pour plus de détails
- et une clarification à propos du support spécifique ISAPI fourni par
+ <a href="#journal">Journal du programmeur</a> pour plus de détails
+ et une clarification à propos du support spécifique ISAPI fourni par
le module <code class="module"><a href="../mod/mod_isapi.html">mod_isapi</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="notes" id="notes">Notes additionnelles</a><a title="Lien permanent" href="#notes" class="permalink">¶</a></h2>
- <p>L'implémentation ISAPI d'Apache se conforme à toutes les
- spécifications ISAPI 2.0, à l'exception de certaines extensions
- "spécifiques Microsoft" utilisant des entrées/sorties asynchrones.
- Le modèle des entrées/sorties d'Apache ne permet pas l'écriture et
- la lecture asynchrone de la manière dont ISAPI pourrait le faire. Si
- une extension tente d'utiliser des fonctionnalités non supportées,
- comme les entrées/sorties asynchrones, un message est enregistré
- dans le journal des erreurs afin d'aider au débogage. Comme ces
+ <p>L'implémentation ISAPI d'Apache se conforme à toutes les
+ spécifications ISAPI 2.0, à l'exception de certaines extensions
+ "spécifiques Microsoft" utilisant des entrées/sorties asynchrones.
+ Le modèle des entrées/sorties d'Apache ne permet pas l'écriture et
+ la lecture asynchrone de la manière dont ISAPI pourrait le faire. Si
+ une extension tente d'utiliser des fonctionnalités non supportées,
+ comme les entrées/sorties asynchrones, un message est enregistré
+ dans le journal des erreurs afin d'aider au débogage. Comme ces
messages peuvent devenir envahissants, la directive
<code>ISAPILogNotSupported Off</code> permet de filter ce bruit de
fond.</p>
- <p>Si aucune option de configuration particulière n'est spécifiée,
+ <p>Si aucune option de configuration particulière n'est spécifiée,
certains serveurs, comme Microsoft IIS, chargent l'extension ISAPI
- dans le serveur et la conservent en mémoire jusqu'à ce que
- l'utilisation de cette dernière devienne trop élevée. Apache, par
- contre, charge et décharge réellement l'extension ISAPI chaque fois
- qu'elle est invoquée, si la directive <code class="directive"><a href="#isapicachefile">ISAPICacheFile</a></code> n'a pas été spécifiée.
- Ce n'est pas très performant, mais le modèle de mémoire d'Apache
- fait que cette méthode est la plus efficace. De nombreux modules
- ISAPI présentent des incompatibilités subtiles avec le serveur
- Apache, et le déchargement de ces modules permet d'assurer la
- stabilité du serveur.</p>
-
- <p>En outre, gardez à l'esprit que si Apache supporte les extensions
+ dans le serveur et la conservent en mémoire jusqu'à ce que
+ l'utilisation de cette dernière devienne trop élevée. Apache, par
+ contre, charge et décharge réellement l'extension ISAPI chaque fois
+ qu'elle est invoquée, si la directive <code class="directive"><a href="#isapicachefile">ISAPICacheFile</a></code> n'a pas été spécifiée.
+ Ce n'est pas très performant, mais le modèle de mémoire d'Apache
+ fait que cette méthode est la plus efficace. De nombreux modules
+ ISAPI présentent des incompatibilités subtiles avec le serveur
+ Apache, et le déchargement de ces modules permet d'assurer la
+ stabilité du serveur.</p>
+
+ <p>En outre, gardez à l'esprit que si Apache supporte les extensions
ISAPI, il <strong>ne supporte pas les filtres ISAPI</strong>. Le
- support des filtres sera peut-être ajouté dans le futur, mais n'a
- pas encore été planifié.</p>
+ support des filtres sera peut-être ajouté dans le futur, mais n'a
+ pas encore été planifié.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="journal" id="journal">Journal du programmeur</a><a title="Lien permanent" href="#journal" class="permalink">¶</a></h2>
- <p>Si vous écrivez des modules <code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code> Apache
- 2.0, vous devez limiter vos appels à
+ <p>Si vous écrivez des modules <code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code> Apache
+ 2.0, vous devez limiter vos appels à
<code>ServerSupportFunction</code> aux directives suivantes :</p>
<dl>
<dt><code>HSE_REQ_SEND_URL_REDIRECT_RESP</code></dt>
<dd>Redirige l'utilisateur vers une autre adresse.<br />
- Il doit s'agir d'une URL pleinement qualifiée (comme
+ Il doit s'agir d'une URL pleinement qualifiée (comme
<code>http://serveur/chemin</code>).</dd>
<dt><code>HSE_REQ_SEND_URL</code></dt>
<dd>Redirige l'utilisateur vers une autre adresse.<br />
- Ce ne doit pas être une URL pleinement qualifiée ; la mention du
- protocole ou du nom du serveur n'est pas autorisée (par exemple,
+ Ce ne doit pas être une URL pleinement qualifiée ; la mention du
+ protocole ou du nom du serveur n'est pas autorisée (par exemple,
utilisez simplement <code>/chemin</code>).<br />
- La redirection n'est pas assurée par le navigateur mais par le
- serveur lui-même.<br />
+ La redirection n'est pas assurée par le navigateur mais par le
+ serveur lui-même.<br />
<div class="warning"><h3>Avertissement</h3>
- <p>Dans sa documentation récente, Microsoft semble avoir
- abandonné la distinction entre les deux fonctions
- <code>HSE_REQ_SEND_URL</code>. Apache, quant à lui, continue de
+ <p>Dans sa documentation récente, Microsoft semble avoir
+ abandonné la distinction entre les deux fonctions
+ <code>HSE_REQ_SEND_URL</code>. Apache, quant à lui, continue de
les traiter comme deux fonctions distinctes avec des contraintes
- et des comportements spécifiques.</p>
+ et des comportements spécifiques.</p>
</div></dd>
<dt><code>HSE_REQ_SEND_RESPONSE_HEADER</code></dt>
- <dd>Apache accepte un corps de réponse après l'en-tête s'il se
- situe après la ligne vide (deux caractères newline consécutifs)
- dans la chaîne des arguments d'en-têtes. Ce corps ne doit pas
- contenir de caractères NULL, car l'argument des en-têtes est
- lui-même terminé par un caractère NULL.</dd>
+ <dd>Apache accepte un corps de réponse après l'en-tête s'il se
+ situe après la ligne vide (deux caractères newline consécutifs)
+ dans la chaîne des arguments d'en-têtes. Ce corps ne doit pas
+ contenir de caractères NULL, car l'argument des en-têtes est
+ lui-même terminé par un caractère NULL.</dd>
<dt><code>HSE_REQ_DONE_WITH_SESSION</code></dt>
- <dd>Apache considère ceci comme sans objet, car la session est
- fermée lorsque l'extension ISAPI termine son traitement.</dd>
+ <dd>Apache considère ceci comme sans objet, car la session est
+ fermée lorsque l'extension ISAPI termine son traitement.</dd>
<dt><code>HSE_REQ_MAP_URL_TO_PATH</code></dt>
<dd>Apache va traduire un nom virtuel en nom physique.</dd>
<dt><code>HSE_APPEND_LOG_PARAMETER</code></dt>
<dd>
- Ce paramètre peut intervenir dans un de ces journaux :
+ Ce paramètre peut intervenir dans un de ces journaux :
<ul>
<li>dans le composant <code>\"%{isapi-parameter}n\"</code>
<code>On</code></li>
</ul>
- <p>La première option, le composant
- <code>%{isapi-parameter}n</code>, est préférable et toujours
+ <p>La première option, le composant
+ <code>%{isapi-parameter}n</code>, est préférable et toujours
disponible.</p>
</dd>
<dt><code>HSE_REQ_IS_KEEP_CONN</code></dt>
- <dd>retourne le statut négocié Keep-Alive.</dd>
+ <dd>retourne le statut négocié Keep-Alive.</dd>
<dt><code>HSE_REQ_SEND_RESPONSE_HEADER_EX</code></dt>
- <dd>se comportera comme indiqué dans le documentation, bien que le
- drapeau <code>fKeepConn</code> soit ignoré.</dd>
+ <dd>se comportera comme indiqué dans le documentation, bien que le
+ drapeau <code>fKeepConn</code> soit ignoré.</dd>
<dt><code>HSE_REQ_IS_CONNECTED</code></dt>
- <dd>renverra faux si la requête a été abandonnée.</dd>
+ <dd>renverra faux si la requête a été abandonnée.</dd>
</dl>
- <p>Apache renvoie <code>FALSE</code> pour tout appel non supporté à
+ <p>Apache renvoie <code>FALSE</code> pour tout appel non supporté à
<code>ServerSupportFunction</code>, et <code>GetLastError</code>
renverra la valeur <code>ERROR_INVALID_PARAMETER</code>.</p>
- <p><code>ReadClient</code> extrait la partie du corps de la requête
- qui dépasse le tampon initial (défini par la directive <code class="directive"><a href="#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></code>). En fonction de
- la définition de la directive
- <code class="directive">ISAPIReadAheadBuffer</code> (nombre d'octets à
+ <p><code>ReadClient</code> extrait la partie du corps de la requête
+ qui dépasse le tampon initial (défini par la directive <code class="directive"><a href="#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></code>). En fonction de
+ la définition de la directive
+ <code class="directive">ISAPIReadAheadBuffer</code> (nombre d'octets à
mettre dans le tampon avant d'appeler le gestionnaire ISAPI), les
- requêtes courtes sont envoyées en entier à l'extension lorsque
- celle-ci est invoquée. Si la taille de la requête est trop
- importante, l'extension ISAPI doit faire appel à
- <code>ReadClient</code> pour extraire la totalité du corps de la
- requête.</p>
+ requêtes courtes sont envoyées en entier à l'extension lorsque
+ celle-ci est invoquée. Si la taille de la requête est trop
+ importante, l'extension ISAPI doit faire appel à
+ <code>ReadClient</code> pour extraire la totalité du corps de la
+ requête.</p>
- <p><code>WriteClient</code> est supporté, mais seulement avec le
+ <p><code>WriteClient</code> est supporté, mais seulement avec le
drapeau <code>HSE_IO_SYNC</code> ou le drapeau "aucune option"
- (valeur <code>0</code>). Toute autre requête
- <code>WriteClient</code> sera rejetée avec une valeur de retour
+ (valeur <code>0</code>). Toute autre requête
+ <code>WriteClient</code> sera rejetée avec une valeur de retour
<code>FALSE</code>, et <code>GetLastError</code> renverra la valeur
<code>ERROR_INVALID_PARAMETER</code></p>
- <p><code>GetServerVariable</code> est supporté, bien que les
- variables étendues de serveur n'existent pas (comme défini par
+ <p><code>GetServerVariable</code> est supporté, bien que les
+ variables étendues de serveur n'existent pas (comme défini par
d'autres serveurs). Toutes les variables d'environnement CGI
- usuelles d'Apache sont disponibles à partir de
+ usuelles d'Apache sont disponibles à partir de
<code>GetServerVariable</code>, ainsi que les valeurs
<code>ALL_HTTP</code> et <code>ALL_RAW</code>.</p>
<p>Depuis httpd 2.0, <code class="module"><a href="../mod/mod_isapi.html">mod_isapi</a></code> propose des
- fonctionnalités supplémentaires introduites dans les versions
- actualisées de la spécification ISAPI, ainsi qu'une émulation
- limitée des entrées/sorties asynchrones et la sémantique
- <code>TransmitFile</code>. Apache httpd supporte aussi le préchargement
- des .dlls ISAPI à des fins de performances.</p>
+ fonctionnalités supplémentaires introduites dans les versions
+ actualisées de la spécification ISAPI, ainsi qu'une émulation
+ limitée des entrées/sorties asynchrones et la sémantique
+ <code>TransmitFile</code>. Apache httpd supporte aussi le préchargement
+ des .dlls ISAPI à des fins de performances.</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="isapiappendlogtoerrors" id="isapiappendlogtoerrors">Directive</a> <a name="ISAPIAppendLogToErrors" id="ISAPIAppendLogToErrors">ISAPIAppendLogToErrors</a><a title="Lien permanent" href="#isapiappendlogtoerrors" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistrement des requêtes
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistrement des requêtes
<code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions ISAPI
dans le journal des erreurs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPIAppendLogToErrors on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ISAPIAppendLogToErrors off</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#Default">Défaut:</a></th><td><code>ISAPIAppendLogToErrors off</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">AllowOverride:</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_isapi</td></tr>
</table>
- <p>Cette directive permet d'enregistrer les requêtes
+ <p>Cette directive permet d'enregistrer les requêtes
<code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions
ISAPI dans le journal des erreurs.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="isapiappendlogtoquery" id="isapiappendlogtoquery">Directive</a> <a name="ISAPIAppendLogToQuery" id="ISAPIAppendLogToQuery">ISAPIAppendLogToQuery</a><a title="Lien permanent" href="#isapiappendlogtoquery" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre les requêtes
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre les requêtes
<code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions ISAPI
-dans la partie arguments de la requête</td></tr>
+dans la partie arguments de la requête</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPIAppendLogToQuery on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ISAPIAppendLogToQuery on</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#Default">Défaut:</a></th><td><code>ISAPIAppendLogToQuery on</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">AllowOverride:</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_isapi</td></tr>
</table>
- <p>Cette directive permet d'enregistrer les requêtes
+ <p>Cette directive permet d'enregistrer les requêtes
<code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions
- ISAPI dans la partie arguments de la requête (ajouté au composant
+ ISAPI dans la partie arguments de la requête (ajouté au composant
<code>%q</code> de la directive <code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></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="isapicachefile" id="isapicachefile">Directive</a> <a name="ISAPICacheFile" id="ISAPICacheFile">ISAPICacheFile</a><a title="Lien permanent" href="#isapicachefile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichiers .dll ISAPI devant être chargés au
-démarrage</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichiers .dll ISAPI devant être chargés au
+démarrage</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPICacheFile <var>chemin-fichier</var>
[<var>chemin-fichier</var>]
...</code></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_isapi</td></tr>
</table>
- <p>Cette directive permet de spécifier une liste, séparés par des
- espaces, de noms de fichiers devant être chargés au démarrage
- du serveur Apache, et rester en mémoire jusqu'à l'arrêt du serveur.
- Cette directive peut être répétée pour chaque fichier .dll ISAPI
- souhaité. Le chemin complet du fichier doit être spécifié. Si le
- chemin n'est pas absolu, il sera considéré comme relatif au
- répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p>
+ <p>Cette directive permet de spécifier une liste, séparés par des
+ espaces, de noms de fichiers devant être chargés au démarrage
+ du serveur Apache, et rester en mémoire jusqu'à l'arrêt du serveur.
+ Cette directive peut être répétée pour chaque fichier .dll ISAPI
+ souhaité. Le chemin complet du fichier doit être spécifié. Si le
+ chemin n'est pas absolu, il sera considéré comme relatif au
+ répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></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="isapifakeasync" id="isapifakeasync">Directive</a> <a name="ISAPIFakeAsync" id="ISAPIFakeAsync">ISAPIFakeAsync</a><a title="Lien permanent" href="#isapifakeasync" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Emulation du support des entrées/sorties asynchrones pour
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Emulation du support des entrées/sorties asynchrones pour
les appels ISAPI</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPIFakeAsync on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ISAPIFakeAsync off</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#Default">Défaut:</a></th><td><code>ISAPIFakeAsync off</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">AllowOverride:</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_isapi</td></tr>
</table>
- <p>Lorsquelle est définie à "on", cette directive permet d'émuler le
- support des entrées/sorties asynchrones pour les appels ISAPI.</p>
+ <p>Lorsquelle est définie à "on", cette directive permet d'émuler le
+ support des entrées/sorties asynchrones pour les appels ISAPI.</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="isapilognotsupported" id="isapilognotsupported">Directive</a> <a name="ISAPILogNotSupported" id="ISAPILogNotSupported">ISAPILogNotSupported</a><a title="Lien permanent" href="#isapilognotsupported" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Journalisation des demandes de fonctionnalités non
-supportées de la part des extensions ISAPI</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Journalisation des demandes de fonctionnalités non
+supportées de la part des extensions ISAPI</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPILogNotSupported on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ISAPILogNotSupported off</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#Default">Défaut:</a></th><td><code>ISAPILogNotSupported off</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">AllowOverride:</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_isapi</td></tr>
</table>
<p>Cette directive permet d'enregistrer dans le journal des erreurs
- toutes les demandes de fonctionnalités non supportées de la part des
- extensions ISAPI. Ceci peut aider les administrateurs à décortiquer
- certains problèmes. Lorsqu'elle a été définie à "on" et si tous les
- modules ISAPI fonctionnent, elle peut être redéfinie à "off".</p>
+ toutes les demandes de fonctionnalités non supportées de la part des
+ extensions ISAPI. Ceci peut aider les administrateurs à décortiquer
+ certains problèmes. Lorsqu'elle a été définie à "on" et si tous les
+ modules ISAPI fonctionnent, elle peut être redéfinie à "off".</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="isapireadaheadbuffer" id="isapireadaheadbuffer">Directive</a> <a name="ISAPIReadAheadBuffer" id="ISAPIReadAheadBuffer">ISAPIReadAheadBuffer</a><a title="Lien permanent" href="#isapireadaheadbuffer" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon de lecture anticipée envoyé aux extensions
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon de lecture anticipée envoyé aux extensions
ISAPI</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ISAPIReadAheadBuffer <var>taille</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ISAPIReadAheadBuffer 49152</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#Default">Défaut:</a></th><td><code>ISAPIReadAheadBuffer 49152</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">AllowOverride:</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_isapi</td></tr>
</table>
- <p>Cette directive permet de définir la taille maximale du tampon de
- lecture anticipée envoyé aux extensions ISAPI lorsqu'elles sont
- initialement invoquées. Toute donnée restante doit être extraite en
- faisant appel à <code>ReadClient</code> ; certaines extensions ISAPI
+ <p>Cette directive permet de définir la taille maximale du tampon de
+ lecture anticipée envoyé aux extensions ISAPI lorsqu'elles sont
+ initialement invoquées. Toute donnée restante doit être extraite en
+ faisant appel à <code>ReadClient</code> ; certaines extensions ISAPI
peuvent ne pas supporter la fonction <code>ReadClient</code>.
- Pour plus de détails, veuillez vous adresser à l'auteur de
+ Pour plus de détails, veuillez vous adresser à l'auteur de
l'extension ISAPI.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_isapi.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_isapi.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_isapi.html" title="Français"> fr </a> |
<a href="../ko/mod/mod_isapi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_journald</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_journald.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_journald.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_journald.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Implémentation du fournisseur de journalisation d'erreurs
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Implémentation du fournisseur de journalisation d'erreurs
"journald"</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>journald_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_journald.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>journald_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_journald.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module implémente le fournisseur de journalisation d'erreurs
+ <p>Ce module implémente le fournisseur de journalisation d'erreurs
"journald". Il permet l'enregistrement des messages d'erreur et la
- gestion des journaux personnalisés via systemd-journald(8).</p>
+ gestion des journaux personnalisés via systemd-journald(8).</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#structured">Jounalisation structurée</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#structured">Jounalisation structurée</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_journald">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_journald">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_journald">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_journald">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="structured" id="structured">Jounalisation structurée</a><a title="Lien permanent" href="#structured" class="permalink">¶</a></h2>
+<h2><a name="structured" id="structured">Jounalisation structurée</a><a title="Lien permanent" href="#structured" class="permalink">¶</a></h2>
<p>Systemd-journald permet d'effectuer une journalisation
- structurée, et autorise donc le filtrage des messages en fonction de
- diverses variables. Les variables actuellement supportées sont :
+ structurée, et autorise donc le filtrage des messages en fonction de
+ diverses variables. Les variables actuellement supportées sont :
</p>
<dl>
<dt><code>LOG</code></dt>
Pour CustomLog ou TransferLog, la valeur correspond au premier
argument de ces directives.</dd>
<dt><code>REQUEST_HOSTNAME</code></dt>
- <dd>Le nom d'hôte tel qu'il est fourni dans l'URI, ou l'en-tête
- Host: de la requête.</dd>
+ <dd>Le nom d'hôte tel qu'il est fourni dans l'URI, ou l'en-tête
+ Host: de la requête.</dd>
<dt><code>REQUEST_USER</code></dt>
<dd>Correspond au nom d'utilisateur si une authentification a eu
lieu.</dd>
<dt><code>REQUEST_USERAGENT_IP</code></dt>
- <dd>L'adresse IP de l'agent qui a envoyé la requête.</dd>
+ <dd>L'adresse IP de l'agent qui a envoyé la requête.</dd>
<dt><code>REQUEST_URI</code></dt>
<dd>La partie chemin de l'URI, ou "/" si l'URI ne contient pas de
chemin.</dd>
<dt><code>SERVER_HOSTNAME</code></dt>
- <dd>Le nom d'hôte du serveur pour lequel le message a été généré.</dd>
+ <dd>Le nom d'hôte du serveur pour lequel le message a été généré.</dd>
</dl>
- <p>Ces variables peuvent par exemple être utilisées pour ne montrer
+ <p>Ces variables peuvent par exemple être utilisées pour ne montrer
que les messages concernant un URI particulier via la commande
<code>journalctl</code> :
</p>
<h2><a name="examples" id="examples">Exemples</a><a title="Lien permanent" href="#examples" class="permalink">¶</a></h2>
- <p>Si le système le supporte, il est possible d'utiliser
- systemd-journald(8) pour effectuer la journalisation en spécifiant
- <code>journald</code> à la place d'un nom de fichier dans la
+ <p>Si le système le supporte, il est possible d'utiliser
+ systemd-journald(8) pour effectuer la journalisation en spécifiant
+ <code>journald</code> à la place d'un nom de fichier dans la
directive ErrorLog (voir <code class="module"><a href="../mod/core.html">core</a></code>).
</p>
<pre class="prettyprint lang-config">ErrorLog journald</pre>
- <p>Spécifier <code>journald</code> comme fournisseur de journal
+ <p>Spécifier <code>journald</code> comme fournisseur de journal
d'erreurs avec la directive CustomLog (voir
<code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>) active la journalisation via
- systemd-journald(8) si le système le supporte.
+ systemd-journald(8) si le système le supporte.
</p>
<pre class="prettyprint lang-config">CustomLog "journald" "%h %l %u %t \"%r\" %>s %b"</pre>
- <div class="warning"><h3>Avertissement en matière de performances</h3><p>
- Actuellement, systemd-journald n'est pas conçu pour une
- jounalisation à haut débit et son utilisation pour la journalisation
- des accès peut induire une baisse importante de performances.
+ <div class="warning"><h3>Avertissement en matière de performances</h3><p>
+ Actuellement, systemd-journald n'est pas conçu pour une
+ jounalisation à haut débit et son utilisation pour la journalisation
+ des accès peut induire une baisse importante de performances.
</p></div>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_journald.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_journald.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_journald.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_lbmethod_bybusyness</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_bybusyness.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_lbmethod_bybusyness.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_lbmethod_bybusyness.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Algorithme de planification avec répartition de charge de
-l'attribution des requêtes en attente pour le module
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Algorithme de planification avec répartition de charge de
+l'attribution des requêtes en attente pour le module
<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></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>lbmethod_bybusyness_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lbmethod_bybusyness.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Dissocié de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> depuis la
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>lbmethod_bybusyness_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lbmethod_bybusyness.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Dissocié de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> depuis la
version 2.3</td></tr></table>
<h3>Sommaire</h3>
-<p>Ce module ne fournit pas lui-même de directive de configuration. Il
-nécessite les services de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, et
-fournit la méthode de répartition de charge <code>bybusyness</code>.</p>
+<p>Ce module ne fournit pas lui-même de directive de configuration. Il
+nécessite les services de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, et
+fournit la méthode de répartition de charge <code>bybusyness</code>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#busyness">Algorithme d'attribution des requêtes en attente</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#busyness">Algorithme d'attribution des requêtes en attente</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_bybusyness">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_bybusyness">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_bybusyness">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_bybusyness">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li>
<li><a href="#comments_section">Commentaires</a></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="busyness" id="busyness">Algorithme d'attribution des requêtes en attente</a><a title="Lien permanent" href="#busyness" class="permalink">¶</a></h2>
+<h2><a name="busyness" id="busyness">Algorithme d'attribution des requêtes en attente</a><a title="Lien permanent" href="#busyness" class="permalink">¶</a></h2>
- <p>Activé via <code>lbmethod=bybusyness</code>, ce planificateur
- surveille le nombre de requêtes assignées à chaque processus worker
- à l'instant présent. Une nouvelle requête est automatiquement
- assignée au processus worker auquel est assigné le plus petit nombre de
- requêtes. Ceci s'avère utile dans le cas où les
- processus worker mettent en file d'attente les requêtes entrantes
- indépendamment d'Apache, et permet de s'assurer que la longueur des
- files reste raisonnable, et qu'une requête est toujours assignée au
- processus worker qui sera à même de la servir le plus
- rapidement et avec une latence réduite.</p>
+ <p>Activé via <code>lbmethod=bybusyness</code>, ce planificateur
+ surveille le nombre de requêtes assignées à chaque processus worker
+ à l'instant présent. Une nouvelle requête est automatiquement
+ assignée au processus worker auquel est assigné le plus petit nombre de
+ requêtes. Ceci s'avère utile dans le cas où les
+ processus worker mettent en file d'attente les requêtes entrantes
+ indépendamment d'Apache, et permet de s'assurer que la longueur des
+ files reste raisonnable, et qu'une requête est toujours assignée au
+ processus worker qui sera à même de la servir le plus
+ rapidement et avec une latence réduite.</p>
- <p>Si plusieurs processus worker s'avèrent les moins chargés, le
- choix d'un de ces derniers est effectué à partir des statistiques
- (et des estimations de charges) qu'utilise la méthode de décompte
- des requêtes. Au fil du temps, la distribution des tâches finit par
- ressembler à celle de <code>byrequests</code> (tel qu'implémenté par
+ <p>Si plusieurs processus worker s'avèrent les moins chargés, le
+ choix d'un de ces derniers est effectué à partir des statistiques
+ (et des estimations de charges) qu'utilise la méthode de décompte
+ des requêtes. Au fil du temps, la distribution des tâches finit par
+ ressembler à celle de <code>byrequests</code> (tel qu'implémenté par
<code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code>).</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_bybusyness.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_lbmethod_bybusyness.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_lbmethod_bybusyness.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_lbmethod_byrequests</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_byrequests.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_lbmethod_byrequests.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_lbmethod_byrequests.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Algorithme de planification avec répartition de charge du
-traitement des requêtes pour le module
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Algorithme de planification avec répartition de charge du
+traitement des requêtes pour le module
<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></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>lbmethod_byrequests_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lbmethod_byrequests.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Dissocié de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> dans la
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>lbmethod_byrequests_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lbmethod_byrequests.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Dissocié de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> dans la
version 2.3</td></tr></table>
<h3>Sommaire</h3>
-<p>Ce module ne fournit pas lui-même de directive de configuration. Il
-nécessite les services de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, et
-fournit la méthode de répartition de charge <code>byrequests</code>.</p>
+<p>Ce module ne fournit pas lui-même de directive de configuration. Il
+nécessite les services de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, et
+fournit la méthode de répartition de charge <code>byrequests</code>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#requests">Algorithme d'attribution des requêtes</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#requests">Algorithme d'attribution des requêtes</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_byrequests">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_byrequests">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_byrequests">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_byrequests">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li>
<li><a href="#comments_section">Commentaires</a></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="requests" id="requests">Algorithme d'attribution des requêtes</a><a title="Lien permanent" href="#requests" class="permalink">¶</a></h2>
+<h2><a name="requests" id="requests">Algorithme d'attribution des requêtes</a><a title="Lien permanent" href="#requests" class="permalink">¶</a></h2>
- <p>Activé via <code>lbmethod=byrequests</code>, ce planificateur à
- été conçu dans le but de distribuer les requêtes à tous les
- processus worker afin qu'ils traitent tous le nombre de requêtes
- pour lequel ils ont été configurés. Il fonctionne de la manière
+ <p>Activé via <code>lbmethod=byrequests</code>, ce planificateur à
+ été conçu dans le but de distribuer les requêtes à tous les
+ processus worker afin qu'ils traitent tous le nombre de requêtes
+ pour lequel ils ont été configurés. Il fonctionne de la manière
suivante : </p>
- <p><dfn>lbfactor</dfn> correspond à la <em>quantité de travail que
+ <p><dfn>lbfactor</dfn> correspond à la <em>quantité de travail que
nous attendons de ce processus worker</em>, ou en d'autres termes
- son <em>quota de travail</em>. C'est une valeur normalisée
- représentant leur part du travail à accomplir.</p>
+ son <em>quota de travail</em>. C'est une valeur normalisée
+ représentant leur part du travail à accomplir.</p>
- <p><dfn>lbstatus</dfn> représente <em>combien il est urgent que
+ <p><dfn>lbstatus</dfn> représente <em>combien il est urgent que
ce processus worker travaille pour remplir son quota de
travail</em>.</p>
- <p>Le <dfn>worker</dfn> est un membre du dispositif de répartition
- de charge, en général un serveur distant traitant un des protocoles
- supportés.</p>
+ <p>Le <dfn>worker</dfn> est un membre du dispositif de répartition
+ de charge, en général un serveur distant traitant un des protocoles
+ supportés.</p>
- <p>On distribue à chaque processus worker son quota de travail, puis
+ <p>On distribue à chaque processus worker son quota de travail, puis
on regarde celui qui a le plus besoin de travailler
- (le plus grand lbstatus). Ce processus est alors sélectionné pour
- travailler, et son lbstatus diminué de l'ensemble des quotas de
- travail que nous avons distribués à tous les processus. La somme de
- tous les lbstatus n'est ainsi pas modifiée, et nous pouvons
- distribuer les requêtes selon nos souhaits.</p>
+ (le plus grand lbstatus). Ce processus est alors sélectionné pour
+ travailler, et son lbstatus diminué de l'ensemble des quotas de
+ travail que nous avons distribués à tous les processus. La somme de
+ tous les lbstatus n'est ainsi pas modifiée, et nous pouvons
+ distribuer les requêtes selon nos souhaits.</p>
- <p>Si certains processus workers sont désactivés, les autres feront
+ <p>Si certains processus workers sont désactivés, les autres feront
l'objet d'une planification normale.</p>
<div class="example"><pre><code>for each worker in workers
candidate lbstatus -= total factor</code></pre></div>
- <p>Si un répartiteur de charge est configuré comme suit :</p>
+ <p>Si un répartiteur de charge est configuré comme suit :</p>
<table><tr><th>worker</th>
<th class="data">a</th>
<td class="data">0</td></tr>
</table>
- <p>Et si <var>b</var> est désactivé, la planification suivante est
+ <p>Et si <var>b</var> est désactivé, la planification suivante est
mise en oeuvre :</p>
<table><tr><th>worker</th>
<tr><td class="data" colspan="5">(repeat)</td></tr>
</table>
- <p>C'est à dire la chronologie suivante : <var>a</var> <var>c</var>
+ <p>C'est à dire la chronologie suivante : <var>a</var> <var>c</var>
<var>d</var>
<var>a</var> <var>c</var> <var>d</var> <var>a</var> <var>c</var>
<var>d</var> ... Veuillez noter que :</p>
<td class="data">25</td></tr>
</table>
- <p>A le même effet que :</p>
+ <p>A le même effet que :</p>
<table><tr><th>worker</th>
<th class="data">a</th>
<td class="data">1</td></tr>
</table>
- <p>Ceci est dû au fait que toutes les valeurs de <dfn>lbfactor</dfn>
- sont normalisées et évaluées en fonction des autres. Avec :</p>
+ <p>Ceci est dû au fait que toutes les valeurs de <dfn>lbfactor</dfn>
+ sont normalisées et évaluées en fonction des autres. Avec :</p>
<table><tr><th>worker</th>
<th class="data">a</th>
</table>
<p>le processus <var>b</var> va, en moyenne, se voir assigner 4 fois
- plus de requêtes que <var>a</var> et <var>c</var>.</p>
+ plus de requêtes que <var>a</var> et <var>c</var>.</p>
- <p>La configuration suivante, asymétrique, fonctionne comme on peut
+ <p>La configuration suivante, asymétrique, fonctionne comme on peut
s'y attendre :</p>
<table><tr><th>worker</th>
<tr><td class="data" colspan="3">(repeat)</td></tr>
</table>
- <p>Après 10 distributions, la planification se répète et 7
- <var>a</var> sont sélectionnés avec 3 <var>b</var> intercalés.</p>
+ <p>Après 10 distributions, la planification se répète et 7
+ <var>a</var> sont sélectionnés avec 3 <var>b</var> intercalés.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_byrequests.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_lbmethod_byrequests.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_lbmethod_byrequests.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_lbmethod_bytraffic</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_bytraffic.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_lbmethod_bytraffic.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_lbmethod_bytraffic.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Algorithme de planification avec répartition de charge en
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Algorithme de planification avec répartition de charge en
fonction d'un niveau de trafic pour le module
<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></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>lbmethod_bytraffic_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lbmethod_bytraffic.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Dissocié de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> depuis la
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>lbmethod_bytraffic_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lbmethod_bytraffic.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Dissocié de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> depuis la
version 2.3</td></tr></table>
<h3>Sommaire</h3>
-<p>Ce module ne fournit pas lui-même de directive de configuration. Il
-nécessite les services de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, et
-fournit la méthode de répartition de charge <code>bytraffic</code>.</p>
+<p>Ce module ne fournit pas lui-même de directive de configuration. Il
+nécessite les services de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, et
+fournit la méthode de répartition de charge <code>bytraffic</code>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#traffic">Algorithme de répartition en fonction d'un certain
+<li><img alt="" src="../images/down.gif" /> <a href="#traffic">Algorithme de répartition en fonction d'un certain
trafic</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_bytraffic">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_bytraffic">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_bytraffic">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_bytraffic">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li>
<li><a href="#comments_section">Commentaires</a></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="traffic" id="traffic">Algorithme de répartition en fonction d'un certain
+<h2><a name="traffic" id="traffic">Algorithme de répartition en fonction d'un certain
trafic</a><a title="Lien permanent" href="#traffic" class="permalink">¶</a></h2>
- <p>Activé via <code>lbmethod=bytraffic</code>, l'idée directrice de
- ce planificateur est similaire à celle de la méthode reposant sur le
- nombre de requêtes, avec les différences suivantes :</p>
+ <p>Activé via <code>lbmethod=bytraffic</code>, l'idée directrice de
+ ce planificateur est similaire à celle de la méthode reposant sur le
+ nombre de requêtes, avec les différences suivantes :</p>
- <p><dfn>lbfactor</dfn> représente la <em>quantité de trafic, en
- octets, que nous voulons voir traitée par le processus</em>. Il
- s'agit là aussi d'une valeur normalisée représentant la part de
- travail à effectuer par le processus, mais au lieu de se baser sur
- un nombre de requêtes, on prend en compte la quantité de trafic que
- ce processus a traité.</p>
+ <p><dfn>lbfactor</dfn> représente la <em>quantité de trafic, en
+ octets, que nous voulons voir traitée par le processus</em>. Il
+ s'agit là aussi d'une valeur normalisée représentant la part de
+ travail à effectuer par le processus, mais au lieu de se baser sur
+ un nombre de requêtes, on prend en compte la quantité de trafic que
+ ce processus a traité.</p>
- <p>Si un répartiteur est configuré comme suit :</p>
+ <p>Si un répartiteur est configuré comme suit :</p>
<table><tr><th>worker</th>
<th class="data">a</th>
</table>
<p>Cela signifie que nous souhaitons que <var>b</var> traite 2 fois
- plus d'octets que <var>a</var> ou <var>c</var>. Cela n'entraîne pas
- nécessairement que <var>b</var> va traiter deux fois plus de
- requêtes, mais qu'il va traiter deux fois plus de trafic en termes
- d'entrées/sorties. A cet effet, les tailles de la requête et de sa
- réponse assocciée sont prises en compte par l'algorithme de
- sélection et d'évaluation du trafic.</p>
+ plus d'octets que <var>a</var> ou <var>c</var>. Cela n'entraîne pas
+ nécessairement que <var>b</var> va traiter deux fois plus de
+ requêtes, mais qu'il va traiter deux fois plus de trafic en termes
+ d'entrées/sorties. A cet effet, les tailles de la requête et de sa
+ réponse assocciée sont prises en compte par l'algorithme de
+ sélection et d'évaluation du trafic.</p>
- <p>Note : les octets en entrée sont évalués avec la même pondération
+ <p>Note : les octets en entrée sont évalués avec la même pondération
que les octets en sortie.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_bytraffic.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_lbmethod_bytraffic.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_lbmethod_bytraffic.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_lbmethod_heartbeat</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_heartbeat.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_lbmethod_heartbeat.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_lbmethod_heartbeat.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Algorithme d'ordonnancement de répartition de charge pour
-<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> basé sur le comptage de trafic Heartbeat</td></tr>
-<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>lbmethod_heartbeat_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lbmethod_heartbeat.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Algorithme d'ordonnancement de répartition de charge pour
+<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> basé sur le comptage de trafic Heartbeat</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>lbmethod_heartbeat_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lbmethod_heartbeat.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
<h3>Sommaire</h3>
<p><code>lbmethod=heartbeat</code> utilise les services du module
- <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> pour répartir la charge entre les
- serveurs d'origine qui fournissent des données heartbeat via le
+ <code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code> pour répartir la charge entre les
+ serveurs d'origine qui fournissent des données heartbeat via le
module <code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code>.</p>
-<p>Son algorithme de répartition de charge favorise les serveurs dont la
-capacité de traitement moyenne répartie dans le temps est la plus
-importante, mais il ne sélectionne pas forcément le serveur qui présente
-la disponibilité instantanée la plus importante. Les serveurs qui ne
-possèdent aucun client actif sont pénalisés, car ils sont considérés
-comme non entièrement initialisés.</p>
+<p>Son algorithme de répartition de charge favorise les serveurs dont la
+capacité de traitement moyenne répartie dans le temps est la plus
+importante, mais il ne sélectionne pas forcément le serveur qui présente
+la disponibilité instantanée la plus importante. Les serveurs qui ne
+possèdent aucun client actif sont pénalisés, car ils sont considérés
+comme non entièrement initialisés.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#heartbeatstorage">HeartbeatStorage</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_heartbeat">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_heartbeat">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lbmethod_heartbeat">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lbmethod_heartbeat">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="heartbeatstorage" id="heartbeatstorage">Directive</a> <a name="HeartbeatStorage" id="HeartbeatStorage">HeartbeatStorage</a><a title="Lien permanent" href="#heartbeatstorage" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Indique le chemin permettant de lire les données
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Indique le chemin permettant de lire les données
heartbeat</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HeartbeatStorage <var>chemin-fichier</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HeartbeatStorage logs/hb.dat</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HeartbeatStorage logs/hb.dat</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>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lbmethod_heartbeat</td></tr>
</table>
<p>La directive <code class="directive">HeartbeatStorage</code> permet de
- spécifier le chemin d'accès aux données heartbeat. Ce fichier texte
- n'est utilisé que si le module <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code>
- n'est pas chargé.</p>
+ spécifier le chemin d'accès aux données heartbeat. Ce fichier texte
+ n'est utilisé que si le module <code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code>
+ n'est pas chargé.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_heartbeat.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_lbmethod_heartbeat.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_lbmethod_heartbeat.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_ldap</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ldap.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_ldap.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_ldap.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Conservation des connexions LDAP et services de mise en
-cache du résultat à destination des autres modules LDAP</td></tr>
+cache du résultat à destination des autres modules LDAP</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>ldap_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>util_ldap.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>ldap_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>util_ldap.c</td></tr></table>
<h3>Sommaire</h3>
- <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
+ <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>
+ 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
+ <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 <code class="program"><a href="../programs/configure.html">configure</a></code> lorsqu'on construit
Apache.</p>
- <p>Le support SSL/TLS est conditionné par le kit de développement
- LDAP qui a été lié à <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>. 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
+ <p>Le support SSL/TLS est conditionné par le kit de développement
+ LDAP qui a été lié à <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>. 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>
+ 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>
</div>
<div id="quickview"><h3>Sujets</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#ldaptrustedmode">LDAPTrustedMode</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ldapverifyservercert">LDAPVerifyServerCert</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ldap">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ldap">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ldap">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ldap">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="exampleconfig" id="exampleconfig">Exemple de configuration</a><a title="Lien permanent" href="#exampleconfig" class="permalink">¶</a></h2>
<p>Ce qui suit est un exemple de configuration qui utilise
- <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> pour améliorer les performances de
+ <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> pour améliorer les performances de
l'authentification HTTP de base fournie par
<code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>.</p>
- <pre class="prettyprint lang-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.
+ <pre class="prettyprint lang-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.
<div class="section">
<h2><a name="pool" id="pool">Conservation des connexions LDAP</a><a title="Lien permanent" href="#pool" class="permalink">¶</a></h2>
- <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)
+ <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>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
+ <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
+ 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
+ <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 <code class="directive"><a href="#ldapreferrals">LDAPReferrals</a></code> et <code class="directive"><a href="#ldapreferralhoplimit">LDAPReferralHopLimit</a></code>. Cette
- fonctionnalité est activée par défaut.</p>
+ contrôler cette fonctionnalité, voir les directives <code class="directive"><a href="#ldapreferrals">LDAPReferrals</a></code> et <code class="directive"><a href="#ldapreferralhoplimit">LDAPReferralHopLimit</a></code>. Cette
+ fonctionnalité est activée par défaut.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="cache" id="cache">Cache LDAP</a><a title="Lien permanent" href="#cache" class="permalink">¶</a></h2>
- <p>Pour améliorer les performances, <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> 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 mod_authnz_ldap. De plus, le
- serveur LDAP verra lui-même sa charge sensiblement diminuée.</p>
+ <p>Pour améliorer les performances, <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> 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 mod_authnz_ldap. De plus, le
+ serveur LDAP verra lui-même sa charge sensiblement diminuée.</p>
<p><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> 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
+ 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>
<h3><a name="search-bind" id="search-bind">Le cache
recherche/identification</a></h3>
<p>Les processus de recherche et d'identification sont les
- opérations LDAP les plus consommatrices en temps, en particulier
+ 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
+ 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
+ données d'identification invalides réduira d'autant la taille du
cache.</p>
<p><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> met en cache le nom d'utilisateur, le
- DN extrait, le mot de passe utilisé pour l'identification, ainsi
+ 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,
+ connexion est initialisée avec le même nom d'utilisateur,
<code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> 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
+ 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, <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> court-circuite la phase
de recherche/identification.</p>
- <p>Le cache de recherche/identification est contrôlé par les
+ <p>Le cache de recherche/identification est contrôlé par les
directives <code class="directive"><a href="#ldapcacheentries">LDAPCacheEntries</a></code> et <code class="directive"><a href="#ldapcachettl">LDAPCacheTTL</a></code>.</p>
- <h3><a name="opcaches" id="opcaches">Les caches d'opérations</a></h3>
- <p>Au cours des opérations de comparaison d'attributs et de noms
+ <h3><a name="opcaches" id="opcaches">Les caches d'opérations</a></h3>
+ <p>Au cours des opérations de comparaison d'attributs et de noms
distinctifs (DN), <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> 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>
+ 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,
+ <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>
+ d'accélérer les comparaisons de sous-groupes ultérieures.</p>
- <p>Le comportement de ces deux caches est contrôlé par les
+ <p>Le comportement de ces deux caches est contrôlé par les
directives <code class="directive"><a href="#ldapopcacheentries">LDAPOpCacheEntries</a></code> et <code class="directive"><a href="#ldapopcachettl">LDAPOpCacheTTL</a></code>.</p>
<h3><a name="monitoring" id="monitoring">Superviser le cache</a></h3>
- <p><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> possède un gestionnaire de contenu
+ <p><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> 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
+ suivantes pour accéder aux informations du cache de
<code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> :</p>
<pre class="prettyprint lang-config"><Location "/server/cache-info">
</Location></pre>
- <p>En se connectant à l'URL
+ <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
<code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code>. Notez que si Apache ne supporte pas la
- mémoire partagée, chaque instance de <code class="program"><a href="../programs/httpd.html">httpd</a></code>
- possèdera son propre cache, et chaque fois que l'URL sera
- rechargée, un résultat différent pourra être affiché, en fonction
+ mémoire partagée, chaque instance de <code class="program"><a href="../programs/httpd.html">httpd</a></code>
+ 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 <code class="program"><a href="../programs/httpd.html">httpd</a></code> qui traitera la
- requête.</p>
+ requête.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="usingssltls" id="usingssltls">Utiliser SSL/TLS</a><a title="Lien permanent" href="#usingssltls" class="permalink">¶</a></h2>
- <p>La possibilité de créer des connexions SSL et TLS avec un serveur
- LDAP est définie par les directives <code class="directive"><a href="#ldaptrustedglobalcert">
+ <p>La possibilité de créer des connexions SSL et TLS avec un serveur
+ LDAP est définie par les directives <code class="directive"><a href="#ldaptrustedglobalcert">
LDAPTrustedGlobalCert</a></code>, <code class="directive"><a href="#ldaptrustedclientcert">
LDAPTrustedClientCert</a></code> et <code class="directive"><a href="#ldaptrustedmode">
- LDAPTrustedMode</a></code>. 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,
+ LDAPTrustedMode</a></code>. 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>
<pre class="prettyprint lang-config"># Etablissement d'une connexion SSL LDAP sur le port 636.
-# Nécessite le chargement de mod_ldap et mod_authnz_ldap.
+# Nécessite le chargement de mod_ldap et mod_authnz_ldap.
# Remplacez "votre-domaine.example.com" par le nom de votre
# domaine.
<pre class="prettyprint lang-config"># Etablissement d'une connexion TLS LDAP sur le port 389.
-# Nécessite le chargement de mod_ldap et mod_authnz_ldap.
+# Nécessite le chargement de mod_ldap et mod_authnz_ldap.
# Remplacez "votre-domaine.example.com" par le nom de votre
# domaine.
<div class="section">
<h2><a name="settingcerts" id="settingcerts">Certificats SSL/TLS</a><a title="Lien permanent" href="#settingcerts" class="permalink">¶</a></h2>
- <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
+ <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 ATTENTIVEMENT de façon à bien comprendre les différences de
+ configurations entre les différents SDKs LDAP supportés.</p>
<h3><a name="settingcerts-netscape" id="settingcerts-netscape">SDK Netscape/Mozilla/iPlanet</a></h3>
- <p>Les certificat de CA sont enregistrés dans un fichier nommé
+ <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
+ 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é
+ 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
+ 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
+ <p>Les certificats clients sont spécifiés pour chaque connexion
en utilisant la directive LDAPTrustedClientCert 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
+ 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>
+ contacter le serveur LDAP pendant l'exécution.</p>
- <pre class="prettyprint lang-config"># Spécifie un fichier de certificats de CA Netscape
+ <pre class="prettyprint lang-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
+# 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
+# Spécifie le fichier secmod si nécessaire
LDAPTrustedGlobalCert CA_SECMOD /certs/secmod
<Location "/ldap-status">
SetHandler ldap-status
<h3><a name="settingcerts-novell" id="settingcerts-novell">SDK Novell</a></h3>
- <p>Un ou plusieurs certificats de CA doivent être spécifiés pour
+ <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>
+ 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 LDAPTrustedGlobalCert comme ci-dessous. Définir
+ <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 LDAPTrustedGlobalCert comme ci-dessous. Définir
des certificats clients via la directive LDAPTrustedClientCert
- engendrera une erreur qui sera journalisée, au moment de la
+ 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 LDAPTrustedMode. Si une URL de type
- ldaps:// est spécifiée, le mode SSL est forcé, et l'emporte sur
+ <p>Le SDK supporte SSL et STARTTLS, le choix étant défini par le
+ paramètre de la directive LDAPTrustedMode. Si une URL de type
+ ldaps:// est spécifiée, le mode SSL est forcé, et l'emporte sur
cette directive.</p>
- <pre class="prettyprint lang-config"># Spécifie deux fichiers contenant des certificats de CA
+ <pre class="prettyprint lang-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é
+# 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
<h3><a name="settingcerts-openldap" id="settingcerts-openldap">SDK OpenLDAP</a></h3>
- <p>Un ou plusieurs certificats de CA doivent être spécifiés pour
+ <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>
+ peuvent être spécifiés sous forme de fichiers au format binaire
+ DER ou codés en Base64 (PEM).</p>
- <p>Les certificats clients sont spécifiés pour chaque connexion
- à l'aide de la directive LDAPTrustedClientCert.</p>
+ <p>Les certificats clients sont spécifiés pour chaque connexion
+ à l'aide de la directive LDAPTrustedClientCert.</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
+ <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>
+ 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>
- <pre class="prettyprint lang-config"># Spécifie deux fichiers contenant des certificats de CA
+ <pre class="prettyprint lang-config"># Spécifie deux fichiers contenant des certificats de CA
LDAPTrustedGlobalCert CA_DER /certs/cacert1.der
LDAPTrustedGlobalCert CA_BASE64 /certs/cacert2.pem
<Location "/ldap-status">
<h3><a name="settingcerts-solaris" id="settingcerts-solaris">SDK Solaris</a></h3>
- <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>
+ <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>
<h3><a name="settingcerts-microsoft" id="settingcerts-microsoft">SDK Microsoft</a></h3>
<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
+ 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 LDAPTrustedMode à
+ <p>SSL et TLS sont tous deux supportés en utilisant des URLs de
+ type ldaps://, ou en définissant la directive LDAPTrustedMode à
cet effet.</p>
- <p>Note: L'état du support des certificats clients n'est pas
+ <p>Note: L'état du support des certificats clients n'est pas
encore connu pour ce SDK.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ldapcacheentries" id="ldapcacheentries">Directive</a> <a name="LDAPCacheEntries" id="LDAPCacheEntries">LDAPCacheEntries</a><a title="Lien permanent" href="#ldapcacheentries" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum d'entrées dans le cache LDAP
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum d'entrées dans le cache LDAP
primaire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPCacheEntries <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPCacheEntries 1024</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPCacheEntries 1024</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_ldap</td></tr>
</table>
- <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>
+ <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>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ldapcachettl" id="ldapcachettl">Directive</a> <a name="LDAPCacheTTL" id="LDAPCacheTTL">LDAPCacheTTL</a><a title="Lien permanent" href="#ldapcachettl" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée pendant laquelle les entrées du cache restent
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée pendant laquelle les entrées du cache restent
valides.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPCacheTTL <var>secondes</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPCacheTTL 600</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPCacheTTL 600</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_ldap</td></tr>
</table>
- <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
+ <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>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ldapconnectionpoolttl" id="ldapconnectionpoolttl">Directive</a> <a name="LDAPConnectionPoolTTL" id="LDAPConnectionPoolTTL">LDAPConnectionPoolTTL</a><a title="Lien permanent" href="#ldapconnectionpoolttl" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Désactive les connexions d'arrière-plan qui sont restées
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Désactive les connexions d'arrière-plan qui sont restées
inactives trop longtemps au sein du jeu de connexions.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPConnectionPoolTTL <var>n</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPConnectionPoolTTL -1</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPConnectionPoolTTL -1</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ldap</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.12 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.12 du serveur HTTP
Apache</td></tr>
</table>
- <p>Cette directive permet de spécifier la durée maximale, en
+ <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>
+ 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>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>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>
-
- <div class="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 :
+ 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>
+
+ <div class="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></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ldapconnectiontimeout" id="ldapconnectiontimeout">Directive</a> <a name="LDAPConnectionTimeout" id="LDAPConnectionTimeout">LDAPConnectionTimeout</a><a title="Lien permanent" href="#ldapconnectiontimeout" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le délai d'attente en secondes de la socket de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le délai d'attente en secondes de la socket de
connexion</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPConnectionTimeout <var>secondes</var></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#Module">Module:</a></th><td>mod_ldap</td></tr>
</table>
<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 <code class="directive"><a href="../mod/mod_authnz_ldap.html#authldapurl">AuthLDAPURL</a></code>).</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_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 <code class="directive"><a href="../mod/mod_authnz_ldap.html#authldapurl">AuthLDAPURL</a></code>).</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>
- <div class="note">LDAPConnectionTimeout n'est disponible que si la bibliothèque client
- LDAP liée avec le serveur supporte l'option
+ <div class="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
+ comportement final est entièrement dicté par la bibliothèque client
LDAP.
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ldaplibrarydebug" id="ldaplibrarydebug">Directive</a> <a name="LDAPLibraryDebug" id="LDAPLibraryDebug">LDAPLibraryDebug</a><a title="Lien permanent" href="#ldaplibrarydebug" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le débogage dans le SDK LDAP</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le débogage dans le SDK LDAP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPLibraryDebug <var>7</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>disabled</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>disabled</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_ldap</td></tr>
</table>
- <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
+ <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>
+ 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
+ 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>
<div class="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
+ <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>
+ utilisée.</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="ldapopcacheentries" id="ldapopcacheentries">Directive</a> <a name="LDAPOpCacheEntries" id="LDAPOpCacheEntries">LDAPOpCacheEntries</a><a title="Lien permanent" href="#ldapopcacheentries" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre d'entrées utilisées pour mettre en cache les
-opérations de comparaison LDAP</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre d'entrées utilisées pour mettre en cache les
+opérations de comparaison LDAP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPOpCacheEntries <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPOpCacheEntries 1024</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPOpCacheEntries 1024</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_ldap</td></tr>
</table>
- <p>Cette directive permet de spécifier le nombre d'entrées que
+ <p>Cette directive permet de spécifier le nombre d'entrées que
<code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code> 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>
+ 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>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ldapopcachettl" id="ldapopcachettl">Directive</a> <a name="LDAPOpCacheTTL" id="LDAPOpCacheTTL">LDAPOpCacheTTL</a><a title="Lien permanent" href="#ldapopcachettl" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée pendant laquelle les entrées du cache d'opérations
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée pendant laquelle les entrées du cache d'opérations
restent valides</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPOpCacheTTL <var>secondes</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPOpCacheTTL 600</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPOpCacheTTL 600</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_ldap</td></tr>
</table>
- <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>
+ <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>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ldapreferralhoplimit" id="ldapreferralhoplimit">Directive</a> <a name="LDAPReferralHopLimit" id="LDAPReferralHopLimit">LDAPReferralHopLimit</a><a title="Lien permanent" href="#ldapreferralhoplimit" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nombre maximum de redirections vers des serveurs
-alternatifs (referrals) avant l'abandon de la requête
+alternatifs (referrals) avant l'abandon de la requête
LDAP.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPReferralHopLimit <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Dépend du SDK, en général entre 5 et 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#Default">Défaut:</a></th><td><code>Dépend du SDK, en général entre 5 et 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">AllowOverride:</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_ldap</td></tr>
</table>
- <p>Si elle est activée par la directive <code class="directive">LDAPReferrals</code>,
- cette directive permet de définir le nombre maximum de sauts vers
- des serveurs alternatifs (referrals) avant l'abandon de la requête
+ <p>Si elle est activée par la directive <code class="directive">LDAPReferrals</code>,
+ 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>
<div class="warning">
-<p>L'ajustement de ce paramètre n'est pas commun à tous les SDKs LDAP.</p>
+<p>L'ajustement de ce paramètre n'est pas commun à tous les SDKs LDAP.</p>
</div>
</div>
<div class="directive-section"><h2><a name="ldapreferrals" id="ldapreferrals">Directive</a> <a name="LDAPReferrals" id="LDAPReferrals">LDAPReferrals</a><a title="Lien permanent" href="#ldapreferrals" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la redirection vers des serveurs alternatifs au
-cours des requêtes vers le serveur LDAP.</td></tr>
+cours des requêtes vers le serveur LDAP.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPReferrals <var>On|Off|default</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPReferrals 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#Default">Défaut:</a></th><td><code>LDAPReferrals 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">AllowOverride:</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_ldap</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le paramètre <var>default</var> est disponible depuis la
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le paramètre <var>default</var> est disponible depuis la
version 2.4.7 du serveur HTTP Apache.</td></tr>
</table>
<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
+ 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 <code class="directive">LDAPReferrals</code> accepte les
<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
+ LDAP par le SDK sous-jacent est activée, la directive
<code class="directive">LDAPReferralHopLimit</code> permet de surcharger la
- "hop limit" du SDK, et un "LDAP rebind callback" est enregistré.</p></dd>
+ "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>
+ 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
+ LDAP par le SDK sous-jacent n'est pas modifiée, la directive
<code class="directive">LDAPReferralHopLimit</code> ne permet pas de surcharger la
- "hop limit" du SDK, et aucun "LDAP rebind callback" n'est enregistré.</p></dd>
+ "hop limit" du SDK, et aucun "LDAP rebind callback" n'est enregistré.</p></dd>
</dl>
<p>La directive <code class="directive">LDAPReferralHopLimit</code> 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>
+ 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>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ldapretries" id="ldapretries">Directive</a> <a name="LDAPRetries" id="LDAPRetries">LDAPRetries</a><a title="Lien permanent" href="#ldapretries" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nombre maximum de tentatives de connexions au
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nombre maximum de tentatives de connexions au
serveur LDAP.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPRetries <var>nombre d'essais</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPRetries 3</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPRetries 3</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_ldap</td></tr>
</table>
- <p>Suite à des échecs de connexion au serveur LDAP, le serveur
- tentera de se connecter autant de fois qu'indiqué par la directive
- <code class="directive">LDAPRetries</code>. Si cette directive est définie à
- 0, le serveur ne tentera pas d'autre connexion après un échec.</p>
+ <p>Suite à des échecs de connexion au serveur LDAP, le serveur
+ tentera de se connecter autant de fois qu'indiqué par la directive
+ <code class="directive">LDAPRetries</code>. 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>
+ cas d'erreurs LDAP du type délai dépassé ou connexion refusée. </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="ldapretrydelay" id="ldapretrydelay">Directive</a> <a name="LDAPRetryDelay" id="LDAPRetryDelay">LDAPRetryDelay</a><a title="Lien permanent" href="#ldapretrydelay" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le temps d'attente avant un autre essai de connexion au
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le temps d'attente avant un autre essai de connexion au
serveur LDAP.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPRetryDelay <var>secondes</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPRetryDelay 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPRetryDelay 0</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_ldap</td></tr>
</table>
- <p>Si la directive <code class="directive">LDAPRetryDelay</code> 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>Si la directive <code class="directive">LDAPRetryDelay</code> 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>
+ cas d'erreurs LDAP du type délai dépassé ou connexion refusée. </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="ldapsharedcachefile" id="ldapsharedcachefile">Directive</a> <a name="LDAPSharedCacheFile" id="LDAPSharedCacheFile">LDAPSharedCacheFile</a><a title="Lien permanent" href="#ldapsharedcachefile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le fichier du cache en mémoire
-partagée</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le fichier du cache en mémoire
+partagée</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPSharedCacheFile <var>chemin-fichier</var></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_ldap</td></tr>
</table>
- <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
+ <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 <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p>
+ relatif au répertoire défini via la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></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="ldapsharedcachesize" id="ldapsharedcachesize">Directive</a> <a name="LDAPSharedCacheSize" id="LDAPSharedCacheSize">LDAPSharedCacheSize</a><a title="Lien permanent" href="#ldapsharedcachesize" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille en octets du cache en mémoire partagée</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille en octets du cache en mémoire partagée</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPSharedCacheSize <var>octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPSharedCacheSize 500000</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPSharedCacheSize 500000</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_ldap</td></tr>
</table>
- <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>
+ <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>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ldaptimeout" id="ldaptimeout">Directive</a> <a name="LDAPTimeout" id="LDAPTimeout">LDAPTimeout</a><a title="Lien permanent" href="#ldaptimeout" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le délai d'attente pour les opérations de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le délai d'attente pour les opérations de
recherche et d'identification LDAP en secondes</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPTimeout <var>secondes</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPTimeout 60</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPTimeout 60</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_ldap</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.5 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.5 du serveur HTTP
Apache</td></tr>
</table>
- <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,
+ <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
+ <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
+ pare-feu est configuré pour envoyer des paquets TCP RST au lieu de
rejeter silencieusement les paquets.</p>
<div class="note">
- <p>Les délais pour les opérations de comparaison LDAP nécessitent un
+ <p>Les délais pour les opérations de comparaison LDAP nécessitent un
SDK avec LDAP_OPT_TIMEOUT, comme OpenLDAP >= 2.4.4.</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="ldaptrustedclientcert" id="ldaptrustedclientcert">Directive</a> <a name="LDAPTrustedClientCert" id="LDAPTrustedClientCert">LDAPTrustedClientCert</a><a title="Lien permanent" href="#ldaptrustedclientcert" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom de fichier contenant un certificat client ou
-un alias renvoyant vers un certificat client spécifique à une connexion.
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>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.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPTrustedClientCert <var>type</var>
<var>chemin/nom-fichier/alias</var> <var>[mot de passe]</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_ldap</td></tr>
</table>
- <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
+ <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
+ LDAP si vous tenter d'utiliser cette directive (Utilisez à la place
la directive LDAPTrustedGlobalCert 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>
+ 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>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>
+ <li>KEY_DER - clé privée codée en binaire DER</li>
+ <li>KEY_BASE64 - clé privée codée en PEM</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="ldaptrustedglobalcert" id="ldaptrustedglobalcert">Directive</a> <a name="LDAPTrustedGlobalCert" id="LDAPTrustedGlobalCert">LDAPTrustedGlobalCert</a><a title="Lien permanent" href="#ldaptrustedglobalcert" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom de fichier ou la base de données contenant
-les Autorités de Certification de confiance globales ou les certificats
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>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</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPTrustedGlobalCert <var>type</var>
<var>chemin/nom-fichier</var> <var>[mot de passe]</var></code></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_ldap</td></tr>
</table>
- <p>Cette directive permet de spécifier le chemin et le nom du
+ <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 <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code>
- 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
+ certificats clients du système global que <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code>
+ 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
+ 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 LDAPTrustedClientCert. Si vous ne
- définissez pas ces directives correctement, une erreur sera générée
+ 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>
+ é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
+ <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
+ <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>
+ <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>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ldaptrustedmode" id="ldaptrustedmode">Directive</a> <a name="LDAPTrustedMode" id="LDAPTrustedMode">LDAPTrustedMode</a><a title="Lien permanent" href="#ldaptrustedmode" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le mode (SSL ou TLS) à utiliser lors de la
-connexion à un serveur LDAP.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le mode (SSL ou TLS) à utiliser lors de la
+connexion à un serveur LDAP.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPTrustedMode <var>type</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ldap</td></tr>
</table>
- <p>Les modes suivants sont supportés :</p>
+ <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>
+ <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>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 LDAPTrustedMode est ignorée.</p>
+ <p>Si une URL de type ldaps:// est spécifiée, le mode est forcé à
+ SSL et la définition de LDAPTrustedMode est ignorée.</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="ldapverifyservercert" id="ldapverifyservercert">Directive</a> <a name="LDAPVerifyServerCert" id="LDAPVerifyServerCert">LDAPVerifyServerCert</a><a title="Lien permanent" href="#ldapverifyservercert" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force la vérification du certificat du
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force la vérification du certificat du
serveur</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LDAPVerifyServerCert <var>On|Off</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPVerifyServerCert On</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LDAPVerifyServerCert On</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_ldap</td></tr>
</table>
- <p>Cette directive permet de spécifier s'il faut forcer la
- vérification d'un certificat de serveur lors de l'établissement
+ <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>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ldap.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_ldap.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_ldap.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_log_config</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_log_config.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_log_config.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Journalisation des requêtes envoyées au
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Journalisation des requêtes envoyées au
serveur</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>log_config_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_log_config.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>log_config_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_log_config.c</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module apporte une grande souplesse dans la journalisation des
- requêtes des clients. Les journaux sont écrits sous un format
- personnalisable, et peuvent être enregistrés directement dans un
- fichier, ou redirigés vers un programme externe. La journalisation
- conditionnelle est supportée, si bien que des requêtes individuelles
- peuvent être incluses ou exclues des journaux en fonction de leur
- caractéristiques.</p>
-
- <p>Ce module fournit trois directives : <code class="directive"><a href="#transferlog">TransferLog</a></code> crée un fichier
+ requêtes des clients. Les journaux sont écrits sous un format
+ personnalisable, et peuvent être enregistrés directement dans un
+ fichier, ou redirigés vers un programme externe. La journalisation
+ conditionnelle est supportée, si bien que des requêtes individuelles
+ peuvent être incluses ou exclues des journaux en fonction de leur
+ caractéristiques.</p>
+
+ <p>Ce module fournit trois directives : <code class="directive"><a href="#transferlog">TransferLog</a></code> crée un fichier
journal, <code class="directive"><a href="#logformat">LogFormat</a></code>
- définit un format personnalisé, et <code class="directive"><a href="#customlog">CustomLog</a></code> définit un fichier journal et un format en
- une seule étape. Pour journaliser les requêtes dans plusieurs
+ définit un format personnalisé, et <code class="directive"><a href="#customlog">CustomLog</a></code> définit un fichier journal et un format en
+ une seule étape. Pour journaliser les requêtes dans plusieurs
fichiers, vous pouvez utiliser plusieurs fois les directives
<code class="directive">TransferLog</code> et
<code class="directive">CustomLog</code> dans chaque serveur.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#formats">Formats de journaux personnalisés</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#security">Considérations concernant la
-sécurité</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#formats">Formats de journaux personnalisés</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#security">Considérations concernant la
+sécurité</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#bufferedlogs">BufferedLogs</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#logformat">LogFormat</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#transferlog">TransferLog</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_config">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_config">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_config">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_config">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../logs.html">Les fichiers journaux
d'Apache</a></li>
<li><a href="#comments_section">Commentaires</a></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="formats" id="formats">Formats de journaux personnalisés</a><a title="Lien permanent" href="#formats" class="permalink">¶</a></h2>
+<h2><a name="formats" id="formats">Formats de journaux personnalisés</a><a title="Lien permanent" href="#formats" class="permalink">¶</a></h2>
- <p>L'argument format des directives <code class="directive"><a href="#logformat">LogFormat</a></code> et <code class="directive"><a href="#customlog">CustomLog</a></code> est une chaîne de
- caractères. Cette chaîne définit le format de la journalisation des
- requêtes dans le fichier journal. Elle peut contenir des caractères
- littéraux qui seront reproduits dans le fichier journal, et les
- caractères de contrôle de style C "\n" et "\t" représentant
+ <p>L'argument format des directives <code class="directive"><a href="#logformat">LogFormat</a></code> et <code class="directive"><a href="#customlog">CustomLog</a></code> est une chaîne de
+ caractères. Cette chaîne définit le format de la journalisation des
+ requêtes dans le fichier journal. Elle peut contenir des caractères
+ littéraux qui seront reproduits dans le fichier journal, et les
+ caractères de contrôle de style C "\n" et "\t" représentant
respectivement une nouvelle ligne et une tabulation. Les guillemets
- et les anti-slashes littéraux doivent être échappés à l'aide
+ et les anti-slashes littéraux doivent être échappés à l'aide
d'anti-slashes.</p>
- <p>Les caractéristiques de la requête en elle-même sont journalisées
- en insérant des directives "<code>%</code>" dans la chaîne de
- format, celles-ci étant remplacées dans le fichier journal par
+ <p>Les caractéristiques de la requête en elle-même sont journalisées
+ en insérant des directives "<code>%</code>" dans la chaîne de
+ format, celles-ci étant remplacées dans le fichier journal par
certaines valeurs comme suit :</p>
- <table class="bordered"><tr class="header"><th>Chaîne de format</th>
+ <table class="bordered"><tr class="header"><th>Chaîne de format</th>
<th>Description</th></tr>
<tr><td><code>%%</code></td>
<td>Le signe "pourcentage"</td></tr>
<tr class="odd"><td><code>%A</code></td>
<td>L'adresse IP locale</td></tr>
<tr><td><code>%B</code></td>
- <td>La taille de la réponse en octets, en excluant les en-têtes
+ <td>La taille de la réponse en octets, en excluant les en-têtes
HTTP.</td></tr>
<tr class="odd"><td><code>%b</code></td>
- <td>La taille de la réponse en octets, en excluant les en-têtes
- HTTP. Au format CLF , c'est à dire un '<code>-</code>' à la
- place d'un 0 lorsqu'aucun octet n'est renvoyé.</td></tr>
+ <td>La taille de la réponse en octets, en excluant les en-têtes
+ HTTP. Au format CLF , c'est à dire un '<code>-</code>' à la
+ place d'un 0 lorsqu'aucun octet n'est renvoyé.</td></tr>
<tr><td><code>%{<var>NOMVAR</var>}C</code></td>
- <td>Le contenu du cookie <var>NOMVAR</var> dans la requête
- envoyée au serveur. Seuls les cookies version 0 sont pleinement
- supportés.</td></tr>
+ <td>Le contenu du cookie <var>NOMVAR</var> dans la requête
+ envoyée au serveur. Seuls les cookies version 0 sont pleinement
+ supportés.</td></tr>
<tr class="odd"><td><code>%D</code></td>
- <td>Le temps mis à servir la requête, en
- microsecondes. Voir %T pour plus de détails</td></tr>
+ <td>Le temps mis à servir la requête, en
+ microsecondes. Voir %T pour plus de détails</td></tr>
<tr><td><code>%{<var>NOMVAR</var>}e</code></td>
<td>Le contenu de la variable d'environnement
<var>NOMVAR</var></td></tr>
<td>Nom de fichier</td></tr>
<tr><td><code>%h</code></td>
<td>Serveur distant. Contiendra l'adresse IP si la directive
- <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> est définie
- à <code>Off</code>, ce qui est sa valeur par défaut. Si cette
- adresse IP n'est enregistrée que pour certains serveurs, vous
- avez probablement défini des directives de contrôle d'accès qui
+ <code class="directive"><a href="../mod/core.html#hostnamelookups">HostnameLookups</a></code> est définie
+ à <code>Off</code>, ce qui est sa valeur par défaut. Si cette
+ adresse IP n'est enregistrée que pour certains serveurs, vous
+ avez probablement défini des directives de contrôle d'accès qui
mentionnent ces derniers par leurs noms. Voir la <a href="mod_authz_host.html#reqhost">documentation de Require
- host</a>. Ce format peut être impacté par la modifications
+ host</a>. Ce format peut être impacté par la modifications
du nom d'hote distant par des modules comme <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>.</td></tr>
<tr class="odd"><td><code>%{c}h</code></td>
- <td>Semblable à <code>%h</code>, mais exploite toujours le nom d'hôte de la connection
- TCP sous-jacente, en ignorant toute modification réalisée sur le nom d'hôte distant
+ <td>Semblable à <code>%h</code>, mais exploite toujours le nom d'hôte de la connection
+ TCP sous-jacente, en ignorant toute modification réalisée sur le nom d'hôte distant
par des modules tels que <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>.</td></tr>
<tr><td><code>%H</code></td>
- <td>Le protocole de la requête</td></tr>
+ <td>Le protocole de la requête</td></tr>
<tr class="odd"><td><code>%{<var>NOMVAR</var>}i</code></td>
- <td>Le contenu des lignes d'en-tête
- <code><var>NOMVAR</var>:</code> dans la requête envoyée au
- serveur. Ces en-têtes sont ajoutés par d'autres modules (par
- exemple <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>). Si vous êtes intéressé
- par ce qu'était l'en-tête de la requête avant d'être modifié
+ <td>Le contenu des lignes d'en-tête
+ <code><var>NOMVAR</var>:</code> dans la requête envoyée au
+ serveur. Ces en-têtes sont ajoutés par d'autres modules (par
+ exemple <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>). Si vous êtes intéressé
+ par ce qu'était l'en-tête de la requête avant d'être modifié
par la plupart des modules, utilisez
- <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> pour copier l'en-tête dans une
+ <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> pour copier l'en-tête dans une
variable d'environnement interne et journaliser sa valeur via
- le champ <code>%{<var>VARNAME</var>}e</code> décrit plus haut.
+ le champ <code>%{<var>VARNAME</var>}e</code> décrit plus haut.
</td></tr>
<tr><td><code>%k</code></td>
- <td>Nombre de requêtes persistantes en cours pour cette
- connexion. Interessant si la directive <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code> est utilisée ; par exemple,
- '1' signifie la première requête après la requête initiale, '2'
+ <td>Nombre de requêtes persistantes en cours pour cette
+ connexion. Interessant si la directive <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code> est utilisée ; par exemple,
+ '1' signifie la première requête après la requête initiale, '2'
la seconde, etc... ; autrement, il s'agit toujours de 0
- (indiquant la requête initiale).</td></tr>
+ (indiquant la requête initiale).</td></tr>
<tr class="odd"><td><code>%l</code></td>
<td>Le nom de connexion distant (en provenance d'identd, si
disponible). Affiche un tiret, sauf si
- <code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code> est présent et si <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code> est à
+ <code class="module"><a href="../mod/mod_ident.html">mod_ident</a></code> est présent et si <code class="directive"><a href="../mod/mod_ident.html#identitycheck">IdentityCheck</a></code> est à
<code>On</code>.</td></tr>
<tr><td><code>%L</code></td>
- <td>L'identifiant du message de journalisation de la requête
+ <td>L'identifiant du message de journalisation de la requête
dans le journal des erreurs (ou '-' si aucun message n'a
- été enregistré dans le journal des erreurs pour cette requête).
- Consulter le journal d'erreurs pour voir quelle requête a généré
+ été enregistré dans le journal des erreurs pour cette requête).
+ Consulter le journal d'erreurs pour voir quelle requête a généré
quelle erreur.</td></tr>
<tr class="odd"><td><code>%{c}L</code></td>
<td>L'identifiant du message de journalisation de la connexion
dans le journal des erreurs (ou '-' si aucun message n'a
- été enregistré dans le journal des erreurs pour cette requête).
- Consulter le journal d'erreurs pour voir quelle requête a généré
+ été enregistré dans le journal des erreurs pour cette requête).
+ Consulter le journal d'erreurs pour voir quelle requête a généré
quelle erreur.</td></tr>
<tr><td><code>%m</code></td>
- <td>La méthode de la requête</td></tr>
+ <td>La méthode de la requête</td></tr>
<tr class="odd"><td><code>%{<var>NOMVAR</var>}n</code></td>
<td>Le contenu de la note <var>NOMVAR</var> en provenance d'un
autre module.</td></tr>
<tr><td><code>%{<var>NOMVAR</var>}o</code></td>
- <td>Le contenu de la ligne d'en-tête
- <code><var>NOMVAR</var>:</code> de la réponse.</td></tr>
+ <td>Le contenu de la ligne d'en-tête
+ <code><var>NOMVAR</var>:</code> de la réponse.</td></tr>
<tr class="odd"><td><code>%p</code></td>
- <td>Le port canonique du serveur servant la requête</td></tr>
+ <td>Le port canonique du serveur servant la requête</td></tr>
<tr><td><code>%{<var>format</var>}p</code></td>
- <td>Le port canonique du serveur servant la requête ou le
- véritable port du serveur ou le véritable port du client. les
+ <td>Le port canonique du serveur servant la requête ou le
+ véritable port du serveur ou le véritable port du client. les
formats valides sont <code>canonical</code>, <code>local</code>,
ou <code>remote</code>.
</td></tr>
<tr class="odd"><td><code>%P</code></td>
- <td>Le numéro de processus du processus enfant qui a servi la
- requête.</td></tr>
+ <td>Le numéro de processus du processus enfant qui a servi la
+ requête.</td></tr>
<tr><td><code>%{<var>format</var>}P</code></td>
- <td>Le numéro de processus ou le numéro de thread du processus
- enfant qui a servi la requête. Les formats valides sont
+ <td>Le numéro de processus ou le numéro de thread du processus
+ enfant qui a servi la requête. Les formats valides sont
<code>pid</code>, <code>tid</code>, et <code>hextid</code>.
- <code>hextid</code> nécessite APR version 1.2.0 ou supérieure.
+ <code>hextid</code> nécessite APR version 1.2.0 ou supérieure.
</td></tr>
<tr class="odd"><td><code>%q</code></td>
- <td>La chaîne d'arguments (préfixée par un <code>?</code> si une
- chaîne d'arguments existe, sinon une chaîne vide)</td></tr>
+ <td>La chaîne d'arguments (préfixée par un <code>?</code> si une
+ chaîne d'arguments existe, sinon une chaîne vide)</td></tr>
<tr><td><code>%r</code></td>
- <td>La première ligne de la requête</td></tr>
+ <td>La première ligne de la requête</td></tr>
<tr class="odd"><td><code>%R</code></td>
- <td>Le gestionnaire qui génère la réponse (s'il y en a un).</td></tr>
+ <td>Le gestionnaire qui génère la réponse (s'il y en a un).</td></tr>
<tr><td><code>%s</code></td>
- <td>Statut. Pour les requêtes redirigées en interne, il s'agit
- du statut de la requête *originale* --- <code>%>s</code> pour
- la dernière.</td></tr>
+ <td>Statut. Pour les requêtes redirigées en interne, il s'agit
+ du statut de la requête *originale* --- <code>%>s</code> pour
+ la dernière.</td></tr>
<tr class="odd"><td><code>%t</code></td>
- <td>Date à laquelle la requête a été reçue (au format anglais
+ <td>Date à laquelle la requête a été reçue (au format anglais
standard)</td></tr>
<tr><td><code>%{<var>format</var>}t</code></td>
- <td>La date, sous la forme spécifiée par format, qui devrait
- être au format étendu <code>strftime(3)</code> (éventuellement
- localisé). Si le format commence par <code>begin:</code> (valeur
- par défaut), la date est extraite au début du traitement de la
- requête ; s'il commence par <code>end:</code>, la date
- correspond au moment où l'entrée du journal est inscrite, par
- conséquent vers la fin du traitement de la requête. Hormis les
- formats supportés par <code>strftime(3)</code>, les formats
+ <td>La date, sous la forme spécifiée par format, qui devrait
+ être au format étendu <code>strftime(3)</code> (éventuellement
+ localisé). Si le format commence par <code>begin:</code> (valeur
+ par défaut), la date est extraite au début du traitement de la
+ requête ; s'il commence par <code>end:</code>, la date
+ correspond au moment où l'entrée du journal est inscrite, par
+ conséquent vers la fin du traitement de la requête. Hormis les
+ formats supportés par <code>strftime(3)</code>, les formats
suivants sont aussi disponibles :
<table>
<tr><td><code>sec</code></td><td>nombre de secondes depuis Epoch</td></tr>
<tr><td><code>msec_frac</code></td><td>fraction de milliseconde</td></tr>
<tr><td><code>usec_frac</code></td><td>fraction de microseconde</td></tr>
</table>
- Ces symboles ne peuvent pas être combinés entre eux ou avec un
- formatage <code>strftime(3)</code> dans la même chaîne de
+ Ces symboles ne peuvent pas être combinés entre eux ou avec un
+ formatage <code>strftime(3)</code> dans la même chaîne de
format. Par contre, vous pouvez utiliser plusieurs symboles
<code>%{<var>format</var>}t</code>.</td></tr>
<tr class="odd"><td><code>%T</code></td>
- <td><p>Le temps mis pour servir la requête, en secondes.
- Le temps commence à être mesuré au moment où la première ligne de la requête HTTP
- est transmise par le système d'exploitation au serveur HTTP, et se termine au moment
- où le dernier octet de la réponse est envoyé au système d'exploitation par le serveur HTTP.</p>
- <p> Le temps mesuré n'inclut donc <em>aucune</em> des rubriques suivantes :</p>
+ <td><p>Le temps mis pour servir la requête, en secondes.
+ Le temps commence à être mesuré au moment où la première ligne de la requête HTTP
+ est transmise par le système d'exploitation au serveur HTTP, et se termine au moment
+ où le dernier octet de la réponse est envoyé au système d'exploitation par le serveur HTTP.</p>
+ <p> Le temps mesuré n'inclut donc <em>aucune</em> des rubriques suivantes :</p>
<ul>
- <li> Temps passé dans les échanges TCP ou TLS.</li>
- <li> Temps écoulé avant qu'un thread du serveur web ne réussisse à lire la première ligne
- de la requête.</li>
- <li> Retards pris par le système d'exploitation pour renvoyer la réponse sur le réseau.</li>
- <li> Temps pris par la réponse pour arriver au système d'exploitation du client.</li>
- <li> Temps pris par le client pour lire et traiter la réponse.</li>
+ <li> Temps passé dans les échanges TCP ou TLS.</li>
+ <li> Temps écoulé avant qu'un thread du serveur web ne réussisse à lire la première ligne
+ de la requête.</li>
+ <li> Retards pris par le système d'exploitation pour renvoyer la réponse sur le réseau.</li>
+ <li> Temps pris par la réponse pour arriver au système d'exploitation du client.</li>
+ <li> Temps pris par le client pour lire et traiter la réponse.</li>
</ul>
</td></tr>
<tr><td><code>%{<var>UNIT</var>}T</code></td>
- <td>Le temps mis pour traiter la requête dans une unité définie
- par <code>UNIT</code>. Les valeurs d'unité valides sont
+ <td>Le temps mis pour traiter la requête dans une unité définie
+ par <code>UNIT</code>. Les valeurs d'unité valides sont
<code>ms</code> pour millisecondes, <code>us</code> pour
microsecondes et <code>s</code> pour secondes. Si
- <code>UNIT</code> est omis, la valeur de l'unité par défaut est
- la seconde ; spécifier la valeur d'unité <code>us</code> revient
- à utiliser le format <code>%D</code>. La possibilité de
- spécifier une valeur d'unité avec le format <code>%T</code> est
+ <code>UNIT</code> est omis, la valeur de l'unité par défaut est
+ la seconde ; spécifier la valeur d'unité <code>us</code> revient
+ à utiliser le format <code>%D</code>. La possibilité de
+ spécifier une valeur d'unité avec le format <code>%T</code> est
disponible depuis la version 2.4.13 du serveur HTTP Apache.</td></tr>
<tr class="odd"><td><code>%u</code></td>
- <td>L'utilisateur distant (en provenance d'auth ; peut être faux
+ <td>L'utilisateur distant (en provenance d'auth ; peut être faux
si le statut de retour (<code>%s</code>) est 401).</td></tr>
<tr><td><code>%U</code></td>
- <td>Le chemin de la requête, à l'exclusion de toute chaîne
+ <td>Le chemin de la requête, à l'exclusion de toute chaîne
d'arguments.</td></tr>
<tr class="odd"><td><code>%v</code></td>
- <td>Le nom canonique du serveur qui a servi la requête, défini
+ <td>Le nom canonique du serveur qui a servi la requête, défini
par la directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>.</td></tr>
<tr><td><code>%V</code></td>
- <td>La nom du serveur en tenant compte de la définition de la
+ <td>La nom du serveur en tenant compte de la définition de la
directive <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code>.</td></tr>
<tr class="odd"><td><code>%X</code></td>
- <td>Statut de la connexion lorsque la réponse a été renvoyée
+ <td>Statut de la connexion lorsque la réponse a été renvoyée
:
<table>
<tr><td><code>X</code> =</td>
- <td>connexion abandonnée avant l'envoi de la réponse.</td></tr>
+ <td>connexion abandonnée avant l'envoi de la réponse.</td></tr>
<tr><td><code>+</code> =</td>
- <td>la connexion peut rester ouverte après l'envoi de la
- réponse.</td></tr>
+ <td>la connexion peut rester ouverte après l'envoi de la
+ réponse.</td></tr>
<tr><td><code>-</code> = </td>
- <td>la connexion sera fermée après l'envoi de la
- réponse.</td></tr>
+ <td>la connexion sera fermée après l'envoi de la
+ réponse.</td></tr>
</table>
</td></tr>
<tr><td><code>%I</code></td>
- <td>Le nombre d'octets reçus, en comptant la requête et les
- en-têtes, ne peut être nul. Nécessite l'activation de
+ <td>Le nombre d'octets reçus, en comptant la requête et les
+ en-têtes, ne peut être nul. Nécessite l'activation de
<code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code>.</td></tr>
<tr class="odd"><td><code>%O</code></td>
- <td>Nombre d'octets envoyés, y compris les en-têtes. Peut être
- nul dans les rares cas où une requête est avortée avant que la
- réponse ne soit envoyée. Nécessite l'activation de
+ <td>Nombre d'octets envoyés, y compris les en-têtes. Peut être
+ nul dans les rares cas où une requête est avortée avant que la
+ réponse ne soit envoyée. Nécessite l'activation de
<code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code>.</td></tr>
<tr><td><code>%S</code></td>
- <td>Nombre d'octets transmis en émission et réception y compris
- la requête et les en-têtes ; cette valeur ne peut pas être
+ <td>Nombre d'octets transmis en émission et réception y compris
+ la requête et les en-têtes ; cette valeur ne peut pas être
nulle, il s'agit de la combinaison de %I et %O. Vous devez
- activer <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> pour utiliser cette chaîne de
+ activer <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code> pour utiliser cette chaîne de
format.</td></tr>
<tr class="odd"><td><code>%{<var>VARNAME</var>}^ti</code></td>
<td>Le contenu de la variable <code><var>VARNAME</var>:</code>
- spécifiée dans la requête envoyée au serveur.</td></tr>
+ spécifiée dans la requête envoyée au serveur.</td></tr>
<tr><td><code>%{<var>VARNAME</var>}^to</code></td>
<td>Le contenu de la variable <code><var>VARNAME</var>:</code>
- spécifiée dans la réponse envoyée par le serveur.</td></tr>
+ spécifiée dans la réponse envoyée par le serveur.</td></tr>
</table>
<h3><a name="modifiers" id="modifiers">Modificateurs</a></h3>
<p>Il est possible de restreindre l'enregistrement de certains
- éléments
- en fonction du code de statut de la réponse, en insérant une liste
- de codes de statut séparés par des virgules immédiatement après le
- caractère "%". Par exemple, <code>"%400,501{User-agent}i"</code>
- n'enregistrera l'en-tête <code>User-agent</code> que dans le cas
+ éléments
+ en fonction du code de statut de la réponse, en insérant une liste
+ de codes de statut séparés par des virgules immédiatement après le
+ caractère "%". Par exemple, <code>"%400,501{User-agent}i"</code>
+ n'enregistrera l'en-tête <code>User-agent</code> que dans le cas
d'une erreur 400 ou 501. Avec les autres codes de statut, c'est la
- chaîne littérale <code>"-"</code> qui sera enregistrée. La liste
- de codes peut être précédée d'un "<code>!</code>" pour inverser la
+ chaîne littérale <code>"-"</code> qui sera enregistrée. La liste
+ de codes peut être précédée d'un "<code>!</code>" pour inverser la
condition : <code>"%!200,304,302{Referer}i"</code> enregistre
- l'en-tête <code>Referer</code> pour toutes les requêtes qui
- <em>ne</em> renvoient <em>pas</em> un des trois codes spécifiés.</p>
-
- <p>Les modificateurs "<" et ">" peuvent être utilisés pour
- les requêtes qui ont été redirigées en interne afin de choisir si
- c'est respectivement la requête originale ou finale qui doit être
- consultée. Par défaut, les directives <code>%s, %U, %T, %D,</code>
- et <code>%r</code> consultent la requête originale, alors que
- toutes les autres consultent la requête finale. Ainsi, par
+ l'en-tête <code>Referer</code> pour toutes les requêtes qui
+ <em>ne</em> renvoient <em>pas</em> un des trois codes spécifiés.</p>
+
+ <p>Les modificateurs "<" et ">" peuvent être utilisés pour
+ les requêtes qui ont été redirigées en interne afin de choisir si
+ c'est respectivement la requête originale ou finale qui doit être
+ consultée. Par défaut, les directives <code>%s, %U, %T, %D,</code>
+ et <code>%r</code> consultent la requête originale, alors que
+ toutes les autres consultent la requête finale. Ainsi, par
exemple, on peut utiliser <code>%>s</code> pour enregistrer le
- statut final de la requête, et <code>%<u</code> pour
- enregistrer l'utilisateur authentifié à l'origine pour une requête
- redirigée en interne vers une ressource sans authentification.</p>
+ statut final de la requête, et <code>%<u</code> pour
+ enregistrer l'utilisateur authentifié à l'origine pour une requête
+ redirigée en interne vers une ressource sans authentification.</p>
<h3><a name="format-notes" id="format-notes">Quelques Notes</a></h3>
- <p>Pour des raisons de sécurité, à partir de la version 2.0.46,
- les caractères non imprimables et autres caractères spéciaux dans
+ <p>Pour des raisons de sécurité, à partir de la version 2.0.46,
+ les caractères non imprimables et autres caractères spéciaux dans
les directives <code>%r</code>, <code>%i</code> et <code>%o</code>
- doivent être échappés à l'aide des séquences
+ doivent être échappés à l'aide des séquences
<code>\x<var>hh</var></code>,
- où <var>hh</var> est le code hexadécimal du caractère spécial.
- Comme exceptions à cette règle, les caractères <code>"</code> et
- <code>\</code> doivent être échappés par un anti-slash, et tous
- les "blancs" doivent être écrits selon leur notation de style C
+ où <var>hh</var> est le code hexadécimal du caractère spécial.
+ Comme exceptions à cette règle, les caractères <code>"</code> et
+ <code>\</code> doivent être échappés par un anti-slash, et tous
+ les "blancs" doivent être écrits selon leur notation de style C
(<code>\n</code>, <code>\t</code>, etc...). Avant la version
- 2.0.46, aucun échappement n'était effectué sur ces chaînes, et il
- fallait être très prudent lors de l'exploitation des journaux
+ 2.0.46, aucun échappement n'était effectué sur ces chaînes, et il
+ fallait être très prudent lors de l'exploitation des journaux
bruts.</p>
- <p>A la différence de la version 1.3, depuis httpd 2.0, les chaînes
- de format <code>%b</code> et <code>%B</code> ne représentent pas
- le nombre d'octets envoyés au client, mais simplement la taille en
- octets de la réponse HTTP (les deux étant différents, par exemple,
- si la connexion est abandonnée, ou si SSL est utilisé). Le format
+ <p>A la différence de la version 1.3, depuis httpd 2.0, les chaînes
+ de format <code>%b</code> et <code>%B</code> ne représentent pas
+ le nombre d'octets envoyés au client, mais simplement la taille en
+ octets de la réponse HTTP (les deux étant différents, par exemple,
+ si la connexion est abandonnée, ou si SSL est utilisé). Le format
<code>%O</code> fourni par <code class="module"><a href="../mod/mod_logio.html">mod_logio</a></code>,
- enregistrera le nombre réel d'octets envoyés sur le réseau.</p>
+ enregistrera le nombre réel d'octets envoyés sur le réseau.</p>
- <p>Note : <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> est implémenté en tant que
+ <p>Note : <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> est implémenté en tant que
gestionnaire basique et non en tant que gestionnaire standard.
- C'est pourquoi la chaîne de format <code>%R</code> ne renverra pas
- d'information à propos du gestionnaire lorsqu'une mise en cache de
+ C'est pourquoi la chaîne de format <code>%R</code> ne renverra pas
+ d'information à propos du gestionnaire lorsqu'une mise en cache de
contenu entre en jeu.</p>
<div class="note">
- <p>Note : la présence du caractère '^' au début d'une chaîne de
- format de trois caractères n'a aucune incidence sur la
- signification de cette chaîne, mais il doit être
- le premier caractère de toute chaîne de format de trois caractères
- nouvellement créée, afin d'éviter d'éventuels conflits avec des
- chaînes de format qui utilisent des caractères littéraux adjacents à un
- spécificateur de format tel que "%Dus".</p>
+ <p>Note : la présence du caractère '^' au début d'une chaîne de
+ format de trois caractères n'a aucune incidence sur la
+ signification de cette chaîne, mais il doit être
+ le premier caractère de toute chaîne de format de trois caractères
+ nouvellement créée, afin d'éviter d'éventuels conflits avec des
+ chaînes de format qui utilisent des caractères littéraux adjacents à un
+ spécificateur de format tel que "%Dus".</p>
</div>
<h3><a name="examples" id="examples">Exemples</a></h3>
- <p>Quelques chaînes de format couramment utilisées :</p>
+ <p>Quelques chaînes de format couramment utilisées :</p>
<dl>
<dt>Format de journal courant (CLF)</dt>
<dt>Format de journal courant avec un serveur virtuel</dt>
<dd><code>"%v %h %l %u %t \"%r\" %>s %b"</code></dd>
- <dt>Format de journal NCSA étandu/combiné</dt>
+ <dt>Format de journal NCSA étandu/combiné</dt>
<dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-agent}i\""</code></dd>
<dt>Format de journal de la page qui contient le lien vers la
- page concernée (Referer)</dt>
+ page concernée (Referer)</dt>
<dd><code>"%{Referer}i -> %U"</code></dd>
<dt>Format de journal de l'agent (Navigateur)</dt>
<p>Vous pouvez utiliser plusieurs fois la directive
<code>%{format}t</code> pour construire un format de temps
- utilisant les symboles de format étendus tels que
+ utilisant les symboles de format étendus tels que
<code>msec_frac</code> :</p>
<dl>
<dt>Format de temps prenant en compte les milisecondes</dt>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="security" id="security">Considérations concernant la
-sécurité</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
- <p>Voir le document <a href="../misc/security_tips.html#serverroot">conseils à matière de
- sécurité</a> pour plus de détails sur les raisons pour lesquelles
- votre sécurité pourrait être compromise, si le répertoire où sont
- stockés les fichiers journaux sont inscriptibles par tout autre
- utilisateur que celui qui démarre le serveur.</p>
+<h2><a name="security" id="security">Considérations concernant la
+sécurité</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
+ <p>Voir le document <a href="../misc/security_tips.html#serverroot">conseils à matière de
+ sécurité</a> pour plus de détails sur les raisons pour lesquelles
+ votre sécurité pourrait être compromise, si le répertoire où sont
+ stockés les fichiers journaux sont inscriptibles par tout autre
+ utilisateur que celui qui démarre le serveur.</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="bufferedlogs" id="bufferedlogs">Directive</a> <a name="BufferedLogs" id="BufferedLogs">BufferedLogs</a><a title="Lien permanent" href="#bufferedlogs" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre les entrées du journal dans un tampon en mémoire
-avant de les écrire sur disque</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre les entrées du journal dans un tampon en mémoire
+avant de les écrire sur disque</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BufferedLogs On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BufferedLogs Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BufferedLogs Off</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>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr>
</table>
- <p>Lorsque la directive <code class="directive">BufferedLogs</code> est à
- "on", <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> stocke de nombreuses entrées
- du journal en mémoire, et les écrit d'un seul bloc sur disque,
- plutôt que de les écrire après chaque requête. Sur certains
- systèmes, ceci peut améliorer l'efficacité des accès disque, et par
- conséquent les performances. La directive ne peut être définie
- qu'une seule fois pour l'ensemble du serveur ; elle ne peut pas être
- définie au niveau d'un serveur virtuel.</p>
-
- <div class="note">Cette directive doit être utilisée avec
- précautions car un crash peut provoquer la perte de données de
+ <p>Lorsque la directive <code class="directive">BufferedLogs</code> est à
+ "on", <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> stocke de nombreuses entrées
+ du journal en mémoire, et les écrit d'un seul bloc sur disque,
+ plutôt que de les écrire après chaque requête. Sur certains
+ systèmes, ceci peut améliorer l'efficacité des accès disque, et par
+ conséquent les performances. La directive ne peut être définie
+ qu'une seule fois pour l'ensemble du serveur ; elle ne peut pas être
+ définie au niveau d'un serveur virtuel.</p>
+
+ <div class="note">Cette directive doit être utilisée avec
+ précautions car un crash peut provoquer la perte de données de
journalisation.</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="customlog" id="customlog">Directive</a> <a name="CustomLog" id="CustomLog">CustomLog</a><a title="Lien permanent" href="#customlog" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom et le format du fichier
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom et le format du fichier
journal</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CustomLog <var>fichier</var>|<var>pipe</var>|<var>provider</var>
<var>format</var>|<var>alias</var>
<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_log_config</td></tr>
</table>
- <p>La directive <code class="directive">CustomLog</code> permet de contrôler
- la journalisation des requêtes destinées au serveur. Un format de
- journal est spécifié, et la journalisation peut s'effectuer de
- manière conditionnelle en fonction des caractéristiques de la
- requête en utilisant des variables d'environnement.</p>
+ <p>La directive <code class="directive">CustomLog</code> permet de contrôler
+ la journalisation des requêtes destinées au serveur. Un format de
+ journal est spécifié, et la journalisation peut s'effectuer de
+ manière conditionnelle en fonction des caractéristiques de la
+ requête en utilisant des variables d'environnement.</p>
- <p>Le premier argument, qui spécifie l'emplacement où les journaux
- seront écrits, accepte deux types de valeurs :</p>
+ <p>Le premier argument, qui spécifie l'emplacement où les journaux
+ seront écrits, accepte deux types de valeurs :</p>
<dl>
<dt><var>fichier</var></dt>
- <dd>Un nom de fichier, relatif au répertoire défini par la
+ <dd>Un nom de fichier, relatif au répertoire défini par la
directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</dd>
<dt><var>pipe</var></dt>
- <dd>Le caractère pipe "<code>|</code>", suivi du chemin vers un
+ <dd>Le caractère pipe "<code>|</code>", suivi du chemin vers un
programme qui recevra les informations de la journalisation sur
- son entrée standard. Voir les notes à propos de la <a href="../logs.html#piped">journalisation redirigée</a> pour plus
+ son entrée standard. Voir les notes à propos de la <a href="../logs.html#piped">journalisation redirigée</a> pour plus
d'informations.
- <div class="warning"><h3>Sécurité :</h3>
- <p>Si les journaux sont redirigés vers un programme, ce dernier
- s'exécutera sous l'utilisateur qui a démarré
+ <div class="warning"><h3>Sécurité :</h3>
+ <p>Si les journaux sont redirigés vers un programme, ce dernier
+ s'exécutera sous l'utilisateur qui a démarré
<code class="program"><a href="../programs/httpd.html">httpd</a></code>. Ce sera l'utilisateur root si le serveur
- a été démarré par root ; vérifiez que le programme est
- sécurisé.</p>
+ a été démarré par root ; vérifiez que le programme est
+ sécurisé.</p>
</div>
<div class="warning"><h3>Note</h3>
- <p>Lors de la spécification d'un chemin de fichier sur les
+ <p>Lors de la spécification d'un chemin de fichier sur les
plate-formes non-Unix, il faut prendre soin de ne pas oublier
- que seuls les slashes directs doivent être utilisés, même si la
- plate-forme autorise l'emploi d'anti-slashes. D'une manière
- générale, c'est une bonne idée que de n'utiliser que des slashes
+ que seuls les slashes directs doivent être utilisés, même si la
+ plate-forme autorise l'emploi d'anti-slashes. D'une manière
+ générale, c'est une bonne idée que de n'utiliser que des slashes
directs dans les fichiers de configuration.</p>
</div></dd>
<dt><var>provider</var></dt>
<dd>Les messages CustomLog peuvent aussi utiliser comme cible les
- modules qui implémentent des fournisseurs ErrorLog. A cet effet,
+ modules qui implémentent des fournisseurs ErrorLog. A cet effet,
utilisez la syntaxe "provider:argument". Comme fournisseur, vous
pouvez par exemple utiliser <code class="module"><a href="../mod/mod_journald.html">mod_journald</a></code> ou
<code class="module"><a href="../mod/mod_syslog.html">mod_syslog</a></code> :
</dd>
</dl>
- <p>Le second argument permet de définir ce qui va être écrit dans le
- fichier journal. Il peut contenir soit un <var>alias</var> prédéfini
- par une directive <code class="directive"><a href="#logformat">LogFormat</a></code>, soit une chaîne de
- <var>format</var> explicite comme décrit dans la section <a href="#formats">formats de journaux</a>.</p>
+ <p>Le second argument permet de définir ce qui va être écrit dans le
+ fichier journal. Il peut contenir soit un <var>alias</var> prédéfini
+ par une directive <code class="directive"><a href="#logformat">LogFormat</a></code>, soit une chaîne de
+ <var>format</var> explicite comme décrit dans la section <a href="#formats">formats de journaux</a>.</p>
<p>Par exemple, les deux blocs de directives suivants produisent le
- même effet :</p>
+ même effet :</p>
- <pre class="prettyprint lang-config"># Journal personnalisé avec alias de format
+ <pre class="prettyprint lang-config"># Journal personnalisé avec alias de format
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog "logs/access_log" common
-# Journal personnalisé avec chaîne de format explicite
+# Journal personnalisé avec chaîne de format explicite
CustomLog "logs/access_log" "%h %l %u %t \"%r\" %>s %b"</pre>
- <p>Le troisième argument est optionnel et permet de contrôler si une
- requête doit être ou non journalisée. Dans le cas d'une clause
- '<code>env=!<var>nom</var></code>', la condition peut être la
- présence ou l'absence d'une variable particulière dans
+ <p>Le troisième argument est optionnel et permet de contrôler si une
+ requête doit être ou non journalisée. Dans le cas d'une clause
+ '<code>env=!<var>nom</var></code>', la condition peut être la
+ présence ou l'absence d'une variable particulière dans
l'<a href="../env.html">environnement du serveur</a>. Dans le cas
d'une clause 'expr=<var>expression</var>', la condition consiste
- en une <a href="../expr.html">expression</a> booléenne
- quelconque. Si la condition n'est pas vérifiée, la requête ne sera
- pas journalisée. D'éventuelles références à des en-têtes HTTP dans
- l'expression rationnelle n'entraîneront pas l'ajout des noms
- d'en-tête correspondants à l'en-tête Vary.</p>
-
- <p>Les variables d'environnement peuvent être définies au niveau de
- chaque requête en utilisant les modules
+ en une <a href="../expr.html">expression</a> booléenne
+ quelconque. Si la condition n'est pas vérifiée, la requête ne sera
+ pas journalisée. D'éventuelles références à des en-têtes HTTP dans
+ l'expression rationnelle n'entraîneront pas l'ajout des noms
+ d'en-tête correspondants à l'en-tête Vary.</p>
+
+ <p>Les variables d'environnement peuvent être définies au niveau de
+ chaque requête en utilisant les modules
<code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> et/ou <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.
- Par exemple, si vous voulez enregistrer les requêtes pour toutes les
- images GIF sur votre serveur dans un fichier journal séparé, et pas
+ Par exemple, si vous voulez enregistrer les requêtes pour toutes les
+ images GIF sur votre serveur dans un fichier journal séparé, et pas
dans votre journal principal, vous pouvez utiliser :</p>
<pre class="prettyprint lang-config">SetEnvIf Request_URI \.gif$ gif-image
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="globallog" id="globallog">Directive</a> <a name="GlobalLog" id="GlobalLog">GlobalLog</a><a title="Lien permanent" href="#globallog" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom et le format du fichier journal</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom et le format du fichier journal</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>GlobalLog <var>file</var>|<var>pipe</var>|<var>provider</var>
<var>format</var>|<var>nickname</var>
[env=[!]<var>environment-variable</var>|
<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>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_config</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.19 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.19 du serveur HTTP Apache</td></tr>
</table>
- <p>La directive <code class="directive">GlobalLog</code> permet de spécifier un
- journal partagé entre le serveur principal et tous les serveurs virtuels
- définis.</p>
+ <p>La directive <code class="directive">GlobalLog</code> permet de spécifier un
+ journal partagé entre le serveur principal et tous les serveurs virtuels
+ définis.</p>
- <p>Elle est identique à la directive <code class="directive">CustomLog</code> à ces
- différences près : </p>
+ <p>Elle est identique à la directive <code class="directive">CustomLog</code> à ces
+ différences près : </p>
<ul>
<li>Elle n'est pas valide dans un contexte de serveur virtuel.</li>
- <li>A la différence d'une directive <code class="directive">CustomLog</code>
- définie globalement, elle est prise en compte par les serveurs virtuels
- qui définissent leur propre directive <code class="directive">CustomLog</code>.</li>
+ <li>A la différence d'une directive <code class="directive">CustomLog</code>
+ définie globalement, elle est prise en compte par les serveurs virtuels
+ qui définissent leur propre directive <code class="directive">CustomLog</code>.</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="logformat" id="logformat">Directive</a> <a name="LogFormat" id="LogFormat">LogFormat</a><a title="Lien permanent" href="#logformat" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Décrit un format utilisable dans un fichier
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Décrit un format utilisable dans un fichier
journal</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogFormat <var>format</var>|<var>alias</var>
[<var>alias</var>]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LogFormat "%h %l %u %t \"%r\" %>s %b"</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LogFormat "%h %l %u %t \"%r\" %>s %b"</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_log_config</td></tr>
</table>
- <p>Cette directive permet de spécifier le format du fichier journal
- des accès.</p>
-
- <p>La directive <code class="directive">LogFormat</code> se présente sous
- deux formes. Sous la première forme, qui ne possède qu'un seul
- argument, la directive définit le format qui sera utilisé dans les
- journaux spécifiés par les directives
- <code class="directive">TransferLog</code> ultérieures. L'argument unique
- peut contenir un <var>format</var> explicite comme décrit dans la
- section <a href="#formats">formats de journaux personnalisés</a>
+ <p>Cette directive permet de spécifier le format du fichier journal
+ des accès.</p>
+
+ <p>La directive <code class="directive">LogFormat</code> se présente sous
+ deux formes. Sous la première forme, qui ne possède qu'un seul
+ argument, la directive définit le format qui sera utilisé dans les
+ journaux spécifiés par les directives
+ <code class="directive">TransferLog</code> ultérieures. L'argument unique
+ peut contenir un <var>format</var> explicite comme décrit dans la
+ section <a href="#formats">formats de journaux personnalisés</a>
ci-dessus. Il peut aussi contenir un <var>alias</var> faisant
- référence à un format de journal prédéfini par une directive
- <code class="directive">LogFormat</code> comme décrit plus loin.</p>
+ référence à un format de journal prédéfini par une directive
+ <code class="directive">LogFormat</code> comme décrit plus loin.</p>
<p>Sous sa seconde forme, la directive
<code class="directive">LogFormat</code> associe un <var>format</var>
- explicite à un <var>alias</var>. Cet <var>alias</var> peut
+ explicite à un <var>alias</var>. Cet <var>alias</var> peut
ensuite s'utiliser dans les directives
- <code class="directive">LogFormat</code> ou <code class="directive"><a href="#customlog">CustomLog</a></code> ultérieures, ce qui
- évite d'avoir à répéter l'ensemble de la chaîne de format. Une
- directive <code class="directive">LogFormat</code> qui définit un alias
- <strong>ne fait rien d'autre</strong> -- c'est à dire qu'<em>elle ne
- fait que</em> définir l'alias, elle n'applique pas le format et n'en
- fait pas le format par défaut. Par conséquent, elle n'affecte pas
- les directives <code class="directive"><a href="#transferlog">TransferLog</a></code> ultérieures. En
+ <code class="directive">LogFormat</code> ou <code class="directive"><a href="#customlog">CustomLog</a></code> ultérieures, ce qui
+ évite d'avoir à répéter l'ensemble de la chaîne de format. Une
+ directive <code class="directive">LogFormat</code> qui définit un alias
+ <strong>ne fait rien d'autre</strong> -- c'est à dire qu'<em>elle ne
+ fait que</em> définir l'alias, elle n'applique pas le format et n'en
+ fait pas le format par défaut. Par conséquent, elle n'affecte pas
+ les directives <code class="directive"><a href="#transferlog">TransferLog</a></code> ultérieures. En
outre, la directive <code class="directive">LogFormat</code> ne peut pas
- utiliser un alias pour en définir un autre. Notez que l'alias ne
- doit pas contenir de caractère pourcent (<code>%</code>).</p>
+ utiliser un alias pour en définir un autre. Notez que l'alias ne
+ doit pas contenir de caractère pourcent (<code>%</code>).</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">LogFormat "%v %h %l %u %t \"%r\" %>s %b" serveur_virtuel_commun</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="transferlog" id="transferlog">Directive</a> <a name="TransferLog" id="TransferLog">TransferLog</a><a title="Lien permanent" href="#transferlog" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie l'emplacement d'un fichier journal</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie l'emplacement d'un fichier journal</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TransferLog <var>fichier</var>|<var>pipe</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_log_config</td></tr>
</table>
- <p>Cette directive possède exactement les mêmes arguments et produit
- les mêmes effets que la directive <code class="directive"><a href="#customlog">CustomLog</a></code>, à l'exception qu'elle
- ne permet pas de spécifier un format de journal explicite ou la
- journalisation conditionnelle des requêtes. En l'occurrence, le
- format de journal est déterminé par la dernière définition d'une
+ <p>Cette directive possède exactement les mêmes arguments et produit
+ les mêmes effets que la directive <code class="directive"><a href="#customlog">CustomLog</a></code>, à l'exception qu'elle
+ ne permet pas de spécifier un format de journal explicite ou la
+ journalisation conditionnelle des requêtes. En l'occurrence, le
+ format de journal est déterminé par la dernière définition d'une
directive <code class="directive"><a href="#logformat">LogFormat</a></code>
- qui ne définit pas d'alias. Si aucun format particulier n'a été
- spécifié, c'est le Common Log Format qui sera utilisé.</p>
+ qui ne définit pas d'alias. Si aucun format particulier n'a été
+ spécifié, c'est le Common Log Format qui sera utilisé.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
TransferLog "logs/access_log"</pre>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_config.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_log_config.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_log_config.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_log_config.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_log_debug</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_debug.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_log_debug.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_log_debug.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Possibilité de journalisation supplémentaire à des fins de
-débogage</td></tr>
-<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>log_debug_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_log_debug.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.14 d'Apache</td></tr></table>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Possibilité de journalisation supplémentaire à des fins de
+débogage</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>log_debug_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_log_debug.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.14 d'Apache</td></tr></table>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#logmessage">LogMessage</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_debug">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_debug">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_debug">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_debug">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<ol>
<li>
- Enregistre un message après le traitement d'une requête pour
+ Enregistre un message après le traitement d'une requête pour
/foo/* :
<pre class="prettyprint lang-config"><Location "/foo/">
- LogMessage "/foo/ has been requested"
+  LogMessage "/foo/ has been requested"
</Location></pre>
</li>
<li>
- Enregistre un message si une requête pour /foo/* est traitée
- dans une sous-requête :
+ Enregistre un message si une requête pour /foo/* est traitée
+ dans une sous-requête :
<pre class="prettyprint lang-config"><Location "/foo/">
- LogMessage "subrequest to /foo/" hook=type_checker "expr=-T %{IS_SUBREQ}"
+  LogMessage "subrequest to /foo/" hook=type_checker "expr=-T %{IS_SUBREQ}"
</Location></pre>
- Le branchement (hook) par défaut log_transaction n'est pas
- exécuté pour les sous-requêtes ; nous devons donc en utiliser un
+ Le branchement (hook) par défaut log_transaction n'est pas
+ exécuté pour les sous-requêtes ; nous devons donc en utiliser un
autre.
</li>
<li>
- Enregistre un message si un client IPv6 est à l'origine d'un
- dépassement de délai pour une requête :
+ Enregistre un message si un client IPv6 est à l'origine d'un
+ dépassement de délai pour une requête :
<pre class="prettyprint lang-config">LogMessage "IPv6 timeout from %{REMOTE_ADDR}" "expr=-T %{IPV6} && %{REQUEST_STATUS} = 408"</pre>
Notez l'emplacement des guillemets pour l'argument
</li>
<li>
- Enregistre la valeur de la variable d'environnement de requête
- "X-Foo" à chaque étape du traitement :
+ Enregistre la valeur de la variable d'environnement de requête
+ "X-Foo" à chaque étape du traitement :
<pre class="prettyprint lang-config"><Location "/">
- LogMessage "%{reqenv:X-Foo}" hook=all
+  LogMessage "%{reqenv:X-Foo}" hook=all
</Location></pre>
- En association avec les repères de temps en microsecondes du journal des erreurs,
- <code>hook=all</code> permet aussi de déterminer la durée d'exécution des
- différentes phases du traitement de la requête.
+ En association avec les repères de temps en microsecondes du journal des erreurs,
+ <code>hook=all</code> permet aussi de déterminer la durée d'exécution des
+ différentes phases du traitement de la requête.
</li>
</ol>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="logmessage" id="logmessage">Directive</a> <a name="LogMessage" id="LogMessage">LogMessage</a><a title="Lien permanent" href="#logmessage" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre des messages personnalisés dans le journal des
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistre des messages personnalisés dans le journal des
erreurs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogMessage <var>message</var>
[hook=<var>hook</var>] [expr=<var>expression</var>]
</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_log_debug</td></tr>
</table>
- <p>Cette directive permet d'enregistrer un message personnalisé dans
+ <p>Cette directive permet d'enregistrer un message personnalisé dans
le journal des erreurs. Ce message peut utiliser des variables et
des fonctions dans la <a href="../expr.html">syntaxe ap_expr</a>.
- D'éventuelles références à des en-têtes HTTP dans l'expression
- rationnelle n'entraîneront pas l'ajout des noms d'en-tête
- correspondants à l'en-tête Vary.
- Les messages sont enregistrés au loglevel info.</p>
+ D'éventuelles références à des en-têtes HTTP dans l'expression
+ rationnelle n'entraîneront pas l'ajout des noms d'en-tête
+ correspondants à l'en-tête Vary.
+ Les messages sont enregistrés au loglevel info.</p>
- <p>Le branchement (hook) précise la phase du traitement de la
- requête avant laquelle le message sera enregistré. Les branchements
- suivants sont supportés :</p>
+ <p>Le branchement (hook) précise la phase du traitement de la
+ requête avant laquelle le message sera enregistré. Les branchements
+ suivants sont supportés :</p>
<table class="bordered"><tr class="header"><th>Nom</th></tr>
<tr><td><code>translate_name</code></td></tr>
<tr class="odd"><td><code>log_transaction</code></td></tr>
</table>
- <p>Le branchement par défaut est <code>log_transaction</code>. La
- valeur spéciale <code>all</code> est aussi supportée ; dans ce cas,
- le message sera enregistré à chaque phase. Tous les branchements ne
- sont pas exécutés pour chaque requête.</p>
+ <p>Le branchement par défaut est <code>log_transaction</code>. La
+ valeur spéciale <code>all</code> est aussi supportée ; dans ce cas,
+ le message sera enregistré à chaque phase. Tous les branchements ne
+ sont pas exécutés pour chaque requête.</p>
<p>L'expression optionnelle permet de restreindre l'enregistrement
du message en fonction d'une certaine condition. La syntaxe de
- l'expression est décrite dans la <a href="../expr.html">documentation ap_expr</a>. D'éventuelles
- références à des en-têtes HTTP dans l'expression
- rationnelle n'entraîneront pas l'ajout des noms d'en-tête
- correspondants à l'en-tête Vary.</p>
+ l'expression est décrite dans la <a href="../expr.html">documentation ap_expr</a>. D'éventuelles
+ références à des en-têtes HTTP dans l'expression
+ rationnelle n'entraîneront pas l'ajout des noms d'en-tête
+ correspondants à l'en-tête Vary.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_debug.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_log_debug.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_log_debug.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_log_forensic</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_forensic.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_log_forensic.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_log_forensic.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_log_forensic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
-<a href="../tr/mod/mod_log_forensic.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_log_forensic.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Journalisation légale des requêtes envoyées au
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Journalisation légale des requêtes envoyées au
serveur</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>log_forensic_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_log_forensic.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>log_forensic_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_log_forensic.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module permet la journalisation légale des requêtes client.</p>
+ <p>Ce module permet la journalisation légale des requêtes client.</p>
- <p>La création du fichier journal correspondant s'effectue via la
+ <p>La création du fichier journal correspondant s'effectue via la
directive <code class="directive">ForensicLog</code> comme suit :</p>
<pre class="prettyprint lang-config">ForensicLog logs/forensic_log</pre>
- <p>La journalisation s'effectuant avant et après le traitement de la
- requête, le journal légal contient deux lignes pour chaque requête.
- Le processus de journalisation légale est très strict, à savoir
+ <p>La journalisation s'effectuant avant et après le traitement de la
+ requête, le journal légal contient deux lignes pour chaque requête.
+ Le processus de journalisation légale est très strict, à savoir
:</p>
<ul>
- <li>Le format est figé. Vous ne pouvez pas modifier le format du
- journal à l'exécution.</li>
- <li>S'il ne peut pas enregistrer ses données, le processus enfant se
- termine aussitôt, et peut éventuellement enregistrer un vidage
- mémoire (selon la définition de la directive <code class="directive"><a href="../mod/mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></code>).</li>
+ <li>Le format est figé. Vous ne pouvez pas modifier le format du
+ journal à l'exécution.</li>
+ <li>S'il ne peut pas enregistrer ses données, le processus enfant se
+ termine aussitôt, et peut éventuellement enregistrer un vidage
+ mémoire (selon la définition de la directive <code class="directive"><a href="../mod/mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></code>).</li>
</ul>
- <p>Pour interpréter les données du journal
- légal afin d'identifier les requêtes dont le traitement n'a
- pas été mené à bien, vous pouvez vous
+ <p>Pour interpréter les données du journal
+ légal afin d'identifier les requêtes dont le traitement n'a
+ pas été mené à bien, vous pouvez vous
aider du script <code>check_forensic</code> qui se trouve dans le
- répertoire support de la distribution.</p>
+ répertoire support de la distribution.</p>
<div class="example"><p><code>
check-forensic forensic_log
</code></p></div>
- <div class="note">Note de traduction : le terme "légal" utilisé dans le présent document ne suggère aucunement que
- ce module apporte une valeur juridique aux journaux. Il est à comprendre dans le contexte
- similaire à ce que l'on trouve en analyse medico-légale. En d'autres termes, la finalité de ce module
- est de simplifier les opérations d'investigation autour du traitement des requêtes par le serveur.</div>
+ <div class="note">Note de traduction : le terme "légal" utilisé dans le présent document ne suggère aucunement que
+ ce module apporte une valeur juridique aux journaux. Il est à comprendre dans le contexte
+ similaire à ce que l'on trouve en analyse medico-légale. En d'autres termes, la finalité de ce module
+ est de simplifier les opérations d'investigation autour du traitement des requêtes par le serveur.</div>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#formats">Format du journal Forensic</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#security">Considérations à propos de
-sécurité</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#security">Considérations à propos de
+sécurité</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#forensiclog">ForensicLog</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_forensic">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_forensic">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_log_forensic">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_log_forensic">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../logs.html">Les fichiers journaux
d'Apache</a></li>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="formats" id="formats">Format du journal Forensic</a><a title="Lien permanent" href="#formats" class="permalink">¶</a></h2>
- <p>Chaque requête fait l'objet d'une double journalisation. La
- requête est journalisée une première fois avant son traitement
- (c'est à dire après la réception des en-têtes). La deuxième entrée
- du journal est écrite <em>après</em> le traitement de la requête, en
+ <p>Chaque requête fait l'objet d'une double journalisation. La
+ requête est journalisée une première fois avant son traitement
+ (c'est à dire après la réception des en-têtes). La deuxième entrée
+ du journal est écrite <em>après</em> le traitement de la requête, en
fait au moment de la journalisation habituelle.</p>
- <p>Un identifiant unique est attribué à chaque requête afin de
- pouvoir l'identifier. Cette identifiant légal peut faire l'objet
- d'un enregistrement dans le journal standard en utilisant l'élément
- de chaîne de format <code>%{forensic-id}n</code>. Si vous utilisez
- <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code>, c'est l'identifiant qu'il génère qui
- sera utilisé.</p>
+ <p>Un identifiant unique est attribué à chaque requête afin de
+ pouvoir l'identifier. Cette identifiant légal peut faire l'objet
+ d'un enregistrement dans le journal standard en utilisant l'élément
+ de chaîne de format <code>%{forensic-id}n</code>. Si vous utilisez
+ <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code>, c'est l'identifiant qu'il génère qui
+ sera utilisé.</p>
- <p>La première partie de la journalisation de la requête enregistre
- l'identifiant légal, la ligne de la requête et tous les en-têtes
- reçus séparés par des caractères pipe (<code>|</code>). Voici à
- titre d'exemple à quoi pourrait ressembler une telle entrée (tout
- étant rassemblé sur une seule ligne) :</p>
+ <p>La première partie de la journalisation de la requête enregistre
+ l'identifiant légal, la ligne de la requête et tous les en-têtes
+ reçus séparés par des caractères pipe (<code>|</code>). Voici à
+ titre d'exemple à quoi pourrait ressembler une telle entrée (tout
+ étant rassemblé sur une seule ligne) :</p>
<div class="example"><p><code>
+yQtJf8CoAB4AAFNXBIEAAAAA|GET /manual/de/images/down.gif
Firefox/0.8|Accept:image/png, <var>etc...</var>
</code></p></div>
- <p>Le caractère plus ('+') de début indique qu'il s'agit de la
- première entrée de journal pour cette requête. La seconde entrée ne
- contiendra qu'un caractère moins ('-') suivi de l'identifiant :</p>
+ <p>Le caractère plus ('+') de début indique qu'il s'agit de la
+ première entrée de journal pour cette requête. La seconde entrée ne
+ contiendra qu'un caractère moins ('-') suivi de l'identifiant :</p>
<div class="example"><p><code>
-yQtJf8CoAB4AAFNXBIEAAAAA
<p>Le script <code>check_forensic</code> prend comme argument le nom
du fichier journal. Il recherche ces paires d'identifiants
<code>+</code>/<code>-</code> et affiche un message d'erreur si la
- journalisation d'une requête n'est pas complète.</p>
+ journalisation d'une requête n'est pas complète.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="security" id="security">Considérations à propos de
-sécurité</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
- <p>Voir le document <a href="../misc/security_tips.html#serverroot">conseils en matière de
- sécurité</a> pour des détails sur les raisons pour lesquelles votre
- sécurité pourrait être compromise si le répertoire dans lequel les
- fichiers journaux sont stockés sont inscriptibles par tout autre
- utilisateur que celui qui démarre le serveur.</p>
- <p>Les fichiers journaux peuvent contenir des données sensibles
- comme le contenu des en-têtes <code>Authorization:</code> (qui
- peuvent contenir des mots de passe) ; ils ne doivent donc être
- lisibles que par l'utilisateur qui démarre le serveur.</p>
+<h2><a name="security" id="security">Considérations à propos de
+sécurité</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
+ <p>Voir le document <a href="../misc/security_tips.html#serverroot">conseils en matière de
+ sécurité</a> pour des détails sur les raisons pour lesquelles votre
+ sécurité pourrait être compromise si le répertoire dans lequel les
+ fichiers journaux sont stockés sont inscriptibles par tout autre
+ utilisateur que celui qui démarre le serveur.</p>
+ <p>Les fichiers journaux peuvent contenir des données sensibles
+ comme le contenu des en-têtes <code>Authorization:</code> (qui
+ peuvent contenir des mots de passe) ; ils ne doivent donc être
+ lisibles que par l'utilisateur qui démarre le serveur.</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="forensiclog" id="forensiclog">Directive</a> <a name="ForensicLog" id="ForensicLog">ForensicLog</a><a title="Lien permanent" href="#forensiclog" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom de fichier du journal légal</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom de fichier du journal légal</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ForensicLog <var>nom-fichier</var>|<var>pipe</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_log_forensic</td></tr>
</table>
<p>La directive <code class="directive">ForensicLog</code> permet de
- contrôler la journalisation des requêtes à des fins d'analyse
- légale. Chaque entrée du journal se voit assigner un identifiant
- unique qui peut être associé à la requête en utilisant la directive
+ contrôler la journalisation des requêtes à des fins d'analyse
+ légale. Chaque entrée du journal se voit assigner un identifiant
+ unique qui peut être associé à la requête en utilisant la directive
<code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code> habituelle.
- <code class="module"><a href="../mod/mod_log_forensic.html">mod_log_forensic</a></code> crée un élément nommé
- <code>forensic-id</code>, qui peut être ajouté au journal standard
- en utilisant l'élément de format <code>%{forensic-id}n</code>.</p>
+ <code class="module"><a href="../mod/mod_log_forensic.html">mod_log_forensic</a></code> crée un élément nommé
+ <code>forensic-id</code>, qui peut être ajouté au journal standard
+ en utilisant l'élément de format <code>%{forensic-id}n</code>.</p>
- <p>L'argument, qui permet de spécifier l'emplacement vers lequel le
- journal légal sera écrit, peut contenir les deux types de valeurs
+ <p>L'argument, qui permet de spécifier l'emplacement vers lequel le
+ journal légal sera écrit, peut contenir les deux types de valeurs
suivants :</p>
<dl>
<dt><var>nom-fichier</var></dt>
- <dd>Un nom de fichier relatif au répertoire défini par la
+ <dd>Un nom de fichier relatif au répertoire défini par la
directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</dd>
<dt><var>pipe</var></dt>
- <dd>Le caractère pipe "<code>|</code>", suivi du chemin vers un
+ <dd>Le caractère pipe "<code>|</code>", suivi du chemin vers un
programme qui recevra les informations de la journalisation sur
- son entrée standard. Le nom du programme peut être relatif au
- répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.
+ son entrée standard. Le nom du programme peut être relatif au
+ répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.
- <div class="warning"><h3>Sécurité :</h3>
- <p>Si les journaux sont redirigés vers un programme, ce dernier
- s'exécutera sous l'utilisateur qui a démarré
+ <div class="warning"><h3>Sécurité :</h3>
+ <p>Si les journaux sont redirigés vers un programme, ce dernier
+ s'exécutera sous l'utilisateur qui a démarré
<code class="program"><a href="../programs/httpd.html">httpd</a></code>. Ce sera l'utilisateur root si le serveur
- a été démarré par root ; vérifiez que le programme est
- sécurisé ou passe sous le contrôle d'un utilisateur possédant des
+ a été démarré par root ; vérifiez que le programme est
+ sécurisé ou passe sous le contrôle d'un utilisateur possédant des
droits restreints.</p>
</div>
<div class="note"><h3>Note</h3>
- <p>Lors de la spécification d'un chemin de fichier sur les
+ <p>Lors de la spécification d'un chemin de fichier sur les
plate-formes non-Unix, il faut prendre soin de ne pas oublier
- que seuls les slashes directs doivent être utilisés, même si la
- plate-forme autorise l'emploi d'anti-slashes. D'une manière
- générale, c'est une bonne idée que de n'utiliser que des slashes
+ que seuls les slashes directs doivent être utilisés, même si la
+ plate-forme autorise l'emploi d'anti-slashes. D'une manière
+ générale, c'est une bonne idée que de n'utiliser que des slashes
directs dans les fichiers de configuration.</p>
</div></dd>
</dl>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_log_forensic.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_log_forensic.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_log_forensic.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_log_forensic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
-<a href="../tr/mod/mod_log_forensic.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_log_forensic.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_logio</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_logio.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_logio.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Journalisation des octets en entrée et en sortie pour
-chaque requête</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Journalisation des octets en entrée et en sortie pour
+chaque requête</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>logio_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_logio.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>logio_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_logio.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module permet d'enregistrer le nombre d'octets reçus et
- envoyés pour chaque requête. Ce nombre reflète le nombre réel
- d'octets transmis sur le réseau, et prend en compte les en-têtes et
- corps des requêtes et des réponses. Le décompte est effectué avant
- SSL/TLS en entrée et après SSL/TLS en sortie, si bien que le
- résultat reflètera toute modification introduite par le
+ <p>Ce module permet d'enregistrer le nombre d'octets reçus et
+ envoyés pour chaque requête. Ce nombre reflète le nombre réel
+ d'octets transmis sur le réseau, et prend en compte les en-têtes et
+ corps des requêtes et des réponses. Le décompte est effectué avant
+ SSL/TLS en entrée et après SSL/TLS en sortie, si bien que le
+ résultat reflètera toute modification introduite par le
chiffrement.</p>
<p>Pour fonctionner, ce module requiert le chargement du module
<code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>.</p>
<div class="note">Lorsqu'on utilise les connexions persistantes avec SSL, le
- supplément de trafic induit par la négociation SSL est enregistré
- dans le décompte des octets transmis dans le cadre de la première
- requête de la connexion. Lors d'une renégociation SSL au niveau d'un
- répertoire, le décompte d'octets est associé à la
- requête qui a déclenché la renégociation.</div>
+ supplément de trafic induit par la négociation SSL est enregistré
+ dans le décompte des octets transmis dans le cadre de la première
+ requête de la connexion. Lors d'une renégociation SSL au niveau d'un
+ répertoire, le décompte d'octets est associé à la
+ requête qui a déclenché la renégociation.</div>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#formats">Formats de journaux personnalisés</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#formats">Formats de journaux personnalisés</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#logiotrackttfb">LogIOTrackTTFB</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#logiotrackttfu">LogIOTrackTTFU</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_logio">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_logio">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_logio">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_logio">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li>
<li><a href="../logs.html">Les fichiers journaux
<li><a href="#comments_section">Commentaires</a></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="formats" id="formats">Formats de journaux personnalisés</a><a title="Lien permanent" href="#formats" class="permalink">¶</a></h2>
+<h2><a name="formats" id="formats">Formats de journaux personnalisés</a><a title="Lien permanent" href="#formats" class="permalink">¶</a></h2>
<p>Ce module introduit trois nouvelles directives de journalisation.
- Les caractéristiques de la requête en elle-même sont journalisées en
- insérant des directives "<code>%</code>" dans la chaîne de format,
- qui seront remplacées comme suit dans le fichier journal :</p>
+ Les caractéristiques de la requête en elle-même sont journalisées en
+ insérant des directives "<code>%</code>" dans la chaîne de format,
+ qui seront remplacées comme suit dans le fichier journal :</p>
- <table class="bordered"><tr class="header"><th>Chaîne de Format</th>
+ <table class="bordered"><tr class="header"><th>Chaîne de Format</th>
<th>Description</th></tr>
<tr><td><code>%I</code></td>
- <td>Octets reçus, en-têtes et corps de requête inclus ; ne peut
- pas être nul.</td></tr>
+ <td>Octets reçus, en-têtes et corps de requête inclus ; ne peut
+ pas être nul.</td></tr>
<tr class="odd"><td><code>%O</code></td>
- <td>Octets envoyés, en-têtes inclus ; ne peut
- pas être nul.</td></tr>
+ <td>Octets envoyés, en-têtes inclus ; ne peut
+ pas être nul.</td></tr>
<tr><td><code>%S</code></td>
- <td>Nombre d'octets transmis en émission et réception y compris
- la requête et les en-têtes ; cette valeur ne peut pas être
+ <td>Nombre d'octets transmis en émission et réception y compris
+ la requête et les en-têtes ; cette valeur ne peut pas être
nulle, il s'agit de la combinaison de %I et %O.<br />
Disponible depuis la version 2.4.7 du serveur HTTP Apache.</td></tr>
<tr class="odd"><td><code>%^FU</code></td>
- <td>Délai en microsecondes entre l'arrivée de la requête et la lecture
- du dernier octet du corps de la requête (upload terminé). Disponible
- seulement si <code class="directive">LogIOTrackTTFU</code> est à ON.<br />
- Disponible à partir de la version 2.4.34 du serveur HTTP Apache.</td></tr>
+ <td>Délai en microsecondes entre l'arrivée de la requête et la lecture
+ du dernier octet du corps de la requête (upload terminé). Disponible
+ seulement si <code class="directive">LogIOTrackTTFU</code> est à ON.<br />
+ Disponible à partir de la version 2.4.34 du serveur HTTP Apache.</td></tr>
<tr><td><code>%^FB</code></td>
- <td>Délai en microsecondes entre l'arrivée de la requête et
- l'écriture du premier octet des en-têtes de la réponse.
+ <td>Délai en microsecondes entre l'arrivée de la requête et
+ l'écriture du premier octet des en-têtes de la réponse.
Disponible uniquement si la directive
- <code class="directive">LogIOTrackTTFB</code> a été définie à ON.<br />
- Disponible à partir de la version 2.4.13 du serveur HTTP Apache
+ <code class="directive">LogIOTrackTTFB</code> a été définie à ON.<br />
+ Disponible à partir de la version 2.4.13 du serveur HTTP Apache
</td></tr>
</table>
- <p>En général, cette fonctionnalité s'utilise comme suit :</p>
+ <p>En général, cette fonctionnalité s'utilise comme suit :</p>
<dl>
- <dt>Format de journal d'entrées/sorties combiné :</dt>
+ <dt>Format de journal d'entrées/sorties combiné :</dt>
<dd><code>"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-agent}i\" %I %O"</code></dd>
</dl>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="logiotrackttfb" id="logiotrackttfb">Directive</a> <a name="LogIOTrackTTFB" id="LogIOTrackTTFB">LogIOTrackTTFB</a><a title="Lien permanent" href="#logiotrackttfb" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'enregistrer le délai avant le premier octet (TTFB = time
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'enregistrer le délai avant le premier octet (TTFB = time
to first byte)</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogIOTrackTTFB ON|OFF</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LogIOTrackTTFB OFF</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#Default">Défaut:</a></th><td><code>LogIOTrackTTFB OFF</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">AllowOverride:</a></th><td>All</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_logio</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.13 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.13 du serveur HTTP Apache</td></tr>
</table>
- <p>Cette directive permet de définir si ce module mesure le délai
- entre la lecture de la requête et l'écriture du premier octet des
- en-têtes de la réponse. La valeur obtenue peut être enregistrée dans
+ <p>Cette directive permet de définir si ce module mesure le délai
+ entre la lecture de la requête et l'écriture du premier octet des
+ en-têtes de la réponse. La valeur obtenue peut être enregistrée dans
le journal via le format <code>%^FB</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="logiotrackttfu" id="logiotrackttfu">Directive</a> <a name="LogIOTrackTTFU" id="LogIOTrackTTFU">LogIOTrackTTFU</a><a title="Lien permanent" href="#logiotrackttfu" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la mesure du temps jusqu'à l'arrivée du dernier octet de la
-requête (TTFU = time to finish upload)</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la mesure du temps jusqu'à l'arrivée du dernier octet de la
+requête (TTFU = time to finish upload)</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogIOTrackTTFU ON|OFF</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LogIOTrackTTFU OFF</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#Default">Défaut:</a></th><td><code>LogIOTrackTTFU OFF</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">AllowOverride:</a></th><td>All</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_logio</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.34 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.34 du serveur HTTP Apache</td></tr>
</table>
- <p>Cette directive permet d'activer/désactiver la mesure du temps entre le
- début de la lecture de la requête et la lecture du dernier octets du corps
- de la requête (upload terminé). La valeur est enregistrée dans le journal
- via la chaîne de formatage <code>%^FU</code>.</p>
+ <p>Cette directive permet d'activer/désactiver la mesure du temps entre le
+ début de la lecture de la requête et la lecture du dernier octets du corps
+ de la requête (upload terminé). La valeur est enregistrée dans le journal
+ via la chaîne de formatage <code>%^FU</code>.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_logio.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_logio.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_logio.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_logio.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_logio.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_logio.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_lua</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lua.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_lua.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_lua.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournit des points d'entrée Lua dans différentes parties du
-traitement des requêtes httpd</td></tr>
-<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>lua_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lua.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>versions 2.3 et supérieures</td></tr></table>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournit des points d'entrée Lua dans différentes parties du
+traitement des requêtes httpd</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>lua_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lua.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>versions 2.3 et supérieures</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module permet d'ajouter au serveur des extensions sous forme de
-scripts écrits dans le langage de programmation Lua.
+scripts écrits dans le langage de programmation Lua.
<code class="module"><a href="../mod/mod_lua.html">mod_lua</a></code> fournit de nombreuses extensions
(hooks) disponibles avec les modules natifs du serveur HTTP Apache,
-comme les associations de requêtes à des fichiers, la génération de
-réponses dynamiques, le contrôle d'accès, l'authentification et
+comme les associations de requêtes à des fichiers, la génération de
+réponses dynamiques, le contrôle d'accès, l'authentification et
l'autorisation.</p>
-<p>Vous trouverez davantage d'informations à propos du langage de
+<p>Vous trouverez davantage d'informations à propos du langage de
programmation Lua sur <a href="http://www.lua.org/">le site web de
Lua</a>.</p>
-<div class="note"><code>mod_lua</code> est encore au stade expérimental. Son mode
-d'utilisation et son comportement pourront changer à tout moment jusqu'à
-ce qu'il passe au stade stable, et ce même entre deux versions stables
-2.4.x. N'oublez pas de consulter le fichier CHANGES avant toute mise à
+<div class="note"><code>mod_lua</code> est encore au stade expérimental. Son mode
+d'utilisation et son comportement pourront changer à tout moment jusqu'à
+ce qu'il passe au stade stable, et ce même entre deux versions stables
+2.4.x. N'oublez pas de consulter le fichier CHANGES avant toute mise à
jour.</div>
<div class="warning"><h3>Avertissement</h3>
-<p>Ce module possède une grande capacité d'action sur le fonctrionnement
-de httpd, ce qui lui confère une grande puissance, mais peut aussi
-induire un risque de sécurité. Il est déconseillé d'utiliser ce module
-sur un serveur partagé avec des utilisateurs auxquels vous ne pouvez pas
+<p>Ce module possède une grande capacité d'action sur le fonctrionnement
+de httpd, ce qui lui confère une grande puissance, mais peut aussi
+induire un risque de sécurité. Il est déconseillé d'utiliser ce module
+sur un serveur partagé avec des utilisateurs auxquels vous ne pouvez pas
accorder une confiance absolue, car il peut permettre de modifier le
fonctionnement interne de httpd.</p>
</div>
<li><img alt="" src="../images/down.gif" /> <a href="#writingauthzproviders">Ecriture de fournisseurs d'autorisation</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#writinghooks">Ecriture de fonctions d'accroche
(hooks)</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#datastructures">Structures de données</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#functions">Méthodes de l'objet request_rec</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#datastructures">Structures de données</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#functions">Méthodes de l'objet request_rec</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#logging">Fonctions de journalisation</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#apache2">Paquet apache2</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#modifying_buckets">Modification de contenu avec les filtres lua</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#databases">Connectivité aux bases de données</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#databases">Connectivité aux bases de données</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#luaauthzprovider">LuaAuthzProvider</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#luaroot">LuaRoot</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#luascope">LuaScope</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lua">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lua">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_lua">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_lua">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<p>
-<code>mod_lua</code> fournit un gestionnaire nommé
-<code>lua-script</code> qui peut être utilisé avec une directive
+<code>mod_lua</code> fournit un gestionnaire nommé
+<code>lua-script</code> qui peut être utilisé avec une directive
<code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> ou <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> :</p>
<pre class="prettyprint lang-config"><Files "*.lua">
<p>
-Ceci aura pour effet de faire traiter les requêtes pour les fichiers
+Ceci aura pour effet de faire traiter les requêtes pour les fichiers
dont l'extension est <code>.lua</code> par <code>mod_lua</code> en
invoquant cette fonction de <code>gestion</code> de fichier.
</p>
-<p>Pour plus de détails, voir la directive
+<p>Pour plus de détails, voir la directive
<code class="directive">LuaMapHandler</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="writinghandlers" id="writinghandlers">Ecrire des gestionnaires</a><a title="Lien permanent" href="#writinghandlers" class="permalink">¶</a></h2>
<p>Dans l'API du serveur HTTP Apache, un gestionnaire est une sorte de
-point d'accroche (hook) spécifique responsable de la génération de la
-réponse. <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> et
+point d'accroche (hook) spécifique responsable de la génération de la
+réponse. <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> et
<code class="module"><a href="../mod/mod_status.html">mod_status</a></code> sont des exemples de modules comportant un
gestionnaire.</p>
-<p><code>mod_lua</code> cherche toujours à invoquer une fonction Lua pour le
-gestionnaire, plutôt que de simplement évaluer le corps d'un script dans
-le style de CGI. Une fonction de gestionnaire se présente comme suit :</p>
+<p><code>mod_lua</code> cherche toujours à invoquer une fonction Lua pour le
+gestionnaire, plutôt que de simplement évaluer le corps d'un script dans
+le style de CGI. Une fonction de gestionnaire se présente comme suit :</p>
<pre class="prettyprint lang-lua">
require "string"
--[[
- Il s'agit du nom de méthode par défaut pour les gestionnaires Lua ;
+ Il s'agit du nom de méthode par défaut pour les gestionnaires Lua ;
voir les noms de fonctions optionnels dans la directive
- LuaMapHandler pour choisir un point d'entrée différent.
+ LuaMapHandler pour choisir un point d'entrée différent.
--]]
function handle(r)
r.content_type = "text/plain"
end
else
elseif r.method == 'PUT' then
--- message d'erreur personnalisé
+-- message d'erreur personnalisé
r:puts("Unsupported HTTP method " .. r.method)
r.status = 405
return apache2.OK
<p>
-Ce gestionnaire se contente d'afficher les arguments codés d'un uri ou
+Ce gestionnaire se contente d'afficher les arguments codés d'un uri ou
d'un formulaire dans un page au format texte.
</p>
<p>
-Cela signifie que vous pouvez (et êtes encouragé à) avoir plusieurs
-gestionnaires (ou points d'entrée, ou filtres) dans le même script.
+Cela signifie que vous pouvez (et êtes encouragé à) avoir plusieurs
+gestionnaires (ou points d'entrée, ou filtres) dans le même script.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<p><code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> fournit une interface d'autorisation
-de haut niveau bien plus facile à utiliser que dans les hooks
-correspondants. Le premier argument de la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> permet de spécifier le
-fournisseur d'autorisation à utiliser. Pour chaque directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>,
+de haut niveau bien plus facile à utiliser que dans les hooks
+correspondants. Le premier argument de la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> permet de spécifier le
+fournisseur d'autorisation à utiliser. Pour chaque directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>,
<code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> appellera le fournisseur d'autorisation
-spécifié, le reste de la ligne constituant les paramètres. Le
-fournisseur considéré va alors vérifier les autorisations et fournir le
-résultat dans une valeur de retour.</p>
+spécifié, le reste de la ligne constituant les paramètres. Le
+fournisseur considéré va alors vérifier les autorisations et fournir le
+résultat dans une valeur de retour.</p>
-<p>En général, le fournisseur authz est appelé avant l'authentification.
-S'il doit connaître le nom d'utilisateur authentifié (ou si
-l'utilisateur est appelé à être authentifié), le fournisseur doit
+<p>En général, le fournisseur authz est appelé avant l'authentification.
+S'il doit connaître le nom d'utilisateur authentifié (ou si
+l'utilisateur est appelé à être authentifié), le fournisseur doit
renvoyer <code>apache2.AUTHZ_DENIED_NO_USER</code>, ce qui va
-déclancher le processus d'authentification et un deuxième appel du
+déclancher le processus d'authentification et un deuxième appel du
fournisseur authz.</p>
<p>La fonction du fournisseur authz ci-dessous accepte deux arguments,
-une adresse IP et un nom d'utilisateur. Elle autorise l'accès dans le
-cas où la requête provient de l'adresse IP spécifiée, ou si
-l'utilisateur authentifié correspond au second argument :</p>
+une adresse IP et un nom d'utilisateur. Elle autorise l'accès dans le
+cas où la requête provient de l'adresse IP spécifiée, ou si
+l'utilisateur authentifié correspond au second argument :</p>
<pre class="prettyprint lang-lua">
<strong>authz_provider.lua</strong><br />
<h2><a name="writinghooks" id="writinghooks">Ecriture de fonctions d'accroche
(hooks)</a><a title="Lien permanent" href="#writinghooks" class="permalink">¶</a></h2>
-<p>Les fonctions d'accroche déterminent la manière dont les modules (et
-les scripts Lua) participent au traitement des requêtes. Chaque type
-d'accroche proposé par le serveur a un rôle spécifique, comme
-l'association de requêtes au système de fichiers, le contrôle d'accès,
-ou la définition de types MIME : </p>
+<p>Les fonctions d'accroche déterminent la manière dont les modules (et
+les scripts Lua) participent au traitement des requêtes. Chaque type
+d'accroche proposé par le serveur a un rôle spécifique, comme
+l'association de requêtes au système de fichiers, le contrôle d'accès,
+ou la définition de types MIME : </p>
<table class="bordered"><tr class="header">
<th>Phase d'accroche</th>
<tr>
<td>Gestionnaire rapide</td>
<td><code class="directive"><a href="#luaquickhandler">LuaQuickHandler</a></code></td>
- <td>Il s'agit de la première accroche appelée lorsqu'une requête
- a été associée à un serveur ou un serveur virtuel.</td>
+ <td>Il s'agit de la première accroche appelée lorsqu'une requête
+ a été associée à un serveur ou un serveur virtuel.</td>
</tr>
<tr class="odd">
<td>Phase de traduction</td>
<td><code class="directive"><a href="#luahooktranslatename">LuaHookTranslateName</a></code></td>
- <td>Cette phase traduit l'URI de la requête en nom de fichier
- sur le système. Ce sont des modules comme
+ <td>Cette phase traduit l'URI de la requête en nom de fichier
+ sur le système. Ce sont des modules comme
<code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> et <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> qui
interviennent au cours de cette phase.</td>
</tr>
<tr>
<td>Choix du lieu de stockage de la ressource</td>
<td><code class="directive"><a href="#luahookmaptostorage">LuaHookMapToStorage</a></code></td>
- <td>Cette phase définit le lieu de stockage de la ressource :
- physique, en cache ou externe/mandaté. Elle est assurée par les
+ <td>Cette phase définit le lieu de stockage de la ressource :
+ physique, en cache ou externe/mandaté. Elle est assurée par les
modules de mandat ou de mise en cache.</td>
</tr>
<tr class="odd">
- <td>Autorisation d'accès</td>
+ <td>Autorisation d'accès</td>
<td><code class="directive"><a href="#luahookaccesschecker">LuaHookAccessChecker</a></code></td>
- <td>Cette phase vérifie si un client a l'autorisation d'accès à
- la ressource. Elle s'exécute avant l'authentification de
- l'utisateur ; il faut donc être prudent.
+ <td>Cette phase vérifie si un client a l'autorisation d'accès à
+ la ressource. Elle s'exécute avant l'authentification de
+ l'utisateur ; il faut donc être prudent.
</td>
</tr>
<tr>
- <td>Vérification de l'identifiant utilisateur</td>
+ <td>Vérification de l'identifiant utilisateur</td>
<td><code class="directive"><a href="#luahookcheckuserid">LuaHookCheckUserID</a></code></td>
- <td>Cette phase vérifie l'identifiant de l'utilisateur ayant
- fait l'objet d'une négociation.</td>
+ <td>Cette phase vérifie l'identifiant de l'utilisateur ayant
+ fait l'objet d'une négociation.</td>
</tr>
<tr class="odd">
- <td>Vérification de l'autorisation d'accès</td>
+ <td>Vérification de l'autorisation d'accès</td>
<td><code class="directive"><a href="#luahookauthchecker">LuaHookAuthChecker</a></code>
ou
<code class="directive"><a href="#luaauthzprovider">LuaAuthzProvider</a></code></td>
- <td>Cette phase vérifie l'autorisation d'accès d'un utilisateur
- en fonction des ses paramètres de connexion, comme
+ <td>Cette phase vérifie l'autorisation d'accès d'un utilisateur
+ en fonction des ses paramètres de connexion, comme
l'identifiant, le certificat, etc...
</td>
</tr>
<tr>
- <td>Vérification du type de la ressource</td>
+ <td>Vérification du type de la ressource</td>
<td><code class="directive"><a href="#luahooktypechecker">LuaHookTypeChecker</a></code></td>
- <td>Cette phase assigne un type de contenu et un gestionnaire à
+ <td>Cette phase assigne un type de contenu et un gestionnaire à
la ressource.</td>
</tr>
<tr class="odd">
- <td>Derniers réglages</td>
+ <td>Derniers réglages</td>
<td><code class="directive"><a href="#luahookfixups">LuaHookFixups</a></code></td>
- <td>C'est la dernière phase avant l'activation des gestionnaires
- de contenu. Toute modification de dernière minute à la requête
- doit être effectuée ici.</td>
+ <td>C'est la dernière phase avant l'activation des gestionnaires
+ de contenu. Toute modification de dernière minute à la requête
+ doit être effectuée ici.</td>
</tr>
<tr>
<td>Gestionnaire de contenu</td>
<td>fichiers fx. <code>.lua</code> ou directive <code class="directive"><a href="#luamaphandler">LuaMapHandler</a></code></td>
- <td>C'est durant cette phase que le contenu est traité. Les
- fichiers sont lus, interprétés, certains sont exécutés, et le
- résultat obtenu est envoyé au client.</td>
+ <td>C'est durant cette phase que le contenu est traité. Les
+ fichiers sont lus, interprétés, certains sont exécutés, et le
+ résultat obtenu est envoyé au client.</td>
</tr>
<tr class="odd">
<td>Journalisation</td>
<td><code class="directive"><a href="#luahooklog">LuaHookLog</a></code></td>
- <td>Lorsqu'une requête a été traitée, plusieurs phases de
- journalisation interviennent, et enregistrent leurs résultats
- dans les fichiers d'erreur ou d'accès. Mod_lua peut
- s'intercaler au départ de ce processus et ainsi contrôler la
+ <td>Lorsqu'une requête a été traitée, plusieurs phases de
+ journalisation interviennent, et enregistrent leurs résultats
+ dans les fichiers d'erreur ou d'accès. Mod_lua peut
+ s'intercaler au départ de ce processus et ainsi contrôler la
journalisation.</td>
</tr>
</table>
-<p>Les fonctions d'accroche reçoivent l'objet de la requête comme seul
-argument (sauf LuaAuthzProvider qui reçoit aussi des arguments en
+<p>Les fonctions d'accroche reçoivent l'objet de la requête comme seul
+argument (sauf LuaAuthzProvider qui reçoit aussi des arguments en
provenance de la directive Require). Elles peuvent renvoyer une valeur,
-selon la fonction, mais il s'agit en général d'un
-code d'état HTTP ou des valeurs OK, DONE, ou DECLINED,
-que vous pouvez écrire dans Lua sous la forme <code>apache2.OK</code>,
+selon la fonction, mais il s'agit en général d'un
+code d'état HTTP ou des valeurs OK, DONE, ou DECLINED,
+que vous pouvez écrire dans Lua sous la forme <code>apache2.OK</code>,
<code>apache2.DONE</code>, ou <code>apache2.DECLINED</code>.</p>
<pre class="prettyprint lang-lua">
<strong>translate_name.lua</strong><br />
--- exemple d'accroche qui réécrit un URI en chemin du système de fichiers.
+-- exemple d'accroche qui réécrit un URI en chemin du système de fichiers.
require 'apache2'
r.filename = r.document_root .. "/find_me.txt"
return apache2.OK
end
- -- on ne gère pas cette URL et on donne sa chance à un autre module
+ -- on ne gère pas cette URL et on donne sa chance à un autre module
return apache2.DECLINED
end</pre>
<pre class="prettyprint lang-lua">
<strong>translate_name2.lua</strong><br />
---[[ exemple d'accroche qui réécrit un URI vers un autre URI. Il renvoie
- un apache2.DECLINED pour permettre à un autre interpréteur d'URL de
+--[[ exemple d'accroche qui réécrit un URI vers un autre URI. Il renvoie
+ un apache2.DECLINED pour permettre à un autre interpréteur d'URL de
travailler sur la substitution, y compris l'accroche translate_name
de base dont les tables de correspondances se basent sur DocumentRoot.
Note: utilisez le drapeau early/late de la directive pour
- l'exécuter avant ou après mod_alias.
+ l'exécuter avant ou après mod_alias.
--]]
require 'apache2'
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="datastructures" id="datastructures">Structures de données</a><a title="Lien permanent" href="#datastructures" class="permalink">¶</a></h2>
+<h2><a name="datastructures" id="datastructures">Structures de données</a><a title="Lien permanent" href="#datastructures" class="permalink">¶</a></h2>
<dl>
<dt>request_rec</dt>
<dd>
- <p>request_rec est considérée en tant que donnée utilisateur.
- Elle possède une métatable qui vous permet d'accomplir des
- choses intéressantes. Pour la plus grande partie, elle possède
- les mêmes champs que la structure request_rec, la
- plupart d'entre eux étant accessibles en lecture et écriture (le
- contenu des champs de la table peut être modifié, mais les
- champs eux-mêmes ne peuvent pas être établis en tant que tables
+ <p>request_rec est considérée en tant que donnée utilisateur.
+ Elle possède une métatable qui vous permet d'accomplir des
+ choses intéressantes. Pour la plus grande partie, elle possède
+ les mêmes champs que la structure request_rec, la
+ plupart d'entre eux étant accessibles en lecture et écriture (le
+ contenu des champs de la table peut être modifié, mais les
+ champs eux-mêmes ne peuvent pas être établis en tant que tables
distinctes).</p>
<table class="bordered"><tr class="header">
<td><code>allowoverrides</code></td>
<td>string</td>
<td>non</td>
- <td>L'option AllowOverride s'applique à la requête courante.</td>
+ <td>L'option AllowOverride s'applique à la requête courante.</td>
</tr>
<tr class="odd">
<td><code>ap_auth_type</code></td>
<td>string</td>
<td>non</td>
- <td>Ce champ contient le type d'authentification effectuée
+ <td>Ce champ contient le type d'authentification effectuée
(par exemple <code>basic</code>)</td>
</tr>
<tr>
<td><code>args</code></td>
<td>string</td>
<td>oui</td>
- <td>La chaîne de paramètres de la requête (par exemple
+ <td>La chaîne de paramètres de la requête (par exemple
<code>foo=bar&name=johnsmith</code>)</td>
</tr>
<tr class="odd">
<td><code>assbackwards</code></td>
<td>boolean</td>
<td>non</td>
- <td>contient true s'il s'agit d'une requête de style HTTP/0.9
- (par exemple <code>GET /foo</code> (sans champs d'en-tête) )</td>
+ <td>contient true s'il s'agit d'une requête de style HTTP/0.9
+ (par exemple <code>GET /foo</code> (sans champs d'en-tête) )</td>
</tr>
<tr>
<td><code>auth_name</code></td>
<td>string</td>
<td>non</td>
- <td>La chaîne d'identification utilisée pour la vérification
- de l'autorisation d'accès (si elle est disponible).</td>
+ <td>La chaîne d'identification utilisée pour la vérification
+ de l'autorisation d'accès (si elle est disponible).</td>
</tr>
<tr class="odd">
<td><code>banner</code></td>
<td>string</td>
<td>non</td>
- <td>La bannière du serveur, par exemple <code>Apache HTTP
+ <td>La bannière du serveur, par exemple <code>Apache HTTP
Server/2.4.3 openssl/0.9.8c</code></td>
</tr>
<tr>
<td><code>basic_auth_pw</code></td>
<td>string</td>
<td>non</td>
- <td>Le mot de passe pour l'authentification de base envoyé
- avec la requête, s'il existe</td>
+ <td>Le mot de passe pour l'authentification de base envoyé
+ avec la requête, s'il existe</td>
</tr>
<tr class="odd">
<td><code>canonical_filename</code></td>
<td>string</td>
<td>non</td>
- <td>Le nom de fichier canonique de la requête</td>
+ <td>Le nom de fichier canonique de la requête</td>
</tr>
<tr>
<td><code>content_encoding</code></td>
<td>string</td>
<td>non</td>
- <td>Le type de codage du contenu de la requête courante</td>
+ <td>Le type de codage du contenu de la requête courante</td>
</tr>
<tr class="odd">
<td><code>content_type</code></td>
<td>string</td>
<td>oui</td>
- <td>Le type de contenu de la requête courante, tel qu'il a été
- déterminé au cours de la phase type_check (par exemple
+ <td>Le type de contenu de la requête courante, tel qu'il a été
+ déterminé au cours de la phase type_check (par exemple
<code>image/gif</code> ou <code>text/html</code>)</td>
</tr>
<tr>
<td><code>err_headers_out</code></td>
<td>table</td>
<td>non</td>
- <td>L'en-tête MIME de l'environnement pour la réponse, écrit
- même en cas d'erreur et conservé pendant les redirections
+ <td>L'en-tête MIME de l'environnement pour la réponse, écrit
+ même en cas d'erreur et conservé pendant les redirections
internes</td>
</tr>
<tr>
<td><code>filename</code></td>
<td>string</td>
<td>oui</td>
- <td>Le nom de fichier correspondant à la requête, par exemple
- /www/example.com/foo.txt. Il peut être modifié au cours des
+ <td>Le nom de fichier correspondant à la requête, par exemple
+ /www/example.com/foo.txt. Il peut être modifié au cours des
phases translate-name ou map-to-storage du traitement de la
- requête pour permettre au gestionnaire par défaut (ou aux
+ requête pour permettre au gestionnaire par défaut (ou aux
gestionnaires de script) de servir une version du fichier
- autre que celle demandée.</td>
+ autre que celle demandée.</td>
</tr>
<tr class="odd">
<td><code>handler</code></td>
<td>string</td>
<td>oui</td>
<td>Le nom du <a href="../handler.html">gestionnaire</a> qui
- doit traiter la requête, par exemple <code>lua-script</code>
- si elle doit être traitée par mod_lua. Cette valeur est en
- général définie via les directives <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> ou <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, mais peut aussi l'être
- via mod_lua pour permettre à un autre gestionnaire de traiter
- une requête spécifique qui ne serait pas traitée par défaut
+ doit traiter la requête, par exemple <code>lua-script</code>
+ si elle doit être traitée par mod_lua. Cette valeur est en
+ général définie via les directives <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> ou <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, mais peut aussi l'être
+ via mod_lua pour permettre à un autre gestionnaire de traiter
+ une requête spécifique qui ne serait pas traitée par défaut
par ce dernier.
</td>
</tr>
<td><code>headers_in</code></td>
<td>table</td>
<td>oui</td>
- <td>Les en-têtes MIME de l'environnement de la requête. Il
- s'agit des en-têtes comme <code>Host, User-Agent,
+ <td>Les en-têtes MIME de l'environnement de la requête. Il
+ s'agit des en-têtes comme <code>Host, User-Agent,
Referer</code>, etc...</td>
</tr>
<tr class="odd">
<td><code>headers_out</code></td>
<td>table</td>
<td>oui</td>
- <td>Les en-têtes MIME de l'environnement de la réponse.</td>
+ <td>Les en-têtes MIME de l'environnement de la réponse.</td>
</tr>
<tr>
<td><code>hostname</code></td>
<td>string</td>
<td>non</td>
- <td>Le nom d'hôte, tel que défini par l'en-tête
+ <td>Le nom d'hôte, tel que défini par l'en-tête
<code>Host:</code> ou par un URI complet.</td>
</tr>
<tr class="odd">
<td><code>is_https</code></td>
<td>boolean</td>
<td>non</td>
- <td>Indique si la requête à été faite via HTTPS</td>
+ <td>Indique si la requête à été faite via HTTPS</td>
</tr>
<tr>
<td><code>is_initial_req</code></td>
<td>boolean</td>
<td>non</td>
- <td>Indique si la requête courante est la requête initiale ou
- une sous-requête.</td>
+ <td>Indique si la requête courante est la requête initiale ou
+ une sous-requête.</td>
</tr>
<tr class="odd">
<td><code>limit_req_body</code></td>
<td>number</td>
<td>non</td>
- <td>La taille maximale du corps de la requête, ou 0 si aucune
+ <td>La taille maximale du corps de la requête, ou 0 si aucune
limite.</td>
</tr>
<tr>
<td><code>log_id</code></td>
<td>string</td>
<td>non</td>
- <td>L'identifiant de la requête dans les journaux d'accès ou
+ <td>L'identifiant de la requête dans les journaux d'accès ou
d'erreur.</td>
</tr>
<tr class="odd">
<td><code>method</code></td>
<td>string</td>
<td>non</td>
- <td>La méthode de la requête, par exemple <code>GET</code> ou
+ <td>La méthode de la requête, par exemple <code>GET</code> ou
<code>POST</code>.</td>
</tr>
<tr>
<td><code>notes</code></td>
<td>table</td>
<td>oui</td>
- <td>Une liste de notes qui peuvent être transmises d'un module
- à l'autre.</td>
+ <td>Une liste de notes qui peuvent être transmises d'un module
+ à l'autre.</td>
</tr>
<tr class="odd">
<td><code>options</code></td>
<td>string</td>
<td>non</td>
- <td>La valeur de la directive Options pour la requête
+ <td>La valeur de la directive Options pour la requête
courante.</td>
</tr>
<tr>
<td><code>path_info</code></td>
<td>string</td>
<td>non</td>
- <td>La valeur de PATH_INFO extraite de la requête.</td>
+ <td>La valeur de PATH_INFO extraite de la requête.</td>
</tr>
<tr class="odd">
<td><code>port</code></td>
<td>number</td>
<td>non</td>
- <td>Le port du serveur utilisé par la requête.</td>
+ <td>Le port du serveur utilisé par la requête.</td>
</tr>
<tr>
<td><code>protocol</code></td>
<td>string</td>
<td>non</td>
- <td>Le protocole utilisé, par exemple <code>HTTP/1.1</code></td>
+ <td>Le protocole utilisé, par exemple <code>HTTP/1.1</code></td>
</tr>
<tr class="odd">
<td><code>proxyreq</code></td>
<td>string</td>
<td>oui</td>
- <td>Indique s'il s'agit d'une requête mandatée ou non. Cette
- valeur est en général définie au cours de la phase
- post_read_request/translate_name du traitement de la requête.</td>
+ <td>Indique s'il s'agit d'une requête mandatée ou non. Cette
+ valeur est en général définie au cours de la phase
+ post_read_request/translate_name du traitement de la requête.</td>
</tr>
<tr>
<td><code>range</code></td>
<td>string</td>
<td>non</td>
- <td>Le contenu de l'en-tête <code>Range:</code>.</td>
+ <td>Le contenu de l'en-tête <code>Range:</code>.</td>
</tr>
<tr class="odd">
<td><code>remaining</code></td>
<td>number</td>
<td>non</td>
- <td>Le nombre d'octets du corps de la requête restant à lire.</td>
+ <td>Le nombre d'octets du corps de la requête restant à lire.</td>
</tr>
<tr>
<td><code>server_built</code></td>
<td><code>server_name</code></td>
<td>string</td>
<td>non</td>
- <td>Le nom du serveur pour cette requête.</td>
+ <td>Le nom du serveur pour cette requête.</td>
</tr>
<tr>
<td><code>some_auth_required</code></td>
<td>boolean</td>
<td>non</td>
- <td>Indique si une autorisation est/était requise pour cette
- requête.</td>
+ <td>Indique si une autorisation est/était requise pour cette
+ requête.</td>
</tr>
<tr class="odd">
<td><code>subprocess_env</code></td>
<td>table</td>
<td>oui</td>
- <td>Le jeu de variables d'environnement pour cette requête.</td>
+ <td>Le jeu de variables d'environnement pour cette requête.</td>
</tr>
<tr>
<td><code>started</code></td>
<td>number</td>
<td>non</td>
- <td>Le moment où le serveur a été (re)démarré, en secondes
+ <td>Le moment où le serveur a été (re)démarré, en secondes
depuis epoch (1er janvier 1970)</td>
</tr>
<tr class="odd">
<td><code>status</code></td>
<td>number</td>
<td>oui</td>
- <td>Le code de retour (courant) pour cette requête, par
+ <td>Le code de retour (courant) pour cette requête, par
exemple <code>200</code> ou <code>404</code>.</td>
</tr>
<tr>
<td><code>the_request</code></td>
<td>string</td>
<td>non</td>
- <td>La chaîne de la requête telle qu'elle a été envoyée par le
+ <td>La chaîne de la requête telle qu'elle a été envoyée par le
client, par exemple <code>GET /foo/bar HTTP/1.1</code>.</td>
</tr>
<tr class="odd">
<td><code>unparsed_uri</code></td>
<td>string</td>
<td>non</td>
- <td>La partie URI non interprétée de la requête</td>
+ <td>La partie URI non interprétée de la requête</td>
</tr>
<tr>
<td><code>uri</code></td>
<td>string</td>
<td>oui</td>
- <td>L'URI après interprétation par httpd</td>
+ <td>L'URI après interprétation par httpd</td>
</tr>
<tr class="odd">
<td><code>user</code></td>
<td>string</td>
<td>oui</td>
- <td>Si une authentification a été effectuée, nom de
- l'utilisateur authentifié.</td>
+ <td>Si une authentification a été effectuée, nom de
+ l'utilisateur authentifié.</td>
</tr>
<tr>
<td><code>useragent_ip</code></td>
<td>string</td>
<td>non</td>
- <td>L'adresse IP de l'agent qui a envoyé la requête</td>
+ <td>L'adresse IP de l'agent qui a envoyé la requête</td>
</tr>
</table>
</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="functions" id="functions">Méthodes de l'objet request_rec</a><a title="Lien permanent" href="#functions" class="permalink">¶</a></h2>
+<h2><a name="functions" id="functions">Méthodes de l'objet request_rec</a><a title="Lien permanent" href="#functions" class="permalink">¶</a></h2>
-<p>L'objet request_rec possède (au minimum) les méthodes suivantes :</p>
+<p>L'objet request_rec possède (au minimum) les méthodes suivantes :</p>
<pre class="prettyprint lang-lua">r:flush() -- vide le tampon de sortie
- -- Renvoie true si le vidage a été effectué avec succès,
+ -- Renvoie true si le vidage a été effectué avec succès,
-- false dans le cas contraire.
-while nous_avons_des_données_à_envoyer do
- r:puts("Bla bla bla\n") -- envoi des données à envoyer vers le tampon
+while nous_avons_des_données_à_envoyer do
+ r:puts("Bla bla bla\n") -- envoi des données à envoyer vers le tampon
r:flush() -- vidage du tampon (envoi au client)
r.usleep(500000) -- mise en attente pendant 0.5 secondes et bouclage
end</pre>
<pre class="prettyprint lang-lua">r:addoutputfilter(name|function) -- ajoute un filtre en sortie
-r:addoutputfilter("fooFilter") -- insère le filtre fooFilter dans le flux de sortie</pre>
+r:addoutputfilter("fooFilter") -- insère le filtre fooFilter dans le flux de sortie</pre>
<pre class="prettyprint lang-lua">r:sendfile(filename) -- envoie un fichier entier au client en utilisant sendfile s'il est
- -- supporté par la plateforme :
+ -- supporté par la plateforme :
if use_sendfile_thing then
r:sendfile("/var/www/large_file.img")
<pre class="prettyprint lang-lua">r:parseargs() -- renvoie deux tables : une table standard de couples
- -- clé/valeur pour les données GET simples,
- -- et une autre pour les données
- -- multivaluées (par exemple foo=1&foo=2&foo=3) :
+ -- clé/valeur pour les données GET simples,
+ -- et une autre pour les données
+ -- multivaluées (par exemple foo=1&foo=2&foo=3) :
local GET, GETMULTI = r:parseargs()
r:puts("Votre nom est : " .. GET['name'] or "Unknown")</pre>
-<pre class="prettyprint lang-lua">r:parsebody()([sizeLimit]) -- interprète le corps de la
- -- requête en tant que POST et renvoie
+<pre class="prettyprint lang-lua">r:parsebody()([sizeLimit]) -- interprète le corps de la
+ -- requête en tant que POST et renvoie
-- deux tables lua, comme r:parseargs(). Un
- -- nombre optionnel peut être fourni
- -- pour spécifier le nombre maximal
- -- d'octets à interpréter. La
- -- valeur par défaut est 8192.
+ -- nombre optionnel peut être fourni
+ -- pour spécifier le nombre maximal
+ -- d'octets à interpréter. La
+ -- valeur par défaut est 8192.
local POST, POSTMULTI = r:parsebody(1024*1024)
r:puts("Votre nom est : " .. POST['name'] or "Unknown")</pre>
-<pre class="prettyprint lang-lua">r:puts("bonjour", " le monde", "!") -- affichage dans le corps de la réponse</pre>
+<pre class="prettyprint lang-lua">r:puts("bonjour", " le monde", "!") -- affichage dans le corps de la réponse</pre>
-<pre class="prettyprint lang-lua">r:write("une simple chaîne") -- affichage dans le corps de la réponse</pre>
+<pre class="prettyprint lang-lua">r:write("une simple chaîne") -- affichage dans le corps de la réponse</pre>
-<pre class="prettyprint lang-lua">r:escape_html("<html>test</html>") -- Echappe le code HTML et renvoie le résultat</pre>
+<pre class="prettyprint lang-lua">r:escape_html("<html>test</html>") -- Echappe le code HTML et renvoie le résultat</pre>
-<pre class="prettyprint lang-lua">r:base64_encode(string) -- Encode une chaîne à l'aide du standard de codage Base64.
+<pre class="prettyprint lang-lua">r:base64_encode(string) -- Encode une chaîne à l'aide du standard de codage Base64.
local encoded = r:base64_encode("This is a test") -- returns VGhpcyBpcyBhIHRlc3Q=</pre>
-<pre class="prettyprint lang-lua">r:base64_decode(string) -- Décode une chaîne codée en Base64.
+<pre class="prettyprint lang-lua">r:base64_decode(string) -- Décode une chaîne codée en Base64.
local decoded = r:base64_decode("VGhpcyBpcyBhIHRlc3Q=") -- returns 'This is a test'</pre>
-<pre class="prettyprint lang-lua">r:md5(string) -- Calcule et renvoie le condensé MD5 d'une chaîne en mode binaire (binary safe).
+<pre class="prettyprint lang-lua">r:md5(string) -- Calcule et renvoie le condensé MD5 d'une chaîne en mode binaire (binary safe).
local hash = r:md5("This is a test") -- returns ce114e4501d2f4e2dcea3e17b546f339</pre>
-<pre class="prettyprint lang-lua">r:sha1(string) -- Calcule et renvoie le condensé SHA1 d'une chaîne en mode binaire (binary safe).
+<pre class="prettyprint lang-lua">r:sha1(string) -- Calcule et renvoie le condensé SHA1 d'une chaîne en mode binaire (binary safe).
local hash = r:sha1("This is a test") -- returns a54d88e06612d820bc3be72877c74f257b561b19</pre>
-<pre class="prettyprint lang-lua">r:escape(string) -- Echappe une chaîne de type URL.
+<pre class="prettyprint lang-lua">r:escape(string) -- Echappe une chaîne de type URL.
local url = "http://foo.bar/1 2 3 & 4 + 5"
local escaped = r:escape(url) -- renvoie 'http%3a%2f%2ffoo.bar%2f1+2+3+%26+4+%2b+5'</pre>
-<pre class="prettyprint lang-lua">r:unescape(string) -- Déséchappe une chaîne de type URL.
+<pre class="prettyprint lang-lua">r:unescape(string) -- Déséchappe une chaîne de type URL.
local url = "http%3a%2f%2ffoo.bar%2f1+2+3+%26+4+%2b+5"
local unescaped = r:unescape(url) -- renvoie 'http://foo.bar/1 2 3 & 4 + 5'</pre>
-<pre class="prettyprint lang-lua">r:construct_url(string) -- Construit une URL à partir d'un URI
+<pre class="prettyprint lang-lua">r:construct_url(string) -- Construit une URL à partir d'un URI
local url = r:construct_url(r.uri)</pre>
-<pre class="prettyprint lang-lua">r.mpm_query(number) -- Interroge le serveur à propos de son module MPM via la requête ap_mpm_query.
+<pre class="prettyprint lang-lua">r.mpm_query(number) -- Interroge le serveur à propos de son module MPM via la requête ap_mpm_query.
local mpm = r.mpm_query(14)
if mpm == 1 then
end</pre>
-<pre class="prettyprint lang-lua">r:expr(string) -- Evalue une chaîne de type <a href="../expr.html">expr</a>.
+<pre class="prettyprint lang-lua">r:expr(string) -- Evalue une chaîne de type <a href="../expr.html">expr</a>.
if r:expr("%{HTTP_HOST} =~ /^www/") then
- r:puts("Ce nom d'hôte commence par www")
+ r:puts("Ce nom d'hôte commence par www")
end</pre>
-<pre class="prettyprint lang-lua">r:scoreboard_process(a) -- Interroge le serveur à propos du
- -- processus à la position <code>a</code>.
+<pre class="prettyprint lang-lua">r:scoreboard_process(a) -- Interroge le serveur à propos du
+ -- processus à la position <code>a</code>.
local process = r:scoreboard_process(1)
r:puts("Le serveur 1 a comme PID " .. process.pid)</pre>
-<pre class="prettyprint lang-lua">r:scoreboard_worker(a, b) -- Interroge le serveur à propos du
+<pre class="prettyprint lang-lua">r:scoreboard_worker(a, b) -- Interroge le serveur à propos du
-- thread <code>b</code>, dans le processus <code>a</code>.
local thread = r:scoreboard_worker(1, 1)
r:puts("L'ID du thread 1 du serveur 1 est " .. thread.tid .. " et son
-état est " .. thread.status)</pre>
+état est " .. thread.status)</pre>
-<pre class="prettyprint lang-lua">r:clock() -- Renvoie l'heure courante avec une précision d'une microseconde.</pre>
+<pre class="prettyprint lang-lua">r:clock() -- Renvoie l'heure courante avec une précision d'une microseconde.</pre>
-<pre class="prettyprint lang-lua">r:requestbody(filename) -- Lit et renvoie le corps d'une requête.
- -- Si 'filename' est spécifié, le
- -- corps de requête n'est pas
- -- renvoyé, mais sauvegardé dans
+<pre class="prettyprint lang-lua">r:requestbody(filename) -- Lit et renvoie le corps d'une requête.
+ -- Si 'filename' est spécifié, le
+ -- corps de requête n'est pas
+ -- renvoyé, mais sauvegardé dans
-- le fichier correspondant.
local input = r:requestbody()
-r:puts("Vous m'avez envoyé le corps de requête suivant :\n")
+r:puts("Vous m'avez envoyé le corps de requête suivant :\n")
r:puts(input)</pre>
-<pre class="prettyprint lang-lua">r:add_input_filter(filter_name) -- Ajoute le filtre en entrée 'filter_name'.</pre>
+<pre class="prettyprint lang-lua">r:add_input_filter(filter_name) -- Ajoute le filtre en entrée 'filter_name'.</pre>
-<pre class="prettyprint lang-lua">r:module_info(module_name) -- Interroge le serveur à propos d'un module.
+<pre class="prettyprint lang-lua">r:module_info(module_name) -- Interroge le serveur à propos d'un module.
local mod = r.module_info("mod_lua.c")
if mod then
for k, v in pairs(mod.commands) do
r:puts( ("%s: %s\n"):format(k,v)) -- affiche toutes les directives
- -- implémentées par ce module.
+ -- implémentées par ce module.
end
end</pre>
-<pre class="prettyprint lang-lua">r:loaded_modules() -- Renvoie une liste des modules chargés par httpd.
+<pre class="prettyprint lang-lua">r:loaded_modules() -- Renvoie une liste des modules chargés par httpd.
for k, module in pairs(r:loaded_modules()) do
- r:puts("J'ai chargé le module " .. module .. "\n")
+ r:puts("J'ai chargé le module " .. module .. "\n")
end</pre>
-<pre class="prettyprint lang-lua">r:runtime_dir_relative(filename) -- Génère le nom d'un fichier run-time
- -- (par exemple la mémoire partagée
- -- "file") relativement au répertoire de run-time.</pre>
+<pre class="prettyprint lang-lua">r:runtime_dir_relative(filename) -- Génère le nom d'un fichier run-time
+ -- (par exemple la mémoire partagée
+ -- "file") relativement au répertoire de run-time.</pre>
-<pre class="prettyprint lang-lua">r:server_info() -- Renvoie une table contenant des informations à
+<pre class="prettyprint lang-lua">r:server_info() -- Renvoie une table contenant des informations à
-- propos du serveur, comme le nom de
- -- l'exécutable httpd, le module mpm utilisé, etc...</pre>
+ -- l'exécutable httpd, le module mpm utilisé, etc...</pre>
-<pre class="prettyprint lang-lua">r:set_document_root(file_path) -- Définit la racine des documents
- -- pour la requête à file_path.</pre>
+<pre class="prettyprint lang-lua">r:set_document_root(file_path) -- Définit la racine des documents
+ -- pour la requête à file_path.</pre>
-<pre class="prettyprint lang-lua">r:add_version_component(component_string) -- Ajoute un élément à
- -- la bannière du serveur.</pre>
+<pre class="prettyprint lang-lua">r:add_version_component(component_string) -- Ajoute un élément à
+ -- la bannière du serveur.</pre>
-<pre class="prettyprint lang-lua">r:set_context_info(prefix, docroot) -- Définit le préfixe et la
- -- racine des documents du contexte pour une requête.</pre>
+<pre class="prettyprint lang-lua">r:set_context_info(prefix, docroot) -- Définit le préfixe et la
+ -- racine des documents du contexte pour une requête.</pre>
-<pre class="prettyprint lang-lua">r:os_escape_path(file_path) -- Convertit un chemin du système de
- -- fichiers en URL indépendamment du système d'exploitation.</pre>
+<pre class="prettyprint lang-lua">r:os_escape_path(file_path) -- Convertit un chemin du système de
+ -- fichiers en URL indépendamment du système d'exploitation.</pre>
-<pre class="prettyprint lang-lua">r:escape_logitem(string) -- Echappe une chaîne pour journalisation.</pre>
+<pre class="prettyprint lang-lua">r:escape_logitem(string) -- Echappe une chaîne pour journalisation.</pre>
-<pre class="prettyprint lang-lua">r.strcmp_match(string, pattern) -- Vérifie si 'string' correspond à
+<pre class="prettyprint lang-lua">r.strcmp_match(string, pattern) -- Vérifie si 'string' correspond à
-- 'pattern' via la fonction strcmp_match (GLOBs). Par exemple, est-ce que
- -- 'www.example.com' correspond à '*.example.com' ?
+ -- 'www.example.com' correspond à '*.example.com' ?
local match = r.strcmp_match("foobar.com", "foo*.com")
if match then
end</pre>
-<pre class="prettyprint lang-lua">r:set_keepalive() -- Définit l'état de persistance d'une requête.
+<pre class="prettyprint lang-lua">r:set_keepalive() -- Définit l'état de persistance d'une requête.
-- Renvoie true dans la mesure du possible, false dans le cas contraire.</pre>
-<pre class="prettyprint lang-lua">r:make_etag() -- Génère et renvoie le etag pour la requête courante.</pre>
+<pre class="prettyprint lang-lua">r:make_etag() -- Génère et renvoie le etag pour la requête courante.</pre>
-<pre class="prettyprint lang-lua">r:send_interim_response(clear) -- Renvoie une réponse d'intérim (1xx) au
- -- client. Si 'clear' est vrai, les en-têtes disponibles
- -- seront envoyés et effacés.</pre>
+<pre class="prettyprint lang-lua">r:send_interim_response(clear) -- Renvoie une réponse d'intérim (1xx) au
+ -- client. Si 'clear' est vrai, les en-têtes disponibles
+ -- seront envoyés et effacés.</pre>
-<pre class="prettyprint lang-lua">r:custom_response(status_code, string) -- Génère et définit une réponse
- -- personnalisée pour un code d'état particulier.
- -- Le fonctionnement est très proche de celui de la directive ErrorDocument.
+<pre class="prettyprint lang-lua">r:custom_response(status_code, string) -- Génère et définit une réponse
+ -- personnalisée pour un code d'état particulier.
+ -- Le fonctionnement est très proche de celui de la directive ErrorDocument.
r:custom_response(404, "Baleted!")</pre>
-<pre class="prettyprint lang-lua">r.exists_config_define(string) -- Vérifie si une définition de configuration existe.
+<pre class="prettyprint lang-lua">r.exists_config_define(string) -- Vérifie si une définition de configuration existe.
if r.exists_config_define("FOO") then
- r:puts("httpd a probablement été lancé avec l'option -DFOO, ou FOO a
- été défini dans la configuration")
+ r:puts("httpd a probablement été lancé avec l'option -DFOO, ou FOO a
+ été défini dans la configuration")
end</pre>
-<pre class="prettyprint lang-lua">r:state_query(string) -- Interroge le serveur à propos de son état.</pre>
+<pre class="prettyprint lang-lua">r:state_query(string) -- Interroge le serveur à propos de son état.</pre>
-<pre class="prettyprint lang-lua">r:stat(filename [,wanted]) -- Exécute stat() sur un fichier, et renvoie une table contenant
- -- des informations à propos de ce fichier.
+<pre class="prettyprint lang-lua">r:stat(filename [,wanted]) -- Exécute stat() sur un fichier, et renvoie une table contenant
+ -- des informations à propos de ce fichier.
local info = r:stat("/var/www/foo.txt")
if info then
- r:puts("Ce fichier existe et a été modifié pour la dernière fois à : " .. info.modified)
+ r:puts("Ce fichier existe et a été modifié pour la dernière fois à : " .. info.modified)
end</pre>
-<pre class="prettyprint lang-lua">r:regex(string, pattern [,flags]) -- Exécute une recherche à base d'expression rationnelle
- -- sur une chaîne, et renvoie les éventuelles correspondances trouvées.
+<pre class="prettyprint lang-lua">r:regex(string, pattern [,flags]) -- Exécute une recherche à base d'expression rationnelle
+ -- sur une chaîne, et renvoie les éventuelles correspondances trouvées.
local matches = r:regex("foo bar baz", [[foo (\w+) (\S*)]])
if matches then
r:puts("L'expression rationnelle correspond et le dernier mot
- capturé ($2) est : " .. matches[2])
+ capturé ($2) est : " .. matches[2])
end
--- Exemple avec insensibilité à la casse :
+-- Exemple avec insensibilité à la casse :
local matches = r:regex("FOO bar BAz", [[(foo) bar]], 1)
--- les drapeaux peuvent être une combibaison bit à bit de :
--- 0x01: insensibilité à la casse
+-- les drapeaux peuvent être une combibaison bit à bit de :
+-- 0x01: insensibilité à la casse
-- 0x02: recherche multiligne</pre>
-<pre class="prettyprint lang-lua">r.usleep(microsecondes) -- Interrompt l'exécution du script pendant le nombre de microsecondes spécifié.</pre>
+<pre class="prettyprint lang-lua">r.usleep(microsecondes) -- Interrompt l'exécution du script pendant le nombre de microsecondes spécifié.</pre>
-<pre class="prettyprint lang-lua">r:dbacquire(dbType[, dbParams]) -- Acquiert une connexion à une base de données et renvoie une classe database.
- -- Voir '<a href="#databases">Connectivité aux bases de données</a>'
- -- pour plus de détails.</pre>
+<pre class="prettyprint lang-lua">r:dbacquire(dbType[, dbParams]) -- Acquiert une connexion à une base de données et renvoie une classe database.
+ -- Voir '<a href="#databases">Connectivité aux bases de données</a>'
+ -- pour plus de détails.</pre>
-<pre class="prettyprint lang-lua">r:ivm_set("key", value) -- Défini une variable Inter-VM avec une valeur spécifique.
- -- Ces valeurs sont conservées même si la VM est
- -- arrêtée ou non utilisée, et ne doivent donc être
- -- utilisées que si MaxConnectionsPerChild > 0.
- -- Les valeurs peuvent être de type number, string
- -- ou boolean et sont stockées séparément pour
+<pre class="prettyprint lang-lua">r:ivm_set("key", value) -- Défini une variable Inter-VM avec une valeur spécifique.
+ -- Ces valeurs sont conservées même si la VM est
+ -- arrêtée ou non utilisée, et ne doivent donc être
+ -- utilisées que si MaxConnectionsPerChild > 0.
+ -- Les valeurs peuvent être de type number, string
+ -- ou boolean et sont stockées séparément pour
-- chaque processus (elles ne seront donc pas d'une
- -- grande utilité si l'on utilise le mpm prefork).
+ -- grande utilité si l'on utilise le mpm prefork).
-r:ivm_get("key") -- Lit le contenu d'une variable définie via ivm_set. Renvoie
+r:ivm_get("key") -- Lit le contenu d'une variable définie via ivm_set. Renvoie
-- le contenu de la variable si elle existe, ou nil
-- dans le cas contraire.
--- Voici un exemple de lecture/écriture qui sauvegarde une variable
+-- Voici un exemple de lecture/écriture qui sauvegarde une variable
-- globale en dehors de la VM :
function handle(r)
- -- La première VM qui effectue l'appel suivant n'obtiendra aucune
- -- valeur, et devra la créer
+ -- La première VM qui effectue l'appel suivant n'obtiendra aucune
+ -- valeur, et devra la créer
local foo = r:ivm_get("cached_data")
if not foo then
foo = do_some_calcs() -- simulation de valeurs de retour
- r:ivm_set("cached_data", foo) -- définition globale de la variable
+ r:ivm_set("cached_data", foo) -- définition globale de la variable
end
- r:puts("La donnée en cache est : ", foo)
+ r:puts("La donnée en cache est : ", foo)
end</pre>
-<pre class="prettyprint lang-lua">r:htpassword(string [,algorithm [,cost]]) -- Génère un hash de mot de passe à partir d'une chaîne.
- -- algorithm: 0 = APMD5 (défaut), 1 = SHA, 2 = BCRYPT, 3 = CRYPT.
- -- cost: ne s'utilise qu'avec l'algorythme BCRYPT (défaut = 5).</pre>
+<pre class="prettyprint lang-lua">r:htpassword(string [,algorithm [,cost]]) -- Génère un hash de mot de passe à partir d'une chaîne.
+ -- algorithm: 0 = APMD5 (défaut), 1 = SHA, 2 = BCRYPT, 3 = CRYPT.
+ -- cost: ne s'utilise qu'avec l'algorythme BCRYPT (défaut = 5).</pre>
-<pre class="prettyprint lang-lua">r:mkdir(dir [,mode]) -- Crée un répertoire et définit son mode via le paramètre optionnel mode.</pre>
+<pre class="prettyprint lang-lua">r:mkdir(dir [,mode]) -- Crée un répertoire et définit son mode via le paramètre optionnel mode.</pre>
-<pre class="prettyprint lang-lua">r:mkrdir(dir [,mode]) -- Crée des répertoires de manière récursive et définit
- -- leur mode via le paramètre optionnel mode.</pre>
+<pre class="prettyprint lang-lua">r:mkrdir(dir [,mode]) -- Crée des répertoires de manière récursive et définit
+ -- leur mode via le paramètre optionnel mode.</pre>
-<pre class="prettyprint lang-lua">r:rmdir(dir) -- Supprime un répertoire.</pre>
+<pre class="prettyprint lang-lua">r:rmdir(dir) -- Supprime un répertoire.</pre>
-<pre class="prettyprint lang-lua">r:touch(file [,mtime]) -- Définit la date de modification d'un fichier à la date courante ou à
+<pre class="prettyprint lang-lua">r:touch(file [,mtime]) -- Définit la date de modification d'un fichier à la date courante ou à
-- la valeur optionnelle mtime en msec.</pre>
-<pre class="prettyprint lang-lua">r:get_direntries(dir) -- Renvoie une table contenant toutes les entrées de répertoires.
+<pre class="prettyprint lang-lua">r:get_direntries(dir) -- Renvoie une table contenant toutes les entrées de répertoires.
--- Renvoie un chemin sous forme éclatée en chemin, fichier, extension
+-- Renvoie un chemin sous forme éclatée en chemin, fichier, extension
function handle(r)
local dir = r.context_document_root
for _, f in ipairs(r:get_direntries(dir)) do
end</pre>
-<pre class="prettyprint lang-lua">r.date_parse_rfc(string) -- Interprète une chaîne date/heure et renvoie l'équivalent en secondes depuis epoche.</pre>
+<pre class="prettyprint lang-lua">r.date_parse_rfc(string) -- Interprète une chaîne date/heure et renvoie l'équivalent en secondes depuis epoche.</pre>
<pre class="prettyprint lang-lua">r:getcookie(key) -- Obtient un cookie HTTP</pre>
-<pre class="prettyprint lang-lua">r:setcookie(key, value, secure, expires) -- Définit un cookie HTTP, par exemple :
+<pre class="prettyprint lang-lua">r:setcookie(key, value, secure, expires) -- Définit un cookie HTTP, par exemple :
r:setcookie("foo", "bar and stuff", false, os.time() + 86400)</pre>
-<pre class="prettyprint lang-lua">r:wsupgrade() -- Met à jour une connexion vers les WebSockets si possible (et si demandé) :
-if r:wsupgrade() then -- si la mise à jour est possible :
- r:wswrite("Bienvenue dans les websockets!") -- écrit quelque chose à l'intention du client
+<pre class="prettyprint lang-lua">r:wsupgrade() -- Met à jour une connexion vers les WebSockets si possible (et si demandé) :
+if r:wsupgrade() then -- si la mise à jour est possible :
+ r:wswrite("Bienvenue dans les websockets!") -- écrit quelque chose à l'intention du client
r:wsclose() -- Au revoir !
end</pre>
-<pre class="prettyprint lang-lua">r:wsread() -- Lit un cadre de websocket depuis une connexion vers websocket mise à jour (voir ci-dessus) :
+<pre class="prettyprint lang-lua">r:wsread() -- Lit un cadre de websocket depuis une connexion vers websocket mise à jour (voir ci-dessus) :
local line, isFinal = r:wsread() -- isFinal indique s'il s'agit du cadre final.
-- dans le cas contraire, on peut lire les cadres suivants
-r:wswrite("Vous avez écrit : " .. line)</pre>
+r:wswrite("Vous avez écrit : " .. line)</pre>
-<pre class="prettyprint lang-lua">r:wswrite(line) -- écrit un cadre vers un client WebSocket :
+<pre class="prettyprint lang-lua">r:wswrite(line) -- écrit un cadre vers un client WebSocket :
r:wswrite("Bonjour le Monde !")</pre>
-<pre class="prettyprint lang-lua">r:wsclose() -- ferme une requête WebSocket et l'achève pour httpd :
+<pre class="prettyprint lang-lua">r:wsclose() -- ferme une requête WebSocket et l'achève pour httpd :
if r:wsupgrade() then
r:wswrite("Ecrire quelque chose : ")
local line = r:wsread() or "nothing"
- r:wswrite("Vous avez écrit : " .. line);
+ r:wswrite("Vous avez écrit : " .. line);
r:wswrite("Au revoir !")
r:wsclose()
end</pre>
-<pre class="prettyprint lang-lua">r:wspeek() -- Vérifie s'il y a des données à lire
+<pre class="prettyprint lang-lua">r:wspeek() -- Vérifie s'il y a des données à lire
--- Se met en sommeil tant que rien ne nous est envoyé ...
+-- Se met en sommeil tant que rien ne nous est envoyé ...
while r:wspeek() == false do
r.usleep(50000)
end
--- Il y a des données à lire !
+-- Il y a des données à lire !
local line = r:wsread()</pre>
<pre class="prettyprint lang-lua">r:config() -- Extrait une arborescence de l'ensemble de
- -- la configuration de httpd pouvant être parcourue</pre>
+ -- la configuration de httpd pouvant être parcourue</pre>
<pre class="prettyprint lang-lua">r:activeconfig() -- Extrait une arborescence de la configuration active
- -- de httpd (pour le serveur virtuel sélectionné)</pre>
+ -- de httpd (pour le serveur virtuel sélectionné)</pre>
<pre class="prettyprint lang-lua"> -- exemples de messages de journalisation
r:trace1("Ceci est un message de journalisation de niveau
- trace") -- les niveaux valides vont de trace1 à trace8
+ trace") -- les niveaux valides vont de trace1 à trace8
r:debug("Ceci est un message de journalisation de niveau debug")
r:info("Ceci est un message de journalisation de niveau info")
r:notice("Ceci est un message de journalisation de niveau notice")
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="apache2" id="apache2">Paquet apache2</a><a title="Lien permanent" href="#apache2" class="permalink">¶</a></h2>
-<p>Le paquet nommé <code>apache2</code> est fourni avec (au minimum) le
+<p>Le paquet nommé <code>apache2</code> est fourni avec (au minimum) le
contenu suivant :</p>
<dl>
<dt>apache2.OK</dt>
<dd>Constante interne OK. Les gestionnaires renverront cette valeur
- s'ils ont traité la requête.</dd>
+ s'ils ont traité la requête.</dd>
<dt>apache2.DECLINED</dt>
<dd>Constante interne DECLINED. Les gestionnaires renverront cette
- valeur s'ils n'ont pas l'intention de traiter la requête.</dd>
+ valeur s'ils n'ont pas l'intention de traiter la requête.</dd>
<dt>apache2.DONE</dt>
<dd>Constante interne DONE.</dd>
<dt>apache2.version</dt>
- <dd>Chaîne contenant la version du serveur HTTP Apache</dd>
+ <dd>Chaîne contenant la version du serveur HTTP Apache</dd>
<dt>apache2.HTTP_MOVED_TEMPORARILY</dt>
- <dd>Code d'état HTTP</dd>
+ <dd>Code d'état HTTP</dd>
<dt>apache2.PROXYREQ_NONE, apache2.PROXYREQ_PROXY, apache2.PROXYREQ_REVERSE, apache2.PROXYREQ_RESPONSE</dt>
- <dd>Constantes internes utilisées par <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
+ <dd>Constantes internes utilisées par <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
<dt>apache2.AUTHZ_DENIED, apache2.AUTHZ_GRANTED, apache2.AUTHZ_NEUTRAL, apache2.AUTHZ_GENERAL_ERROR, apache2.AUTHZ_DENIED_NO_USER</dt>
- <dd>constantes internes utilisées par <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code></dd>
+ <dd>constantes internes utilisées par <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code></dd>
</dl>
-<p>Les autres codes d'état HTTP ne sont pas encore implémentés.</p>
+<p>Les autres codes d'état HTTP ne sont pas encore implémentés.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="modifying_buckets" id="modifying_buckets">Modification de contenu avec les filtres lua</a><a title="Lien permanent" href="#modifying_buckets" class="permalink">¶</a></h2>
<p>
- Les fonctions de filtrage implémentées via les directives <code class="directive"><a href="#luainputfilter">LuaInputFilter</a></code> ou <code class="directive"><a href="#luaoutputfilter">LuaOutputFilter</a></code> sont conçues comme des
- fonctions de 3ème phase non blocantes utilisant des sous-routines
- pour suspendre et reprendre l'exécution d'une fonction lorsque des
- paquets de données sont envoyés à la chaîne de filtrage. La
+ Les fonctions de filtrage implémentées via les directives <code class="directive"><a href="#luainputfilter">LuaInputFilter</a></code> ou <code class="directive"><a href="#luaoutputfilter">LuaOutputFilter</a></code> sont conçues comme des
+ fonctions de 3ème phase non blocantes utilisant des sous-routines
+ pour suspendre et reprendre l'exécution d'une fonction lorsque des
+ paquets de données sont envoyés à la chaîne de filtrage. La
structure de base d'une telle fonction est :
</p>
<pre class="prettyprint lang-lua">function filter(r)
- -- Nous indiquons tout d'abord que nous sommes prêts à recevoir des
- -- blocs de données.
- -- Avant ceci, nous pouvons définir notre environnement, tester
- -- certaines conditions, et, si nous le jugeons nécessaire, refuser le
- -- filtrage d'une requête :
+ -- Nous indiquons tout d'abord que nous sommes prêts à recevoir des
+ -- blocs de données.
+ -- Avant ceci, nous pouvons définir notre environnement, tester
+ -- certaines conditions, et, si nous le jugeons nécessaire, refuser le
+ -- filtrage d'une requête :
if something_bad then
- return -- Le filtrage est sauté
+ return -- Le filtrage est sauté
end
- -- Sans se préoccuper des données que nous devons éventuellement ajouter, un arrêt est réalisé ici.
- -- Noter que les filtres de sortie sont les seuls capables d'ajouter des éléments au début des données.
- -- Les filtres en entrée peuvent ajouter des éléments à la fin des données au stade final.
+ -- Sans se préoccuper des données que nous devons éventuellement ajouter, un arrêt est réalisé ici.
+ -- Noter que les filtres de sortie sont les seuls capables d'ajouter des éléments au début des données.
+ -- Les filtres en entrée peuvent ajouter des éléments à la fin des données au stade final.
coroutine.yield([optional header to be prepended to the content])
- -- Après cet arrêt, nous allons recevoir d'autres blocs de données, un par un ;
- -- nous pouvons les traiter comme il nous plaît et procéder à la réponse.
- -- Ces blocs sont conservés dans la variable globale 'bucket', nous réalisons donc
- -- une boucle pour vérifier que 'bucket' n'est pas vide :
+ -- Après cet arrêt, nous allons recevoir d'autres blocs de données, un par un ;
+ -- nous pouvons les traiter comme il nous plaît et procéder à la réponse.
+ -- Ces blocs sont conservés dans la variable globale 'bucket', nous réalisons donc
+ -- une boucle pour vérifier que 'bucket' n'est pas vide :
while bucket ~= nil do
local output = mangle(bucket) -- Do some stuff to the content
coroutine.yield(output) -- Return our new content to the filter chain
end
- -- Une fois les blocs de données épuisés, 'bucket' est positionné à une valeur vide ('nil'),
- -- ce qui va nous faire sortir de cette boucle et nous amener à l'étape suivante.
- -- On peut ajouter ce qu'on veut à la fin des données à cette étape, qui constitue le dernier
- -- arrêt. Les filtres d'entrée comme de sortie peuvent servir à ajouter des éléments à la fin
- -- des données à cette étape.
+ -- Une fois les blocs de données épuisés, 'bucket' est positionné à une valeur vide ('nil'),
+ -- ce qui va nous faire sortir de cette boucle et nous amener à l'étape suivante.
+ -- On peut ajouter ce qu'on veut à la fin des données à cette étape, qui constitue le dernier
+ -- arrêt. Les filtres d'entrée comme de sortie peuvent servir à ajouter des éléments à la fin
+ -- des données à cette étape.
coroutine.yield([optional footer to be appended to the content])
end</pre>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="databases" id="databases">Connectivité aux bases de données</a><a title="Lien permanent" href="#databases" class="permalink">¶</a></h2>
+<h2><a name="databases" id="databases">Connectivité aux bases de données</a><a title="Lien permanent" href="#databases" class="permalink">¶</a></h2>
- <p>Mod_lua implémente une fonctionnalité basique de connexion aux
-bases de données permettant d'envoyer des requêtes ou d'exécuter des
-commandes auprès des moteurs de base de données les plus courants
+ <p>Mod_lua implémente une fonctionnalité basique de connexion aux
+bases de données permettant d'envoyer des requêtes ou d'exécuter des
+commandes auprès des moteurs de base de données les plus courants
(mySQL, PostgreSQL, FreeTDS, ODBC, SQLite, Oracle), ainsi que mod_dbd.
</p>
- <p>L'exemple suivant montre comment se connecter à une base de
-données et extraire des informations d'une table :</p>
+ <p>L'exemple suivant montre comment se connecter à une base de
+données et extraire des informations d'une table :</p>
<pre class="prettyprint lang-lua">function handle(r)
- -- connexion à la base de données
+ -- connexion à la base de données
local database, err = r:dbacquire("mysql", "server=localhost,user=someuser,pass=somepass,dbname=mydb")
if not err then
- -- Sélection de certaines informations
+ -- Sélection de certaines informations
local results, err = database:select(r, "SELECT `name`, `age` FROM `people` WHERE 1")
if not err then
local rows = results(0) -- extrait tous les enregistrements en mode synchrone
end
database:close()
else
- r:puts("Connexion à la base de données impossible : " .. err)
+ r:puts("Connexion à la base de données impossible : " .. err)
end
end</pre>
<p>
- Pour utiliser <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code>, spécifiez
-<code>mod_dbd</code> comme type de base de données, ou laissez le champ
+ Pour utiliser <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code>, spécifiez
+<code>mod_dbd</code> comme type de base de données, ou laissez le champ
vide :
</p>
<pre class="prettyprint lang-lua">local database = r:dbacquire("mod_dbd")</pre>
- <h3><a name="database_object" id="database_object">L'objet database et ses méthodes</a></h3>
+ <h3><a name="database_object" id="database_object">L'objet database et ses méthodes</a></h3>
- <p>L'objet database renvoyé par <code>dbacquire</code> possède
-les méthodes suivantes :</p>
- <p><strong>Sélection normale et requête vers une base de données
+ <p>L'objet database renvoyé par <code>dbacquire</code> possède
+les méthodes suivantes :</p>
+ <p><strong>Sélection normale et requête vers une base de données
:</strong></p>
- <pre class="prettyprint lang-lua">-- Exécution d'une requête et renvoie du nombre d'enregistrements
-affectés :
+ <pre class="prettyprint lang-lua">-- Exécution d'une requête et renvoie du nombre d'enregistrements
+affectés :
local affected, errmsg = database:query(r, "DELETE FROM `tbl` WHERE 1")
--- Exécution d'une requête et renvoie du résultat qui peut être utilisé
+-- Exécution d'une requête et renvoie du résultat qui peut être utilisé
en mode synchrone ou asynchrone :
local result, errmsg = database:select(r, "SELECT * FROM `people` WHERE 1")</pre>
- <p><strong>Utilisation de requêtes préparées (recommandé) :</strong></p>
- <pre class="prettyprint lang-lua">-- Création et exécution d'une requête préparée :
+ <p><strong>Utilisation de requêtes préparées (recommandé) :</strong></p>
+ <pre class="prettyprint lang-lua">-- Création et exécution d'une requête préparée :
local statement, errmsg = database:prepare(r, "DELETE FROM `tbl` WHERE `age` > %u")
if not errmsg then
- local result, errmsg = statement:query(20) -- exécute la requête pour age > 20
+ local result, errmsg = statement:query(20) -- exécute la requête pour age > 20
end
--- Extrait une requête préparée depuis une directive DBDPrepareSQL :
+-- Extrait une requête préparée depuis une directive DBDPrepareSQL :
local statement, errmsg = database:prepared(r, "someTag")
if not errmsg then
- local result, errmsg = statement:select("John Doe", 123) -- injecte les valeurs "John Doe" et 123 dans la requête
+ local result, errmsg = statement:select("John Doe", 123) -- injecte les valeurs "John Doe" et 123 dans la requête
end</pre>
- <p><strong>Echappement de valeurs, fermeture de la base données,
+ <p><strong>Echappement de valeurs, fermeture de la base données,
etc...</strong></p>
- <pre class="prettyprint lang-lua">-- Echappe une valeur pour pouvoir l'utiliser dans une requête :
+ <pre class="prettyprint lang-lua">-- Echappe une valeur pour pouvoir l'utiliser dans une requête :
local escaped = database:escape(r, [["'|blabla]])
--- Ferme une base de données et libère les liens vers cette dernière :
+-- Ferme une base de données et libère les liens vers cette dernière :
database:close()
--- Vérifie si une connexion à une base de données est en service et
-opérationnelle :
+-- Vérifie si une connexion à une base de données est en service et
+opérationnelle :
local connected = database:active()</pre>
- <h3><a name="result_sets" id="result_sets">Travail avec les jeux d'enregistrements renvoyés par les requêtes</a></h3>
+ <h3><a name="result_sets" id="result_sets">Travail avec les jeux d'enregistrements renvoyés par les requêtes</a></h3>
- <p>Les jeux d'enregistrements renvoyés par <code>db:select</code> ou par des
-requêtes préparées créées par <code>db:prepare</code> permettent de
-sélectionner des enregistrements en mode synchrone ou
-asynchrone, selon le nombre d'enregistrements spécifié :<br />
- <code>result(0)</code> sélectionne tous les enregistrements en mode
+ <p>Les jeux d'enregistrements renvoyés par <code>db:select</code> ou par des
+requêtes préparées créées par <code>db:prepare</code> permettent de
+sélectionner des enregistrements en mode synchrone ou
+asynchrone, selon le nombre d'enregistrements spécifié :<br />
+ <code>result(0)</code> sélectionne tous les enregistrements en mode
synchrone en renvoyant une table d'enregistrements.<br />
- <code>result(-1)</code> sélectionne le prochain enregistrement disponible en
+ <code>result(-1)</code> sélectionne le prochain enregistrement disponible en
mode asynchrone.<br />
- <code>result(N)</code> sélectionne l'enregistrement numéro
+ <code>result(N)</code> sélectionne l'enregistrement numéro
<code>N</code> en mode asynchrone.
</p>
- <pre class="prettyprint lang-lua">-- extrait un jeu d'enregistrements via une requête régulière :
+ <pre class="prettyprint lang-lua">-- extrait un jeu d'enregistrements via une requête régulière :
local result, err = db:select(r, "SELECT * FROM `tbl` WHERE 1")
-local rows = result(0) -- sélectionne tous les enregistrements en mode synchrone
-local row = result(-1) -- sélectionne le prochain enregistrement disponible en mode asynchrone
-local row = result(1234) -- sélectionne l'enregistrement 1234 en mode asynchrone
+local rows = result(0) -- sélectionne tous les enregistrements en mode synchrone
+local row = result(-1) -- sélectionne le prochain enregistrement disponible en mode asynchrone
+local row = result(1234) -- sélectionne l'enregistrement 1234 en mode asynchrone
local row = result(-1, true) -- Lit l'enregistrement suivant en utilisant les noms d'enregistrements comme index.</pre>
<p>Il est possible de construire une fonction qui renvoie une
-fonction itérative permettant de traiter tous les enregistrement en mode
+fonction itérative permettant de traiter tous les enregistrement en mode
synchrone ou asynchrone selon la valeur de l'argument async :
</p>
<pre class="prettyprint lang-lua">function rows(resultset, async)
local statement, err = db:prepare(r, "SELECT * FROM `tbl` WHERE `age` > %u")
if not err then
- -- sélectionne des enregistrements en mode asynchrone :
+ -- sélectionne des enregistrements en mode asynchrone :
local result, err = statement:select(20)
if not err then
for index, row in rows(result, true) do
end
end
- -- sélectionne des enregistrements en mode synchrone :
+ -- sélectionne des enregistrements en mode synchrone :
local result, err = statement:select(20)
if not err then
for index, row in rows(result, false) do
end</pre>
- <h3><a name="closing_databases" id="closing_databases">Fermeture d'une connexion à une base de données</a></h3>
+ <h3><a name="closing_databases" id="closing_databases">Fermeture d'une connexion à une base de données</a></h3>
- <p>Lorsqu'elles ne sont plus utilisées, les connexions aux bases de
-données doivent être fermées avec <code>database:close()</code>. Si vous
-ne les fermez pas manuellement, mod_lua les fermera peut-être en tant
-que résidus collectés, mais si ce n'est pas le cas, vous pouvez finir
-pas avoir trop de connexions vers la base de données inutilisées. Les
+ <p>Lorsqu'elles ne sont plus utilisées, les connexions aux bases de
+données doivent être fermées avec <code>database:close()</code>. Si vous
+ne les fermez pas manuellement, mod_lua les fermera peut-être en tant
+que résidus collectés, mais si ce n'est pas le cas, vous pouvez finir
+pas avoir trop de connexions vers la base de données inutilisées. Les
deux mesures suivantes sont pratiquement identiques :
</p>
- <pre class="prettyprint lang-lua">-- Méthode 1 : fermeture manuelle de la connexion
+ <pre class="prettyprint lang-lua">-- Méthode 1 : fermeture manuelle de la connexion
local database = r:dbacquire("mod_dbd")
database:close() -- c'est tout
--- Méthode 2 : on laisse le collecteur de résidus la fermer
+-- Méthode 2 : on laisse le collecteur de résidus la fermer
local database = r:dbacquire("mod_dbd")
database = nil -- on coupe le lien
-collectgarbage() -- fermeture de la connexion par le collecteur de résidus</pre>
+collectgarbage() -- fermeture de la connexion par le collecteur de résidus</pre>
- <h3><a name="database_caveat" id="database_caveat">Précautions à prendre lorsque l'on travaille avec les bases
-de données</a></h3>
+ <h3><a name="database_caveat" id="database_caveat">Précautions à prendre lorsque l'on travaille avec les bases
+de données</a></h3>
<p>Bien que les fonctions <code>query</code> et <code>run</code>
-soient toujours disponibles, il est recommandé d'utiliser des requêtes
-préparées chaque fois que possible, afin d'une part d'optimiser les
+soient toujours disponibles, il est recommandé d'utiliser des requêtes
+préparées chaque fois que possible, afin d'une part d'optimiser les
performances (si votre connexion reste longtemps en vie), et d'autre part
minimiser le risque d'attaques par injection SQL. Les fonctions
-<code>run</code> et <code>query</code> ne doivent être utilisées que
-lorsque la requête ne contient pas de variables (requête statique). Dans
-le cas des requêtes dynamiques, utilisez <code>db:prepare</code> ou
+<code>run</code> et <code>query</code> ne doivent être utilisées que
+lorsque la requête ne contient pas de variables (requête statique). Dans
+le cas des requêtes dynamiques, utilisez <code>db:prepare</code> ou
<code>db:prepared</code>.
</p>
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaAuthzProvider provider_name /path/to/lua/script.lua function_name</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>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.3 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.3 du serveur HTTP Apache</td></tr>
</table>
-<p>Lorsqu'une fonction lua a été enregistrée en tant que fournisseur
-d'autorisation, elle peut être appelée via la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> :</p>
+<p>Lorsqu'une fonction lua a été enregistrée en tant que fournisseur
+d'autorisation, elle peut être appelée via la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> :</p>
<pre class="prettyprint lang-config">LuaRoot /usr/local/apache2/lua
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="luacodecache" id="luacodecache">Directive</a> <a name="LuaCodeCache" id="LuaCodeCache">LuaCodeCache</a><a title="Lien permanent" href="#luacodecache" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure le cache de code compilé.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure le cache de code compilé.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaCodeCache stat|forever|never</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LuaCodeCache stat</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#Default">Défaut:</a></th><td><code>LuaCodeCache stat</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">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
</table><p>
- Cette directive permet de définir le comportement du cache de code
- en mémoire. La valeur par défaut est stat ; dans ce cas, le script
- du niveau le plus haut (et pas les scripts inclus) est vérifié à
- chaque fois que ce fichier est nécessaire, et est rechargé si la
- date de modification est plus récente que celle du script déjà
- chargé. Les autres valeurs permettent respectivement de garder le
- fichier en cache perpétuellement (forever - jamais vérifié ni
- remplacé), ou de ne jamais le mettre en cache (never).</p>
-
- <p>En général, les valeurs stat et forever sont utilisées pour un
+ Cette directive permet de définir le comportement du cache de code
+ en mémoire. La valeur par défaut est stat ; dans ce cas, le script
+ du niveau le plus haut (et pas les scripts inclus) est vérifié à
+ chaque fois que ce fichier est nécessaire, et est rechargé si la
+ date de modification est plus récente que celle du script déjà
+ chargé. Les autres valeurs permettent respectivement de garder le
+ fichier en cache perpétuellement (forever - jamais vérifié ni
+ remplacé), ou de ne jamais le mettre en cache (never).</p>
+
+ <p>En général, les valeurs stat et forever sont utilisées pour un
serveur en production, et les valeurs stat ou never pour un serveur
- en développement.</p>
+ en développement.</p>
<div class="example"><h3>Exemples :</h3><pre class="prettyprint lang-config">LuaCodeCache stat
LuaCodeCache forever
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="luahookaccesschecker" id="luahookaccesschecker">Directive</a> <a name="LuaHookAccessChecker" id="LuaHookAccessChecker">LuaHookAccessChecker</a><a title="Lien permanent" href="#luahookaccesschecker" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase access_checker du
-traitement de la requête</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase access_checker du
+traitement de la requête</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookAccessChecker /chemin/vers/lua/script.lua hook_function_name [early|late]</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le troisième argument optionnel est disponible depuis la
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le troisième argument optionnel est disponible depuis la
version 2.3.15 du serveur HTTP Apache.</td></tr>
</table>
-<p>Ajoute votre fonction d'accroche à la phase access_checker. Une
-fonction d'accroche access checker renvoie en général OK, DECLINED, ou
+<p>Ajoute votre fonction d'accroche à la phase access_checker. Une
+fonction d'accroche access checker renvoie en général OK, DECLINED, ou
HTTP_FORBIDDEN.</p>
<div class="note"><h3>Ordonnancement</h3><p>Les arguments optionnels
- "early" ou "late" permettent de contrôler le moment auquel ce script
- s'exécute par rapport aux autres modules.</p></div>
+ "early" ou "late" permettent de contrôler le moment auquel ce script
+ s'exécute par rapport aux autres modules.</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="luahookauthchecker" id="luahookauthchecker">Directive</a> <a name="LuaHookAuthChecker" id="LuaHookAuthChecker">LuaHookAuthChecker</a><a title="Lien permanent" href="#luahookauthchecker" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase auth_checker du
-traitement de la requête</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase auth_checker du
+traitement de la requête</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookAuthChecker /chemin/vers/lua/script.lua hook_function_name [early|late]</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le troisième argument optionnel est disponible depuis la
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le troisième argument optionnel est disponible depuis la
version 2.3.15 du serveur HTTP Apache.</td></tr>
</table>
<p>Invoque une fonction lua au cours de la phase auth_checker du
-traitement de la requête. Cette directive peut s'utiliser pour
-implémenter une vérification arbitraire de l'authentification et de
-l'autorisation. Voici un exemple très simple :
+traitement de la requête. Cette directive peut s'utiliser pour
+implémenter une vérification arbitraire de l'authentification et de
+l'autorisation. Voici un exemple très simple :
</p>
<pre class="prettyprint lang-lua">require 'apache2'
-- fonction d'accroche authcheck fictive
--- Si la requête ne contient aucune donnée d'authentification, l'en-tête
--- de la réponse est défini et un code 401 est renvoyé afin de demander au
--- navigateur d'effectuer une authentification basique. Si la requête
--- comporte des données d'authentification, elles ne sont pas vraiment
--- consultées, mais on admet la prise en compte de l'utilisateur 'foo' et
--- on la valide. On vérifie ensuite si l'utilisateur est bien 'foo' et on
--- accepte la requête.
+-- Si la requête ne contient aucune donnée d'authentification, l'en-tête
+-- de la réponse est défini et un code 401 est renvoyé afin de demander au
+-- navigateur d'effectuer une authentification basique. Si la requête
+-- comporte des données d'authentification, elles ne sont pas vraiment
+-- consultées, mais on admet la prise en compte de l'utilisateur 'foo' et
+-- on la valide. On vérifie ensuite si l'utilisateur est bien 'foo' et on
+-- accepte la requête.
function authcheck_hook(r)
-- recherche des informations d'authentification
auth = r.headers_in['Authorization']
if auth ~= nil then
- -- définition d'un utilisateur par défaut
+ -- définition d'un utilisateur par défaut
r.user = 'foo'
end
end</pre>
<div class="note"><h3>Ordonnancement</h3><p>Les arguments optionnels
- "early" ou "late" permettent de contrôler le moment auquel ce script
- s'exécute par rapport aux autres modules.</p></div>
+ "early" ou "late" permettent de contrôler le moment auquel ce script
+ s'exécute par rapport aux autres modules.</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="luahookcheckuserid" id="luahookcheckuserid">Directive</a> <a name="LuaHookCheckUserID" id="LuaHookCheckUserID">LuaHookCheckUserID</a><a title="Lien permanent" href="#luahookcheckuserid" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase check_user_id du
-traitement de la requête</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase check_user_id du
+traitement de la requête</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookCheckUserID /path/to/lua/script.lua hook_function_name</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
</table>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="luahookfixups" id="luahookfixups">Directive</a> <a name="LuaHookFixups" id="LuaHookFixups">LuaHookFixups</a><a title="Lien permanent" href="#luahookfixups" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase de correction du
-traitement de la requête</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase de correction du
+traitement de la requête</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookFixups /chemin/vers/lua/script.lua hook_function_name</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
</table>
<p>
- Idem LuaHookTranslateName, mais s'exécute durant la phase de
+ Idem LuaHookTranslateName, mais s'exécute durant la phase de
correction.
</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="luahookinsertfilter" id="luahookinsertfilter">Directive</a> <a name="LuaHookInsertFilter" id="LuaHookInsertFilter">LuaHookInsertFilter</a><a title="Lien permanent" href="#luahookinsertfilter" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase insert_filter du
-traitement de la requête</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase insert_filter du
+traitement de la requête</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookInsertFilter /chemin/vers/lua/script.lua hook_function_name</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
-</table><p>Non encore implémenté</p>
+</table><p>Non encore implémenté</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="luahooklog" id="luahooklog">Directive</a> <a name="LuaHookLog" id="LuaHookLog">LuaHookLog</a><a title="Lien permanent" href="#luahooklog" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet une insertion dans la phase de journalisation du
-traitement d'une requête</td></tr>
+traitement d'une requête</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookLog /path/to/lua/script.lua log_function_name</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
</table>
<p>
- Ce dispositif d'insertion simple permet d'exécuter une fonction
+ Ce dispositif d'insertion simple permet d'exécuter une fonction
lorsque httpd entre dans la phase de journalisation du traitement
- d'une requête. Vous pouvez ainsi ajouter des données à vos propres
- entrées de journalisation, manipuler les entrées du journal standard
- avant leur enregistrement ou empêcher l'enregistrement d'une entrée
- dans le journal. Pour empêcher l'enregistrement normal des entrées
+ d'une requête. Vous pouvez ainsi ajouter des données à vos propres
+ entrées de journalisation, manipuler les entrées du journal standard
+ avant leur enregistrement ou empêcher l'enregistrement d'une entrée
+ dans le journal. Pour empêcher l'enregistrement normal des entrées
du journal, renvoyez simplement <code>apache2.DONE</code> dans votre
gestionnaire de journalisation, ou au contraire, renvoyez
<code>apache2.OK</code> pour que httpd effectue une journalisation
<pre class="prettyprint lang-lua">-- /path/to/script.lua --
function logger(r)
- -- on joue à pile ou face :
- -- Si on obtient 1, on écrit dans notre propre journal Lua et on dit
- -- à httpd de ne pas enregistrer d'entrée dans le journal standard..
- -- Si on obtient 2, on nettoie un peu les données avant que httpd ne
+ -- on joue à pile ou face :
+ -- Si on obtient 1, on écrit dans notre propre journal Lua et on dit
+ -- à httpd de ne pas enregistrer d'entrée dans le journal standard..
+ -- Si on obtient 2, on nettoie un peu les données avant que httpd ne
-- les enregistre dans le journal standard.
if math.random(1,2) == 1 then
-- On effectue notre propre journalisation et le journal
- -- standard n'est pas alimenté
+ -- standard n'est pas alimenté
local f = io.open("/foo/secret.log", "a")
if f then
- f:write("Quelque chose de secret est arrivé à " .. r.uri .. "\n")
+ f:write("Quelque chose de secret est arrivé à " .. r.uri .. "\n")
f:close()
end
- return apache2.DONE -- On dit à httpd de ne rien enregistrer
+ return apache2.DONE -- On dit à httpd de ne rien enregistrer
--dans le journal standard
else
- r.uri = r.uri:gsub("somesecretstuff", "") -- nettoie les données
+ r.uri = r.uri:gsub("somesecretstuff", "") -- nettoie les données
return apache2.OK -- et httpd doit alors les enregistrer.
end
end</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="luahookmaptostorage" id="luahookmaptostorage">Directive</a> <a name="LuaHookMapToStorage" id="LuaHookMapToStorage">LuaHookMapToStorage</a><a title="Lien permanent" href="#luahookmaptostorage" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase map_to_storage du
-traitement de la requête</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase map_to_storage du
+traitement de la requête</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookMapToStorage /chemin/vers/lua/script.lua hook_function_name</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
</table>
- <p>Identique à la directive
- <code class="directive">LuaHookTranslateName</code>, mais s'exécute à la
- phase map-to-storage du traitement de la requête. Les modules comme
- mod_cache agissent pendant cette phase, ce qui permet de présenter
- un exemple intéressant de ce que l'on peut faire ici :</p>
+ <p>Identique à la directive
+ <code class="directive">LuaHookTranslateName</code>, mais s'exécute à la
+ phase map-to-storage du traitement de la requête. Les modules comme
+ mod_cache agissent pendant cette phase, ce qui permet de présenter
+ un exemple intéressant de ce que l'on peut faire ici :</p>
<pre class="prettyprint lang-config">LuaHookMapToStorage /path/to/lua/script.lua check_cache</pre>
<pre class="prettyprint lang-lua">require"apache2"
function check_cache(r)
if r.filename:match("%.png$") then -- Ne concerne que les fichiers PNG
- local file = cached_files[r.filename] -- Vérifie les entrées du cache
+ local file = cached_files[r.filename] -- Vérifie les entrées du cache
if not file then
file = read_file(r.filename) -- Lit le fichier vers le cache
end
if file then -- Si le fichier existe, on l'envoie
r.status = 200
r:write(file)
- r:info(("%s a été envoyé au client depuis le cache"):format(r.filename))
- return apache2.DONE -- cout-circuite le gestionnaire par défaut des fichiers PNG
+ r:info(("%s a été envoyé au client depuis le cache"):format(r.filename))
+ return apache2.DONE -- cout-circuite le gestionnaire par défaut des fichiers PNG
end
end
- return apache2.DECLINED -- Si nous n'avons rien eu à faire, nous laissons les autres s'en charger
+ return apache2.DECLINED -- Si nous n'avons rien eu à faire, nous laissons les autres s'en charger
end</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="luahooktranslatename" id="luahooktranslatename">Directive</a> <a name="LuaHookTranslateName" id="LuaHookTranslateName">LuaHookTranslateName</a><a title="Lien permanent" href="#luahooktranslatename" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée à la phase du nom de
-traduction du traitement de la requête</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée à la phase du nom de
+traduction du traitement de la requête</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookTranslateName /chemin/vers/lua/script.lua nom_fonction_hook [early|late]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le troisième argument optionnel est disponible depuis la
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le troisième argument optionnel est disponible depuis la
version 2.3.15 du serveur HTTP Apache.</td></tr>
</table><p>
- Cette directive permet d'ajouter un point d'entrée (à
- APR_HOOK_MIDDLE) à la phase du nom de traduction du traitement de la
- requête. La fonction hook accepte un seul argument, le request_rec,
- et doit renvoyer un code d'état qui est soit un code d'erreur HTTP,
- ou une constante définie dans le module apache2 : apache2.OK,
+ Cette directive permet d'ajouter un point d'entrée (à
+ APR_HOOK_MIDDLE) à la phase du nom de traduction du traitement de la
+ requête. La fonction hook accepte un seul argument, le request_rec,
+ et doit renvoyer un code d'état qui est soit un code d'erreur HTTP,
+ ou une constante définie dans le module apache2 : apache2.OK,
apache2.DECLINED, ou apache2.DONE.</p>
- <p>Pour ceux qui ne sont pas familiers avec les points d'entrée
- (hook), en gros, chaque hook sera invoqué jusqu'à ce que l'un
+ <p>Pour ceux qui ne sont pas familiers avec les points d'entrée
+ (hook), en gros, chaque hook sera invoqué jusqu'à ce que l'un
d'entre eux renvoie apache2.OK. Si un hook n'effectuer pas la
traduction, il doit juste renvoyer apache2.DECLINED. Si le
- traitement de la requête doit être interrompu, la valeur renvoyée
- doit être apache2.DONE.</p>
+ traitement de la requête doit être interrompu, la valeur renvoyée
+ doit être apache2.DONE.</p>
<p>Exemple :</p>
end</pre>
- <div class="note"><h3>Contexte</h3><p>Cette directive ne peut être
- utilisée ni à l'intérieur d'une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, ni dans un fichier htaccess.</p></div>
+ <div class="note"><h3>Contexte</h3><p>Cette directive ne peut être
+ utilisée ni à l'intérieur d'une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, ni dans un fichier htaccess.</p></div>
<div class="note"><h3>Ordonnancement</h3><p>Les arguments optionnels
- "early" ou "late" permettent de contrôler le moment auquel ce script
- s'exécute par rapport aux autres modules.</p></div>
+ "early" ou "late" permettent de contrôler le moment auquel ce script
+ s'exécute par rapport aux autres modules.</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="luahooktypechecker" id="luahooktypechecker">Directive</a> <a name="LuaHookTypeChecker" id="LuaHookTypeChecker">LuaHookTypeChecker</a><a title="Lien permanent" href="#luahooktypechecker" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase type_checker du
-traitement de la requête</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la phase type_checker du
+traitement de la requête</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaHookTypeChecker /chemin/vers/lua/script.lua hook_function_name</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
</table><p>
- Cette directive fournit un point d'entrée pour la phase
- type_checker du traitement de la requête. Cette phase
- correspond au moment où la requête se voit assigner un type et un
- gestionnaire de contenu, et peut donc être utilisée pour modifier le
- type et le gestionnaire en fonction de l'entrée :
+ Cette directive fournit un point d'entrée pour la phase
+ type_checker du traitement de la requête. Cette phase
+ correspond au moment où la requête se voit assigner un type et un
+ gestionnaire de contenu, et peut donc être utilisée pour modifier le
+ type et le gestionnaire en fonction de l'entrée :
</p>
<pre class="prettyprint lang-config">LuaHookTypeChecker "/path/to/lua/script.lua" type_checker</pre>
<pre class="prettyprint lang-lua"> function type_checker(r)
if r.uri:match("%.to_gif$") then -- foo.png.to_gif convient
r.content_type = "image/gif" -- affectation du type image/gif
- r.handler = "gifWizard" -- force le traitement de la requête par le module gifWizard
- r.filename = r.uri:gsub("%.to_gif$", "") -- corrige le nom du fichier demandé
+ r.handler = "gifWizard" -- force le traitement de la requête par le module gifWizard
+ r.filename = r.uri:gsub("%.to_gif$", "") -- corrige le nom du fichier demandé
return apache2.OK
end
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="luainherit" id="luainherit">Directive</a> <a name="LuaInherit" id="LuaInherit">LuaInherit</a><a title="Lien permanent" href="#luainherit" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la manière dont les sections de configuration
-parentes sont fusionnées dans les enfants</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la manière dont les sections de configuration
+parentes sont fusionnées dans les enfants</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaInherit none|parent-first|parent-last</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LuaInherit parent-first</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#Default">Défaut:</a></th><td><code>LuaInherit parent-first</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">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 2.4.0 et supérieures</td></tr>
-</table><p>Par défaut, si des directives LuaHook* se trouvent dans
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 2.4.0 et supérieures</td></tr>
+</table><p>Par défaut, si des directives LuaHook* se trouvent dans
des sections de configuration Directory ou Location qui se
chevauchent, les scripts
- définis dans les sections les plus spécifiques s'exécutent
- <em>après</em> ceux définis dans les sections plus génériques
+ définis dans les sections les plus spécifiques s'exécutent
+ <em>après</em> ceux définis dans les sections plus génériques
(LuaInherit parent-first). Vous pouvez inverser cet ordre, ou faire
en sorte que le contexte parent ne s'applique pas du tout.</p>
- <p>Jusqu'aux versions 2.3.x, le comportement par défaut consistait à
- ignorer les directives LuaHook* situées dans les sections de
+ <p>Jusqu'aux versions 2.3.x, le comportement par défaut consistait à
+ ignorer les directives LuaHook* situées dans les sections de
configuration parentes.</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="luainputfilter" id="luainputfilter">Directive</a> <a name="LuaInputFilter" id="LuaInputFilter">LuaInputFilter</a><a title="Lien permanent" href="#luainputfilter" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit une fonction Lua pour le filtrage en entrée</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit une fonction Lua pour le filtrage en entrée</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaInputFilter filter_name /path/to/lua/script.lua function_name</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#Override">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.5 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.5 du serveur HTTP
Apache</td></tr>
</table>
-<p>Cette directive permet d'ajouter un filtre en entrée sous la forme
+<p>Cette directive permet d'ajouter un filtre en entrée sous la forme
d'une fonction Lua. A l'instar des filtres en sorties, les filtres en
-entrée fonctionnent comme des sous-routines, intervenant dans un premier
+entrée fonctionnent comme des sous-routines, intervenant dans un premier
temps avant l'envoi du contenu des tampons, puis chaque fois qu'un
-paquet de données doit être transmis à la chaîne, et éventuellement
-produisant toute donnée à ajouter aux données en entrée. La variable
-globale <code>bucket</code> contient les paquets de données tels qu'ils
+paquet de données doit être transmis à la chaîne, et éventuellement
+produisant toute donnée à ajouter aux données en entrée. La variable
+globale <code>bucket</code> contient les paquets de données tels qu'ils
sont transmis au script Lua :
</p>
</Files></pre>
<pre class="prettyprint lang-lua">--[[
- Exemple de filtre en entrée qui convertit toutes les données POST en
+ Exemple de filtre en entrée qui convertit toutes les données POST en
majuscules.
]]--
function input_filter(r)
- print("luaInputFilter called") -- pour débogage
- coroutine.yield() -- attend des paquets de données
+ print("luaInputFilter called") -- pour débogage
+ coroutine.yield() -- attend des paquets de données
while bucket do -- Pour chaque paquet, faire ...
- local output = string.upper(bucket) -- Convertit toutes les données POST en majuscules
- coroutine.yield(output) -- Envoie les données traitées à la chaîne de filtrage
+ local output = string.upper(bucket) -- Convertit toutes les données POST en majuscules
+ coroutine.yield(output) -- Envoie les données traitées à la chaîne de filtrage
end
- -- plus aucune donnée à traiter.
- coroutine.yield("&filterSignature=1234") -- Ajoute une signature à la fin
+ -- plus aucune donnée à traiter.
+ coroutine.yield("&filterSignature=1234") -- Ajoute une signature à la fin
end</pre>
<p>
-Le filtre en entrée peut interdire ou sauter un filtre s'il est
-considéré comme indésirable :
+Le filtre en entrée peut interdire ou sauter un filtre s'il est
+considéré comme indésirable :
</p>
<pre class="prettyprint lang-lua">function input_filter(r)
if not good then
- return -- Empêche tout simplement le filtrage et transmet le contenu original
+ return -- Empêche tout simplement le filtrage et transmet le contenu original
end
- coroutine.yield() -- attend des paquets de données
+ coroutine.yield() -- attend des paquets de données
... -- insert les filtres ici
end</pre>
<p>
Voir "<a href="#modifying_buckets">Modification de contenu avec les
-filtres Lua</a>" pour plus de détails.
+filtres Lua</a>" pour plus de détails.
</p>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en correspondance un chemin avec un gestionnaire lua</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaMapHandler modele-uri /chemin/vers/lua/script.lua
[nom-fonction]</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
</table>
- <p>Cette directive permet de faire correspondre un modèle d'uri avec
- une fonction de gestionnaire située dans un fichier spécifique. Elle
+ <p>Cette directive permet de faire correspondre un modèle d'uri avec
+ une fonction de gestionnaire située dans un fichier spécifique. Elle
utilise les expressions rationnelles PCRE pour mettre en
correspondance l'uri, et supporte les groupes de correspondance
d'interpolation dans le chemin du fichier et le nom de la fonction.
- Prenez garde aux problèmes de sécurité en écrivant vos expressions
+ Prenez garde aux problèmes de sécurité en écrivant vos expressions
rationnelles.</p>
<div class="example"><h3>Exemples :</h3><pre class="prettyprint lang-config">LuaMapHandler /(\w+)/(\w+) /scripts/$1.lua handle_$2</pre>
</div>
<p>Cette directive va faire correspondre des uri comme
/photos/show?id=9 au fichier /scripts/photos.lua, et invoquera la
fonction de gestionnaire handle_show au niveau de la vm lua
- après chargement de ce fichier.</p>
+ après chargement de ce fichier.</p>
<pre class="prettyprint lang-config">LuaMapHandler /bingo /scripts/wombat.lua</pre>
<p>Cette directive invoquera la fonction "handle" qui est la
- valeur par défaut si aucun nom de fonction spécifique n'est
- spécifié.</p>
+ valeur par défaut si aucun nom de fonction spécifique n'est
+ spécifié.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaOutputFilter filter_name /path/to/lua/script.lua function_name</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#Override">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
Apache</td></tr>
</table>
<p>>Cette directive permet d'ajouter un filtre en sortie sous la forme
d'une fonction Lua. A l'instar des filtres en sorties, les filtres en
-entrée fonctionnent comme des sous-routines, intervenant dans un premier
+entrée fonctionnent comme des sous-routines, intervenant dans un premier
temps avant l'envoi du contenu des tampons, puis chaque fois qu'un
-paquet de données doit être transmis à la chaîne, et éventuellement
-produisant toute donnée à ajouter aux données en sortie. La variable
-globale <code>bucket</code> contient les paquets de données tels qu'ils
+paquet de données doit être transmis à la chaîne, et éventuellement
+produisant toute donnée à ajouter aux données en sortie. La variable
+globale <code>bucket</code> contient les paquets de données tels qu'ils
sont transmis au script Lua :
</p>
</Files></pre>
<pre class="prettyprint lang-lua">--[[
- Exemple de filtre en sortie qui échappe toutes les entités HTML en
+ Exemple de filtre en sortie qui échappe toutes les entités HTML en
sortie
]]--
function output_filter(r)
- coroutine.yield("(Handled by myOutputFilter)<br/>\n") -- Ajoute des données au début de la sortie,
- -- puis attend des paquets de données à traiter
+ coroutine.yield("(Handled by myOutputFilter)<br/>\n") -- Ajoute des données au début de la sortie,
+ -- puis attend des paquets de données à traiter
while bucket do -- Pour chaque paquet, faire ...
- local output = r:escape_html(bucket) -- Echappe les données en sortie
- coroutine.yield(output) -- Envoie les données traitées à la chaîne
+ local output = r:escape_html(bucket) -- Echappe les données en sortie
+ coroutine.yield(output) -- Envoie les données traitées à la chaîne
end
- -- plus aucune donnée à traiter.
+ -- plus aucune donnée à traiter.
end</pre>
<p>
-Comme les filres en entrée, le filtre en sortie peut interdire ou sauter un filtre s'il est
-considéré comme indésirable :
+Comme les filres en entrée, le filtre en sortie peut interdire ou sauter un filtre s'il est
+considéré comme indésirable :
</p>
<pre class="prettyprint lang-lua">function output_filter(r)
if not r.content_type:match("text/html") then
- return -- Empêche tout simplement le filtrage et transmet le contenu original
+ return -- Empêche tout simplement le filtrage et transmet le contenu original
end
- coroutine.yield() -- attend des paquets de données
+ coroutine.yield() -- attend des paquets de données
... -- insert les filtres ici
end</pre>
<div class="note"><h3>Les filtres Lua avec <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></h3>
<p>Lorsqu'on utilise un filtre Lua comme fournisseur sous-jacent via la
directive <code class="directive"><a href="../mod/mod_filter.html#filterprovider">FilterProvider</a></code>, le
-filtrage ne fonctionnera que si <var>filter-name</var> est identique à
+filtrage ne fonctionnera que si <var>filter-name</var> est identique à
<var>provider-name</var>.
</p> </div>
<p>
Voir "<a href="#modifying_buckets">Modification de contenu avec les
-filtres Lua</a>" pour plus de détails.
+filtres Lua</a>" pour plus de détails.
</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="luapackagecpath" id="luapackagecpath">Directive</a> <a name="LuaPackageCPath" id="LuaPackageCPath">LuaPackageCPath</a><a title="Lien permanent" href="#luapackagecpath" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un répertoire au package.cpath de lua</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un répertoire au package.cpath de lua</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaPackageCPath /chemin/vers/include/?.soa</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
</table>
- <p>Cette directive permet d'ajouter un chemin à la liste des chemins
- de recherche des bibliothèques partagées de lua. Ceci modifie le
+ <p>Cette directive permet d'ajouter un chemin à la liste des chemins
+ de recherche des bibliothèques partagées de lua. Ceci modifie le
package.cpath dans les vms lua.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="luapackagepath" id="luapackagepath">Directive</a> <a name="LuaPackagePath" id="LuaPackagePath">LuaPackagePath</a><a title="Lien permanent" href="#luapackagepath" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un répertoire au package.path de lua</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un répertoire au package.path de lua</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaPackagePath /chemin/vers/include/?.lua</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
-</table><p>Cette directive permet d'ajouter un chemin à la liste des
- chemins de recherche du module lua. Elle suit les mêmes conventions
+</table><p>Cette directive permet d'ajouter un chemin à la liste des
+ chemins de recherche du module lua. Elle suit les mêmes conventions
que lua. Ceci modifie le package.path dans les vms lua.</p>
<div class="example"><h3>Exemples :</h3><pre class="prettyprint lang-config">LuaPackagePath /scripts/lib/?.lua
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="luaquickhandler" id="luaquickhandler">Directive</a> <a name="LuaQuickHandler" id="LuaQuickHandler">LuaQuickHandler</a><a title="Lien permanent" href="#luaquickhandler" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la gestion rapide du
-traitement de la requête</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un point d'entrée pour la gestion rapide du
+traitement de la requête</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaQuickHandler /path/to/script.lua hook_function_name</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
</table>
- <p>Cette phase s'exécute juste après l'attribution de la requête à
+ <p>Cette phase s'exécute juste après l'attribution de la requête à
un serveur virtuel, et permet d'effectuer certains traitements avant
- le déroulement des autres phases, ou de servir une requête sans
- avoir à la traduire, l'associer à un espace de stockage, etc...
- Comme cette phase s'exécute avant toute autre, les directives telles
+ le déroulement des autres phases, ou de servir une requête sans
+ avoir à la traduire, l'associer à un espace de stockage, etc...
+ Comme cette phase s'exécute avant toute autre, les directives telles
que <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou
<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ne
- sont pas encore prises en compte, car Les URI n'ont pas encore été
- entièrement interprétés.
+ sont pas encore prises en compte, car Les URI n'ont pas encore été
+ entièrement interprétés.
</p>
- <div class="note"><h3>Contexte</h3><p>Cette directive ne peut être
- utilisée ni à l'intérieur d'une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, ni dans un fichier htaccess.</p></div>
+ <div class="note"><h3>Contexte</h3><p>Cette directive ne peut être
+ utilisée ni à l'intérieur d'une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, ni dans un fichier htaccess.</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="luaroot" id="luaroot">Directive</a> <a name="LuaRoot" id="LuaRoot">LuaRoot</a><a title="Lien permanent" href="#luaroot" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le chemin de base pour la résolution des chemins
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le chemin de base pour la résolution des chemins
relatifs dans les directives de mod_lua</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaRoot /chemin/vers/un/répertoire</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#Syntax">Syntaxe:</a></th><td><code>LuaRoot /chemin/vers/un/répertoire</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">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
</table>
- <p>Cette directive permet de spécifier le chemin de base qui sera
- utilisé pour évaluer tous les chemins relatifs dans mod_lua. En
- l'absence de cette directive, les chemins relatifs sont résolus par
- rapport au répertoire de travail courant, ce qui ne sera pas
- toujours approprié pour un serveur.</p>
+ <p>Cette directive permet de spécifier le chemin de base qui sera
+ utilisé pour évaluer tous les chemins relatifs dans mod_lua. En
+ l'absence de cette directive, les chemins relatifs sont résolus par
+ rapport au répertoire de travail courant, ce qui ne sera pas
+ toujours approprié pour un serveur.</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="luascope" id="luascope">Directive</a> <a name="LuaScope" id="LuaScope">LuaScope</a><a title="Lien permanent" href="#luascope" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Une valeur parmi once, request, conn, thread -- la valeur par défaut est once</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Une valeur parmi once, request, conn, thread -- la valeur par défaut est once</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaScope once|request|conn|thread|server [min] [max]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LuaScope once</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#Default">Défaut:</a></th><td><code>LuaScope once</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">AllowOverride:</a></th><td>All</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_lua</td></tr>
</table>
- <p>Cette directive permet de spécifier la durée de vie de
- l'interpréteur Lua qui sera utilisé dans ce "répertoire". La valeur
- par défaut est "once".</p>
+ <p>Cette directive permet de spécifier la durée de vie de
+ l'interpréteur Lua qui sera utilisé dans ce "répertoire". La valeur
+ par défaut est "once".</p>
<dl>
- <dt>once:</dt> <dd>utilise l'interpréteur une fois.</dd>
+ <dt>once:</dt> <dd>utilise l'interpréteur une fois.</dd>
- <dt>request:</dt> <dd>utilise l'interpréteur pour traiter tout ce
- qui est basé sur le même fichier dans la requête, et qui se trouve
- aussi dans la portée de la requête.</dd>
+ <dt>request:</dt> <dd>utilise l'interpréteur pour traiter tout ce
+ qui est basé sur le même fichier dans la requête, et qui se trouve
+ aussi dans la portée de la requête.</dd>
- <dt>conn:</dt> <dd>idem request, mais attaché à connection_rec</dd>
+ <dt>conn:</dt> <dd>idem request, mais attaché à connection_rec</dd>
- <dt>thread:</dt> <dd>Utilise l'interpréteur pendant toute la durée
- de vie du thread qui traite la requête (disponible seulement avec
- les MPMs threadés).</dd>
+ <dt>thread:</dt> <dd>Utilise l'interpréteur pendant toute la durée
+ de vie du thread qui traite la requête (disponible seulement avec
+ les MPMs threadés).</dd>
- <dt>server:</dt> <dd>Le comportement est ici différent, car la
- portée du serveur présente une durée de vie assez longue, et
- plusieurs threads vont partager le même server_rec. Pour gérer tout
- ceci, les états lua du serveur sont stockés dans une liste de ressources
+ <dt>server:</dt> <dd>Le comportement est ici différent, car la
+ portée du serveur présente une durée de vie assez longue, et
+ plusieurs threads vont partager le même server_rec. Pour gérer tout
+ ceci, les états lua du serveur sont stockés dans une liste de ressources
apr. Les arguments <code>min</code> et <code>max</code> permettent
- de spécifier les nombres minimaux et maximaux d'états lua à stocker
+ de spécifier les nombres minimaux et maximaux d'états lua à stocker
dans la liste.</dd>
</dl>
- <p>En général, les portées <code>thread</code> et <code>server</code>
- sont 2 à 3 fois plus rapides que les autres, car elles n'ont pas besoin
- de régénérer de nouveaux états Lua à chaque requête (comme c'est le
- cas avec le MPM event, où même les connexions persistantes utilisent un
- nouveau thread pour chaque requête). Si vous pensez que vos scripts
- n'auront pas de problème s'il réutilisent un état, alors les portées
- <code>thread</code> ou <code>server</code> doivent être utilisées car
- elles présenteront de meilleures performances. Alors que la portée
- <code>thread</code> fournira les réponses les plus rapides, la portée
- <code>server</code> utilisera moins de mémoire car les états sont
- rassemblés dans des jeux, permettant par exemple à 1000 threads de
- partager 100 états Lua, ne nécessitant ainsi que 10% de la mémoire
- requise par la portée <code>thread</code>.
+ <p>En général, les portées <code>thread</code> et <code>server</code>
+ sont 2 à 3 fois plus rapides que les autres, car elles n'ont pas besoin
+ de régénérer de nouveaux états Lua à chaque requête (comme c'est le
+ cas avec le MPM event, où même les connexions persistantes utilisent un
+ nouveau thread pour chaque requête). Si vous pensez que vos scripts
+ n'auront pas de problème s'il réutilisent un état, alors les portées
+ <code>thread</code> ou <code>server</code> doivent être utilisées car
+ elles présenteront de meilleures performances. Alors que la portée
+ <code>thread</code> fournira les réponses les plus rapides, la portée
+ <code>server</code> utilisera moins de mémoire car les états sont
+ rassemblés dans des jeux, permettant par exemple à 1000 threads de
+ partager 100 états Lua, ne nécessitant ainsi que 10% de la mémoire
+ requise par la portée <code>thread</code>.
</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lua.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_lua.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_lua.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_macro</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_macro.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_macro.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_macro.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Ce module permet d'utiliser des macros dans les fichiers
de configuration Apache.</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>macro_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_macro.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>macro_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_macro.c</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module permet d'utiliser des macros dans les fichiers de
- configuration à l'exécution du serveur HTTP Apache afin de faciliter
- la création de nombreux blocs de configuration similaires. Quand le
- serveur démarre, les macros sont exécutées avec les paramètres
- fournis, et le résultat obtenu est traité au même titre que le reste
+ configuration à l'exécution du serveur HTTP Apache afin de faciliter
+ la création de nombreux blocs de configuration similaires. Quand le
+ serveur démarre, les macros sont exécutées avec les paramètres
+ fournis, et le résultat obtenu est traité au même titre que le reste
du fichier de configuration.</p>
</div>
<li><img alt="" src="../images/down.gif" /> <a href="#undefmacro">UndefMacro</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#use">Use</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_macro">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_macro">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_macro">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_macro">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="usage" id="usage">Utilisation</a><a title="Lien permanent" href="#usage" class="permalink">¶</a></h2>
-<p>On définit une macro à l'aide des blocs <code class="directive"><a href="#macro"><Macro></a></code> qui contiennent la portion de votre
-configuration qui intervient de manière répétitive, y compris les
-variables pour les parties qui devront être substituées.</p>
+<p>On définit une macro à l'aide des blocs <code class="directive"><a href="#macro"><Macro></a></code> qui contiennent la portion de votre
+configuration qui intervient de manière répétitive, y compris les
+variables pour les parties qui devront être substituées.</p>
-<p>Par exemple, vous pouvez utiliser une macro pour définir un bloc
+<p>Par exemple, vous pouvez utiliser une macro pour définir un bloc
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>, afin de pouvoir
-définir de nombreux serveurs virtuels similaires :</p>
+définir de nombreux serveurs virtuels similaires :</p>
<pre class="prettyprint lang-config"><Macro VHost $name $domain>
<VirtualHost *:80>
<p>Comme les directives de configuration httpd, les noms des macros sont
-insensibles à la casse, à la différence des variables qui y sont, elles,
+insensibles à la casse, à la différence des variables qui y sont, elles,
sensibles.</p>
<p>Vous pouvez alors invoquer cette macro autant de fois que vous le
-voulez pour créer des serveurs virtuels </p>
+voulez pour créer des serveurs virtuels </p>
<pre class="prettyprint lang-config">Use VHost example example.com
Use VHost myhost hostname.org
UndefMacro VHost</pre>
-<p>Au démarrage du serveur, chacune de ces invocations
-<code class="directive"><a href="#use">Use</a></code> sera remplacée par une définition de serveur
-virtuel complète, comme décrit dans la définition de la
+<p>Au démarrage du serveur, chacune de ces invocations
+<code class="directive"><a href="#use">Use</a></code> sera remplacée par une définition de serveur
+virtuel complète, comme décrit dans la définition de la
<code class="directive"><a href="#macro"><Macro></a></code>.</p>
-<p>La directive <code class="directive"><a href="#undefmacro">UndefMacro</a></code> permet d'éviter les
-conflits de définitions qui pourraient provenir de l'utilisation
-ultérieure de macros contenant les mêmes noms de variables.</p>
+<p>La directive <code class="directive"><a href="#undefmacro">UndefMacro</a></code> permet d'éviter les
+conflits de définitions qui pourraient provenir de l'utilisation
+ultérieure de macros contenant les mêmes noms de variables.</p>
-<p>Vous trouverez une version plus élaborée de cet exemple plus loin
+<p>Vous trouverez une version plus élaborée de cet exemple plus loin
dans la section Exemples.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="tips" id="tips">Conseils</a><a title="Lien permanent" href="#tips" class="permalink">¶</a></h2>
-<p>Les noms de paramètres doivent commencer par un sigil tel que
-<code>$</code>, <code>%</code>, ou <code>@</code>, de façon à ce qu'ils
+<p>Les noms de paramètres doivent commencer par un sigil tel que
+<code>$</code>, <code>%</code>, ou <code>@</code>, de façon à ce qu'ils
soient clairement identifiables, mais aussi afin de faciliter les
interactions avec les autres directives, comme la directive de base
<code class="directive"><a href="../mod/core.html#define">Define</a></code>. Dans le cas contraire, vous
-recevrez un avertissement. En tout état de cause, il est conseillé
+recevrez un avertissement. En tout état de cause, il est conseillé
d'avoir une bonne connaissance globale de la configuration du serveur,
-afin d'éviter la réutilisation des mêmes variables à différents niveaux,
-ce qui peut être à l'origine de confusions.</p>
+afin d'éviter la réutilisation des mêmes variables à différents niveaux,
+ce qui peut être à l'origine de confusions.</p>
-<p>Les paramètres préfixés par <code>$</code> ou <code>%</code> ne sont
-pas échappés. Les paramètres préfixés par <code>@</code> sont échappés
+<p>Les paramètres préfixés par <code>$</code> ou <code>%</code> ne sont
+pas échappés. Les paramètres préfixés par <code>@</code> sont échappés
entre guillemets.</p>
-<p>Evitez de préfixer un paramètre par le nom d'un autre paramètre (par
-exemple, présence simultanée des paramètres <code>$win</code> et
+<p>Evitez de préfixer un paramètre par le nom d'un autre paramètre (par
+exemple, présence simultanée des paramètres <code>$win</code> et
<code>$winter</code>), car ceci peut introduire de la confusion lors de
-l'évaluation des expressions. Si cela se produit, c'est le nom de
-paramètre le plus long possible qui sera utilisé.</p>
+l'évaluation des expressions. Si cela se produit, c'est le nom de
+paramètre le plus long possible qui sera utilisé.</p>
-<p>Si vous désirez insérer une valeur dans une chaîne, il est conseillé
-de l'entourer d'accolades afin d'éviter toute confusion :</p>
+<p>Si vous désirez insérer une valeur dans une chaîne, il est conseillé
+de l'entourer d'accolades afin d'éviter toute confusion :</p>
<pre class="prettyprint lang-config"><Macro DocRoot ${docroot}>
DocumentRoot "/var/www/${docroot}/htdocs"
<h2><a name="examples" id="examples">Exemples</a><a title="Lien permanent" href="#examples" class="permalink">¶</a></h2>
-<h3>Définition de serveurs virtuels</h3>
+<h3>Définition de serveurs virtuels</h3>
<p>Un exemple typique d'utilisation de <code class="module"><a href="../mod/mod_macro.html">mod_macro</a></code> est la
-création dynamique de serveurs virtuels.</p>
+création dynamique de serveurs virtuels.</p>
-<pre class="prettyprint lang-config">## Définition d'une macro VHost pour les configurations répétitives
+<pre class="prettyprint lang-config">## Définition d'une macro VHost pour les configurations répétitives
<Macro VHost $host $port $dir>
Listen $port
Require all granted
</Directory>
- # restriction d'accès au sous-répertoire intranet.
+ # restriction d'accès au sous-répertoire intranet.
<Directory "$dir/intranet">
Require ip 10.0.0.0/8
</Directory>
</VirtualHost>
</Macro>
-## Utilisation de la macro VHost avec différents arguments.
+## Utilisation de la macro VHost avec différents arguments.
Use VHost www.apache.org 80 /vhosts/apache/htdocs
Use VHost example.org 8080 /vhosts/example/htdocs
-<h3>Suppression d'une définition de macro</h3>
+<h3>Suppression d'une définition de macro</h3>
-<p>Il est recommandé de supprimer la définition d'une macro après
-l'avoir utilisée. Ceci permet d'éviter les confusions au sein d'un
-fichier de configuration complexe où des conflits entre noms de
+<p>Il est recommandé de supprimer la définition d'une macro après
+l'avoir utilisée. Ceci permet d'éviter les confusions au sein d'un
+fichier de configuration complexe où des conflits entre noms de
variables peuvent survenir.</p>
<pre class="prettyprint lang-config"><Macro DirGroup $dir $group>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="macro" id="macro">Directive</a> <a name="Macro" id="Macro"><Macro></a><a title="Lien permanent" href="#macro" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définition d'une macro dans un fichier de configuration</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définition d'une macro dans un fichier de configuration</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>
<Macro <var>nom</var> [<var>par1</var> .. <var>parN</var>]>
... </Macro></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</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_macro</td></tr>
</table>
- <p>La directive <code class="directive"><Macro></code> permet de définir une macro
+ <p>La directive <code class="directive"><Macro></code> permet de définir une macro
dans un fichier de configuration Apache. Le premier argument est le nom
- de la macro, et les arguments suivants sont les paramètres. Il
- est de bon aloi de préfixer les noms des paramètres d'une macro
- avec un caractère parmi '<code>$%@</code>', et d'éviter d'en faire
- de même avec les noms de macros.
+ de la macro, et les arguments suivants sont les paramètres. Il
+ est de bon aloi de préfixer les noms des paramètres d'une macro
+ avec un caractère parmi '<code>$%@</code>', et d'éviter d'en faire
+ de même avec les noms de macros.
</p>
<pre class="prettyprint lang-config"><Macro LocalAccessPolicy>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="macroignorebadnesting" id="macroignorebadnesting">Directive</a> <a name="MacroIgnoreBadNesting" id="MacroIgnoreBadNesting">MacroIgnoreBadNesting</a><a title="Lien permanent" href="#macroignorebadnesting" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore les avertissements et n'inscrit rien dans le journal à
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore les avertissements et n'inscrit rien dans le journal à
propos d'une imbrication de Macros non conforme</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MacroIgnoreBadNesting</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</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_macro</td></tr>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="macroignoreemptyargs" id="macroignoreemptyargs">Directive</a> <a name="MacroIgnoreEmptyArgs" id="MacroIgnoreEmptyArgs">MacroIgnoreEmptyArgs</a><a title="Lien permanent" href="#macroignoreemptyargs" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore les avertissements et n'inscrit rien dans le journal à
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ignore les avertissements et n'inscrit rien dans le journal à
propos des arguments de Macro vides</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MacroIgnoreEmptyArgs</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</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_macro</td></tr>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime une macro</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UndefMacro <var>nom</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</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_macro</td></tr>
</table>
- <p>La directive <code class="directive">UndefMacro</code> annule la définition
- d'une macro qui doit avoir été définie auparavant.</p>
+ <p>La directive <code class="directive">UndefMacro</code> annule la définition
+ d'une macro qui doit avoir été définie auparavant.</p>
<pre class="prettyprint lang-config">UndefMacro LocalAccessPolicy
UndefMacro RestrictedAccessPolicy</pre>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilisation d'une macro</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Use <var>nom</var> [<var>valeur1</var> ... <var>valeurN</var>]
</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</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_macro</td></tr>
</table>
<p> La directive <code class="directive">Use</code> permet d'utiliser une macro.
- La macro considérée est expansée. Son nombre d'arguments doit être égal au
- nombre de paramètres précisés dans sa définition. Les valeurs passées en
- argument sont attribuées aux paramètres correspondants et
- substituées avant l'interprétation du texte de la macro.</p>
+ La macro considérée est expansée. Son nombre d'arguments doit être égal au
+ nombre de paramètres précisés dans sa définition. Les valeurs passées en
+ argument sont attribuées aux paramètres correspondants et
+ substituées avant l'interprétation du texte de la macro.</p>
<pre class="prettyprint lang-config">Use LocalAccessPolicy
...
Use RestrictedAccessPolicy "192.54.172.0/24 192.54.148.0/24"</pre>
- <p>est équivalent, avec les macros définies ci-dessus à :</p>
+ <p>est équivalent, avec les macros définies ci-dessus à :</p>
<pre class="prettyprint lang-config">Require ip 10.2.16.0/24
...
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_macro.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_macro.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_macro.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_mime</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_mime.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_mime.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_mime.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_mime.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Associe les extensions des fichiers demandés avec l'action
-déclenchée par ces fichiers et avec leur contenu (type MIME, langage,
-jeu de caractère et codage)</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Associe les extensions des fichiers demandés avec l'action
+déclenchée par ces fichiers et avec leur contenu (type MIME, langage,
+jeu de caractère et codage)</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>mime_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_mime.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mime_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_mime.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module permet d'assigner des métadonnées aux contenus
- sélectionnés pour une réponse HTTP, en associant des modèles d'URI
- ou de noms de fichiers aux valeurs des métadonnées. Par exemple, les
- extensions de noms de fichiers définissent souvent le type de médium
- Internet, le langage, le jeu de caractères et le codage du contenu.
- Ces informations sont relayées par les messages HTTP véhiculant ces
- contenus, et utilisées au cours de la négociation de contenu lors de
- la sélection des différentes possibilités, de manière à ce que les
- préférences des utilisateurs soient respectées lors du choix d'un
- contenu à servir parmi plusieurs autres contenus. Voir
- <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> pour plus d'informations à propos
- de la <a href="../content-negotiation.html">négociation de
+ <p>Ce module permet d'assigner des métadonnées aux contenus
+ sélectionnés pour une réponse HTTP, en associant des modèles d'URI
+ ou de noms de fichiers aux valeurs des métadonnées. Par exemple, les
+ extensions de noms de fichiers définissent souvent le type de médium
+ Internet, le langage, le jeu de caractères et le codage du contenu.
+ Ces informations sont relayées par les messages HTTP véhiculant ces
+ contenus, et utilisées au cours de la négociation de contenu lors de
+ la sélection des différentes possibilités, de manière à ce que les
+ préférences des utilisateurs soient respectées lors du choix d'un
+ contenu à servir parmi plusieurs autres contenus. Voir
+ <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> pour plus d'informations à propos
+ de la <a href="../content-negotiation.html">négociation de
contenu</a>.</p>
<p>Les directives <code class="directive"><a href="#addcharset">AddCharset</a></code>, <code class="directive"><a href="#addencoding">AddEncoding</a></code>, <code class="directive"><a href="#addlanguage">AddLanguage</a></code> et <code class="directive"><a href="#addtype">AddType</a></code> permettent d'associer des
- extensions de fichiers aux métadonnées de ces fichiers. Elles
- définissent respectivement le jeu de caractères, le codage du
- contenu, le langage du contenu et le <a class="glossarylink" href="../glossary.html#type de médium" title="voir glossaire">type de
- médium</a> (content-type) des documents. La directive
+ extensions de fichiers aux métadonnées de ces fichiers. Elles
+ définissent respectivement le jeu de caractères, le codage du
+ contenu, le langage du contenu et le <a class="glossarylink" href="../glossary.html#type de médium" title="voir glossaire">type de
+ médium</a> (content-type) des documents. La directive
<code class="directive"><a href="#typesconfig">TypesConfig</a></code> permet de
- spécifier un fichier qui contient lui-même des associations entre
+ spécifier un fichier qui contient lui-même des associations entre
extensions et types de media.</p>
- <p>De plus, <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> peut définir le <a href="../handler.html">gestionnaire</a> et les <a href="../filter.html">filtres</a> qui sont à l'origine du contenu et
- le traitent. Les directives <code class="directive"><a href="#addhandler">AddHandler</a></code>, <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code>, et <code class="directive"><a href="#addinputfilter">AddInputFilter</a></code> permettent de contrôler
+ <p>De plus, <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> peut définir le <a href="../handler.html">gestionnaire</a> et les <a href="../filter.html">filtres</a> qui sont à l'origine du contenu et
+ le traitent. Les directives <code class="directive"><a href="#addhandler">AddHandler</a></code>, <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code>, et <code class="directive"><a href="#addinputfilter">AddInputFilter</a></code> permettent de contrôler
les modules ou les scripts qui vont servir le document. La directive
- <code class="directive"><a href="#multiviewsmatch">MultiviewsMatch</a></code> permet à
- <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> de déterminer les extensions de
- fichiers à inclure lors des tests de correspondances multivues.</p>
+ <code class="directive"><a href="#multiviewsmatch">MultiviewsMatch</a></code> permet à
+ <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> de déterminer les extensions de
+ fichiers à inclure lors des tests de correspondances multivues.</p>
- <p>Alors que <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> associe des métadonnées avec
+ <p>Alors que <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> associe des métadonnées avec
des extensions de fichiers, le serveur de base <code class="module"><a href="../mod/core.html">core</a></code>
fournit des directives permettant d'associer tous les fichiers d'un
- conteneur donné (par exemple <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, ou <code class="directive"><a href="../mod/core.html#files"><Files></a></code>) avec des métadonnées particulières.
+ conteneur donné (par exemple <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, ou <code class="directive"><a href="../mod/core.html#files"><Files></a></code>) avec des métadonnées particulières.
Parmi ces directives, on trouve <code class="directive"><a href="../mod/core.html#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code>, et <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>. Les directives du serveur
de base l'emportent sur toute directive d'association d'extensions
- de noms de fichiers définie par <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code>.</p>
-
- <p>Notez que la modification des métadonnées d'un fichier ne modifie
- pas la valeur de l'en-tête <code>Last-Modified</code>. Ainsi,
- certaines copies de documents préalablement mises en cache peuvent
- encore être utilisées par un client ou un mandataire avec les
- anciens en-têtes. Si vous modifiez les métadonnées (langage, type de
- contenu, jeu de caractère ou codage), vous devez donc enregistrer
- une modification du fichier concerné (afin de mettre à jour sa date
- de dernière modification), pour être sûr que tous les visiteurs
- recevront le documents avec les en-têtes corrects. </p>
+ de noms de fichiers définie par <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code>.</p>
+
+ <p>Notez que la modification des métadonnées d'un fichier ne modifie
+ pas la valeur de l'en-tête <code>Last-Modified</code>. Ainsi,
+ certaines copies de documents préalablement mises en cache peuvent
+ encore être utilisées par un client ou un mandataire avec les
+ anciens en-têtes. Si vous modifiez les métadonnées (langage, type de
+ contenu, jeu de caractère ou codage), vous devez donc enregistrer
+ une modification du fichier concerné (afin de mettre à jour sa date
+ de dernière modification), pour être sûr que tous les visiteurs
+ recevront le documents avec les en-têtes corrects. </p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#multipleext">Fichiers avec extensions
multiples</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#contentencoding">Codage du contenu</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#charset-lang">Jeux de caractères et langages</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#charset-lang">Jeux de caractères et langages</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#addcharset">AddCharset</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#removetype">RemoveType</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#typesconfig">TypesConfig</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_mime">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_mime">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_mime">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_mime">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></code></li>
<li><code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code></li>
<div class="section">
<h2><a name="multipleext" id="multipleext">Fichiers avec extensions
multiples</a><a title="Lien permanent" href="#multipleext" class="permalink">¶</a></h2>
- <p>Les fichiers peuvent posséder plusieurs extensions dont l'ordre
+ <p>Les fichiers peuvent posséder plusieurs extensions dont l'ordre
est <em>normalement</em> sans importance. Par exemple, si
- le fichier <code>welcome.html.fr</code> est associé au type de
- contenu <code>text/html</code> et au langage Français, le fichier
- <code>welcome.fr.html</code> possèdera exactement les même
- métadonnées. Si le fichier possède plusieurs extensions associées
- au même type de métadonnée, c'est celle de ces extensions la plus à
- droite qui sera utilisée, excepté pour ce qui concerne les langages
+ le fichier <code>welcome.html.fr</code> est associé au type de
+ contenu <code>text/html</code> et au langage Français, le fichier
+ <code>welcome.fr.html</code> possèdera exactement les même
+ métadonnées. Si le fichier possède plusieurs extensions associées
+ au même type de métadonnée, c'est celle de ces extensions la plus à
+ droite qui sera utilisée, excepté pour ce qui concerne les langages
et les codages de contenu. Par exemple, si <code>.gif</code> est
- associé au <a class="glossarylink" href="../glossary.html#type de médium" title="voir glossaire">type de médium</a>
- <code>image/gif</code>, et <code>.html</code> au type de médium
+ associé au <a class="glossarylink" href="../glossary.html#type de médium" title="voir glossaire">type de médium</a>
+ <code>image/gif</code>, et <code>.html</code> au type de médium
<code>text/html</code>, le fichier <code>welcome.gif.html</code>
- sera associé au type de médium <code>text/html</code>.</p>
+ sera associé au type de médium <code>text/html</code>.</p>
- <p>Les <a href="#charset-lang">Languages</a> et les <a href="#contentencoding">codages de contenu</a> sont traités de
- manière cumulative, car il est possible d'assigner plusieurs
- langages ou codages à une ressource particulière. Par exemple, le
- fichier <code>welcome.html.en.de</code> sera servi avec les en-têtes
+ <p>Les <a href="#charset-lang">Languages</a> et les <a href="#contentencoding">codages de contenu</a> sont traités de
+ manière cumulative, car il est possible d'assigner plusieurs
+ langages ou codages à une ressource particulière. Par exemple, le
+ fichier <code>welcome.html.en.de</code> sera servi avec les en-têtes
<code>Content-Language: en, de</code> et <code>Content-Type:
text/html</code>.</p>
- <p>Des précautions doivent être prises lorsqu'un fichier avec
- extensions multiples est associé à la fois à un <a class="glossarylink" href="../glossary.html#type de médium" title="voir glossaire">type de
- médium</a> et à un gestionnaire. En général, cela impliquera
- la gestion de la requête par le module associé au gestionnaire. Par
- exemple, si l'extension <code>.imap</code> est associée au
+ <p>Des précautions doivent être prises lorsqu'un fichier avec
+ extensions multiples est associé à la fois à un <a class="glossarylink" href="../glossary.html#type de médium" title="voir glossaire">type de
+ médium</a> et à un gestionnaire. En général, cela impliquera
+ la gestion de la requête par le module associé au gestionnaire. Par
+ exemple, si l'extension <code>.imap</code> est associée au
gestionnaire <code>imap-file</code> (du module
<code class="module"><a href="../mod/mod_imagemap.html">mod_imagemap</a></code>), et si l'extension <code>.html</code>
- est associée au type de médium <code>text/html</code>, le fichier
- <code>world.imap.html</code> sera à la fois associé au gestionnaire
- <code>imap-file</code> et au type de médium <code>text/html</code>.
+ est associée au type de médium <code>text/html</code>, le fichier
+ <code>world.imap.html</code> sera à la fois associé au gestionnaire
+ <code>imap-file</code> et au type de médium <code>text/html</code>.
Pour son traitement, c'est le gestionnaire <code>imap-file</code>
- qui sera utilisé, et il sera donc traité en tant que fichier
+ qui sera utilisé, et il sera donc traité en tant que fichier
imagemap.</p>
- <p>Si vous préférez que seule la dernière partie d'un nom de fichier
- séparée du reste du nom par un point soit associée à une métadonnée
- particulière, n'utilisez pas les directives <code>Add*</code>. Par
+ <p>Si vous préférez que seule la dernière partie d'un nom de fichier
+ séparée du reste du nom par un point soit associée à une métadonnée
+ particulière, n'utilisez pas les directives <code>Add*</code>. Par
exemple, si vous souhaitez que le fichier <code>foo.html.cgi</code>
- soit traité en tant que script CGI, mais pas le fichier
+ soit traité en tant que script CGI, mais pas le fichier
<code>bar.cgi.html</code>, alors, au lieu d'utiliser
- <code>AddHandler cgi-script .cgi</code>, utilisez plutôt :</p>
+ <code>AddHandler cgi-script .cgi</code>, utilisez plutôt :</p>
<div class="example"><h3>Configuration du gestionnaire en se basant seulement
- sur la dernière extension</h3><pre class="prettyprint lang-config"><FilesMatch "[^.]+\.cgi$">
+ sur la dernière extension</h3><pre class="prettyprint lang-config"><FilesMatch "[^.]+\.cgi$">
SetHandler cgi-script
</FilesMatch></pre>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="contentencoding" id="contentencoding">Codage du contenu</a><a title="Lien permanent" href="#contentencoding" class="permalink">¶</a></h2>
- <p>Un fichier d'un <a class="glossarylink" href="../glossary.html#type de médium" title="voir glossaire">type de médium</a> particulier
- peut être aussi codé d'une certaine manière pour simplifier sa
- transmission sur Internet. Alors que cela concerne en général la
+ <p>Un fichier d'un <a class="glossarylink" href="../glossary.html#type de médium" title="voir glossaire">type de médium</a> particulier
+ peut être aussi codé d'une certaine manière pour simplifier sa
+ transmission sur Internet. Alors que cela concerne en général la
compression, comme <code>gzip</code>, il peut aussi s'agir de
chiffrement, comme <code>pgp</code> ou d'un codage comme UUencoding,
- qui est conçu pour transmettre un fichier binaire sous un format
+ qui est conçu pour transmettre un fichier binaire sous un format
ASCII (texte).</p>
<p>La <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC
- HTTP/1.1</a>, section 14.11 stipule à ce titre :</p>
+ HTTP/1.1</a>, section 14.11 stipule à ce titre :</p>
<blockquote cite="http://www.ietf.org/rfc/rfc2616.txt">
- <p>Le champ d'en-tête Content-Encoding de l'entité est utilisé en
- tant que modificateur du type de médium. Lorsqu'il est présent, sa
- valeur indique quels codages de contenu additionnels ont été
- appliqués au corps de l'entité, et ainsi quels mécanismes de
- décodage doivent être appliqués afin de retrouver le type de
- médium référencé par le champ d'en-tête Content-Type. Le codage de
- contenu est principalement utilisé pour permettre la compression
+ <p>Le champ d'en-tête Content-Encoding de l'entité est utilisé en
+ tant que modificateur du type de médium. Lorsqu'il est présent, sa
+ valeur indique quels codages de contenu additionnels ont été
+ appliqués au corps de l'entité, et ainsi quels mécanismes de
+ décodage doivent être appliqués afin de retrouver le type de
+ médium référencé par le champ d'en-tête Content-Type. Le codage de
+ contenu est principalement utilisé pour permettre la compression
d'un document sans perdre l'information concernant le type de
- médium sous-jacent.</p>
+ médium sous-jacent.</p>
</blockquote>
- <p>En utilisant plusieurs extensions (voir la <a href="#multipleext">section ci-dessus à propos des extensions de
+ <p>En utilisant plusieurs extensions (voir la <a href="#multipleext">section ci-dessus à propos des extensions de
fichiers multiples</a>), vous pouvez indiquer qu'un fichier est d'un
- <em>type</em>, particulier, et possède aussi un <em>codage</em>
+ <em>type</em>, particulier, et possède aussi un <em>codage</em>
particulier.</p>
- <p>Considérons par exemple un fichier contenant un document
- Microsoft Word et compressé par pkzip pour réduire sa taille. Si
- l'extension <code>.doc</code> est associée au type de fichier
- Microsoft Word, et si l'extension <code>.zip</code> est associée au
+ <p>Considérons par exemple un fichier contenant un document
+ Microsoft Word et compressé par pkzip pour réduire sa taille. Si
+ l'extension <code>.doc</code> est associée au type de fichier
+ Microsoft Word, et si l'extension <code>.zip</code> est associée au
codage de fichier pkzip, alors le fichier
- <code>Resume.doc.zip</code> sera identifié comme document Word
- compressé par pkzip.</p>
+ <code>Resume.doc.zip</code> sera identifié comme document Word
+ compressé par pkzip.</p>
- <p>Apache joint un en-tête <code>Content-encoding</code> à la
- ressource afin d'informer le navigateur client à propos de la
- méthode de codage.</p>
+ <p>Apache joint un en-tête <code>Content-encoding</code> à la
+ ressource afin d'informer le navigateur client à propos de la
+ méthode de codage.</p>
<pre class="prettyprint lang-config">Content-encoding: pkzip</pre>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="charset-lang" id="charset-lang">Jeux de caractères et langages</a><a title="Lien permanent" href="#charset-lang" class="permalink">¶</a></h2>
- <p>En plus du type de fichier et du codage, un autre élément
+<h2><a name="charset-lang" id="charset-lang">Jeux de caractères et langages</a><a title="Lien permanent" href="#charset-lang" class="permalink">¶</a></h2>
+ <p>En plus du type de fichier et du codage, un autre élément
important d'information est le langage dans lequel le document est
- écrit, et avec quel jeu de caractères le contenu du fichier doit
- être affiché. Par exemple, un document peut être écrit en alphabet
- vietnamien ou cyrillique, et doit être affiché en conséquence. Cette
- information est aussi transmise via des en-têtes HTTP.</p>
-
- <p>Les jeu de caractères, langage, codage et type MIME sont tous
- utilisés au cours du processus de négociation de contenu (voir
- <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code>) afin de déterminer quel document
+ écrit, et avec quel jeu de caractères le contenu du fichier doit
+ être affiché. Par exemple, un document peut être écrit en alphabet
+ vietnamien ou cyrillique, et doit être affiché en conséquence. Cette
+ information est aussi transmise via des en-têtes HTTP.</p>
+
+ <p>Les jeu de caractères, langage, codage et type MIME sont tous
+ utilisés au cours du processus de négociation de contenu (voir
+ <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code>) afin de déterminer quel document
servir au client, lorsque plusieurs choix sont possibles en fonction
- du jeu de caractères, du langage, du codage ou du type MIME. Toutes
- les associations d'extensions de noms de fichiers créées via les
+ du jeu de caractères, du langage, du codage ou du type MIME. Toutes
+ les associations d'extensions de noms de fichiers créées via les
directives <code class="directive"><a href="#addcharset">AddCharset</a></code>,
<code class="directive"><a href="#addencoding">AddEncoding</a></code>, <code class="directive"><a href="#addlanguage">AddLanguage</a></code> et <code class="directive"><a href="#addtype">AddType</a></code> (ainsi que les associations
- d'extensions listées dans le fichier défini par la directive
+ d'extensions listées dans le fichier défini par la directive
<code class="directive"><a href="../mod/mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></code>),
- participent à ce processus de sélection. Les extensions de noms de
- fichiers qui n'ont été associés que par des directives <code class="directive"><a href="#addhandler">AddHandler</a></code>, <code class="directive"><a href="#addinputfilter">AddInputFilter</a></code> ou <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code>, peuvent être incluses
- ou exclues du processus de sélection en utilisant la directive
+ participent à ce processus de sélection. Les extensions de noms de
+ fichiers qui n'ont été associés que par des directives <code class="directive"><a href="#addhandler">AddHandler</a></code>, <code class="directive"><a href="#addinputfilter">AddInputFilter</a></code> ou <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code>, peuvent être incluses
+ ou exclues du processus de sélection en utilisant la directive
<code class="directive"><a href="#multiviewsmatch">MultiviewsMatch</a></code>.</p>
- <h3><a name="charset" id="charset">Jeu de caractères</a></h3>
- <p>Pour transmettre cette information supplémentaire, Apache peut
- ajouter un en-tête <code>Content-Language</code>, afin de
- spécifier le langage dans lequel le document est écrit, et peut
- ajouter des informations additionnelles à l'en-tête
- <code>Content-Type</code> pour indiquer le jeu de caractères
- particulier qui doit être utilisé pour restituer correctement le
+ <h3><a name="charset" id="charset">Jeu de caractères</a></h3>
+ <p>Pour transmettre cette information supplémentaire, Apache peut
+ ajouter un en-tête <code>Content-Language</code>, afin de
+ spécifier le langage dans lequel le document est écrit, et peut
+ ajouter des informations additionnelles à l'en-tête
+ <code>Content-Type</code> pour indiquer le jeu de caractères
+ particulier qui doit être utilisé pour restituer correctement le
document.</p>
<div class="example"><p><code>
Content-Type: text/plain; charset=ISO-8859-1
</code></p></div>
- <p>Le langage est spécifié via son abréviation en deux lettres. Le
- <code>jeu de caractères</code> est le nom du jeu de caractères
- particulier qui doit être utilisé.</p>
+ <p>Le langage est spécifié via son abréviation en deux lettres. Le
+ <code>jeu de caractères</code> est le nom du jeu de caractères
+ particulier qui doit être utilisé.</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="addcharset" id="addcharset">Directive</a> <a name="AddCharset" id="AddCharset">AddCharset</a><a title="Lien permanent" href="#addcharset" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers spécifiées au
-jeu de caractères spécifié</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers spécifiées au
+jeu de caractères spécifié</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddCharset <var>jeu-car</var> <var>extension</var>
[<var>extension</var>] ...</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_mime</td></tr>
</table>
<p>La directive <code class="directive">AddCharset</code> permet d'associer
- les extensions de noms de fichiers spécifiées au jeu de caractères
- spécifié (le nom enregistré sur l'Internet d'un codage de caractères
- donné). <var>jeu-car</var> est le <a href="http://www.iana.org/assignments/character-sets">paramètre jeu
- de caractères du type de médium</a> pour les ressources dont le nom
+ les extensions de noms de fichiers spécifiées au jeu de caractères
+ spécifié (le nom enregistré sur l'Internet d'un codage de caractères
+ donné). <var>jeu-car</var> est le <a href="http://www.iana.org/assignments/character-sets">paramètre jeu
+ de caractères du type de médium</a> pour les ressources dont le nom
de fichier contient <var>extension</var>. Cette association est
- ajoutée à toutes les autres déjà en vigueur, et écrase toute
- association préexistante pour la même <var>extension</var>.</p>
+ ajoutée à toutes les autres déjà en vigueur, et écrase toute
+ association préexistante pour la même <var>extension</var>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddLanguage ja .ja
AddCharset EUC-JP .euc
</div>
<p>Avec cet exemple, le document <code>xxxx.ja.jis</code> sera
- traité en tant que document japonais dont le jeu de caractère est
+ traité en tant que document japonais dont le jeu de caractère est
<code>ISO-2022-JP</code> (idem pour le document
<code>xxxx.jis.ja</code>). La directive
- <code class="directive">AddCharset</code> sert à la fois à informer le
- client sur le codage des caractères du document afin que ce dernier
- puisse être interprété et affiché correctement, et à la <a href="../content-negotiation.html">négociation de contenu</a>, au
- cours de laquelle le serveur décide lequels parmi plusieurs
- documents possibles il renvoie au client en fonction des préférences
- de ce dernier en matière de jeu de caractères.</p>
-
- <p>L'argument <var>extension</var> est insensible à la casse et peut
- être spécifié avec ou sans le point initial. Les noms de fichiers
- peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
- l'argument <var>extension</var> sera comparé à chacune d'entre
+ <code class="directive">AddCharset</code> sert à la fois à informer le
+ client sur le codage des caractères du document afin que ce dernier
+ puisse être interprété et affiché correctement, et à la <a href="../content-negotiation.html">négociation de contenu</a>, au
+ cours de laquelle le serveur décide lequels parmi plusieurs
+ documents possibles il renvoie au client en fonction des préférences
+ de ce dernier en matière de jeu de caractères.</p>
+
+ <p>L'argument <var>extension</var> est insensible à la casse et peut
+ être spécifié avec ou sans le point initial. Les noms de fichiers
+ peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
+ l'argument <var>extension</var> sera comparé à chacune d'entre
elles.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="addencoding" id="addencoding">Directive</a> <a name="AddEncoding" id="AddEncoding">AddEncoding</a><a title="Lien permanent" href="#addencoding" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers données au type
-de codage spécifié</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers données au type
+de codage spécifié</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddEncoding <var>codage</var> <var>extension</var>
[<var>extension</var>] ...</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_mime</td></tr>
</table>
<p>La directive <code class="directive">AddEncoding</code> permet d'associer
- les extensions de noms de fichiers données au codage de contenu HTTP
- spécifié. <var>codage</var> est le codage de contenu HTTP à ajouter
- à la valeur du champ d'en-tête Content-Encoding pour les documents
- possédant l'<var>extension</var> spécifiée. Cette association est
- ajoutée à toutes les autres déjà en vigueur, et écrase toute
- association préexistante pour la même <var>extension</var>.</p>
+ les extensions de noms de fichiers données au codage de contenu HTTP
+ spécifié. <var>codage</var> est le codage de contenu HTTP à ajouter
+ à la valeur du champ d'en-tête Content-Encoding pour les documents
+ possédant l'<var>extension</var> spécifiée. Cette association est
+ ajoutée à toutes les autres déjà en vigueur, et écrase toute
+ association préexistante pour la même <var>extension</var>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddEncoding x-gzip .gz
AddEncoding x-compress .Z</pre>
</div>
- <p>Avec cet exemple, les noms de fichiers possédant l'extension
- <code>.gz</code> seront marqués comme codés à l'aide du codage
- <code>x-gzip</code>, et les noms de fichiers possédant l'extension
- <code>.Z</code> comme codés avec <code>x-compress</code>.</p>
+ <p>Avec cet exemple, les noms de fichiers possédant l'extension
+ <code>.gz</code> seront marqués comme codés à l'aide du codage
+ <code>x-gzip</code>, et les noms de fichiers possédant l'extension
+ <code>.Z</code> comme codés avec <code>x-compress</code>.</p>
<p>Les clients anciens n'acceptent que <code>x-gzip</code> et
<code>x-compress</code>, bien que les standards stipulent qu'ils
- sont respectivement équivalents à <code>gzip</code> et
+ sont respectivement équivalents à <code>gzip</code> et
<code>compress</code>. Apache effectue ses comparaisons de codages
- de contenu en ignorant tout préfixe <code>x-</code>. Lorsqu'il
- répond avec un codage, Apache utilise l'une ou l'autre forme (c'est
- à dire <code>x-foo</code> ou <code>foo</code>) selon les besoins du
- client. Si le client n'a pas besoin d'une forme particulière, Apache
- utilisera la forme employée par la directive
- <code>AddEncoding</code>. Pour résumer, vous devez toujours utiliser
+ de contenu en ignorant tout préfixe <code>x-</code>. Lorsqu'il
+ répond avec un codage, Apache utilise l'une ou l'autre forme (c'est
+ à dire <code>x-foo</code> ou <code>foo</code>) selon les besoins du
+ client. Si le client n'a pas besoin d'une forme particulière, Apache
+ utilisera la forme employée par la directive
+ <code>AddEncoding</code>. Pour résumer, vous devez toujours utiliser
<code>x-gzip</code> et <code>x-compress</code> pour ces deux
- codages spécifiques. Certains codages plus récents, comme
- <code>deflate</code>, doivent être spécifiés sans le préfixe
+ codages spécifiques. Certains codages plus récents, comme
+ <code>deflate</code>, doivent être spécifiés sans le préfixe
<code>x-</code>.</p>
- <p>L'argument <var>extension</var> est insensible à la casse et peut
- être spécifié avec ou sans le point initial. Les noms de fichiers
- peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
- l'argument <var>extension</var> sera comparé à chacune d'entre
+ <p>L'argument <var>extension</var> est insensible à la casse et peut
+ être spécifié avec ou sans le point initial. Les noms de fichiers
+ peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
+ l'argument <var>extension</var> sera comparé à chacune d'entre
elles.</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="addhandler" id="addhandler">Directive</a> <a name="AddHandler" id="AddHandler">AddHandler</a><a title="Lien permanent" href="#addhandler" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers données au
-gestionnaire spécifié</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers données au
+gestionnaire spécifié</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddHandler <var>nom-gestionnaire</var> <var>extension</var>
[<var>extension</var>] ...</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_mime</td></tr>
</table>
<p>Les fichiers dont le nom a pour extension <var>extension</var>
- seront servis par le <var><a href="../handler.html">nom-gestionnaire</a></var> spécifié. Cette
- association est ajoutée à toutes les autres déjà en vigueur, et
- écrase toute association préexistante pour la même
+ seront servis par le <var><a href="../handler.html">nom-gestionnaire</a></var> spécifié. Cette
+ association est ajoutée à toutes les autres déjà en vigueur, et
+ écrase toute association préexistante pour la même
<var>extension</var>. Par exemple, pour associer les scripts CGI
avec l'extension de fichier <code>.cgi</code>, vous pouvez utiliser
:</p>
<pre class="prettyprint lang-config">AddHandler cgi-script .cgi</pre>
- <p>Une fois cette ligne insérée dans votre fichier httpd.conf, tout
- fichier possédant l'extension <code>.cgi</code> sera traité en tant
+ <p>Une fois cette ligne insérée dans votre fichier httpd.conf, tout
+ fichier possédant l'extension <code>.cgi</code> sera traité en tant
que programme CGI.</p>
- <p>L'argument <var>extension</var> est insensible à la casse et peut
- être spécifié avec ou sans le point initial. Les noms de fichiers
- peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
- l'argument <var>extension</var> sera comparé à chacune d'entre
+ <p>L'argument <var>extension</var> est insensible à la casse et peut
+ être spécifié avec ou sans le point initial. Les noms de fichiers
+ peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
+ l'argument <var>extension</var> sera comparé à chacune d'entre
elles.</p>
<h3>Voir aussi</h3>
<div class="directive-section"><h2><a name="addinputfilter" id="addinputfilter">Directive</a> <a name="AddInputFilter" id="AddInputFilter">AddInputFilter</a><a title="Lien permanent" href="#addinputfilter" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers aux
-filtres spécifiés qui traiteront les requêtes clients</td></tr>
+filtres spécifiés qui traiteront les requêtes clients</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddInputFilter <var>filtre</var>[;<var>filtre</var>...]
<var>extension</var> [<var>extension</var>] ...</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_mime</td></tr>
</table>
<p>La directive <code class="directive">AddInputFilter</code> permet
- d'associer l'extension de nom de fichier <var>extension</var> aux <a href="../filter.html">filtres</a> spécifiésqui traiteront les
- requêtes clients et les entrées POST à leur réception par le
- serveur. Ceci s'ajoute à toute définition de filtre préexistante, y
+ d'associer l'extension de nom de fichier <var>extension</var> aux <a href="../filter.html">filtres</a> spécifiésqui traiteront les
+ requêtes clients et les entrées POST à leur réception par le
+ serveur. Ceci s'ajoute à toute définition de filtre préexistante, y
compris la directive <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code>. Cette
- association est ajoutée à toutes les autres déjà en vigueur, et
- écrase toute association préexistante pour la même
+ association est ajoutée à toutes les autres déjà en vigueur, et
+ écrase toute association préexistante pour la même
<var>extension</var>.</p>
- <p>Si plusieurs <var>filtres</var> sont spécifiés, ils doivent être
- séparés par des points-virgules et inscrits dans l'ordre selon
+ <p>Si plusieurs <var>filtres</var> sont spécifiés, ils doivent être
+ séparés par des points-virgules et inscrits dans l'ordre selon
lequel ils devront traiter le contenu. L'argument <var>filtre</var>
- est insensible à la casse.</p>
+ est insensible à la casse.</p>
- <p>L'argument <var>extension</var> est insensible à la casse et peut
- être spécifié avec ou sans le point initial. Les noms de fichiers
- peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
- l'argument <var>extension</var> sera comparé à chacune d'entre
+ <p>L'argument <var>extension</var> est insensible à la casse et peut
+ être spécifié avec ou sans le point initial. Les noms de fichiers
+ peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
+ l'argument <var>extension</var> sera comparé à chacune d'entre
elles.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="addlanguage" id="addlanguage">Directive</a> <a name="AddLanguage" id="AddLanguage">AddLanguage</a><a title="Lien permanent" href="#addlanguage" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe l'extension de nom de fichier donnée au langage
-spécifié</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe l'extension de nom de fichier donnée au langage
+spécifié</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddLanguage <var>symbole-langage</var> <var>extension</var>
[<var>extension</var>] ...</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_mime</td></tr>
</table>
<p>La directive <code class="directive">AddLanguage</code> permet d'associer
- l'extension de nom de fichier donnée au langage spécifié. Les
- fichiers dont l'extension correspond à la valeur
+ l'extension de nom de fichier donnée au langage spécifié. Les
+ fichiers dont l'extension correspond à la valeur
de l'argument <var>extension</var> se voient attribuer la valeur de
- l'argument <var>symbole-langage</var> comme en-tête HTTP
- Content-Language en accord avec les identifiants de langages définis
+ l'argument <var>symbole-langage</var> comme en-tête HTTP
+ Content-Language en accord avec les identifiants de langages définis
par la RFC 3066. Cette directive l'emporte sur toute association
- préexistante pour la même <var>extension</var>.</p>
+ préexistante pour la même <var>extension</var>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddEncoding x-compress .Z
AddLanguage en .en
AddLanguage fr .fr</pre>
</div>
- <p>Avec cet exemple, le document <code>xxxx.en.Z</code> sera traité
- en tant que document compressé de langue anglaise (idem pour le
+ <p>Avec cet exemple, le document <code>xxxx.en.Z</code> sera traité
+ en tant que document compressé de langue anglaise (idem pour le
document <code>xxxx.Z.en</code>). Bien que le langage soit fourni au
client, le navigateur n'utilise habituellement pas cette
information. La directive <code class="directive">AddLanguage</code> est
- principalement utilisée au cours de la <a href="../content-negotiation.html">négociation de contenu</a>, où le
+ principalement utilisée au cours de la <a href="../content-negotiation.html">négociation de contenu</a>, où le
serveur choisit d'envoyer un document parmi plusieurs documents
- possibles en fonction de la préférence du client en matière de
+ possibles en fonction de la préférence du client en matière de
langage.</p>
<p>Si une extension fait l'objet de plusieurs associations de
- langages, c'est la dernière qui sera utilisée. Ainsi, dans le cas
+ langages, c'est la dernière qui sera utilisée. Ainsi, dans le cas
suivant,</p>
<pre class="prettyprint lang-config">AddLanguage en .en
AddLanguage en-us .en</pre>
- <p>les documents possédant l'extension <code>.en</code> seront
- traités en tant que documents de langage <code>en-us</code>.</p>
+ <p>les documents possédant l'extension <code>.en</code> seront
+ traités en tant que documents de langage <code>en-us</code>.</p>
- <p>L'argument <var>extension</var> est insensible à la casse et peut
- être spécifié avec ou sans le point initial. Les noms de fichiers
- peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
- l'argument <var>extension</var> sera comparé à chacune d'entre
+ <p>L'argument <var>extension</var> est insensible à la casse et peut
+ être spécifié avec ou sans le point initial. Les noms de fichiers
+ peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
+ l'argument <var>extension</var> sera comparé à chacune d'entre
elles.</p>
<h3>Voir aussi</h3>
<div class="directive-section"><h2><a name="addoutputfilter" id="addoutputfilter">Directive</a> <a name="AddOutputFilter" id="AddOutputFilter">AddOutputFilter</a><a title="Lien permanent" href="#addoutputfilter" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers aux
-filtres spécifiés qui traiteront les réponses en provenance du
+filtres spécifiés qui traiteront les réponses en provenance du
serveur</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddOutputFilter <var>filtre</var>[;<var>filtre</var>...]
<var>extension</var> [<var>extension</var>] ...</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_mime</td></tr>
</table>
<p>La directive <code class="directive">AddOutputFilter</code> permet
- d'associer l'extension de nom de fichier définie par l'argument
- <var>extension</var> aux <a href="../filter.html">filtres</a> qui traiteront les réponses en
+ d'associer l'extension de nom de fichier définie par l'argument
+ <var>extension</var> aux <a href="../filter.html">filtres</a> qui traiteront les réponses en
provenance du serveur avant de les envoyer au client. Ces filtres
- s'ajoutent à tout filtre défini par d'autres directives comme
+ s'ajoutent à tout filtre défini par d'autres directives comme
<code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code> et <code class="directive"><a href="../mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code>. Cette association
- est fusionnée avec toute autre association en vigueur, et l'emporte
- sur toute association préexistante pour la même
+ est fusionnée avec toute autre association en vigueur, et l'emporte
+ sur toute association préexistante pour la même
<var>extension</var>.</p>
<p>Avec l'exemple suivant, tous les fichiers <code>.shtml</code>
- seront traités en tant qu'inclusions côté serveur (SSI), et la
- sortie sera compressée à l'aide du module
+ seront traités en tant qu'inclusions côté serveur (SSI), et la
+ sortie sera compressée à l'aide du module
<code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>.</p>
<pre class="prettyprint lang-config">AddOutputFilter INCLUDES;DEFLATE shtml</pre>
- <p>Si plusieurs <var>filtres</var> sont spécifiés, ils doivent être
- séparés par des points-virgules et inscrits dans l'ordre selon
+ <p>Si plusieurs <var>filtres</var> sont spécifiés, ils doivent être
+ séparés par des points-virgules et inscrits dans l'ordre selon
lequel il devront traiter le contenu. L'argument <var>filtre</var>
- est insensible à la casse.</p>
+ est insensible à la casse.</p>
- <p>L'argument <var>extension</var> est insensible à la casse et peut
- être spécifié avec ou sans le point initial. Les noms de fichiers
- peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
- l'argument <var>extension</var> sera comparé à chacune d'entre
+ <p>L'argument <var>extension</var> est insensible à la casse et peut
+ être spécifié avec ou sans le point initial. Les noms de fichiers
+ peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
+ l'argument <var>extension</var> sera comparé à chacune d'entre
elles.</p>
- <p>Notez que toute définition de filtres via la directive <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code> remplace toutes les
- définitions précédentes effectuées via cette même directive.</p>
+ <p>Notez que toute définition de filtres via la directive <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code> remplace toutes les
+ définitions précédentes effectuées via cette même directive.</p>
- <pre class="prettyprint lang-config"># Filtre spécifié "DEFLATE"
+ <pre class="prettyprint lang-config"># Filtre spécifié "DEFLATE"
AddOutputFilter DEFLATE shtml
<Location "/foo">
- # Filtre spécifié "INCLUDES", remplace "DEFLATE"
+ # Filtre spécifié "INCLUDES", remplace "DEFLATE"
AddOutputFilter INCLUDES shtml
</Location>
<Location "/bar">
- # Filtre spécifié "INCLUDES;DEFLATE", remplace "DEFLATE"
+ # Filtre spécifié "INCLUDES;DEFLATE", remplace "DEFLATE"
AddOutputFilter INCLUDES;DEFLATE shtml
</Location>
<Location "/bar/baz">
- # Filtre spécifié "BUFFER", remplace "INCLUDES;DEFLATE"
+ # Filtre spécifié "BUFFER", remplace "INCLUDES;DEFLATE"
AddOutputFilter BUFFER shtml
</Location>
<Location "/bar/baz/buz">
- # Pas de filtre spécifié, suppression de "BUFFER"
+ # Pas de filtre spécifié, suppression de "BUFFER"
RemoveOutputFilter shtml
</Location></pre>
<div class="directive-section"><h2><a name="addtype" id="addtype">Directive</a> <a name="AddType" id="AddType">AddType</a><a title="Lien permanent" href="#addtype" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Associe les extensions de noms de fichiers au type de
-contenu spécifié</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddType <var>type-médium</var> <var>extension</var>
+contenu spécifié</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddType <var>type-médium</var> <var>extension</var>
[<var>extension</var>] ...</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_mime</td></tr>
</table>
<p>La directive <code class="directive">AddType</code> permet d'associer les
- extensions de noms fichiers données au type de contenu spécifié.
- <var>type-médium</var> est le <a class="glossarylink" href="../glossary.html#media-type" title="voir glossaire">Type
- MIME</a> à utiliser pour les fichiers dont le nom possède
- l'extension <var>extension</var>. Cette association s'ajoute à toute
+ extensions de noms fichiers données au type de contenu spécifié.
+ <var>type-médium</var> est le <a class="glossarylink" href="../glossary.html#media-type" title="voir glossaire">Type
+ MIME</a> à utiliser pour les fichiers dont le nom possède
+ l'extension <var>extension</var>. Cette association s'ajoute à toute
autre association en vigueur, et l'emporte sur toute association
- préexistante pour la même <var>extension</var>.</p>
+ préexistante pour la même <var>extension</var>.</p>
<div class="note">
- Plutôt que d'éditer directement le fichier <code class="directive"><a href="#typesconfig">TypesConfig</a></code>, il est recommandé
+ Plutôt que d'éditer directement le fichier <code class="directive"><a href="#typesconfig">TypesConfig</a></code>, il est recommandé
d'utiliser la directive <code class="directive">AddType</code> pour
- ajouter de nouveaux types de médias.
+ ajouter de nouveaux types de médias.
</div>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddType image/gif .gif</pre>
</div>
- <p>Ou, pour spécifier plusieurs extensions dans une seule directive
+ <p>Ou, pour spécifier plusieurs extensions dans une seule directive
:</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddType image/jpeg jpeg jpg jpe</pre>
</div>
- <p>L'argument <var>extension</var> est insensible à la casse et peut
- être spécifié avec ou sans le point initial. Les noms de fichiers
- peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
- l'argument <var>extension</var> sera comparé à chacune d'entre
+ <p>L'argument <var>extension</var> est insensible à la casse et peut
+ être spécifié avec ou sans le point initial. Les noms de fichiers
+ peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
+ l'argument <var>extension</var> sera comparé à chacune d'entre
elles.</p>
- <p>Il est possible d'obtenir un effet similaire à celui de la
+ <p>Il est possible d'obtenir un effet similaire à celui de la
directive <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code> du module
<code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> en qualifiant un <var>type de
- média</var> avec <code>qs</code> :</p>
+ média</var> avec <code>qs</code> :</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">AddType application/rss+xml;qs=0.8 .xml</pre>
</div>
- <p>Ceci peut s'avérer utile dans certaines situations, par exemple
- lorsqu'un client qui a ajouté un en-tête <code>Accept: */*</code> à
- sa requête n'est pas en mesure de traiter le contenu renvoyé par le
+ <p>Ceci peut s'avérer utile dans certaines situations, par exemple
+ lorsqu'un client qui a ajouté un en-tête <code>Accept: */*</code> à
+ sa requête n'est pas en mesure de traiter le contenu renvoyé par le
serveur.</p>
- <p>A la base, cette directive configure le type de contenu généré
- pour les fichiers statiques servis à partir du système de fichiers.
+ <p>A la base, cette directive configure le type de contenu généré
+ pour les fichiers statiques servis à partir du système de fichiers.
Dans le cas des ressources autres que les fichiers statiques pour
- lesquelles le générateur de la réponse spécifie en général un
+ lesquelles le générateur de la réponse spécifie en général un
Content-Type, cette directive n'a aucun effet.</p>
<div class="note"><h3>Note</h3>
- <p>Si aucun gestionnaire n'a été explicitement défini pour une
- requête, c'est le type de contenu spécifié qui sera utilisé comme
+ <p>Si aucun gestionnaire n'a été explicitement défini pour une
+ requête, c'est le type de contenu spécifié qui sera utilisé comme
nom de gestionnaire.</p>
<p>Lorsqu'aucune directive comme <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> ou
- <code class="directive"><a href="#addhandler">AddHandler</a></code> ne s'applique à
- une requête, le nom de gestionnaire interne qui aurait du être
- défini par une de ces directives correspond alors au type de contenu
- spécifié par la directive AddType.
+ <code class="directive"><a href="#addhandler">AddHandler</a></code> ne s'applique à
+ une requête, le nom de gestionnaire interne qui aurait du être
+ défini par une de ces directives correspond alors au type de contenu
+ spécifié par la directive AddType.
</p>
<p>
Pour des raisons historiques, certains modules tiers comme mod_php
peuvent adopter ce comportement pour forcer la prise en compte de la
- requête concernée.
+ requête concernée.
</p>
- <p>Il est conseillé d'éviter les configurations qui reposent sur de
- tels types "synthétiques". En outre, les configurations qui
- limitent l'accès aux directives <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> ou <code class="directive"><a href="#addhandler">AddHandler</a></code> doivent aussi limiter
- l'accès à la directive AddType.</p>
+ <p>Il est conseillé d'éviter les configurations qui reposent sur de
+ tels types "synthétiques". En outre, les configurations qui
+ limitent l'accès aux directives <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> ou <code class="directive"><a href="#addhandler">AddHandler</a></code> doivent aussi limiter
+ l'accès à la directive AddType.</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="defaultlanguage" id="defaultlanguage">Directive</a> <a name="DefaultLanguage" id="DefaultLanguage">DefaultLanguage</a><a title="Lien permanent" href="#defaultlanguage" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Défini un symbole de langage par défaut à affecter au champ
-d'en-tête Content-Language pour toutes les ressources dans le contexte
-courant auxquelles aucun symbole de langage n'a été
-associé.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Défini un symbole de langage par défaut à affecter au champ
+d'en-tête Content-Language pour toutes les ressources dans le contexte
+courant auxquelles aucun symbole de langage n'a été
+associé.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DefaultLanguage <var>symbole-langage</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_mime</td></tr>
</table>
<p>La directive <code class="directive">DefaultLanguage</code> permet
- d'indiquer à Apache que toutes les ressources du contexte courant
- (par exemple, toutes les ressources concernées par le conteneur
+ d'indiquer à Apache que toutes les ressources du contexte courant
+ (par exemple, toutes les ressources concernées par le conteneur
<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
- courant) qui ne possèdent pas d'extension de langage explicite
- (comme <code>.fr</code> ou <code>.de</code> tel que défini par la
+ courant) qui ne possèdent pas d'extension de langage explicite
+ (comme <code>.fr</code> ou <code>.de</code> tel que défini par la
directive <code class="directive"><a href="#addlanguage">AddLanguage</a></code>),
- verront leur en-tête HTTP Content-Language affecté du langage
+ verront leur en-tête HTTP Content-Language affecté du langage
<var>symbole-langage</var>. Ceci permet de marquer des arborescences
- de répertoires entières comme contenant des documents en français,
- par exemple, sans avoir à renommer chaque fichier. Notez qu'à la
- différence de l'utilisation des extensions pour spécifier des
+ de répertoires entières comme contenant des documents en français,
+ par exemple, sans avoir à renommer chaque fichier. Notez qu'à la
+ différence de l'utilisation des extensions pour spécifier des
langages, <code class="directive">DefaultLanguage</code> ne permet de
- spécifier qu'un seul langage.</p>
+ spécifier qu'un seul langage.</p>
<p>Si aucune directive <code class="directive">DefaultLanguage</code> n'est
- en vigueur, et si un fichier ne possède pas d'extension configurée
- par la directive <code class="directive"><a href="#addlanguage">AddLanguage</a></code>, aucun champ d'en-tête
- Content-Language ne sera généré.</p>
+ en vigueur, et si un fichier ne possède pas d'extension configurée
+ par la directive <code class="directive"><a href="#addlanguage">AddLanguage</a></code>, aucun champ d'en-tête
+ Content-Language ne sera généré.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">DefaultLanguage en</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="modmimeusepathinfo" id="modmimeusepathinfo">Directive</a> <a name="ModMimeUsePathInfo" id="ModMimeUsePathInfo">ModMimeUsePathInfo</a><a title="Lien permanent" href="#modmimeusepathinfo" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Indique à <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> de traiter les éléments
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Indique à <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> de traiter les éléments
de <code>path_info</code> en tant que parties du nom de
fichier</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ModMimeUsePathInfo On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ModMimeUsePathInfo Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ModMimeUsePathInfo Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</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_mime</td></tr>
</table>
<p>La directive <code class="directive">ModMimeUsePathInfo</code> permet de
combiner le nom de fichier avec la partie <code>path_info</code> de
- l'URL pour appliquer les directives <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> à la
- requête. La valeur par défaut est <code>Off</code> - situation dans
- laquelle l'élément <code>path_info</code> est ignoré.</p>
+ l'URL pour appliquer les directives <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> à la
+ requête. La valeur par défaut est <code>Off</code> - situation dans
+ laquelle l'élément <code>path_info</code> est ignoré.</p>
- <p>L'utilisation de cette directive est conseillée si vous utilisez
- un système de fichiers virtuel.</p>
+ <p>L'utilisation de cette directive est conseillée si vous utilisez
+ un système de fichiers virtuel.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ModMimeUsePathInfo On</pre>
</div>
- <p>Considérons une requête pour <code>/index.php/foo.shtml</code>,
- <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> ne traitera pas la requête entrante comme
+ <p>Considérons une requête pour <code>/index.php/foo.shtml</code>,
+ <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> ne traitera pas la requête entrante comme
<code>/index.php/foo.shtml</code> et les directives comme
<code>AddOutputFilter INCLUDES .shtml</code> ajouteront le filtre
- <code>INCLUDES</code> à la requête. Si la directive
- <code class="directive">ModMimeUsePathInfo</code> n'est pas définie, le
- filtre <code>INCLUDES</code> ne sera pas ajouté. Le fonctionnement
+ <code>INCLUDES</code> à la requête. Si la directive
+ <code class="directive">ModMimeUsePathInfo</code> n'est pas définie, le
+ filtre <code>INCLUDES</code> ne sera pas ajouté. Le fonctionnement
sera identique dans le cas des chemins virtuels, tels que ceux
- définis par la directive <code class="directive"><Location></code></p>
+ définis par la directive <code class="directive"><Location></code></p>
<h3>Voir aussi</h3>
<ul>
(MultiViews)</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers
[Handlers|Filters]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MultiviewsMatch NegotiatedOnly</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#Default">Défaut:</a></th><td><code>MultiviewsMatch NegotiatedOnly</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">AllowOverride:</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_mime</td></tr>
</table>
<p>La directive <code class="directive">MultiviewsMatch</code> permet trois
- comportements différents pour la fonctionnalité Multiviews du module
+ comportements différents pour la fonctionnalité Multiviews du module
<a href="mod_negotiation.html">mod_negotiation</a>. Les vues
- multiples permettent d'associer une requête pour un fichier, par
- exemple <code>index.html</code>, à toute extension négotiée
- s'ajoutant à la requête de base, par exemple
+ multiples permettent d'associer une requête pour un fichier, par
+ exemple <code>index.html</code>, à toute extension négotiée
+ s'ajoutant à la requête de base, par exemple
<code>index.html.en</code>, <code>index.html.fr</code>, ou
<code>index.html.gz</code>.</p>
<p>L'option <code>NegotiatedOnly</code> implique que toute extension
- s'ajoutant au nom de base doit correspondre à une extension de
- <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> reconnue pour la négociation de contenu,
+ s'ajoutant au nom de base doit correspondre à une extension de
+ <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> reconnue pour la négociation de contenu,
par exemple Charset, Content-Type, Language, ou Encoding. C'est la
- valeur d'option par défaut, et la contrainte la plus stricte
+ valeur d'option par défaut, et la contrainte la plus stricte
dont les effets de bord inattendus sont les moins nombreux.</p>
- <p>Pour inclure des extensions associées avec des gestionnaires
- et/ou des filtres, définissez la directive
- <code class="directive">MultiviewsMatch</code> avec les mots-clés
+ <p>Pour inclure des extensions associées avec des gestionnaires
+ et/ou des filtres, définissez la directive
+ <code class="directive">MultiviewsMatch</code> avec les mots-clés
<code>Handlers</code>, <code>Filters</code>, ou les deux. Si tous
- les autres facteurs sont égaux, c'est le fichier de plus petite
- taille qui sera servi ; par exemple, si le choix doit s'opérer entre
+ les autres facteurs sont égaux, c'est le fichier de plus petite
+ taille qui sera servi ; par exemple, si le choix doit s'opérer entre
<code>index.html.cgi</code> de 500 octets et
<code>index.html.pl</code> de 1000 octets, c'est le fichier
<code>.cgi</code> qui l'emportera dans cet exemple. Les utilisateurs
- de fichiers <code>.asis</code> auront avantage à utiliser l'option
- Handler, si les fichiers <code>.asis</code> sont associés au
+ de fichiers <code>.asis</code> auront avantage à utiliser l'option
+ Handler, si les fichiers <code>.asis</code> sont associés au
gestionnaire <code>asis-handler</code>.</p>
<p>Vous pouvez enfin autoriser l'association de toute extension avec
- l'option <code>Any</code>, même si <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> ne
- reconnaît pas l'extension. Ceci
- peut conduire à des résultats imprévisibles, comme l'envoi de
+ l'option <code>Any</code>, même si <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> ne
+ reconnaît pas l'extension. Ceci
+ peut conduire à des résultats imprévisibles, comme l'envoi de
fichiers .old ou .bak contrairement aux souhaits du webmaster.</p>
<p>Par exemple, la configuration suivante va permettre l'inclusion
- des extensions associées aux gestionnaires et aux filtres dans les
+ des extensions associées aux gestionnaires et aux filtres dans les
vues multiples, tout en excluant les fichiers de type inconnu :</p>
<pre class="prettyprint lang-config">MultiviewsMatch Handlers Filters</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="removecharset" id="removecharset">Directive</a> <a name="RemoveCharset" id="RemoveCharset">RemoveCharset</a><a title="Lien permanent" href="#removecharset" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de jeu de caractères pour un
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de jeu de caractères pour un
ensemble d'extensions de noms de fichiers</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveCharset <var>extension</var> [<var>extension</var>]
...</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_mime</td></tr>
</table>
<p>La directive <code class="directive">RemoveCharset</code> permet de
- supprimer toute association de jeu de caractères pour les fichiers
- dont les noms possèdent les extensions spécifiées. Ceci permet, au
+ supprimer toute association de jeu de caractères pour les fichiers
+ dont les noms possèdent les extensions spécifiées. Ceci permet, au
sein des fichiers <code>.htaccess</code>, d'annuler toute
- association héritée du répertoire parent ou de la configuration du
- serveur pour un répertoire particulier.</p>
+ association héritée du répertoire parent ou de la configuration du
+ serveur pour un répertoire particulier.</p>
- <p>L'argument <var>extension</var> est insensible à la casse et peut
- être spécifié avec ou sans le point initial.</p>
+ <p>L'argument <var>extension</var> est insensible à la casse et peut
+ être spécifié avec ou sans le point initial.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">RemoveCharset .html .shtml</pre>
</div>
ensemble d'extensions de noms de fichiers</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveEncoding <var>extension</var> [<var>extension</var>]
...</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_mime</td></tr>
</table>
<p>La directive <code class="directive">RemoveEncoding</code> permet de
supprimer toute association de codage pour les fichiers dont les
- noms possèdent les extensions spécifiées. Ceci permet, au
+ noms possèdent les extensions spécifiées. Ceci permet, au
sein des fichiers <code>.htaccess</code>, d'annuler toute
- association héritée du répertoire parent ou de la configuration du
- serveur pour un répertoire particulier. Voici un exemple
+ association héritée du répertoire parent ou de la configuration du
+ serveur pour un répertoire particulier. Voici un exemple
d'utilisation de cette directive :</p>
<div class="example"><h3>/foo/.htaccess:</h3><pre class="prettyprint lang-config">AddEncoding x-gzip .gz
</div>
<p>Avec cette configuration, le fichier <code>foo.gz</code> sera
- marqué comme codé avec gzip, mais <code>foo.gz.asc</code> sera
- marqué comme fichier texte non codé.</p>
+ marqué comme codé avec gzip, mais <code>foo.gz.asc</code> sera
+ marqué comme fichier texte non codé.</p>
<div class="note"><h3>Note</h3>
- <p>Les directives <code class="directive">RemoveEncoding</code> étant
- traitées <em>après</em> toute directive <code class="directive"><a href="#addencoding">AddEncoding</a></code>, il est possible
- qu'elles annulent les effets de ces dernières si les deux
- apparaissent dans la configuration du même répertoire.</p>
+ <p>Les directives <code class="directive">RemoveEncoding</code> étant
+ traitées <em>après</em> toute directive <code class="directive"><a href="#addencoding">AddEncoding</a></code>, il est possible
+ qu'elles annulent les effets de ces dernières si les deux
+ apparaissent dans la configuration du même répertoire.</p>
</div>
- <p>L'argument <var>extension</var> est insensible à la casse et peut
- être spécifié avec ou sans le point initial.</p>
+ <p>L'argument <var>extension</var> est insensible à la casse et peut
+ être spécifié avec ou sans le point initial.</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="removehandler" id="removehandler">Directive</a> <a name="RemoveHandler" id="RemoveHandler">RemoveHandler</a><a title="Lien permanent" href="#removehandler" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de gestionnaire à un ensemble
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de gestionnaire à un ensemble
d'extensions de noms de fichiers</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveHandler <var>extension</var> [<var>extension</var>]
...</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_mime</td></tr>
</table>
<p>La directive <code class="directive">RemoveHandler</code> permet de
- supprimer toute association de gestionnaire à des fichiers dont le
- nom possède l'extension donnée. Ceci permet, au
+ supprimer toute association de gestionnaire à des fichiers dont le
+ nom possède l'extension donnée. Ceci permet, au
sein des fichiers <code>.htaccess</code>, d'annuler toute
- association héritée du répertoire parent ou de la configuration du
- serveur pour un répertoire particulier. Voici un exemple
+ association héritée du répertoire parent ou de la configuration du
+ serveur pour un répertoire particulier. Voici un exemple
d'utilisation de cette directive :</p>
<div class="example"><h3>/foo/.htaccess:</h3><pre class="prettyprint lang-config">AddHandler server-parsed .html</pre>
<div class="example"><h3>/foo/bar/.htaccess:</h3><pre class="prettyprint lang-config">RemoveHandler .html</pre>
</div>
- <p>Avec cette dernière ligne, les fichiers <code>.html</code> du
- répertoire <code>/foo/bar</code> seront traités en tant que fichiers
- normaux, au lieu d'être traités en tant que candidats à
- l'interprétation (voir le module <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>
+ <p>Avec cette dernière ligne, les fichiers <code>.html</code> du
+ répertoire <code>/foo/bar</code> seront traités en tant que fichiers
+ normaux, au lieu d'être traités en tant que candidats à
+ l'interprétation (voir le module <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>
module).</p>
- <p>L'argument <var>extension</var> est insensible à la casse et peut
- être spécifié avec ou sans le point initial.</p>
+ <p>L'argument <var>extension</var> est insensible à la casse et peut
+ être spécifié avec ou sans le point initial.</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="removeinputfilter" id="removeinputfilter">Directive</a> <a name="RemoveInputFilter" id="RemoveInputFilter">RemoveInputFilter</a><a title="Lien permanent" href="#removeinputfilter" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de filtre en entrée à un
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de filtre en entrée à un
ensemble d'extensions de noms de fichiers</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveInputFilter <var>extension</var> [<var>extension</var>]
...</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_mime</td></tr>
</table>
<p>La directive <code class="directive">RemoveInputFilter</code> permet de
supprimer toute association de <a href="../filter.html">filtre</a>
- en entrée à des fichiers dont le nom possède l'extension donnée.
+ en entrée à des fichiers dont le nom possède l'extension donnée.
Ceci permet, au
sein des fichiers <code>.htaccess</code>, d'annuler toute
- association héritée du répertoire parent ou de la configuration du
- serveur pour un répertoire particulier.</p>
+ association héritée du répertoire parent ou de la configuration du
+ serveur pour un répertoire particulier.</p>
- <p>L'argument <var>extension</var> est insensible à la casse et peut
- être spécifié avec ou sans le point initial.</p>
+ <p>L'argument <var>extension</var> est insensible à la casse et peut
+ être spécifié avec ou sans le point initial.</p>
<h3>Voir aussi</h3>
<ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="removelanguage" id="removelanguage">Directive</a> <a name="RemoveLanguage" id="RemoveLanguage">RemoveLanguage</a><a title="Lien permanent" href="#removelanguage" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de langage à un ensemble
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de langage à un ensemble
d'extensions de noms de fichiers</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveLanguage <var>extension</var> [<var>extension</var>]
...</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_mime</td></tr>
</table>
<p>La directive <code class="directive">RemoveLanguage</code> permet de
- supprimer toute association de langage à des fichiers dont le nom
- possède l'extension donnée. Ceci permet, au
+ supprimer toute association de langage à des fichiers dont le nom
+ possède l'extension donnée. Ceci permet, au
sein des fichiers <code>.htaccess</code>, d'annuler toute
- association héritée du répertoire parent ou de la configuration du
- serveur pour un répertoire particulier.</p>
+ association héritée du répertoire parent ou de la configuration du
+ serveur pour un répertoire particulier.</p>
- <p>L'argument <var>extension</var> est insensible à la casse et peut
- être spécifié avec ou sans le point initial.</p>
+ <p>L'argument <var>extension</var> est insensible à la casse et peut
+ être spécifié avec ou sans le point initial.</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="removeoutputfilter" id="removeoutputfilter">Directive</a> <a name="RemoveOutputFilter" id="RemoveOutputFilter">RemoveOutputFilter</a><a title="Lien permanent" href="#removeoutputfilter" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de filtre en sortie à un
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de filtre en sortie à un
ensemble d'extensions de noms de fichiers</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveOutputFilter <var>extension</var> [<var>extension</var>]
...</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_mime</td></tr>
</table>
<p>La directive <code class="directive">RemoveOutputFilter</code> permet de
supprimer toute association de <a href="../filter.html">filtre</a>
- en sortie à des fichiers dont le nom possède l'extension donnée. Ceci permet, au
+ en sortie à des fichiers dont le nom possède l'extension donnée. Ceci permet, au
sein des fichiers <code>.htaccess</code>, d'annuler toute
- association héritée du répertoire parent ou de la configuration du
- serveur pour un répertoire particulier.</p>
+ association héritée du répertoire parent ou de la configuration du
+ serveur pour un répertoire particulier.</p>
- <p>L'argument <var>extension</var> est insensible à la casse et peut
- être spécifié avec ou sans le point initial.</p>
+ <p>L'argument <var>extension</var> est insensible à la casse et peut
+ être spécifié avec ou sans le point initial.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">RemoveOutputFilter shtml</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="removetype" id="removetype">Directive</a> <a name="RemoveType" id="RemoveType">RemoveType</a><a title="Lien permanent" href="#removetype" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de type de contenu à un ensemble
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Supprime toute association de type de contenu à un ensemble
d'extensions de noms de fichiers</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoveType <var>extension</var> [<var>extension</var>]
...</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_mime</td></tr>
</table>
<p>La directive <code class="directive">RemoveType</code> permet de
supprimer toute association de <a class="glossarylink" href="../glossary.html#media-type" title="voir glossaire">type de
- médium</a> à des fichiers dont le nom possède l'extension
- donnée. Ceci permet, au
+ médium</a> à des fichiers dont le nom possède l'extension
+ donnée. Ceci permet, au
sein des fichiers <code>.htaccess</code>, d'annuler toute
- association héritée du répertoire parent ou de la configuration du
- serveur pour un répertoire particulier. Voici un exemple
+ association héritée du répertoire parent ou de la configuration du
+ serveur pour un répertoire particulier. Voici un exemple
d'utilisation de cette directive :</p>
<div class="example"><h3>/foo/.htaccess:</h3><pre class="prettyprint lang-config">RemoveType .cgi</pre>
</div>
<p>Cette ligne aura pour effet de supprimer tout traitement
- spécifique des fichiers <code>.cgi</code> dans le répertoire
- <code>/foo/</code> et ses sous-répertoires, et les réponses
- contenant ce type de fichier ne possèderont pas de champ d'en-tête
+ spécifique des fichiers <code>.cgi</code> dans le répertoire
+ <code>/foo/</code> et ses sous-répertoires, et les réponses
+ contenant ce type de fichier ne possèderont pas de champ d'en-tête
HTTP Content-Type.</p>
<div class="note"><h3>Note</h3>
- <p>Les directives <code class="directive">RemoveType</code> sont traitées
- <em>après</em> toutes les directives <code class="directive"><a href="#addtype">AddType</a></code>, et il est possible que les
- effets de ces dernières soient annulés si les deux types de
- directives sont présents au sein de la configuration du même
- répertoire.</p>
+ <p>Les directives <code class="directive">RemoveType</code> sont traitées
+ <em>après</em> toutes les directives <code class="directive"><a href="#addtype">AddType</a></code>, et il est possible que les
+ effets de ces dernières soient annulés si les deux types de
+ directives sont présents au sein de la configuration du même
+ répertoire.</p>
</div>
- <p>L'argument <var>extension</var> est insensible à la casse et peut
- être spécifié avec ou sans le point initial.</p>
+ <p>L'argument <var>extension</var> est insensible à la casse et peut
+ être spécifié avec ou sans le point initial.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le chemin du fichier <code>mime.types</code></td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TypesConfig <var>chemin-fichier</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TypesConfig conf/mime.types</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TypesConfig conf/mime.types</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>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_mime</td></tr>
</table>
- <p>La directive <code class="directive">TypesConfig</code> permet de définir
- le chemin du fichier de configuration des <a class="glossarylink" href="../glossary.html#media-type" title="voir glossaire">types de média</a>. L'argument
- <var>chemin-fichier</var> est un chemin relatif au répertoire défini
+ <p>La directive <code class="directive">TypesConfig</code> permet de définir
+ le chemin du fichier de configuration des <a class="glossarylink" href="../glossary.html#media-type" title="voir glossaire">types de média</a>. L'argument
+ <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 la liste des associations par défaut des extensions
+ fichier contient la liste des associations par défaut des extensions
de noms de fichiers aux types de contenus. La plupart des
administrateurs utilisent le fichier <code>mime.types</code> fourni
par leur OS,
- qui associe les extensions de noms de fichiers courantes à la liste
- officielle des types de média enregistrés par l'IANA et maintenue à
+ qui associe les extensions de noms de fichiers courantes à la liste
+ officielle des types de média enregistrés par l'IANA et maintenue à
<a href="http://www.iana.org/assignments/media-types/index.html">http://www.iana.org/assignments/media-types/index.html</a>, ainsi
qu'un grand nombre de types non officiels. Ce fichier permet de
simplifier le fichier <code>httpd.conf</code> en fournissant la
- majorité des définitions de types de média, et ses définitions
- peuvent être écrasées par des directives <code class="directive"><a href="#addtype">AddType</a></code>, selon les besoins. Il est
- déconseillé de modifier le contenu du fichier
- <code>mime.types</code> car il peut être remplacé lors d'une mise à
+ majorité des définitions de types de média, et ses définitions
+ peuvent être écrasées par des directives <code class="directive"><a href="#addtype">AddType</a></code>, selon les besoins. Il est
+ déconseillé de modifier le contenu du fichier
+ <code>mime.types</code> car il peut être remplacé lors d'une mise à
jour du serveur.</p>
- <p>Le fichier contient des lignes dont le format est identique à
+ <p>Le fichier contient des lignes dont le format est identique à
celui des arguments d'une directive <code class="directive"><a href="#addtype">AddType</a></code> :</p>
<div class="example"><p><code>
- <var>type-médium</var> [<var>extension</var>] ...
+ <var>type-médium</var> [<var>extension</var>] ...
</code></p></div>
- <p>Les extensions sont insensibles à la casse. Les lignes vides et
- les lignes commençant par un dièse (<code>#</code>) sont
- ignorées. Les lignes vides servent à compléter le fichier
- mime.types. Apache httpd peut encore déterminer ces types via le
+ <p>Les extensions sont insensibles à la casse. Les lignes vides et
+ les lignes commençant par un dièse (<code>#</code>) sont
+ ignorées. Les lignes vides servent à compléter le fichier
+ mime.types. Apache httpd peut encore déterminer ces types via le
module <code class="module"><a href="../mod/mod_mime_magic.html">mod_mime_magic</a></code>.</p>
<div class="note">
- Merci de <strong>ne pas</strong> soumettre de requêtes au Projet
- de Serveur HTTP Apache pour ajouter une entrée dans le fichier
+ Merci de <strong>ne pas</strong> soumettre de requêtes au Projet
+ de Serveur HTTP Apache pour ajouter une entrée dans le fichier
<code>mime.types</code> fourni, sauf si :
- 1) le type de médium est déjà enregistré à l'IANA
- 2) et si l'extension est largement acceptée et ne provoque pas de
- conflits d'extensions entre les différentes plate-formes. Les
- requêtes du type <code>catégorie/x-sous-type</code> seront
- systématiquement rejetées, ainsi que toute nouvelle extension de
+ 1) le type de médium est déjà enregistré à l'IANA
+ 2) et si l'extension est largement acceptée et ne provoque pas de
+ conflits d'extensions entre les différentes plate-formes. Les
+ requêtes du type <code>catégorie/x-sous-type</code> seront
+ systématiquement rejetées, ainsi que toute nouvelle extension de
deux lettres, car elle ont de fortes chances d'entrer en conflit
- par la suite avec les innombrables langages préexistants et les
- espaces de nommage des jeux de caractères.
+ par la suite avec les innombrables langages préexistants et les
+ espaces de nommage des jeux de caractères.
</div>
<h3>Voir aussi</h3>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_mime.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_mime.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_mime.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_mime.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_mime_magic</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_mime_magic.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_mime_magic.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_mime_magic.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Détermine le type MIME d'un fichier à partir de quelques
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Détermine le type MIME d'un fichier à partir de quelques
octets de son contenu</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>mime_magic_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_mime_magic.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mime_magic_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_mime_magic.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module permet de déterminer le <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">type
- MIME</a> des fichiers de la même manière que la commande Unix
- <code>file(1)</code>, à savoir en se basant sur les premiers octets
- du fichier. Il est conçu comme une "seconde ligne de défense" pour
- les cas où <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> ne parvient pas à déterminer le
+ <p>Ce module permet de déterminer le <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">type
+ MIME</a> des fichiers de la même manière que la commande Unix
+ <code>file(1)</code>, à savoir en se basant sur les premiers octets
+ du fichier. Il est conçu comme une "seconde ligne de défense" pour
+ les cas où <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> ne parvient pas à déterminer le
type du fichier.</p>
- <p>Ce module est dérivé d'une version libre de la commande Unix
+ <p>Ce module est dérivé d'une version libre de la commande Unix
<code>file(1)</code> qui utilise des "nombres magiques" et autres
marques distinctives issus du contenu du fichier pour essayer de
- déterminer le type de contenu. Ce module n'est activé que si le
- fichier magique est spécifié par la directive <code class="directive"><a href="#mimemagicfile">MimeMagicFile</a></code>.</p>
+ déterminer le type de contenu. Ce module n'est activé que si le
+ fichier magique est spécifié par la directive <code class="directive"><a href="#mimemagicfile">MimeMagicFile</a></code>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#format">Format du fichier magique</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#performance">Problèmes liés aux performances</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#performance">Problèmes liés aux performances</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#notes">Notes</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#mimemagicfile">MimeMagicFile</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_mime_magic">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_mime_magic">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_mime_magic">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_mime_magic">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="format" id="format">Format du fichier magique</a><a title="Lien permanent" href="#format" class="permalink">¶</a></h2>
- <p>Le fichier contient du texte ASCII sur 4 à 5 colonnes. Les lignes
- vides sont autorisées mais ignorées. Toute ligne commençant par un
- dièse (<code>#</code>) est un commentaire. Les autres lignes sont
- interprétées en colonnes comme suit :</p>
+ <p>Le fichier contient du texte ASCII sur 4 à 5 colonnes. Les lignes
+ vides sont autorisées mais ignorées. Toute ligne commençant par un
+ dièse (<code>#</code>) est un commentaire. Les autres lignes sont
+ interprétées en colonnes comme suit :</p>
<table class="bordered"><tr class="header"><th>Colonne</th><th>Description</th></tr>
<tr><td>1</td>
- <td>numéro de l'octet à partir duquel la vérification débute<br />
- "<code>></code>" indique une dépendance par rapport à la
- dernière ligne non-"<code>></code>"</td></tr>
+ <td>numéro de l'octet à partir duquel la vérification débute<br />
+ "<code>></code>" indique une dépendance par rapport à la
+ dernière ligne non-"<code>></code>"</td></tr>
<tr class="odd"><td>2</td>
- <td><p>type de donnée à rechercher</p>
+ <td><p>type de donnée à rechercher</p>
<table class="bordered">
<tr><td><code>byte</code></td>
- <td>caractère unique</td></tr>
+ <td>caractère unique</td></tr>
<tr><td><code>short</code></td>
<td>entier sur 16 bits selon l'ordre de la machine</td></tr>
<tr><td><code>long</code></td>
<td>entier sur 32 bits selon l'ordre de la machine</td></tr>
<tr><td><code>string</code></td>
- <td>chaîne de taille choisie</td></tr>
+ <td>chaîne de taille choisie</td></tr>
<tr><td><code>date</code></td>
<td>date au format entier long (secondes depuis le temps Unix epoch/1970)</td></tr>
<tr><td><code>beshort</code></td>
<td>date au format entier 32 bits little-endian</td></tr>
</table></td></tr>
<tr><td>3</td>
- <td>contenu des données à rechercher</td></tr>
+ <td>contenu des données à rechercher</td></tr>
<tr class="odd"><td>4</td>
<td>type MIME si correspondance</td></tr>
<tr><td>5</td>
</table>
<p>Par exemple, les lignes du fichier magique suivantes
- permettraient de reconnaître certains formats audio :</p>
+ permettraient de reconnaître certains formats audio :</p>
<div class="example"><pre># Sun/NeXT audio data
0 string .snd
>12 belong 7 audio/basic
>12 belong 23 audio/x-adpcm</pre></div>
- <p>Et celles-ci permettraient de reconnaître la différence entre les
+ <p>Et celles-ci permettraient de reconnaître la différence entre les
fichiers <code>*.doc</code> qui contiennent des documents Microsoft
Word et les documents FrameMaker (ce sont des formats de fichiers
- incompatibles qui possèdent le même suffixe).</p>
+ incompatibles qui possèdent le même suffixe).</p>
<div class="example"><pre># Frame
0 string \<MakerFile application/x-frame
0 string \320\317\021\340\241\261 application/msword
0 string \333\245-\0\0\0 application/msword</pre></div>
- <p>Un champ optionnel codage MIME peut être ajouté dans la cinquième
- colonne. Par exemple, cette ligne permet de reconnaître les fichiers
- compressés par gzip et définissent le type de codage.</p>
+ <p>Un champ optionnel codage MIME peut être ajouté dans la cinquième
+ colonne. Par exemple, cette ligne permet de reconnaître les fichiers
+ compressés par gzip et définissent le type de codage.</p>
- <div class="example"><pre># gzip (GNU zip, à ne pas confondre avec
+ <div class="example"><pre># gzip (GNU zip, à ne pas confondre avec
# l'archiveur zip [Info-ZIP/PKWARE])
0 string \037\213 application/octet-stream x-gzip</pre></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="performance" id="performance">Problèmes liés aux performances</a><a title="Lien permanent" href="#performance" class="permalink">¶</a></h2>
- <p>Ce module n'est pas fait pour tous les systèmes. Si votre système
- parvient à peine à supporter sa charge, ou si vous testez les
- performances d'un serveur web, il est déconseillé d'utiliser ce
- module car son fonctionnement a un prix en matière de ressources
- consommées.</p>
-
- <p>Des efforts ont cependant été fournis pour améliorer les
+<h2><a name="performance" id="performance">Problèmes liés aux performances</a><a title="Lien permanent" href="#performance" class="permalink">¶</a></h2>
+ <p>Ce module n'est pas fait pour tous les systèmes. Si votre système
+ parvient à peine à supporter sa charge, ou si vous testez les
+ performances d'un serveur web, il est déconseillé d'utiliser ce
+ module car son fonctionnement a un prix en matière de ressources
+ consommées.</p>
+
+ <p>Des efforts ont cependant été fournis pour améliorer les
performances du code original de la commande <code>file(1)</code> en
- l'adaptant pour fonctionner sur un serveur web à forte charge. Il a
- été conçu pour un serveur sur lequel des milliers d'utilisateurs
- publient leurs propres documents, ce qui est probablement très
- courant sur un intranet. Il s'avère souvent bénéfique qu'un serveur
- puisse prendre des décisions plus pertinentes à propos du contenu
+ l'adaptant pour fonctionner sur un serveur web à forte charge. Il a
+ été conçu pour un serveur sur lequel des milliers d'utilisateurs
+ publient leurs propres documents, ce qui est probablement très
+ courant sur un intranet. Il s'avère souvent bénéfique qu'un serveur
+ puisse prendre des décisions plus pertinentes à propos du contenu
d'un fichier que celles se basant sur le nom du fichier seul, ne
serait-ce que pour diminuer le nombre d'appels du type "pourquoi ma
page ne s'affiche-t-elle pas ?" survenant lorsque les utilisateurs
- nomment leurs fichiers incorrectement. Vous devez déterminer si la
- charge supplémentaire convient à votre environnement.</p>
+ nomment leurs fichiers incorrectement. Vous devez déterminer si la
+ charge supplémentaire convient à votre environnement.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="notes" id="notes">Notes</a><a title="Lien permanent" href="#notes" class="permalink">¶</a></h2>
<p>Les notes suivantes s'appliquent au module
<code class="module"><a href="../mod/mod_mime_magic.html">mod_mime_magic</a></code> et sont incluses ici pour
- conformité avec les restrictions de copyright des contributeurs
- qui requièrent de les accepter.</p>
- <p>Note de traduction : ces informations de type légal ne sont pas traductibles</p>
+ conformité avec les restrictions de copyright des contributeurs
+ qui requièrent de les accepter.</p>
+ <p>Note de traduction : ces informations de type légal ne sont pas traductibles</p>
<div class="note">
<p>mod_mime_magic: MIME type lookup via file magic numbers<br />
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="mimemagicfile" id="mimemagicfile">Directive</a> <a name="MimeMagicFile" id="MimeMagicFile">MimeMagicFile</a><a title="Lien permanent" href="#mimemagicfile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la détermination du type MIME en se basant sur le
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la détermination du type MIME en se basant sur le
contenu du fichier et en utilisant le fichier magique
-spécifié</td></tr>
+spécifié</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MimeMagicFile <var>chemin-fichier</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_mime_magic</td></tr>
</table>
<p>La directive <code class="directive">MimeMagicFile</code> permet
- d'activer ce module, le fichier par défaut fourni étant
- <code>conf/magic</code>. Les chemins sans slash '/' de début sont
- relatifs au répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. Les serveurs virtuels
- utilisent le même fichier que le serveur principal sauf si un
- fichier spécifique a été défini pour ce serveur virtuel, auquel cas
- c'est ce dernier fichier qui sera utilisé.</p>
+ d'activer ce module, le fichier par défaut fourni étant
+ <code>conf/magic</code>. Les chemins sans slash '/' de début sont
+ relatifs au répertoire défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. Les serveurs virtuels
+ utilisent le même fichier que le serveur principal sauf si un
+ fichier spécifique a été défini pour ce serveur virtuel, auquel cas
+ c'est ce dernier fichier qui sera utilisé.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">MimeMagicFile conf/magic</pre>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_mime_magic.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_mime_magic.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_mime_magic.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_negotiation</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_negotiation.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_negotiation.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Effectue la <a href="../content-negotiation.html">négociation de
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Effectue la <a href="../content-negotiation.html">négociation de
contenu</a></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>negotiation_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_negotiation.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>negotiation_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_negotiation.c</td></tr></table>
<h3>Sommaire</h3>
- <p>La négociation de contenu, ou plus précisément la sélection de
- contenu, est la sélection parmi plusieurs documents disponibles, du
- document qui "colle" au plus près des possibilités du client. Pour y
- parvenir, deux méthodes sont employées.</p>
+ <p>La négociation de contenu, ou plus précisément la sélection de
+ contenu, est la sélection parmi plusieurs documents disponibles, du
+ document qui "colle" au plus près des possibilités du client. Pour y
+ parvenir, deux méthodes sont employées.</p>
<ul>
- <li>Une table de correspondances de types (un fichier associé au
+ <li>Une table de correspondances de types (un fichier associé au
gestionnaire <code>type-map</code>) qui contient une liste
- explicite des fichiers contenant les différentes variantes.</li>
+ explicite des fichiers contenant les différentes variantes.</li>
- <li>Une recherche multivues (Multiviews) (activée par l'<code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>Multiviews</code>), où le
- serveur effectue une recherche de correspondance de modèle de nom
- de fichier implicite, et fait son choix parmi les résultats.</li>
+ <li>Une recherche multivues (Multiviews) (activée par l'<code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>Multiviews</code>), où le
+ serveur effectue une recherche de correspondance de modèle de nom
+ de fichier implicite, et fait son choix parmi les résultats.</li>
</ul>
</div>
<div id="quickview"><h3>Sujets</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#forcelanguagepriority">ForceLanguagePriority</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#languagepriority">LanguagePriority</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_negotiation">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_negotiation">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_negotiation">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_negotiation">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li>
<li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li>
-<li><a href="../content-negotiation.html">Négociation de
+<li><a href="../content-negotiation.html">Négociation de
contenu</a></li>
<li><a href="../env.html">Variables d'environnement</a></li>
<li><a href="#comments_section">Commentaires</a></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="typemaps" id="typemaps">Tables de correspondances de types</a><a title="Lien permanent" href="#typemaps" class="permalink">¶</a></h2>
- <p>Une table de correspondances de types possède un format similaire
- à celui des en-têtes de messagerie RFC822. Elle contient des
- descriptions de documents séparées par des lignes vides, toute ligne
- commençant par un dièse ('#') étant considérée comme un
+ <p>Une table de correspondances de types possède un format similaire
+ à celui des en-têtes de messagerie RFC822. Elle contient des
+ descriptions de documents séparées par des lignes vides, toute ligne
+ commençant par un dièse ('#') étant considérée comme un
commentaire. Une description de document comporte plusieurs
- enregistrements d'en-têtes ; chaque enregistrement peut être réparti
- sur plusieurs lignes à condition que les lignes supplémentaires
+ enregistrements d'en-têtes ; chaque enregistrement peut être réparti
+ sur plusieurs lignes à condition que les lignes supplémentaires
commencent par un ou plusieurs espaces. Lors du traitement, les
- espaces de début de ligne seront supprimés et les lignes
- concaténées. L'enregistrement d'un en-tête comprend un mot-clé qui
- se termine toujours par un caractère "deux-points" ':', suivi d'une
- valeur. Les espaces sont autorisés entre le nom d'en-tête et sa
- valeur, ainsi qu'entre les différents éléments de la valeur. Les
- en-têtes autorisés sont :</p>
+ espaces de début de ligne seront supprimés et les lignes
+ concaténées. L'enregistrement d'un en-tête comprend un mot-clé qui
+ se termine toujours par un caractère "deux-points" ':', suivi d'une
+ valeur. Les espaces sont autorisés entre le nom d'en-tête et sa
+ valeur, ainsi qu'entre les différents éléments de la valeur. Les
+ en-têtes autorisés sont :</p>
<dl>
<dt><code>Content-Encoding:</code></dt>
- <dd>Le codage du fichier. Apache ne reconnaît que les codages
- définis par une directive <code class="directive"><a href="../mod/mod_mime.html#addencoding">AddEncoding</a></code>. Sont normalement inclus
- les codages <code>x-compress</code> pour les fichiers compressés
- avec compress, et <code>x-gzip</code> pour les fichiers compressés
- avec gzip. Le préfixe <code>x-</code> est ignoré lors des
+ <dd>Le codage du fichier. Apache ne reconnaît que les codages
+ définis par une directive <code class="directive"><a href="../mod/mod_mime.html#addencoding">AddEncoding</a></code>. Sont normalement inclus
+ les codages <code>x-compress</code> pour les fichiers compressés
+ avec compress, et <code>x-gzip</code> pour les fichiers compressés
+ avec gzip. Le préfixe <code>x-</code> est ignoré lors des
comparaisons de codages.</dd>
<dt><code>Content-Language:</code></dt>
<dd>Le(s) langage(s) de la variante, sous la forme d'un symbole de
langage Internet standard (<a href="http://www.ietf.org/rfc/rfc1766.txt">RFC 1766</a>). Par
- exemple, <code>en</code> correspond à l'anglais. Si la variante
- contient plusieurs langages, ils sont séparés par des
+ exemple, <code>en</code> correspond à l'anglais. Si la variante
+ contient plusieurs langages, ils sont séparés par des
virgules.</dd>
<dt><code>Content-Length:</code></dt>
- <dd>La taille du fichier en octets. Si cet en-tête n'est pas
- présent, c'est la taille réelle du fichier qui est utilisée.</dd>
+ <dd>La taille du fichier en octets. Si cet en-tête n'est pas
+ présent, c'est la taille réelle du fichier qui est utilisée.</dd>
<dt><code>Content-Type:</code></dt>
<dd>
Le <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">type MIME</a> du document
- avec des paramètres optionnels. Les paramètres sont séparés du
- type de médium ainsi qu'entre eux par un point-virgule, et
- possèdent la syntaxe <code>nom=valeur</code>. Les paramètres
+ avec des paramètres optionnels. Les paramètres sont séparés du
+ type de médium ainsi qu'entre eux par un point-virgule, et
+ possèdent la syntaxe <code>nom=valeur</code>. Les paramètres
courants sont :
<dl>
<dt><code>level</code></dt>
- <dd>un entier spécifiant la version du type de média. Pour
- <code>text/html</code>, la valeur par défaut est 2, sinon
+ <dd>un entier spécifiant la version du type de média. Pour
+ <code>text/html</code>, la valeur par défaut est 2, sinon
0.</dd>
<dt><code>qs</code></dt>
- <dd>un nombre en virgule flottante de 0[.000] à 1[.000], indiquant la
- "qualité" relative de la variante courante par rapport aux
- autres variantes disponibles, indépendamment des possibilités
- du client. Par exemple, un fichier jpeg est en général une
- source de qualité supérieure à un fichier ascii s'il est censé
- représenter une image. Cependant, si la ressource représentée
- est une image ascii, un fichier ascii possèdera une qualité
- supérieure à un fichier jpeg. Toutes les valeurs de
- <code>qs</code> sont donc spécifiques à une certaine
+ <dd>un nombre en virgule flottante de 0[.000] à 1[.000], indiquant la
+ "qualité" relative de la variante courante par rapport aux
+ autres variantes disponibles, indépendamment des possibilités
+ du client. Par exemple, un fichier jpeg est en général une
+ source de qualité supérieure à un fichier ascii s'il est censé
+ représenter une image. Cependant, si la ressource représentée
+ est une image ascii, un fichier ascii possèdera une qualité
+ supérieure à un fichier jpeg. Toutes les valeurs de
+ <code>qs</code> sont donc spécifiques à une certaine
ressource.</dd>
</dl>
</dd>
<dt><code>URI:</code></dt>
- <dd>l'URI du fichier contenant la variante (du type de médium
- donné, codé selon le codage de contenu donné). Cet URI est
- considéré comme relatif au fichier de correspondances ; il doit
- être situé sur le même serveur, et doit faire référence au
- fichier auquel le client se verrait accorder l'accès s'il était
+ <dd>l'URI du fichier contenant la variante (du type de médium
+ donné, codé selon le codage de contenu donné). Cet URI est
+ considéré comme relatif au fichier de correspondances ; il doit
+ être situé sur le même serveur, et doit faire référence au
+ fichier auquel le client se verrait accorder l'accès s'il était
requis directement.</dd>
<dt><code>Body:</code></dt>
- <dd>Le contenu réel de la ressource
- peut être inclus dans la table de correspondances en utilisant
- l'en-tête Body. Cet en-tête doit contenir une chaîne désignant un
- délimiteur pour le contenu du corps. Les lignes suivantes du
- fichier de correspondances de types seront alors considérées comme
- parties du corps de la ressource jusqu'à ce que le délimiteur soit
- détecté.
+ <dd>Le contenu réel de la ressource
+ peut être inclus dans la table de correspondances en utilisant
+ l'en-tête Body. Cet en-tête doit contenir une chaîne désignant un
+ délimiteur pour le contenu du corps. Les lignes suivantes du
+ fichier de correspondances de types seront alors considérées comme
+ parties du corps de la ressource jusqu'à ce que le délimiteur soit
+ détecté.
<div class="example"><h3>Exemple:</h3><p><code>
Body:----xyz----<br />
</dd>
</dl>
- <p>Considérons une ressource, <code>document.html</code>, disponible
- en anglais, en français et en allemand. Les fichiers correspondants
+ <p>Considérons une ressource, <code>document.html</code>, disponible
+ en anglais, en français et en allemand. Les fichiers correspondants
se nomment respectivement <code>document.html.en</code>,
<code>document.html.fr</code>, et <code>document.html.de</code>. Le
fichier de correspondances de types se nommera
</code></p></div>
- <p>Ces quatre fichiers doivent se trouver dans le même répertoire,
- et le fichier <code>.var</code> doit être associé au gestionnaire
+ <p>Ces quatre fichiers doivent se trouver dans le même répertoire,
+ et le fichier <code>.var</code> doit être associé au gestionnaire
<code>type-map</code> via une directive <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> :</p>
<pre class="prettyprint lang-config">AddHandler type-map .var</pre>
- <p>A l'arrivée d'une requête pour la ressource
+ <p>A l'arrivée d'une requête pour la ressource
<code>document.html.var</code>, la variante de
- <code>document.html</code> qui correspond le mieux à la préference
- de langage spécifiée dans l'en-tête de la requête de l'utilisateur
+ <code>document.html</code> qui correspond le mieux à la préference
+ de langage spécifiée dans l'en-tête de la requête de l'utilisateur
<code>Accept-Language</code> sera choisie.</p>
- <p>Si <code>Multiviews</code> est activée, et si <code class="directive"><a href="../mod/mod_mime.html#multiviewsmatch">MultiviewsMatch</a></code> est définie à
- "handlers" ou "any", une requête pour <code>document.html</code> va
+ <p>Si <code>Multiviews</code> est activée, et si <code class="directive"><a href="../mod/mod_mime.html#multiviewsmatch">MultiviewsMatch</a></code> est définie à
+ "handlers" ou "any", une requête pour <code>document.html</code> va
rechercher <code>document.html.var</code>, et continuer la
- négociation avec le gestionnaire explicite type-map.</p>
+ négociation avec le gestionnaire explicite type-map.</p>
- <p>D'autres directives de configuration, comme <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, peuvent être utilisées pour
+ <p>D'autres directives de configuration, comme <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, peuvent être utilisées pour
associer <code>document.html</code> avec
<code>document.html.var</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="multiviews" id="multiviews">Multivues</a><a title="Lien permanent" href="#multiviews" class="permalink">¶</a></h2>
- <p>Une recherche Multivues est activée par l'<code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>Multiviews</code>. Si le
- serveur reçoit une requête pour <code>/un/répertoire/foo</code>, et
- si <code>/un/répertoire/foo</code> n'existe pas, le serveur parcourt
- le répertoire à la recherche de tous les fichiers de nom
- <code>foo.*</code>, et simule véritablement une correspondance de
- type qui nomme tous ces fichiers en leur assignant les mêmes type
- de média et codage de contenu qu'ils auraient eus si le client avait
+ <p>Une recherche Multivues est activée par l'<code class="directive"><a href="../mod/core.html#options">Options</a></code> <code>Multiviews</code>. Si le
+ serveur reçoit une requête pour <code>/un/répertoire/foo</code>, et
+ si <code>/un/répertoire/foo</code> n'existe pas, le serveur parcourt
+ le répertoire à la recherche de tous les fichiers de nom
+ <code>foo.*</code>, et simule véritablement une correspondance de
+ type qui nomme tous ces fichiers en leur assignant les mêmes type
+ de média et codage de contenu qu'ils auraient eus si le client avait
requis l'un d'entre eux avec son nom complet. Il choisit ensuite le
fichier qui correspond le mieux au profile du client, puis renvoie
le document.</p>
- <p>La directive <code class="directive"><a href="../mod/mod_mime.html#multiviewsmatch">MultiviewsMatch</a></code> définit si Apache doit
- prendre en compte les fichiers qui ne comportent pas de métadonnées
- de négociation de contenu lors du choix du fichier à servir.</p>
+ <p>La directive <code class="directive"><a href="../mod/mod_mime.html#multiviewsmatch">MultiviewsMatch</a></code> définit si Apache doit
+ prendre en compte les fichiers qui ne comportent pas de métadonnées
+ de négociation de contenu lors du choix du fichier à servir.</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="cachenegotiateddocs" id="cachenegotiateddocs">Directive</a> <a name="CacheNegotiatedDocs" id="CacheNegotiatedDocs">CacheNegotiatedDocs</a><a title="Lien permanent" href="#cachenegotiateddocs" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet la mise en cache au niveau des serveurs mandataires
-des documents dont le contenu a été négocié</td></tr>
+des documents dont le contenu a été négocié</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheNegotiatedDocs On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheNegotiatedDocs Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheNegotiatedDocs Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_negotiation</td></tr>
</table>
- <p>Si elle est définie à "on", cette directive permet la mise en
+ <p>Si elle est définie à "on", cette directive permet la mise en
cache au niveau des serveurs mandataires des documents dont le
- contenu a été négocié. Le processus de mise en cache sera alors plus
- efficace, mais des clients se trouvant derrière le mandataire
+ contenu a été négocié. Le processus de mise en cache sera alors plus
+ efficace, mais des clients se trouvant derrière le mandataire
seront alors susceptibles de se voir servir des versions de
- documents qui ne correspondent pas forcément à leurs attentes.</p>
+ documents qui ne correspondent pas forcément à leurs attentes.</p>
- <p>Cette directive ne s'applique qu'aux requêtes en provenance de
- navigateurs HTTP/1.0. HTTP/1.1 fournit un bien meilleur contrôle de
- la mise en cache des documents au contenu négocié, et cette
- directive n'a aucun effet sur les réponses aux requêtes
+ <p>Cette directive ne s'applique qu'aux requêtes en provenance de
+ navigateurs HTTP/1.0. HTTP/1.1 fournit un bien meilleur contrôle de
+ la mise en cache des documents au contenu négocié, et cette
+ directive n'a aucun effet sur les réponses aux requêtes
HTTP/1.1.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="forcelanguagepriority" id="forcelanguagepriority">Directive</a> <a name="ForceLanguagePriority" id="ForceLanguagePriority">ForceLanguagePriority</a><a title="Lien permanent" href="#forcelanguagepriority" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action à entreprendre si un document acceptable unique
-n'est pas trouvé</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Action à entreprendre si un document acceptable unique
+n'est pas trouvé</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ForceLanguagePriority Prefer</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#Default">Défaut:</a></th><td><code>ForceLanguagePriority Prefer</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">AllowOverride:</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_negotiation</td></tr>
</table>
<p>La directive <code class="directive">ForceLanguagePriority</code> utilise
- le langage défini par la directive <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> pour terminer
- la négociation lorsque le serveur n'est pas en mesure de trouver une
+ le langage défini par la directive <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> pour terminer
+ la négociation lorsque le serveur n'est pas en mesure de trouver une
solution satisfaisante unique.</p>
<p><code>ForceLanguagePriority Prefer</code> utilise la directive
- <code>LanguagePriority</code> pour servir le résultat d'un choix
- unique, au lieu de renvoyer un résultat HTTP 300 (MULTIPLE CHOICES),
- lorsque que plusieurs choix équivalents sont disponibles. Par
- exemple, avec les deux directives ci-dessous, si l'en-tête
- <code>Accept-Language</code> de l'utilisateur assigne à
- <code>en</code> et <code>de</code> une qualité de <code>.500</code>
- (les deux langages sont également acceptables), alors c'est la
- première variante acceptable de langue <code>en</code> qui sera
+ <code>LanguagePriority</code> pour servir le résultat d'un choix
+ unique, au lieu de renvoyer un résultat HTTP 300 (MULTIPLE CHOICES),
+ lorsque que plusieurs choix équivalents sont disponibles. Par
+ exemple, avec les deux directives ci-dessous, si l'en-tête
+ <code>Accept-Language</code> de l'utilisateur assigne à
+ <code>en</code> et <code>de</code> une qualité de <code>.500</code>
+ (les deux langages sont également acceptables), alors c'est la
+ première variante acceptable de langue <code>en</code> qui sera
servie.</p>
<pre class="prettyprint lang-config">LanguagePriority en fr de
<p><code>ForceLanguagePriority Fallback</code> utilise la directive
<code class="directive"><a href="#languagepriority">LanguagePriority</a></code>
- pour servir un résultat valide, au lieu de renvoyer un résultat HTTP
+ pour servir un résultat valide, au lieu de renvoyer un résultat HTTP
406 (NOT ACCEPTABLE). Avec les deux directives ci-dessous, si
- l'en-tête <code>Accept-Language</code> de l'utilisateur ne mentionne
- que les réponses de langage <code>es</code>, et si aucune variante
- dans cette langue n'est trouvée, c'est la première variante de la
- liste définie par la directive <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> qui sera servie.</p>
+ l'en-tête <code>Accept-Language</code> de l'utilisateur ne mentionne
+ que les réponses de langage <code>es</code>, et si aucune variante
+ dans cette langue n'est trouvée, c'est la première variante de la
+ liste définie par la directive <code class="directive"><a href="#languagepriority">LanguagePriority</a></code> qui sera servie.</p>
<pre class="prettyprint lang-config">LanguagePriority en fr de
ForceLanguagePriority Fallback</pre>
<p>Les deux options, <code>Prefer</code> et <code>Fallback</code>,
- peuvent être spécifiées, de façon à ce que la variante servie soit
- la première variante qui convient définie par la directive
+ peuvent être spécifiées, de façon à ce que la variante servie soit
+ la première variante qui convient définie par la directive
<code class="directive"><a href="#languagepriority">LanguagePriority</a></code> si
- plusieurs variantes sont également acceptables, ou le premier
- document disponible si aucune variante ne convient à la liste de
+ plusieurs variantes sont également acceptables, ou le premier
+ document disponible si aucune variante ne convient à la liste de
langages acceptables fournie par le client.</p>
<h3>Voir aussi</h3>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="languagepriority" id="languagepriority">Directive</a> <a name="LanguagePriority" id="LanguagePriority">LanguagePriority</a><a title="Lien permanent" href="#languagepriority" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'ordre de priorité des variantes de langages pour les
-cas où le client n'a pas formulé de préférences</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'ordre de priorité des variantes de langages pour les
+cas où le client n'a pas formulé de préférences</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LanguagePriority <var>langage-MIME</var> [<var>langage-MIME</var>]
...</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_negotiation</td></tr>
</table>
<p>La directive <code class="directive">LanguagePriority</code> permet de
- définir, au cours du traitement d'une requête Multivues, l'ordre de
- priorité des variantes de langages pour les cas
- où le client n'a pas formulé de préférences. La liste énumère les
- <var>langages-MIME</var> dans un ordre de préférences
- décroissantes.</p>
+ définir, au cours du traitement d'une requête Multivues, l'ordre de
+ priorité des variantes de langages pour les cas
+ où le client n'a pas formulé de préférences. La liste énumère les
+ <var>langages-MIME</var> dans un ordre de préférences
+ décroissantes.</p>
<pre class="prettyprint lang-config">LanguagePriority en fr de</pre>
- <p>Dans le cas d'une requête pour <code>foo.html</code>, si
+ <p>Dans le cas d'une requête pour <code>foo.html</code>, si
<code>foo.html.fr</code> et <code>foo.html.de</code> existent, et si
- le client n'a pas formulé de préférences, c'est le fichier
- <code>foo.html.fr</code> qui sera renvoyé.</p>
+ le client n'a pas formulé de préférences, c'est le fichier
+ <code>foo.html.fr</code> qui sera renvoyé.</p>
<p>Notez que cette directive n'a d'effet que si le 'meilleur'
- langage n'a pas pu être déterminé d'une autre manière ou si la
+ langage n'a pas pu être déterminé d'une autre manière ou si la
valeur de la directive <code class="directive"><a href="#forcelanguagepriority">ForceLanguagePriority</a></code> est
- différente de <code>None</code>. En général, c'est le client qui
- détermine le langage préféré, non le serveur.</p>
+ différente de <code>None</code>. En général, c'est le client qui
+ détermine le langage préféré, non le serveur.</p>
<h3>Voir aussi</h3>
<ul>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_negotiation.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_negotiation.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_negotiation.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_negotiation.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_nw_ssl</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_nw_ssl.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_nw_ssl.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_nw_ssl.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Active le chiffrement SSL pour Netware</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>nwssl_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_nw_ssl.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>NetWare seulement</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>nwssl_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_nw_ssl.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>NetWare seulement</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module active le chiffrement SSL sur un port spécifique. Il
- s'appuie sur la fonctionnalité de chiffrement SSL intégrée au
- système d'exploitation Netware.</p>
+ <p>Ce module active le chiffrement SSL sur un port spécifique. Il
+ s'appuie sur la fonctionnalité de chiffrement SSL intégrée au
+ système d'exploitation Netware.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#nwsslupgradeable">NWSSLUpgradeable</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#securelisten">SecureListen</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_nw_ssl">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_nw_ssl">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_nw_ssl">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_nw_ssl">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</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="nwssltrustedcerts" id="nwssltrustedcerts">Directive</a> <a name="NWSSLTrustedCerts" id="NWSSLTrustedCerts">NWSSLTrustedCerts</a><a title="Lien permanent" href="#nwssltrustedcerts" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liste de certificats clients supplémentaires</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liste de certificats clients supplémentaires</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NWSSLTrustedCerts <var>nom-fichier</var>
[<var>nom-fichier</var>] ...</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>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_nw_ssl</td></tr>
</table>
- <p>Cette directive permet de spécifier une liste de fichiers (au
- format DER) contenant des certificats clients utilisés lors de
- l'établissement d'une connexion SSL mandatée. Chaque certificat
- client utilisé par un serveur doit être enregistré séparément dans
+ <p>Cette directive permet de spécifier une liste de fichiers (au
+ format DER) contenant des certificats clients utilisés lors de
+ l'établissement d'une connexion SSL mandatée. Chaque certificat
+ client utilisé par un serveur doit être enregistré séparément dans
son propre fichier <code>.der</code>.</p>
</div>
<div class="directive-section"><h2><a name="nwsslupgradeable" id="nwsslupgradeable">Directive</a> <a name="NWSSLUpgradeable" id="NWSSLUpgradeable">NWSSLUpgradeable</a><a title="Lien permanent" href="#nwsslupgradeable" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet de promouvoir une connexion non SSL au statut de
-connexion SSL à la demande</td></tr>
+connexion SSL à la demande</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NWSSLUpgradeable [<var>adresse-IP</var>:]<var>num-port</var></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>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_nw_ssl</td></tr>
</table>
- <p>Cette directive permet de promouvoir une connexion établie sur
- l'adresse IP et/ou le port spécifiés au statut de connexion SSL à la
- demande du client. L'adresse et/ou le port doivent avoir été définis
- au préalable par une directive <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p>
+ <p>Cette directive permet de promouvoir une connexion établie sur
+ l'adresse IP et/ou le port spécifiés au statut de connexion SSL à la
+ demande du client. L'adresse et/ou le port doivent avoir été définis
+ au préalable par une directive <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></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="securelisten" id="securelisten">Directive</a> <a name="SecureListen" id="SecureListen">SecureListen</a><a title="Lien permanent" href="#securelisten" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le chiffrement SSL pour le port
-spécifié</td></tr>
+spécifié</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SecureListen [<var>adresse-IP</var>:]<var>num-port</var>
<var>nom-certificat</var> [MUTUAL]</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>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_nw_ssl</td></tr>
</table>
- <p>Cette directive permet de spécifier le port et le nom de
- certificat de style eDirectory qui seront utilisés pour activer le
- chiffrement SSL. En outre, un troisième paramètre optionnel permet
+ <p>Cette directive permet de spécifier le port et le nom de
+ certificat de style eDirectory qui seront utilisés pour activer le
+ chiffrement SSL. En outre, un troisième paramètre optionnel permet
d'activer l'authentification mutuelle.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_nw_ssl.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_nw_ssl.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_nw_ssl.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_policy</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_policy.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_policy.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_policy.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Mise en conformité avec le protocole HTTP.</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Mise en conformité avec le protocole HTTP.</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>policy_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_policy.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>policy_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_policy.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Le protocole HTTP recommande aux clients d'être "indulgents pour
- ce qu'ils doivent accepter", et aux serveurs d'être "stricts pour ce
- qu'ils envoient". Dans certains cas, il peut s'avérer difficile de
- déterminer si un serveur ou une application a été mal configuré,
- sert un contenu qui ne peut pas être mis en cache ou se comporte de
- manière non optimale, car le client HTTP est souvent en mesure de
- compenser les défauts du serveur. Ces problèmes peuvent induire une
- consommation de bande passante excessive, ou même une interruption
- de service suite à une charge trop importante du serveur.</p>
+ <p>Le protocole HTTP recommande aux clients d'être "indulgents pour
+ ce qu'ils doivent accepter", et aux serveurs d'être "stricts pour ce
+ qu'ils envoient". Dans certains cas, il peut s'avérer difficile de
+ déterminer si un serveur ou une application a été mal configuré,
+ sert un contenu qui ne peut pas être mis en cache ou se comporte de
+ manière non optimale, car le client HTTP est souvent en mesure de
+ compenser les défauts du serveur. Ces problèmes peuvent induire une
+ consommation de bande passante excessive, ou même une interruption
+ de service suite à une charge trop importante du serveur.</p>
<p>Le module <code class="module"><a href="../mod/mod_policy.html">mod_policy</a></code> propose un jeu de filtres
- qui permettent de tester la conformité du serveur au protocole HTTP.
- Ces tests permettent à l'administrateur du serveur de journaliser
- les violations, ou même de rejeter une réponse losque certaines
- conditions spécifiées se réalisent.</p>
+ qui permettent de tester la conformité du serveur au protocole HTTP.
+ Ces tests permettent à l'administrateur du serveur de journaliser
+ les violations, ou même de rejeter une réponse losque certaines
+ conditions spécifiées se réalisent.</p>
- <p>Il devient ainsi possible de définir des critères de conformité
- minimale au protocole HTTP pour développer des applications
- sans problème. En outre, il est possible de configurer un
- mandataire inverse ou un cache pour qu'il se protège lui-même contre
- les serveurs d'origine mal configurés ou les contenus indument
- impossible à être mis en cache, ou un mécanisme qui détecte les
- erreurs de configuration au sein du serveur lui-même.</p>
+ <p>Il devient ainsi possible de définir des critères de conformité
+ minimale au protocole HTTP pour développer des applications
+ sans problème. En outre, il est possible de configurer un
+ mandataire inverse ou un cache pour qu'il se protège lui-même contre
+ les serveurs d'origine mal configurés ou les contenus indument
+ impossible à être mis en cache, ou un mécanisme qui détecte les
+ erreurs de configuration au sein du serveur lui-même.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#policyversion">PolicyVersion</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#policyversionurl">PolicyVersionURL</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_policy">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_policy">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_policy">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_policy">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../filter.html">Les filtres</a></li>
-<li><a href="../compliance.html">Conformité au protocole HTTP</a></li>
+<li><a href="../compliance.html">Conformité au protocole HTTP</a></li>
<li><a href="#comments_section">Commentaires</a></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="actions" id="actions">Actions</a><a title="Lien permanent" href="#actions" class="permalink">¶</a></h2>
- <p>Si une règle est violée, il possible d'effectuer les actions
+ <p>Si une règle est violée, il possible d'effectuer les actions
suivantes :</p>
<dl>
<dt><strong>ignore</strong></dt>
- <dd>La vérification de la politique de conformité sera désactivée
- pour l'espace d'URL spécifié, même si le filtre est présent.</dd>
+ <dd>La vérification de la politique de conformité sera désactivée
+ pour l'espace d'URL spécifié, même si le filtre est présent.</dd>
<dt><strong>log</strong></dt>
- <dd>La vérification de la politique de conformité sera exécutée, et
- si une violation est détectée, un avertissement sera enregistré dans
- le journal error_log du serveur, et un en-tête <code>Warning</code>
- ajouté à la réponse en tant qu'information à destination du client.</dd>
+ <dd>La vérification de la politique de conformité sera exécutée, et
+ si une violation est détectée, un avertissement sera enregistré dans
+ le journal error_log du serveur, et un en-tête <code>Warning</code>
+ ajouté à la réponse en tant qu'information à destination du client.</dd>
<dt><strong>enforce</strong></dt>
- <dd>La vérification de la politique de conformité sera exécutée,
+ <dd>La vérification de la politique de conformité sera exécutée,
The policy check will be executed, and if a violation is detected
an error will be logged to the server error_log, a
</dl>
- <p>Il est aussi possible de désactiver toutes les règles pour un
- espace d'URL donné, si le besoin s'en fait sentir, via la directive
+ <p>Il est aussi possible de désactiver toutes les règles pour un
+ espace d'URL donné, si le besoin s'en fait sentir, via la directive
<code class="directive"><a href="#policyfilter">PolicyFilter</a></code>.</p>
<p>En outre, la directive <code class="directive"><a href="#policyenvironment">PolicyEnvironment</a></code> permet de
- spécifier une variable d'environnement qui, si elle est définie, va
- court-circuiter les règles ou diminuer leur portée.</p>
+ spécifier une variable d'environnement qui, si elle est définie, va
+ court-circuiter les règles ou diminuer leur portée.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<dl>
<dt><strong><a href="../compliance.html#policytype">POLICY_TYPE</a>
- </strong>: Impose la validité des types de contenus</dt>
- <dd>La requête peut être rejetée suite à la présence de types de contenus vides
- ou syntaxiquement invalides. Les types peuvent aussi être restreints
- à une liste pouvant contenir des caractères génériques ? et *.</dd>
+ </strong>: Impose la validité des types de contenus</dt>
+ <dd>La requête peut être rejetée suite à la présence de types de contenus vides
+ ou syntaxiquement invalides. Les types peuvent aussi être restreints
+ à une liste pouvant contenir des caractères génériques ? et *.</dd>
<dt><strong><a href="../compliance.html#policylength">POLICY_LENGTH</a>
- </strong>: Impose la présence de l'en-tête Content-Length</dt>
- <dd>La longueur des réponses peut être spécifiée de trois manières
- différentes : en spécifiant à l'avance une longueur explicite, en
- utilisant un codage de morcellement (chunking) pour définir la
- longueur, ou en ne spécifiant aucune longueur et en terminant la
- requête lorsque son traitement est achevé. L'absence de
- spécification d'une longueur de contenu peut affecter la possibilité
- de mise en cache de la réponse, et empêcher l'utilisation de la
- persistance avec les requêtes de type HTTP/1.0. Ce filtre impose la
- présence d'une longueur de contenu explicite dans la réponse.</dd>
+ </strong>: Impose la présence de l'en-tête Content-Length</dt>
+ <dd>La longueur des réponses peut être spécifiée de trois manières
+ différentes : en spécifiant à l'avance une longueur explicite, en
+ utilisant un codage de morcellement (chunking) pour définir la
+ longueur, ou en ne spécifiant aucune longueur et en terminant la
+ requête lorsque son traitement est achevé. L'absence de
+ spécification d'une longueur de contenu peut affecter la possibilité
+ de mise en cache de la réponse, et empêcher l'utilisation de la
+ persistance avec les requêtes de type HTTP/1.0. Ce filtre impose la
+ présence d'une longueur de contenu explicite dans la réponse.</dd>
<dt><strong><a href="../compliance.html#policykeepalive">POLICY_KEEPALIVE
</a></strong>: Impose l'option de persistance</dt>
<dd>Moins restrictif que le filtre POLICY_LENGTH, ce filtre impose
- la possibilité de persistance de la réponse. Si la réponse n'a pas
- de longueur définie à 0 par le protocole, si elle n'est pas une
- erreur, et si elle ne contient pas d'en-tête Content-Length ou si
- elle est de type HTTP/1.1 et ne contient pas l'en-tête
- Content-Encoding: chunked, alors elle sera rejetée.</dd>
+ la possibilité de persistance de la réponse. Si la réponse n'a pas
+ de longueur définie à 0 par le protocole, si elle n'est pas une
+ erreur, et si elle ne contient pas d'en-tête Content-Length ou si
+ elle est de type HTTP/1.1 et ne contient pas l'en-tête
+ Content-Encoding: chunked, alors elle sera rejetée.</dd>
<dt><strong><a href="../compliance.html#policyvary">POLICY_VARY</a>
- </strong>: Interdit la présence de certains en-têtes au sein des
- en-têtes Vary</dt>
- <dd>Si l'en-tête Vary contient un des en-têtes spécifiés, ce filtre
- va rejeter la requête. Un cas typique est la présence de l'en-tête
- User-Agent dans l'en-tête Vary, ce qui peut être à l'origine d'une
- condition de déni de service au niveau du cache.</dd>
+ </strong>: Interdit la présence de certains en-têtes au sein des
+ en-têtes Vary</dt>
+ <dd>Si l'en-tête Vary contient un des en-têtes spécifiés, ce filtre
+ va rejeter la requête. Un cas typique est la présence de l'en-tête
+ User-Agent dans l'en-tête Vary, ce qui peut être à l'origine d'une
+ condition de déni de service au niveau du cache.</dd>
<dt><strong><a href="../compliance.html#policyvalidation">
- POLICY_VALIDATION</a></strong>: Impose la présence d'un en-tête Etag
+ POLICY_VALIDATION</a></strong>: Impose la présence d'un en-tête Etag
et/ou Last-Modified</dt>
- <dd>La possibilité pour un cache de déterminer si une entité qu'il
- contient peut être rafraîchie dépend de la présence d'un en-tête
- Etag et/ou Last-Modified pour vérifier si elle est valide. La requête sera
- rejetée en cas d'absence de ces deux en-têtes, ou d'une syntaxe
- invalide d'un de ces deux en-têtes.</dd>
+ <dd>La possibilité pour un cache de déterminer si une entité qu'il
+ contient peut être rafraîchie dépend de la présence d'un en-tête
+ Etag et/ou Last-Modified pour vérifier si elle est valide. La requête sera
+ rejetée en cas d'absence de ces deux en-têtes, ou d'une syntaxe
+ invalide d'un de ces deux en-têtes.</dd>
<dt><strong><a href="../compliance.html#policyconditional">
POLICY_CONDITIONAL</a></strong>: Impose un traitement conforme des
- en-têtes conditionnels</dt>
- <dd>Lorsqu'une requête contient des en-têtes conditonnels, un
- serveur doit répondre dans certaines conditions avec un code
+ en-têtes conditionnels</dt>
+ <dd>Lorsqu'une requête contient des en-têtes conditonnels, un
+ serveur doit répondre dans certaines conditions avec un code
<code>304 Not Modified</code> ou <code>412 Precondition
- Failed</code>. Il arrive q'un serveur ignore les en-têtes
- conditionnels, et cela diminue l'efficacité du mécanisme de mise en
- cache HTTP. Ce filtre rejète les requêtes lorsqu'un en-tête
- conditionnel était présent, et une réponse 2xx a été renvoyée au
- lieu de la réponse 304 ou 412 attendue.</dd>
+ Failed</code>. Il arrive q'un serveur ignore les en-têtes
+ conditionnels, et cela diminue l'efficacité du mécanisme de mise en
+ cache HTTP. Ce filtre rejète les requêtes lorsqu'un en-tête
+ conditionnel était présent, et une réponse 2xx a été renvoyée au
+ lieu de la réponse 304 ou 412 attendue.</dd>
<dt><strong><a href="../compliance.html#policynocache">POLICY_NOCACHE</a>
- </strong>: Impose la possibilité de mise en cache des réponses</dt>
- <dd>Lorsqu'une requête se déclare elle-même impossible à mettre en
- cache, elle est rejetée. C'est le cas si elle contient l'un des
- en-têtes suivants :
+ </strong>: Impose la possibilité de mise en cache des réponses</dt>
+ <dd>Lorsqu'une requête se déclare elle-même impossible à mettre en
+ cache, elle est rejetée. C'est le cas si elle contient l'un des
+ en-têtes suivants :
<ul><li><code>Cache-Control: no-cache</code></li>
<li><code>Pragma: no-cache</code></li>
<li><code>Cache-Control: no-store</code></li>
</ul></dd>
<dt><strong><a href="../compliance.html#policymaxage">POLICY_MAXAGE</a>
- </strong>: Impose une durée de vie minimale</dt>
- <dd>Lorsqu'une réponse possède une durée de vie inférieure à la
- valeur spécifiée, ou si cette durée de vie est heuristique, la
- requête est rejetée. La chronologie de la vérification d'une réponse
+ </strong>: Impose une durée de vie minimale</dt>
+ <dd>Lorsqu'une réponse possède une durée de vie inférieure à la
+ valeur spécifiée, ou si cette durée de vie est heuristique, la
+ requête est rejetée. La chronologie de la vérification d'une réponse
est la suivante :
- <ul><li>Si <code>s-maxage</code> est présent mais d'une valeur trop
+ <ul><li>Si <code>s-maxage</code> est présent mais d'une valeur trop
faible; ou</li>
- <li>Si <code>max-age</code> est présent mais d'une valeur trop
+ <li>Si <code>max-age</code> est présent mais d'une valeur trop
faible; ou</li>
- <li>Si <code>Expires</code> est présent et invalide; ou</li>
- <li><code>Date</code> est présent et invalide; ou</li>
+ <li>Si <code>Expires</code> est présent et invalide; ou</li>
+ <li><code>Date</code> est présent et invalide; ou</li>
<li><code>Expires</code> moins Date est trop faible ; ou</li>
- <li>Aucun en-tête <code>s-maxage</code>, <code>maxage</code>, ou
- <code>Expires</code>/<code>Date</code> n'est présent</li>
+ <li>Aucun en-tête <code>s-maxage</code>, <code>maxage</code>, ou
+ <code>Expires</code>/<code>Date</code> n'est présent</li>
</ul></dd>
<dt><strong><a href="../compliance.html#policyversion">POLICY_VERSION</a>
- </strong>: Impose une version HTTP minimale dans la requête</dt>
- <dd>Lorsqu'une requête possède un numéro de version HTTP inférieur
- au numéro de version minimum requis, la requête est rejetée. Les
- numéros de version suivants sont reconnus :
+ </strong>: Impose une version HTTP minimale dans la requête</dt>
+ <dd>Lorsqu'une requête possède un numéro de version HTTP inférieur
+ au numéro de version minimum requis, la requête est rejetée. Les
+ numéros de version suivants sont reconnus :
<ul><li><code>HTTP/1.1</code></li>
<li><code>HTTP/1.0</code></li>
<li><code>HTTP/0.9</code></li>
<h2><a name="example" id="example">Exemple de configuration</a><a title="Lien permanent" href="#example" class="permalink">¶</a></h2>
- <p>Voici un exemple de configuration qui protège un serveur qui
- délivre du contenu statique :</p>
+ <p>Voici un exemple de configuration qui protège un serveur qui
+ délivre du contenu statique :</p>
<pre class="prettyprint lang-config"><Location "/">
SetOutputFilter POLICY_TYPE;POLICY_LENGTH;POLICY_KEEPALIVE;POLICY_VARY;POLICY_VALIDATION; \
POLICY_CONDITIONAL;POLICY_NOCACHE;POLICY_MAXAGE;POLICY_VERSION
- # le contenu peut être quelconque, mais l'en-tête Content-Type doit être
- # présent et valide
+ # le contenu peut être quelconque, mais l'en-tête Content-Type doit être
+ # présent et valide
PolicyType enforce */*
- # rejet si aucune longueur de contenu déclarée
+ # rejet si aucune longueur de contenu déclarée
PolicyLength enforce
# pris en charge par le filtre policy length
PolicyKeepalive ignore
- # rejet si l'en-tête User-Agent aparaît dans les en-têtes Vary
+ # rejet si l'en-tête User-Agent aparaît dans les en-têtes Vary
PolicyVary enforce User-Agent
- # la validation est imposée
+ # la validation est imposée
PolicyValidation enforce
- # les réponses conditionnelles non conformes sont rejetées
+ # les réponses conditionnelles non conformes sont rejetées
PolicyConditional enforce
- # les réponses impossibles à mettre en cache sont rejetées
+ # les réponses impossibles à mettre en cache sont rejetées
PolicyNocache enforce
- # la durée de vie doit être au moins d'un jour
+ # la durée de vie doit être au moins d'un jour
PolicyMaxage enforce 86400
- # le numéro de version de la requête peut être quelconque
+ # le numéro de version de la requête peut être quelconque
PolicyVersion ignore HTTP/1.1
</Location>
-# désactivation du filtrage pour le répertoire /server-status
+# désactivation du filtrage pour le répertoire /server-status
<Location "/server-status">
PolicyFilter off
</Location></pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="policyconditional" id="policyconditional">Directive</a> <a name="PolicyConditional" id="PolicyConditional">PolicyConditional</a><a title="Lien permanent" href="#policyconditional" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le filtrage des requêtes conditionnelles.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le filtrage des requêtes conditionnelles.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyConditional <var>ignore|log|enforce</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Avec l'argument enforce, une réponse qui aurait du être
- conditionnelle mais ne l'est pas sera rejetée.</p>
+ <p>Avec l'argument enforce, une réponse qui aurait du être
+ conditionnelle mais ne l'est pas sera rejetée.</p>
- <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># les réponses conditionnelles non conformes doivent être rejetées
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># les réponses conditionnelles non conformes doivent être rejetées
PolicyConditional enforce</pre>
</div>
<div class="directive-section"><h2><a name="policyconditionalurl" id="policyconditionalurl">Directive</a> <a name="PolicyConditionalURL" id="PolicyConditionalURL">PolicyConditionalURL</a><a title="Lien permanent" href="#policyconditionalurl" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>URL contenant la description de la politique de filtrage
-des requêtes conditionnelles.</td></tr>
+des requêtes conditionnelles.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyConditionalURL <var>url</var></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>configuration du serveur, serveur virtuel, répertoire</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>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Cette directive permet de spécifier l'URL de la documentation
- décrivant la politique de filtrage des requêtes conditionnelles ;
- elle apparaîtra dans les messages d'erreur.</p>
+ <p>Cette directive permet de spécifier l'URL de la documentation
+ décrivant la politique de filtrage des requêtes conditionnelles ;
+ elle apparaîtra dans les messages d'erreur.</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="policyenvironment" id="policyenvironment">Directive</a> <a name="PolicyEnvironment" id="PolicyEnvironment">PolicyEnvironment</a><a title="Lien permanent" href="#policyenvironment" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Modification des règles de filtrage en fonction d'une
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Modification des règles de filtrage en fonction d'une
variable d'environnement.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyEnvironment <var>variable</var> <var>log-value</var> <var>ignore-value</var></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>configuration du serveur, serveur virtuel, répertoire</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>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Limite l'action des règles à la journalisation ou les désactive
- totalement en fonction de la présence d'une variable d'environnement. Si
- la variable spécifiée est présente et égale à la valeur de
- l'argument log-value, les erreurs rencontrées par les filtres ne
- seront que journalisées. Si la variable spécifiée est présente et
- égale à la valeur de l'argument ignore-value, toutes les règles
- seront ignorées.</p>
-
- <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"># limitation de l'action des règles si la variable POLICY_CONTROL
-# est présente
+ <p>Limite l'action des règles à la journalisation ou les désactive
+ totalement en fonction de la présence d'une variable d'environnement. Si
+ la variable spécifiée est présente et égale à la valeur de
+ l'argument log-value, les erreurs rencontrées par les filtres ne
+ seront que journalisées. Si la variable spécifiée est présente et
+ égale à la valeur de l'argument ignore-value, toutes les règles
+ seront ignorées.</p>
+
+ <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"># limitation de l'action des règles si la variable POLICY_CONTROL
+# est présente
PolicyEnvironment POLICY_CONTROL log ignore</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="policyfilter" id="policyfilter">Directive</a> <a name="PolicyFilter" id="PolicyFilter">PolicyFilter</a><a title="Lien permanent" href="#policyfilter" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive le filtrage pour un espace d'URL donné.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive le filtrage pour un espace d'URL donné.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyFilter <var>on|off</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>on</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Commutateur principal qui permet d'activer ou de désactiver le
- filtrage pour un espace d'URL donné.</p>
+ <p>Commutateur principal qui permet d'activer ou de désactiver le
+ filtrage pour un espace d'URL donné.</p>
- <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"># activé par défaut
+ <div class="example"><h3>Example</h3><pre class="prettyprint lang-config"># activé par défaut
<Location "/">
PolicyFilter on
</Location>
-# désactivation du filtrage pour le répertoire /server-status
+# désactivation du filtrage pour le répertoire /server-status
<Location "/server-status">
PolicyFilter off
</Location></pre>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la politique de persistance.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyKeepalive <var>ignore|log|enforce</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Avec l'argument enforce, une réponse qui ne contient ni en-tête
- <code>Content-Length</code>, ni en-tête
+ <p>Avec l'argument enforce, une réponse qui ne contient ni en-tête
+ <code>Content-Length</code>, ni en-tête
<code>Transfer-Encoding</code> de valeur <code>chunked</code> sera
- rejetée.</p>
+ rejetée.</p>
- <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># rejet suite a absence d'en-tête Content-Length ou Transfer-Encoding
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># rejet suite a absence d'en-tête Content-Length ou Transfer-Encoding
PolicyKeepalive enforce</pre>
</div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>URL contenant la description de la politique de persistance.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyKeepaliveURL <var>url</var></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>configuration du serveur, serveur virtuel, répertoire</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>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Cette directive permet de spécifier l'URL contenant la
- description de la politique de persistance ; elle apparaîtra dans
+ <p>Cette directive permet de spécifier l'URL contenant la
+ description de la politique de persistance ; elle apparaîtra dans
les messages d'erreur.</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="policylength" id="policylength">Directive</a> <a name="PolicyLength" id="PolicyLength">PolicyLength</a><a title="Lien permanent" href="#policylength" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le filtrage de la spécification de la longueur du
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le filtrage de la spécification de la longueur du
contenu.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyLength <var>ignore|log|enforce</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Avec l'argument enforce, une réponse qui ne contient pas
- d'en-tête <code>Content-Length</code> sera rejetée.</p>
+ <p>Avec l'argument enforce, une réponse qui ne contient pas
+ d'en-tête <code>Content-Length</code> sera rejetée.</p>
- <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># rejet suite à l'absence de l'en-tête Content-Length
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># rejet suite à l'absence de l'en-tête Content-Length
PolicyLength enforce</pre>
</div>
<div class="directive-section"><h2><a name="policylengthurl" id="policylengthurl">Directive</a> <a name="PolicyLengthURL" id="PolicyLengthURL">PolicyLengthURL</a><a title="Lien permanent" href="#policylengthurl" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>URL contenant la description de la politique de filtrage de
-la spécification de la longueur du contenu.</td></tr>
+la spécification de la longueur du contenu.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyLengthURL <var>url</var></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>configuration du serveur, serveur virtuel, répertoire</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>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Cette directive permet de spécifier l'URL contenant la
- documentation décrivant la politique de filtrage de la spécification
- de la longueur du contenu ; elle apparaîtra dans les messages
+ <p>Cette directive permet de spécifier l'URL contenant la
+ documentation décrivant la politique de filtrage de la spécification
+ de la longueur du contenu ; elle apparaîtra dans les messages
d'erreur.</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="policymaxage" id="policymaxage">Directive</a> <a name="PolicyMaxage" id="PolicyMaxage">PolicyMaxage</a><a title="Lien permanent" href="#policymaxage" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le filtrage de la durée de vie des réponses.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le filtrage de la durée de vie des réponses.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyMaxage <var>ignore|log|enforce</var> <var>age</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Avec l'argument enforce, une réponse dont la durée de vie n'est
- pas explicitement spécifiée via un en-tête <code>max-age</code>,
- <code>s-maxage</code> ou <code>Expires</code>, ou dont la durée de
- vie est inférieure à la valeur donnée sera rejetée.</p>
+ <p>Avec l'argument enforce, une réponse dont la durée de vie n'est
+ pas explicitement spécifiée via un en-tête <code>max-age</code>,
+ <code>s-maxage</code> ou <code>Expires</code>, ou dont la durée de
+ vie est inférieure à la valeur donnée sera rejetée.</p>
- <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># rejet des réponses dont la durée de vie est inférieure à une
-# journée
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># rejet des réponses dont la durée de vie est inférieure à une
+# journée
PolicyMaxage enforce 86400</pre>
</div>
<div class="directive-section"><h2><a name="policymaxageurl" id="policymaxageurl">Directive</a> <a name="PolicyMaxageURL" id="PolicyMaxageURL">PolicyMaxageURL</a><a title="Lien permanent" href="#policymaxageurl" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>URL contenant la description de la politique de filtrage
-des réponses en fonction de leur durée de vie.</td></tr>
+des réponses en fonction de leur durée de vie.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyMaxageURL <var>url</var></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>configuration du serveur, serveur virtuel, répertoire</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>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Cette directive permet de spécifier l'URL contenant la
- description de la politique de filtrage des réponses en fonction de
- leur durée de vie ; elle apparaîtra dans les messages d'erreur.</p>
+ <p>Cette directive permet de spécifier l'URL contenant la
+ description de la politique de filtrage des réponses en fonction de
+ leur durée de vie ; elle apparaîtra dans les messages d'erreur.</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="policynocache" id="policynocache">Directive</a> <a name="PolicyNocache" id="PolicyNocache">PolicyNocache</a><a title="Lien permanent" href="#policynocache" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le filtrage des réponses qui se définissent
-elles-mêmes comme impossibles à mettre en cache.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le filtrage des réponses qui se définissent
+elles-mêmes comme impossibles à mettre en cache.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyNocache <var>ignore|log|enforce</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Avec l'argument enforce, une réponse qui se définit elle-même
- comme impossible à mettre en cache via l'en-tête
- <code>Cache-Control</code> ou <code>Pragma</code> sera rejetée.</p>
+ <p>Avec l'argument enforce, une réponse qui se définit elle-même
+ comme impossible à mettre en cache via l'en-tête
+ <code>Cache-Control</code> ou <code>Pragma</code> sera rejetée.</p>
- <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># une réponse contenant l'en-tête Cache-Control: no-cache sera
-# rejetée
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># une réponse contenant l'en-tête Cache-Control: no-cache sera
+# rejetée
PolicyNocache enforce</pre>
</div>
<div class="directive-section"><h2><a name="policynocacheurl" id="policynocacheurl">Directive</a> <a name="PolicyNocacheURL" id="PolicyNocacheURL">PolicyNocacheURL</a><a title="Lien permanent" href="#policynocacheurl" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>URL contenant la description de la politique de filtrage
-des réponses qui se définissent elles-mêmes comme impossibles à mettre
+des réponses qui se définissent elles-mêmes comme impossibles à mettre
en cache.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyNocacheURL <var>url</var></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>configuration du serveur, serveur virtuel, répertoire</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>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Cette directive permet de spécifier l'URL contenant la
- description de la politique de filtrage des réponses qui se
- définissent elles-mêmes comme impossibles à mettre en cache ; elle
- apparaîtra dans les messages d'erreur.</p>
+ <p>Cette directive permet de spécifier l'URL contenant la
+ description de la politique de filtrage des réponses qui se
+ définissent elles-mêmes comme impossibles à mettre en cache ; elle
+ apparaîtra dans les messages d'erreur.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la politique des types de contenus.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyType <var>ignore|log|enforce</var> <var>type</var> [ <var>type</var> [ ... ]]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Avec l'argument enforce, une réponse qui ne contient pas
- d'en-tête <code>Content-Type</code>, ou dont l'en-tête
- <code>Content-Type</code> est mal formé, ou dont l'en-tête
+ <p>Avec l'argument enforce, une réponse qui ne contient pas
+ d'en-tête <code>Content-Type</code>, ou dont l'en-tête
+ <code>Content-Type</code> est mal formé, ou dont l'en-tête
<code>Content-Type</code> contient une valeur qui ne correspond pas
- au(x) modèle(s) spécifié(s) sera rejetée.</p>
+ au(x) modèle(s) spécifié(s) sera rejetée.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># impose le type de contenu json ou XML
PolicyType enforce application/json text/xml</pre>
</div>
- <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># rejet suite à type de contenu mal formé
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># rejet suite à type de contenu mal formé
PolicyType enforce */*</pre>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>URL contenant la description de la politique des types de
contenu.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyTypeURL <var>url</var></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>configuration du serveur, serveur virtuel, répertoire</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>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Cette directive permet de spécifier l'URL contenant la
- description de la politique des types de contenu ; elle apparaîtra
+ <p>Cette directive permet de spécifier l'URL contenant la
+ description de la politique des types de contenu ; elle apparaîtra
dans les messages d'erreur.</p>
</div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le filtrage de la validation du contenu.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyValidation <var>ignore|log|enforce</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Avec l'argument enforce, une réponse qui ne contient ni en-tête
- <code>ETag</code> valide, ni en-tête <code>Last-Modified</code>, ou
- dont la syntaxe d'un de ces deux en-têtes est incorrecte sera
- rejetée.</p>
+ <p>Avec l'argument enforce, une réponse qui ne contient ni en-tête
+ <code>ETag</code> valide, ni en-tête <code>Last-Modified</code>, ou
+ dont la syntaxe d'un de ces deux en-têtes est incorrecte sera
+ rejetée.</p>
- <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># rejet suite à l'absence des en-têtes Etag et/ou Last-Modified
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># rejet suite à l'absence des en-têtes Etag et/ou Last-Modified
PolicyValidation enforce</pre>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>URL contenant la description de la politique de filtrage de
la validation du contenu.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyValidationURL <var>url</var></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>configuration du serveur, serveur virtuel, répertoire</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>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Cette directive permet de spécifier l'URL contenant la
+ <p>Cette directive permet de spécifier l'URL contenant la
description de la politique de filtrage de la validation du contenu
- ; elle apparaîtra dans les messages d'erreur.</p>
+ ; elle apparaîtra dans les messages d'erreur.</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="policyvary" id="policyvary">Directive</a> <a name="PolicyVary" id="PolicyVary">PolicyVary</a><a title="Lien permanent" href="#policyvary" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la politique de filtrage de l'en-tête Vary.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la politique de filtrage de l'en-tête Vary.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyVary <var>ignore|log|enforce</var> <var>header</var> [ <var>header</var> [ ... ]]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Avec l'argument enforce, une réponse dont l'en-tête
- <code>Vary</code> contient un des en-têtes spécifiés sera rejetée.</p>
+ <p>Avec l'argument enforce, une réponse dont l'en-tête
+ <code>Vary</code> contient un des en-têtes spécifiés sera rejetée.</p>
- <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># rejet suite à la présence de l'en-tête "User-Agent" dans l'en-tête
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># rejet suite à la présence de l'en-tête "User-Agent" dans l'en-tête
# Vary
PolicyVary enforce User-Agent</pre>
</div>
<div class="directive-section"><h2><a name="policyvaryurl" id="policyvaryurl">Directive</a> <a name="PolicyVaryURL" id="PolicyVaryURL">PolicyVaryURL</a><a title="Lien permanent" href="#policyvaryurl" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>URL contenant la description de la politique de filtrage de
-l'en-tête Vary.</td></tr>
+l'en-tête Vary.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyVaryURL <var>url</var></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>configuration du serveur, serveur virtuel, répertoire</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>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Cette directive permet de spécifier l'URL contenant la
- description de la politique de filtrage de l'en-tête Vary ; elle
- apparaîtra dans les messages d'erreur.</p>
+ <p>Cette directive permet de spécifier l'URL contenant la
+ description de la politique de filtrage de l'en-tête Vary ; elle
+ apparaîtra dans les messages d'erreur.</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="policyversion" id="policyversion">Directive</a> <a name="PolicyVersion" id="PolicyVersion">PolicyVersion</a><a title="Lien permanent" href="#policyversion" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le filtrage des requêtes en fonction du numéro de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le filtrage des requêtes en fonction du numéro de
version HTTP.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyVersion <var>ignore|log|enforce</var> <var>HTTP/0.9|HTTP/1.0|HTTP/1.1</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ignore</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Avec l'argument enforce, une requête dont le numéro de version
- HTTP est inférieur à la valeur spécifiée sera rejetée.</p>
+ <p>Avec l'argument enforce, une requête dont le numéro de version
+ HTTP est inférieur à la valeur spécifiée sera rejetée.</p>
- <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># rejet des requêtes dont le numéro de version HTTP est inférieur à
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># rejet des requêtes dont le numéro de version HTTP est inférieur à
# HTTP/1.1
PolicyVersion enforce HTTP/1.1</pre>
</div>
<div class="directive-section"><h2><a name="policyversionurl" id="policyversionurl">Directive</a> <a name="PolicyVersionURL" id="PolicyVersionURL">PolicyVersionURL</a><a title="Lien permanent" href="#policyversionurl" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>URL contenant la description de la politique de filtrage
-des requêtes en fonction du numéro de version HTTP.</td></tr>
+des requêtes en fonction du numéro de version HTTP.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PolicyVersionURL <var>url</var></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>configuration du serveur, serveur virtuel, répertoire</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>configuration du serveur, serveur virtuel, répertoire</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_policy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Cette directive permet de spécifier l'URL contenant la
- description de la politique de filtrage des requêtes en fonction du
- numéro de version HTTP ; elle apparaîtra dans les messages d'erreur.</p>
+ <p>Cette directive permet de spécifier l'URL contenant la
+ description de la politique de filtrage des requêtes en fonction du
+ numéro de version HTTP ; elle apparaîtra dans les messages d'erreur.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_policy.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_policy.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_policy.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_privileges</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_privileges.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_privileges.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_privileges.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support des privilèges de Solaris et de l'exécution des
-serveurs virtuels sous différents identifiants
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support des privilèges de Solaris et de l'exécution des
+serveurs virtuels sous différents identifiants
utilisateurs.</td></tr>
-<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>privileges_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_privileges.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache sur les
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>privileges_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_privileges.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache sur les
plates-formes Solaris 10 et OpenSolaris</td></tr></table>
<h3>Sommaire</h3>
-<p>Ce module permet l'exécution de différents serveurs virtuels sous
-différents identifiants Unix <var>User</var> et <var>Group</var>,
-et avec différents <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges
-Solaris</a>. En particulier, il apporte au problème de
-séparation des privilèges entre les différents serveurs virtuels la
-solution que devait apporter le module MPM abandonné perchild. Il
-apporte aussi d'autres améliorations en matière de sécurité.</p>
+<p>Ce module permet l'exécution de différents serveurs virtuels sous
+différents identifiants Unix <var>User</var> et <var>Group</var>,
+et avec différents <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges
+Solaris</a>. En particulier, il apporte au problème de
+séparation des privilèges entre les différents serveurs virtuels la
+solution que devait apporter le module MPM abandonné perchild. Il
+apporte aussi d'autres améliorations en matière de sécurité.</p>
-<p>À la différence de perchild, <code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> n'est
-pas un module MPM. Il travaille <em>au sein</em> d'un modèle de
-traitement pour définir les privilèges et les User/Group <em>pour chaque
-requête</em> dans un même processus. Il n'est donc pas compatible avec
-les MPM threadés, et refusera de s'exécuter en cas d'utilisation d'un de
+<p>À la différence de perchild, <code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> n'est
+pas un module MPM. Il travaille <em>au sein</em> d'un modèle de
+traitement pour définir les privilèges et les User/Group <em>pour chaque
+requête</em> dans un même processus. Il n'est donc pas compatible avec
+les MPM threadés, et refusera de s'exécuter en cas d'utilisation d'un de
ces derniers.</p>
-<p><code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> traite des problèmes de sécurité
-similaires à ceux de <a href="../suexec.html">suexec</a> ; mais à la
-différence de ce dernier, il ne s'applique pas seulement aux programmes
-CGI, mais à l'ensemble du cycle de traitement d'une requête, y compris
+<p><code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> traite des problèmes de sécurité
+similaires à ceux de <a href="../suexec.html">suexec</a> ; mais à la
+différence de ce dernier, il ne s'applique pas seulement aux programmes
+CGI, mais à l'ensemble du cycle de traitement d'une requête, y compris
les applications in-process et les sous-processus. Il convient
-particulièrement à l'exécution des applications PHP sous
-<strong>mod_php</strong>, qui est lui-même incompatible avec les modules
-MPM threadés. Il est également bien adapté aux autres applications de type
+particulièrement à l'exécution des applications PHP sous
+<strong>mod_php</strong>, qui est lui-même incompatible avec les modules
+MPM threadés. Il est également bien adapté aux autres applications de type
script in-process comme <strong>mod_perl</strong>,
<strong>mod_python</strong>, et <strong>mod_ruby</strong>, ainsi qu'aux
applications en langage C telles que les modules Apache pour lesquels la
-séparation des privilèges constitue un problème.</p>
+séparation des privilèges constitue un problème.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#security">Considérations à propos de sécurité</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#security">Considérations à propos de sécurité</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#dtraceprivileges">DTracePrivileges</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#vhostsecure">VHostSecure</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#vhostuser">VHostUser</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_privileges">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_privileges">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_privileges">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_privileges">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="security" id="security">Considérations à propos de sécurité</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
+<h2><a name="security" id="security">Considérations à propos de sécurité</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
-<p><code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> introduit de nouveaux problèmes de
-sécurité dans les situations où du <strong>code non sûr</strong> peut
-s'exécuter <strong>à l'intérieur du processus du serveur web</strong>.
-Ceci s'applique aux modules non sûrs, et aux scripts s'exécutant sous
-des modules comme mod_php ou mod_perl. Les scripts s'exécutant en
-externe (comme par exemple les scripts CGI ou ceux s'exécutant sur un
-serveur d'applications derrière mod_proxy ou mod_jk) ne sont pas
-concernés.</p>
+<p><code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> introduit de nouveaux problèmes de
+sécurité dans les situations où du <strong>code non sûr</strong> peut
+s'exécuter <strong>à l'intérieur du processus du serveur web</strong>.
+Ceci s'applique aux modules non sûrs, et aux scripts s'exécutant sous
+des modules comme mod_php ou mod_perl. Les scripts s'exécutant en
+externe (comme par exemple les scripts CGI ou ceux s'exécutant sur un
+serveur d'applications derrière mod_proxy ou mod_jk) ne sont pas
+concernés.</p>
-<p>Les principaux problèmes de sécurité que l'on rencontre avec
+<p>Les principaux problèmes de sécurité que l'on rencontre avec
mod_privileges sont :</p>
-<ul><li>L'exécution sous un utilisateur système pose les mêmes problèmes
-de sécurité que mod_suexec, et pratiquement les mêmes que cgiwrap et
+<ul><li>L'exécution sous un utilisateur système pose les mêmes problèmes
+de sécurité que mod_suexec, et pratiquement les mêmes que cgiwrap et
suphp.</li>
-<li>Une extension utilisateur (module ou script) malveillante, écrite en connaissant les mécanismes
-utilisés par <strong>mod_privileges</strong>,
-pourrait élever ses privilèges à tout niveau
+<li>Une extension utilisateur (module ou script) malveillante, écrite en connaissant les mécanismes
+utilisés par <strong>mod_privileges</strong>,
+pourrait élever ses privilèges à tout niveau
accessible au processus httpd dans tout serveur virtuel. Ceci introduit
-de nouveaux risques si (et seulement si) mod_privileges est compilé avec
+de nouveaux risques si (et seulement si) mod_privileges est compilé avec
l'option <var>BIG_SECURITY_HOLE</var>.</li>
-<li>Une extension utilisateur (module ou script) malveillante, écrite en connaissant les mécanismes
-utilisés par <strong>mod_privileges</strong>,
-pourrait élever ses privilèges pour s'attribuer
+<li>Une extension utilisateur (module ou script) malveillante, écrite en connaissant les mécanismes
+utilisés par <strong>mod_privileges</strong>,
+pourrait élever ses privilèges pour s'attribuer
l'identifiant utilisateur d'un autre utilisateur (et/ou groupe)
-système.</li>
+système.</li>
</ul>
<p>La directive <code class="directive">PrivilegesMode</code> vous permet de
-sélectionner soit le mode <var>FAST</var>, soit le mode
+sélectionner soit le mode <var>FAST</var>, soit le mode
<var>SECURE</var>. Vous pouvez panacher les modes en utilisant par
exemple le mode <var>FAST</var> pour les utilisateurs de confiance et
-les chemins contenant du code entièrement audité, tout en imposant le
-mode <var>SECURE</var> où un utilisateur non sûr a la possibilité
+les chemins contenant du code entièrement audité, tout en imposant le
+mode <var>SECURE</var> où un utilisateur non sûr a la possibilité
d'introduire du code.</p>
-<p>Avant de décrire les modes, il nous faut présenter les cas
+<p>Avant de décrire les modes, il nous faut présenter les cas
d'utilisation de la cible : "Benign" ou "Hostile". Dans une situation
-"Benign", vous voulez séparer les utilisateurs pour leur confort, et les
-protéger, ainsi que le serveur, contre les risques induits par les
+"Benign", vous voulez séparer les utilisateurs pour leur confort, et les
+protéger, ainsi que le serveur, contre les risques induits par les
erreurs involontaires. Dans une situation "Hostile" - par exemple
-l'hébergement d'un site commercial - il se peut que des utilisateurs
-attaquent délibérément le serveur ou s'attaquent entre eux.</p>
+l'hébergement d'un site commercial - il se peut que des utilisateurs
+attaquent délibérément le serveur ou s'attaquent entre eux.</p>
<dl>
<dt>Mode FAST</dt>
-<dd>En mode <var>FAST</var>, les requêtes sont traitées "in-process"
-avec les uid/gid et privilèges sélectionnés, si bien que la
-surcharge est négligeable. Ceci convient aux situations "Benign", mais
-n'est pas sécurisé contre un attaquant augmentant ses privilèges avec un
+<dd>En mode <var>FAST</var>, les requêtes sont traitées "in-process"
+avec les uid/gid et privilèges sélectionnés, si bien que la
+surcharge est négligeable. Ceci convient aux situations "Benign", mais
+n'est pas sécurisé contre un attaquant augmentant ses privilèges avec un
module ou script "in-process".</dd>
<dt>Mode SECURE</dt>
-<dd>Une requête en mode <var>SECURE</var> génère un sous-processus qui
-supprime les privilèges. Ce comportement est très similaire à
-l'exécution d'un programme CGI avec suexec, mais il reste valable tout
-au long du cycle de traitement de la requête, avec en plus l'avantage
-d'un contrôle précis des privilèges.</dd>
+<dd>Une requête en mode <var>SECURE</var> génère un sous-processus qui
+supprime les privilèges. Ce comportement est très similaire à
+l'exécution d'un programme CGI avec suexec, mais il reste valable tout
+au long du cycle de traitement de la requête, avec en plus l'avantage
+d'un contrôle précis des privilèges.</dd>
</dl>
-<p>Vous pouvez sélectionner différents
+<p>Vous pouvez sélectionner différents
<code class="directive">PrivilegesMode</code>s pour chaque serveur virtuel, et
-même dans un contexte de répertoire à l'intérieur d'un serveur virtuel.
-Le mode <var>FAST</var> convient lorsque les utilisateurs sont sûrs
-et/ou n'ont pas le privilège de charger du code "in-process". Le mode
-<var>SECURE</var> convient dans les cas où du code non sûr peut
-s'exécuter "in-process". Cependant, même en mode <var>SECURE</var>, il
+même dans un contexte de répertoire à l'intérieur d'un serveur virtuel.
+Le mode <var>FAST</var> convient lorsque les utilisateurs sont sûrs
+et/ou n'ont pas le privilège de charger du code "in-process". Le mode
+<var>SECURE</var> convient dans les cas où du code non sûr peut
+s'exécuter "in-process". Cependant, même en mode <var>SECURE</var>, il
n'y a pas de protection contre un utilisateur malveillant qui a la
-possibilité d'introduire du code supportant les privilèges <em>avant le
-début du cycle de traitement de la requête.</em></p>
+possibilité d'introduire du code supportant les privilèges <em>avant le
+début du cycle de traitement de la requête.</em></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="dtraceprivileges" id="dtraceprivileges">Directive</a> <a name="DTracePrivileges" id="DTracePrivileges">DTracePrivileges</a><a title="Lien permanent" href="#dtraceprivileges" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les privilèges requis par dtrace sont
-activés.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les privilèges requis par dtrace sont
+activés.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DTracePrivileges On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DTracePrivileges Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DTracePrivileges Off</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>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>>Disponible sous Solaris 10 et OpenSolaris avec les
-modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM
-personnalisé).</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>>Disponible sous Solaris 10 et OpenSolaris avec les
+modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM
+personnalisé).</td></tr>
</table>
- <p>Cette directive qui s'applique à l'ensemble du serveur permet de
- déterminer si Apache s'exécutera avec les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privilèges</a> requis pour exécuter <a href="http://sosc-dr.sun.com/bigadmin/content/dtrace/">dtrace</a>.
- Notez que la définition <var>DTracePrivileges On</var> n'activera
- pas à elle-seule DTrace, mais que <var>DTracePrivileges Off</var>
- l'empêchera de fonctionner.</p>
+ <p>Cette directive qui s'applique à l'ensemble du serveur permet de
+ déterminer si Apache s'exécutera avec les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privilèges</a> requis pour exécuter <a href="http://sosc-dr.sun.com/bigadmin/content/dtrace/">dtrace</a>.
+ Notez que la définition <var>DTracePrivileges On</var> n'activera
+ pas à elle-seule DTrace, mais que <var>DTracePrivileges Off</var>
+ l'empêchera de fonctionner.</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="privilegesmode" id="privilegesmode">Directive</a> <a name="PrivilegesMode" id="PrivilegesMode">PrivilegesMode</a><a title="Lien permanent" href="#privilegesmode" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait un compromis entre d'une part l'efficacité et la
-vitesse de traitement et d'autre part la sécurité à l'encontre des codes
-malicieux supportant les privilèges.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait un compromis entre d'une part l'efficacité et la
+vitesse de traitement et d'autre part la sécurité à l'encontre des codes
+malicieux supportant les privilèges.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PrivilegesMode FAST|SECURE|SELECTIVE</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>PrivilegesMode FAST</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>PrivilegesMode FAST</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec des
-modules MPMs non threadés (comme <code class="module"><a href="../mod/prefork.html">prefork</a></code> ou un module
-personnalisé).</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec des
+modules MPMs non threadés (comme <code class="module"><a href="../mod/prefork.html">prefork</a></code> ou un module
+personnalisé).</td></tr>
</table><p>Cette directive permet de faire un compromis entre les
-performances et la sécurité à l'encontre des codes malicieux supportant
-les privilèges. En mode <var>SECURE</var>, chaque requête est traitée
-dans un sous-processus sécurisé, ce qui induit une dégradation sensible
-des performances. En mode <var>FAST</var>, le serveur n'est pas protégé
-contre l'augmentation de privilège comme décrit plus haut.</p>
-<p>Cette directive est sensiblement différente selon qu'elle se trouve
+performances et la sécurité à l'encontre des codes malicieux supportant
+les privilèges. En mode <var>SECURE</var>, chaque requête est traitée
+dans un sous-processus sécurisé, ce qui induit une dégradation sensible
+des performances. En mode <var>FAST</var>, le serveur n'est pas protégé
+contre l'augmentation de privilège comme décrit plus haut.</p>
+<p>Cette directive est sensiblement différente selon qu'elle se trouve
dans une section <code><Directory></code> (ou Location/Files/If)
ou au niveau global ou dans un <code><VirtualHost></code>.</p>
-<p>Au niveau global, elle définit un comportement par défaut dont
-hériteront les serveurs virtuels. Dans un serveur virtuel, les modes
-FAST ou SECURE agissent sur l'ensemble de la requête HTTP, et toute
-définition de ces modes dans une section <code><Directory></code>
-sera <strong>ignorée</strong>. Le pseudo-mode SELECTIVE confie le choix
+<p>Au niveau global, elle définit un comportement par défaut dont
+hériteront les serveurs virtuels. Dans un serveur virtuel, les modes
+FAST ou SECURE agissent sur l'ensemble de la requête HTTP, et toute
+définition de ces modes dans une section <code><Directory></code>
+sera <strong>ignorée</strong>. Le pseudo-mode SELECTIVE confie le choix
du mode FAST ou SECURE aux directives contenues dans une
section<code><Directory></code>.</p>
<p>Dans une section <code><Directory></code>, elle ne s'applique
-que lorsque le mode SELECTIVE a été défini pour le serveur virtuel.
-Seuls FAST ou SECURE peuvent être définis dans ce contexte (SELECTIVE
+que lorsque le mode SELECTIVE a été défini pour le serveur virtuel.
+Seuls FAST ou SECURE peuvent être définis dans ce contexte (SELECTIVE
n'aurait pas de sens).</p>
<div class="warning"><h3>Avertissement</h3>
- Lorsque le mode SELECTIVE a été défini pour un serveur virtuel,
- l'activation des privilèges doit être reportée <em>après</em>
- la détermination, par la phase de comparaison du traitement de
- la requête, du contexte <code><Directory></code> qui
- s'applique à la requête. Ceci peut donner à un attaquant
- l'opportunité d'introduire du code via une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> s'exécutant au
+ Lorsque le mode SELECTIVE a été défini pour un serveur virtuel,
+ l'activation des privilèges doit être reportée <em>après</em>
+ la détermination, par la phase de comparaison du traitement de
+ la requête, du contexte <code><Directory></code> qui
+ s'applique à la requête. Ceci peut donner à un attaquant
+ l'opportunité d'introduire du code via une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> s'exécutant au
niveau global ou d'un serveur virtuel <em>avant</em> que les
- privilèges n'aient été supprimés et l'uid/gid défini.
+ privilèges n'aient été supprimés et l'uid/gid défini.
</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="vhostcgimode" id="vhostcgimode">Directive</a> <a name="VHostCGIMode" id="VHostCGIMode">VHostCGIMode</a><a title="Lien permanent" href="#vhostcgimode" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le serveur virtuel peut exécuter des
-sous-processus, et définit les privilèges disponibles pour ces
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le serveur virtuel peut exécuter des
+sous-processus, et définit les privilèges disponibles pour ces
dernier.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostCGIMode On|Off|Secure</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VHostCGIMode On</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VHostCGIMode On</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les
-modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM
-personnalisé).</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les
+modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM
+personnalisé).</td></tr>
</table>
- <p>Détermine si le serveur virtuel est autorisé à exécuter fork et
- exec, et définit les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privilèges</a> requis pour exécuter des sous-processus. Si cette
- directive est définie à <var>Off</var> le serveur virtuel ne
- disposera d'aucun privilège et ne pourra exécuter ni des programmes
+ <p>Détermine si le serveur virtuel est autorisé à exécuter fork et
+ exec, et définit les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privilèges</a> requis pour exécuter des sous-processus. Si cette
+ directive est définie à <var>Off</var> le serveur virtuel ne
+ disposera d'aucun privilège et ne pourra exécuter ni des programmes
ou scripts CGI classiques via le module traditionnel
<code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, ni des programmes externes similaires tels
- que ceux créés via le module <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> ou les
- programmes de réécriture externes utilisés par la directive
+ que ceux créés via le module <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code> ou les
+ programmes de réécriture externes utilisés par la directive
<code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>. Notez que
- ceci n'empêche pas l'exécution de programmes CGI via d'autres
- processus et sous d'autres modèles de sécurité comme <a href="https://httpd.apache.org/mod_fcgid/">mod_fcgid</a>, ce qui est la
- solution recommandée sous Solaris.</p>
- <p>Si cette directive est définie à <var>On</var> ou
- <var>Secure</var>, le serveur virtuel pourra exécuter les scripts et
- programmes externes cités ci-dessus. Définir la directive
- <code class="directive">VHostCGIMode</code> à <var>Secure</var> a pour effet
- supplémentaire de n'accorder aucun privilège aux sous-processus,
- comme décrit dans la directive
+ ceci n'empêche pas l'exécution de programmes CGI via d'autres
+ processus et sous d'autres modèles de sécurité comme <a href="https://httpd.apache.org/mod_fcgid/">mod_fcgid</a>, ce qui est la
+ solution recommandée sous Solaris.</p>
+ <p>Si cette directive est définie à <var>On</var> ou
+ <var>Secure</var>, le serveur virtuel pourra exécuter les scripts et
+ programmes externes cités ci-dessus. Définir la directive
+ <code class="directive">VHostCGIMode</code> à <var>Secure</var> a pour effet
+ supplémentaire de n'accorder aucun privilège aux sous-processus,
+ comme décrit dans la directive
<code class="directive">VHostSecure</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="vhostcgiprivs" id="vhostcgiprivs">Directive</a> <a name="VHostCGIPrivs" id="VHostCGIPrivs">VHostCGIPrivs</a><a title="Lien permanent" href="#vhostcgiprivs" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Assigne des privilèges au choix aux sous-processus créés
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Assigne des privilèges au choix aux sous-processus créés
par un serveur virtuel.</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostPrivs [+-]?<var>nom-privilège</var> [[+-]?nom-privilège] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Aucun</code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostPrivs [+-]?<var>nom-privilège</var> [[+-]?nom-privilège] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Aucun</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les
-modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM
-personnalisé) et lorsque <code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> est construit
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les
+modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM
+personnalisé) et lorsque <code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> est construit
avec l'option de compilation
<var>BIG_SECURITY_HOLE</var>.</td></tr>
</table>
<p>La directive <code class="directive">VHostCGIPrivs</code> permet
- d'assigner des <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privilèges</a> au choix aux sous-processus créés par un serveur
- virtuel, comme décrit dans la directive
+ d'assigner des <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privilèges</a> au choix aux sous-processus créés par un serveur
+ virtuel, comme décrit dans la directive
<code class="directive">VHostCGIMode</code>. Chaque
- <var>nom-privilège</var> correspond à un privilège Solaris tel que
+ <var>nom-privilège</var> correspond à un privilège Solaris tel que
<var>file_setid</var> ou <var>sys_nfs</var>.</p>
- <p><var>nom-privilège</var> peut être éventuellement préfixé par +
- ou -, ce qui va respectivement accorder ou refuser le privilège. Si
- <var>nom-privilège</var> est spécifié sans + ni -, tous les autres
- privilèges préalablement assignés au serveur virtuel seront refusés.
- Cette directive permet de construire aisément votre propre jeu de
- privilèges en annulant tout réglage par défaut.</p>
+ <p><var>nom-privilège</var> peut être éventuellement préfixé par +
+ ou -, ce qui va respectivement accorder ou refuser le privilège. Si
+ <var>nom-privilège</var> est spécifié sans + ni -, tous les autres
+ privilèges préalablement assignés au serveur virtuel seront refusés.
+ Cette directive permet de construire aisément votre propre jeu de
+ privilèges en annulant tout réglage par défaut.</p>
- <div class="warning"><h3>Sécurité</h3>
+ <div class="warning"><h3>Sécurité</h3>
<p>L'utilisation de cette directive peut ouvrir d'immenses trous de
- sécurité dans les sous-processus Apache, jusqu'à leur exécution avec les
- droits de root. Ne l'utilisez que si vous êtes absolument sûr de
+ sécurité dans les sous-processus Apache, jusqu'à leur exécution avec les
+ droits de root. Ne l'utilisez que si vous êtes absolument sûr de
comprendre ce que vous faites !</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="vhostgroup" id="vhostgroup">Directive</a> <a name="VHostGroup" id="VHostGroup">VHostGroup</a><a title="Lien permanent" href="#vhostgroup" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'identifiant du groupe sous lequel s'exécute un
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'identifiant du groupe sous lequel s'exécute un
serveur virtuel.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostGroup <var>identifiant-groupe-unix</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Hérite de l'identifiant du groupe spécifié par la directive
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Hérite de l'identifiant du groupe spécifié par la directive
<code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les
-modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM
-personnalisé).</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les
+modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM
+personnalisé).</td></tr>
</table>
- <p>La directive <code class="directive">VHostGroup</code> permet de définir
+ <p>La directive <code class="directive">VHostGroup</code> permet de définir
l'identifiant du groupe unix sous lequel le serveur va traiter les
- requêtes par l'intermédiaire d'un serveur virtuel. L'identifiant
- du groupe est défini avant le traitement de la requête, puis
- restauré à sa valeur de départ via les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges
- Solaris</a>. Comme la définition
+ requêtes par l'intermédiaire d'un serveur virtuel. L'identifiant
+ du groupe est défini avant le traitement de la requête, puis
+ restauré à sa valeur de départ via les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges
+ Solaris</a>. Comme la définition
s'applique au <em>processus</em>, cette directive est incompatible
- avec les modules MPM threadés.</p>
- <p><var>Unix-group</var> peut être :</p>
+ avec les modules MPM threadés.</p>
+ <p><var>Unix-group</var> peut être :</p>
<dl>
<dt>Un nom de groupe</dt>
- <dd>Fait référence au groupe donné par son nom.</dd>
+ <dd>Fait référence au groupe donné par son nom.</dd>
- <dt><code>#</code> suivi d'un numéro de groupe.</dt>
- <dd>Fait référence au groupe donné par son numéro.</dd>
+ <dt><code>#</code> suivi d'un numéro de groupe.</dt>
+ <dd>Fait référence au groupe donné par son numéro.</dd>
</dl>
- <div class="warning"><h3>Sécurité</h3>
- <p>Cette directive ne peut pas être utilisée pour exécuter Apache en
- tant que root ! Elle est tout de même susceptible de poser des
- problèmes de sécurité similaires à ceux décrits dans la
+ <div class="warning"><h3>Sécurité</h3>
+ <p>Cette directive ne peut pas être utilisée pour exécuter Apache en
+ tant que root ! Elle est tout de même susceptible de poser des
+ problèmes de sécurité similaires à ceux décrits dans la
documentation de <a href="../suexec.html">suexec</a>.</p></div>
<h3>Voir aussi</h3>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="vhostprivs" id="vhostprivs">Directive</a> <a name="VHostPrivs" id="VHostPrivs">VHostPrivs</a><a title="Lien permanent" href="#vhostprivs" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Assigne des privilèges à un serveur virtuel.</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostPrivs [+-]?<var>nom-privilège</var> [[+-]?nom-privilège] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Aucun</code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Assigne des privilèges à un serveur virtuel.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostPrivs [+-]?<var>nom-privilège</var> [[+-]?nom-privilège] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Aucun</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les
-modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM
-personnalisé) et lorsque <code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> est construit
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les
+modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM
+personnalisé) et lorsque <code class="module"><a href="../mod/mod_privileges.html">mod_privileges</a></code> est construit
avec l'option de compilation
<var>BIG_SECURITY_HOLE</var>.</td></tr>
</table>
<p>La directive <code class="directive">VHostPrivs</code> permet d'assigner
- des <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privilèges</a> au choix à un serveur virtuel. Chaque
- <var>nom-privilège</var> correspond à un privilège Solaris tel que
+ des <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">privilèges</a> au choix à un serveur virtuel. Chaque
+ <var>nom-privilège</var> correspond à un privilège Solaris tel que
<var>file_setid</var> ou <var>sys_nfs</var>.</p>
- <p><var>nom-privilège</var> peut être éventuellement préfixé par +
- ou -, ce qui va respectivement accorder ou refuser le privilège. Si
- <var>nom-privilège</var> est spécifié sans + ni -, tous les autres
- privilèges préalablement assignés au serveur virtuel seront refusés.
- Cette directive permet de construire aisément votre propre jeu de
- privilèges en annulant tout réglage par défaut.</p>
+ <p><var>nom-privilège</var> peut être éventuellement préfixé par +
+ ou -, ce qui va respectivement accorder ou refuser le privilège. Si
+ <var>nom-privilège</var> est spécifié sans + ni -, tous les autres
+ privilèges préalablement assignés au serveur virtuel seront refusés.
+ Cette directive permet de construire aisément votre propre jeu de
+ privilèges en annulant tout réglage par défaut.</p>
- <div class="warning"><h3>Sécurité</h3>
+ <div class="warning"><h3>Sécurité</h3>
<p>L'utilisation de cette directive peut ouvrir d'immenses trous de
- sécurité dans Apache, jusqu'au traitement de requêtes avec les
- droits de root. Ne l'utilisez que si vous êtes absolument sûr de
+ sécurité dans Apache, jusqu'au traitement de requêtes avec les
+ droits de root. Ne l'utilisez que si vous êtes absolument sûr de
comprendre ce que vous faites !</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="vhostsecure" id="vhostsecure">Directive</a> <a name="VHostSecure" id="VHostSecure">VHostSecure</a><a title="Lien permanent" href="#vhostsecure" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le serveur s'exécute avec une sécurité avancée
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le serveur s'exécute avec une sécurité avancée
pour les serveurs virtuels.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostSecure On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VHostSecure On</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VHostSecure On</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les
-modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM
-personnalisé).</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les
+modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM
+personnalisé).</td></tr>
</table>
- <p>Détermine si les serveurs virtuels traitent les requêtes avec une
- sécurité avancée en supprimant les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges</a> rarement requis par un serveur web, mais disponibles
- par défaut pour un utilisateur Unix standard, et donc susceptibles
- d'être demandés par des modules et des applications. Il est
- recommandé de conserver la définition par défaut (On), sauf si elle
- empêche une application de fonctionner. Comme la définition
+ <p>Détermine si les serveurs virtuels traitent les requêtes avec une
+ sécurité avancée en supprimant les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges</a> rarement requis par un serveur web, mais disponibles
+ par défaut pour un utilisateur Unix standard, et donc susceptibles
+ d'être demandés par des modules et des applications. Il est
+ recommandé de conserver la définition par défaut (On), sauf si elle
+ empêche une application de fonctionner. Comme la définition
s'applique au <em>processus</em>, cette directive est incompatible
- avec les modules MPM threadés.</p>
+ avec les modules MPM threadés.</p>
<div class="note"><h3>Note</h3>
<p>Le fait que la directive <code class="directive">VHostSecure</code>
- empêche une application de fonctionner peut constituer un signal
- d'avertissement indiquant que la sécurité de l'application doit être
+ empêche une application de fonctionner peut constituer un signal
+ d'avertissement indiquant que la sécurité de l'application doit être
revue.</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="vhostuser" id="vhostuser">Directive</a> <a name="VHostUser" id="VHostUser">VHostUser</a><a title="Lien permanent" href="#vhostuser" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'identifiant utilisateur sous lequel s'exécute un
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'identifiant utilisateur sous lequel s'exécute un
serveur virtuel.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VHostUser <var>identifiant-utilisateur-unix</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Hérite de l'identifiant utilisateur spécifié par la directive
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Hérite de l'identifiant utilisateur spécifié par la directive
<code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_privileges</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les
-modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM
-personnalisé).</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible sous Solaris 10 et OpenSolaris avec les
+modules MPM non-threadés (<code class="module"><a href="../mod/prefork.html">prefork</a></code> ou MPM
+personnalisé).</td></tr>
</table>
- <p>La directive <code class="directive">VHostUser</code> permet de définir
+ <p>La directive <code class="directive">VHostUser</code> permet de définir
l'identifiant utilisateur unix sous lequel le serveur va traiter les
- requêtes par l'intermédiaire d'un serveur virtuel. L'identifiant
- utilisateur est défini avant le traitement de la requête, puis
- restauré à sa valeur de départ via les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges
- Solaris</a>. Comme la définition
+ requêtes par l'intermédiaire d'un serveur virtuel. L'identifiant
+ utilisateur est défini avant le traitement de la requête, puis
+ restauré à sa valeur de départ via les <a href="http://sosc-dr.sun.com/bigadmin/features/articles/least_privilege.jsp">Privilèges
+ Solaris</a>. Comme la définition
s'applique au <em>processus</em>, cette directive est incompatible
- avec les modules MPM threadés.</p>
- <p><var>identifiant-utilisateur-unix</var> peut être :</p>
+ avec les modules MPM threadés.</p>
+ <p><var>identifiant-utilisateur-unix</var> peut être :</p>
<dl>
<dt>Un nom d'utilisateur</dt>
- <dd>Fait référence à l'utilisateur donné par son nom.</dd>
+ <dd>Fait référence à l'utilisateur donné par son nom.</dd>
- <dt><code>#</code> suivi d'un numéro d'utilisateur.</dt>
- <dd>Fait référence à l'utilisateur donné par son numéro.</dd>
+ <dt><code>#</code> suivi d'un numéro d'utilisateur.</dt>
+ <dd>Fait référence à l'utilisateur donné par son numéro.</dd>
</dl>
- <div class="warning"><h3>Sécurité</h3>
- <p>Cette directive ne peut pas être utilisée pour exécuter Apache en
- tant que root ! Elle est tout de même susceptible de poser des
- problèmes de sécurité similaires à ceux décrits dans la
+ <div class="warning"><h3>Sécurité</h3>
+ <p>Cette directive ne peut pas être utilisée pour exécuter Apache en
+ tant que root ! Elle est tout de même susceptible de poser des
+ problèmes de sécurité similaires à ceux décrits dans la
documentation de <a href="../suexec.html">suexec</a>.</p></div>
<h3>Voir aussi</h3>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_privileges.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_privileges.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_privileges.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_proxy</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_proxy.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Serveur mandataire/passerelle multi-protocole</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>proxy_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy.c</td></tr></table>
<h3>Sommaire</h3>
<div class="warning"><h3>Avertissement</h3>
- <p>N'activez pas la fonctionnalité de mandataire avec la directive
+ <p>N'activez pas la fonctionnalité de mandataire avec la directive
<code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> avant
- d'avoir <a href="#access">sécurisé votre serveur</a>. Les serveurs
- mandataires ouverts sont dangereux pour votre réseau,
+ d'avoir <a href="#access">sécurisé votre serveur</a>. Les serveurs
+ mandataires ouverts sont dangereux pour votre réseau,
mais aussi pour l'Internet au sens large.</p>
</div>
- <p><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et ses modules associés implémentent
+ <p><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et ses modules associés implémentent
un mandataire/passerelle pour le serveur HTTP Apache, et supportent
de nombreux protocoles courants, ainsi que plusieurs algorithmes de
- répartition de charge. Le support de protocoles et d'algorithmes de
- répartition de charge supplémentaires peut être assuré par des
+ répartition de charge. Le support de protocoles et d'algorithmes de
+ répartition de charge supplémentaires peut être assuré par des
modules tiers.</p>
- <p>Un jeu de modules chargés dans le serveur permet de fournir les
- fonctionnalités souhaitées. Ces modules peuvent être inclus
- statiquement à la compilation, ou dynamiquement via la directive
+ <p>Un jeu de modules chargés dans le serveur permet de fournir les
+ fonctionnalités souhaitées. Ces modules peuvent être inclus
+ statiquement à la compilation, ou dynamiquement via la directive
<code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>. Ce jeu de module
doit comporter :</p>
<ul>
- <li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, qui fournit les fonctionnalités de
+ <li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, qui fournit les fonctionnalités de
base d'un mandataire</li>
<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> et un ou plusieurs modules
- de répartition, si la répartition de charge doit être mise en
+ de répartition, si la répartition de charge doit être mise en
oeuvre (Voir la documentation de
- <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> pour plus de détails).</li>
+ <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> pour plus de détails).</li>
<li>un ou plusieurs modules de types de mandataire, ou protocoles
:
</li>
</ul>
- <p>En outre, d'autres modules fournissent des fonctionnalités
- étendues. <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> et ses modules associés
+ <p>En outre, d'autres modules fournissent des fonctionnalités
+ étendues. <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> et ses modules associés
fournissent la mise en cache. Les directives <code>SSLProxy*</code>
du module <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> permettent de contacter des
serveurs distants en utilisant le protocole SSL/TLS. Ces modules
- additionnels devront être chargés et configurés pour pouvoir
- disposer de ces fonctionnalités.</p>
+ additionnels devront être chargés et configurés pour pouvoir
+ disposer de ces fonctionnalités.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#forwardreverse">Mandataires directs et
mandataires/passerelles inverses</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples simples</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#handler">Accès via un gestionnaire</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#handler">Accès via un gestionnaire</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#workers">Workers</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#access">Contrôler l'accès à votre
+<li><img alt="" src="../images/down.gif" /> <a href="#access">Contrôler l'accès à votre
mandataire</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#startup">Ralentissement au démarrage</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#startup">Ralentissement au démarrage</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#intranet">Mandataire en Intranet</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#envsettings">Ajustements relatifs au
protocole</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#request-bodies">Corps de requêtes</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#x-headers">En-têtes de requête du mandataire
+<li><img alt="" src="../images/down.gif" /> <a href="#request-bodies">Corps de requêtes</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#x-headers">En-têtes de requête du mandataire
inverse</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#proxytimeout">ProxyTimeout</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyvia">ProxyVia</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code></li>
<div class="section">
<h2><a name="forwardreverse" id="forwardreverse">Mandataires directs et
mandataires/passerelles inverses</a><a title="Lien permanent" href="#forwardreverse" class="permalink">¶</a></h2>
- <p>Le serveur HTTP Apache peut être configuré dans les deux modes mandataire
- <dfn>direct</dfn> et mandataire <dfn>inverse</dfn> (aussi nommé
+ <p>Le serveur HTTP Apache peut être configuré dans les deux modes mandataire
+ <dfn>direct</dfn> et mandataire <dfn>inverse</dfn> (aussi nommé
mode <dfn>passerelle</dfn>).</p>
<p>Un <dfn>mandataire direct</dfn> standard est un serveur
- intermédiaire qui s'intercale entre le client et le <em>serveur
- demandé</em>. Pour obtenir un contenu hébergé par
- le serveur demandé, le client envoie une requête au
- mandataire en nommant le serveur demandé comme
+ intermédiaire qui s'intercale entre le client et le <em>serveur
+ demandé</em>. Pour obtenir un contenu hébergé par
+ le serveur demandé, le client envoie une requête au
+ mandataire en nommant le serveur demandé comme
cible, puis le mandataire extrait le contenu depuis le
- serveur demandé et le renvoie enfin au client. Le client doit être
- configuré de manière appropriée pour pouvoir utiliser le mandataire
- direct afin d'accéder à d'autres sites.</p>
+ serveur demandé et le renvoie enfin au client. Le client doit être
+ configuré de manière appropriée pour pouvoir utiliser le mandataire
+ direct afin d'accéder à d'autres sites.</p>
- <p>L'accès à Internet depuis des clients situés derrière un
+ <p>L'accès à Internet depuis des clients situés derrière un
pare-feu est une utilisation typique du mandataire direct. Le
mandataire direct peut aussi utiliser la mise en cache (fournie
- par <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>) pour réduire la charge du
- réseau.</p>
+ par <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>) pour réduire la charge du
+ réseau.</p>
- <p>La fonctionnalité de mandataire direct est activée via la
+ <p>La fonctionnalité de mandataire direct est activée via la
directive <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code>.
- Comme les mandataires directs permettent aux clients d'accéder à
+ Comme les mandataires directs permettent aux clients d'accéder à
des sites quelconques via votre serveur et de dissimuler leur
- véritable origine, il est indispensable de <a href="#access">sécuriser votre serveur</a> de façon à ce que seuls
- les clients autorisés puissent accéder à votre serveur avant
- d'activer la fonctionnalité de mandataire direct.</p>
+ véritable origine, il est indispensable de <a href="#access">sécuriser votre serveur</a> de façon à ce que seuls
+ les clients autorisés puissent accéder à votre serveur avant
+ d'activer la fonctionnalité de mandataire direct.</p>
<p>Un <dfn>mandataire inverse</dfn> (ou <dfn>passerelle</dfn>),
- quant à lui, apparaît au client comme un serveur web standard.
- Aucune configuration particulière du client n'est nécessaire. Le
+ quant à lui, apparaît au client comme un serveur web standard.
+ Aucune configuration particulière du client n'est nécessaire. Le
client adresse ses demandes de contenus ordinaires dans l'espace
- de nommage du mandataire inverse. Ce dernier décide alors où
- envoyer ces requêtes, et renvoie le contenu au client comme s'il
- l'hébergeait lui-même.</p>
+ de nommage du mandataire inverse. Ce dernier décide alors où
+ envoyer ces requêtes, et renvoie le contenu au client comme s'il
+ l'hébergeait lui-même.</p>
- <p>L'accès d'utilisateurs depuis Internet vers un serveur situé
- derrière un pare-feu est une utilisation typique du mandataire
+ <p>L'accès d'utilisateurs depuis Internet vers un serveur situé
+ derrière un pare-feu est une utilisation typique du mandataire
inverse. On peut aussi utiliser les mandataires inverses pour
- mettre en oeuvre une répartition de charge entre plusieurs
- serveurs en arrière-plan, ou fournir un cache pour un serveur
- d'arrière-plan plus lent. Les mandataires inverses peuvent aussi
- tout simplement servir à rassembler plusieurs serveurs dans le
- même espace de nommage d'URLs.</p>
+ mettre en oeuvre une répartition de charge entre plusieurs
+ serveurs en arrière-plan, ou fournir un cache pour un serveur
+ d'arrière-plan plus lent. Les mandataires inverses peuvent aussi
+ tout simplement servir à rassembler plusieurs serveurs dans le
+ même espace de nommage d'URLs.</p>
- <p>La fonctionnalité de mandataire inverse est activée via la
+ <p>La fonctionnalité de mandataire inverse est activée via la
directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> ou
le drapeau <code>[P]</code> de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>. Il n'est
- <strong>pas</strong> nécessaire de définir <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> pour configurer
+ <strong>pas</strong> nécessaire de définir <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> pour configurer
un mandataire inverse.</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 simples</a><a title="Lien permanent" href="#examples" class="permalink">¶</a></h2>
- <p>Les exemples ci-dessous illustrent de manière très basique la
- mise en oeuvre de la fonctionnalité de mandataire et ne sont là que
- pour vous aider à démarrer. Reportez-vous à la documentation de
+ <p>Les exemples ci-dessous illustrent de manière très basique la
+ mise en oeuvre de la fonctionnalité de mandataire et ne sont là que
+ pour vous aider à démarrer. Reportez-vous à la documentation de
chaque directive.</p>
- <p>Si en outre, vous désirez activer la mise en cache, consultez la
+ <p>Si en outre, vous désirez activer la mise en cache, consultez la
documentation de <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p>
<div class="example"><h3>Mandataire inverse</h3><pre class="prettyprint lang-config">ProxyPass "/foo" "http://foo.example.com/bar"
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="handler" id="handler">Accès via un gestionnaire</a><a title="Lien permanent" href="#handler" class="permalink">¶</a></h2>
+<h2><a name="handler" id="handler">Accès via un gestionnaire</a><a title="Lien permanent" href="#handler" class="permalink">¶</a></h2>
- <p>Vous pouvez aussi forcer le traitement d'une requête en tant que
- requête de mandataire inverse en créant un gestionnaire de transfert
- approprié. Dans l'exemple suivant, toutes les requêtes pour
+ <p>Vous pouvez aussi forcer le traitement d'une requête en tant que
+ requête de mandataire inverse en créant un gestionnaire de transfert
+ approprié. Dans l'exemple suivant, toutes les requêtes pour
des scripts PHP seront transmises au serveur FastCGI
- spécifié via un mandat inverse :
+ spécifié via un mandat inverse :
</p>
<div class="example"><h3>Scripts PHP et mandataire inverse</h3><pre class="prettyprint lang-config"><FilesMatch "\.php$">
</FilesMatch></pre>
</div>
- <p>Cette fonctionnalité est disponible à partir de la version
+ <p>Cette fonctionnalité est disponible à partir de la version
2.4.10 du serveur HTTP Apache.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="workers" id="workers">Workers</a><a title="Lien permanent" href="#workers" class="permalink">¶</a></h2>
- <p>Le mandataire gère la configuration et les paramètres de
- communication des serveurs originaux au sein d'objets nommés
+ <p>Le mandataire gère la configuration et les paramètres de
+ communication des serveurs originaux au sein d'objets nommés
<dfn>workers</dfn>. Deux types de worker sont fournis : le worker
- par défaut du mandataire direct et le worker par défaut du
- mandataire inverse. Il est aussi possible de définir explicitement
- des workers supplémentaires.</p>
+ par défaut du mandataire direct et le worker par défaut du
+ mandataire inverse. Il est aussi possible de définir explicitement
+ des workers supplémentaires.</p>
- <p>Les deux workers par défaut possèdent une configuration figée
- et seront utilisés si aucun autre worker ne correspond à la
- requête. Ils ne réutilisent pas les connexions et n'utilisent pas les
+ <p>Les deux workers par défaut possèdent une configuration figée
+ et seront utilisés si aucun autre worker ne correspond à la
+ requête. Ils ne réutilisent pas les connexions et n'utilisent pas les
connexions HTTP persistantes (Keep-Alive). En effet, les
- connexions TCP vers le serveur original sont fermées et ouvertes
- pour chaque requête.</p>
+ connexions TCP vers le serveur original sont fermées et ouvertes
+ pour chaque requête.</p>
- <p>Les workers définis explicitement sont identifiés par leur URL.
- Ils sont en général définis via les directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> lorsqu'on les
+ <p>Les workers définis explicitement sont identifiés par leur URL.
+ Ils sont en général définis via les directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> lorsqu'on les
utilise dans le cadre d'un mandataire inverse :</p>
<div class="example"><pre class="prettyprint lang-config">ProxyPass "/example" "http://backend.example.com" connectiontimeout=5 timeout=30</pre>
</div>
- <p>Cette directive va créer un worker associé à l'URL du serveur original
+ <p>Cette directive va créer un worker associé à l'URL du serveur original
<code>http://backend.example.com</code>, qui utilisera les valeurs de
- timeout données. Toutes les spécifications de timeouts utilisent la
+ timeout données. Toutes les spécifications de timeouts utilisent la
syntaxe <a href="directive-dict.html#Syntax">time-interval</a>. Lorsqu'ils
- sont utilisés dans le cadre d'un mandataire direct, les workers sont en
- général définis via la directive <code class="directive"><a href="#proxyset">ProxySet</a></code> :</p>
+ sont utilisés dans le cadre d'un mandataire direct, les workers sont en
+ général définis via la directive <code class="directive"><a href="#proxyset">ProxySet</a></code> :</p>
<div class="example"><pre class="prettyprint lang-config">ProxySet http://backend.example.com connectiontimeout=5 timeout=30</pre>
</div>
</Proxy></pre>
- <p>L'utilisation de workers définis explicitement dans le mode
- mandataire direct n'est pas très courante, car les mandataires
- directs communiquent en général avec de nombreux serveurs
- originaux. La création explicite de workers pour certains serveurs
- originaux peut cependant s'avérer utile si ces serveurs sont
- très souvent sollicités. A leur niveau, les workers explicitement
- définis ne possèdent aucune notion de mandataire direct ou
+ <p>L'utilisation de workers définis explicitement dans le mode
+ mandataire direct n'est pas très courante, car les mandataires
+ directs communiquent en général avec de nombreux serveurs
+ originaux. La création explicite de workers pour certains serveurs
+ originaux peut cependant s'avérer utile si ces serveurs sont
+ très souvent sollicités. A leur niveau, les workers explicitement
+ définis ne possèdent aucune notion de mandataire direct ou
inverse. Ils encapsulent un concept de communication commun avec
- les serveurs originaux. Un worker créé via la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> pour être utilisé dans le
- cadre d'un mandataire inverse sera aussi utilisé dans le cadre
+ les serveurs originaux. Un worker créé via la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> pour être utilisé dans le
+ cadre d'un mandataire inverse sera aussi utilisé dans le cadre
d'un mandataire directe chaque fois que l'URL vers le serveur
- original correspondra à l'URL du worker, et vice versa.</p>
+ original correspondra à l'URL du worker, et vice versa.</p>
- <p>L'URL qui identifie un worker correspond à l'URL de son serveur
- original, y compris un éventuel chemin donné :</p>
+ <p>L'URL qui identifie un worker correspond à l'URL de son serveur
+ original, y compris un éventuel chemin donné :</p>
<pre class="prettyprint lang-config">ProxyPass "/examples" "http://backend.example.com/examples"
ProxyPass "/docs" "http://backend.example.com/docs"</pre>
- <p>Dans cet exemple, deux workers différents sont définis, chacun
+ <p>Dans cet exemple, deux workers différents sont définis, chacun
d'eux utilisant des configurations et jeux de connexions
- séparés.</p>
+ séparés.</p>
<div class="warning"><h3>Partage de workers</h3>
<p>Le partage de workers intervient lorsque les URLs des workers
s'entrecoupent, ce qui arrive lorsque l'URL d'un worker
- correspond au début de l'URL d'un autre worker défini plus loin
+ correspond au début de l'URL d'un autre worker défini plus loin
dans le fichier de configuration. Dans l'exemple suivant,</p>
<pre class="prettyprint lang-config">ProxyPass "/apps" "http://backend.example.com/" timeout=60
ProxyPass "/examples" "http://backend.example.com/examples" timeout=10</pre>
- <p>le second worker n'est pas vraiment créé. C'est le premier
- worker qui est en fait utilisé. L'avantage de ceci réside dans
+ <p>le second worker n'est pas vraiment créé. C'est le premier
+ worker qui est en fait utilisé. L'avantage de ceci réside dans
le fait qu'il n'existe qu'un seul jeu de connexions, ces
- dernières étant donc réutilisées plus souvent. Notez que tous
- les attributs de configuration définis explicitement pour le
- deuxième worker seront ignorés, ce qui sera journalisé en tant
+ dernières étant donc réutilisées plus souvent. Notez que tous
+ les attributs de configuration définis explicitement pour le
+ deuxième worker seront ignorés, ce qui sera journalisé en tant
qu'avertissement. Ainsi, dans l'exemple ci-dessus, la valeur de
timeout retenue pour l'URL <code>/exemples</code> sera
<code>60</code>, et non <code>10</code> !</p>
- <p>Si vous voulez empêcher le partage de workers, classez vos
- définitions de workers selon la longueur des URLs, de la plus
- longue à la plus courte. Si au contraire vous voulez favoriser
+ <p>Si vous voulez empêcher le partage de workers, classez vos
+ définitions de workers selon la longueur des URLs, de la plus
+ longue à la plus courte. Si au contraire vous voulez favoriser
ce partage, utilisez l'ordre de classement inverse. Voir aussi
- l'avertissement à propos de l'ordre de classement des directives
+ l'avertissement à propos de l'ordre de classement des directives
<code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
</div>
- <div class="warning"><h3>Nom d'hôte dans l'URL</h3>
- <p>Le nom d'hôte doit commencer par une lettre [a-z]. Par exemple :</p>
+ <div class="warning"><h3>Nom d'hôte dans l'URL</h3>
+ <p>Le nom d'hôte doit commencer par une lettre [a-z]. Par exemple :</p>
<pre class="prettyprint lang-config">ProxyPass "/apps" "http://127"</pre>
- <p>n'est pas valide et provoquera une erreur si une requête correspond
+ <p>n'est pas valide et provoquera une erreur si une requête correspond
au chemin.</p>
</div>
- <p>Les workers définis explicitement sont de deux sortes :
- <dfn>workers directs</dfn> et <dfn>workers de répartition (de
+ <p>Les workers définis explicitement sont de deux sortes :
+ <dfn>workers directs</dfn> et <dfn>workers de répartition (de
charge)</dfn>. Ils supportent de nombreux attributs de
- configuration importants décrits dans la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>. Ces mêmes attributs
- peuvent aussi être définis via la directive <code class="directive"><a href="#proxyset">ProxySet</a></code>.</p>
+ configuration importants décrits dans la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>. Ces mêmes attributs
+ peuvent aussi être définis via la directive <code class="directive"><a href="#proxyset">ProxySet</a></code>.</p>
- <p>Le jeu d'options disponibles pour un worker direct dépend du
- protocole spécifié dans l'URL du serveur original. Les protocoles
+ <p>Le jeu d'options disponibles pour un worker direct dépend du
+ protocole spécifié dans l'URL du serveur original. Les protocoles
disponibles comprennent <code>ajp</code>, <code>fcgi</code>,
<code>ftp</code>, <code>http</code> et <code>scgi</code>.</p>
- <p>Les workers de répartition sont des workers virtuels qui
+ <p>Les workers de répartition sont des workers virtuels qui
utilisent les workers directs, connus comme faisant partie de leurs
- membres, pour le traitement effectif des requêtes. Chaque
- répartiteur peut comporter plusieurs membres. Lorsqu'il traite une
- requête, il choisit un de ses membres en fonction de l'algorithme
- de répartition de charge défini.</p>
+ membres, pour le traitement effectif des requêtes. Chaque
+ répartiteur peut comporter plusieurs membres. Lorsqu'il traite une
+ requête, il choisit un de ses membres en fonction de l'algorithme
+ de répartition de charge défini.</p>
- <p>Un worker de répartition est créé si son URL de worker comporte
+ <p>Un worker de répartition est créé si son URL de worker comporte
<code>balancer</code> comme indicateur de protocole. L'URL du
- répartiteur permet d'identifier de manière unique le worker de
- répartition. La directive <code class="directive"><a href="#balancermember">BalancerMember</a></code> permet d'ajouter des
- membres au répartiteur.</p>
-
- <div class="note"><h3>Résolution DNS pour les domaines originaux</h3>
- <p>La résolution DNS s'effectue lorsque le socket vers le
- domaine original est créé pour la première fois. Lorsque la réutilisation
- des connexions est activée, chaque domaine d'arrière-plan n'est résolu qu'une
- seule fois pour chaque processus enfant, et cette résolution est mise en
- cache pour toutes les connexions ultérieures jusqu'à ce que le processus enfant
- soit recyclé. Ce comportement doit être pris en considération lorsqu'on
- planifie des tâches de maintenance du DNS impactant les domaines
- d'arrière-plan. Veuillez aussi vous reporter aux paramètres de la
+ répartiteur permet d'identifier de manière unique le worker de
+ répartition. La directive <code class="directive"><a href="#balancermember">BalancerMember</a></code> permet d'ajouter des
+ membres au répartiteur.</p>
+
+ <div class="note"><h3>Résolution DNS pour les domaines originaux</h3>
+ <p>La résolution DNS s'effectue lorsque le socket vers le
+ domaine original est créé pour la première fois. Lorsque la réutilisation
+ des connexions est activée, chaque domaine d'arrière-plan n'est résolu qu'une
+ seule fois pour chaque processus enfant, et cette résolution est mise en
+ cache pour toutes les connexions ultérieures jusqu'à ce que le processus enfant
+ soit recyclé. Ce comportement doit être pris en considération lorsqu'on
+ planifie des tâches de maintenance du DNS impactant les domaines
+ d'arrière-plan. Veuillez aussi vous reporter aux paramètres de la
directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> pour plus de
- détails à propos de la réutilisation des connexions.
+ détails à propos de la réutilisation des connexions.
</p>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="access" id="access">Contrôler l'accès à votre
+<h2><a name="access" id="access">Contrôler l'accès à votre
mandataire</a><a title="Lien permanent" href="#access" class="permalink">¶</a></h2>
- <p>Vous pouvez restreindre l'accès à votre mandataire via le bloc
- de contrôle <code class="directive"><a href="#proxy"><Proxy></a></code> comme dans
+ <p>Vous pouvez restreindre l'accès à votre mandataire via le bloc
+ de contrôle <code class="directive"><a href="#proxy"><Proxy></a></code> comme dans
l'exemple suivant :</p>
<pre class="prettyprint lang-config"><Proxy *>
</Proxy></pre>
- <p>Pour plus de détails sur les directives de contrôle d'accès,
+ <p>Pour plus de détails sur les directives de contrôle d'accès,
voir la documentation du module
<code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>.</p>
- <p>Restreindre l'accès de manière stricte est essentiel si vous
- mettez en oeuvre un mandataire direct (en définissant la directive
- <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> à "on").
- Dans le cas contraire, votre serveur pourrait être utilisé par
- n'importe quel client pour accéder à des serveurs quelconques,
- tout en masquant sa véritable identité. Ceci représente un danger
- non seulement pour votre réseau, mais aussi pour l'Internet au
+ <p>Restreindre l'accès de manière stricte est essentiel si vous
+ mettez en oeuvre un mandataire direct (en définissant la directive
+ <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> à "on").
+ Dans le cas contraire, votre serveur pourrait être utilisé par
+ n'importe quel client pour accéder à des serveurs quelconques,
+ tout en masquant sa véritable identité. Ceci représente un danger
+ non seulement pour votre réseau, mais aussi pour l'Internet au
sens large. Dans le cas de la mise en oeuvre d'un mandataire
- inverse (en utilisant la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> avec <code>ProxyRequests Off</code>), le contrôle
- d'accès est moins critique car les clients ne peuvent contacter
- que les serveurs que vous avez spécifiés.</p>
+ inverse (en utilisant la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> avec <code>ProxyRequests Off</code>), le contrôle
+ d'accès est moins critique car les clients ne peuvent contacter
+ que les serveurs que vous avez spécifiés.</p>
<p><strong>Voir aussi</strong> la variable d'environnement <a href="mod_proxy_http.html#env">Proxy-Chain-Auth</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="startup" id="startup">Ralentissement au démarrage</a><a title="Lien permanent" href="#startup" class="permalink">¶</a></h2>
- <p>Si vous utilisez la directive <code class="directive"><a href="#proxyblock">ProxyBlock</a></code>, les noms d'hôtes sont résolus en adresses
- IP puis ces dernières mises en cache au cours du démarrage
- à des fins de tests de comparaisons ultérieurs. Ce processus peut
+<h2><a name="startup" id="startup">Ralentissement au démarrage</a><a title="Lien permanent" href="#startup" class="permalink">¶</a></h2>
+ <p>Si vous utilisez la directive <code class="directive"><a href="#proxyblock">ProxyBlock</a></code>, les noms d'hôtes sont résolus en adresses
+ IP puis ces dernières mises en cache au cours du démarrage
+ à des fins de tests de comparaisons ultérieurs. Ce processus peut
durer plusieurs secondes (ou d'avantage) en fonction de la vitesse
- à laquelle s'effectue la résolution des noms d'hôtes.</p>
+ à laquelle s'effectue la résolution des noms d'hôtes.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="intranet" id="intranet">Mandataire en Intranet</a><a title="Lien permanent" href="#intranet" class="permalink">¶</a></h2>
- <p>Un serveur mandataire Apache httpd situé à l'intérieur d'un Intranet
- doit faire suivre les requêtes destinées à un serveur externe à
- travers le pare-feu de l'entreprise (pour ce faire, définissez la
+ <p>Un serveur mandataire Apache httpd situé à l'intérieur d'un Intranet
+ doit faire suivre les requêtes destinées à un serveur externe à
+ travers le pare-feu de l'entreprise (pour ce faire, définissez la
directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> de
- façon à ce qu'elle fasse suivre le <var>protocole</var> concerné
- vers le mandataire du pare-feu). Cependant, lorsqu'il doit accéder
- à des ressources situées dans l'Intranet, il peut se passer du
- pare-feu pour accéder aux serveurs. A cet effet, la directive
+ façon à ce qu'elle fasse suivre le <var>protocole</var> concerné
+ vers le mandataire du pare-feu). Cependant, lorsqu'il doit accéder
+ à des ressources situées dans l'Intranet, il peut se passer du
+ pare-feu pour accéder aux serveurs. A cet effet, la directive
<code class="directive"><a href="#noproxy">NoProxy</a></code> permet de
- spécifier quels hôtes appartiennent à l'Intranet et peuvent donc
- être accédés directement.</p>
+ spécifier quels hôtes appartiennent à l'Intranet et peuvent donc
+ être accédés directement.</p>
- <p>Les utilisateurs d'un Intranet ont tendance à oublier le nom du
- domaine local dans leurs requêtes WWW, et demandent par exemple
+ <p>Les utilisateurs d'un Intranet ont tendance à oublier le nom du
+ domaine local dans leurs requêtes WWW, et demandent par exemple
"http://un-serveur/" au lieu de
<code>http://un-serveur.example.com/</code>. Certains serveurs
- mandataires commerciaux acceptent ce genre de requête et les
+ mandataires commerciaux acceptent ce genre de requête et les
traitent simplement en utilisant un nom de domaine local
- implicite. Lorsque la directive <code class="directive"><a href="#proxydomain">ProxyDomain</a></code> est utilisée et si le
- serveur est <a href="#proxyrequests">configuré comme
- mandataire</a>, Apache httpd peut renvoyer une réponse de redirection et
+ implicite. Lorsque la directive <code class="directive"><a href="#proxydomain">ProxyDomain</a></code> est utilisée et si le
+ serveur est <a href="#proxyrequests">configuré comme
+ mandataire</a>, Apache httpd peut renvoyer une réponse de redirection et
ainsi fournir au client l'adresse de serveur correcte,
- entièrement qualifiée. C'est la méthode à privilégier car le
+ entièrement qualifiée. C'est la méthode à privilégier car le
fichier des marque-pages de l'utilisateur contiendra alors des
- noms de serveurs entièrement qualifiés.</p>
+ noms de serveurs entièrement qualifiés.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="envsettings" id="envsettings">Ajustements relatifs au
protocole</a><a title="Lien permanent" href="#envsettings" class="permalink">¶</a></h2>
- <p>Pour les cas où <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> envoie des requêtes
- vers un serveur qui n'implémente pas correctement les connexions
+ <p>Pour les cas où <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> envoie des requêtes
+ vers un serveur qui n'implémente pas correctement les connexions
persistantes ou le protocole HTTP/1.1, il existe deux variables
- d'environnement qui permettent de forcer les requêtes à utiliser
+ d'environnement qui permettent de forcer les requêtes à utiliser
le protocole HTTP/1.0 avec connexions non persistantes. Elles
- peuvent être définies via la directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>.</p>
+ peuvent être définies via la directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code>.</p>
<p>Il s'agit des variables <code>force-proxy-request-1.0</code> et
<code>proxy-nokeepalive</code>.</p>
</Location></pre>
- <p>A partir de la version 2.4.26 du serveur HTTP Apache, la définition de
- la variable d'environnement "no-proxy" permet de désactiver
- <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> dans le traitement de la requête courante.
- Cette variable doit être définie via la directive <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> car la directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> n'est pas évaluée assez tôt.</p>
+ <p>A partir de la version 2.4.26 du serveur HTTP Apache, la définition de
+ la variable d'environnement "no-proxy" permet de désactiver
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> dans le traitement de la requête courante.
+ Cette variable doit être définie via la directive <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> car la directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> n'est pas évaluée assez tôt.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="request-bodies" id="request-bodies">Corps de requêtes</a><a title="Lien permanent" href="#request-bodies" class="permalink">¶</a></h2>
+<h2><a name="request-bodies" id="request-bodies">Corps de requêtes</a><a title="Lien permanent" href="#request-bodies" class="permalink">¶</a></h2>
- <p>Certaines méthodes de requêtes comme POST comportent un corps de
- requête. Le protocole HTTP stipule que les requêtes qui comportent
+ <p>Certaines méthodes de requêtes comme POST comportent un corps de
+ requête. Le protocole HTTP stipule que les requêtes qui comportent
un corps doivent soit utiliser un codage de transmission
- fractionnée (chunked transfer encoding), soit envoyer un en-tête de requête
+ fractionnée (chunked transfer encoding), soit envoyer un en-tête de requête
<code>Content-Length</code>. Lorsqu'il fait suivre ce genre de
- requête vers le serveur demandé, <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>
- s'efforce toujours d'envoyer l'en-tête <code>Content-Length</code>.
- Par contre, si la taille du corps est importante, et si la requête
- originale utilise un codage à fractionnement, ce dernier peut aussi
- être utilisé dans la requête montante. Ce comportement peut être
- contrôlé à l'aide de <a href="../env.html">variables
- d'environnement</a>. Ainsi, si elle est définie, la variable
- <code>proxy-sendcl</code> assure une compatibilité maximale avec les
- serveurs demandés en imposant l'envoi de l'en-tête
+ requête vers le serveur demandé, <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>
+ s'efforce toujours d'envoyer l'en-tête <code>Content-Length</code>.
+ Par contre, si la taille du corps est importante, et si la requête
+ originale utilise un codage à fractionnement, ce dernier peut aussi
+ être utilisé dans la requête montante. Ce comportement peut être
+ contrôlé à l'aide de <a href="../env.html">variables
+ d'environnement</a>. Ainsi, si elle est définie, la variable
+ <code>proxy-sendcl</code> assure une compatibilité maximale avec les
+ serveurs demandés en imposant l'envoi de l'en-tête
<code>Content-Length</code>, alors que
<code>proxy-sendchunked</code> diminue la consommation de ressources
- en imposant l'utilisation d'un codage à fractionnement.</p>
+ en imposant l'utilisation d'un codage à fractionnement.</p>
<p>Dans certaines circonstances, le serveur doit mettre en file
- d'attente sur disque les corps de requêtes afin de satisfaire le
- traitement demandé des corps de requêtes. Par exemple, cette mise en
- file d'attente se produira si le corps original a été envoyé selon un
- codage morcelé (et possède une taille importante), alors que
- l'administrateur a demandé que les requêtes du serveur
- d'arrière-plan soient envoyées avec l'en-tête Content-Length ou en
+ d'attente sur disque les corps de requêtes afin de satisfaire le
+ traitement demandé des corps de requêtes. Par exemple, cette mise en
+ file d'attente se produira si le corps original a été envoyé selon un
+ codage morcelé (et possède une taille importante), alors que
+ l'administrateur a demandé que les requêtes du serveur
+ d'arrière-plan soient envoyées avec l'en-tête Content-Length ou en
HTTP/1.0. Cette mise en file d'attente se produira aussi si le corps
- de la requête contient déjà un en-tête Content-Length, alors que le
- serveur est configuré pour filtrer les corps des requêtes entrantes.</p>
+ de la requête contient déjà un en-tête Content-Length, alors que le
+ serveur est configuré pour filtrer les corps des requêtes entrantes.</p>
<p>La directive <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code> ne s'applique qu'aux
- corps de requêtes que le serveur met en file d'attente sur disque.</p>
+ corps de requêtes que le serveur met en file d'attente sur disque.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="x-headers" id="x-headers">En-têtes de requête du mandataire
+<h2><a name="x-headers" id="x-headers">En-têtes de requête du mandataire
inverse</a><a title="Lien permanent" href="#x-headers" class="permalink">¶</a></h2>
- <p>Lorsqu'il est configuré en mode mandataire inverse (en utilisant
+ <p>Lorsqu'il est configuré en mode mandataire inverse (en utilisant
par exemple la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>),
- <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> ajoute plusieurs en-têtes de requête
- afin de transmettre des informations au serveur demandé. Ces
- en-têtes sont les suivants :</p>
+ <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> ajoute plusieurs en-têtes de requête
+ afin de transmettre des informations au serveur demandé. Ces
+ en-têtes sont les suivants :</p>
<dl>
<dt><code>X-Forwarded-For</code></dt>
<dd>L'adresse IP du client.</dd>
<dt><code>X-Forwarded-Host</code></dt>
- <dd>L'hôte d'origine demandé par le client dans l'en-tête de
- requête HTTP <code>Host</code>.</dd>
+ <dd>L'hôte d'origine demandé par le client dans l'en-tête de
+ requête HTTP <code>Host</code>.</dd>
<dt><code>X-Forwarded-Server</code></dt>
- <dd>Le nom d'hôte du serveur mandataire.</dd>
+ <dd>Le nom d'hôte du serveur mandataire.</dd>
</dl>
- <p>Ces en-têtes doivent être utilisés avec précautions sur le
- serveur demandé, car ils contiendront plus d'une valeur (séparées
- par des virgules) si la requête originale contenait déjà un de ces
- en-têtes. Par exemple, vous pouvez utiliser
- <code>%{X-Forwarded-For}i</code> dans la chaîne de format du journal
- du serveur demandé pour enregistrer les adresses IP des clients
+ <p>Ces en-têtes doivent être utilisés avec précautions sur le
+ serveur demandé, car ils contiendront plus d'une valeur (séparées
+ par des virgules) si la requête originale contenait déjà un de ces
+ en-têtes. Par exemple, vous pouvez utiliser
+ <code>%{X-Forwarded-For}i</code> dans la chaîne de format du journal
+ du serveur demandé pour enregistrer les adresses IP des clients
originaux, mais il est possible que vous obteniez plusieurs adresses
- si la requête passe à travers plusieurs mandataires.</p>
+ si la requête passe à travers plusieurs mandataires.</p>
<p>Voir aussi les directives <code class="directive"><a href="#proxypreservehost">ProxyPreserveHost</a></code> et <code class="directive"><a href="#proxyvia">ProxyVia</a></code> directives, qui permettent
- de contrôler d'autres en-têtes de requête.</p>
+ de contrôler d'autres en-têtes de requête.</p>
- <p>Note : Si vous devez ajouter des en-têtes particuliers à la
- requête mandatée, utilisez la directive <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>.</p>
+ <p>Note : Si vous devez ajouter des en-têtes particuliers à la
+ requête mandatée, utilisez la directive <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></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="balancergrowth" id="balancergrowth">Directive</a> <a name="BalancerGrowth" id="BalancerGrowth">BalancerGrowth</a><a title="Lien permanent" href="#balancergrowth" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de membres supplémentaires pouvant être ajoutés
-après la configuration initiale</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de membres supplémentaires pouvant être ajoutés
+après la configuration initiale</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerGrowth <var>#</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerGrowth 5</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerGrowth 5</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>BalancerGrowth est disponible depuis la version 2.3.13 du
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>BalancerGrowth est disponible depuis la version 2.3.13 du
serveur HTTP Apache</td></tr>
</table>
- <p>Cette directive permet de définir le nombre de
- répartiteurs de charge pouvant
- être ajoutés à ceux déjà configurés pour un
- serveur virtuel. Elle n'est active que si au minimum un répartiteur
- a été préconfiguré.</p>
+ <p>Cette directive permet de définir le nombre de
+ répartiteurs de charge pouvant
+ être ajoutés à ceux déjà configurés pour un
+ serveur virtuel. Elle n'est active que si au minimum un répartiteur
+ a été préconfiguré.</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="balancerinherit" id="balancerinherit">Directive</a> <a name="BalancerInherit" id="BalancerInherit">BalancerInherit</a><a title="Lien permanent" href="#balancerinherit" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Héritage des membres du groupes de répartition de
- charge du mandataire définis au niveau du serveur principal</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Héritage des membres du groupes de répartition de
+ charge du mandataire définis au niveau du serveur principal</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerInherit On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerInherit On</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerInherit On</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur
HTTP Apache.</td></tr>
</table>
<p>Cette directive permet d'attribuer au serveur virtuel courant
- l'héritage des membres de groupes de répartition de charge
- définis au niveau du serveur
- principal. Elle ne doit pas être activée si vous
- utilisez la fonctionnalité de modifications dynamiques du
- gestionnaire de répartition de charge (Balancer Manager) pour
- éviter des problèmes et des comportements inattendus.</p>
- <p>Les définitions au niveau du serveur principal constituent
- les définitions par défaut au niveau des serveurs virtuels.</p>
- <p>La désactivation de ProxyPassInherit désactive aussi la
+ l'héritage des membres de groupes de répartition de charge
+ définis au niveau du serveur
+ principal. Elle ne doit pas être activée si vous
+ utilisez la fonctionnalité de modifications dynamiques du
+ gestionnaire de répartition de charge (Balancer Manager) pour
+ éviter des problèmes et des comportements inattendus.</p>
+ <p>Les définitions au niveau du serveur principal constituent
+ les définitions par défaut au niveau des serveurs virtuels.</p>
+ <p>La désactivation de ProxyPassInherit désactive aussi la
directive <code class="directive"><a href="#balancerinherit">BalancerInherit</a></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="balancermember" id="balancermember">Directive</a> <a name="BalancerMember" id="BalancerMember">BalancerMember</a><a title="Lien permanent" href="#balancermember" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un membre à un groupe de répartition de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un membre à un groupe de répartition de
charge</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>clé=valeur [clé=valeur ...]]</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>clé=valeur [clé=valeur ...]]</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</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_proxy</td></tr>
</table>
- <p>Cette directive permet d'ajouter un membre à un groupe de
- répartition de charge. Elle peut se trouver dans un conteneur
+ <p>Cette directive permet d'ajouter un membre à un groupe de
+ répartition de charge. Elle peut se trouver dans un conteneur
<code><Proxy <var>balancer://</var>...></code>, et accepte
- tous les paramètres de paires clé/valeur que supporte la directive
+ tous les paramètres de paires clé/valeur que supporte la directive
<code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
- <p>La directive <code class="directive">BalancerMember</code> accepte un paramètre
- supplémentaire : <var>loadfactor</var>. Il s'agit du facteur de
- charge du membre - un nombre entre 1.0 (valeur par défaut) et 100.0, qui
- définit la charge à appliquer au membre en question.</p>
+ <p>La directive <code class="directive">BalancerMember</code> accepte un paramètre
+ supplémentaire : <var>loadfactor</var>. Il s'agit du facteur de
+ charge du membre - un nombre entre 1.0 (valeur par défaut) et 100.0, qui
+ définit la charge à appliquer au membre en question.</p>
<p>L'argument <var>balancerurl</var> n'est requis que s'il ne se trouve pas
- dèjà dans la directive de conteneur <code><Proxy
- <var>balancer://</var>...></code>. Il correspond à l'URL d'un
- répartiteur de charge défini par une directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
- <p>La partie chemin de l'URL du membre du groupe de répartition de
+ dèjà dans la directive de conteneur <code><Proxy
+ <var>balancer://</var>...></code>. Il correspond à l'URL d'un
+ répartiteur de charge défini par une directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
+ <p>La partie chemin de l'URL du membre du groupe de répartition de
charge dans toute directive de conteneur <code><Proxy
- <var>balancer://</var>...></code> est ignorée.</p>
- <p>Les slashes de fin doivent normalement être supprimés de l'URL
+ <var>balancer://</var>...></code> est ignorée.</p>
+ <p>Les slashes de fin doivent normalement être supprimés de l'URL
d'un <code class="directive">BalancerMember</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="balancerpersist" id="balancerpersist">Directive</a> <a name="BalancerPersist" id="BalancerPersist">BalancerPersist</a><a title="Lien permanent" href="#balancerpersist" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de conserver les changements effectués par le
- gestionnaire de répartition de charge après un redémarrage du
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de conserver les changements effectués par le
+ gestionnaire de répartition de charge après un redémarrage du
serveur.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BalancerPersist On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerPersist Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BalancerPersist Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>BalancerPersist n'est disponible qu'à partir de la
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>BalancerPersist n'est disponible qu'à partir de la
version 2.4.4 du serveur HTTP Apache.</td></tr>
</table>
<p>Cette directive permet de conserver le contenu de l'espace
- mémoire partagé associé aux répartiteurs de charge et à leurs
- membres après un redémarrage du serveur. Ces modifications
- locales ne sont ainsi pas perdues lors des transitions d'état
- dues à un redémarrage.</p>
+ mémoire partagé associé aux répartiteurs de charge et à leurs
+ membres après un redémarrage du serveur. Ces modifications
+ locales ne sont ainsi pas perdues lors des transitions d'état
+ dues à un redémarrage.</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="noproxy" id="noproxy">Directive</a> <a name="NoProxy" id="NoProxy">NoProxy</a><a title="Lien permanent" href="#noproxy" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Serveurs, domaines ou réseaux auquels on se connectera
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Serveurs, domaines ou réseaux auquels on se connectera
directement</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NoProxy <var>domaine</var> [<var>domaine</var>] ...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
</table>
- <p>Cette directive n'a d'utilité que pour les serveurs mandataires
+ <p>Cette directive n'a d'utilité que pour les serveurs mandataires
Apache httpd au sein d'Intranets. La directive
- <code class="directive">NoProxy</code> permet de spécifier une liste de
- sous-réseaux, d'adresses IP, de serveurs et/ou de domaines séparés
- par des espaces. Une requête pour un serveur qui correspond à un ou
- plusieurs critères sera toujours servie par ce serveur directement,
- sans être redirigée vers le(s) serveur(s) mandataire(s) défini(s) par
+ <code class="directive">NoProxy</code> permet de spécifier une liste de
+ sous-réseaux, d'adresses IP, de serveurs et/ou de domaines séparés
+ par des espaces. Une requête pour un serveur qui correspond à un ou
+ plusieurs critères sera toujours servie par ce serveur directement,
+ sans être redirigée vers le(s) serveur(s) mandataire(s) défini(s) par
la directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyRemote * http://firewall.example.com:81
</div>
<p>Le type des arguments <var>serveur</var> de la directive
- <code class="directive">NoProxy</code> appartiennent à la liste suivante
+ <code class="directive">NoProxy</code> appartiennent à la liste suivante
:</p>
<dl>
<dt><var><a name="domain" id="domain">Domaine</a></var></dt>
<dd>
<p>Un <dfn>domaine</dfn> est ici un nom de domaine DNS partiellement
- qualifié précédé d'un point. Il représente une liste de serveurs qui
- appartiennent logiquement au même domaine ou à la même zonz DNS
+ qualifié précédé d'un point. Il représente une liste de serveurs qui
+ appartiennent logiquement au même domaine ou à la même zonz DNS
(en d'autres termes, les nom des serveurs se terminent tous par
<var>domaine</var>).</p>
.com .example.org.
</code></p></div>
- <p>Pour faire la distinction entre <var>domaine</var>s et <var><a href="#hostname">nom d'hôte</a></var>s (des points de vue à la fois
+ <p>Pour faire la distinction entre <var>domaine</var>s et <var><a href="#hostname">nom d'hôte</a></var>s (des points de vue à la fois
syntaxique et
- sémantique, un domaine DNS pouvant aussi avoir un enregistrement DNS
- de type A !), les <var>domaine</var>s sont toujours spécifiés en les
- préfixant par un point.</p>
+ sémantique, un domaine DNS pouvant aussi avoir un enregistrement DNS
+ de type A !), les <var>domaine</var>s sont toujours spécifiés en les
+ préfixant par un point.</p>
<div class="note"><h3>Note</h3>
<p>Les comparaisons de noms de domaines s'effectuent sans tenir
compte de la casse, et les parties droites des <var>Domaine</var>s
- sont toujours censées correspondre à la racine de l'arborescence
+ sont toujours censées correspondre à la racine de l'arborescence
DNS, si bien que les domaines <code>.ExEmple.com</code> et
- <code>.example.com.</code> (notez le point à la fin du nom) sont
- considérés comme identiques. Comme une comparaison de domaines ne
- nécessite pas de recherche DNS, elle est beaucoup plus efficace
- qu'une comparaison de sous-réseaux.</p>
+ <code>.example.com.</code> (notez le point à la fin du nom) sont
+ considérés comme identiques. Comme une comparaison de domaines ne
+ nécessite pas de recherche DNS, elle est beaucoup plus efficace
+ qu'une comparaison de sous-réseaux.</p>
</div></dd>
- <dt><var><a name="subnet" id="subnet">Sous-réseau</a></var></dt>
+ <dt><var><a name="subnet" id="subnet">Sous-réseau</a></var></dt>
<dd>
- <p>Un <dfn>Sous-réseau</dfn> est une adresse internet partiellement
- qualifiée sous forme numérique (quatre nombres séparés par des
+ <p>Un <dfn>Sous-réseau</dfn> est une adresse internet partiellement
+ qualifiée sous forme numérique (quatre nombres séparés par des
points), optionnellement suivie d'un slash et du masque de
- sous-réseau spécifiant le nombre de bits significatifs dans le
- <var>Sous-réseau</var>. Il représente un sous-réseau de serveurs qui
- peuvent être atteints depuis la même interface réseau. En l'absence
- de masque de sous-réseau explicite, il est sous-entendu que les
- digits manquants (ou caractères 0) de fin spécifient le masque de
- sous-réseau (Dans ce cas, le masque de sous-réseau ne peut être
+ sous-réseau spécifiant le nombre de bits significatifs dans le
+ <var>Sous-réseau</var>. Il représente un sous-réseau de serveurs qui
+ peuvent être atteints depuis la même interface réseau. En l'absence
+ de masque de sous-réseau explicite, il est sous-entendu que les
+ digits manquants (ou caractères 0) de fin spécifient le masque de
+ sous-réseau (Dans ce cas, le masque de sous-réseau ne peut être
qu'un multiple de 8). Voici quelques exemples :</p>
<dl>
<dt><code>192.168</code> ou <code>192.168.0.0</code></dt>
- <dd>le sous-réseau 192.168.0.0 avec un masque de sous-réseau
- implicite de 16 bits significatifs (parfois exprimé sous la forme
+ <dd>le sous-réseau 192.168.0.0 avec un masque de sous-réseau
+ implicite de 16 bits significatifs (parfois exprimé sous la forme
<code>255.255.0.0</code>)</dd>
<dt><code>192.168.112.0/21</code></dt>
- <dd>le sous-réseau <code>192.168.112.0/21</code> avec un masque de
- sous-réseau implicite de 21 bits significatifs (parfois exprimé
+ <dd>le sous-réseau <code>192.168.112.0/21</code> avec un masque de
+ sous-réseau implicite de 21 bits significatifs (parfois exprimé
sous la forme<code>255.255.248.0</code>)</dd>
</dl>
- <p>Comme cas extrêmes, un <em>Sous-réseau</em> avec un masque de
- sous-réseau de 32 bits significatifs est équivalent à une <var><a href="#ipaddr">adresse IP</a></var>, alors qu'un <em>Sous-réseau</em> avec un masque de
- sous-réseau de 0 bit significatif (c'est à dire 0.0.0.0/0) est
- identique à la constante <var>_Default_</var>, et peut correspondre
- à toute adresse IP.</p></dd>
+ <p>Comme cas extrêmes, un <em>Sous-réseau</em> avec un masque de
+ sous-réseau de 32 bits significatifs est équivalent à une <var><a href="#ipaddr">adresse IP</a></var>, alors qu'un <em>Sous-réseau</em> avec un masque de
+ sous-réseau de 0 bit significatif (c'est à dire 0.0.0.0/0) est
+ identique à la constante <var>_Default_</var>, et peut correspondre
+ à toute adresse IP.</p></dd>
<dt><var><a name="ipaddr" id="ipaddr">Adresse IP</a></var></dt>
<dd>
<p>Une <dfn>Adresse IP</dfn> est une adresse internet pleinement
- qualifiée sous forme numérique (quatre nombres séparés par des
- points). En général, cette adresse représente un serveur, mais elle
- ne doit pas nécessairement correspondre à un nom de domaine DNS.</p>
+ qualifiée sous forme numérique (quatre nombres séparés par des
+ points). En général, cette adresse représente un serveur, mais elle
+ ne doit pas nécessairement correspondre à un nom de domaine DNS.</p>
<div class="example"><h3>Exemple</h3><p><code>
192.168.123.7
</code></p></div>
<div class="note"><h3>Note</h3>
- <p>Une <dfn>Adresse IP</dfn> ne nécessite pas de résolution DNS,
- et peut ainsi s'avérer plus efficace quant aux performances
+ <p>Une <dfn>Adresse IP</dfn> ne nécessite pas de résolution DNS,
+ et peut ainsi s'avérer plus efficace quant aux performances
d'Apache.</p>
</div></dd>
<dt><var><a name="hostname" id="hostname">Nom de serveur</a></var></dt>
<dd>
<p>Un <dfn>Nom de serveur</dfn> est un nom de domaine DNS pleinement
- qualifié qui peut être résolu en une ou plusieurs adresses IP par le
- service de noms de domaines DNS. Il représente un hôte logique (par
+ qualifié qui peut être résolu en une ou plusieurs adresses IP par le
+ service de noms de domaines DNS. Il représente un hôte logique (par
opposition aux <var><a href="#domain">Domaine</a></var>s, voir
- ci-dessus), et doit pouvoir être résolu en une ou plusieurs <var><a href="#ipaddr">adresses IP</a></var> (ou souvent en une liste
- d'hôtes avec différentes <var><a href="#ipaddr">adresses
+ ci-dessus), et doit pouvoir être résolu en une ou plusieurs <var><a href="#ipaddr">adresses IP</a></var> (ou souvent en une liste
+ d'hôtes avec différentes <var><a href="#ipaddr">adresses
IP</a></var>).</p>
<div class="example"><h3>Exemples</h3><p><code>
<div class="note"><h3>Note</h3>
<p>Dans de nombreuses situations, il est plus efficace de
- spécifier une <var><a href="#ipaddr">adresse IP</a></var> qu'un
- <var>Nom de serveur</var> car cela évite d'avoir à effectuer une
- recherche DNS. La résolution de nom dans Apache httpd peut prendre un
- temps très long lorsque la connexion avec le serveur de noms
+ spécifier une <var><a href="#ipaddr">adresse IP</a></var> qu'un
+ <var>Nom de serveur</var> car cela évite d'avoir à effectuer une
+ recherche DNS. La résolution de nom dans Apache httpd peut prendre un
+ temps très long lorsque la connexion avec le serveur de noms
utilise une liaison PPP lente.</p>
<p>Les comparaisons de <var>Nom de serveur</var> s'effectuent sans tenir
compte de la casse, et les parties droites des <var>Noms de serveur</var>
- sont toujours censées correspondre à la racine de l'arborescence
+ sont toujours censées correspondre à la racine de l'arborescence
DNS, si bien que les domaines <code>WWW.ExEmple.com</code> et
- <code>www.example.com.</code> (notez le point à la fin du nom) sont
- considérés comme identiques.</p>
+ <code>www.example.com.</code> (notez le point à la fin du nom) sont
+ considérés comme identiques.</p>
</div></dd>
</dl>
<h3>Voir aussi</h3>
<ul>
-<li><a href="../dns-caveats.html">Problèmes liés au DNS</a></li>
+<li><a href="../dns-caveats.html">Problèmes liés au DNS</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="proxy" id="proxy">Directive</a> <a name="Proxy" id="Proxy"><Proxy></a><a title="Lien permanent" href="#proxy" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conteneur de directives s'appliquant à des ressources
-mandatées</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conteneur de directives s'appliquant à des ressources
+mandatées</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Proxy <var>url-avec-jokers</var>> ...</Proxy></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
</table>
- <p>Les directives situées dans une section <code class="directive"><Proxy></code> ne s'appliquent qu'au contenu
- mandaté concerné. Les jokers de style shell sont autorisés.</p>
+ <p>Les directives situées dans une section <code class="directive"><Proxy></code> ne s'appliquent qu'au contenu
+ mandaté concerné. Les jokers de style shell sont autorisés.</p>
- <p>Par exemple, les lignes suivantes n'autoriseront à accéder à un
- contenu via votre serveur mandataire que les hôtes appartenant à
+ <p>Par exemple, les lignes suivantes n'autoriseront à accéder à un
+ contenu via votre serveur mandataire que les hôtes appartenant à
<code>votre-reseau.example.com</code> :</p>
<pre class="prettyprint lang-config"><Proxy *>
</Proxy></pre>
- <p>Dans l'exemple suivant, tous les fichiers du répertoire
- <code>foo</code> de <code>example.com</code> seront traités par le
- filtre <code>INCLUDES</code> lorsqu'ils seront envoyés par
- l'intermédiaire du serveur mandataire :</p>
+ <p>Dans l'exemple suivant, tous les fichiers du répertoire
+ <code>foo</code> de <code>example.com</code> seront traités par le
+ filtre <code>INCLUDES</code> lorsqu'ils seront envoyés par
+ l'intermédiaire du serveur mandataire :</p>
<pre class="prettyprint lang-config"><Proxy http://example.com/foo/*>
SetOutputFilter INCLUDES
</Proxy></pre>
- <p>Dans l'exemple suivant, les clients web possédant l'adresse IP
- spécifiée seront autorisés à effectuer des requêtes
- <code>CONNECT</code> pour accéder au serveur
- <code>https://www.example.com/</code>, sous réserve que le module
- <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> soit chargé.
+ <p>Dans l'exemple suivant, les clients web possédant l'adresse IP
+ spécifiée seront autorisés à effectuer des requêtes
+ <code>CONNECT</code> pour accéder au serveur
+ <code>https://www.example.com/</code>, sous réserve que le module
+ <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> soit chargé.
</p>
<pre class="prettyprint lang-config"><Proxy www.example.com:443>
</Proxy></pre>
- <div class="note"><h3>Différences avec la section de configuration Location</h3>
- <p>Une URL d'arrière-plan sera concernée par le conteneur Proxy si
- elle commence par la <var>url-avec-jokers</var>, même si le
- dernier segment de chemin de la directive ne correspond qu'à un
- préfixe de segment dee chemin de l'URL d'arrière-plan. Par exemple, <Proxy
+ <div class="note"><h3>Différences avec la section de configuration Location</h3>
+ <p>Une URL d'arrière-plan sera concernée par le conteneur Proxy si
+ elle commence par la <var>url-avec-jokers</var>, même si le
+ dernier segment de chemin de la directive ne correspond qu'à un
+ préfixe de segment dee chemin de l'URL d'arrière-plan. Par exemple, <Proxy
http://example.com/foo> correspondra entre autres aux URLs
http://example.com/foo, http://example.com/foo/bar, et
http://example.com/foobar. La correspondance de l'URL finale
- diffère du comportement de la section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> qui, pour le cas de cette note,
+ diffère du comportement de la section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> qui, pour le cas de cette note,
traitera le segment de chemin final comme s'il se terminait par un
slash.</p>
- <p>Pour un contrôle plus fin de la correspondance des URL, voir la
+ <p>Pour un contrôle plus fin de la correspondance des URL, voir la
directive <code class="directive"><ProxyMatch></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="proxyaddheaders" id="proxyaddheaders">Directive</a> <a name="ProxyAddHeaders" id="ProxyAddHeaders">ProxyAddHeaders</a><a title="Lien permanent" href="#proxyaddheaders" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute des informations à propos du mandataire aux
-en-têtes X-Forwarded-*</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute des informations à propos du mandataire aux
+en-têtes X-Forwarded-*</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyAddHeaders Off|On</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyAddHeaders On</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyAddHeaders On</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.10</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.10</td></tr>
</table>
- <p>Cette directive permet de passer au serveur d'arrière-plan des
- informations à propos du mandataire via les en-têtes HTTP
+ <p>Cette directive permet de passer au serveur d'arrière-plan des
+ informations à propos du mandataire via les en-têtes HTTP
X-Forwarded-For, X-Forwarded-Host et X-Forwarded-Server.</p>
- <div class="note"><h3>Utilité</h3>
- <p>Cette option n'est utile que dans le cas du mandat HTTP traité
+ <div class="note"><h3>Utilité</h3>
+ <p>Cette option n'est utile que dans le cas du mandat HTTP traité
par <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></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="proxybadheader" id="proxybadheader">Directive</a> <a name="ProxyBadHeader" id="ProxyBadHeader">ProxyBadHeader</a><a title="Lien permanent" href="#proxybadheader" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine la manière de traiter les lignes d'en-tête
-incorrectes d'une réponse</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine la manière de traiter les lignes d'en-tête
+incorrectes d'une réponse</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBadHeader IsError|Ignore|StartBody</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyBadHeader IsError</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyBadHeader IsError</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
</table>
<p>La directive <code class="directive">ProxyBadHeader</code> permet de
- déterminer le comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> lorsqu'il
- reçoit des lignes d'en-tête de réponse dont la syntaxe n'est pas valide (c'est
- à dire ne contenant pas de caractère ':') en provenance du serveur
+ déterminer le comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> lorsqu'il
+ reçoit des lignes d'en-tête de réponse dont la syntaxe n'est pas valide (c'est
+ à dire ne contenant pas de caractère ':') en provenance du serveur
original. Les arguments disponibles sont :</p>
<dl>
<dt><code>IsError</code></dt>
- <dd>Annule la requête et renvoie une réponse de code 502 (mauvaise
- passerelle). C'est le comportement par défaut.</dd>
+ <dd>Annule la requête et renvoie une réponse de code 502 (mauvaise
+ passerelle). C'est le comportement par défaut.</dd>
<dt><code>Ignore</code></dt>
- <dd>Traite les lignes d'en-tête incorrectes comme si elles n'avaient
- pas été envoyées.</dd>
+ <dd>Traite les lignes d'en-tête incorrectes comme si elles n'avaient
+ pas été envoyées.</dd>
<dt><code>StartBody</code></dt>
- <dd>A la réception de la première ligne d'en-tête incorrecte, les
- autres en-têtes sont lus et ce qui reste est traité en tant que
- corps. Ceci facilite la prise en compte des serveurs d'arrière-plan
- bogués qui oublient d'insérer une ligne vide entre les
- en-têtes et le corps.</dd>
+ <dd>A la réception de la première ligne d'en-tête incorrecte, les
+ autres en-têtes sont lus et ce qui reste est traité en tant que
+ corps. Ceci facilite la prise en compte des serveurs d'arrière-plan
+ bogués qui oublient d'insérer une ligne vide entre les
+ en-têtes et le corps.</dd>
</dl>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxyblock" id="proxyblock">Directive</a> <a name="ProxyBlock" id="ProxyBlock">ProxyBlock</a><a title="Lien permanent" href="#proxyblock" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interdit les requêtes mandatées vers certains hôtes</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBlock *|<var>nom d'hôte</var>|<var>nom d'hôte partiel</var>
-[<var>nom d'hôte</var>|<var>nom d'hôte partiel</var>]...</code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interdit les requêtes mandatées vers certains hôtes</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBlock *|<var>nom d'hôte</var>|<var>nom d'hôte partiel</var>
+[<var>nom d'hôte</var>|<var>nom d'hôte partiel</var>]...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
</table>
<p>La directive <code class="directive">ProxyBlock</code> permet d'interdire
- l'accès FTP ou HTTP via le mandataire à certains hôtes en fonction
- d'une correspondance exacte ou partielle avec un nom d'hôte, ou dans
+ l'accès FTP ou HTTP via le mandataire à certains hôtes en fonction
+ d'une correspondance exacte ou partielle avec un nom d'hôte, ou dans
la mesure du possible en fonction d'une comparaison d'adresses IP.</p>
- <p>Chaque paramètre de la directive
+ <p>Chaque paramètre de la directive
<code class="directive">ProxyBlock</code> accepte comme valeur soit
- <code>*</code>, soit une chaîne alphanumérique. Au démarrage, le
- module tente de résoudre toute chaîne alphanumérique depuis un nom
- DNS vers un jeu d'adresses IP, mais toute erreur de DNS est ignorée.</p>
+ <code>*</code>, soit une chaîne alphanumérique. Au démarrage, le
+ module tente de résoudre toute chaîne alphanumérique depuis un nom
+ DNS vers un jeu d'adresses IP, mais toute erreur de DNS est ignorée.</p>
- <p>Si un paramètre a pour valeur "<code>*</code>",
- <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> interdira l'accès à tout site FTP ou
+ <p>Si un paramètre a pour valeur "<code>*</code>",
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> interdira l'accès à tout site FTP ou
HTTP.</p>
- <p>Dans le cas contraire, pour toute requête vers une ressource FTP
+ <p>Dans le cas contraire, pour toute requête vers une ressource FTP
ou HTTP via le mandataire, <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> va comparer le
- nom d'hôte de l'URI de la requête avec chaque chaîne alphanumérique
- spécifiée. Si une chaîne correspond, même partiellement, l'accès est
- refusé. Si aucune chaîne ne correspond, et si un mandataire distant
- (forward) est configuré via la directive
+ nom d'hôte de l'URI de la requête avec chaque chaîne alphanumérique
+ spécifiée. Si une chaîne correspond, même partiellement, l'accès est
+ refusé. Si aucune chaîne ne correspond, et si un mandataire distant
+ (forward) est configuré via la directive
<code class="directive">ProxyRemote</code> ou
- <code class="directive">ProxyRemoteMatch</code>, l'accès est autorisé. Si
- aucun mandataire distant (forward) n'est configuré, l'adresse IP
- correspondant au nom d'hôte de l'URI est comparée à toutes les
- adresses IP résolues au démarrage, et l'accès est refusé si une
- correspondance est trouvée.</p>
+ <code class="directive">ProxyRemoteMatch</code>, l'accès est autorisé. Si
+ aucun mandataire distant (forward) n'est configuré, l'adresse IP
+ correspondant au nom d'hôte de l'URI est comparée à toutes les
+ adresses IP résolues au démarrage, et l'accès est refusé si une
+ correspondance est trouvée.</p>
<p>Notez que les recherches DNS peuvent ralentir le processus de
- démarrage du serveur.</p>
+ démarrage du serveur.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyBlock news.example.com auctions.example.com friends.example.com</pre>
</div>
<p>Notez qu'<code>example</code> suffirait aussi pour atteindre
ces sites.</p>
- <p>Hosts conviendrait aussi s'il était référencé par adresse IP.</p>
+ <p>Hosts conviendrait aussi s'il était référencé par adresse IP.</p>
<p>Notez aussi que</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxydomain" id="proxydomain">Directive</a> <a name="ProxyDomain" id="ProxyDomain">ProxyDomain</a><a title="Lien permanent" href="#proxydomain" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de domaine par défaut pour les requêtes
-mandatées</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de domaine par défaut pour les requêtes
+mandatées</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyDomain <var>Domaine</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
</table>
- <p>Cette directive n'a d'utilité que pour les serveurs mandataires
+ <p>Cette directive n'a d'utilité que pour les serveurs mandataires
Apache httpd au sein d'un Intranet. La directive
- <code class="directive">ProxyDomain</code> permet de spécifier le domaine
- par défaut auquel le serveur mandataire apache appartient. Si le
- serveur reçoit une requête pour un hôte sans nom de domaine, il va
- générer une réponse de redirection vers le même hôte suffixé par le
- <var>Domaine</var> spécifié.</p>
+ <code class="directive">ProxyDomain</code> permet de spécifier le domaine
+ par défaut auquel le serveur mandataire apache appartient. Si le
+ serveur reçoit une requête pour un hôte sans nom de domaine, il va
+ générer une réponse de redirection vers le même hôte suffixé par le
+ <var>Domaine</var> spécifié.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyRemote "*" "http://firewall.example.com:81"
NoProxy ".example.com" "192.168.112.0/21"
<div class="directive-section"><h2><a name="proxyerroroverride" id="proxyerroroverride">Directive</a> <a name="ProxyErrorOverride" id="ProxyErrorOverride">ProxyErrorOverride</a><a title="Lien permanent" href="#proxyerroroverride" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Outrepasser les pages d'erreur pour les contenus
-mandatés</td></tr>
+mandatés</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyErrorOverride On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyErrorOverride Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyErrorOverride Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy</td></tr>
</table>
<p>Cette directive est utile pour les configurations de mandataires
- inverses, lorsque vous souhaitez que les pages d'erreur envoyées
- aux utilisateurs finaux présentent un aspect homogène. Elle permet
+ inverses, lorsque vous souhaitez que les pages d'erreur envoyées
+ aux utilisateurs finaux présentent un aspect homogène. Elle permet
aussi l'inclusion de fichiers (via les SSI de
<code class="module"><a href="../mod/mod_include.html">mod_include</a></code>) pour obtenir le code d'erreur et agir
- en conséquence (le comportement par défaut afficherait la page
- d'erreur du serveur mandaté, alors que c'est le message d'erreur SSI
- qui sera affiché si cette directive est à "on").</p>
+ en conséquence (le comportement par défaut afficherait la page
+ d'erreur du serveur mandaté, alors que c'est le message d'erreur SSI
+ qui sera affiché si cette directive est à "on").</p>
- <p>Cette directive n'affecte pas le traitement des réponses
- informatives (1xx), de type succès normal (2xx), ou de redirection
+ <p>Cette directive n'affecte pas le traitement des réponses
+ informatives (1xx), de type succès normal (2xx), ou de redirection
(3xx).</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="proxyiobuffersize" id="proxyiobuffersize">Directive</a> <a name="ProxyIOBufferSize" id="ProxyIOBufferSize">ProxyIOBufferSize</a><a title="Lien permanent" href="#proxyiobuffersize" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine la taille du tampon interne de transfert de
-données</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine la taille du tampon interne de transfert de
+données</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyIOBufferSize <var>octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyIOBufferSize 8192</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyIOBufferSize 8192</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
</table>
<p>La directive <code class="directive">ProxyIOBufferSize</code> permet
- d'ajuster la taille du tampon interne utilisé comme bloc-note pour
- les transferts de données entre entrée et sortie. La taille minimale
+ d'ajuster la taille du tampon interne utilisé comme bloc-note pour
+ les transferts de données entre entrée et sortie. La taille minimale
est de <code>512</code> octets.</p>
<p>Dans la plupart des cas, il n'y a aucune raison de modifier cette
valeur.</p>
- <p>Si elle est utilisée avec AJP, cette directive permet de définir
- la taille maximale du paquet AJP en octets. Si la valeur spécifiée
- est supérieure à 65536, elle est corrigée et prend la valeur 65536.
+ <p>Si elle est utilisée avec AJP, cette directive permet de définir
+ la taille maximale du paquet AJP en octets. Si la valeur spécifiée
+ est supérieure à 65536, elle est corrigée et prend la valeur 65536.
Si vous ne conservez pas
- la valeur par défaut, vous devez aussi modifier l'attribut
- <code>packetSize</code> de votre connecteur AJP du côté de Tomcat !
+ la valeur par défaut, vous devez aussi modifier l'attribut
+ <code>packetSize</code> de votre connecteur AJP du côté de Tomcat !
L'attribut <code>packetSize</code> n'est disponible que dans Tomcat
<code>5.5.20+</code> et <code>6.0.2+</code>.</p>
- <p>Il n'est normalement pas nécessaire de modifier la taille
- maximale du paquet. Des problèmes ont cependant été rapportés avec
- la valeur par défaut lors de l'envoi de certificats ou de chaînes de
+ <p>Il n'est normalement pas nécessaire de modifier la taille
+ maximale du paquet. Des problèmes ont cependant été rapportés avec
+ la valeur par défaut lors de l'envoi de certificats ou de chaînes de
certificats.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxymatch" id="proxymatch">Directive</a> <a name="ProxyMatch" id="ProxyMatch"><ProxyMatch></a><a title="Lien permanent" href="#proxymatch" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conteneur de directives s'appliquant à des ressources
-mandatées correspondant à une expression rationnelle</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conteneur de directives s'appliquant à des ressources
+mandatées correspondant à une expression rationnelle</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><ProxyMatch <var>regex</var>> ...</ProxyMatch></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
</table>
<p>La directive <code class="directive"><ProxyMatch></code> est
- identique à la directive <code class="directive"><a href="#proxy"><Proxy></a></code>, à l'exception qu'elle définit
+ identique à la directive <code class="directive"><a href="#proxy"><Proxy></a></code>, à l'exception qu'elle définit
les URLs auxquelles elle s'applique en utilisant une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>.</p>
- <p>A partir de la version 2.4.8, les groupes nommés et les
- références arrières sont extraits et enregistrés dans
- l'environnement avec leur nom en majuscules et préfixé par "MATCH_". Ceci permet
- de référencer des URLs dans des <a href="../expr.html">expressions</a>
+ <p>A partir de la version 2.4.8, les groupes nommés et les
+ références arrières sont extraits et enregistrés dans
+ l'environnement avec leur nom en majuscules et préfixé par "MATCH_". Ceci permet
+ de référencer des URLs dans des <a href="../expr.html">expressions</a>
ou au sein de modules comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pour
- éviter toute confusion, les références arrières numérotées (non
- nommées) sont ignorées. Vous devez utiliser à la place des groupes
- nommés.</p>
+ éviter toute confusion, les références arrières numérotées (non
+ nommées) sont ignorées. Vous devez utiliser à la place des groupes
+ nommés.</p>
<pre class="prettyprint lang-config"><ProxyMatch ^http://(?<sitename>[^/]+)>
require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxymaxforwards" id="proxymaxforwards">Directive</a> <a name="ProxyMaxForwards" id="ProxyMaxForwards">ProxyMaxForwards</a><a title="Lien permanent" href="#proxymaxforwards" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de mandataires à travers lesquelles une
-requête peut être redirigée</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de mandataires à travers lesquelles une
+requête peut être redirigée</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyMaxForwards <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyMaxForwards -1</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyMaxForwards -1</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
</table>
<p>La directive <code class="directive">ProxyMaxForwards</code> permet de
- spécifier le nombre maximum de mandataires à travers lesquels une
- requête peut passer dans le cas où la la requête ne contient pas
- d'en-tête <code>Max-Forwards</code>. Ceci permet de se prémunir
+ spécifier le nombre maximum de mandataires à travers lesquels une
+ requête peut passer dans le cas où la la requête ne contient pas
+ d'en-tête <code>Max-Forwards</code>. Ceci permet de se prémunir
contre les boucles infinies de mandataires ou contre les attaques de
- type déni de service.</p>
+ type déni de service.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyMaxForwards 15</pre>
</div>
- <p>Notez que la définition de la directive
+ <p>Notez que la définition de la directive
<code class="directive">ProxyMaxForwards</code> constitue une violation du
- protocole HTTP/1.1 (RFC2616), qui interdit à un mandataire de
- définir <code>Max-Forwards</code> si le client ne l'a pas fait
- lui-même. Les versions précédentes d'Apache httpd la définissaient
- systématiquement. Une valeur négative de
+ protocole HTTP/1.1 (RFC2616), qui interdit à un mandataire de
+ définir <code>Max-Forwards</code> si le client ne l'a pas fait
+ lui-même. Les versions précédentes d'Apache httpd la définissaient
+ systématiquement. Une valeur négative de
<code class="directive">ProxyMaxForwards</code>, y compris la valeur par
- défaut -1, implique un comportement compatible avec le protocole,
+ défaut -1, implique un comportement compatible avec le protocole,
mais vous expose aux bouclages infinis.</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="proxypass" id="proxypass">Directive</a> <a name="ProxyPass" id="ProxyPass">ProxyPass</a><a title="Lien permanent" href="#proxypass" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Référencer des serveurs distants depuis
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Référencer des serveurs distants depuis
l'espace d'URLs du serveur local</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPass [<var>chemin</var>] !|<var>url</var> [<var>clé=valeur</var>
- <var>[clé=valeur</var> ...]] [nocanon] [interpolate] [noquery]</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPass [<var>chemin</var>] !|<var>url</var> [<var>clé=valeur</var>
+ <var>[clé=valeur</var> ...]] [nocanon] [interpolate] [noquery]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les Sockets de style Unix (Unix Domain Socket - UDS) sont supportés à partir
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les Sockets de style Unix (Unix Domain Socket - UDS) sont supportés à partir
de la version 2.4.7 du serveur HTTP Apache</td></tr>
</table>
- <p>Cette directive permet de référencer des serveurs distants depuis
+ <p>Cette directive permet de référencer des serveurs distants depuis
l'espace d'URLs du serveur local ; le serveur
local n'agit pas en tant que mandataire au sens conventionnel, mais
- plutôt comme miroir du serveur distant. Le serveur local est
- souvent nommé <dfn>mandataire inverse</dfn> ou
+ plutôt comme miroir du serveur distant. Le serveur local est
+ souvent nommé <dfn>mandataire inverse</dfn> ou
<dfn>passerelle</dfn>. L'argument <var>chemin</var> est le nom d'un
chemin virtuel local ; <var>url</var> est une URL partielle pour le
- serveur distant et ne doit pas contenir de chaîne d'arguments.</p>
+ serveur distant et ne doit pas contenir de chaîne d'arguments.</p>
- <div class="note">Il est fortement recommandé de revoir le concept de <a href="#workers">Worker</a> avant d'aller plus loin.</div>
+ <div class="note">Il est fortement recommandé de revoir le concept de <a href="#workers">Worker</a> avant d'aller plus loin.</div>
- <div class="note">Cette directive n'est pas supportée au sein
+ <div class="note">Cette directive n'est pas supportée au sein
des sections <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
et <code class="directive"><a href="../mod/core.html#files"><Files></a></code>.</div>
- <div class="warning">En général, la directive <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> doit être définie à
+ <div class="warning">En général, la directive <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> doit être définie à
<strong>off</strong> lorsqu'on utilise la directive
<code class="directive">ProxyPass</code>.</div>
- <p>Les sockets de style Unix sont supportés à partir de la version
- 2.4.7 du serveur HTTP Apache ; pour utiliser cette fonctionnalité,
- il suffit d'utiliser une URL cible préfixée par
+ <p>Les sockets de style Unix sont supportés à partir de la version
+ 2.4.7 du serveur HTTP Apache ; pour utiliser cette fonctionnalité,
+ il suffit d'utiliser une URL cible préfixée par
<code>unix:/path/lis.sock|</code>. Par exemple, pour mandater HTTP
et cibler l'UDS /home/www/socket, vous devez utiliser
<code>unix:/home/www.socket|http://localhost/whatever/</code>. Comme
- le socket est local, le nom d'hôte utilisé (ici
- <code>localhost</code>) peut être sujet à discussion, mais il est
- transmis dans l'en-tête Host: de la requête.</p>
+ le socket est local, le nom d'hôte utilisé (ici
+ <code>localhost</code>) peut être sujet à discussion, mais il est
+ transmis dans l'en-tête Host: de la requête.</p>
- <div class="note"><strong>Note :</strong>Le chemin associé à l'URL
+ <div class="note"><strong>Note :</strong>Le chemin associé à l'URL
<code>unix:</code> tient compte de la directive
<code class="directive">DefaultRuntimeDir</code>.</div>
- <div class="note"><strong>Note :</strong>Afin d'éviter l'échappement du
- caractère <code>'|'</code>, la directive
- <code class="directive">RewriteRule</code> doit posséder l'option
+ <div class="note"><strong>Note :</strong>Afin d'éviter l'échappement du
+ caractère <code>'|'</code>, la directive
+ <code class="directive">RewriteRule</code> doit posséder l'option
<code>[P,NE]</code>.</div>
- <p>Lorsque la directive ProxyPass est utilisée à l'intérieur d'une
- section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, le premier argument est omis et le répertoire
- local est obtenu à partir de la section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>. Il en sera de même dans une
+ <p>Lorsque la directive ProxyPass est utilisée à l'intérieur d'une
+ section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, le premier argument est omis et le répertoire
+ local est obtenu à partir de la section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>. Il en sera de même dans une
section <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> ; cependant, ProxyPass
- n'interprète pas les expressions rationnelles, et il sera ici
- nécessaire d'utiliser la directive
- <code class="directive">ProxyPassMatch</code> à la place.</p>
+ n'interprète pas les expressions rationnelles, et il sera ici
+ nécessaire d'utiliser la directive
+ <code class="directive">ProxyPassMatch</code> à la place.</p>
<p>Supposons que le serveur local a pour adresse
<code>http://example.com/</code> ; alors la ligne</p>
</Location></pre>
- <p>va convertir en interne toute requête pour
- <code>http://example.com/mirror/foo/bar</code> en une requête
- mandatée pour <code>http://backend.example.com/bar</code>.</p>
+ <p>va convertir en interne toute requête pour
+ <code>http://example.com/mirror/foo/bar</code> en une requête
+ mandatée pour <code>http://backend.example.com/bar</code>.</p>
<p>Si vous avez besoin d'un configuration de mandataire inverse plus
- souple, reportez-vous à la documentation de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> et son drapeau
+ souple, reportez-vous à la documentation de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> et son drapeau
<code>[P]</code>.</p>
<p>La syntaxe alternative suivante est valide, bien qu'elle puisse
- induire une dégradation des performances lorsqu'elle est
- présente en très grand nombre. Elle possède l'avantage de
- permettre un contrôle dynamique via l'interface <a href="mod_proxy_balancer.html#balancer_manager">Balancer Manager</a> :</p>
+ induire une dégradation des performances lorsqu'elle est
+ présente en très grand nombre. Elle possède l'avantage de
+ permettre un contrôle dynamique via l'interface <a href="mod_proxy_balancer.html#balancer_manager">Balancer Manager</a> :</p>
<pre class="prettyprint lang-config">ProxyPass "/mirror/foo/" "http://backend.example.com/"</pre>
<div class="warning">
<p>Si le premier argument se termine par un slash
- <strong>/</strong>, il doit en être de même pour le second argument
+ <strong>/</strong>, il doit en être de même pour le second argument
et vice versa. Dans le cas contraire, il risque de manquer des
- slashes nécessaires dans la requête résultante vers le serveur
- d'arrière-plan et les résulats ne seront pas ceux attendus.
+ slashes nécessaires dans la requête résultante vers le serveur
+ d'arrière-plan et les résulats ne seront pas ceux attendus.
</p>
</div>
- <p>Le drapeau <code>!</code> permet de soustraire un sous-répertoire
+ <p>Le drapeau <code>!</code> permet de soustraire un sous-répertoire
du mandat inverse, comme dans l'exemple suivant :</p>
<pre class="prettyprint lang-config"><Location "/mirror/foo/">
ProxyPass "/mirror/foo" "http://backend.example.com"</pre>
- <p>va mandater toutes les requêtes pour <code>/mirror/foo</code>
- vers <code>backend.example.com</code>, <em>sauf</em> les requêtes
+ <p>va mandater toutes les requêtes pour <code>/mirror/foo</code>
+ vers <code>backend.example.com</code>, <em>sauf</em> les requêtes
pour <code>/mirror/foo/i</code>.</p>
- <p>Mélanger plusieurs configurations ProxyPass dans différents contextes ne
+ <p>Mélanger plusieurs configurations ProxyPass dans différents contextes ne
fonctionne pas :</p>
<pre class="prettyprint lang-config">ProxyPass "/mirror/foo/i" "!"
<Location "/mirror/foo/">
ProxyPass "http://backend.example.com/"
</Location></pre>
- <p>Dans ce cas, une requête pour <code>/mirror/foo/i</code> sera tout de
- même mandatée car c'est la directive <code class="directive">ProxyPass</code> de la
- section Location qui sera évaluée en premier. Le fait que la directive
+ <p>Dans ce cas, une requête pour <code>/mirror/foo/i</code> sera tout de
+ même mandatée car c'est la directive <code class="directive">ProxyPass</code> de la
+ section Location qui sera évaluée en premier. Le fait que la directive
<code class="directive">ProxyPass</code> supporte les deux contextes serveur
- principal et répertoire ne signifie pas que sa portée et sa position dans le
- fichier de configuration va garantir une quelconque priorité et/ou
+ principal et répertoire ne signifie pas que sa portée et sa position dans le
+ fichier de configuration va garantir une quelconque priorité et/ou
chronologie de prise en compte.</p>
<div class="warning"><h3>Ordre de classement des directives ProxyPass</h3>
- <p>Les directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> et <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> sont évaluées dans
+ <p>Les directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> et <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> sont évaluées dans
l'ordre de leur apparition dans le fichier de configuration. La
- première règle qui correspond s'applique. Vous devez donc en
- général classer les règles <code class="directive"><a href="#proxypass">ProxyPass</a></code> qui entrent en conflit de
- l'URL la plus longue à la plus courte. Dans le cas contraire, les
- règles situées après une règle dont l'URL correspond au début de
- leur propre URL seront ignorées. Notez que tout ceci est en
+ première règle qui correspond s'applique. Vous devez donc en
+ général classer les règles <code class="directive"><a href="#proxypass">ProxyPass</a></code> qui entrent en conflit de
+ l'URL la plus longue à la plus courte. Dans le cas contraire, les
+ règles situées après une règle dont l'URL correspond au début de
+ leur propre URL seront ignorées. Notez que tout ceci est en
relation avec le partage de workers.</p>
</div>
<p>On ne peut placer
qu'une seule directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> dans une section
<code class="directive"><a href="../mod/core.html#location">Location</a></code>, et c'est la section
- la plus spécifique qui l'emportera.</p>
+ la plus spécifique qui l'emportera.</p>
</div>
<div class="warning"><h3>Exclusions et variable d'environnement no-proxy</h3>
<p>Les exclusions doivent se situer <em>avant</em>
- les directives <code class="directive">ProxyPass</code> générales. A partir de la
+ les directives <code class="directive">ProxyPass</code> générales. A partir de la
version 2.4.26 du serveur HTTP Apache, la variable
d'environnement "no-proxy" est une alternative aux exclusions et constitue
le seul moyen de configurer une exclusion pour une directive
- <code class="directive">ProxyPass</code> dans le contexte d'une section <code class="directive"><a href="../mod/core.html#location">Location</a></code>. Cette variable doit être définie via
+ <code class="directive">ProxyPass</code> dans le contexte d'une section <code class="directive"><a href="../mod/core.html#location">Location</a></code>. Cette variable doit être définie via
la directive <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> car la
- directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> n'est pas évaluée
- assez tôt.</p>
+ directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> n'est pas évaluée
+ assez tôt.</p>
</div>
- <p><strong>ProxyPass <code>clé=valeur</code> Paramètres</strong></p>
+ <p><strong>ProxyPass <code>clé=valeur</code> Paramètres</strong></p>
<p>Depuis la version 2.1 du serveur HTTP Apache, mod_proxy supporte
- les groupements de connexions vers un serveur d'arrière-plan. Les
- connexions créées à la demande peuvent être enregistrées dans un
- groupement pour une utilisation ultérieure. La taille du groupe
- ainsi que d'autres caractéristiques peuvent être définies via la
- directive <code class="directive">ProxyPass</code> au moyen de paramètres
- <code>clé=valeur</code> dont la description fait l'objet du tableau
+ les groupements de connexions vers un serveur d'arrière-plan. Les
+ connexions créées à la demande peuvent être enregistrées dans un
+ groupement pour une utilisation ultérieure. La taille du groupe
+ ainsi que d'autres caractéristiques peuvent être définies via la
+ directive <code class="directive">ProxyPass</code> au moyen de paramètres
+ <code>clé=valeur</code> dont la description fait l'objet du tableau
ci-dessous.</p>
<div class="warning"><h3>Nombre maximum de connexions vers
- l'arrière-plan</h3>
- <p>Par défaut, mod_proxy permet et met en réserve le
- nombre maximum de connexions pouvant être utilisées simultanément par le
- processus enfant concerné du serveur web. Le paramètre <code>max</code>
- permet de réduire cette valeur par défaut. Le jeu de connexions est maintenu
+ l'arrière-plan</h3>
+ <p>Par défaut, mod_proxy permet et met en réserve le
+ nombre maximum de connexions pouvant être utilisées simultanément par le
+ processus enfant concerné du serveur web. Le paramètre <code>max</code>
+ permet de réduire cette valeur par défaut. Le jeu de connexions est maintenu
au niveau de chaque processus enfant du serveur web, <code>max</code> et les
- autres réglages n'étant pas coordonnés entre ces différents processus, sauf
- bien entendu lorsqu'un seul processus enfant n'est autorisé par la
- configuration ou le MPM utilisé.</p> </div>
+ autres réglages n'étant pas coordonnés entre ces différents processus, sauf
+ bien entendu lorsqu'un seul processus enfant n'est autorisé par la
+ configuration ou le MPM utilisé.</p> </div>
- <p>Le paramètre <code>ttl</code>, quant à lui, permet de définir une durée
- de vie optionnelle ; les connexions qui n'ont pas été utilisées pendant au
- moins <code>ttl</code> secondes seront fermées. <code>ttl</code> permet
- aussi d'empêcher l'utilisation d'une connexion susceptible d'être fermée
- suite à une fin de vie de connexion persistante sur le serveur
- d'arrière-plan.</p>
+ <p>Le paramètre <code>ttl</code>, quant à lui, permet de définir une durée
+ de vie optionnelle ; les connexions qui n'ont pas été utilisées pendant au
+ moins <code>ttl</code> secondes seront fermées. <code>ttl</code> permet
+ aussi d'empêcher l'utilisation d'une connexion susceptible d'être fermée
+ suite à une fin de vie de connexion persistante sur le serveur
+ d'arrière-plan.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyPass "/example" "http://backend.example.com" max=20 ttl=120 retry=300</pre>
</div>
- <table class="bordered"><tr><th>Paramètres du worker (directive BalancerMember)</th></tr></table>
+ <table class="bordered"><tr><th>Paramètres du worker (directive BalancerMember)</th></tr></table>
<table>
- <tr><th>Paramètre</th>
- <th>Défaut</th>
+ <tr><th>Paramètre</th>
+ <th>Défaut</th>
<th>Description</th></tr>
<tr><td>min</td>
<td>0</td>
- <td>Nombre minimum d'entrées dans le pool de connexions,
- distinct du nombre de connexions effectif. La valeur par défaut
- ne doit être modifiée que dans des circonstances particulières
- où la mémoire associée aux connexions avec le serveur
- d'arrière-plan doit être préallouée ou réservée dans le tas.</td></tr>
+ <td>Nombre minimum d'entrées dans le pool de connexions,
+ distinct du nombre de connexions effectif. La valeur par défaut
+ ne doit être modifiée que dans des circonstances particulières
+ où la mémoire associée aux connexions avec le serveur
+ d'arrière-plan doit être préallouée ou réservée dans le tas.</td></tr>
<tr><td>max</td>
<td>1...n</td>
- <td>Nombre maximum de connexions autorisées vers le serveur
- d'arrière-plan. La valeur par défaut correspond au nombre de
+ <td>Nombre maximum de connexions autorisées vers le serveur
+ d'arrière-plan. La valeur par défaut correspond au nombre de
threads par processus pour le MPM (Module Multi Processus)
actif. La valeur sera toujours 1 pour le MPM Prefork, alors
- qu'elle dépendra de la définition de la directive
+ qu'elle dépendra de la définition de la directive
<code class="directive">ThreadsPerChild</code> pour les autres MPMs.</td></tr>
<tr><td>smax</td>
<td>max</td>
- <td>Les entrées du pool de connexions conservées au delà de
- cette limite sont libérées au cours de certaines opérations si
- elles n'ont pas été utilisées au cours de leur durée de vie,
- définie par le paramètre <code>ttl</code>. Si l'entrée du pool
- de connexions est associée à une connexion, cette dernière sera
- fermée. La valeur par défaut ne doit être modifiée que dans des
- circonstances particulières où les entrées du pool de connexions
- et toutes connexions associées qui ont dépassé leur durée de vie
- doivent être libérées ou fermées de manière plus autoritaire.</td></tr>
+ <td>Les entrées du pool de connexions conservées au delà de
+ cette limite sont libérées au cours de certaines opérations si
+ elles n'ont pas été utilisées au cours de leur durée de vie,
+ définie par le paramètre <code>ttl</code>. Si l'entrée du pool
+ de connexions est associée à une connexion, cette dernière sera
+ fermée. La valeur par défaut ne doit être modifiée que dans des
+ circonstances particulières où les entrées du pool de connexions
+ et toutes connexions associées qui ont dépassé leur durée de vie
+ doivent être libérées ou fermées de manière plus autoritaire.</td></tr>
<tr><td>acquire</td>
<td>-</td>
- <td>Cette clé permet de définir le délai maximum d'attente pour
+ <td>Cette clé permet de définir le délai maximum d'attente pour
une connexion libre dans le jeu de connexions, en millisecondes.
S'il n'y a pas de connexion libre dans le jeu, Apache httpd renverra
- l'état <code>SERVER_BUSY</code> au client.
+ l'état <code>SERVER_BUSY</code> au client.
</td></tr>
<tr><td>connectiontimeout</td>
<td>timeout</td>
- <td>Délai d'attente d'une connexion en secondes.
- La durée en secondes pendant laquelle Apache httpd va attendre pour
- l'établissement d'une connexion vers le serveur d'arrière-plan.
- Le délai peut être spécifié en millisecondes en ajoutant le
+ <td>Délai d'attente d'une connexion en secondes.
+ La durée en secondes pendant laquelle Apache httpd va attendre pour
+ l'établissement d'une connexion vers le serveur d'arrière-plan.
+ Le délai peut être spécifié en millisecondes en ajoutant le
suffixe ms. Utilise la syntaxe <a href="directive-dict.html#Syntax">time-interval</a>.
</td></tr>
<tr><td>disablereuse</td>
<td>Off</td>
- <td>Vous pouvez utiliser cette clé pour forcer mod_proxy à
- fermer immédiatement une connexion vers le serveur
- d'arrière-plan après utilisation, et ainsi désactiver le jeu de
- connexions permanentes vers ce serveur. Ceci peut s'avérer utile
- dans des situations où un pare-feu situé entre Apache httpd et le
- serveur d'arrière-plan (quelque soit le protocole) interrompt
- des connexions de manière silencieuse, ou lorsque le serveur
- d'arrière-plan lui-même est accessible par rotation de DNS
- (round-robin DNS). Lorsque la réutilisation des connexions est activée,
- chaque domaine d'arrière-plan n'est résolu (via une requête DNS) qu'une
+ <td>Vous pouvez utiliser cette clé pour forcer mod_proxy à
+ fermer immédiatement une connexion vers le serveur
+ d'arrière-plan après utilisation, et ainsi désactiver le jeu de
+ connexions permanentes vers ce serveur. Ceci peut s'avérer utile
+ dans des situations où un pare-feu situé entre Apache httpd et le
+ serveur d'arrière-plan (quelque soit le protocole) interrompt
+ des connexions de manière silencieuse, ou lorsque le serveur
+ d'arrière-plan lui-même est accessible par rotation de DNS
+ (round-robin DNS). Lorsque la réutilisation des connexions est activée,
+ chaque domaine d'arrière-plan n'est résolu (via une requête DNS) qu'une
seule fois par chaque processus enfant et mis en cache pour toutes les
- connexions ultérieures jusqu'au recyclage du processus concerné.
- Pour désactiver la réutilisation du jeu de
- connexions, définissez cette clé à <code>On</code>.
+ connexions ultérieures jusqu'au recyclage du processus concerné.
+ Pour désactiver la réutilisation du jeu de
+ connexions, définissez cette clé à <code>On</code>.
</td></tr>
<tr><td>enablereuse</td>
<td>On</td>
- <td>Fournie à l'intention des gestionnaires de projet
- qui nécessitent un accord pour la réutilisation des connexions
+ <td>Fournie à l'intention des gestionnaires de projet
+ qui nécessitent un accord pour la réutilisation des connexions
(tels que <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>),
cette option est l'inverse de l'option 'disablereuse' ci-dessus.
</td></tr>
<tr><td>flushpackets</td>
<td>off</td>
- <td>Permet de définir si le module mandataire doit vider
- automatiquement le tampon de sortie après chaque tronçon de
- données. 'off' signifie que le tampon sera vidé si nécessaire,
- 'on' que le tampon sera vidé après chaque envoi d'un
- tronçon de données, et 'auto' que le tampon sera vidé après un
- délai de 'flushwait' millisecondes si aucune entrée n'est reçue.
- Actuellement, cette clé n'est supportée que par mod_proxy_ajp et
+ <td>Permet de définir si le module mandataire doit vider
+ automatiquement le tampon de sortie après chaque tronçon de
+ données. 'off' signifie que le tampon sera vidé si nécessaire,
+ 'on' que le tampon sera vidé après chaque envoi d'un
+ tronçon de données, et 'auto' que le tampon sera vidé après un
+ délai de 'flushwait' millisecondes si aucune entrée n'est reçue.
+ Actuellement, cette clé n'est supportée que par mod_proxy_ajp et
mod_proxy_fcgi.
</td></tr>
<tr><td>flushwait</td>
<td>10</td>
- <td>Le délai d'attente pour une entrée additionnelle, en
+ <td>Le délai d'attente pour une entrée additionnelle, en
millisecondes, avant le vidage du tampon en sortie dans le cas
- où 'flushpackets' est à 'auto'. Utilise la syntaxe <a href="directive-dict.html#Syntax">time-interval</a>.
+ où 'flushpackets' est à 'auto'. Utilise la syntaxe <a href="directive-dict.html#Syntax">time-interval</a>.
</td></tr>
<tr><td>iobuffersize</td>
<td>8192</td>
- <td>Permet de définir la taille du tampon d'entrées/sorties du
- bloc-notes interne. Cette clé vous permet d'outrepasser la
+ <td>Permet de définir la taille du tampon d'entrées/sorties du
+ bloc-notes interne. Cette clé vous permet d'outrepasser la
directive <code class="directive">ProxyIOBufferSize</code> pour un
- serveur cible spécifique. La valeur doit être au minimum 512 ou définie
- à 0 pour la valeur par défaut du système de 8192.
+ serveur cible spécifique. La valeur doit être au minimum 512 ou définie
+ à 0 pour la valeur par défaut du système de 8192.
</td></tr>
<tr><td>responsefieldsize</td>
<td>8192</td>
- <td>Contrôle la taille du tampon pour le champ de la réponse mandatée.
- Cette taille doit être au moins égale à la taille attendue du plus grand
- en-tête d'une réponse mandatée. Une valeur de 0 implique l'utilisation
- de la valeur par défaut du système, à savoir 8192 octets.<br />
- Disponible à partir de la version 2.4.34 du serveur HTTP Apache.
+ <td>Contrôle la taille du tampon pour le champ de la réponse mandatée.
+ Cette taille doit être au moins égale à la taille attendue du plus grand
+ en-tête d'une réponse mandatée. Une valeur de 0 implique l'utilisation
+ de la valeur par défaut du système, à savoir 8192 octets.<br />
+ Disponible à partir de la version 2.4.34 du serveur HTTP Apache.
</td></tr>
<tr><td>keepalive</td>
<td>Off</td>
- <td><p>Cette clé doit être utilisée lorsque vous avez un pare-feu
- entre Apache httpd et le serveur d'arrière-plan, et si ce dernier tend
- à interrompre les connexions inactives. Cette clé va faire en
- sorte que le système d'exploitation envoie des messages
+ <td><p>Cette clé doit être utilisée lorsque vous avez un pare-feu
+ entre Apache httpd et le serveur d'arrière-plan, et si ce dernier tend
+ à interrompre les connexions inactives. Cette clé va faire en
+ sorte que le système d'exploitation envoie des messages
<code>KEEP_ALIVE</code> sur chacune des connexions inactives et
- ainsi éviter la fermeture de la connexion par le pare-feu.
+ ainsi éviter la fermeture de la connexion par le pare-feu.
Pour conserver les connexions persistantes, definissez cette
- propriété à <code>On</code>.</p>
- <p>La fréquence de vérification des connexions TCP persistantes
- initiale et subséquentes dépend de la configuration globale de l'OS,
- et peut atteindre 2 heures. Pour être utile, la fréquence configurée
- dans l'OS doit être inférieure au seuil utilisé par le pare-feu. Utilise la
+ propriété à <code>On</code>.</p>
+ <p>La fréquence de vérification des connexions TCP persistantes
+ initiale et subséquentes dépend de la configuration globale de l'OS,
+ et peut atteindre 2 heures. Pour être utile, la fréquence configurée
+ dans l'OS doit être inférieure au seuil utilisé par le pare-feu. Utilise la
syntaxe <a href="directive-dict.html#Syntax">time-interval</a>.</p>
</td></tr>
<tr><td>lbset</td>
<td>0</td>
- <td>Définit le groupe de répartition de charge dont le serveur cible
- est membre. Le répartiteur de charge va essayer tous les membres
- d'un groupe de répartition de charge de numéro inférieur avant
- d'essayer ceux dont le groupe possède un numéro supérieur.
+ <td>Définit le groupe de répartition de charge dont le serveur cible
+ est membre. Le répartiteur de charge va essayer tous les membres
+ d'un groupe de répartition de charge de numéro inférieur avant
+ d'essayer ceux dont le groupe possède un numéro supérieur.
</td></tr>
<tr><td>ping</td>
<td>0</td>
- <td>Avec la clé Ping, le serveur web va "tester" la connexion
- vers le serveur d'arrière-plan avant de transmettre la requête.
- Pour les valeurs négatives, le test est une simple vérification
+ <td>Avec la clé Ping, le serveur web va "tester" la connexion
+ vers le serveur d'arrière-plan avant de transmettre la requête.
+ Pour les valeurs négatives, le test est une simple vérification
de socket, alors que pour les valeurs positives, il s'agit d'une
- vérification plus approfondie dépendant du protocole.
- Avec AJP, <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> envoie une requête
- <code>CPING</code> sur la connexion ajp13 (implémenté sur Tomcat
+ vérification plus approfondie dépendant du protocole.
+ Avec AJP, <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> envoie une requête
+ <code>CPING</code> sur la connexion ajp13 (implémenté sur Tomcat
3.3.2+, 4.1.28+ et 5.0.13+). Avec HTTP,
<code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> envoie <code>100-Continue</code>
- au serveur d'arrière-plan (seulement avecHTTP/1.1 - pour les
- serveurs d'arrière-plan non HTTP/1.1, cette clé ne produit
- aucun effet). Dans les deux cas, ce paramètre correspond au
- délai en secondes pour l'attente de la réponse. Cette
- fonctionnalité a été ajoutée pour éviter les problèmes avec les
- serveurs d'arrière-plan bloqués ou surchargés.
+ au serveur d'arrière-plan (seulement avecHTTP/1.1 - pour les
+ serveurs d'arrière-plan non HTTP/1.1, cette clé ne produit
+ aucun effet). Dans les deux cas, ce paramètre correspond au
+ délai en secondes pour l'attente de la réponse. Cette
+ fonctionnalité a été ajoutée pour éviter les problèmes avec les
+ serveurs d'arrière-plan bloqués ou surchargés.
Le trafic
- réseau peut s'en trouver augmenté en fonctionnement normal, ce
- qui peut poser problème, mais peut s'en trouver diminué dans les
- cas où les noeuds de cluster sont arrêtés ou
- surchargés. Le délai peut
- aussi être défini en millisecondes en ajoutant le suffixe
+ réseau peut s'en trouver augmenté en fonctionnement normal, ce
+ qui peut poser problème, mais peut s'en trouver diminué dans les
+ cas où les noeuds de cluster sont arrêtés ou
+ surchargés. Le délai peut
+ aussi être défini en millisecondes en ajoutant le suffixe
ms. Utilise la syntaxe <a href="directive-dict.html#Syntax">time-interval</a>.
</td></tr>
<tr><td>receivebuffersize</td>
<td>0</td>
- <td>Définit la taille du tampon réseau explicite (TCP/IP) pour
- les connexions mandatées. Cette clé vous permet d'outrepasser la
+ <td>Définit la taille du tampon réseau explicite (TCP/IP) pour
+ les connexions mandatées. Cette clé vous permet d'outrepasser la
directive <code class="directive">ProxyReceiveBufferSize</code> pour un
- serveur cible spécifique. Sa valeur doit être au minimum 512 ou définie
- à 0 pour la valeur par défaut du système.
+ serveur cible spécifique. Sa valeur doit être au minimum 512 ou définie
+ à 0 pour la valeur par défaut du système.
</td></tr>
<tr><td>redirect</td>
<td>-</td>
<td>Route pour la redirection du serveur cible. Cette valeur est en
- général définie dynamiquement pour permettre une suppression
- sécurisée du noeud du cluster. Si cette clé est définie, toutes
- les requêtes sans identifiant de session seront redirigées vers
- le membre de groupe de répartition de charge dont la route
- correspond à la valeur de la clé.
+ général définie dynamiquement pour permettre une suppression
+ sécurisée du noeud du cluster. Si cette clé est définie, toutes
+ les requêtes sans identifiant de session seront redirigées vers
+ le membre de groupe de répartition de charge dont la route
+ correspond à la valeur de la clé.
</td></tr>
<tr><td>retry</td>
<td>60</td>
- <td>Délai entre deux essais du serveur cible du jeu de connexions en
+ <td>Délai entre deux essais du serveur cible du jeu de connexions en
secondes. Si le serveur cible du jeu de connexions vers le serveur
- d'arrière-plan est dans un état d'erreur, Apache httpd ne redirigera
- pas de requête vers ce serveur avant l'expiration du délai
- spécifié. Ceci permet d'arrêter le serveur d'arrière-plan pour
+ d'arrière-plan est dans un état d'erreur, Apache httpd ne redirigera
+ pas de requête vers ce serveur avant l'expiration du délai
+ spécifié. Ceci permet d'arrêter le serveur d'arrière-plan pour
maintenance, et de le remettre en ligne plus tard. Une valeur de
- 0 implique de toujours essayer les serveurs cibles dans un état d'erreur
- sans délai. Utilise la syntaxe <a href="directive-dict.html#Syntax">time-interval</a>.
+ 0 implique de toujours essayer les serveurs cibles dans un état d'erreur
+ sans délai. Utilise la syntaxe <a href="directive-dict.html#Syntax">time-interval</a>.
</td></tr>
<tr><td>route</td>
<td>-</td>
- <td>La route du serveur cible lorsqu'il est utilisé au sein d'un
- répartiteur de charge. La route est une valeur ajoutée à
+ <td>La route du serveur cible lorsqu'il est utilisé au sein d'un
+ répartiteur de charge. La route est une valeur ajoutée à
l'identifiant de session.
</td></tr>
<tr><td><a name="status_table">status</a></td>
<td>-</td>
- <td>Valeur constituée d'une simple lettre et définissant l'état
+ <td>Valeur constituée d'une simple lettre et définissant l'état
initial de ce serveur cible.
<table class="bordered">
<tr><td><code>D</code></td><td>le serveur cible est
- désactivé et n'accepte aucune requête ; sa
- réactivation sera automatiquement relancée.</td></tr>
- <tr><td><code>S</code></td><td>le serveur cible est arrêté
- ; il n'accepte plus de requête et sa réactivation ne sera pas
- automatiquement relancée.</td></tr>
- <tr><td><code>I</code></td><td>le serveur cible est en mode "erreurs ignorées",
- et sera toujours considéré comme disponible.</td></tr>
- <tr><td><code>R</code></td><td>Le serveur cible sert de remplaçant à
- chaud. Lorsqu'un serveur cible avec un lbset donné est inutilisable
- (maintenance, arrêt, en erreur, etc...), un serveur de remplacement à
- chaud libre de même lbset sera utilisé à sa place. Les remplaçants à
- chaud permettent de s'assurer qu'un nombre déterminé de serveurs cibles
- sera toujours disponible pour un répartiteur de charge.</td></tr>
+ désactivé et n'accepte aucune requête ; sa
+ réactivation sera automatiquement relancée.</td></tr>
+ <tr><td><code>S</code></td><td>le serveur cible est arrêté
+ ; il n'accepte plus de requête et sa réactivation ne sera pas
+ automatiquement relancée.</td></tr>
+ <tr><td><code>I</code></td><td>le serveur cible est en mode "erreurs ignorées",
+ et sera toujours considéré comme disponible.</td></tr>
+ <tr><td><code>R</code></td><td>Le serveur cible sert de remplaçant à
+ chaud. Lorsqu'un serveur cible avec un lbset donné est inutilisable
+ (maintenance, arrêt, en erreur, etc...), un serveur de remplacement à
+ chaud libre de même lbset sera utilisé à sa place. Les remplaçants à
+ chaud permettent de s'assurer qu'un nombre déterminé de serveurs cibles
+ sera toujours disponible pour un répartiteur de charge.</td></tr>
<tr><td><code>H</code></td><td>le serveur cible est en mode d'attente et ne sera
- utilisé que si aucun autre serveur ou remplaçant à chaud n'est
+ utilisé que si aucun autre serveur ou remplaçant à chaud n'est
disponible dans le jeu de serveurs cibles.</td></tr>
<tr><td><code>E</code></td><td>le serveur cible est en erreur.</td></tr>
<tr><td><code>N</code></td><td>le serveur cible est en mode vidage, n'acceptera que
les sessions persistantes qui lui appartiennent, et refusera
- toutes les autres requêtes.</td></tr>
+ toutes les autres requêtes.</td></tr>
</table>
- Une valeur d'état peut être définie (ce qui
- correspond au comportement par défaut) en préfixant la valeur
- par '+', ou annulée en préfixant la valeur par '-'. Ainsi, la
- valeur 'S-E' définit l'état de ce serveur cible à "arrêté" et supprime
+ Une valeur d'état peut être définie (ce qui
+ correspond au comportement par défaut) en préfixant la valeur
+ par '+', ou annulée en préfixant la valeur par '-'. Ainsi, la
+ valeur 'S-E' définit l'état de ce serveur cible à "arrêté" et supprime
le drapeau "en-erreur".
</td></tr>
<tr><td>timeout</td>
<td><code class="directive"><a href="#proxytimeout">ProxyTimeout</a></code></td>
- <td>Délai d'attente de la connexion en secondes. Le nombre de
+ <td>Délai d'attente de la connexion en secondes. Le nombre de
secondes pendant lesquelles Apache httpd attend l'envoi de
- données vers le serveur d'arrière-plan. Utilise la syntaxe <a href="directive-dict.html#Syntax">time-interval</a>.
+ données vers le serveur d'arrière-plan. Utilise la syntaxe <a href="directive-dict.html#Syntax">time-interval</a>.
</td></tr>
<tr><td>ttl</td>
<td>-</td>
- <td>Durée de vie des connexions inactives et des entrées du pool
- de connexions associées en secondes. Une fois cette
- limite atteinte, une connexion ne sera pas réutilisée ; elle
- sera fermée après un délai variable. Utilise la syntaxe <a href="directive-dict.html#Syntax">time-interval</a>.
+ <td>Durée de vie des connexions inactives et des entrées du pool
+ de connexions associées en secondes. Une fois cette
+ limite atteinte, une connexion ne sera pas réutilisée ; elle
+ sera fermée après un délai variable. Utilise la syntaxe <a href="directive-dict.html#Syntax">time-interval</a>.
</td></tr>
<tr><td>flusher</td>
<td>flush</td>
- <td><p>Le fournisseur utilisé par <code class="module"><a href="../mod/mod_proxy_fdpass.html">mod_proxy_fdpass</a></code>.
- Se référer à la documentation de ce module pour plus de détails.</p>
+ <td><p>Le fournisseur utilisé par <code class="module"><a href="../mod/mod_proxy_fdpass.html">mod_proxy_fdpass</a></code>.
+ Se référer à la documentation de ce module pour plus de détails.</p>
</td></tr>
<tr><td>secret</td>
<td>-</td>
- <td><p>Le mot de passe utilisé par <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code>. Voir
- la documentation de ce module pour plus de détails.</p>
+ <td><p>Le mot de passe utilisé par <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code>. Voir
+ la documentation de ce module pour plus de détails.</p>
</td></tr>
<tr><td>upgrade</td>
<td>WebSocket</td>
- <td><p>Le protocol accepté par <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> dans
- l'en-tête Upgrade. Voir la documentation de ce module pour plus de
- détails.</p>
+ <td><p>Le protocol accepté par <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> dans
+ l'en-tête Upgrade. Voir la documentation de ce module pour plus de
+ détails.</p>
</td></tr>
</table>
- <p>Si l'URL de la directive Proxy débute par
+ <p>Si l'URL de la directive Proxy débute par
<code>balancer://</code> (par exemple:
<code>balancer://cluster</code>, toute information relative au
- chemin est ignorée), alors un serveur cible virtuel ne communiquant pas
- réellement avec le serveur d'arrière-plan sera créé. Celui-ci sera
- en fait responsable de la gestion de plusieurs serveurs cibles "réels". Dans
- ce cas, un jeu de paramètres particuliers s'applique à ce serveur cible
+ chemin est ignorée), alors un serveur cible virtuel ne communiquant pas
+ réellement avec le serveur d'arrière-plan sera créé. Celui-ci sera
+ en fait responsable de la gestion de plusieurs serveurs cibles "réels". Dans
+ ce cas, un jeu de paramètres particuliers s'applique à ce serveur cible
virtuel. Voir <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> pour plus
- d'informations à propos du fonctionnement du répartiteur de
+ d'informations à propos du fonctionnement du répartiteur de
charge.
</p>
- <table class="bordered"><tr><th>Paramètres du répartiteur</th></tr></table>
+ <table class="bordered"><tr><th>Paramètres du répartiteur</th></tr></table>
<table>
- <tr><th>Paramètre</th>
- <th>Défaut</th>
+ <tr><th>Paramètre</th>
+ <th>Défaut</th>
<th>Description</th></tr>
<tr><td>lbmethod</td>
<td>byrequests</td>
- <td>Méthode de répartition de charge utilisée. Permet de
- sélectionner la méthode de planification de la répartition de
- charge à utiliser. La valeur est soit <code>byrequests</code>,
- pour effectuer un décompte de requêtes pondérées, soit
- <code>bytraffic</code>, pour effectuer une répartition en
- fonction du décompte des octets transmis, soit
- <code>bybusyness</code>, pour effectuer une répartition en
- fonction des requêtes en attente. La valeur par défaut est
+ <td>Méthode de répartition de charge utilisée. Permet de
+ sélectionner la méthode de planification de la répartition de
+ charge à utiliser. La valeur est soit <code>byrequests</code>,
+ pour effectuer un décompte de requêtes pondérées, soit
+ <code>bytraffic</code>, pour effectuer une répartition en
+ fonction du décompte des octets transmis, soit
+ <code>bybusyness</code>, pour effectuer une répartition en
+ fonction des requêtes en attente. La valeur par défaut est
<code>byrequests</code>.
</td></tr>
<tr><td>maxattempts</td>
<td>1 de moins que le nombre de workers, ou 1 avec un seul
worker</td>
- <td>Nombre maximum d'échecs avant abandon.
+ <td>Nombre maximum d'échecs avant abandon.
</td></tr>
<tr><td>nofailover</td>
<td>Off</td>
- <td>Si ce paramètre est défini à <code>On</code>, la session va
- s'interrompre si le serveur cible est dans un état d'erreur ou
- désactivé. Définissez ce paramètre à <code>On</code> si le serveur
- d'arrière-plan ne supporte pas la réplication de session.
+ <td>Si ce paramètre est défini à <code>On</code>, la session va
+ s'interrompre si le serveur cible est dans un état d'erreur ou
+ désactivé. Définissez ce paramètre à <code>On</code> si le serveur
+ d'arrière-plan ne supporte pas la réplication de session.
</td></tr>
<tr><td>stickysession</td>
<td>-</td>
- <td>Nom de session persistant du répartiteur. La valeur est
- généralement du style <code>JSESSIONID</code> ou
- <code>PHPSESSIONID</code>, et dépend du serveur d'application
- d'arrière-plan qui supporte les sessions. Si le serveur
- d'application d'arrière-plan utilise des noms différents pour
- les cookies et les identifiants codés d'URL (comme les
- conteneurs de servlet), séparez-les par le caractère '|'. La
- première partie contient le cookie et la seconde le chemin.<br />
+ <td>Nom de session persistant du répartiteur. La valeur est
+ généralement du style <code>JSESSIONID</code> ou
+ <code>PHPSESSIONID</code>, et dépend du serveur d'application
+ d'arrière-plan qui supporte les sessions. Si le serveur
+ d'application d'arrière-plan utilise des noms différents pour
+ les cookies et les identifiants codés d'URL (comme les
+ conteneurs de servlet), séparez-les par le caractère '|'. La
+ première partie contient le cookie et la seconde le chemin.<br />
Disponible depuis la version 2.4.4 du serveur HTTP Apache.
</td></tr>
<tr><td>stickysessionsep</td>
<td>"."</td>
- <td>Permet de définir le caractère de séparation dans le cookie
- de session. En effet, certains serveurs d'application d'arrière-plan
- n'utilisent pas le '.' comme caractère de séparation. Par
- exemple, le serveur Oracle Weblogic utilise le caractère '!'.
- Cette option permet donc de définir le caractère de séparation à
- une valeur appropriée. Si elle est définie à 'Off', aucun
- caractère de séparation ne sera utilisé.
+ <td>Permet de définir le caractère de séparation dans le cookie
+ de session. En effet, certains serveurs d'application d'arrière-plan
+ n'utilisent pas le '.' comme caractère de séparation. Par
+ exemple, le serveur Oracle Weblogic utilise le caractère '!'.
+ Cette option permet donc de définir le caractère de séparation à
+ une valeur appropriée. Si elle est définie à 'Off', aucun
+ caractère de séparation ne sera utilisé.
</td></tr>
<tr><td>scolonpathdelim</td>
<td>Off</td>
- <td>Si ce paramètre est défini à <code>On</code>, le caractère
- ';' sera utilisé comme séparateur de chemin de session
+ <td>Si ce paramètre est défini à <code>On</code>, le caractère
+ ';' sera utilisé comme séparateur de chemin de session
persistante additionnel. Ceci permet principalement de simuler
le comportement de mod_jk lorsqu'on utilise des chemins du style
<code>JSESSIONID=6736bcf34;foo=aabfa</code>.
</td></tr>
<tr><td>timeout</td>
<td>0</td>
- <td>Délai du répartiteur en secondes. Si ce paramètre est
- défini, sa valeur correspond à la durée maximale d'attente pour
- un serveur cible libre. Le comportement par défaut est de ne pas
+ <td>Délai du répartiteur en secondes. Si ce paramètre est
+ défini, sa valeur correspond à la durée maximale d'attente pour
+ un serveur cible libre. Le comportement par défaut est de ne pas
attendre. Utilise la syntaxe <a href="directive-dict.html#Syntax">time-interval</a>.
</td></tr>
<tr><td>failonstatus</td>
<td>-</td>
- <td>Une liste de codes d'état HTTP séparés par des virgules. Si
- ce paramètre est présent, le worker se mettra en erreur si le
- serveur d'arrière-plan renvoie un des codes d'état spécifiés
- dans la liste. La récupération du worker s'effectue comme dans
+ <td>Une liste de codes d'état HTTP séparés par des virgules. Si
+ ce paramètre est présent, le worker se mettra en erreur si le
+ serveur d'arrière-plan renvoie un des codes d'état spécifiés
+ dans la liste. La récupération du worker s'effectue comme dans
le cas des autres erreurs de worker.
</td></tr>
<tr><td>failontimeout</td>
<td>Off</td>
- <td>Si ce paramètre est défini à "On", un délai d'attente
- dépassé en entrée/sortie après envoi d'une requête au serveur
- d'arrière-plan va mettre le processus en état d'erreur. La
- sortie de cet état d'erreur se passe de la même façon que pour
+ <td>Si ce paramètre est défini à "On", un délai d'attente
+ dépassé en entrée/sortie après envoi d'une requête au serveur
+ d'arrière-plan va mettre le processus en état d'erreur. La
+ sortie de cet état d'erreur se passe de la même façon que pour
les autres erreurs.<br />
Disponible depuis la version 2.4.5 du serveur HTTP Apache.
</td></tr>
<tr><td>nonce</td>
<td><auto></td>
- <td>Le nombre à usage unique de protection utilisé dans la page
- de l'application <code>balancer-manager</code>. Par défaut, la
- protection de la page est assurée par un nombre à usage unique
- automatique à base d'UUID. Si une valeur est précisée, elle sera
- utilisée comme nombre à usage unique. La valeur
- <code>None</code> désactive la vérification du nombre à usage
+ <td>Le nombre à usage unique de protection utilisé dans la page
+ de l'application <code>balancer-manager</code>. Par défaut, la
+ protection de la page est assurée par un nombre à usage unique
+ automatique à base d'UUID. Si une valeur est précisée, elle sera
+ utilisée comme nombre à usage unique. La valeur
+ <code>None</code> désactive la vérification du nombre à usage
unique.
<div class="note"><h3>Note</h3>
- <p>En plus du nombre à usage unique, la page de l'application
- <code>balancer-manager</code> peut être protégée par une ACL.</p>
+ <p>En plus du nombre à usage unique, la page de l'application
+ <code>balancer-manager</code> peut être protégée par une ACL.</p>
</div>
</td></tr>
<tr><td>growth</td>
<td>0</td>
- <td>Nombre de membres supplémentaires que l'on peut ajouter à ce
- répartiteur en plus de ceux définis au niveau de la
+ <td>Nombre de membres supplémentaires que l'on peut ajouter à ce
+ répartiteur en plus de ceux définis au niveau de la
configuration.
</td></tr>
<tr><td>forcerecovery</td>
<td>On</td>
- <td>Force la relance immédiate de tous les membres sans tenir
- compte de leur paramètre retry dans le cas où ils sont tous en
- état d'erreur. Il peut cependant arriver qu'un membre déjà
- surchargé entre dans une situation critique si la relance de
- tous les membres est forcée sans tenir compte du paramètre retry
- de chaque membre. Dans ce cas, définissez ce paramètre à
+ <td>Force la relance immédiate de tous les membres sans tenir
+ compte de leur paramètre retry dans le cas où ils sont tous en
+ état d'erreur. Il peut cependant arriver qu'un membre déjà
+ surchargé entre dans une situation critique si la relance de
+ tous les membres est forcée sans tenir compte du paramètre retry
+ de chaque membre. Dans ce cas, définissez ce paramètre à
<code>Off</code>.<br />
Disponible depuis la version 2.4.2 du serveur HTTP Apache.
</td></tr>
</table>
- <p>Exemple de configuration d'un répartiteur de charge</p>
+ <p>Exemple de configuration d'un répartiteur de charge</p>
<pre class="prettyprint lang-config">ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On
<Proxy balancer://mycluster>
BalancerMember ajp://1.2.3.4:8009
BalancerMember ajp://1.2.3.5:8009 loadfactor=20
- # Le serveur suivant est moins puissant ; on lui envoie moins de requêtes,
+ # Le serveur suivant est moins puissant ; on lui envoie moins de requêtes,
BalancerMember ajp://1.2.3.6:8009 loadfactor=5
</Proxy></pre>
- <p>La définition de remplaçants à chaud permet de s'assurer qu'un nombre
- déterminé de serveurs sera toujours disponible dans le jeu de serveurs
+ <p>La définition de remplaçants à chaud permet de s'assurer qu'un nombre
+ déterminé de serveurs sera toujours disponible dans le jeu de serveurs
cibles :</p>
<pre class="prettyprint lang-config">ProxyPass "/" "balancer://sparecluster/"
<Proxy balancer://sparecluster>
BalancerMember ajp://1.2.3.4:8009
BalancerMember ajp://1.2.3.5:8009
- # Les serveurs ci-dessous sont des remplaçants à chaud. Pour chaque serveur
- # ci-dessus qui viendrait à être inutilisable (maintenance, arrêt, non
- # contactable, en erreur, etc...), un de ces remplaçants à chaud prendra sa
- # place. Deux serveurs seront toujours disponibles pour traiter une requête
- # (à moins qu'un ou plusieurs remplaçant à chaud soit lui aussi
+ # Les serveurs ci-dessous sont des remplaçants à chaud. Pour chaque serveur
+ # ci-dessus qui viendrait à être inutilisable (maintenance, arrêt, non
+ # contactable, en erreur, etc...), un de ces remplaçants à chaud prendra sa
+ # place. Deux serveurs seront toujours disponibles pour traiter une requête
+ # (à moins qu'un ou plusieurs remplaçant à chaud soit lui aussi
# indisponible).
BalancerMember ajp://1.2.3.6:8009 status=+R
BalancerMember ajp://1.2.3.7:8009 status=+R
</Proxy></pre>
- <p>Configuration d'un serveur cible de réserve qui ne sera utilisé que si
- aucun autre serveur cible ou remplaçant à chaud n'est disponible dans le jeu
+ <p>Configuration d'un serveur cible de réserve qui ne sera utilisé que si
+ aucun autre serveur cible ou remplaçant à chaud n'est disponible dans le jeu
de serveurs cibles :</p>
<pre class="prettyprint lang-config">ProxyPass "/" "balancer://hotcluster/ "
<Proxy balancer://hotcluster>
</Proxy></pre>
- <p><strong>Mot-clés supplémentaires de ProxyPass</strong></p>
+ <p><strong>Mot-clés supplémentaires de ProxyPass</strong></p>
<p>Normalement, mod_proxy va mettre sous leur forme canonique les
- URLs traitées par ProxyPass. Mais ceci peut être incompatible avec
- certains serveurs d'arrière-plan, et en particulier avec ceux qui
- utilisent <var>PATH_INFO</var>. Le mot-clé optionnel
+ URLs traitées par ProxyPass. Mais ceci peut être incompatible avec
+ certains serveurs d'arrière-plan, et en particulier avec ceux qui
+ utilisent <var>PATH_INFO</var>. Le mot-clé optionnel
<var>nocanon</var> modifie ce comportement et permet de transmettre
- le chemin d'URL sous sa forme brute au serveur d'arrière-plan. Notez
- que ce mot-clé peut affecter la sécurité de votre serveur d'arrière-plan,
- car la protection limitée contre les attaques à base d'URL que
- fournit le mandataire est alors supprimée.</p>
+ le chemin d'URL sous sa forme brute au serveur d'arrière-plan. Notez
+ que ce mot-clé peut affecter la sécurité de votre serveur d'arrière-plan,
+ car la protection limitée contre les attaques à base d'URL que
+ fournit le mandataire est alors supprimée.</p>
- <p>Par défaut, mod_proxy inclut la chaîne de paramètres lors de la
- génération de la variable d'environnement
- <var>SCRIPT_FILENAME</var>. Le mot-clé optionnel <var>noquery</var>
- (disponible à partir de la version 2.4.1) permet d'exclure cette
- chaîne.</p>
+ <p>Par défaut, mod_proxy inclut la chaîne de paramètres lors de la
+ génération de la variable d'environnement
+ <var>SCRIPT_FILENAME</var>. Le mot-clé optionnel <var>noquery</var>
+ (disponible à partir de la version 2.4.1) permet d'exclure cette
+ chaîne.</p>
- <p>Le mot-clé optionnel <var>interpolate</var>, en combinaison avec la directive
- <code class="directive"><a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></code>, permet à ProxyPass
- d'interpoler les variables d'environnement à l'aide de la syntaxe
+ <p>Le mot-clé optionnel <var>interpolate</var>, en combinaison avec la directive
+ <code class="directive"><a href="#proxypassinterpolateenv">ProxyPassInterpolateEnv</a></code>, permet à ProxyPass
+ d'interpoler les variables d'environnement à l'aide de la syntaxe
<var>${VARNAME}</var>. Notez que de nombreuses variables
- d'environnement standard dérivées de CGI n'existeront pas lorsque
+ d'environnement standard dérivées de CGI n'existeront pas lorsque
l'interpolation se produit ; vous devrez alors encore avoir avoir
- recours à <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour des règles
- complexes. Notez aussi que l'interpolation n'est supportée dans
+ recours à <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour des règles
+ complexes. Notez aussi que l'interpolation n'est supportée dans
la partie protocole/hostname/port d'une URL que pour les variables qui sont
- accessibles au moment où la directive est interprétée (similairement à la
- directive <code class="directive"><a href="../mod/core.html#define">Define</a></code>). La détermination dynamique de
- ces champs peut être effectuée à l'aide de
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. L'exemple suivant décrit comment utiliser
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour définir dynamiquement le protocole à http
+ accessibles au moment où la directive est interprétée (similairement à la
+ directive <code class="directive"><a href="../mod/core.html#define">Define</a></code>). La détermination dynamique de
+ ces champs peut être effectuée à l'aide de
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. L'exemple suivant décrit comment utiliser
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour définir dynamiquement le protocole à http
ou https :</p>
<pre class="prettyprint lang-config">RewriteEngine On
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxypassinherit" id="proxypassinherit">Directive</a> <a name="ProxyPassInherit" id="ProxyPassInherit">ProxyPassInherit</a><a title="Lien permanent" href="#proxypassinherit" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Héritage des directives ProxyPass définies au niveau du
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Héritage des directives ProxyPass définies au niveau du
serveur principal</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassInherit On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyPassInherit On</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyPassInherit On</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur
HTTP Apache.</td></tr>
</table>
- <p>Cette directive permet à un serveur virtuel d'hériter des
- directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> définies
- au niveau du serveur principal. Si vous utilisez la fonctionnalité de
+ <p>Cette directive permet à un serveur virtuel d'hériter des
+ directives <code class="directive"><a href="#proxypass">ProxyPass</a></code> définies
+ au niveau du serveur principal. Si vous utilisez la fonctionnalité de
modifications dynamiques du Balancer Manager, cette directive peut
- causer des problèmes et des comportements inattendus et doit donc
- être désactivée.</p>
- <p>Les valeurs définies au niveau du serveur principal
- constituent les valeurs par défaut pour tous les serveurs virtuels.</p>
- <p>La désactivation de ProxyPassInherit désactive aussi la
+ causer des problèmes et des comportements inattendus et doit donc
+ être désactivée.</p>
+ <p>Les valeurs définies au niveau du serveur principal
+ constituent les valeurs par défaut pour tous les serveurs virtuels.</p>
+ <p>La désactivation de ProxyPassInherit désactive aussi la
directive <code class="directive"><a href="#balancerinherit">BalancerInherit</a></code>.</p>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'interpolation des variables d'environnement dans
les configurations de mandataires inverses</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassInterpolateEnv On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyPassInterpolateEnv Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyPassInterpolateEnv Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy</td></tr>
</table>
<code class="directive">ProxyPassReverse</code>,
<code class="directive">ProxyPassReverseCookieDomain</code> et
<code class="directive">ProxyPassReverseCookiePath</code>, permet de
- configurer dynamiquement un mandataire inverse à l'aide de
- variables d'environnement, ces dernières pouvant être définies par un
+ configurer dynamiquement un mandataire inverse à l'aide de
+ variables d'environnement, ces dernières pouvant être définies par un
autre module comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Elle affecte les
directives <code class="directive">ProxyPass</code>,
<code class="directive">ProxyPassReverse</code>,
<code class="directive">ProxyPassReverseCookieDomain</code>, et
<code class="directive">ProxyPassReverseCookiePath</code>, en leur indiquant
- de remplacer la chaîne <code>${nom_var}</code> dans les directives
+ de remplacer la chaîne <code>${nom_var}</code> dans les directives
de configuration par la valeur de la variable d'environnement
<code>nom_var</code> si l'option <var>interpolate</var> est
- spécifiée.</p>
+ spécifiée.</p>
<p>La partie protocole/hostname/port de <code class="directive">ProxyPass</code>
peut contenir des variables, mais seulement celles qui sont accessibles au
- moment où la directive est interprétée (similairement à la directive
+ moment où la directive est interprétée (similairement à la directive
<code class="directive"><a href="../mod/core.html#define">Define</a></code>). Pour tous les autres cas,
- utilisez plutôt <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p> <div class="warning"><h3>Avertissement concernant les performances</h3>
- <p>Laissez cette directive à off, à moins que vous n'en ayez réellemnt
- besoin ! Par exemple, ajouter des variables à
- <code class="directive">ProxyPass</code> peut entraîner l'utilisation des serveurs
- d'arrière-plan de mod_proxy configurés par défaut, et ceux-ci ne permettent
- pas un réglage fin comme la réutilisation des connexions, entre
+ utilisez plutôt <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+ <div class="warning"><h3>Avertissement concernant les performances</h3>
+ <p>Laissez cette directive à off, à moins que vous n'en ayez réellemnt
+ besoin ! Par exemple, ajouter des variables à
+ <code class="directive">ProxyPass</code> peut entraîner l'utilisation des serveurs
+ d'arrière-plan de mod_proxy configurés par défaut, et ceux-ci ne permettent
+ pas un réglage fin comme la réutilisation des connexions, entre
autres...).</p> </div>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre des serveurs distants dans l'espace d'URL
du serveur local en utilisant des expressions rationnelles</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassMatch [<var>regex</var>] !|<var>url</var>
-[<var>clé=valeur</var>
- <var>[clé=valeur</var> ...]]</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+[<var>clé=valeur</var>
+ <var>[clé=valeur</var> ...]]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy</td></tr>
</table>
- <p>Cette directive est identique à la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>, mais fait usage des
+ <p>Cette directive est identique à la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>, mais fait usage des
expressions rationnelles, au lieu d'une simple comparaison de
- préfixes. L'expression rationnelle spécifiée est comparée à
+ préfixes. L'expression rationnelle spécifiée est comparée à
l'<var>url</var>, et si elle correspond, le serveur va substituer
- toute correspondance entre parenthèses dans la chaîne donnée et
+ toute correspondance entre parenthèses dans la chaîne donnée et
l'utiliser comme nouvelle <var>url</var>.</p>
- <div class="note"><strong>Note : </strong>Cette directive ne peut pas être
- utilisée dans un contexte de niveau répertoire.</div>
+ <div class="note"><strong>Note : </strong>Cette directive ne peut pas être
+ utilisée dans un contexte de niveau répertoire.</div>
<p>Supposons que le serveur local a pour adresse
<code>http://example.com/</code> ; alors</p>
<pre class="prettyprint lang-config">ProxyPassMatch "^(/.*\.gif)$" "http://backend.example.com/$1"</pre>
- <p>va provoquer la conversion interne de la requête locale
- <code>http://example.com/foo/bar.gif</code> en une requête mandatée
+ <p>va provoquer la conversion interne de la requête locale
+ <code>http://example.com/foo/bar.gif</code> en une requête mandatée
pour <code>http://backend.example.com/foo/bar.gif</code>.</p>
<div class="note"><h3>Note</h3>
- <p>L'argument URL doit pouvoir être interprété en tant qu'URL
+ <p>L'argument URL doit pouvoir être interprété en tant qu'URL
<em>avant</em> les substitutions d'expressions rationnelles (et
- doit aussi l'être après). Ceci limite les correspondances que vous
- pouvez utiliser. Par exemple, si l'on avait utilisé</p>
+ doit aussi l'être après). Ceci limite les correspondances que vous
+ pouvez utiliser. Par exemple, si l'on avait utilisé</p>
<pre class="prettyprint lang-config"> ProxyPassMatch "^(/.*\.gif)$"
"http://backend.example.com:8000$1"</pre>
- <p>dans l'exemple précédent, nous aurions provoqué une erreur de
- syntaxe au démarrage du serveur. C'est une bogue (PR 46665 dans
+ <p>dans l'exemple précédent, nous aurions provoqué une erreur de
+ syntaxe au démarrage du serveur. C'est une bogue (PR 46665 dans
ASF bugzilla), et il est possible de la contourner en reformulant
la correspondance :</p>
<pre class="prettyprint lang-config">ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com:8000/$1"</pre>
</div>
<p>Le drapeau <code>!</code> vous permet de ne pas mandater un
- sous-répertoire donné.</p>
+ sous-répertoire donné.</p>
<p>Dans une section <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>, le premier argument est
- omis et l'expression rationnelle est obtenue à partir de la directive
+ omis et l'expression rationnelle est obtenue à partir de la directive
<code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>.</p>
<p>Si vous avez besoin d'une configuration du mandataire inverse
<code>[P]</code>.</p>
<div class="note">
- <h3>Substitution par défaut</h3>
- <p>Lorsque le paramètre URL n'utilise pas de références arrières
- dans l'expression rationnelle, l'URL originale sera ajoutée au
- paramètre URL.
+ <h3>Substitution par défaut</h3>
+ <p>Lorsque le paramètre URL n'utilise pas de références arrières
+ dans l'expression rationnelle, l'URL originale sera ajoutée au
+ paramètre URL.
</p>
</div>
<div class="warning">
- <h3>Avertissement à propos de la sécurité</h3>
- <p>Lors de la construction de l'URL cible de la règle, il convient
- de prendre en compte l'impact en matière de sécurité qu'aura le
+ <h3>Avertissement à propos de la sécurité</h3>
+ <p>Lors de la construction de l'URL cible de la règle, il convient
+ de prendre en compte l'impact en matière de sécurité qu'aura le
fait de permettre au client d'influencer le jeu d'URLs pour
lesquelles votre serveur agira en tant que mandataire.
Assurez-vous que la partie protocole://nom-serveur de l'URL soit
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxypassreverse" id="proxypassreverse">Directive</a> <a name="ProxyPassReverse" id="ProxyPassReverse">ProxyPassReverse</a><a title="Lien permanent" href="#proxypassreverse" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste l'URL dans les en-têtes de la réponse HTTP envoyée
-par un serveur mandaté en inverse</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste l'URL dans les en-têtes de la réponse HTTP envoyée
+par un serveur mandaté en inverse</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverse [<var>chemin</var>] <var>url</var>
[<var>interpolate</var>]</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy</td></tr>
</table>
<p>Cette directive permet de faire en sorte qu'Apache httpd ajuste l'URL
- dans les en-têtes <code>Location</code>,
- <code>Content-Location</code> et <code>URI</code> des réponses de
- redirection HTTP. Ceci est essentiel lorsqu'Apache httpd est utilisé en
- tant que mandataire inverse (ou passerelle), afin d'éviter de
+ dans les en-têtes <code>Location</code>,
+ <code>Content-Location</code> et <code>URI</code> des réponses de
+ redirection HTTP. Ceci est essentiel lorsqu'Apache httpd est utilisé en
+ tant que mandataire inverse (ou passerelle), afin d'éviter de
court-circuiter le mandataire inverse suite aux redirections HTTP
- sur le serveur d'arrière-plan qui restent derrière le mandataire
+ sur le serveur d'arrière-plan qui restent derrière le mandataire
inverse.</p>
- <p>Seuls les en-têtes de réponse HTTP spécialement mentionnés
- ci-dessus seront réécrits. Apache httpd ne réécrira ni les autres en-têtes
- de réponse, ni par défaut les références d'URLs dans les pages HTML. Cela
- signifie que dans le cas où un contenu mandaté contient des
- références à des URLs absolues, elles court-circuiteront le
- mandataire. Pour réécrire un contenu HTML afin qu'il corresponde au
+ <p>Seuls les en-têtes de réponse HTTP spécialement mentionnés
+ ci-dessus seront réécrits. Apache httpd ne réécrira ni les autres en-têtes
+ de réponse, ni par défaut les références d'URLs dans les pages HTML. Cela
+ signifie que dans le cas où un contenu mandaté contient des
+ références à des URLs absolues, elles court-circuiteront le
+ mandataire. Pour réécrire un contenu HTML afin qu'il corresponde au
mandataire, vous devez charger et activer le module
<code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code>.
</p>
<p><var>chemin</var> est le nom d'un chemin virtuel local.
<var>url</var> est une URL partielle pour le serveur distant. Ces
- paramètres s'utilisent de la même façon qu'avec la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
+ paramètres s'utilisent de la même façon qu'avec la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
<p>Supposons par exemple que le serveur local a pour adresse
<code>http://example.com/</code> ; alors</p>
ProxyPassReverseCookiePath "/" "/mirror/foo/"</pre>
- <p>ne va pas seulement provoquer la conversion interne d'une requête
+ <p>ne va pas seulement provoquer la conversion interne d'une requête
locale pour <code>http://example.com/mirror/foo/bar</code> en une
- requête mandatée pour <code>http://backend.example.com/bar</code>
- (la fonctionnalité fournie par <code>ProxyPass</code>). Il va
+ requête mandatée pour <code>http://backend.example.com/bar</code>
+ (la fonctionnalité fournie par <code>ProxyPass</code>). Il va
aussi s'occuper des redirections que le serveur
<code>backend.example.com</code> envoie lorsque
- <code>http://backend.example.com/bar</code> est redirigé par
+ <code>http://backend.example.com/bar</code> est redirigé par
celui-ci vers <code>http://backend.example.com/quux</code>, Apache
httpd corrige ceci en <code>http://example.com/mirror/foo/quux</code>
avant de faire suivre la redirection HTTP au client. Notez que le
- nom d'hôte utilisé pour construire l'URL est choisi en respectant la
- définition de la directive <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code>.</p>
+ nom d'hôte utilisé pour construire l'URL est choisi en respectant la
+ définition de la directive <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code>.</p>
<p>Notez que la directive <code class="directive">ProxyPassReverse</code>
- peut aussi être utilisée en conjonction avec la
- fonctionnalité de mandataire
+ peut aussi être utilisée en conjonction avec la
+ fonctionnalité de mandataire
(<code>RewriteRule ... [P]</code>) du module
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, car elle ne dépend pas d'une directive
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, car elle ne dépend pas d'une directive
<code class="directive"><a href="#proxypass">ProxyPass</a></code>
correspondante.</p>
- <p>Le mot-clé optionnel <var>interpolate</var>,
- utilisé en combinaison avec la directive
+ <p>Le mot-clé optionnel <var>interpolate</var>,
+ utilisé en combinaison avec la directive
<code class="directive">ProxyPassInterpolateEnv</code>, permet
- l'interpolation des variables d'environnement spécifiées en
+ l'interpolation des variables d'environnement spécifiées en
utilisant le format <var>${VARNAME}</var>. Notez que l'interpolation
- n'est pas supportée dans la partie protocole d'une URL.
+ n'est pas supportée dans la partie protocole d'une URL.
</p>
- <p>Lorsque cette directive est utilisée dans une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, le premier
- argument est omis et le répertoire local est obtenu à partir de
- l'argument de la directive <code class="directive"><a href="../mod/core.html#location"><Location></a></code>. Il en est de même à l'intérieur
- d'une section <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>, mais le résultat ne sera
- probablement pas celui attendu car ProxyPassReverse va interpréter
- l'expression rationnelle littéralement comme un chemin ; si besoin
- est dans ce cas, définissez la directive ProxyPassReverse en dehors
- de la section, ou dans une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> séparée.</p>
+ <p>Lorsque cette directive est utilisée dans une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, le premier
+ argument est omis et le répertoire local est obtenu à partir de
+ l'argument de la directive <code class="directive"><a href="../mod/core.html#location"><Location></a></code>. Il en est de même à l'intérieur
+ d'une section <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>, mais le résultat ne sera
+ probablement pas celui attendu car ProxyPassReverse va interpréter
+ l'expression rationnelle littéralement comme un chemin ; si besoin
+ est dans ce cas, définissez la directive ProxyPassReverse en dehors
+ de la section, ou dans une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> séparée.</p>
- <p>Cette directive ne peut pas être placée dans une section
+ <p>Cette directive ne peut pas être placée dans une section
<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou
<code class="directive"><a href="../mod/core.html#files"><Files></a></code>.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxypassreversecookiedomain" id="proxypassreversecookiedomain">Directive</a> <a name="ProxyPassReverseCookieDomain" id="ProxyPassReverseCookieDomain">ProxyPassReverseCookieDomain</a><a title="Lien permanent" href="#proxypassreversecookiedomain" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste la chaîne correspondant au domaine dans les en-têtes
-Set-Cookie en provenance d'un serveur mandaté</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste la chaîne correspondant au domaine dans les en-têtes
+Set-Cookie en provenance d'un serveur mandaté</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverseCookieDomain <var>domaine-interne</var>
<var>domaine-public</var> [<var>interpolate</var>]</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy</td></tr>
</table>
-<p>L'utilisation de cette directive est similaire à celle de la
+<p>L'utilisation de cette directive est similaire à celle de la
directive <code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>,
-mais au lieu de réécrire des en-têtes qui contiennent des URLs, elle
-réécrit la chaîne correspondant au domaine dans les en-têtes
+mais au lieu de réécrire des en-têtes qui contiennent des URLs, elle
+réécrit la chaîne correspondant au domaine dans les en-têtes
<code>Set-Cookie</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="proxypassreversecookiepath" id="proxypassreversecookiepath">Directive</a> <a name="ProxyPassReverseCookiePath" id="ProxyPassReverseCookiePath">ProxyPassReverseCookiePath</a><a title="Lien permanent" href="#proxypassreversecookiepath" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste la chaîne correspondant au chemin dans les en-têtes
-Set-Cookie en provenance d'un serveur mandaté</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajuste la chaîne correspondant au chemin dans les en-têtes
+Set-Cookie en provenance d'un serveur mandaté</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPassReverseCookiePath <var>chemin-interne</var>
<var>chemin-public</var> [<var>interpolate</var>]</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy</td></tr>
</table>
<p>
-Cette directive s'avère utile en conjonction avec la directive
+Cette directive s'avère utile en conjonction avec la directive
<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code> dans les
-situations où les chemins d'URL d'arrière-plan correspondent à des
+situations où les chemins d'URL d'arrière-plan correspondent à des
chemins publics sur le mandataire inverse. Cette directive permet de
-réécrire la chaîne <code>path</code> dans les en-têtes
-<code>Set-Cookie</code>. Si le début du chemin du cookie correspond à
-<var>chemin-interne</var>, le chemin du cookie sera remplacé par
+réécrire la chaîne <code>path</code> dans les en-têtes
+<code>Set-Cookie</code>. Si le début du chemin du cookie correspond à
+<var>chemin-interne</var>, le chemin du cookie sera remplacé par
<var>chemin-public</var>.
</p><p>
Dans l'exemple fourni avec la directive <code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>, la directive :
<pre class="prettyprint lang-config">ProxyPassReverseCookiePath "/" "/mirror/foo/"</pre>
<p>
-va réécrire un cookie possédant un chemin d'arrière-plan <code>/</code>
+va réécrire un cookie possédant un chemin d'arrière-plan <code>/</code>
(ou <code>/example</code> ou en fait tout chemin)
en <code>/mirror/foo/</code>..
</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxypreservehost" id="proxypreservehost">Directive</a> <a name="ProxyPreserveHost" id="ProxyPreserveHost">ProxyPreserveHost</a><a title="Lien permanent" href="#proxypreservehost" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise l'en-tête de requête entrante Host pour la requête
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise l'en-tête de requête entrante Host pour la requête
du mandataire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyPreserveHost On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyPreserveHost Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyPreserveHost Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Utilisable
-dans un contexte de répertoire depuis la version 2.3.3.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Utilisable
+dans un contexte de répertoire depuis la version 2.3.3.</td></tr>
</table>
- <p>Lorsqu'elle est activée, cette directive va transmettre l'en-tête
- Host: de la requête entrante vers le serveur mandaté, au lieu du nom
- d'hôte spécifié par la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
+ <p>Lorsqu'elle est activée, cette directive va transmettre l'en-tête
+ Host: de la requête entrante vers le serveur mandaté, au lieu du nom
+ d'hôte spécifié par la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
- <p>Cette directive est habituellement définie à <code>Off</code>.
- Elle est principalement utile dans les configurations particulières
- comme l'hébergement virtuel mandaté en masse à base de nom, où
- l'en-tête Host d'origine doit être évalué par le serveur
- d'arrière-plan.</p>
+ <p>Cette directive est habituellement définie à <code>Off</code>.
+ Elle est principalement utile dans les configurations particulières
+ comme l'hébergement virtuel mandaté en masse à base de nom, où
+ l'en-tête Host d'origine doit être évalué par le serveur
+ d'arrière-plan.</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="proxyreceivebuffersize" id="proxyreceivebuffersize">Directive</a> <a name="ProxyReceiveBufferSize" id="ProxyReceiveBufferSize">ProxyReceiveBufferSize</a><a title="Lien permanent" href="#proxyreceivebuffersize" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon réseau pour les connexions mandatées HTTP
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon réseau pour les connexions mandatées HTTP
et FTP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyReceiveBufferSize <var>octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyReceiveBufferSize 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyReceiveBufferSize 0</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
</table>
<p>La directive <code class="directive">ProxyReceiveBufferSize</code> permet
- de spécifier une taille de tampon réseau explicite (TCP/IP) pour les
- connexions mandatées HTTP et FTP, afin d'améliorer le débit de
- données. Elle doit être supérieure à <code>512</code> ou définie à
- <code>0</code> pour indiquer que la taille de tampon par défaut du
- système doit être utilisée.</p>
+ de spécifier une taille de tampon réseau explicite (TCP/IP) pour les
+ connexions mandatées HTTP et FTP, afin d'améliorer le débit de
+ données. Elle doit être supérieure à <code>512</code> ou définie à
+ <code>0</code> pour indiquer que la taille de tampon par défaut du
+ système doit être utilisée.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyReceiveBufferSize 2048</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxyremote" id="proxyremote">Directive</a> <a name="ProxyRemote" id="ProxyRemote">ProxyRemote</a><a title="Lien permanent" href="#proxyremote" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mandataire distant à utiliser pour traiter certaines
-requêtes</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Mandataire distant à utiliser pour traiter certaines
+requêtes</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyRemote <var>comparaison</var> <var>serveur-distant</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
</table>
- <p>Cette directive permet de définir des mandataires distants pour
+ <p>Cette directive permet de définir des mandataires distants pour
ce mandataire. <var>comparaison</var> est soit le nom d'un protocole
que supporte le serveur distant, soit une URL partielle pour
- laquelle le serveur distant devra être utilisé, soit <code>*</code>
- pour indiquer que le serveur distant doit être utilisé pour toutes
- les requêtes. <var>serveur-distant</var> est une URL partielle
+ laquelle le serveur distant devra être utilisé, soit <code>*</code>
+ pour indiquer que le serveur distant doit être utilisé pour toutes
+ les requêtes. <var>serveur-distant</var> est une URL partielle
correspondant au serveur distant. Syntaxe : </p>
<div class="example"><p><code>
<var>protocole</var>://<var>nom-serveur</var>[:<var>port</var>]
</code></p></div>
- <p><var>protocole</var> est effectivement le protocole à utiliser
+ <p><var>protocole</var> est effectivement le protocole à utiliser
pour communiquer avec le serveur distant ; ce module ne supporte que
<code>http</code> et <code>https</code>. Lorsqu'on utilise
- <code>https</code>, les requêtes sont redirigées par le mandataire
- distant en utilisant la méthode HTTP CONNECT.</p>
+ <code>https</code>, les requêtes sont redirigées par le mandataire
+ distant en utilisant la méthode HTTP CONNECT.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ProxyRemote http://goodguys.example.com/ http://mirrorguys.example.com:8000
ProxyRemote * http://cleverproxy.localdomain
ProxyRemote ftp http://ftpproxy.mydomain:8080</pre>
</div>
- <p>Dans la dernière ligne de l'exemple, le mandataire va faire
- suivre les requêtes FTP, encapsulées dans une autre requête mandatée
+ <p>Dans la dernière ligne de l'exemple, le mandataire va faire
+ suivre les requêtes FTP, encapsulées dans une autre requête mandatée
HTTP, vers un autre mandataire capable de les traiter.</p>
<p>Cette directive supporte aussi les configurations de mandataire
- inverse ; un serveur web d'arrière-plan peut être intégré dans
- l'espace d'URL d'un serveur virtuel, même si ce serveur est caché
+ inverse ; un serveur web d'arrière-plan peut être intégré dans
+ l'espace d'URL d'un serveur virtuel, même si ce serveur est caché
par un autre mandataire direct.</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="proxyremotematch" id="proxyremotematch">Directive</a> <a name="ProxyRemoteMatch" id="ProxyRemoteMatch">ProxyRemoteMatch</a><a title="Lien permanent" href="#proxyremotematch" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le mandataire distant à utiliser pour traiter les requêtes
-correspondant à une expression rationnelle</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le mandataire distant à utiliser pour traiter les requêtes
+correspondant à une expression rationnelle</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyRemoteMatch <var>regex</var> <var>serveur-distant</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
</table>
<p>La directive <code class="directive">ProxyRemoteMatch</code> est
- identique à la directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code>, à l'exception du
+ identique à la directive <code class="directive"><a href="#proxyremote">ProxyRemote</a></code>, à l'exception du
premier argument qui est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression
- rationnelle</a> à mettre en correspondance avec l'URL de la
- requête.</p>
+ rationnelle</a> à mettre en correspondance avec l'URL de la
+ requête.</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="proxyrequests" id="proxyrequests">Directive</a> <a name="ProxyRequests" id="ProxyRequests">ProxyRequests</a><a title="Lien permanent" href="#proxyrequests" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la fonctionnalité (standard) de mandataire
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la fonctionnalité (standard) de mandataire
direct</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyRequests On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyRequests Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyRequests Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
</table>
- <p>Cette directive permet d'activer/désactiver la fonctionnalité de
- serveur mandataire direct d'Apache httpd. Définir ProxyRequests à
+ <p>Cette directive permet d'activer/désactiver la fonctionnalité de
+ serveur mandataire direct d'Apache httpd. Définir ProxyRequests à
<code>Off</code> n'interdit pas l'utilisation de la directive
<code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
<p>Pour une configuration typique de mandataire inverse ou
- passerelle, cette directive doit être définie à
+ passerelle, cette directive doit être définie à
<code>Off</code>.</p>
- <p>Afin d'activer la fonctionnalité de mandataire pour des sites
+ <p>Afin d'activer la fonctionnalité de mandataire pour des sites
HTTP et/ou FTP, les modules <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> et/ou
- <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> doivent également être chargés dans le
+ <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> doivent également être chargés dans le
serveur.</p>
- <p>Pour activer la fonctionnalité de mandataire sur les sites chiffrés en HTTPS, le module
- <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> doit également être chargé dans le serveur.</p>
+ <p>Pour activer la fonctionnalité de mandataire sur les sites chiffrés en HTTPS, le module
+ <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> doit également être chargé dans le serveur.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>N'activez pas la fonctionnalité de mandataire avec la directive
+ <p>N'activez pas la fonctionnalité de mandataire avec la directive
<code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> avant
- d'avoir <a href="#access">sécurisé votre serveur</a>. Les serveurs
+ d'avoir <a href="#access">sécurisé votre serveur</a>. Les serveurs
mandataires ouverts sont dangereux non seulement pour votre
- réseau, mais aussi pour l'Internet au sens large.</p>
+ réseau, mais aussi pour l'Internet au sens large.</p>
</div>
<h3>Voir aussi</h3>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxyset" id="proxyset">Directive</a> <a name="ProxySet" id="ProxySet">ProxySet</a><a title="Lien permanent" href="#proxyset" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit différents paramètres relatifs à la répartition de
-charge des mandataires et aux membres des groupes de répartition de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit différents paramètres relatifs à la répartition de
+charge des mandataires et aux membres des groupes de répartition de
charge</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySet <var>url</var> <var>clé=valeur [clé=valeur ...]</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySet <var>url</var> <var>clé=valeur [clé=valeur ...]</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy</td></tr>
</table>
- <p>Cette directive propose une méthode alternative pour définir tout
- paramètre relatif aux répartiteurs de charge et serveurs cibles de
- mandataires normalement définis via la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>. Si elle se trouve dans un
- conteneur <code><Proxy <var>url de répartiteur|url de
+ <p>Cette directive propose une méthode alternative pour définir tout
+ paramètre relatif aux répartiteurs de charge et serveurs cibles de
+ mandataires normalement définis via la directive <code class="directive"><a href="#proxypass">ProxyPass</a></code>. Si elle se trouve dans un
+ conteneur <code><Proxy <var>url de répartiteur|url de
serveur cible</var>></code>, l'argument <var>url</var> n'est pas
- nécessaire. Comme effet de bord, le répartiteur ou serveur cible respectif
- est créé. Ceci peut s'avérer utile pour la mise en oeuvre d'un
+ nécessaire. Comme effet de bord, le répartiteur ou serveur cible respectif
+ est créé. Ceci peut s'avérer utile pour la mise en oeuvre d'un
mandataire inverse via une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> au lieu de <code class="directive"><a href="#proxypass">ProxyPass</a></code>.</p>
<div class="example"><pre class="prettyprint lang-config"><Proxy balancer://hotcluster>
<div class="warning"><h3>Avertissement</h3>
- <p>Gardez à l'esprit qu'une même clé de paramètre peut avoir
- différentes significations selon qu'elle s'applique à un
- répartiteur ou à un serveur cible, et ceci est illustré par les deux
- exemples précédents où il est question d'un timeout.</p>
+ <p>Gardez à l'esprit qu'une même clé de paramètre peut avoir
+ différentes significations selon qu'elle s'applique à un
+ répartiteur ou à un serveur cible, et ceci est illustré par les deux
+ exemples précédents où il est question d'un timeout.</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="proxysourceaddress" id="proxysourceaddress">Directive</a> <a name="ProxySourceAddress" id="ProxySourceAddress">ProxySourceAddress</a><a title="Lien permanent" href="#proxysourceaddress" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'adresse IP locale pour les connexions mandatées
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'adresse IP locale pour les connexions mandatées
sortantes</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySourceAddress <var>adresse</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9</td></tr>
</table>
- <p>Cette directive permet de définir une adresse IP locale
- spécifique à laquelle faire référence lors d'une connexion à un
- serveur d'arrière-plan.</p>
+ <p>Cette directive permet de définir une adresse IP locale
+ spécifique à laquelle faire référence lors d'une connexion à un
+ serveur d'arrière-plan.</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="proxystatus" id="proxystatus">Directive</a> <a name="ProxyStatus" id="ProxyStatus">ProxyStatus</a><a title="Lien permanent" href="#proxystatus" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Affiche l'état du répartiteur de charge du mandataire dans
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Affiche l'état du répartiteur de charge du mandataire dans
mod_status</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyStatus Off|On|Full</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyStatus Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyStatus Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
</table>
- <p>Cette directive permet de spécifier si les données d'état du
- répartiteur de charge du mandataire doivent être affichées via la
- page d'état du serveur du module <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>.</p>
+ <p>Cette directive permet de spécifier si les données d'état du
+ répartiteur de charge du mandataire doivent être affichées via la
+ page d'état du serveur du module <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>.</p>
<div class="note"><h3>Note</h3>
- <p>L'argument <strong>Full</strong> produit le même effet que
+ <p>L'argument <strong>Full</strong> produit le même effet que
l'argument <strong>On</strong>.</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="proxytimeout" id="proxytimeout">Directive</a> <a name="ProxyTimeout" id="ProxyTimeout">ProxyTimeout</a><a title="Lien permanent" href="#proxytimeout" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Délai d'attente réseau pour les requêtes
-mandatées</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Délai d'attente réseau pour les requêtes
+mandatées</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyTimeout <var>time-interval</var>[s]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Valeur de la directive <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Valeur de la directive <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
</table>
- <p>Cette directive permet à l'utilisateur de spécifier un délai pour
- les requêtes mandatées. Ceci s'avère utile dans le cas d'un serveur
- d'applications lent et bogué qui a tendance à se bloquer, et si vous
- préférez simplement renvoyer une erreur timeout et abandonner la
- connexion en douceur plutôt que d'attendre jusqu'à ce que le serveur
- veuille bien répondre.</p>
+ <p>Cette directive permet à l'utilisateur de spécifier un délai pour
+ les requêtes mandatées. Ceci s'avère utile dans le cas d'un serveur
+ d'applications lent et bogué qui a tendance à se bloquer, et si vous
+ préférez simplement renvoyer une erreur timeout et abandonner la
+ connexion en douceur plutôt que d'attendre jusqu'à ce que le serveur
+ veuille bien répondre.</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="proxyvia" id="proxyvia">Directive</a> <a name="ProxyVia" id="ProxyVia">ProxyVia</a><a title="Lien permanent" href="#proxyvia" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Information fournie dans l'en-tête de réponse HTTP
-<code>Via</code> pour les requêtes mandatées</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Information fournie dans l'en-tête de réponse HTTP
+<code>Via</code> pour les requêtes mandatées</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyVia On|Off|Full|Block</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyVia Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyVia Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy</td></tr>
</table>
- <p>Cette directive permet de contrôler l'utilisation de l'en-tête
- HTTP <code>Via:</code> par le mandataire. Le but recherché est de
- contrôler le flux des requêtes mandatées tout au long d'une chaîne
+ <p>Cette directive permet de contrôler l'utilisation de l'en-tête
+ HTTP <code>Via:</code> par le mandataire. Le but recherché est de
+ contrôler le flux des requêtes mandatées tout au long d'une chaîne
de serveurs mandataires. Voir <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> (HTTP/1.1),
- section 14.45 pour une description des lignes d'en-tête
+ section 14.45 pour une description des lignes d'en-tête
<code>Via:</code>.</p>
<ul>
- <li>Si elle est définie à <code>Off</code>, valeur par défaut, cette
- directive n'effectue aucun traitement particulier. Si une requête ou
- une réponse contient un en-tête <code>Via:</code>, il est transmis
+ <li>Si elle est définie à <code>Off</code>, valeur par défaut, cette
+ directive n'effectue aucun traitement particulier. Si une requête ou
+ une réponse contient un en-tête <code>Via:</code>, il est transmis
sans modification.</li>
- <li>Si elle est définie à <code>On</code>, chaque requête ou réponse
- se verra ajouter une ligne d'en-tête <code>Via:</code> pour le
+ <li>Si elle est définie à <code>On</code>, chaque requête ou réponse
+ se verra ajouter une ligne d'en-tête <code>Via:</code> pour le
serveur courant.</li>
- <li>Si elle est définie à <code>Full</code>, chaque ligne d'en-tête
+ <li>Si elle est définie à <code>Full</code>, chaque ligne d'en-tête
<code>Via:</code> se verra ajouter la version du serveur Apache
httpd sous la forme d'un champ de commentaire <code>Via:</code>.</li>
- <li>Si elle est définie à <code>Block</code>, chaque requête
- mandatée verra ses lignes d'en-tête <code>Via:</code> supprimées.
- Aucun nouvel en-tête <code>Via:</code> ne sera généré.</li>
+ <li>Si elle est définie à <code>Block</code>, chaque requête
+ mandatée verra ses lignes d'en-tête <code>Via:</code> supprimées.
+ Aucun nouvel en-tête <code>Via:</code> ne sera généré.</li>
</ul>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_proxy.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
</variants>
</metafile>
<div id="preamble"><h1>Module Apache mod_proxy_ajp</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_ajp.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_ajp.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_proxy_ajp.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_proxy_ajp.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module de support AJP pour
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></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>proxy_ajp_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_ajp.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_ajp_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_ajp.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module nécessite le chargement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support du <code>Protocole Apache
- JServ version 1.3</code> (nommé dans la suite de ce document
+ <p>Ce module nécessite le chargement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support du <code>Protocole Apache
+ JServ version 1.3</code> (nommé dans la suite de ce document
<em>AJP13</em>).</p>
- <p>Pour être en mesure d'exploiter le protocole <code>AJP13</code>,
- il est donc nécessaire de charger les modules
+ <p>Pour être en mesure d'exploiter le protocole <code>AJP13</code>,
+ il est donc nécessaire de charger les modules
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code>.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
+ <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
serveurs mandataires ouverts sont dangereux non seulement pour
- votre réseau, mais aussi pour l'Internet au sens large. </p>
+ votre réseau, mais aussi pour l'Internet au sens large. </p>
</div>
</div>
<div id="quickview"><h3>Sujets</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#overviewprotocol">Vue d'ensemble du protocole</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#basppacketstruct">Structure de base des paquets</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rpacetstruct">Structure des paquets de
-requête</a></li>
+requête</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#resppacketstruct">Structure du paquet de la
-réponse</a></li>
+réponse</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_ajp">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_ajp">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_ajp">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_ajp">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<li><a href="../env.html">Documentation sur les variables
<div class="section">
<h2><a name="usage" id="usage">Utilisation</a><a title="Lien permanent" href="#usage" class="permalink">¶</a></h2>
<p>Ce module permet de mandater en inverse un serveur d'application
- d'arrière-plan (comme Apache Tomcat) qui utilise le protocole AJP13.
- Son utilisation est similaire à celle d'un mandataire inverse HTTP,
+ d'arrière-plan (comme Apache Tomcat) qui utilise le protocole AJP13.
+ Son utilisation est similaire à celle d'un mandataire inverse HTTP,
mais s'appuie sur le prefixe <code>ajp://</code> :</p>
<div class="example"><h3>Mandataire inverse simple</h3><pre class="prettyprint lang-config">ProxyPass "/app" "ajp://backend.example.com:8009/app"</pre>
</div>
- <p>On peut aussi configurer un répartiteur de charge :</p>
- <div class="example"><h3>Mandataire inverse avec répartiteur de charge</h3><pre class="prettyprint lang-config"><Proxy balancer://cluster>
+ <p>On peut aussi configurer un répartiteur de charge :</p>
+ <div class="example"><h3>Mandataire inverse avec répartiteur de charge</h3><pre class="prettyprint lang-config"><Proxy balancer://cluster>
BalancerMember ajp://app1.example.com:8009 loadfactor=1
BalancerMember ajp://app2.example.com:8009 loadfactor=2
ProxySet lbmethod=bytraffic
ProxyPass "/app" "balancer://cluster/app"</pre>
</div>
- <p>Notez qu'en général, la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> n'est pas
- nécessaire. La requête AJP inclut l'en-tête host original fourni
- au mandataire, et le serveur d'application est sensé générer des
- en-têtes auto-référençants relatifs à cet hôte ; aucune réécriture
- n'est donc nécessaire.</p>
+ <p>Notez qu'en général, la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> n'est pas
+ nécessaire. La requête AJP inclut l'en-tête host original fourni
+ au mandataire, et le serveur d'application est sensé générer des
+ en-têtes auto-référençants relatifs à cet hôte ; aucune réécriture
+ n'est donc nécessaire.</p>
- <p>La situation la plus courante dans laquelle la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> est nécessaire se
+ <p>La situation la plus courante dans laquelle la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> est nécessaire se
rencontre lorsque le chemin de l'URL au niveau du mandataire est
- différente de celle du serveur d'arrière-plan. Dans ce cas, un
- en-tête redirect peut être réécrit relativement à l'URL de l'hôte
- original (et non du serveur d'arrière-plan <code>ajp://</code> URL)
+ différente de celle du serveur d'arrière-plan. Dans ce cas, un
+ en-tête redirect peut être réécrit relativement à l'URL de l'hôte
+ original (et non du serveur d'arrière-plan <code>ajp://</code> URL)
; par exemple :</p>
- <div class="example"><h3>Réécriture d'un chemin mandaté</h3><pre class="prettyprint lang-config">ProxyPass "/apps/foo" "ajp://backend.example.com:8009/foo"
+ <div class="example"><h3>Réécriture d'un chemin mandaté</h3><pre class="prettyprint lang-config">ProxyPass "/apps/foo" "ajp://backend.example.com:8009/foo"
ProxyPassReverse "/apps/foo" "http://www.example.com/foo"</pre>
</div>
- <p>Il est cependant préférable en général de déployer l'application
- sur le serveur d'arrière-plan avec le même chemin que sur le
+ <p>Il est cependant préférable en général de déployer l'application
+ sur le serveur d'arrière-plan avec le même chemin que sur le
mandataire.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="env" id="env">Variables d'environnement</a><a title="Lien permanent" href="#env" class="permalink">¶</a></h2>
- <p>Les variables d'environnement dont le nom possède le préfixe
+ <p>Les variables d'environnement dont le nom possède le préfixe
<code>AJP_</code> sont transmises au serveur original en tant
- qu'attributs de requête AJP (le préfixe AJP_ étant supprimé du nom
- de la clé).</p>
+ qu'attributs de requête AJP (le préfixe AJP_ étant supprimé du nom
+ de la clé).</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="overviewprotocol" id="overviewprotocol">Vue d'ensemble du protocole</a><a title="Lien permanent" href="#overviewprotocol" class="permalink">¶</a></h2>
- <p>Le protocole <code>AJP13</code> est orienté paquet. Le format
- binaire a été préféré, probablement pour des raisons de
+ <p>Le protocole <code>AJP13</code> est orienté paquet. Le format
+ binaire a été préféré, probablement pour des raisons de
performances, au format texte pourtant plus lisible. Le serveur web
communique avec le conteneur de servlets sur une connexion TCP. Pour
- diminuer la charge induite par le processus de création de socket,
+ diminuer la charge induite par le processus de création de socket,
le serveur web va tenter d'utiliser des connexions TCP persistantes
- avec le conteneur de servlets, et de réutiliser les connexions
- pendant plusieurs cycles requêtes/réponse.</p>
- <p>Lorsqu'une connexion a été assignée à une requête particulière,
- elle ne sera utilisée pour aucune autre jusqu'à ce que le cycle de
- traitement de la requête se soit terminé. En d'autres termes, il n'y
- a pas de multiplexage des requêtes sur une connexion. Ceci se
- traduit par un code beaucoup plus simple à chaque extrémité de la
- connexion, un nombre plus important de connexions étant cependant
- ouvertes en même temps.</p>
+ avec le conteneur de servlets, et de réutiliser les connexions
+ pendant plusieurs cycles requêtes/réponse.</p>
+ <p>Lorsqu'une connexion a été assignée à une requête particulière,
+ elle ne sera utilisée pour aucune autre jusqu'à ce que le cycle de
+ traitement de la requête se soit terminé. En d'autres termes, il n'y
+ a pas de multiplexage des requêtes sur une connexion. Ceci se
+ traduit par un code beaucoup plus simple à chaque extrémité de la
+ connexion, un nombre plus important de connexions étant cependant
+ ouvertes en même temps.</p>
<p>Lorsque le serveur web a ouvert une connexion vers le conteneur
- de servlets, celle-ci peut se trouver dans l'un des états suivants
+ de servlets, celle-ci peut se trouver dans l'un des états suivants
:</p>
<ul>
- <li> Idle <br /> Aucune requête n'est traitée sur cette
+ <li> Idle <br /> Aucune requête n'est traitée sur cette
connexion. </li>
<li> Assigned <br /> La connexion fait l'objet d'un traitement de
- requête.</li>
+ requête.</li>
</ul>
- <p>Lorsqu'une connexion est assignée au traitement d'une requête
- particulière, les informations de base de cette dernière (comme les
- en-têtes HTTP, etc...) sont envoyées sur la connexion sous une forme
- très condensée (par exemple les chaînes courantes sont codées sous
- forme d'entiers). Vous trouverez des détails sur ce format plus
- loin dans la structure des paquets de requête. Si la requête possède
- un corps <code>(content-length > 0)</code>, il est envoyé dans un
- paquet séparé immédiatement après.</p>
- <p>A ce moment, le conteneur est probablement prêt à traiter la
- requête. Au cours de ce traitement, il peut renvoyer les messages
+ <p>Lorsqu'une connexion est assignée au traitement d'une requête
+ particulière, les informations de base de cette dernière (comme les
+ en-têtes HTTP, etc...) sont envoyées sur la connexion sous une forme
+ très condensée (par exemple les chaînes courantes sont codées sous
+ forme d'entiers). Vous trouverez des détails sur ce format plus
+ loin dans la structure des paquets de requête. Si la requête possède
+ un corps <code>(content-length > 0)</code>, il est envoyé dans un
+ paquet séparé immédiatement après.</p>
+ <p>A ce moment, le conteneur est probablement prêt à traiter la
+ requête. Au cours de ce traitement, il peut renvoyer les messages
suivants au serveur web :</p>
<ul>
- <li>SEND_HEADERS <br />Renvoie un jeu d'en-têtes au navigateur.</li>
- <li>SEND_BODY_CHUNK <br />Renvoie un tronçon de corps de requête au
+ <li>SEND_HEADERS <br />Renvoie un jeu d'en-têtes au navigateur.</li>
+ <li>SEND_BODY_CHUNK <br />Renvoie un tronçon de corps de requête au
navigateur.
</li>
- <li>GET_BODY_CHUNK <br />Reçoit un autre tronçon de données de la
- requête si elle n'a pas encore été transmise intégralement. Ce type
- de transmission est nécessaire car les paquets possèdent une taille
- maximale fixe, et des quantités quelconques de données peuvent être
- contenues dans le corps de la requête (pour un chargement de
- fichier, par exemple). Notez que cela n'a rien à voir avec le
- transfert HTTP fractionné.</li>
+ <li>GET_BODY_CHUNK <br />Reçoit un autre tronçon de données de la
+ requête si elle n'a pas encore été transmise intégralement. Ce type
+ de transmission est nécessaire car les paquets possèdent une taille
+ maximale fixe, et des quantités quelconques de données peuvent être
+ contenues dans le corps de la requête (pour un chargement de
+ fichier, par exemple). Notez que cela n'a rien à voir avec le
+ transfert HTTP fractionné.</li>
<li>END_RESPONSE <br /> Termine le cycle du traitement de la
- requête.</li>
+ requête.</li>
</ul>
- <p>Chaque message est associé à un paquet de données formaté
- différemment. Voir plus loin les structures des paquets de réponses
- pour plus de détails.</p>
+ <p>Chaque message est associé à un paquet de données formaté
+ différemment. Voir plus loin les structures des paquets de réponses
+ pour plus de détails.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="basppacketstruct" id="basppacketstruct">Structure de base des paquets</a><a title="Lien permanent" href="#basppacketstruct" class="permalink">¶</a></h2>
- <p>Ce protocole hérite en partie de XDR, mais il diffère sur de
+ <p>Ce protocole hérite en partie de XDR, mais il diffère sur de
nombreux points (pas d'alignement sur 4 bits, par exemple).</p>
- <p>AJP13 utilise les octets selon leur ordre d'arrivée par le réseau
- pour tous les types de données.</p>
- <p>Le protocole comporte quatre types de données : octets, booléens,
- entiers et chaînes de caractères.</p>
+ <p>AJP13 utilise les octets selon leur ordre d'arrivée par le réseau
+ pour tous les types de données.</p>
+ <p>Le protocole comporte quatre types de données : octets, booléens,
+ entiers et chaînes de caractères.</p>
<dl>
<dt><strong>Octet</strong></dt><dd>Un seul octet.</dd>
- <dt><strong>Booléen</strong></dt>
+ <dt><strong>Booléen</strong></dt>
<dd>Un seul octet, <code>1 = vrai</code>, <code>0 = faux</code>.
L'utilisation d'autres valeurs non nulles (dans le style C) peut
fonctionner dans certains cas, mais pas dans certains autres..</dd>
<dt><strong>Entier</strong></dt>
- <dd>Un nombre compris entre <code>0 et 2^16 (32768)</code>, stocké
- sur 2 octets en débutant par l'octet de poids forts.</dd>
- <dt><strong>Chaîne</strong></dt>
- <dd>Une chaîne de taille variable (longueur limitée à 2^16). Elle
- est codée comme suit : les deux premiers octets représentent la
- longueur de la chaîne, les octets suivants constituent la chaîne
+ <dd>Un nombre compris entre <code>0 et 2^16 (32768)</code>, stocké
+ sur 2 octets en débutant par l'octet de poids forts.</dd>
+ <dt><strong>Chaîne</strong></dt>
+ <dd>Une chaîne de taille variable (longueur limitée à 2^16). Elle
+ est codée comme suit : les deux premiers octets représentent la
+ longueur de la chaîne, les octets suivants constituent la chaîne
proprement dite (y compris le '\0' final). Notez que la longueur
- encodée dans les deux premiers octets ne prend pas en compte le
- '\0' final, de la même manière que <code>strlen</code>. Cela peut
- prêter à confusion du point de vue de Java qui est surchargé de
- déclarations d'autoincrémentation étranges destinées à traiter
+ encodée dans les deux premiers octets ne prend pas en compte le
+ '\0' final, de la même manière que <code>strlen</code>. Cela peut
+ prêter à confusion du point de vue de Java qui est surchargé de
+ déclarations d'autoincrémentation étranges destinées à traiter
ces terminateurs. Je suppose que le but dans lequel cela a
- été conçu ainsi était de permettre au code C d'être plus efficace
- lors de la lecture de chaînes en provenance du conteneur de
- servlets -- avec le caractère \0 final, le code C peut transmettre
- des références dans un seul tampon, sans avoir à effectuer de
- copie. En l'absence du caractère \0 final, le code C doit
+ été conçu ainsi était de permettre au code C d'être plus efficace
+ lors de la lecture de chaînes en provenance du conteneur de
+ servlets -- avec le caractère \0 final, le code C peut transmettre
+ des références dans un seul tampon, sans avoir à effectuer de
+ copie. En l'absence du caractère \0 final, le code C doit
effectuer une copie afin de pouvoir tenir compte de sa notion de
- chaîne.</dd>
+ chaîne.</dd>
</dl>
<h3>Taille du paquet</h3>
- <p>Selon la majorité du code, la taille maximale du paquet est de
- <code>8 * 1024 bytes (8K)</code>. La taille réelle du paquet est
- encodée dans l'en-tête.</p>
+ <p>Selon la majorité du code, la taille maximale du paquet est de
+ <code>8 * 1024 bytes (8K)</code>. La taille réelle du paquet est
+ encodée dans l'en-tête.</p>
- <h3>En-têtes de paquet</h3>
- <p>Les paquets envoyés par le serveur vers le conteneur commencent
- par <code>0x1234</code>. Les paquets envoyés par le conteneur vers
- le serveur commencent par <code>AB</code> (c'est à dire le code
- ASCII de A suivi du code ASCII de B). Ensuite, vient un entier (codé
- comme ci-dessus) représentant la longueur des données transmises.
- Bien que ceci puisse faire croire que la taille maximale des données
- est de 2^16, le code définit en fait ce maximum à 8K.</p>
+ <h3>En-têtes de paquet</h3>
+ <p>Les paquets envoyés par le serveur vers le conteneur commencent
+ par <code>0x1234</code>. Les paquets envoyés par le conteneur vers
+ le serveur commencent par <code>AB</code> (c'est à dire le code
+ ASCII de A suivi du code ASCII de B). Ensuite, vient un entier (codé
+ comme ci-dessus) représentant la longueur des données transmises.
+ Bien que ceci puisse faire croire que la taille maximale des données
+ est de 2^16, le code définit en fait ce maximum à 8K.</p>
<table>
<tr>
<th>Contenu</th>
<td>0x12</td>
<td>0x34</td>
- <td colspan="2">Taille des données (n)</td>
+ <td colspan="2">Taille des données (n)</td>
<td>Data</td>
</tr>
</table>
<th>Contenu</th>
<td>A</td>
<td>B</td>
- <td colspan="2">Taille des données (n)</td>
+ <td colspan="2">Taille des données (n)</td>
<td>Data</td>
</tr>
</table>
<p>Pour la plupart des paquets, le premier octet de la charge utile
- encode le type de message, à l'exception des paquets contenant un
- corps de requête envoyés du serveur vers le conteneur -- ils
- comportent un en-tête standard (<code>0x1234</code> suivi de la taille
- du paquet), mais celui-ci n'est suivi d'aucun préfixe.</p>
+ encode le type de message, à l'exception des paquets contenant un
+ corps de requête envoyés du serveur vers le conteneur -- ils
+ comportent un en-tête standard (<code>0x1234</code> suivi de la taille
+ du paquet), mais celui-ci n'est suivi d'aucun préfixe.</p>
<p>Le serveur web peut envoyer les messages suivants au conteneur
de servlets :</p>
<table>
</tr>
<tr>
<td>2</td>
- <td>Fait suivre la requête</td>
- <td>Débute le cycle de traitement de la requête avec les données
+ <td>Fait suivre la requête</td>
+ <td>Débute le cycle de traitement de la requête avec les données
qui suivent.</td>
</tr>
<tr>
<td>7</td>
- <td>Arrêt</td>
- <td>Le serveur web demande au conteneur de s'arrêter.</td>
+ <td>Arrêt</td>
+ <td>Le serveur web demande au conteneur de s'arrêter.</td>
</tr>
<tr>
<td>8</td>
<td>Ping</td>
- <td>Le serveur web demande au conteneur de prendre le contrôle
- (phase de connexion sécurisée).</td>
+ <td>Le serveur web demande au conteneur de prendre le contrôle
+ (phase de connexion sécurisée).</td>
</tr>
<tr>
<td>10</td>
<td>CPing</td>
- <td>Le serveur web demande au conteneur de répondre rapidement
+ <td>Le serveur web demande au conteneur de répondre rapidement
avec un CPong.
</td>
</tr>
<tr>
<td>none</td>
- <td>Données</td>
- <td>Taille (2 octets) et les données correspondantes.</td>
+ <td>Données</td>
+ <td>Taille (2 octets) et les données correspondantes.</td>
</tr>
</table>
- <p>À des fins de sécurité, le conteneur n'effectuera réellement son
- <code>Arrêt</code> que si la demande provient de la machine par
- laquelle il est hébergé.</p>
- <p>Le premier paquet <code>Données</code> est envoyé immédiatement
- après le paquet <code>Faire suivre la requête</code> par le serveur
+ <p>À des fins de sécurité, le conteneur n'effectuera réellement son
+ <code>Arrêt</code> que si la demande provient de la machine par
+ laquelle il est hébergé.</p>
+ <p>Le premier paquet <code>Données</code> est envoyé immédiatement
+ après le paquet <code>Faire suivre la requête</code> par le serveur
web.</p>
<p>Le conteneur de servlets peut envoyer les types de messages
suivants au serveur web :</p>
</tr>
<tr>
<td>3</td>
- <td>Envoi d'un tronçon de corps</td>
- <td>Envoi d'un tronçon de corps depuis le conteneur de servlets
+ <td>Envoi d'un tronçon de corps</td>
+ <td>Envoi d'un tronçon de corps depuis le conteneur de servlets
vers le serveur web (et probablement vers le navigateur).</td>
</tr>
<tr>
<td>4</td>
- <td>Envoie les en-têtes</td>
- <td>Envoi des en-têtes de réponse depuis le conteneur de
+ <td>Envoie les en-têtes</td>
+ <td>Envoi des en-têtes de réponse depuis le conteneur de
servlets vers le serveur web (et probablement vers le
navigateur).</td>
</tr>
<tr>
<td>5</td>
- <td>Fin de la réponse</td>
- <td>Marque la fin de la réponse (et par conséquent du cycle de
- traitement de la requête).
+ <td>Fin de la réponse</td>
+ <td>Marque la fin de la réponse (et par conséquent du cycle de
+ traitement de la requête).
</td>
</tr>
<tr>
<td>6</td>
- <td>Réception du tronçon de corps suivant</td>
- <td>Réception de la suite des données de la requête si elles
- n'ont pas encore été entièrement transmises.</td>
+ <td>Réception du tronçon de corps suivant</td>
+ <td>Réception de la suite des données de la requête si elles
+ n'ont pas encore été entièrement transmises.</td>
</tr>
<tr>
<td>9</td>
- <td>Réponse CPong</td>
- <td>La réponse à une requête CPing</td>
+ <td>Réponse CPong</td>
+ <td>La réponse à une requête CPing</td>
</tr>
</table>
- <p>Chacun des messages ci-dessus possède une structure interne
- différente dont vous trouverez les détails ci-dessous.</p>
+ <p>Chacun des messages ci-dessus possède une structure interne
+ différente dont vous trouverez les détails ci-dessous.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="rpacetstruct" id="rpacetstruct">Structure des paquets de
-requête</a><a title="Lien permanent" href="#rpacetstruct" class="permalink">¶</a></h2>
- <p>Pour les messages de type <em>Faire suivre la requête</em> depuis
+requête</a><a title="Lien permanent" href="#rpacetstruct" class="permalink">¶</a></h2>
+ <p>Pour les messages de type <em>Faire suivre la requête</em> depuis
le serveur vers le conteneur :</p>
<div class="example"><pre>AJP13_FORWARD_REQUEST :=
prefix_code (byte) 0x02 = JK_AJP13_FORWARD_REQUEST
request_headers *(req_header_name req_header_value)
attributes *(attribut_name attribute_value)
request_terminator (byte) OxFF</pre></div>
- <p>Les <code>request_headers</code> possèdent la structure suivante
+ <p>Les <code>request_headers</code> possèdent la structure suivante
:
</p><div class="example"><pre>req_header_name :=
- sc_req_header_name | (string) [voir ci-dessous pour la manière dont
- ceci est interprété]
+ sc_req_header_name | (string) [voir ci-dessous pour la manière dont
+ ceci est interprété]
sc_req_header_name := 0xA0xx (integer)
req_header_value := (string)</pre></div>
- <p>Les <code>attributes</code> sont optionnels et possèdent la
+ <p>Les <code>attributes</code> sont optionnels et possèdent la
structure suivante :</p>
<div class="example"><pre>attribute_name := sc_a_name | (sc_a_req_attribute string)
attribute_value := (string)</pre></div>
- <p>Un des en-têtes les plus importants est
+ <p>Un des en-têtes les plus importants est
<code>content-length</code>, car il indique si le conteneur doit ou
- non attendre un autre paquet immédiatement.</p>
- <h3>Description détaillée de la requête que le serveur
+ non attendre un autre paquet immédiatement.</p>
+ <h3>Description détaillée de la requête que le serveur
fait suivre vers le conteneur
</h3>
- <h3>Préfixe de la requête</h3>
- <p>Pour toutes les requêtes, ce préfixe est 2. Voir ci-dessus pour
- les détails des autres codes de préfixes.</p>
+ <h3>Préfixe de la requête</h3>
+ <p>Pour toutes les requêtes, ce préfixe est 2. Voir ci-dessus pour
+ les détails des autres codes de préfixes.</p>
- <h3>Méthode</h3>
- <p>La méthode HTTP, encodée sous la forme d'un seul octet :</p>
+ <h3>Méthode</h3>
+ <p>La méthode HTTP, encodée sous la forme d'un seul octet :</p>
<table>
<tr><td>Nom commande</td><td>Code</td></tr>
<tr><td>OPTIONS</td><td>1</td></tr>
<tr><td>BASELINE_CONTROL</td><td>26</td></tr>
<tr><td>MKACTIVITY</td><td>27</td></tr>
</table>
- <p>Les versions futures d'ajp13 pourront transmettre des méthodes
- supplémentaires, même si elles ne font pas partie de cette
+ <p>Les versions futures d'ajp13 pourront transmettre des méthodes
+ supplémentaires, même si elles ne font pas partie de cette
liste.</p>
<h3>protocol, req_uri, remote_addr, remote_host, server_name,
server_port, is_ssl</h3>
- <p>Les significations de ces éléments sont triviales. Ils sont tous
- obligatoires et seront envoyés avec chaque requête.</p>
+ <p>Les significations de ces éléments sont triviales. Ils sont tous
+ obligatoires et seront envoyés avec chaque requête.</p>
- <h3>En-têtes</h3>
+ <h3>En-têtes</h3>
<p>La structure de <code>request_headers</code> est la suivante
- : tout d'abord, le nombre d'en-têtes <code>num_headers</code> est
- encodé, suivi d'une liste de paires nom d'en-tête
+ : tout d'abord, le nombre d'en-têtes <code>num_headers</code> est
+ encodé, suivi d'une liste de paires nom d'en-tête
<code>req_header_name</code> / valeur <code>req_header_value</code>.
- Les noms d'en-têtes courants sont codés sous forme d'entiers afin de
- gagner de la place. Si le nom d'en-tête ne fait partie de la liste
- des en-têtes courants, il est encodé normalement (une chaîne de
- caractères préfixée par la taille). La liste des en-têtes courants
- <code>sc_req_header_name</code> avec leurs codes se présente comme
- suit (il sont tous sensibles à la casse) :</p>
+ Les noms d'en-têtes courants sont codés sous forme d'entiers afin de
+ gagner de la place. Si le nom d'en-tête ne fait partie de la liste
+ des en-têtes courants, il est encodé normalement (une chaîne de
+ caractères préfixée par la taille). La liste des en-têtes courants
+ <code>sc_req_header_name</code> avec leurs codes se présente comme
+ suit (il sont tous sensibles à la casse) :</p>
<table>
<tr><td>Nom</td><td>Valeur du code</td><td>Nom du code</td></tr>
<tr><td>accept</td><td>0xA001</td><td>SC_REQ_ACCEPT</td></tr>
<tr><td>referer</td><td>0xA00D</td><td>SC_REQ_REFERER</td></tr>
<tr><td>user-agent</td><td>0xA00E</td><td>SC_REQ_USER_AGENT</td></tr>
</table>
- <p>Le code Java qui lit ceci extrait l'entier représenté par les
+ <p>Le code Java qui lit ceci extrait l'entier représenté par les
deux premiers octets, et si le premier octet est
- <code>'0xA0'</code>, il utilise l'entier représenté par le deuxième
- octet comme index d'un tableau de noms d'en-têtes. Si le premier
- octet n'est pas <code>0xA0</code>, l'entier représenté par les deux
- octets est considéré comme la longueur d'une chaîne qui est alors
+ <code>'0xA0'</code>, il utilise l'entier représenté par le deuxième
+ octet comme index d'un tableau de noms d'en-têtes. Si le premier
+ octet n'est pas <code>0xA0</code>, l'entier représenté par les deux
+ octets est considéré comme la longueur d'une chaîne qui est alors
lue.</p>
- <p>Ceci ne peut fonctionner que si aucun nom d'en-tête ne possède
- une taille supérieure à <code>0x9FFF (==0xA000 - 1)</code>, ce qui
+ <p>Ceci ne peut fonctionner que si aucun nom d'en-tête ne possède
+ une taille supérieure à <code>0x9FFF (==0xA000 - 1)</code>, ce qui
est vraisemblable, bien qu'un peu arbitraire.</p>
<div class="note"><h3>Note:</h3>
- L'en-tête <code>content-length</code> est extrêmement important.
- S'il est présent et non nul, le conteneur considère que la requête
- possède un corps (une requête POST, par exemple), et lit
- immédiatement le paquet suivant dans le flux d'entrée pour extraire
+ L'en-tête <code>content-length</code> est extrêmement important.
+ S'il est présent et non nul, le conteneur considère que la requête
+ possède un corps (une requête POST, par exemple), et lit
+ immédiatement le paquet suivant dans le flux d'entrée pour extraire
ce corps.
</div>
<h3>Attributs</h3>
- <p>Les attributs préfixés par <code>?</code> (par exemple
+ <p>Les attributs préfixés par <code>?</code> (par exemple
<code>?context</code>) sont tous optionnels. Chacun d'eux est
- représenté par un octet correspondant au type de l'attribut et par
- sa valeur (chaîne ou entier). Ils peuvent être envoyés dans un ordre
+ représenté par un octet correspondant au type de l'attribut et par
+ sa valeur (chaîne ou entier). Ils peuvent être envoyés dans un ordre
quelconque (bien que le code C les envoie dans l'ordre ci-dessous).
- Un code de terminaison spécial est envoyé pour signaler la fin de la
+ Un code de terminaison spécial est envoyé pour signaler la fin de la
liste des attributs optionnels. La liste des codes est la suivante
:</p>
<table>
<tr><td>Information</td><td>Valeur code</td><td>Type de valeur</td><td>Note</td></tr>
- <tr><td>?context</td><td>0x01</td><td>-</td><td>Non implémenté
+ <tr><td>?context</td><td>0x01</td><td>-</td><td>Non implémenté
actuellement
</td></tr>
- <tr><td>?servlet_path</td><td>0x02</td><td>-</td><td>Non implémenté
+ <tr><td>?servlet_path</td><td>0x02</td><td>-</td><td>Non implémenté
actuellement
</td></tr>
<tr><td>?remote_user</td><td>0x03</td><td>String</td><td /></tr>
<tr><td>?req_attribute</td><td>0x0A</td><td>String</td><td>Nom (le
nom de l'attribut vient ensuite)</td></tr>
<tr><td>?ssl_key_size</td><td>0x0B</td><td>Integer</td><td /></tr>
- <tr><td>?secret</td><td>0x0C</td><td>String</td><td>Envoyé si un mot de
- passe est défini</td></tr>
+ <tr><td>?secret</td><td>0x0C</td><td>String</td><td>Envoyé si un mot de
+ passe est défini</td></tr>
<tr><td>are_done</td><td>0xFF</td><td>-</td><td>request_terminator</td></tr>
</table>
<p><code>context</code> et <code>servlet_path</code> ne sont pas
- définis actuellement par le code C, et la majorité du code Java
- ignore complètement ce qui est envoyé par l'intermédiaire de ces
- champs (il va même parfois s'interrompre si une chaîne est
- envoyée après un de ces codes). Je ne sais pas si c'est une bogue ou
- une fonctionnalité non implémentée, ou tout simplement du code
- obsolète, mais en tout cas, il n'est pris en charge par aucune des
- deux extrémités de la connexion.</p>
+ définis actuellement par le code C, et la majorité du code Java
+ ignore complètement ce qui est envoyé par l'intermédiaire de ces
+ champs (il va même parfois s'interrompre si une chaîne est
+ envoyée après un de ces codes). Je ne sais pas si c'est une bogue ou
+ une fonctionnalité non implémentée, ou tout simplement du code
+ obsolète, mais en tout cas, il n'est pris en charge par aucune des
+ deux extrémités de la connexion.</p>
<p><code>remote_user</code> et <code>auth_type</code> concernent
probablement l'authentification au niveau HTTP, et contiennent le
nom de l'utilisateur distant ainsi que le type d'authentification
- utilisée pour établir son identité (à savoir Basic, Digest).</p>
+ utilisée pour établir son identité (à savoir Basic, Digest).</p>
<p><code>query_string</code>, <code>ssl_cert</code>,
<code>ssl_cipher</code>, <code>ssl_session</code> et
<code>ssl_key_size</code> contiennent les
- éléments HTTP et HTTPS correspondants.</p>
- <p><code>jvm_route</code> est utilisé dans le cadre des sessions
- persistantes, en associant une session utilisateur à une instance
- Tomcat particulière en présence de plusieurs répartiteurs de
+ éléments HTTP et HTTPS correspondants.</p>
+ <p><code>jvm_route</code> est utilisé dans le cadre des sessions
+ persistantes, en associant une session utilisateur à une instance
+ Tomcat particulière en présence de plusieurs répartiteurs de
charge.</p>
- <p>Au delà de cette liste de base, tout autre attribut
- supplémentaire peut être envoyé via le code
- <code>req_attribute</code> <code>0x0A</code>. Une paire de chaînes
- représentant le nom et la valeur de l'attribut est envoyée
- immédiatement après chaque instance de ce code. Les variables
- d'environnement sont transmises par cette méthode.</p>
- <p>Le <code>mot de passe</code> est envoyé lorsque la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code> utilise le paramètre
- <code>secret=secret_keyword</code>. Le serveur d'arrière-plan doit savoir
+ <p>Au delà de cette liste de base, tout autre attribut
+ supplémentaire peut être envoyé via le code
+ <code>req_attribute</code> <code>0x0A</code>. Une paire de chaînes
+ représentant le nom et la valeur de l'attribut est envoyée
+ immédiatement après chaque instance de ce code. Les variables
+ d'environnement sont transmises par cette méthode.</p>
+ <p>Le <code>mot de passe</code> est envoyé lorsque la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code> utilise le paramètre
+ <code>secret=secret_keyword</code>. Le serveur d'arrière-plan doit savoir
utiliser les mots de passe et les valeurs doivent correspondre.
- <code>request.secret</code> ou <code>requiredSecret</code> sont documentés
+ <code>request.secret</code> ou <code>requiredSecret</code> sont documentés
dans la configuration AJP d'Apache Tomcat.</p>
- <p>Enfin, lorsque tous les attributs ont été transmis, le
- terminateur d'attributs, <code>0xFF</code>, est envoyé. Ce dernier
- indique à la fois la fin de la liste d'attributs et la fin du paquet
- de la requête</p>
+ <p>Enfin, lorsque tous les attributs ont été transmis, le
+ terminateur d'attributs, <code>0xFF</code>, est envoyé. Ce dernier
+ indique à la fois la fin de la liste d'attributs et la fin du paquet
+ de la requête</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="resppacketstruct" id="resppacketstruct">Structure du paquet de la
-réponse</a><a title="Lien permanent" href="#resppacketstruct" class="permalink">¶</a></h2>
+réponse</a><a title="Lien permanent" href="#resppacketstruct" class="permalink">¶</a></h2>
<p>Pour les messages que le conteneur peut renvoyer au
serveur.</p>
<div class="example"><pre>AJP13_SEND_BODY_CHUNK :=
response_headers *(res_header_name header_value)
res_header_name :=
- sc_res_header_name | (string) [voir ci-dessous pour la manière
- dont ceci est interprété]
+ sc_res_header_name | (string) [voir ci-dessous pour la manière
+ dont ceci est interprété]
sc_res_header_name := 0xA0 (byte)
AJP13_GET_BODY_CHUNK :=
prefix_code 6
requested_length (integer)</pre></div>
- <h3>Détails:</h3>
- <h3>Envoi d'un tronçon de corps</h3>
- <p>Le tronçon se compose essentiellement de données binaires et est
- renvoyé directement au navigateur.</p>
+ <h3>Détails:</h3>
+ <h3>Envoi d'un tronçon de corps</h3>
+ <p>Le tronçon se compose essentiellement de données binaires et est
+ renvoyé directement au navigateur.</p>
- <h3>Envoi des en-têtes</h3>
- <p>Les code et message d'état correspondent aux code et message HTTP
+ <h3>Envoi des en-têtes</h3>
+ <p>Les code et message d'état correspondent aux code et message HTTP
habituels (par exemple <code>200</code> et <code>OK</code>). Les
- noms d'en-têtes de réponses sont codés de la même façon que les noms
- d'en-têtes de requêtes. Voir ci-dessus le codage des en-têtes pour
- plus de détails à propos de la manière dont les codes se distinguent
- des chaînes.<br />
- Les codes des en-têtes courants sont ::</p>
+ noms d'en-têtes de réponses sont codés de la même façon que les noms
+ d'en-têtes de requêtes. Voir ci-dessus le codage des en-têtes pour
+ plus de détails à propos de la manière dont les codes se distinguent
+ des chaînes.<br />
+ Les codes des en-têtes courants sont ::</p>
<table>
<tr><td>Nom</td><td>Valeur code</td></tr>
<tr><td>Content-Type</td><td>0xA001</td></tr>
<tr><td>Status</td><td>0xA00A</td></tr>
<tr><td>WWW-Authenticate</td><td>0xA00B</td></tr>
</table>
- <p>La valeur de l'en-tête est codée immédiatement après le code ou
- la chaîne du nom d'en-tête.</p>
+ <p>La valeur de l'en-tête est codée immédiatement après le code ou
+ la chaîne du nom d'en-tête.</p>
- <h3>Fin de la réponse</h3>
- <p>Signale la fin de ce cycle de traitement de requête. Si le
- drapeau <code>reuse</code> est à true <code>(toute valeur autre que
+ <h3>Fin de la réponse</h3>
+ <p>Signale la fin de ce cycle de traitement de requête. Si le
+ drapeau <code>reuse</code> est à true <code>(toute valeur autre que
0 en langage C pur)</code>, cette
- connexion TCP peut être réutilisée pour traiter de nouvelles
- requêtes entrantes. Si <code>reuse</code> est à false
- (==0), la connexion sera fermée.</p>
+ connexion TCP peut être réutilisée pour traiter de nouvelles
+ requêtes entrantes. Si <code>reuse</code> est à false
+ (==0), la connexion sera fermée.</p>
- <h3>Réception d'un tronçon de corps</h3>
- <p>Le conteneur réclame la suite des données de la requête (dans le
- cas où la taille du corps était trop importante pour pouvoir être
- contenue dans le premier paquet envoyé, où lorsque la requête est
- fractionnée). Le serveur va alors envoyer un paquet contenant une
- quantité de données correspondant au minimum de la
- <code>request_length</code>, la taille maximale de corps envoyée
- <code>(8186 (8 Koctets - 6))</code>, et le nombre réel d'octets
- restants à envoyer pour ce corps de requête.<br />
- S'il ne reste plus de données à transmettre pour ce corps de requête
- (c'est à dire si le conteneur de servlets tente de lire au delà de
+ <h3>Réception d'un tronçon de corps</h3>
+ <p>Le conteneur réclame la suite des données de la requête (dans le
+ cas où la taille du corps était trop importante pour pouvoir être
+ contenue dans le premier paquet envoyé, où lorsque la requête est
+ fractionnée). Le serveur va alors envoyer un paquet contenant une
+ quantité de données correspondant au minimum de la
+ <code>request_length</code>, la taille maximale de corps envoyée
+ <code>(8186 (8 Koctets - 6))</code>, et le nombre réel d'octets
+ restants à envoyer pour ce corps de requête.<br />
+ S'il ne reste plus de données à transmettre pour ce corps de requête
+ (c'est à dire si le conteneur de servlets tente de lire au delà de
la fin du corps), le serveur va renvoyer un paquet <em>vide</em>
- dont la charge utile est de longueur 0 et se présentant sous la
+ dont la charge utile est de longueur 0 et se présentant sous la
forme <code>(0x12,0x34,0x00,0x00)</code>.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_ajp.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_ajp.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_proxy_ajp.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_proxy_ajp.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_proxy_balancer</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_balancer.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_balancer.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_proxy_balancer.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_proxy_balancer.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Extension de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le support de
-la répartition de charge</td></tr>
+la répartition de charge</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>proxy_balancer_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_balancer.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_balancer_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_balancer.c</td></tr></table>
<h3>Sommaire</h3>
<p>Pour pouvoir fonctionner, ce module <em>requiert</em> le
chargement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, et il fournit le support de
- la répartition de charge pour tous les protocoles supportés. Parmi ces
+ la répartition de charge pour tous les protocoles supportés. Parmi ces
protocoles, les plus importants sont :</p>
<ul>
<li>HTTP, avec le module <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code></li>
</ul>
- <p>L'algorithme de planification de la répartition de charge n'est pas
+ <p>L'algorithme de planification de la répartition de charge n'est pas
fourni par ce module, mais par ceux-ci :</p>
<ul>
<li><code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code></li>
<li><code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code></li>
</ul>
- <p>Ainsi, pour mettre en oeuvre la répartition de charge,
+ <p>Ainsi, pour mettre en oeuvre la répartition de charge,
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> et
au moins un des modules fournissant l'algorithme de planification de
- la répartition de charge doivent être chargés dans le serveur.</p>
+ la répartition de charge doivent être chargés dans le serveur.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
+ <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
serveurs mandataires ouverts sont dangereux non seulement pour
- votre réseau, mais aussi pour l'Internet au sens large.</p>
+ votre réseau, mais aussi pour l'Internet au sens large.</p>
</div>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#scheduler">L'algorithme de planification de la répartition de
+<li><img alt="" src="../images/down.gif" /> <a href="#scheduler">L'algorithme de planification de la répartition de
charge</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#stickyness">Répartition de charge avec abonnement utilisateur
+<li><img alt="" src="../images/down.gif" /> <a href="#stickyness">Répartition de charge avec abonnement utilisateur
(stickyness)</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#example">Exemples de configuration d'un répartiteur</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#environment">Variables d'environnement exportées</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#balancer_manager">Activation du support du gestionnaire de répartiteur</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#stickyness_implementation">Détails à propos de la répartition de charge par abonnement
+<li><img alt="" src="../images/down.gif" /> <a href="#example">Exemples de configuration d'un répartiteur</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#environment">Variables d'environnement exportées</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#balancer_manager">Activation du support du gestionnaire de répartiteur</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#stickyness_implementation">Détails à propos de la répartition de charge par abonnement
(stickyness)</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#stickyness_troubleshooting">Résolution des problèmes liés à la répartition de charge par
+<li><img alt="" src="../images/down.gif" /> <a href="#stickyness_troubleshooting">Résolution des problèmes liés à la répartition de charge par
abonnement</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_balancer">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_balancer">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_balancer">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_balancer">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<li><code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code></li>
<li><a href="#comments_section">Commentaires</a></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="scheduler" id="scheduler">L'algorithme de planification de la répartition de
+<h2><a name="scheduler" id="scheduler">L'algorithme de planification de la répartition de
charge</a><a title="Lien permanent" href="#scheduler" class="permalink">¶</a></h2>
- <p>A l'heure actuelle, 4 algorithmes de planification de la répartition de
+ <p>A l'heure actuelle, 4 algorithmes de planification de la répartition de
charge sont disponibles : ils se basent respectivement sur le comptage des
- requêtes (<code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code>), la mesure de
- l'intensité du trafic (<code class="module"><a href="../mod/mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></code>), le comptage
- des requêtes en attente (<code class="module"><a href="../mod/mod_lbmethod_bybusyness.html">mod_lbmethod_bybusyness</a></code>) et la
- mesure de l'activité du serveur (<code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code>).
- Ils sont contrôlés par la valeur de <code>lbmethod</code> dans la définition
- du répartiteur. Voir la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> pour plus de détails, et en
- particulier la configuration du répartiteur et de ses membres.</p>
+ requêtes (<code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code>), la mesure de
+ l'intensité du trafic (<code class="module"><a href="../mod/mod_lbmethod_bytraffic.html">mod_lbmethod_bytraffic</a></code>), le comptage
+ des requêtes en attente (<code class="module"><a href="../mod/mod_lbmethod_bybusyness.html">mod_lbmethod_bybusyness</a></code>) et la
+ mesure de l'activité du serveur (<code class="module"><a href="../mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code>).
+ Ils sont contrôlés par la valeur de <code>lbmethod</code> dans la définition
+ du répartiteur. Voir la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> pour plus de détails, et en
+ particulier la configuration du répartiteur et de ses membres.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="stickyness" id="stickyness">Répartition de charge avec abonnement utilisateur
+<h2><a name="stickyness" id="stickyness">Répartition de charge avec abonnement utilisateur
(stickyness)</a><a title="Lien permanent" href="#stickyness" class="permalink">¶</a></h2>
- <p>Le répartiteur supporte l'abonnement utilisateur. Lorsqu'une
- requête est mandatée vers un serveur d'arrière-plan particulier,
- toutes les requêtes suivantes du même utilisateur seront alors
- mandatées vers le même serveur d'arrière-plan. De nombreux
- répartiteurs de charge implémentent cette fonctionnalité via une
+ <p>Le répartiteur supporte l'abonnement utilisateur. Lorsqu'une
+ requête est mandatée vers un serveur d'arrière-plan particulier,
+ toutes les requêtes suivantes du même utilisateur seront alors
+ mandatées vers le même serveur d'arrière-plan. De nombreux
+ répartiteurs de charge implémentent cette fonctionnalité via une
table qui associe les adresses IP des clients aux serveurs
- d'arrière-plan. Cette approche est transparente aux clients et aux
- serveurs d'arrière-plan, mais induit certains problèmes :
- distribution de charge inégale si les clients se trouvent eux-mêmes
- derrière un mandataire, erreurs d'abonnement lorsqu'un client
- possède une adresse IP dynamique qui peut changer au cours d'une
- session et perte d'abonnement en cas de dépassement de la table de
+ d'arrière-plan. Cette approche est transparente aux clients et aux
+ serveurs d'arrière-plan, mais induit certains problèmes :
+ distribution de charge inégale si les clients se trouvent eux-mêmes
+ derrière un mandataire, erreurs d'abonnement lorsqu'un client
+ possède une adresse IP dynamique qui peut changer au cours d'une
+ session et perte d'abonnement en cas de dépassement de la table de
correspondances.</p>
- <p>Le module <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> implémente
+ <p>Le module <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> implémente
l'abonnement selon deux alternatives : les cookies et le codage
- d'URL. Le cookie peut être fourni par le serveur d'arrière-plan ou
- par le serveur web Apache lui-même, alors que le codage d'URL est en
- général effectué par le serveur d'arrière-plan.</p>
+ d'URL. Le cookie peut être fourni par le serveur d'arrière-plan ou
+ par le serveur web Apache lui-même, alors que le codage d'URL est en
+ général effectué par le serveur d'arrière-plan.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="example" id="example">Exemples de configuration d'un répartiteur</a><a title="Lien permanent" href="#example" class="permalink">¶</a></h2>
+<h2><a name="example" id="example">Exemples de configuration d'un répartiteur</a><a title="Lien permanent" href="#example" class="permalink">¶</a></h2>
- <p>Avant de nous plonger dans les détails techniques, voici un
+ <p>Avant de nous plonger dans les détails techniques, voici un
exemple d'utilisation de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> mettant
- en oeuvre la répartition de charge entre deux serveurs
- d'arrière-plan :
+ en oeuvre la répartition de charge entre deux serveurs
+ d'arrière-plan :
</p>
<pre class="prettyprint lang-config"><Proxy balancer://mycluster>
- <p>Voici un autre exemple de répartiteur de charge avec
+ <p>Voici un autre exemple de répartiteur de charge avec
abonnement utilisant <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>,
- fonctionnant même si le serveur d'arrière-plan ne définit pas de
- cookie de session approprié :
+ fonctionnant même si le serveur d'arrière-plan ne définit pas de
+ cookie de session approprié :
</p>
<pre class="prettyprint lang-config">Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="environment" id="environment">Variables d'environnement exportées</a><a title="Lien permanent" href="#environment" class="permalink">¶</a></h2>
+<h2><a name="environment" id="environment">Variables d'environnement exportées</a><a title="Lien permanent" href="#environment" class="permalink">¶</a></h2>
- <p>A l'heure actuelle, 6 variables d'environnement sont exportées :</p>
+ <p>A l'heure actuelle, 6 variables d'environnement sont exportées :</p>
<dl>
<dt><var><a name="balancer_session_sticky" id="balancer_session_sticky">BALANCER_SESSION_STICKY</a></var></dt>
<dd>
- <p>Cette variable se voir assignée la valeur de
- <var>stickysession</var> pour la requête courante. Il s'agit du
- nom du cookie ou du paramètre de requête utilisé pour les sessions
+ <p>Cette variable se voir assignée la valeur de
+ <var>stickysession</var> pour la requête courante. Il s'agit du
+ nom du cookie ou du paramètre de requête utilisé pour les sessions
avec abonnement.</p>
</dd>
<dt><var><a name="balancer_session_route" id="balancer_session_route">BALANCER_SESSION_ROUTE</a></var></dt>
<dd>
- <p>Cette variable se voit assignée la <var>route</var> interprétée
- pour la requête courante.</p>
+ <p>Cette variable se voit assignée la <var>route</var> interprétée
+ pour la requête courante.</p>
</dd>
<dt><var><a name="balancer_name" id="balancer_name">BALANCER_NAME</a></var></dt>
<dd>
- <p>Cette variable se voit assigné le nom du répartiteur pour la
- requête courante. Il s'agit d'une valeur du style
+ <p>Cette variable se voit assigné le nom du répartiteur pour la
+ requête courante. Il s'agit d'une valeur du style
<code>balancer://foo</code>.</p>
</dd>
<dt><var><a name="balancer_worker_name" id="balancer_worker_name">BALANCER_WORKER_NAME</a></var></dt>
<dd>
- <p>Cette variable se voit assigné le nom du membre du groupe de
- répartition de charge utilisé pour la requête courante. Il s'agit
+ <p>Cette variable se voit assigné le nom du membre du groupe de
+ répartition de charge utilisé pour la requête courante. Il s'agit
d'une valeur du style <code>http://hostA:1234</code>.</p>
</dd>
<dt><var><a name="balancer_worker_route" id="balancer_worker_route">BALANCER_WORKER_ROUTE</a></var></dt>
<dd>
- <p>Cette variable se voit assignée la <var>route</var> du membre du
- groupe de répartition de charge qui sera utilisé pour la requête
+ <p>Cette variable se voit assignée la <var>route</var> du membre du
+ groupe de répartition de charge qui sera utilisé pour la requête
courante.</p>
</dd>
<dt><var><a name="balancer_route_changed" id="balancer_route_changed">BALANCER_ROUTE_CHANGED</a></var></dt>
<dd>
- <p>Cette variable est définie à 1 si la route de la session ne
- correspond pas à celle du membre du groupe de répartition de charge
+ <p>Cette variable est définie à 1 si la route de la session ne
+ correspond pas à celle du membre du groupe de répartition de charge
(BALANCER_SESSION_ROUTE != BALANCER_WORKER_ROUTE), ou si la session
- ne possède pas encore de route établie. Elle peut servir à
- déterminer quand il est éventuellement nécessaire d'envoyer au
- client une route mise à jour lorsque les sessions persistantes sont
- utilisées.</p>
+ ne possède pas encore de route établie. Elle peut servir à
+ déterminer quand il est éventuellement nécessaire d'envoyer au
+ client une route mise à jour lorsque les sessions persistantes sont
+ utilisées.</p>
</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="balancer_manager" id="balancer_manager">Activation du support du gestionnaire de répartiteur</a><a title="Lien permanent" href="#balancer_manager" class="permalink">¶</a></h2>
+<h2><a name="balancer_manager" id="balancer_manager">Activation du support du gestionnaire de répartiteur</a><a title="Lien permanent" href="#balancer_manager" class="permalink">¶</a></h2>
- <p>Cette fonctionnalité <em>nécessite</em> le chargement du module
- <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. Le gestionnaire de répartiteur permet
- la mise à jour dynamique des membres du groupe de répartition de
- charge. Vous pouvez utiliser le gestionnaire de répartiteur pour
+ <p>Cette fonctionnalité <em>nécessite</em> le chargement du module
+ <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. Le gestionnaire de répartiteur permet
+ la mise à jour dynamique des membres du groupe de répartition de
+ charge. Vous pouvez utiliser le gestionnaire de répartiteur pour
modifier le facteur de charge d'un membre particulier, ou passer ce
dernier en mode hors ligne.
</p>
- <p>Ainsi, pour mettre en oeuvre la gestion du répartiteur de charge,
+ <p>Ainsi, pour mettre en oeuvre la gestion du répartiteur de charge,
<code class="module"><a href="../mod/mod_status.html">mod_status</a></code> et <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>
- doivent être chargés dans le serveur.</p>
+ doivent être chargés dans le serveur.</p>
- <p>Pour permettre la gestion du répartiteur de charge aux
- navigateurs appartenant au domaine example.com, ajoutez ces lignes à
+ <p>Pour permettre la gestion du répartiteur de charge aux
+ navigateurs appartenant au domaine example.com, ajoutez ces lignes à
votre fichier de configuration <code>httpd.conf</code> :</p>
<pre class="prettyprint lang-config"><Location "/balancer-manager">
SetHandler balancer-manager
</Location></pre>
- <p>Vous pourrez alors accéder au gestionnaire du répartiteur de
+ <p>Vous pourrez alors accéder au gestionnaire du répartiteur de
charge en utilisant un navigateur web pour afficher la page
<code>http://nom.de.votre.serveur/balancer-manager</code>. Notez que
- pour pouvoir contrôler dynamiquement un membre de groupe de
- répartition, ce dernier ne doit pas être défini au sein d'une
+ pour pouvoir contrôler dynamiquement un membre de groupe de
+ répartition, ce dernier ne doit pas être défini au sein d'une
section <code><Location ...></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="stickyness_implementation" id="stickyness_implementation">Détails à propos de la répartition de charge par abonnement
+<h2><a name="stickyness_implementation" id="stickyness_implementation">Détails à propos de la répartition de charge par abonnement
(stickyness)</a><a title="Lien permanent" href="#stickyness_implementation" class="permalink">¶</a></h2>
- <p>Si l'abonnement s'appuie sur un cookie, vous devez définir le nom
- de ce cookie dont le contenu précise le serveur d'arrière-plan à
+ <p>Si l'abonnement s'appuie sur un cookie, vous devez définir le nom
+ de ce cookie dont le contenu précise le serveur d'arrière-plan à
utiliser. Pour ce faire, on utilise l'attribut
<var>stickysession</var> avec la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code>. Le nom du cookie est
- sensible à la casse. Le répartiteur extrait le contenu du cookie et
- recherche un serveur membre dont la <var>route</var> correspond à
- cette valeur. La route doit aussi être définie dans la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code>. Le cookie peut être défini
- soit par le serveur d'arrière-plan, soit, comme indiqué dans l'<a href="#example">exemple</a> ci-dessus par le serveur web Apache
- lui-même.</p>
- <p>Certains serveurs d'arrière-plan, tels qu'Apache Tomcat,
- utilisent une forme sensiblement différente de cookie d'abonnement.
- Tomcat ajoute le nom de l'instance Tomcat à la fin de son
- identifiant de session, précédé par un point. Ainsi, si le serveur
+ sensible à la casse. Le répartiteur extrait le contenu du cookie et
+ recherche un serveur membre dont la <var>route</var> correspond à
+ cette valeur. La route doit aussi être définie dans la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code>. Le cookie peut être défini
+ soit par le serveur d'arrière-plan, soit, comme indiqué dans l'<a href="#example">exemple</a> ci-dessus par le serveur web Apache
+ lui-même.</p>
+ <p>Certains serveurs d'arrière-plan, tels qu'Apache Tomcat,
+ utilisent une forme sensiblement différente de cookie d'abonnement.
+ Tomcat ajoute le nom de l'instance Tomcat à la fin de son
+ identifiant de session, précédé par un point. Ainsi, si le serveur
web Apache trouve un point dans la valeur du cookie d'abonnement, il
- n'utilisera que la partie située après ce point pour
- rechercher sa route. Pour que Tomcat puisse connaître son nom
- d'instance, vous devez définir l'attribut <code>jvmRoute</code> dans
- son fichier de configuration <code>conf/server.xml</code> à la
+ n'utilisera que la partie située après ce point pour
+ rechercher sa route. Pour que Tomcat puisse connaître son nom
+ d'instance, vous devez définir l'attribut <code>jvmRoute</code> dans
+ son fichier de configuration <code>conf/server.xml</code> à la
valeur de la <var>route</var> du serveur qui se connecte au Tomcat
- considéré. Le nom du cookie de session utilisé par Tomcat (et plus
- généralement par les applications web Java à base de servlets) est
- <code>JSESSIONID</code> (en majuscules), mais peut être modifié.</p>
+ considéré. Le nom du cookie de session utilisé par Tomcat (et plus
+ généralement par les applications web Java à base de servlets) est
+ <code>JSESSIONID</code> (en majuscules), mais peut être modifié.</p>
- <p>La seconde méthode pour implémenter l'abonnement est le codage
- d'URL. Ici, le serveur web recherche un paramètre dans l'URL de la
- requête. Le nom du paramètre est spécifié par l'attribut
+ <p>La seconde méthode pour implémenter l'abonnement est le codage
+ d'URL. Ici, le serveur web recherche un paramètre dans l'URL de la
+ requête. Le nom du paramètre est spécifié par l'attribut
<var>stickysession</var>. Pour trouver un serveur membre, on
- recherche un serveur dont la <var>route</var> est égale à la valeur
- du paramètre. Comme il n'est pas aisé d'extraire et de manipuler
- tous les liens URL contenus dans les réponses, le travail consistant
- à ajouter les paramètres à chaque lien est généralement effectué par
- le serveur d'arrière-plan qui génère le contenu. Bien qu'il soit
+ recherche un serveur dont la <var>route</var> est égale à la valeur
+ du paramètre. Comme il n'est pas aisé d'extraire et de manipuler
+ tous les liens URL contenus dans les réponses, le travail consistant
+ à ajouter les paramètres à chaque lien est généralement effectué par
+ le serveur d'arrière-plan qui génère le contenu. Bien qu'il soit
possible dans certains cas d'effectuer ces ajouts au niveau du
serveur web via les modules <code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code> ou
- <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code>, cette méthode peut dégrader les
+ <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code>, cette méthode peut dégrader les
performances.</p>
- <p>Les standards Java implémentent le codage d'URL de manière
- sensiblement différente. Ils ajoutent une information de chemin à
+ <p>Les standards Java implémentent le codage d'URL de manière
+ sensiblement différente. Ils ajoutent une information de chemin à
l'URL en utilisant un point-virgule (<code>;</code>) comme
- séparateur, puis ajoutent enfin l'identifiant de session. Comme dans
- le cas des cookies, Apache Tomcat peut insérer la valeur de
+ séparateur, puis ajoutent enfin l'identifiant de session. Comme dans
+ le cas des cookies, Apache Tomcat peut insérer la valeur de
l'attribut <code>jvmRoute</code> dans cette information de chemin.
Pour qu'Apache puisse trouver ce genre d'information de chemin, vous
- devez définir <code>scolonpathdelim</code> à <code>On</code> dans la
+ devez définir <code>scolonpathdelim</code> à <code>On</code> dans la
directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou
<code class="directive"><a href="../mod/mod_proxy.html#proxyset">ProxySet</a></code>.</p>
- <p>Enfin, vous pouvez utiliser simultanément les cookies et le codage
- d'URL en définissant le nom du cookie et le nom du paramètre d'URL
- séparés par une barre verticale (<code>|</code>) comme dans
+ <p>Enfin, vous pouvez utiliser simultanément les cookies et le codage
+ d'URL en définissant le nom du cookie et le nom du paramètre d'URL
+ séparés par une barre verticale (<code>|</code>) comme dans
l'exemple suivant :</p>
<pre class="prettyprint lang-config">ProxyPass "/test" "balancer://mycluster" stickysession=JSESSIONID|jsessionid scolonpathdelim=On
<Proxy balancer://mycluster>
BalancerMember http://192.168.1.51:80 route=node2
</Proxy></pre>
- <p>Si le cookie et le paramètre de requête fournissent tous deux une
- information de route correcte pour la même requête, c'est
- l'information en provenance du paramètre de requête qui sera
+ <p>Si le cookie et le paramètre de requête fournissent tous deux une
+ information de route correcte pour la même requête, c'est
+ l'information en provenance du paramètre de requête qui sera
retenue.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="stickyness_troubleshooting" id="stickyness_troubleshooting">Résolution des problèmes liés à la répartition de charge par
+<h2><a name="stickyness_troubleshooting" id="stickyness_troubleshooting">Résolution des problèmes liés à la répartition de charge par
abonnement</a><a title="Lien permanent" href="#stickyness_troubleshooting" class="permalink">¶</a></h2>
- <p>Si vous êtes confronté à des erreurs d'abonnement, comme la
- nécessité pour les utilisateurs de se reconnecter suite à une perte
- de session d'application, vous devez tout d'abord vérifier si ceci
- n'est pas du à une indisponibilité sporadique des serveurs
- d'arrière-plan ou à une erreur de configuration. La présence de
+ <p>Si vous êtes confronté à des erreurs d'abonnement, comme la
+ nécessité pour les utilisateurs de se reconnecter suite à une perte
+ de session d'application, vous devez tout d'abord vérifier si ceci
+ n'est pas du à une indisponibilité sporadique des serveurs
+ d'arrière-plan ou à une erreur de configuration. La présence de
messages d'erreur de type proxy dans le journal des erreurs d'Apache
- pourra révéler des problèmes de stabilité au niveau des serveurs
- d'arrière-plan.</p>
- <p>Pour contrôler votre configuration, regardez tout d'abord si
- l'abonnement est à base de cookie ou de codage d'URL. L'étape
- suivante consiste à enregistrer certaines données dans le journal
- des accès en utilisant un <code class="directive"><a href="../mod/mod_log_config.html#format de journalisation">format
- de journalisation</a></code> personnalisé. Les champs intéressants
+ pourra révéler des problèmes de stabilité au niveau des serveurs
+ d'arrière-plan.</p>
+ <p>Pour contrôler votre configuration, regardez tout d'abord si
+ l'abonnement est à base de cookie ou de codage d'URL. L'étape
+ suivante consiste à enregistrer certaines données dans le journal
+ des accès en utilisant un <code class="directive"><a href="../mod/mod_log_config.html#format de journalisation">format
+ de journalisation</a></code> personnalisé. Les champs intéressants
sont les suivants :</p>
<dl>
<dt><code>%{MONCOOKIE}C</code></dt>
<dd>La valeur que contient le cookie de nom <code>MONCOOKIE</code>.
- Le nom doit correspondre au nom défini par l'attribut
+ Le nom doit correspondre au nom défini par l'attribut
<var>stickysession</var>.</dd>
<dt><code>%{Set-Cookie}o</code></dt>
- <dd>Ce champ contient tout cookie défini par le serveur
- d'arrière-plan. Vous pouvez ainsi vérifier si le serveur
- d'arrière-plan définit bien le cookie de session auquel vous vous
- attendez, et à quelle valeur il est défini.</dd>
+ <dd>Ce champ contient tout cookie défini par le serveur
+ d'arrière-plan. Vous pouvez ainsi vérifier si le serveur
+ d'arrière-plan définit bien le cookie de session auquel vous vous
+ attendez, et à quelle valeur il est défini.</dd>
<dt><code>%{BALANCER_SESSION_STICKY}e</code></dt>
- <dd>Le nom du cookie ou du paramètre de requête utilisé pour la
+ <dd>Le nom du cookie ou du paramètre de requête utilisé pour la
recherche de l'information de routage.</dd>
<dt><code>%{BALANCER_SESSION_ROUTE}e</code></dt>
- <dd>L'information de routage extraite de la requête.</dd>
+ <dd>L'information de routage extraite de la requête.</dd>
<dt><code>%{BALANCER_WORKER_ROUTE}e</code></dt>
<dd>La route du serveur choisi.</dd>
<dt><code>%{BALANCER_ROUTE_CHANGED}e</code></dt>
<dd>Contient la valeur <code>1</code> si la route extraite de la
- requête est différente de la route du serveur ; autrement dit, le
- traitement de la requête n'a pas pu être effectué dans le cadre
- d'une répartition de charge par abonnement.</dd>
+ requête est différente de la route du serveur ; autrement dit, le
+ traitement de la requête n'a pas pu être effectué dans le cadre
+ d'une répartition de charge par abonnement.</dd>
</dl>
- <p>Les pertes de session sont souvent dues à des expirations de
- session dont la valeur peut en général être configurée au niveau du
- serveur d'arrière-plan.</p>
- <p>Si le niveau de journalisation est défini à <code>debug</code> ou
- plus, le répartiteur journalise aussi des informations détaillées à
+ <p>Les pertes de session sont souvent dues à des expirations de
+ session dont la valeur peut en général être configurée au niveau du
+ serveur d'arrière-plan.</p>
+ <p>Si le niveau de journalisation est défini à <code>debug</code> ou
+ plus, le répartiteur journalise aussi des informations détaillées à
propos de l'abonnement dans le journal des erreurs, ce qui facilite
- la résolution des problèmes d'abonnement. Notez cependant que le
- volume de journalisation pourra alors s'avérer trop important pour
+ la résolution des problèmes d'abonnement. Notez cependant que le
+ volume de journalisation pourra alors s'avérer trop important pour
un serveur en production sous forte charge.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_balancer.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_balancer.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_proxy_balancer.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_proxy_balancer.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_proxy_connect</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_connect.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_connect.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_proxy_connect.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_proxy_connect.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Extension de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le traitement
-des requêtes <code>CONNECT</code></td></tr>
+des requêtes <code>CONNECT</code></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>proxy_connect_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_connect.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_connect_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_connect.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Pour fonctionner, ce module <em>nécessite</em> le chargement de
- <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support de la méthode HTTP
- <code>CONNECT</code>. Cette méthode est principalement utilisée pour
- le franchissement des serveurs mandataires par les requêtes SSL à l'aide
+ <p>Pour fonctionner, ce module <em>nécessite</em> le chargement de
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support de la méthode HTTP
+ <code>CONNECT</code>. Cette méthode est principalement utilisée pour
+ le franchissement des serveurs mandataires par les requêtes SSL à l'aide
d'un tunnel.</p>
- <p>Ainsi, pour pouvoir traiter les requêtes <code>CONNECT</code>,
+ <p>Ainsi, pour pouvoir traiter les requêtes <code>CONNECT</code>,
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code>
- doivent être chargés dans le serveur.</p>
+ doivent être chargés dans le serveur.</p>
- <p>CONNECT est aussi utilisée lorsque le serveur doit envoyer une
- requête HTTPS via un mandataire. Dans ce cas, le serveur se comporte
- comme un client CONNECT. Cette fonctionnalité étant fournie par le
+ <p>CONNECT est aussi utilisée lorsque le serveur doit envoyer une
+ requête HTTPS via un mandataire. Dans ce cas, le serveur se comporte
+ comme un client CONNECT. Cette fonctionnalité étant fournie par le
module <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, le module
- <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> n'est dans ce cas pas nécessaire.</p>
+ <code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> n'est dans ce cas pas nécessaire.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
+ <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
serveurs mandataires ouverts sont dangereux non seulement pour
- votre réseau, mais aussi pour l'Internet au sens large.</p>
+ votre réseau, mais aussi pour l'Internet au sens large.</p>
</div>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#notes">Informations sur les requêtes</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#notes">Informations sur les requêtes</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#allowconnect">AllowCONNECT</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_connect">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_connect">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_connect">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_connect">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<li><a href="#comments_section">Commentaires</a></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="notes" id="notes">Informations sur les requêtes</a><a title="Lien permanent" href="#notes" class="permalink">¶</a></h2>
+<h2><a name="notes" id="notes">Informations sur les requêtes</a><a title="Lien permanent" href="#notes" class="permalink">¶</a></h2>
<p><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code> enregistre les informations
suivantes pour journalisation via le format <code>%{NOMVAR}n</code>
dans les directives <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> ou <code class="directive"><a href="../mod/core.html#errorlogformat">ErrorLogFormat</a></code> :
</p>
<dl>
<dt>proxy-source-port</dt>
- <dd>Le port local utilisé pour la connexion vers le serveur
- d'arrière-plan.</dd>
+ <dd>Le port local utilisé pour la connexion vers le serveur
+ d'arrière-plan.</dd>
</dl>
- <p>Les requêtes avec méthode CONNECT sont traitées dans les sections
- <code class="directive"><a href="../mod/mod_proxy.html#proxy">Proxy</a></code> au même titre que
- toute autre requête HTTP qui passe par cette même section. Il est
- possible de filtrer explicitement les connexions SSL à travers un
- mandataire en spécifiant les nom d'hôte et port cible comme suit :
+ <p>Les requêtes avec méthode CONNECT sont traitées dans les sections
+ <code class="directive"><a href="../mod/mod_proxy.html#proxy">Proxy</a></code> au même titre que
+ toute autre requête HTTP qui passe par cette même section. Il est
+ possible de filtrer explicitement les connexions SSL à travers un
+ mandataire en spécifiant les nom d'hôte et port cible comme suit :
</p>
<pre class="prettyprint lang-config"><Proxy www.example.com:443>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="allowconnect" id="allowconnect">Directive</a> <a name="AllowCONNECT" id="AllowCONNECT">AllowCONNECT</a><a title="Lien permanent" href="#allowconnect" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ports autorisés à se <code>CONNECT</code>er à travers le
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ports autorisés à se <code>CONNECT</code>er à travers le
mandataire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowCONNECT <var>port</var>[-<var>port</var>]
[<var>port</var>[-<var>port</var>]] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowCONNECT 443 563</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowCONNECT 443 563</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy_connect</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Déplacé depuis <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> à partir
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Déplacé depuis <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> à partir
d'Apache 2.3.5. Tranches de ports disponibles depuis Apache 2.3.7.</td></tr>
</table>
<p>La directive <code class="directive">AllowCONNECT</code> permet de
- spécifier une liste de numéros ou de tranches de ports auxquels la
- méthode de mandataire <code>CONNECT</code> pourra se connecter. Les
- navigateurs d'aujourd'hui utilisent cette méthode dans le cas où une
- connexion <code>https</code> est requise et où le tunneling
+ spécifier une liste de numéros ou de tranches de ports auxquels la
+ méthode de mandataire <code>CONNECT</code> pourra se connecter. Les
+ navigateurs d'aujourd'hui utilisent cette méthode dans le cas où une
+ connexion <code>https</code> est requise et où le tunneling
mandataire sur HTTP est en service.</p>
- <p>Par défaut, seuls les ports par défauts https (<code>443</code>)
+ <p>Par défaut, seuls les ports par défauts https (<code>443</code>)
et snews (<code>563</code>) sont pris en compte. Vous pouvez
utiliser la directive <code class="directive">AllowCONNECT</code> pour
- outrepasser ces valeurs par défaut et n'autoriser les connexions que
- vers les ports spécifiés.</p>
+ outrepasser ces valeurs par défaut et n'autoriser les connexions que
+ vers les ports spécifiés.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_connect.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_connect.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_proxy_connect.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_proxy_connect.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_proxy_express</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_express.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_express.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_express.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Extension à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le mandatement
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Extension à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le mandatement
dynamique inverse de masse</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>proxy_express_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_express.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_express_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_express.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module crée dynamiquement en masse des mandataires inverses en
- faisant correspondre l'en-tête Host: de la requête HTTP à un nom de
- serveur et une URL d'arrière-plan stockés dans un fichier DBM. Il
- est ainsi plus aisé d'utiliser un grand nombre de
- mandataires inverses sans avoir à modifier la configuration. Il est
- loin de posséder autant de fonctionnalités que
+ <p>Ce module crée dynamiquement en masse des mandataires inverses en
+ faisant correspondre l'en-tête Host: de la requête HTTP à un nom de
+ serveur et une URL d'arrière-plan stockés dans un fichier DBM. Il
+ est ainsi plus aisé d'utiliser un grand nombre de
+ mandataires inverses sans avoir à modifier la configuration. Il est
+ loin de posséder autant de fonctionnalités que
<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> qui propose aussi la croissance
- dynamique, mais il est conçu pour gérer un nombre beaucoup plus important
- de serveurs d'arrière-plan. Il convient parfaitement pour créer un
+ dynamique, mais il est conçu pour gérer un nombre beaucoup plus important
+ de serveurs d'arrière-plan. Il convient parfaitement pour créer un
commutateur HTTP frontal et pour les architectures Microservices.</p>
- <p>Pour pouvoir être utilisé, ce module nécessite le chargement de
+ <p>Pour pouvoir être utilisé, ce module nécessite le chargement de
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>N'activez le mandatement que si vous avez <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
- serveurs mandataires ouverts sont dangereux pour votre réseau, et
+ <p>N'activez le mandatement que si vous avez <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
+ serveurs mandataires ouverts sont dangereux pour votre réseau, et
dans une plus large mesure pour Internet.</p>
</div>
<div class="note"><h3>Limitations</h3>
<ul>
- <li>Ce module n'est pas conçu pour remplacer les fonctionnalités
+ <li>Ce module n'est pas conçu pour remplacer les fonctionnalités
dynamiques de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>. Par contre, il
- peut constituer une alternative légère et rapide à
+ peut constituer une alternative légère et rapide à
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> lorsque ce dernier utilise la directive
<code class="directive">RewriteMap</code> et le drapeau <code>[P]</code>
- pour le mandatement inverse à partir d'une table de correspondances.
+ pour le mandatement inverse à partir d'une table de correspondances.
</li>
- <li>Il ne supporte pas les mises en correspondance basées sur les
- expressions rationnelles ou les modèles.
+ <li>Il ne supporte pas les mises en correspondance basées sur les
+ expressions rationnelles ou les modèles.
</li>
- <li>Il émule :
+ <li>Il émule :
<pre class="prettyprint lang-config"><VirtualHost *:80>
ServerName front.end.server
ProxyPass "/" "back.end.server:port"
ProxyPassReverse "/" "back.end.server:port"
</VirtualHost></pre>
- En d'autres termes, l'URL dans son ensemble est ajoutée à l'URL
- d'arrière-plan correspondante, tout ceci dans le but de
+ En d'autres termes, l'URL dans son ensemble est ajoutée à l'URL
+ d'arrière-plan correspondante, tout ceci dans le but de
proposer un commutateur mandataire inverse simple mais rapide.
</li>
</ul>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyexpressdbmtype">ProxyExpressDBMType</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyexpressenable">ProxyExpressEnable</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_express">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_express">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_express">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_express">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<li><code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code></li>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier DBM.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyExpressDBMFile <chemin></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#Default">Défaut:</a></th><td><code>None</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_proxy_express</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.13 d'Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.13 d'Apache</td></tr>
</table>
<p>La directive <code class="directive">ProxyExpressDBMFile</code> permet de
- définir le chemin du fichier DBM de correspondance Express. Ce fichier
- permet de faire correspondre le nom de serveur extrait de l'en-tête
- Host: de la requête entrante avec une URL d'arrière-plan.</p>
+ définir le chemin du fichier DBM de correspondance Express. Ce fichier
+ permet de faire correspondre le nom de serveur extrait de l'en-tête
+ Host: de la requête entrante avec une URL d'arrière-plan.</p>
<div class="note"><h3>Note</h3>
- <p>Ce fichier est élaboré à partir d'un fichier texte à l'aide de
+ <p>Ce fichier est élaboré à partir d'un fichier texte à l'aide de
l'utilitaire <code><a href="../programs/httxt2dbm.html">httxt2dbm</a></code>.</p>
<div class="example"><h3>Fichier de correspondances ProxyExpress</h3><p><code>
www3.example.com http://192.168.212.10<br />
</code></p></div>
- <div class="example"><h3>Création du fichier DBM</h3><p><code>
+ <div class="example"><h3>Création du fichier DBM</h3><p><code>
httxt2dbm -i express-map.txt -o emap<br />
</code></p></div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type de fichier DBM.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyExpressDBMFile <type></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>"default"</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>"default"</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_proxy_express</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.13 d'Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.13 d'Apache</td></tr>
</table>
<p>La directive <code class="directive">ProxyExpressDBMType</code> permet de
- définir le type de fichier DBM requis par le module. La valeur par
- défaut correspond au type DBM par défaut du fichier créé par
+ définir le type de fichier DBM requis par le module. La valeur par
+ défaut correspond au type DBM par défaut du fichier créé par
l'utilitaire <code><a href="../programs/httxt2dbm.html">httxt2dbm</a></code>.</p>
- <p>Les valeurs possibles sont (mais toutes ne seront pas disponibles à
- l'exécution) :</p>
+ <p>Les valeurs possibles sont (mais toutes ne seront pas disponibles à
+ l'exécution) :</p>
<table class="bordered"><tr class="header"><th>Value</th><th>Description</th></tr>
<tr><td><code>db</code></td><td>Fichiers Berkeley DB</td></tr>
<tr class="odd"><td><code>gdbm</code></td><td>Fichiers GDBM</td></tr>
<tr><td><code>ndbm</code></td><td>Fichiers NDBM</td></tr>
<tr class="odd"><td><code>sdbm</code></td><td>Fichiers SDBM (toujours disponible)</td></tr>
-<tr><td><code>default</code></td><td>type DBM par défaut</td></tr>
+<tr><td><code>default</code></td><td>type DBM par défaut</td></tr>
</table>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxyexpressenable" id="proxyexpressenable">Directive</a> <a name="ProxyExpressEnable" id="ProxyExpressEnable">ProxyExpressEnable</a><a title="Lien permanent" href="#proxyexpressenable" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la fonctionnalité du module.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la fonctionnalité du module.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyExpressEnable [on|off]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_proxy_express</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.13 d'Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.13 d'Apache</td></tr>
</table>
<p>La directive <code class="directive">ProxyExpressEnable</code> permet
- d'activer/désactiver le module.</p>
+ d'activer/désactiver le module.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_express.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_express.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_express.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_proxy_fcgi</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_fcgi.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_fcgi.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_fcgi.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support de FastCGI à
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support de FastCGI à
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></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>proxy_fcgi_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_fcgi.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_fcgi_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_fcgi.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
<h3>Sommaire</h3>
- <p>Pour fonctionner, ce module <em>nécessite</em> le chargement de
+ <p>Pour fonctionner, ce module <em>nécessite</em> le chargement de
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support du protocole <a href="http://www.fastcgi.com/">FastCGI</a>.</p>
<p>Ainsi, pour pouvoir traiter le protocole <code>FastCGI</code>,
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>
- doivent être chargés dans le serveur.</p>
+ doivent être chargés dans le serveur.</p>
- <p>A la différence de <a href="http://httpd.apache.org/mod_fcgid/">mod_fcgid</a> et <a href="http://www.fastcgi.com/">mod_fastcgi</a>,
- <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> n'est pas en mesure de démarrer le
+ <p>A la différence de <a href="http://httpd.apache.org/mod_fcgid/">mod_fcgid</a> et <a href="http://www.fastcgi.com/">mod_fastcgi</a>,
+ <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> n'est pas en mesure de démarrer le
processus de l'application ; <code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code> est
- fourni à cet effet sur certaines plateformes. Le framework
- applicatif FastCGI utilisé peut aussi fournir la gestion des
+ fourni à cet effet sur certaines plateformes. Le framework
+ applicatif FastCGI utilisé peut aussi fournir la gestion des
processus ou des lancements de programmes externes.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
+ <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
serveurs mandataires ouverts sont dangereux non seulement pour
- votre réseau, mais aussi pour l'Internet au sens large.</p>
+ votre réseau, mais aussi pour l'Internet au sens large.</p>
</div>
</div>
<div id="quickview"><h3>Sujets</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyfcgibackendtype">ProxyFCGIBackendType</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyfcgisetenvif">ProxyFCGISetEnvIf</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_fcgi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_fcgi">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_fcgi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_fcgi">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="program"><a href="../programs/fcgistarter.html">fcgistarter</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
</div>
- <p><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> interdisant par défaut la
- réutilisation des connexions, lorsqu'une requête a été traitée, la
+ <p><code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> interdisant par défaut la
+ réutilisation des connexions, lorsqu'une requête a été traitée, la
connexion ne sera pas maintenue ouverte par le processus enfant
- httpd, et ne sera donc pas réutilisée. Cependant, si l'application
- FastCGI supporte les connexions httpd simultanées, vous pouvez opter
- pour la réutilisation des connexions comme dans l'exemple suivant :</p>
+ httpd, et ne sera donc pas réutilisée. Cependant, si l'application
+ FastCGI supporte les connexions httpd simultanées, vous pouvez opter
+ pour la réutilisation des connexions comme dans l'exemple suivant :</p>
- <div class="example"><h3>Instance d'application unique, réutilisation
- des connexions (versions 2.4.11 et supérieures)</h3><pre class="prettyprint lang-config">ProxyPass "/myapp/" "fcgi://localhost:4000/" enablereuse=on</pre>
+ <div class="example"><h3>Instance d'application unique, réutilisation
+ des connexions (versions 2.4.11 et supérieures)</h3><pre class="prettyprint lang-config">ProxyPass "/myapp/" "fcgi://localhost:4000/" enablereuse=on</pre>
</div>
- <div class="note"><h3>Active la réutilisation des connexions vers un serveur FCGI
- d'arrière-plan tel que PHP-FPM</h3>
- <p>Il faut garder à l'esprit que PHP-FPM (en février 2018) utilise un modèle
+ <div class="note"><h3>Active la réutilisation des connexions vers un serveur FCGI
+ d'arrière-plan tel que PHP-FPM</h3>
+ <p>Il faut garder à l'esprit que PHP-FPM (en février 2018) utilise un modèle
du style prefork ; autrement dit, chacun de ses processus de travail ne peut
- gérer qu'une connexion à la fois.<br /> Par défaut, lorsqu'il est configuré
- avec <code>enablereuse=on</code> et lorsqu'un MPM à base de threads est
- utilisé (comme <code class="module"><a href="../mod/worker.html">worker</a></code> ou <code class="module"><a href="../mod/event.html">event</a></code>), mod_proxy
+ gérer qu'une connexion à la fois.<br /> Par défaut, lorsqu'il est configuré
+ avec <code>enablereuse=on</code> et lorsqu'un MPM à base de threads est
+ utilisé (comme <code class="module"><a href="../mod/worker.html">worker</a></code> ou <code class="module"><a href="../mod/event.html">event</a></code>), mod_proxy
autorise un jeu de <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> connexions vers le serveur
- d'arrière-plan pour chaque processus httpd, et par conséquent, il faut
- prêter une attention particulière aux situations suivantes :</p>
+ d'arrière-plan pour chaque processus httpd, et par conséquent, il faut
+ prêter une attention particulière aux situations suivantes :</p>
<ul>
<li>Avec une charge en HTTP/1, il est fort probable que le nombre de
- connexions vers le serveur FCGI d'arrière-plan augmente jusqu'à atteindre
+ connexions vers le serveur FCGI d'arrière-plan augmente jusqu'à atteindre
<code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>.</li>
- <li>Avec une charge en HTTP/2, et vue la manière dont
- <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> est implémenté, il y a des threads de travail
- h2 additionnels qui peuvent forcer la création de connexions
- supplémentaires vers le serveur d'arrière-plan. Le nombre total de
- connexions que contiennent les jeux de connexions peut alors dépasser
+ <li>Avec une charge en HTTP/2, et vue la manière dont
+ <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> est implémenté, il y a des threads de travail
+ h2 additionnels qui peuvent forcer la création de connexions
+ supplémentaires vers le serveur d'arrière-plan. Le nombre total de
+ connexions que contiennent les jeux de connexions peut alors dépasser
<code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>.</li>
</ul>
- <p>Le nombre maximum de processus de travail PHP-FPM doit être défini
- judicieusement car il est possible qu'ils finissent par rester dans l'état
- occupé ("busy") pour ne gérer que des connexions persistantes inactives,
- sans avoir la possibilité d'en établir de nouvelles ; ce qui se traduira
+ <p>Le nombre maximum de processus de travail PHP-FPM doit être défini
+ judicieusement car il est possible qu'ils finissent par rester dans l'état
+ occupé ("busy") pour ne gérer que des connexions persistantes inactives,
+ sans avoir la possibilité d'en établir de nouvelles ; ce qui se traduira
pour l'utilisateur final par une pile de "HTTP request timeouts".</p>
</div>
- <p>Dans l'exemple suivant, l'URI de la requête est transmis en tant
- que chemin du système de fichiers pour l'exécution du démon PHP-FPM.
- L'URL de la requête est implicitement ajoutée au second paramètre.
- PHP-FPM est à l'écoute de l'hôte et du port qui
- suivent fcgi://. La conservation/réutilisation des connexions est activée.</p>
+ <p>Dans l'exemple suivant, l'URI de la requête est transmis en tant
+ que chemin du système de fichiers pour l'exécution du démon PHP-FPM.
+ L'URL de la requête est implicitement ajoutée au second paramètre.
+ PHP-FPM est à l'écoute de l'hôte et du port qui
+ suivent fcgi://. La conservation/réutilisation des connexions est activée.</p>
<div class="example"><h3>PHP-FPM</h3><pre class="prettyprint lang-config">ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/" enablereuse=on</pre>
</div>
- <p>Dans l'exemple suivant, l'URI de la requête est transmis en tant
- que chemin du système de fichiers pour l'exécution du démon PHP-FPM.
- Dans ce cas cependant, PHP-FPM est à l'écoute d'un socket de domaine
- unix (UDS). Cette fonctionnalité est disponible à partir de la
- version 2.4.9. Avec cette syntaxe, si un nom d'hôte et un port sont
- ajoutés après fcgi://, ils seront ignorés.</p>
+ <p>Dans l'exemple suivant, l'URI de la requête est transmis en tant
+ que chemin du système de fichiers pour l'exécution du démon PHP-FPM.
+ Dans ce cas cependant, PHP-FPM est à l'écoute d'un socket de domaine
+ unix (UDS). Cette fonctionnalité est disponible à partir de la
+ version 2.4.9. Avec cette syntaxe, si un nom d'hôte et un port sont
+ ajoutés après fcgi://, ils seront ignorés.</p>
<div class="example"><h3>PHP-FPM with UDS</h3><pre class="prettyprint lang-config">ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/"</pre>
</div>
- <p>Dans l'exemple suivant, on force le module à traiter les paquets de
- données en provenance du serveur FCGI d'arrière-plan dès leur réception, sans les
+ <p>Dans l'exemple suivant, on force le module à traiter les paquets de
+ données en provenance du serveur FCGI d'arrière-plan dès leur réception, sans les
faire transiter par un tampon.
</p>
- <div class="example"><h3>Force le traitement des données FCGI sans mise en tampon</h3><pre class="prettyprint lang-config">ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/" enablereuse=on flushpackets=on</pre>
+ <div class="example"><h3>Force le traitement des données FCGI sans mise en tampon</h3><pre class="prettyprint lang-config">ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/" enablereuse=on flushpackets=on</pre>
</div>
- <p>L'exemple suivant est similaire au précédent avec une différence : ici,
- les données en provenance du serveur FCGI d'arrière-plan sont traitées après un
- temps de valeur fixe (elles sont mises en tampon). Cette méthode est
- utile si le serveur FCGI d'arrière-plan envoie ses données sous forme
- de petits paquets, auquel cas le traitement immédiat de chacun d'entre eux
+ <p>L'exemple suivant est similaire au précédent avec une différence : ici,
+ les données en provenance du serveur FCGI d'arrière-plan sont traitées après un
+ temps de valeur fixe (elles sont mises en tampon). Cette méthode est
+ utile si le serveur FCGI d'arrière-plan envoie ses données sous forme
+ de petits paquets, auquel cas le traitement immédiat de chacun d'entre eux
serait inefficace et couteux en ressources. Notez que cet exemple ne sera
- peut-être pas adapté dans le cas où l'envoi de paquets de données par
- l'application FCGI est bloqué par l'attente de données en provenance du
+ peut-être pas adapté dans le cas où l'envoi de paquets de données par
+ l'application FCGI est bloqué par l'attente de données en provenance du
client.
</p>
- <div class="example"><h3>Force le traitement des données FCGI après une mise en
+ <div class="example"><h3>Force le traitement des données FCGI après une mise en
tampon de 20ms</h3><pre class="prettyprint lang-config">ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/" flushpackets=on flushwait=20</pre>
</div>
- <p>La passerelle à répartition de charge nécessite le chargement du
+ <p>La passerelle à répartition de charge nécessite le chargement du
module <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> et d'au moins un module
- fournissant un algorithme de répartition de charge, comme
+ fournissant un algorithme de répartition de charge, comme
<code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> en plus des modules
- déjà cités. <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> est le module
- par défaut et sera utilisé dans cet exemple de configuration.</p>
+ déjà cités. <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> est le module
+ par défaut et sera utilisé dans cet exemple de configuration.</p>
- <div class="example"><h3>Passerelle à répartition de charge vers plusieurs
+ <div class="example"><h3>Passerelle à répartition de charge vers plusieurs
instances de l'application</h3><pre class="prettyprint lang-config">ProxyPass "/myapp/" "balancer://myappcluster/"
<Proxy "balancer://myappcluster/">
BalancerMember "fcgi://localhost:4000"
</Proxy></pre>
</div>
- <p>Vous pouvez aussi forcer le traitement d'une requête en tant que
- requête de mandataire inverse en créant un court-circuiteur de
- gestionnaire approprié. Dans l'exemple ci-dessous, toutes les
- requêtes pour des scripts PHP seront transmises au serveur FastCGI
- spécifié par mandat inverse. Cette fonctionnalité est disponible à
+ <p>Vous pouvez aussi forcer le traitement d'une requête en tant que
+ requête de mandataire inverse en créant un court-circuiteur de
+ gestionnaire approprié. Dans l'exemple ci-dessous, toutes les
+ requêtes pour des scripts PHP seront transmises au serveur FastCGI
+ spécifié par mandat inverse. Cette fonctionnalité est disponible à
partir de la version 2.4.10 du serveur HTTP Apache. Pour des raisons
- de performances, il est recommandé de définir un <a href="mod_proxy.html#workers">worker (configuration d'un
- mandataire)</a> représentant le même serveur fcgi:// d'arrière-plan.
+ de performances, il est recommandé de définir un <a href="mod_proxy.html#workers">worker (configuration d'un
+ mandataire)</a> représentant le même serveur fcgi:// d'arrière-plan.
Avec cette configuration, il est possible d'effectuer une
correspondance directe entre l'URI et le chemin du fichier sur le
serveur, et le chemin local du fichier sera alors transmis au serveur
- d'arrière-plan. Lorsque FastCGI est configuré ainsi, le serveur est
- en mesure de calculer le PATH_INFO le plus approprié.
+ d'arrière-plan. Lorsque FastCGI est configuré ainsi, le serveur est
+ en mesure de calculer le PATH_INFO le plus approprié.
</p>
<div class="example"><h3>Mandataire via un gestionnaire</h3><pre class="prettyprint lang-config"><FilesMatch "\.php$">
# Note : la seule partie variable est /path/to/app.sock
SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/"
</FilesMatch>
- # Définition d'une configuration de mandataire qui convient.
+ # Définition d'une configuration de mandataire qui convient.
# La partie qui est mise en correspondance avec la valeur de
# SetHandler est la partie qui suit le "pipe". Si vous devez faire
- # une distinction, "localhost" peut être changé en un nom de serveur
+ # une distinction, "localhost" peut être changé en un nom de serveur
# unique.
<Proxy "fcgi://localhost/" enablereuse=on max=10>
</Proxy>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="env" id="env">Variables d'environnement</a><a title="Lien permanent" href="#env" class="permalink">¶</a></h2>
- <p>En plus des directives de configuration qui contrôlent le
+ <p>En plus des directives de configuration qui contrôlent le
comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, de nombreuses
<dfn>variables d'environnement</dfn> permettent de piloter le
fournisseur du protocole FCGI :</p>
<dl>
<dt>proxy-fcgi-pathinfo</dt>
- <dd>Lorsqu'il est configuré via les directives <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code>,
- <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> ne définit pas la variable
+ <dd>Lorsqu'il est configuré via les directives <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code>,
+ <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> ne définit pas la variable
d'environnement <var>PATH_INFO</var>,
- ce qui permet au serveur FCGI d'arrière-plan de déterminer
+ ce qui permet au serveur FCGI d'arrière-plan de déterminer
correctement <var>SCRIPT_NAME</var> et <var>Script-URI</var>, et
- de se conformer à la section 3.3 de la RFC 3875. Si au contraire
- vous avez souhaitez que <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> génère une
+ de se conformer à la section 3.3 de la RFC 3875. Si au contraire
+ vous avez souhaitez que <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> génère une
"estimation la plus exacte possible" de <var>PATH_INFO</var>,
- définissez la variable d'environnement
+ définissez la variable d'environnement
<var>proxy-fcgi-pathinfo</var>. Ceci peut servir de
- contournement pour une bogue présente dans certaines
- implémentations de FCGI. Cette variable peut être
- multivaluée afin de pouvoir choisir la valeur la plus appropriée
- (versions 2.4.11 et supérieures) :
+ contournement pour une bogue présente dans certaines
+ implémentations de FCGI. Cette variable peut être
+ multivaluée afin de pouvoir choisir la valeur la plus appropriée
+ (versions 2.4.11 et supérieures) :
<dl>
<dt>first-dot</dt>
- <dd>PATH_INFO est extrait à partir du slash qui suit le
+ <dd>PATH_INFO est extrait à partir du slash qui suit le
<em>premier</em> "." de l'URL.</dd>
<dt>last-dot</dt>
- <dd>PATH_INFO est extrait à partir du slash qui suit le
+ <dd>PATH_INFO est extrait à partir du slash qui suit le
<em>dernier</em> "." de l'URL.</dd>
<dt>full</dt>
- <dd>PATH_INFO est calculé en supposant que l'URL correspond au
- chemin du système de fichiers.</dd>
+ <dd>PATH_INFO est calculé en supposant que l'URL correspond au
+ chemin du système de fichiers.</dd>
<dt>unescape</dt>
- <dd>PATH_INFO correspond à la partie chemin de l'URL avec ses
- séquences d'échappement décodées.</dd>
+ <dd>PATH_INFO correspond à la partie chemin de l'URL avec ses
+ séquences d'échappement décodées.</dd>
<dt>toute autre valeur</dt>
- <dd>PATH_INFO correspond à la partie chemin de l'URL.
- Auparavant, c'était la seule option pour proxy-fcgi-pathinfo.</dd>
+ <dd>PATH_INFO correspond à la partie chemin de l'URL.
+ Auparavant, c'était la seule option pour proxy-fcgi-pathinfo.</dd>
</dl>
</dd>
</dl>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxyfcgibackendtype" id="proxyfcgibackendtype">Directive</a> <a name="ProxyFCGIBackendType" id="ProxyFCGIBackendType">ProxyFCGIBackendType</a><a title="Lien permanent" href="#proxyfcgibackendtype" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le type de l'application FastCGI d'arrière-plan</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le type de l'application FastCGI d'arrière-plan</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFCGIBackendType FPM|GENERIC</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyFCGIBackendType FPM</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#Default">Défaut:</a></th><td><code>ProxyFCGIBackendType FPM</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">AllowOverride:</a></th><td>FileInfo</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_proxy_fcgi</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.26 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.26 du serveur HTTP Apache</td></tr>
</table>
-<p>Cette directive permet de spécifier le type de l'application FastCGI
-d'arrière-plan. Certains serveurs FastCGI, comme PHP-FPM, utilisent de manière
+<p>Cette directive permet de spécifier le type de l'application FastCGI
+d'arrière-plan. Certains serveurs FastCGI, comme PHP-FPM, utilisent de manière
historique des variables d'environnement exotiques pour identifier le type du
-serveur mandataire utilisé. Définissez cette directive à "GENERIC" si votre
-application n'est pas de type PHP-FPM et n'interpréter pas correctement des
+serveur mandataire utilisé. Définissez cette directive à "GENERIC" si votre
+application n'est pas de type PHP-FPM et n'interpréter pas correctement des
variables d'environnement comme SCRIPT_FILENAME ou PATH_TRANSLATED telles
-qu'elles sont définies par le serveur.</p>
+qu'elles sont définies par le serveur.</p>
-<p>SCRIPT_FILENAME est un exemple de valeur modifiée par la définition de cette
+<p>SCRIPT_FILENAME est un exemple de valeur modifiée par la définition de cette
directive. Historiquement, lorsqu'on utilisait le module
-<code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>, SCRIPT_FILENAME était préfixé par la chaîne
+<code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>, SCRIPT_FILENAME était préfixé par la chaîne
"proxy:fcgi://". C'est cette variable que lisent certaines applications FastCGI
-génériques en tant que valeur en entrée pour leur script ; cependant, PHP-FPM
-peut supprimer le préfixe, puis garder en mémoire qu'il communique avec Apache.
-Avec les versions 2.4.21 à 2.4.25, ce préfixe était automatiquement supprimé par
-le serveur, empêchant ainsi PHP-FPM de détecter et interopérer avec Apache dans
-certains scénarios.</p>
+génériques en tant que valeur en entrée pour leur script ; cependant, PHP-FPM
+peut supprimer le préfixe, puis garder en mémoire qu'il communique avec Apache.
+Avec les versions 2.4.21 à 2.4.25, ce préfixe était automatiquement supprimé par
+le serveur, empêchant ainsi PHP-FPM de détecter et interopérer avec Apache dans
+certains scénarios.</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="proxyfcgisetenvif" id="proxyfcgisetenvif">Directive</a> <a name="ProxyFCGISetEnvIf" id="ProxyFCGISetEnvIf">ProxyFCGISetEnvIf</a><a title="Lien permanent" href="#proxyfcgisetenvif" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'adapter la valeur des variables envoyées aux serveurs
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'adapter la valeur des variables envoyées aux serveurs
FastCGI</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFCGISetEnvIf <var>conditional-expression</var>
[!]<var>environment-variable-name</var>
[<var>value-expression</var>]</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_proxy_fcgi</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.26 du serveur HTTP Apache.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.26 du serveur HTTP Apache.</td></tr>
</table>
-<p>Juste avant la transmission d'une requête au serveur FastCGI configuré, le
-coeur du programme du serveur web définit un certain nombre de variables
-d'environnement en fonction de certains détails de la requête considérée. Les
-programmes FastCGI utilisent souvent ces variables comme données en entrée afin
-de déterminer quels scripts sous-jacents ils vont exécuter, ou quelles données
-en sortie doivent être produites.</p>
+<p>Juste avant la transmission d'une requête au serveur FastCGI configuré, le
+coeur du programme du serveur web définit un certain nombre de variables
+d'environnement en fonction de certains détails de la requête considérée. Les
+programmes FastCGI utilisent souvent ces variables comme données en entrée afin
+de déterminer quels scripts sous-jacents ils vont exécuter, ou quelles données
+en sortie doivent être produites.</p>
<p>Voici quelques exemples de variables d'environnement importantes :</p>
<ul>
<li>SCRIPT_NAME</li>
</ul>
<p>Cette directive permet de passer outre les variables d'environnement
-ci-dessus, entre autres. Elle est évaluée après la définition de la valeur
-initiale de ces variables ; elle peuvent donc être utilisées comme entrées dans
-les expressions définissants les conditions et les valeurs.</p>
-<p>Syntaxe des paramètres :</p>
+ci-dessus, entre autres. Elle est évaluée après la définition de la valeur
+initiale de ces variables ; elle peuvent donc être utilisées comme entrées dans
+les expressions définissants les conditions et les valeurs.</p>
+<p>Syntaxe des paramètres :</p>
<dl>
<dt>conditional-expression</dt>
-<dd>Définit une condition en fonction de laquelle la
-variable d'environnement qui suit sera modifiée ou non. Pour la syntaxe de cette
-expression, reportez-vous aux exemples qui suivent ou à la spécification
-détaillée dans le document <a href="../expr.html">ap_expr</a>.
+<dd>Définit une condition en fonction de laquelle la
+variable d'environnement qui suit sera modifiée ou non. Pour la syntaxe de cette
+expression, reportez-vous aux exemples qui suivent ou à la spécification
+détaillée dans le document <a href="../expr.html">ap_expr</a>.
</dd>
<dt>environment-variable-name</dt>
-<dd>Spécifie le nom de la variable d'environnement à modifier, par exemple
-PATH_INFO. Si elle est précédée d'un point d'exclamation, la définition de la
-variable sera annulée.</dd>
+<dd>Spécifie le nom de la variable d'environnement à modifier, par exemple
+PATH_INFO. Si elle est précédée d'un point d'exclamation, la définition de la
+variable sera annulée.</dd>
<dt>value-expression</dt>
-<dd>Spécifie la nouvelle valeur de la variable "environment-variable-name". On
+<dd>Spécifie la nouvelle valeur de la variable "environment-variable-name". On
peut inclure des
-références arrières, comme "$1", issues de captures en provenance de
+références arrières, comme "$1", issues de captures en provenance de
l'expression rationnelle <var>conditional-expression</var>. Si cette valeur est
-omise, la variable est définie (ou sa valeur est écrasée) par une chaîne vide
-— voir cependant la note ci-après.</dd>
+omise, la variable est définie (ou sa valeur est écrasée) par une chaîne vide
+— voir cependant la note ci-après.</dd>
</dl>
<div class="example"><pre class="prettyprint lang-config"># Une modification basique, inconditionnelle
ProxyFCGISetEnvIf "true" PATH_INFO "/example"
-# Utilisation d'une variable d'environnement pour spécifier la nouvelle valeur
+# Utilisation d'une variable d'environnement pour spécifier la nouvelle valeur
ProxyFCGISetEnvIf "true" PATH_INFO "%{reqenv:SCRIPT_NAME}"
<br />
-# Utilisation de captures dans la condition et de références arrières dans la
+# Utilisation de captures dans la condition et de références arrières dans la
# nouvelle valeur
ProxyFCGISetEnvIf "reqenv('PATH_TRANSLATED') =~ m#(/.*prefix)(\d+)(.*)#" PATH_TRANSLATED "$1$3"</pre>
</div>
-<div class="note"><h3>Note : Annulation définition ou valeur vide</h3>
- La ligne suivante annule la définition de la variable <code>VARIABLE</code>,
- ce qui l'empêche d'être envoyée au serveur FastCGI :
+<div class="note"><h3>Note : Annulation définition ou valeur vide</h3>
+ La ligne suivante annule la définition de la variable <code>VARIABLE</code>,
+ ce qui l'empêche d'être envoyée au serveur FastCGI :
<pre class="prettyprint lang-config">ProxyFCGISetEnvIf true !VARIABLE</pre>
- La ligne suivante, quant à elle, efface la <em>valeur</em> de la variable
- <code>VARIABLE</code> en lui affectant la chaîne vide ; cette variable
- <code>VARIABLE</code> sera alors tout de même envoyée au serveur FastCGI :
+ La ligne suivante, quant à elle, efface la <em>valeur</em> de la variable
+ <code>VARIABLE</code> en lui affectant la chaîne vide ; cette variable
+ <code>VARIABLE</code> sera alors tout de même envoyée au serveur FastCGI :
<pre class="prettyprint lang-config">ProxyFCGISetEnvIf true VARIABLE</pre>
- La spécification CGI/1.1 <a href="https://tools.ietf.org/html/rfc3875#section-4.1">ne fait pas de
- distinction</a> entre une variable contenant une chaîne vide et une variable qui
- n'existe pas. De nombreuses implémentations CGI et FastCGI font cependant
+ La spécification CGI/1.1 <a href="https://tools.ietf.org/html/rfc3875#section-4.1">ne fait pas de
+ distinction</a> entre une variable contenant une chaîne vide et une variable qui
+ n'existe pas. De nombreuses implémentations CGI et FastCGI font cependant
cette distinction (ou permettent aux scripts de la faire). Le choix de celle
- que vous allez utiliser dépend de votre implémentation et de la raison qui
- vous pousse à modifier cette variable.
+ que vous allez utiliser dépend de votre implémentation et de la raison qui
+ vous pousse à modifier cette variable.
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_fcgi.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_fcgi.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_fcgi.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_proxy_fdpass</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_fdpass.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_fdpass.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_fdpass.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support des processus externes fdpass
-à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr>
+à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></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>proxy_fdpass_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_fdpass.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible pour unix depuis la version 2.3
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_fdpass_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_fdpass.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible pour unix depuis la version 2.3
du serveur HTTP Apache</td></tr></table>
<h3>Sommaire</h3>
- <p>Pour fonctionner, ce module <em>nécessite</em> le chargement de
+ <p>Pour fonctionner, ce module <em>nécessite</em> le chargement de
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il permet le passage du socket du client
vers un autre processus.</p>
- <p><code>mod_proxy_fdpass</code> utilise la capacité des sockets de
- domaine AF_UNIX à <a href="http://www.freebsd.org/cgi/man.cgi?query=recv">transmettre un
- descripteur de fichier ouvert</a> afin de permettre à un autre
- processus de terminer le traitement de la requête.
+ <p><code>mod_proxy_fdpass</code> utilise la capacité des sockets de
+ domaine AF_UNIX à <a href="http://www.freebsd.org/cgi/man.cgi?query=recv">transmettre un
+ descripteur de fichier ouvert</a> afin de permettre à un autre
+ processus de terminer le traitement de la requête.
</p>
- <p>Le module possède une interface de fournisseur
- <code>proxy_fdpass_flusher</code> qui permet éventuellement à un
- autre module d'envoyer les en-têtes de la réponse, ou même le début
- du corps de la réponse. Le fournisseur par défaut <code>flush</code> désactive la
- persistence, et envoie les en-têtes de la réponse, laissant le soin
- au processus externe d'envoyer le corps de la réponse.</p>
+ <p>Le module possède une interface de fournisseur
+ <code>proxy_fdpass_flusher</code> qui permet éventuellement à un
+ autre module d'envoyer les en-têtes de la réponse, ou même le début
+ du corps de la réponse. Le fournisseur par défaut <code>flush</code> désactive la
+ persistence, et envoie les en-têtes de la réponse, laissant le soin
+ au processus externe d'envoyer le corps de la réponse.</p>
- <p>Pour utiliser un autre fournisseur, vous devez définir le paramètre
+ <p>Pour utiliser un autre fournisseur, vous devez définir le paramètre
<code>flusher</code> de la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>.
</p>
- <p>A l'heure actuelle, la seule donnée transmise au processus
+ <p>A l'heure actuelle, la seule donnée transmise au processus
externe est le socket du client. Pour recevoir un socket client,
- appelez recvfrom avec une structure <a href="http://www.kernel.org/doc/man-pages/online/pages/man3/ cmsg.3.html"><code>struct cmsghdr</code></a> allouée. Les versions
- futures de ce module pourront transmettre d'autres données que le
+ appelez recvfrom avec une structure <a href="http://www.kernel.org/doc/man-pages/online/pages/man3/ cmsg.3.html"><code>struct cmsghdr</code></a> allouée. Les versions
+ futures de ce module pourront transmettre d'autres données que le
socket client.
</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_fdpass">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_fdpass">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_fdpass">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_fdpass">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_fdpass.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_fdpass.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_fdpass.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_proxy_ftp</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_ftp.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_ftp.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_ftp.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support FTP à
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support FTP à
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></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>proxy_ftp_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_ftp.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_ftp_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_ftp.c</td></tr></table>
<h3>Sommaire</h3>
<p>Pour pouvoir fonctionner, ce module <em>requiert</em> le
chargement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support du
mandatement des sites FTP. Notez que le support FTP est
- actuellement limité à la méthode GET.</p>
+ actuellement limité à la méthode GET.</p>
- <p>Ainsi, pour pouvoir traiter les requêtes FTP mandatées,
+ <p>Ainsi, pour pouvoir traiter les requêtes FTP mandatées,
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, et <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code>
- doivent être chargés dans le serveur.</p>
+ doivent être chargés dans le serveur.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
+ <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
serveurs mandataires ouverts sont dangereux non seulement pour
- votre réseau, mais aussi pour l'Internet au sens large.</p>
+ votre réseau, mais aussi pour l'Internet au sens large.</p>
</div>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#mimetypes">Pourquoi les fichiers du type
- <var>xxx</var> ne sont-ils pas téléchargeables par FTP ?</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#type">Comment puis-je forcer le téléchargement
+ <var>xxx</var> ne sont-ils pas téléchargeables par FTP ?</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#type">Comment puis-je forcer le téléchargement
FTP en mode ASCII du fichier <var>xxx</var> ?</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ftpnonget">Comment puis-je effectuer un
chargement FTP ?</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#percent2fhck">Comment puis-je accéder par FTP à
- des fichiers situés en dehors de mon répertoire home ?</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#percent2fhck">Comment puis-je accéder par FTP à
+ des fichiers situés en dehors de mon répertoire home ?</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ftppass">Comment puis-je dissimuler le mot de
passe FTP apparaissant en clair dans la ligne d'URL de mon
navigateur ?</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#wildcard">Pourquoi reçois-je un listing de
- fichiers alors que j'ai demandé le téléchargement d'un fichier
+<li><img alt="" src="../images/down.gif" /> <a href="#wildcard">Pourquoi reçois-je un listing de
+ fichiers alors que j'ai demandé le téléchargement d'un fichier
?</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#proxyftpescapewildcards">ProxyFtpEscapeWildcards</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyftplistonwildcard">ProxyFtpListOnWildcard</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_ftp">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_ftp">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_ftp">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_ftp">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<li><a href="#comments_section">Commentaires</a></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="mimetypes" id="mimetypes">Pourquoi les fichiers du type
- <var>xxx</var> ne sont-ils pas téléchargeables par FTP ?</a><a title="Lien permanent" href="#mimetypes" class="permalink">¶</a></h2>
- <p>Ce type particulier de fichier n'est probablement pas défini en
+ <var>xxx</var> ne sont-ils pas téléchargeables par FTP ?</a><a title="Lien permanent" href="#mimetypes" class="permalink">¶</a></h2>
+ <p>Ce type particulier de fichier n'est probablement pas défini en
temps que <code>application/octet-stream</code> dans le fichier
de configuration mime.types de votre mandataire. La ligne suivante
- peut y remédier :</p>
+ peut y remédier :</p>
<div class="example"><pre>application/octet-stream bin dms lha lzh exe class tgz taz</pre></div>
- <p>Vous pouvez aussi définir par défaut tous les types de fichiers
+ <p>Vous pouvez aussi définir par défaut tous les types de fichiers
en tant que fichiers binaires :</p>
<div class="example"><pre class="prettyprint lang-config">ForceType application/octet-stream</pre>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="type" id="type">Comment puis-je forcer le téléchargement
+<h2><a name="type" id="type">Comment puis-je forcer le téléchargement
FTP en mode ASCII du fichier <var>xxx</var> ?</a><a title="Lien permanent" href="#type" class="permalink">¶</a></h2>
- <p>Dans les rares siruations où vous devez télécharger un fichier
- spécifique en utilisant la méthode de transfert FTP
- <code>ASCII</code> (alors que le mode transfert par défaut est
+ <p>Dans les rares siruations où vous devez télécharger un fichier
+ spécifique en utilisant la méthode de transfert FTP
+ <code>ASCII</code> (alors que le mode transfert par défaut est
<code>binary</code>), vous pouvez modifier le mode de transfert de
- <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> en suffixant la requête avec
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> en suffixant la requête avec
<code>;type=a</code> pour forcer un transfert en mode ASCII (les
- listings de répertoires FTP sont cependant quant à eux transmis en
+ listings de répertoires FTP sont cependant quant à eux transmis en
mode ASCII).</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="ftpnonget" id="ftpnonget">Comment puis-je effectuer un
chargement FTP ?</a><a title="Lien permanent" href="#ftpnonget" class="permalink">¶</a></h2>
- <p>Actuellement, seule la méthode GET est supportée pour FTP dans
+ <p>Actuellement, seule la méthode GET est supportée pour FTP dans
mod_proxy. Vous pouvez par contre utiliser le chargement HTTP (POST
or PUT) via un mandataire Apache.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="percent2fhck" id="percent2fhck">Comment puis-je accéder par FTP à
- des fichiers situés en dehors de mon répertoire home ?</a><a title="Lien permanent" href="#percent2fhck" class="permalink">¶</a></h2>
- <p>Un URI FTP est considéré comme relatif au répertoire home de
- l'utilisateur connecté. Hélas, vous ne pouvez pas utiliser /../
- pour atteindre des répertoires de niveau supérieur, car les points
- sont interprétés par le navigateur et ne sont donc pas vraiment
- envoyés au serveur FTP. Pour traiter ce problème, une méthode
- nommée <dfn>Squid %2f hack</dfn> a été implémentée dans le
- mandataire FTP Apache ; cette solution est aussi utilisée par
+<h2><a name="percent2fhck" id="percent2fhck">Comment puis-je accéder par FTP à
+ des fichiers situés en dehors de mon répertoire home ?</a><a title="Lien permanent" href="#percent2fhck" class="permalink">¶</a></h2>
+ <p>Un URI FTP est considéré comme relatif au répertoire home de
+ l'utilisateur connecté. Hélas, vous ne pouvez pas utiliser /../
+ pour atteindre des répertoires de niveau supérieur, car les points
+ sont interprétés par le navigateur et ne sont donc pas vraiment
+ envoyés au serveur FTP. Pour traiter ce problème, une méthode
+ nommée <dfn>Squid %2f hack</dfn> a été implémentée dans le
+ mandataire FTP Apache ; cette solution est aussi utilisée par
d'autres serveurs mandataires courants comme le <a href="http://www.squid-cache.org/">Cache mandataire Squid</a>. En
- préfixant par <code>/%2f</code> le chemin de votre requête, vous
- pouvez faire en sorte que le mandataire modifie le répertoire FTP
- racine en <code>/</code> (au lieu du répertoire home). Par
+ préfixant par <code>/%2f</code> le chemin de votre requête, vous
+ pouvez faire en sorte que le mandataire modifie le répertoire FTP
+ racine en <code>/</code> (au lieu du répertoire home). Par
exemple, pour extraire le fichier <code>/etc/motd</code>, vous
pourriez utiliser l'URL :</p>
<h2><a name="ftppass" id="ftppass">Comment puis-je dissimuler le mot de
passe FTP apparaissant en clair dans la ligne d'URL de mon
navigateur ?</a><a title="Lien permanent" href="#ftppass" class="permalink">¶</a></h2>
- <p>Apache utilise différentes stratégies pour effectuer une
- connexion à un serveur FTP à l'aide d'un nom d'utilisateur et d'un
+ <p>Apache utilise différentes stratégies pour effectuer une
+ connexion à un serveur FTP à l'aide d'un nom d'utilisateur et d'un
mot de passe. En l'absence de nom d'utilisateur et de mot de passe
- dans l'URL, Apache tente une connexion anonyme auprès du serveur
+ dans l'URL, Apache tente une connexion anonyme auprès du serveur
FTP comme suit :</p>
<div class="example"><p><code>
mot de passe : apache_proxy@
</code></p></div>
- <p>Ceci fonctionne avec tous les serveurs FTP courants configurés
+ <p>Ceci fonctionne avec tous les serveurs FTP courants configurés
pour accepter les connexions anonymes.</p>
- <p>Pour une connexion personnalisée avec un nom d'utilisateur
- spécifique, vous pouvez intégrer ce dernier dans l'URL comme suit
+ <p>Pour une connexion personnalisée avec un nom d'utilisateur
+ spécifique, vous pouvez intégrer ce dernier dans l'URL comme suit
:</p>
<div class="example"><p><code>
</code></p></div>
<p>Si le serveur FTP demande un mot de passe pour ce nom
- d'utilisateur (ce qu'il est censé faire), Apache va renvoyer au
- client une réponse <code>401</code> (Autorisation requise), ce qui
- fera afficher au navigateur une boîte de dialogue utilisateur/mot
- de passe. Une fois le mot de passe saisi, la connexion est tentée
- à nouveau, et si elle réussit, la ressource demandée est
- présentée. L'avantage de cette procédure réside dans le fait que
+ d'utilisateur (ce qu'il est censé faire), Apache va renvoyer au
+ client une réponse <code>401</code> (Autorisation requise), ce qui
+ fera afficher au navigateur une boîte de dialogue utilisateur/mot
+ de passe. Une fois le mot de passe saisi, la connexion est tentée
+ à nouveau, et si elle réussit, la ressource demandée est
+ présentée. L'avantage de cette procédure réside dans le fait que
votre navigateur n'affiche pas le mot de passe en clair, ce qu'il
- aurait fait si vous aviez utilisé l'URL :</p>
+ aurait fait si vous aviez utilisé l'URL :</p>
<div class="example"><p><code>
ftp://<var>nom-utilisateur</var>:<var>mot-de-passe</var>@<var>serveur</var>/mon-fichier
</code></p></div>
<div class="note"><h3>Note</h3>
- <p>Le mot de passe transmis de cette manière n'est pas chiffré
- lorsqu'il est envoyé. Il transite entre votre navigateur et le
- serveur mandataire Apache sous la forme d'une chaîne de texte en
- clair codée en base64, et entre le mandataire Apache et le
- serveur FTP en texte pur. Vous devez par conséquent réfléchir à
- deux fois avant d'accéder à votre serveur FTP via HTTP (et d'une
- manière générale avant d'accéder à vos fichiers personnels via
- FTP !) sur des canaux non sécurisés, car des oreilles
- indiscrètes pourraient intercepter votre mot de passe au cours
+ <p>Le mot de passe transmis de cette manière n'est pas chiffré
+ lorsqu'il est envoyé. Il transite entre votre navigateur et le
+ serveur mandataire Apache sous la forme d'une chaîne de texte en
+ clair codée en base64, et entre le mandataire Apache et le
+ serveur FTP en texte pur. Vous devez par conséquent réfléchir à
+ deux fois avant d'accéder à votre serveur FTP via HTTP (et d'une
+ manière générale avant d'accéder à vos fichiers personnels via
+ FTP !) sur des canaux non sécurisés, car des oreilles
+ indiscrètes pourraient intercepter votre mot de passe au cours
de son transfert.</p>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="wildcard" id="wildcard">Pourquoi reçois-je un listing de
- fichiers alors que j'ai demandé le téléchargement d'un fichier
+<h2><a name="wildcard" id="wildcard">Pourquoi reçois-je un listing de
+ fichiers alors que j'ai demandé le téléchargement d'un fichier
?</a><a title="Lien permanent" href="#wildcard" class="permalink">¶</a></h2>
- <p>Apache examine l'URL de la requête afin de permettre la
- navigation dans les répertoires d'un serveur FTP ainsi que le
- téléchargement de fichiers. Si elle ressemble à un répertoire, ou
- contient des caractères génériques ("*?[{~"), alors Apache
- considère que c'est un listing qui est demandé, et non un
- téléchargement.</p>
- <p>Vous pouvez désactiver le traitement spécial des noms contenant
- des caractères génériques. Voir à cet effet la directive
+ <p>Apache examine l'URL de la requête afin de permettre la
+ navigation dans les répertoires d'un serveur FTP ainsi que le
+ téléchargement de fichiers. Si elle ressemble à un répertoire, ou
+ contient des caractères génériques ("*?[{~"), alors Apache
+ considère que c'est un listing qui est demandé, et non un
+ téléchargement.</p>
+ <p>Vous pouvez désactiver le traitement spécial des noms contenant
+ des caractères génériques. Voir à cet effet la directive
<code class="directive">ProxyFtpListOnWildcard</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="proxyftpdircharset" id="proxyftpdircharset">Directive</a> <a name="ProxyFtpDirCharset" id="ProxyFtpDirCharset">ProxyFtpDirCharset</a><a title="Lien permanent" href="#proxyftpdircharset" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le jeu de caractères des listings FTP
-mandatés</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFtpDirCharset <var>jeu-caractères</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyFtpDirCharset ISO-8859-1</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le jeu de caractères des listings FTP
+mandatés</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFtpDirCharset <var>jeu-caractères</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyFtpDirCharset ISO-8859-1</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_ftp</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Déplacé
-depuis <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> à partir de la version 2.3.5 d'Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Déplacé
+depuis <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> à partir de la version 2.3.5 d'Apache</td></tr>
</table>
<p>La directive <code class="directive">ProxyFtpDirCharset</code> permet de
- définir le jeu de caractères à utiliser pour les listings FTP en
- HTML générés par <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code>.</p>
+ définir le jeu de caractères à utiliser pour les listings FTP en
+ HTML générés par <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></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="proxyftpescapewildcards" id="proxyftpescapewildcards">Directive</a> <a name="ProxyFtpEscapeWildcards" id="ProxyFtpEscapeWildcards">ProxyFtpEscapeWildcards</a><a title="Lien permanent" href="#proxyftpescapewildcards" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les caractères génériques dans les noms de fichiers
-doivent-ils être échappés lorsqu'ils sont envoyés au serveur FTP ?</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les caractères génériques dans les noms de fichiers
+doivent-ils être échappés lorsqu'ils sont envoyés au serveur FTP ?</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFtpEscapeWildcards [on|off]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>on</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_ftp</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.3 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.3 du serveur HTTP Apache</td></tr>
</table>
<p>La directive <code class="directive">ProxyFtpEscapeWildcards</code> permet
- de déterminer si les caractères génériques ("*?[{~") que contiennent
- les noms de fichiers demandés doivent être échappés pas un slash
- inversé avant d'être envoyés au serveur FTP. Il s'agit du comportement
- par défaut ; cependant, de nombreux serveurs FTP n'ont aucune
- connaissance de la notion d'échappement, et tentent de servir le
- fichier demandé sous sa forme littérale, en incluant les slashes
- inversés dans son nom.</p>
- <p>Définissez cette directive à "off" pour permettre le
- téléchargement de fichiers dont les noms contiennent des caractères
- génériques depuis des serveurs FTP qui ne connaissent pas
- l'échappement des caractères génériques.</p>
+ de déterminer si les caractères génériques ("*?[{~") que contiennent
+ les noms de fichiers demandés doivent être échappés pas un slash
+ inversé avant d'être envoyés au serveur FTP. Il s'agit du comportement
+ par défaut ; cependant, de nombreux serveurs FTP n'ont aucune
+ connaissance de la notion d'échappement, et tentent de servir le
+ fichier demandé sous sa forme littérale, en incluant les slashes
+ inversés dans son nom.</p>
+ <p>Définissez cette directive à "off" pour permettre le
+ téléchargement de fichiers dont les noms contiennent des caractères
+ génériques depuis des serveurs FTP qui ne connaissent pas
+ l'échappement des caractères génériques.</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="proxyftplistonwildcard" id="proxyftplistonwildcard">Directive</a> <a name="ProxyFtpListOnWildcard" id="ProxyFtpListOnWildcard">ProxyFtpListOnWildcard</a><a title="Lien permanent" href="#proxyftplistonwildcard" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les caractères génériques dans les noms de fichiers
-demandés doivent-ils déclencher l'affichage d'un listing ?</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les caractères génériques dans les noms de fichiers
+demandés doivent-ils déclencher l'affichage d'un listing ?</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyFtpListOnWildcard [on|off]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>on</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_ftp</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.3 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.3 du serveur HTTP Apache</td></tr>
</table>
<p>La directive <code class="directive">ProxyFtpListOnWildcard</code> permet
- de déterminer si les caractères génériques ("*?[{~") que contiennent
- les noms de fichiers demandés provoquent l'affichage d'un listing de
- fichiers par <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> au lieu de télécharger un
- fichier. Il s'agit de leur comportement par défaut (valeur on).
- Définissez cette directive à "off" pour permettre le téléchargement de
- fichiers même si leur nom contient des caractères génériques.</p>
+ de déterminer si les caractères génériques ("*?[{~") que contiennent
+ les noms de fichiers demandés provoquent l'affichage d'un listing de
+ fichiers par <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> au lieu de télécharger un
+ fichier. Il s'agit de leur comportement par défaut (valeur on).
+ Définissez cette directive à "off" pour permettre le téléchargement de
+ fichiers même si leur nom contient des caractères génériques.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_ftp.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_ftp.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_ftp.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_proxy_hcheck</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_hcheck.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_hcheck.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_hcheck.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Check up dynamique des membres du groupe de répartition de charge
-(équipiers) pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Check up dynamique des membres du groupe de répartition de charge
+(équipiers) pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></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>proxy_hcheck_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_hcheck.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.21 du serveur HTTP Apache</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_hcheck_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_hcheck.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.21 du serveur HTTP Apache</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module permet d'effectuer un check up dynamique des membres du groupe
- de répartition de charge (équipiers). Ce check up peut être activé pour un
- ou plusieurs équipiers et il est indépendant des requêtes de mandataire
+ de répartition de charge (équipiers). Ce check up peut être activé pour un
+ ou plusieurs équipiers et il est indépendant des requêtes de mandataire
inverse proprement dites.</p>
- <p>Pour fonctionner, ce module <em>nécessite</em> le chargement préalable de
+ <p>Pour fonctionner, ce module <em>nécessite</em> le chargement préalable de
<code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code>.</p>
-<div class="note"><h3>Paramètres</h3>
- <p>Le mécanisme de check up est activé via l'utilisation de paramètres
- supplémentaires de la directive <code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code> configurés de manière standard
+<div class="note"><h3>Paramètres</h3>
+ <p>Le mécanisme de check up est activé via l'utilisation de paramètres
+ supplémentaires de la directive <code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code> configurés de manière standard
via la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> :</p>
- <p>Ce module définit un nouveau drapeau d'état <a href="mod_proxy.html#status_table">status</a> pour BalancerMember :
- "<code>C</code>". Lorsque l'équipier est mis hors service suite à un
- disfonctionnement déterminé par le module de check up, ce drapeau est activé
- et peut être lu (et modifié) via le <code>balancer-manager</code>.</p>
+ <p>Ce module définit un nouveau drapeau d'état <a href="mod_proxy.html#status_table">status</a> pour BalancerMember :
+ "<code>C</code>". Lorsque l'équipier est mis hors service suite à un
+ disfonctionnement déterminé par le module de check up, ce drapeau est activé
+ et peut être lu (et modifié) via le <code>balancer-manager</code>.</p>
<table>
- <tr><th>Paramètre</th>
- <th>Défaut</th>
+ <tr><th>Paramètre</th>
+ <th>Défaut</th>
<th>Description</th></tr>
<tr><td>hcmethod</td>
<td>None</td>
- <td>Aucun check up dynamique n'est effectué. Les choix possibles sont :
+ <td>Aucun check up dynamique n'est effectué. Les choix possibles sont :
<table>
<tr><th>Method</th><th>Description</th><th>Note</th></tr>
- <tr><td>None</td><td>Aucun check up dynamique effectué</td><td /></tr>
- <tr><td>TCP</td><td>Vérifie qu'un socket vers le serveur
- d'arrière-plan peut être créé ; par exemple "es-tu en
- état de fonctionner"</td><td /></tr>
- <tr><td>OPTIONS</td><td>Envoie une requête <code>HTTP
- OPTIONS</code> au serveur d'arrière-plan</td><td>*</td></tr>
- <tr><td>HEAD</td><td>Envoie une requête <code>HTTP
- HEAD</code> au serveur d'arrière-plan</td><td>*</td></tr>
- <tr><td>GET</td><td>Envoie une requête <code>HTTP
- GET</code> au serveur d'arrière-plan</td><td>*</td></tr>
+ <tr><td>None</td><td>Aucun check up dynamique effectué</td><td /></tr>
+ <tr><td>TCP</td><td>Vérifie qu'un socket vers le serveur
+ d'arrière-plan peut être créé ; par exemple "es-tu en
+ état de fonctionner"</td><td /></tr>
+ <tr><td>OPTIONS</td><td>Envoie une requête <code>HTTP
+ OPTIONS</code> au serveur d'arrière-plan</td><td>*</td></tr>
+ <tr><td>HEAD</td><td>Envoie une requête <code>HTTP
+ HEAD</code> au serveur d'arrière-plan</td><td>*</td></tr>
+ <tr><td>GET</td><td>Envoie une requête <code>HTTP
+ GET</code> au serveur d'arrière-plan</td><td>*</td></tr>
<tr><td colspan="3" /></tr>
<tr><td colspan="3">*: si hcexpr n'est pas
- utilisé, un retour HTTP 2xx ou 3xx sera
- interprété comme un passage avec succès du check
+ utilisé, un retour HTTP 2xx ou 3xx sera
+ interprété comme un passage avec succès du check
up.</td></tr>
</table>
</td></tr>
<tr><td>hcpasses</td>
<td>1</td>
- <td>Nombre de check up à passer avec succès avant de remettre en service
- l'équipier</td></tr>
+ <td>Nombre de check up à passer avec succès avant de remettre en service
+ l'équipier</td></tr>
<tr><td>hcfails</td>
<td>1</td>
- <td>Nombre de check up échoués avant mettre hors service l'équipier</td></tr>
+ <td>Nombre de check up échoués avant mettre hors service l'équipier</td></tr>
<tr><td>hcinterval</td>
<td>30</td>
- <td>Intervalle entre deux check up en secondes (par défaut effectué
+ <td>Intervalle entre deux check up en secondes (par défaut effectué
toutes les 30 secondes). Utilise la syntaxe <a href="directive-dict.html#Syntax">time-interval</a>.</td></tr>
<tr><td>hcuri</td>
<td> </td>
- <td>URI supplémentaire à ajouter à l'URL de l'équipier pour le check up.</td></tr>
+ <td>URI supplémentaire à ajouter à l'URL de l'équipier pour le check up.</td></tr>
<tr><td>hctemplate</td>
<td> </td>
- <td>Nom du modèle créé via <code class="directive"><a href="#proxyhctemplate">ProxyHCTemplate</a></code> à
- utiliser pour définir les paramètres de check up de cet équipier</td></tr>
+ <td>Nom du modèle créé via <code class="directive"><a href="#proxyhctemplate">ProxyHCTemplate</a></code> à
+ utiliser pour définir les paramètres de check up de cet équipier</td></tr>
<tr><td>hcexpr</td>
<td> </td>
- <td>Nom de l'expression créée via <code class="directive"><a href="#proxyhcexpr">ProxyHCExpr</a></code>
- utilisée pour analyser les en-têtes de la réponse du check up.<br />
- <em>Si ce paramètre est absent, un état HTTP de 2xx à 3xx est
- interprété comme un check up réussi.</em></td></tr>
+ <td>Nom de l'expression créée via <code class="directive"><a href="#proxyhcexpr">ProxyHCExpr</a></code>
+ utilisée pour analyser les en-têtes de la réponse du check up.<br />
+ <em>Si ce paramètre est absent, un état HTTP de 2xx à 3xx est
+ interprété comme un check up réussi.</em></td></tr>
</table>
</div>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyhctemplate">ProxyHCTemplate</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyhctpsize">ProxyHCTPsize</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_hcheck">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_hcheck">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_hcheck">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_hcheck">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<h2><a name="examples" id="examples">Exemples d'utilisation</a><a title="Lien permanent" href="#examples" class="permalink">¶</a></h2>
- <p>L'exemple suivant montre comment configurer le check up pour différents
- serveurs d'arrière-plan :</p>
+ <p>L'exemple suivant montre comment configurer le check up pour différents
+ serveurs d'arrière-plan :</p>
<pre class="prettyprint lang-config">ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/}
ProxyPassReverse "/" "balancer://foo"</pre>
-<p>Dans ce scénario, on teste l'équipier <code>http://www.example.com/</code> en lui
-envoyant une requête <code>GET /status.php</code> et en regardant si la réponse
-contient la chaîne <em>Under maintenance</em>. Si c'est le cas, le check up est
-considéré comme ayant échoué et l'équipier est mis hors service. Ce check up
-dynamique est effectué toutes les 30 secondes, ce qui correspond à la valeur par
-défaut.</p>
-
-<p>On teste l'équipier <code>http://www2.example.com/</code> en lui envoyant
-simplement une requête <code>HEAD</code> toutes les 10 secondes et en vérifiant
-que la réponse HTTP est bien un code d'état de 2xx, 3xx ou 4xx. On teste
-l'équipier <code>http://www3.example.com/</code> en vérifiant simplement toutes
-les 5 secondes que le socket vers ce serveur est bien opérationnel. Si ce
-serveur est marqué "hors service", il lui faudra 2 check up réussis pour être
-réactivé et participer à nouveau à la répartition de charge. Si à ce moment-là
-il échoue à 3 check up successifs, il sera à nouveau mis hors service. Enfin,
-l'équipier <code>http://www4.example.com/</code> ne fait l'objet d'aucun check
+<p>Dans ce scénario, on teste l'équipier <code>http://www.example.com/</code> en lui
+envoyant une requête <code>GET /status.php</code> et en regardant si la réponse
+contient la chaîne <em>Under maintenance</em>. Si c'est le cas, le check up est
+considéré comme ayant échoué et l'équipier est mis hors service. Ce check up
+dynamique est effectué toutes les 30 secondes, ce qui correspond à la valeur par
+défaut.</p>
+
+<p>On teste l'équipier <code>http://www2.example.com/</code> en lui envoyant
+simplement une requête <code>HEAD</code> toutes les 10 secondes et en vérifiant
+que la réponse HTTP est bien un code d'état de 2xx, 3xx ou 4xx. On teste
+l'équipier <code>http://www3.example.com/</code> en vérifiant simplement toutes
+les 5 secondes que le socket vers ce serveur est bien opérationnel. Si ce
+serveur est marqué "hors service", il lui faudra 2 check up réussis pour être
+réactivé et participer à nouveau à la répartition de charge. Si à ce moment-là
+il échoue à 3 check up successifs, il sera à nouveau mis hors service. Enfin,
+l'équipier <code>http://www4.example.com/</code> ne fait l'objet d'aucun check
up.</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="proxyhcexpr" id="proxyhcexpr">Directive</a> <a name="ProxyHCExpr" id="ProxyHCExpr">ProxyHCExpr</a><a title="Lien permanent" href="#proxyhcexpr" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Crée et nomme une expression conditionnelle à utiliser pour
-déterminer la santé d'un serveur d'arrière-plan en fonction de sa valeur</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Crée et nomme une expression conditionnelle à utiliser pour
+déterminer la santé d'un serveur d'arrière-plan en fonction de sa valeur</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHCExpr <em>name</em> {<em>ap_expr expression</em>}</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_proxy_hcheck</td></tr>
</table>
- <p>La directive <code class="directive">ProxyHCExpr</code> permet de créer et nommer
- une expression conditionnelle dont la valeur calculée en fonction des
- en-têtes de la réponse du serveur d'arrière-plan permettra d'évaluer la
- santé de ce dernier. Cette expression nommée peut alors être assignée aux
- serveurs d'arrière-plan via le paramètre <code>hcexpr</code>.</p>
-
- <div class="example"><h3>ProxyHCExpr: interprète les réponses 2xx/3xx/4xx comme des
- check up réussis</h3><pre class="prettyprint lang-config">ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/}
+ <p>La directive <code class="directive">ProxyHCExpr</code> permet de créer et nommer
+ une expression conditionnelle dont la valeur calculée en fonction des
+ en-têtes de la réponse du serveur d'arrière-plan permettra d'évaluer la
+ santé de ce dernier. Cette expression nommée peut alors être assignée aux
+ serveurs d'arrière-plan via le paramètre <code>hcexpr</code>.</p>
+
+ <div class="example"><h3>ProxyHCExpr: interprète les réponses 2xx/3xx/4xx comme des
+ check up réussis</h3><pre class="prettyprint lang-config">ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/}
ProxyPass "/apps" "balancer://foo"
<Proxy balancer://foo>
<div class="note">
L'<a href="../expr.html">expression</a> peut utiliser des accolades ("{}")
- comme délimiteurs en plus des guillemets normaux.
+ comme délimiteurs en plus des guillemets normaux.
</div>
- <p>Si l'on utilise une méthode de check up (par exemple <code>GET</code>)
- qui génère un corps de réponse, ce corps peut lui-même être ausculté via
- <code>ap_expr</code> en utilisant la fonction associée aux expressions
- <code>hc()</code> spécifique à ce module.</p>
+ <p>Si l'on utilise une méthode de check up (par exemple <code>GET</code>)
+ qui génère un corps de réponse, ce corps peut lui-même être ausculté via
+ <code>ap_expr</code> en utilisant la fonction associée aux expressions
+ <code>hc()</code> spécifique à ce module.</p>
- <p>Dans l'exemple suivant, on envoie une requête <code>GET</code> au serveur
- d'arrière-plan, et si le corps de la réponse contient la chaîne <em>Under
- maintenance</em>, ce serveur d'arrière-plan est mis hors service.</p>
+ <p>Dans l'exemple suivant, on envoie une requête <code>GET</code> au serveur
+ d'arrière-plan, et si le corps de la réponse contient la chaîne <em>Under
+ maintenance</em>, ce serveur d'arrière-plan est mis hors service.</p>
- <div class="example"><h3>ProxyHCExpr: auscultation du corps de la réponse</h3><pre class="prettyprint lang-config">ProxyHCExpr in_maint {hc('body') !~ /Under maintenance/}
+ <div class="example"><h3>ProxyHCExpr: auscultation du corps de la réponse</h3><pre class="prettyprint lang-config">ProxyHCExpr in_maint {hc('body') !~ /Under maintenance/}
ProxyPass "/apps" "balancer://foo"
<Proxy balancer://foo>
</Proxy></pre>
</div>
- <p><em>NOTE:</em> Comme le corps de la réponse peut être assez grand, il est
- recommandé de privilégier un check up basé sur les codes d'état.</p>
+ <p><em>NOTE:</em> Comme le corps de la réponse peut être assez grand, il est
+ recommandé de privilégier un check up basé sur les codes d'état.</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="proxyhctemplate" id="proxyhctemplate">Directive</a> <a name="ProxyHCTemplate" id="ProxyHCTemplate">ProxyHCTemplate</a><a title="Lien permanent" href="#proxyhctemplate" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Crée et nomme un modèle permettant de définir différents
-paramètres de check up</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Crée et nomme un modèle permettant de définir différents
+paramètres de check up</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHCTemplate <em>name</em> <em>parameter</em>=<em>setting</em> [...]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_proxy_hcheck</td></tr>
</table>
- <p>La directive <code class="directive">ProxyHCTemplate</code> permet de créer et
- nommer un modèle de paramètres de check up qui peut alors être assigné aux
- équipiers via le paramètre <code>hctemplate</code>.</p>
+ <p>La directive <code class="directive">ProxyHCTemplate</code> permet de créer et
+ nommer un modèle de paramètres de check up qui peut alors être assigné aux
+ équipiers via le paramètre <code>hctemplate</code>.</p>
<div class="example"><h3>ProxyHCTemplate</h3><pre class="prettyprint lang-config">ProxyHCTemplate tcp5 hcmethod=tcp hcinterval=5
ProxyPass "/apps" "balancer://foo"
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxyhctpsize" id="proxyhctpsize">Directive</a> <a name="ProxyHCTPsize" id="ProxyHCTPsize">ProxyHCTPsize</a><a title="Lien permanent" href="#proxyhctpsize" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille totale, pour l'ensemble du
-serveur, du jeu de threads utilisé pour le check up des
-équipiers</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille totale, pour l'ensemble du
+serveur, du jeu de threads utilisé pour le check up des
+équipiers</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHCTPsize <em>size</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_proxy_hcheck</td></tr>
</table>
- <p>Si Apache httpd et APR ont été compilés avec le support des threads, le
- module de check up peut confier ce travail à un jeu de threads associé au
- processus Watchdog, ce qui permet l'exécution des check up en parallèle. La
- directive <code class="directive">ProxyHCTPsize</code> permet de déterminer la
+ <p>Si Apache httpd et APR ont été compilés avec le support des threads, le
+ module de check up peut confier ce travail à un jeu de threads associé au
+ processus Watchdog, ce qui permet l'exécution des check up en parallèle. La
+ directive <code class="directive">ProxyHCTPsize</code> permet de déterminer la
taille de ce jeu de threads. Une valeur de <code>0</code> signifie qu'aucun
- jeu de threads ne sera utilisé, et le check up des différents équipiers sera
- alors effectué séquentiellement. La taille par défaut du jeu de threads est
+ jeu de threads ne sera utilisé, et le check up des différents équipiers sera
+ alors effectué séquentiellement. La taille par défaut du jeu de threads est
de 16.</p>
<div class="example"><h3>ProxyHCTPsize</h3><pre class="prettyprint lang-config">ProxyHCTPsize 32</pre>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_hcheck.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_hcheck.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_hcheck.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_proxy_html</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_html.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_html.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_html.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Réécrit les liens HTML afin de s'assurer qu'ils soient bien
-adressables depuis les réseaux des clients dans un contexte de
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Réécrit les liens HTML afin de s'assurer qu'ils soient bien
+adressables depuis les réseaux des clients dans un contexte de
mandataire.</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>proxy_html_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_html.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
-Disponible en tant que module tiers dans les versions 2.x antérieures</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_html_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_html.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
+Disponible en tant que module tiers dans les versions 2.x antérieures</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module fournit un filtre en sortie permettant de réécrire les liens
+ <p>Ce module fournit un filtre en sortie permettant de réécrire les liens
HTML dans un contexte de mandataire, afin de s'assurer que ces liens
fonctionnent pour les utilisateurs en dehors du mandataire. Il accomplit la
- même tâche que la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> d'Apache accomplit pour les
- en-têtes HTTP, et fait partie des composants essentiels d'un mandataire
+ même tâche que la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> d'Apache accomplit pour les
+ en-têtes HTTP, et fait partie des composants essentiels d'un mandataire
inverse.</p>
-<p>Par exemple, si une entreprise possède un serveur d'applications
-nommé appserver.example.com qui n'est visible que depuis son réseau
+<p>Par exemple, si une entreprise possède un serveur d'applications
+nommé appserver.example.com qui n'est visible que depuis son réseau
interne, et un serveur web public <code>www.example.com</code>, il peut
-être souhaitable de fournir une passerelle vers le serveur d'application
-à l'adresse <code>http://www.example.com/appserver/</code>. Lorsque le
-serveur d'applications présente un lien vers lui-même, ce lien doit être
-réécrit pour fonctionner à travers la passerelle. A cet effet,
-<code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code> permet de réécrire <code><a
+être souhaitable de fournir une passerelle vers le serveur d'application
+à l'adresse <code>http://www.example.com/appserver/</code>. Lorsque le
+serveur d'applications présente un lien vers lui-même, ce lien doit être
+réécrit pour fonctionner à travers la passerelle. A cet effet,
+<code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code> permet de réécrire <code><a
href="http://appserver.example.com/foo/bar.html">foobar</a></code>
en <code><a
href="http://www.example.com/appserver/foo/bar.html">foobar</a></code>,
ce qui permet de rendre le serveur d'applications accessible depuis
-l'extérieur.</p>
+l'extérieur.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#intro">Introduction</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#custom">Interprétation HTML personnalisée</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#custom">Interprétation HTML personnalisée</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#i18n">Internationalisation</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlstripcomments">ProxyHTMLStripComments</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_html">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_html">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_html">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_html">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="intro" id="intro">Introduction</a><a title="Lien permanent" href="#intro" class="permalink">¶</a></h2>
<p>mod_proxy_html est apparu en tant que module tiers avec les versions 2.0.x du
-serveur HTTP Apache. Il a ensuite été donné à l'ASF en 2011 avec le module
+serveur HTTP Apache. Il a ensuite été donné à l'ASF en 2011 avec le module
<code class="module"><a href="../mod/mod_xml2enc.html">mod_xml2enc</a></code> (voir <a href="#i18n">Internationalisation</a>), et
fait maintenant partie des modules standards de HTTPD 2.4 et de ses versions de
-développement.</p>
+développement.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="custom" id="custom">Interprétation HTML personnalisée</a><a title="Lien permanent" href="#custom" class="permalink">¶</a></h2>
+<h2><a name="custom" id="custom">Interprétation HTML personnalisée</a><a title="Lien permanent" href="#custom" class="permalink">¶</a></h2>
<p>mod_proxy_html utilise en interne le module HTMLParser fourni par la
-bibliothèque tierce <a href="http://xmlsoft.org/">libxml2</a>. A la différence
-des autres interpréteurs libxml2, HTMLParser traite les documents HTML sans
-imposer à ces derniers d'être bien formés du point de vue XML. En particulier,
-il sait gérer les tags implicites - comme le </p> fermant - et les insère
-dans le flux des évènements SAX utilisé par mod_proxy_html. Il possède aussi une
+bibliothèque tierce <a href="http://xmlsoft.org/">libxml2</a>. A la différence
+des autres interpréteurs libxml2, HTMLParser traite les documents HTML sans
+imposer à ces derniers d'être bien formés du point de vue XML. En particulier,
+il sait gérer les tags implicites - comme le </p> fermant - et les insère
+dans le flux des évènements SAX utilisé par mod_proxy_html. Il possède aussi une
connaissance explicite des standards HTML 4 et XHTML 1 du W3C, et peut en
corriger certaines erreurs.</p>
-<p>mod_proxy_html offre toute une panoplie d'options permettant de contrôler
-l'interprétation du code HTML. La correction d'erreur peut être activée (selon
-votre choix de standard HTML) ou désactivée via la directive
-<code class="directive">ProxyHTMLDocType</code>. Et à la demande générale, il peut être
-configuré pour traiter les éléments et attributs non standards en tant que liens
-qui devront peut-être être réécrits, et pour réécrire les liens dans les contenus
-embarqués non-HTML (feuilles de style et scripts). Notez que ce module ne
+<p>mod_proxy_html offre toute une panoplie d'options permettant de contrôler
+l'interprétation du code HTML. La correction d'erreur peut être activée (selon
+votre choix de standard HTML) ou désactivée via la directive
+<code class="directive">ProxyHTMLDocType</code>. Et à la demande générale, il peut être
+configuré pour traiter les éléments et attributs non standards en tant que liens
+qui devront peut-être être réécrits, et pour réécrire les liens dans les contenus
+embarqués non-HTML (feuilles de style et scripts). Notez que ce module ne
convient pas pour traiter les feuilles de style ou scripts externes ; pour ces
-derniers, vous devez utiliser un autre interpréteur comme
+derniers, vous devez utiliser un autre interpréteur comme
<code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code> ou <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code>. Les principales
-directives permettant de personnaliser l'interprétation du code HTML sont
+directives permettant de personnaliser l'interprétation du code HTML sont
<code class="directive">ProxyHTMLLinks</code> et <code class="directive">ProxyHTMLEvents</code>.
-Par défaut, elles sont définies dans le fichier de configuration
-<var>proxy-html.conf</var> qui contient aussi des commentaires pour vous aider à
-personnaliser votre interpréteur si nécessaire. </p>
-<div class="note">Pour des raisons historiques, configurer mod_proxy_html pour réécrire les
-URLs dans les évènements de scripting n'entraîne pas par défaut la réécriture des
-URLs dans les feuilles de style. Ce comportement peut être modifié en
-décommentant la ligne correspondante du fichier <var>proxy-html.conf</var> comme
-indiqué dans la documentation que contient ce dernier.</div>
+Par défaut, elles sont définies dans le fichier de configuration
+<var>proxy-html.conf</var> qui contient aussi des commentaires pour vous aider à
+personnaliser votre interpréteur si nécessaire. </p>
+<div class="note">Pour des raisons historiques, configurer mod_proxy_html pour réécrire les
+URLs dans les évènements de scripting n'entraîne pas par défaut la réécriture des
+URLs dans les feuilles de style. Ce comportement peut être modifié en
+décommentant la ligne correspondante du fichier <var>proxy-html.conf</var> comme
+indiqué dans la documentation que contient ce dernier.</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="i18n" id="i18n">Internationalisation</a><a title="Lien permanent" href="#i18n" class="permalink">¶</a></h2>
-<p>mod_proxy_html utilise en interne un interpréteur HTML intelligent fourni par
-la bibliothèque tierce <a href="http://xmlsoft.org/">libxml2</a>. L'interpréteur
+<p>mod_proxy_html utilise en interne un interpréteur HTML intelligent fourni par
+la bibliothèque tierce <a href="http://xmlsoft.org/">libxml2</a>. L'interpréteur
utilise Unicode (UTF-8) en interne. Ceci complexifie la gestion
-des autres encodages nécessaires pour traiter de nombreux sites web dont le
-langage est autre que l'anglais. Si ce traitement n'est pas effectué
-de manière appropriée, les sites web qui utilisent des caractères non-ASCII dans un
+des autres encodages nécessaires pour traiter de nombreux sites web dont le
+langage est autre que l'anglais. Si ce traitement n'est pas effectué
+de manière appropriée, les sites web qui utilisent des caractères non-ASCII dans un
codage autre que UTF-8 (Unicode) ne s'afficheront pas correctement.</p>
-<p>Entre sa première version en 2003 et sa donnation à Apache en 2011, le
-support de l'internationalisation (i18n) est parti de rien pour arriver à une
-structure sophistiquée capable d'appliquer des règles issues de HTTP, HTML et
-XML pour détecter le codage d'un document et ainsi le traiter correctement. Ce
-traitement était cependant commun à mod_proxy_html et à d'autres modules
-utilisant libxml2, et plutôt que de le maintenir au niveau de chacun de ces
-modules, il parut sensé de l'extraire de ces derniers pour en faire
-un module à part entière. Ce module est <code class="module"><a href="../mod/mod_xml2enc.html">mod_xml2enc</a></code> et il doit
-être chargé pour que l'internationalisation fonctionne.</p>
-<p>L'interaction entre mod_proxy_html et mod_xml2enc est trop complexe pour être
-configurée en utilisant les règles de filtrage classiques, y compris les
-directives de <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>. Ainsi, même si mod_proxy_html peut
-quand-même être configuré via les directives de filtrage classiques, ce ne sera
+<p>Entre sa première version en 2003 et sa donnation à Apache en 2011, le
+support de l'internationalisation (i18n) est parti de rien pour arriver à une
+structure sophistiquée capable d'appliquer des règles issues de HTTP, HTML et
+XML pour détecter le codage d'un document et ainsi le traiter correctement. Ce
+traitement était cependant commun à mod_proxy_html et à d'autres modules
+utilisant libxml2, et plutôt que de le maintenir au niveau de chacun de ces
+modules, il parut sensé de l'extraire de ces derniers pour en faire
+un module à part entière. Ce module est <code class="module"><a href="../mod/mod_xml2enc.html">mod_xml2enc</a></code> et il doit
+être chargé pour que l'internationalisation fonctionne.</p>
+<p>L'interaction entre mod_proxy_html et mod_xml2enc est trop complexe pour être
+configurée en utilisant les règles de filtrage classiques, y compris les
+directives de <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>. Ainsi, même si mod_proxy_html peut
+quand-même être configuré via les directives de filtrage classiques, ce ne sera
pas suffisant pour le support de l'internationalisation. A cet effet, on a
introduit la nouvelle directive <code class="directive">ProxyHTMLEnable</code> qui
-permet de configurer à la fois le filtre de mod_proxy_html et mod_xml2enc. Il
-est d'ailleurs recommandé de toujours utiliser ProxyHTMLEnable, même
-si le support de l'internationalisation n'est pas nécessaire. <strong>Notez que
-ceci constitue un changement par rapport aux précédentes versions où
-mod_proxy_html était activé via les directives de filtrage.</strong></p>
+permet de configurer à la fois le filtre de mod_proxy_html et mod_xml2enc. Il
+est d'ailleurs recommandé de toujours utiliser ProxyHTMLEnable, même
+si le support de l'internationalisation n'est pas nécessaire. <strong>Notez que
+ceci constitue un changement par rapport aux précédentes versions où
+mod_proxy_html était activé via les directives de filtrage.</strong></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="proxyhtmlbufsize" id="proxyhtmlbufsize">Directive</a> <a name="ProxyHTMLBufSize" id="ProxyHTMLBufSize">ProxyHTMLBufSize</a><a title="Lien permanent" href="#proxyhtmlbufsize" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'incrément de la taille du tampon, ainsi que sa
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'incrément de la taille du tampon, ainsi que sa
taille initiale, pour la mise en
tampon des scripts en ligne et des feuilles de style.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLBufSize <var>nb-octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLBufSize 8192</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLBufSize 8192</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
-Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
+Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
</table>
-<p>Pour pouvoir interpréter du contenu non HTML (feuilles de style et
-scripts) embarqué dans des documents HTML, <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code> doit
-le lire et le mémoriser en entier dans un
-tampon. Ce tampon devra être étendu autant que nécessaire afin de
+<p>Pour pouvoir interpréter du contenu non HTML (feuilles de style et
+scripts) embarqué dans des documents HTML, <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code> doit
+le lire et le mémoriser en entier dans un
+tampon. Ce tampon devra être étendu autant que nécessaire afin de
pouvoir accueillir le plus grand script ou la plus grande feuille de
-style de la page, selon un incrément de <var>nb-octets</var> que cette
-directive permet de définir.</p>
-<p>La valeur par défaut est 8192 et sera suffisante pour la plupart des
+style de la page, selon un incrément de <var>nb-octets</var> que cette
+directive permet de définir.</p>
+<p>La valeur par défaut est 8192 et sera suffisante pour la plupart des
pages. Cependant, si vous savez que vous allez mandater des
pages contenant des feuilles de style et/ou scripts plus grands que 8k
(cette taille s'entend pour chaque script ou feuilles de style, non pour
-leur ensemble), il sera plus efficace de définir une taille de
-tampon initiale plus grande afin d'éviter d'avoir à le redimensionner
-dynamiquement au cours du traitement d'une requête.
+leur ensemble), il sera plus efficace de définir une taille de
+tampon initiale plus grande afin d'éviter d'avoir à le redimensionner
+dynamiquement au cours du traitement d'une requête.
</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="proxyhtmlcharsetout" id="proxyhtmlcharsetout">Directive</a> <a name="ProxyHTMLCharsetOut" id="ProxyHTMLCharsetOut">ProxyHTMLCharsetOut</a><a title="Lien permanent" href="#proxyhtmlcharsetout" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie un jeu de caractères pour la sortie de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie un jeu de caractères pour la sortie de
mod_proxy_html.</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLCharsetOut <var>jeu-de-caractères | *</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLCharsetOut <var>jeu-de-caractères | *</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
-Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
+Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
</table>
-<p>Cette directive permet de spécifier un jeu de caractères pour la
-sortie de mod_proxy_html. Elle ne devrait jamais être utilisée, car tout
-changement par rapport à la valeur par défaut <code>UTF-8</code> (Unicode -
-utilisé en interne par libxml2) induit une charge supplémentaire de
-traitement. La définition spéciale <code>ProxyHTMLCharsetOut *</code>
-permet de générer une sortie qui utilisera le même encodage que
-l'entrée.</p>
+<p>Cette directive permet de spécifier un jeu de caractères pour la
+sortie de mod_proxy_html. Elle ne devrait jamais être utilisée, car tout
+changement par rapport à la valeur par défaut <code>UTF-8</code> (Unicode -
+utilisé en interne par libxml2) induit une charge supplémentaire de
+traitement. La définition spéciale <code>ProxyHTMLCharsetOut *</code>
+permet de générer une sortie qui utilisera le même encodage que
+l'entrée.</p>
<p>Notez que tout ceci ne fonctionne que si le module
-<code class="module"><a href="../mod/mod_xml2enc.html">mod_xml2enc</a></code> est chargé.</p>
+<code class="module"><a href="../mod/mod_xml2enc.html">mod_xml2enc</a></code> est chargé.</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="proxyhtmldoctype" id="proxyhtmldoctype">Directive</a> <a name="ProxyHTMLDocType" id="ProxyHTMLDocType">ProxyHTMLDocType</a><a title="Lien permanent" href="#proxyhtmldoctype" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une déclaration de type de document HTML ou XHTML.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une déclaration de type de document HTML ou XHTML.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLDocType HTML|XHTML [Legacy]<br /><strong>OR</strong>
<br />ProxyHTMLDocType <var>fpi</var> [SGML|XML]<br /><strong>OR</strong>
<br />ProxyHTMLDocType html5<br /><strong>OR</strong>
<br />ProxyHTMLDocType auto</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLDocType auto (2.5/trunk versions); no FPI (2.4.x)</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLDocType auto (2.5/trunk versions); no FPI (2.4.x)</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
-Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
+Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
</table>
-<p>Avec la première syntaxe, les documents seront déclarés de type HTML
-4.01 ou XHTML 1.0 selon l'option spécifiée. Cette option détermine aussi
-si la syntaxe utilisée en sortie est HTML ou XHTML. Notez que le format
-des documents en provenance du serveur d'arrière-plan n'est pas
-important, car l'interpréteur le détectera automatiquement. Si le
-second argument optionnel est défini à "<code>Legacy</code>", les documents seront
-déclarés de type "Transitional" ; cette option peut être nécessaire si
+<p>Avec la première syntaxe, les documents seront déclarés de type HTML
+4.01 ou XHTML 1.0 selon l'option spécifiée. Cette option détermine aussi
+si la syntaxe utilisée en sortie est HTML ou XHTML. Notez que le format
+des documents en provenance du serveur d'arrière-plan n'est pas
+important, car l'interpréteur le détectera automatiquement. Si le
+second argument optionnel est défini à "<code>Legacy</code>", les documents seront
+déclarés de type "Transitional" ; cette option peut être nécessaire si
vous mandatez du contenu datant d'avant 1998, ou si vous travaillez avec
-des outils de création/publication déficients.</p>
-<p>Avec la deuxième syntaxe, cette directive vous permet d'insérer votre
+des outils de création/publication déficients.</p>
+<p>Avec la deuxième syntaxe, cette directive vous permet d'insérer votre
propre FPI (Formal Public Identifier). Le second argument optionnel
-détermine si la syntaxe utilisée sera SGML/HTML ou XML/XHTML.</p>
-<p>La troisième syntaxe attribue le type HTML 5 aux documents.</p>
-<p>La quatrième syntaxe est nouvelle dans la branche trunk de HTTPD et
+détermine si la syntaxe utilisée sera SGML/HTML ou XML/XHTML.</p>
+<p>La troisième syntaxe attribue le type HTML 5 aux documents.</p>
+<p>La quatrième syntaxe est nouvelle dans la branche trunk de HTTPD et
n'est pas encore disponible dans les versions stables ; elle utilise
-l'interpréteur HTML de libxml2 pour déterminer le type de document.</p>
-<p>Avec la première syntaxe, mod_proxy_html va aussi mettre le code HTML
-en conformité avec le standard spécifié. Il ne pourra pas corriger
-toutes les erreurs, mais il va supprimer les éléments et attributs non
+l'interpréteur HTML de libxml2 pour déterminer le type de document.</p>
+<p>Avec la première syntaxe, mod_proxy_html va aussi mettre le code HTML
+en conformité avec le standard spécifié. Il ne pourra pas corriger
+toutes les erreurs, mais il va supprimer les éléments et attributs non
conformes. Il peut aussi journaliser les autres erreurs si la directive
-<code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> est définie à
+<code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> est définie à
Debug.</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="proxyhtmlenable" id="proxyhtmlenable">Directive</a> <a name="ProxyHTMLEnable" id="ProxyHTMLEnable">ProxyHTMLEnable</a><a title="Lien permanent" href="#proxyhtmlenable" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'activer/désactiver le filtre proxy_html.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'activer/désactiver le filtre proxy_html.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLEnable On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLEnable Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLEnable Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
-Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
+Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
</table>
<p>Cette directive est un simple commutateur permettant
- d'activer/désactiver le filtre proxy_html. Si
- <code class="module"><a href="../mod/mod_xml2enc.html">mod_xml2enc</a></code> est chargé, elle va aussi activer
+ d'activer/désactiver le filtre proxy_html. Si
+ <code class="module"><a href="../mod/mod_xml2enc.html">mod_xml2enc</a></code> est chargé, elle va aussi activer
automatiquement le support de l'internationalisation.</p>
- <p>Notez que le filtre proxy_html s'agira que si les données sont de
+ <p>Notez que le filtre proxy_html s'agira que si les données sont de
type HTML (Content-Type text/html ou application/xhtml+xml), et si
elles passent par un mandataire. Vous pouvez passer outre ces
- contraintes (à vos risques et périls) en définissant la variable
+ contraintes (à vos risques et périls) en définissant la variable
d'environnement <var>PROXY_HTML_FORCE</var>.</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="proxyhtmlevents" id="proxyhtmlevents">Directive</a> <a name="ProxyHTMLEvents" id="ProxyHTMLEvents">ProxyHTMLEvents</a><a title="Lien permanent" href="#proxyhtmlevents" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie les attributs à traiter comme des évènements de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie les attributs à traiter comme des évènements de
type scripting.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLEvents <var>attribut [attribut ...]</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
-Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
+Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
</table>
-<p>Cette directive permet de spécifier un ou plusieurs attributs à
+<p>Cette directive permet de spécifier un ou plusieurs attributs à
traiter comme
-des évènements de type scripting et de leur appliquer les règles
-<code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code> lorsqu'elles ont été définies. Vous
-pouvez spécifier un nombre quelconque d'attributs dans une ou plusieurs
+des évènements de type scripting et de leur appliquer les règles
+<code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code> lorsqu'elles ont été définies. Vous
+pouvez spécifier un nombre quelconque d'attributs dans une ou plusieurs
directives <code class="directive">ProxyHTMLEvents</code>.</p>
-<p>Normalement, cette directive est définie globalement. Si vous
-définissez <code class="directive">ProxyHTMLEvents</code> à plusieurs niveaux, certains niveaux
-l'emportant sur d'autres, vous devrez spécifier un jeu complet
-d'évènements pour chaque niveau.</p>
+<p>Normalement, cette directive est définie globalement. Si vous
+définissez <code class="directive">ProxyHTMLEvents</code> à plusieurs niveaux, certains niveaux
+l'emportant sur d'autres, vous devrez spécifier un jeu complet
+d'évènements pour chaque niveau.</p>
<p>Le fichier <var>proxy-html.conf</var> fournit une configuration par
-défaut et définit les évènements selon les standards
-HTML 4 et XHTML 1. Cette configuration peut être adaptée pour s'appliquer aux
-URLs embarquées dans les attributs des feuilles de style CSS en ajoutant
-l'attribut <var>style</var> à ProxyHTMLEvents, même s'il n'existe pas dans la
-configuration par défaut.</p>
+défaut et définit les évènements selon les standards
+HTML 4 et XHTML 1. Cette configuration peut être adaptée pour s'appliquer aux
+URLs embarquées dans les attributs des feuilles de style CSS en ajoutant
+l'attribut <var>style</var> à ProxyHTMLEvents, même s'il n'existe pas dans la
+configuration 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="proxyhtmlextended" id="proxyhtmlextended">Directive</a> <a name="ProxyHTMLExtended" id="ProxyHTMLExtended">ProxyHTMLExtended</a><a title="Lien permanent" href="#proxyhtmlextended" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si l'on doit corriger les liens dans les scripts
-en ligne, les feuilles de style et les évènements de type scripting.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si l'on doit corriger les liens dans les scripts
+en ligne, les feuilles de style et les évènements de type scripting.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLExtended On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLExtended Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLExtended Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
-Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
+Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
</table>
-<p>Si cette directive est définie à <code>Off</code>, les liens HTML
-sont réécrits en fonction des directives
+<p>Si cette directive est définie à <code>Off</code>, les liens HTML
+sont réécrits en fonction des directives
<code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code>, mais les liens qui apparaissent
-dans le code Javascript et les feuilles de style restent inchangés.</p>
-<p>Si elle est définie à <code>On</code>, tous les évènements de type
-scripting (définis par la directive
+dans le code Javascript et les feuilles de style restent inchangés.</p>
+<p>Si elle est définie à <code>On</code>, tous les évènements de type
+scripting (définis par la directive
<code class="directive"><a href="#proxyhtmlevents">ProxyHTMLEvents</a></code>) et les scripts inclus ou les
feuilles de style sont aussi
-traités par les règles <code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code>, en
-fonction des drapeaux définis pour chacune d'entre elles. Ne définissez
-cette directive à <code>On</code> qu'en cas de nécessité absolue, car la
-charge supplémentaire induite impacte les performances.</p>
-<p>Vous devez aussi prêter attention aux modèles de comparaison, car
-l'interpréteur n'a aucune notion de la forme que pourrait prendre une URL dans un
-script embarqué ou une feuille de style. En particulier, la comparaison
-étendus du caractère <code>/</code> a de fortes chances d'induire des
-correspondances erronées.</p>
+traités par les règles <code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code>, en
+fonction des drapeaux définis pour chacune d'entre elles. Ne définissez
+cette directive à <code>On</code> qu'en cas de nécessité absolue, car la
+charge supplémentaire induite impacte les performances.</p>
+<p>Vous devez aussi prêter attention aux modèles de comparaison, car
+l'interpréteur n'a aucune notion de la forme que pourrait prendre une URL dans un
+script embarqué ou une feuille de style. En particulier, la comparaison
+étendus du caractère <code>/</code> a de fortes chances d'induire des
+correspondances erronées.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Corrige les erreurs HTML simples.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLFixups [lowercase] [dospath] [reset]</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
-Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
+Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
</table>
-<p>Cette directive accepte un à trois arguments parmi les suivants :</p>
+<p>Cette directive accepte un à trois arguments parmi les suivants :</p>
<ul>
-<li><code>lowercase</code>Les Urls sont réécrites en minuscules</li>
-<li><code>dospath</code>Les slashes inversés dans les URLs sont
-remplacés par des slashes directs.</li>
-<li><code>reset</code>Annule toute option définie à un niveau supérieur
+<li><code>lowercase</code>Les Urls sont réécrites en minuscules</li>
+<li><code>dospath</code>Les slashes inversés dans les URLs sont
+remplacés par des slashes directs.</li>
+<li><code>reset</code>Annule toute option définie à un niveau supérieur
dans la configuration</li>
</ul>
-<p>Cette directive doit être utilisée avec prudence. Elle peut corriger
-certaines erreurs de création, mais risque aussi de modifier par erreur
-des liens corrects. Ne l'utilisez que si vous êtes sûr que le serveur
-d'arrière-plan est déficient.</p>
+<p>Cette directive doit être utilisée avec prudence. Elle peut corriger
+certaines erreurs de création, mais risque aussi de modifier par erreur
+des liens corrects. Ne l'utilisez que si vous êtes sûr que le serveur
+d'arrière-plan est déficient.</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="proxyhtmlinterp" id="proxyhtmlinterp">Directive</a> <a name="ProxyHTMLInterp" id="ProxyHTMLInterp">ProxyHTMLInterp</a><a title="Lien permanent" href="#proxyhtmlinterp" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la réinterprétation des règles
-<code class="directive">ProxyHTMLURLMap</code> pour chaque requête.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la réinterprétation des règles
+<code class="directive">ProxyHTMLURLMap</code> pour chaque requête.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLInterp On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLInterp Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLInterp Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
-Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
+Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
</table>
- <p>Cette directive permet d'activer le réinterprétation pour chaque
- requête des modèles source et cible de la directive
+ <p>Cette directive permet d'activer le réinterprétation pour chaque
+ requête des modèles source et cible de la directive
<code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code>.</p>
- <p>Si la réinterprétation n'est pas activée, toutes les règles sont
- précompilées au démarrage du serveur. Si elle est activée, les
- règles doivent être recompilées pour chaque requête, ce qui induit
- une charge de traitement supplémentaire. Elle ne doit donc être activée que si
- cela s'avère nécessaire.</p>
+ <p>Si la réinterprétation n'est pas activée, toutes les règles sont
+ précompilées au démarrage du serveur. Si elle est activée, les
+ règles doivent être recompilées pour chaque requête, ce qui induit
+ une charge de traitement supplémentaire. Elle ne doit donc être activée que si
+ cela s'avère nécessaire.</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="proxyhtmllinks" id="proxyhtmllinks">Directive</a> <a name="ProxyHTMLLinks" id="ProxyHTMLLinks">ProxyHTMLLinks</a><a title="Lien permanent" href="#proxyhtmllinks" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie les éléments HTML dont les attributs d'URL doivent
-être réécrits.</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLLinks <var>élément attribut [attribut2 ...]</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie les éléments HTML dont les attributs d'URL doivent
+être réécrits.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLLinks <var>élément attribut [attribut2 ...]</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
-Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
+Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
</table>
-<p>Cette directive permet de spécifier les éléments dont les attributs d'URL
-doivent être réécrits en utilisant les règles standards <code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code>. Vous devez définir une
-directive <code class="directive">ProxyHTMLLinks</code> pour chaque élément, mais chacune d'entre elles peut
-spécifier un nombre quelconque d'attributs</p> <p>Normalement, cette directive
-est définie globalement. Si vous définissez <code class="directive">ProxyHTMLLinks</code> à plusieurs niveaux,
-certains niveaux l'emportant sur d'autres, vous devrez spécifier un jeu complet
+<p>Cette directive permet de spécifier les éléments dont les attributs d'URL
+doivent être réécrits en utilisant les règles standards <code class="directive"><a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></code>. Vous devez définir une
+directive <code class="directive">ProxyHTMLLinks</code> pour chaque élément, mais chacune d'entre elles peut
+spécifier un nombre quelconque d'attributs</p> <p>Normalement, cette directive
+est définie globalement. Si vous définissez <code class="directive">ProxyHTMLLinks</code> à plusieurs niveaux,
+certains niveaux l'emportant sur d'autres, vous devrez spécifier un jeu complet
de liens pour chaque niveau.</p> <p>Le fichier <var>proxy-html.conf</var>
-fournit une configuration par défaut et définit les liens HTML selon les
+fournit une configuration par défaut et définit les liens HTML selon les
standards HTML 4 et XHTML 1.</p>
<div class="example"><h3>Exemples issus de proxy-html.conf</h3><pre class="prettyprint lang-config">ProxyHTMLLinks a href
ProxyHTMLLinks area href
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxyhtmlmeta" id="proxyhtmlmeta">Directive</a> <a name="ProxyHTMLMeta" id="ProxyHTMLMeta">ProxyHTMLMeta</a><a title="Lien permanent" href="#proxyhtmlmeta" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive une préinterprétation supplémentaire
-des métadonnées dans les sections HTML <code><head></code>.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive une préinterprétation supplémentaire
+des métadonnées dans les sections HTML <code><head></code>.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLMeta On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLMeta Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLMeta Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4 du serveur HTTP
-Apache ; proposé en tant que module tiers dans les versions 2.x
-précédentes.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4 du serveur HTTP
+Apache ; proposé en tant que module tiers dans les versions 2.x
+précédentes.</td></tr>
</table>
- <p>Cette directive permet d'activer ou désactiver une
- préinterprétation supplémentaire des métadonnées dans les sections
- HTML <code><head></code>. Si cette préinterprétation n'est pas
- requise, définissez ProxyHTMLMeta à Off et les performances
- seront légèrement améliorées. Cependant, elle s'avère parfois
- nécessaire pour assurer un fonctionnement correct de l'internationalisation.</p>
+ <p>Cette directive permet d'activer ou désactiver une
+ préinterprétation supplémentaire des métadonnées dans les sections
+ HTML <code><head></code>. Si cette préinterprétation n'est pas
+ requise, définissez ProxyHTMLMeta à Off et les performances
+ seront légèrement améliorées. Cependant, elle s'avère parfois
+ nécessaire pour assurer un fonctionnement correct de l'internationalisation.</p>
<p>La directive <code class="directive">ProxyHTMLMeta</code> a deux effets. Le premier et le plus
- important est la détection des codages de caractères déclarés sous
+ important est la détection des codages de caractères déclarés sous
la forme</p>
<pre><meta http-equiv="Content-Type" content="text/html;charset=<var>foo</var>"></pre>
<p>ou, dans le cas d'un document XHTML, sous la forme d'une
- déclaration XML. Elle n'est pas nécessaire si le jeu de caractères
- est déclaré explicitement dans un en-tête HTTP (ce qui est
- préférable) en provenance du serveur d'arrière-plan, ou si le
+ déclaration XML. Elle n'est pas nécessaire si le jeu de caractères
+ est déclaré explicitement dans un en-tête HTTP (ce qui est
+ préférable) en provenance du serveur d'arrière-plan, ou si le
document est en <var>utf-8</var> (unicode) ou un de ses
sous-ensembles comme ASCII. Vous pourrez aussi vous en passer
- lorsque le document utilise une valeur par défaut déclarée via la
+ lorsque le document utilise une valeur par défaut déclarée via la
directive <code class="directive"><a href="../mod/mod_xml2enc.html#xml2encdefault">xml2EncDefault</a></code>, avec le risque de
- propager une déclaration incorrecte. Une directive
+ propager une déclaration incorrecte. Une directive
<code class="directive"><a href="#proxyhtmlcharsetout">ProxyHTMLCharsetOut</a></code> permettra d'annuler ce
- risque, mais pourra induire une surcharge de traitement supérieure à
+ risque, mais pourra induire une surcharge de traitement supérieure à
celle de ProxyHTMLMeta.</p>
- <p>Le deuxième effet est l'interprétation de toutes les déclarations
+ <p>Le deuxième effet est l'interprétation de toutes les déclarations
<code><meta http-equiv=...></code> et leur conversion en
- en-têtes HTTP, afin de conserver le but original de cette forme
- de métaélément HTML.</p>
+ en-têtes HTTP, afin de conserver le but original de cette forme
+ de métaélément HTML.</p>
<div class="warning"><h3>Avertissement</h3> Compte tenu du fait que la
- directive ProxyHTMLMeta promeut <strong>tous</strong> les éléments
- <code>http-equiv</code> au rang d'en-têtes HTTP, il est conseillé de ne
- l'activer que si vous faites autant confiance au contenu HTML qu'à votre
- serveur mandataire. Avec cette directive en effet, si ce contenu est géré
- par des gens malintentionnés, ces derniers seront en mesure d'injecter des
- en-têtes HTTP arbitraires et peut-être malveillants dans les réponses de
+ directive ProxyHTMLMeta promeut <strong>tous</strong> les éléments
+ <code>http-equiv</code> au rang d'en-têtes HTTP, il est conseillé de ne
+ l'activer que si vous faites autant confiance au contenu HTML qu'à votre
+ serveur mandataire. Avec cette directive en effet, si ce contenu est géré
+ par des gens malintentionnés, ces derniers seront en mesure d'injecter des
+ en-têtes HTTP arbitraires et peut-être malveillants dans les réponses de
votre serveur.
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxyhtmlstripcomments" id="proxyhtmlstripcomments">Directive</a> <a name="ProxyHTMLStripComments" id="ProxyHTMLStripComments">ProxyHTMLStripComments</a><a title="Lien permanent" href="#proxyhtmlstripcomments" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les commentaires HTML doivent être supprimés.</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les commentaires HTML doivent être supprimés.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLStripComments On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLStripComments Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHTMLStripComments Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
-Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
+Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
</table>
-<p>Si cette directive est définie à <code>On</code>, mod_proxy_html
+<p>Si cette directive est définie à <code>On</code>, mod_proxy_html
supprimera les commentaires HTML. Notez que cela supprimera aussi tout
-script ou style inclus dans les commentaires (une monstruosité
+script ou style inclus dans les commentaires (une monstruosité
introduite en 1995/1996 avec Netscape 2 pour les navigateurs plus
-anciens, et encore utilisée de nos jours). Cette directive peut aussi
-interférer avec des processeurs basés sur les commentaires comme SSI ou
-ESI : assurez-vous d'exécuter ces derniers <em>avant</em> mod_proxy_html
-dans la chaîne de filtrage si vous supprimez les commentaires !</p>
+anciens, et encore utilisée de nos jours). Cette directive peut aussi
+interférer avec des processeurs basés sur les commentaires comme SSI ou
+ESI : assurez-vous d'exécuter ces derniers <em>avant</em> mod_proxy_html
+dans la chaîne de filtrage si vous supprimez les commentaires !</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="proxyhtmlurlmap" id="proxyhtmlurlmap">Directive</a> <a name="ProxyHTMLURLMap" id="ProxyHTMLURLMap">ProxyHTMLURLMap</a><a title="Lien permanent" href="#proxyhtmlurlmap" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une règle de réécriture des liens HTML</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLURLMap <var>modèle-source modèle-cible [drapeaux] [cond]</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une règle de réécriture des liens HTML</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHTMLURLMap <var>modèle-source modèle-cible [drapeaux] [cond]</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_html</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
-Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
+Disponible en tant que module tiers dans les versions 2.x antérieures.</td></tr>
</table>
-<p>Il s'agit de la directive la plus importante pour la réécriture des
-liens HTML. Lors de l'interprétation d'un document, chaque fois qu'un
-lien correspond à <var>modèle-source</var>, la partie du lien concernée
-sera réécrite en <var>modèle-cible</var>, en tenant compte des
-modifications induites par les drapeaux éventuellement spécifiés et par
+<p>Il s'agit de la directive la plus importante pour la réécriture des
+liens HTML. Lors de l'interprétation d'un document, chaque fois qu'un
+lien correspond à <var>modèle-source</var>, la partie du lien concernée
+sera réécrite en <var>modèle-cible</var>, en tenant compte des
+modifications induites par les drapeaux éventuellement spécifiés et par
la directive <code class="directive"><a href="#proxyhtmlextended">ProxyHTMLExtended</a></code>.
-Ne seront considérés comme des liens HTML que les éléments spécifiés via la
+Ne seront considérés comme des liens HTML que les éléments spécifiés via la
directive <code class="directive"><a href="#proxyhtmllinks">ProxyHTMLLinks</a></code>.</p>
-<p>Le troisième argument optionnel permet de définir un des drapeaux
-suivants (les drapeaux sont sensibles à la casse) :</p>
+<p>Le troisième argument optionnel permet de définir un des drapeaux
+suivants (les drapeaux sont sensibles à la casse) :</p>
<dl>
<dt>h</dt>
<dd><p>Ignore les liens HTML (les traverse sans les modifier)</p></dd>
<dt>e</dt>
-<dd><p>Ignore les évènements de scripting (les traverse sans les
+<dd><p>Ignore les évènements de scripting (les traverse sans les
modifier)</p></dd>
<dt>c</dt>
<dd><p>Traverse les sections de type style ou script sans les modifier.</p></dd>
<dt>L</dt>
-<dd><p>Last-match. Si cette règle s'applique, aucune autre règle ne sera
+<dd><p>Last-match. Si cette règle s'applique, aucune autre règle ne sera
prise en compte (notez qu'il s'agit du comportement automatique pour les
liens HTML).</p></dd>
<dt>l</dt>
-<dd><p>L'opposé de L. Passe outre le comportement par défaut du
+<dd><p>L'opposé de L. Passe outre le comportement par défaut du
changement unique pour les liens HTML.</p></dd>
<dt>R</dt>
-<dd><p>Utilise des expressions rationnelles pour les modèles.
-<code>modèle-source</code> est une expression rationnelle, et
-<code>modèle-cible</code> une chaîne de remplacement qui peut être basée
-elle aussi sur une expression rationnelle. La mémorisation dans les
-expressions rationnelles est supportée : vous pouvez utiliser des
-parenthèses () dans le <code>modèle-source</code>, et récupérer la
-correspondance de leur contenu via les variables $1 à $9 dans le
-<code>modèle-cible</code>.</p>
+<dd><p>Utilise des expressions rationnelles pour les modèles.
+<code>modèle-source</code> est une expression rationnelle, et
+<code>modèle-cible</code> une chaîne de remplacement qui peut être basée
+elle aussi sur une expression rationnelle. La mémorisation dans les
+expressions rationnelles est supportée : vous pouvez utiliser des
+parenthèses () dans le <code>modèle-source</code>, et récupérer la
+correspondance de leur contenu via les variables $1 à $9 dans le
+<code>modèle-cible</code>.</p>
-<p>Si le drapeau R n'est pas fourni, la directive utilisera des chaînes
-littérales pour les différents modèles de recherche/remplacement. La
+<p>Si le drapeau R n'est pas fourni, la directive utilisera des chaînes
+littérales pour les différents modèles de recherche/remplacement. La
logique de recherche est <em>"commence par"</em> dans les liens HTML, et
-<em>"contient"</em> dans les évènements de scripting et les sections de
+<em>"contient"</em> dans les évènements de scripting et les sections de
type style ou script.
</p>
</dd>
<dt>x</dt>
-<dd><p>Utilise les expressions rationnelles étendues POSIX. Ne
+<dd><p>Utilise les expressions rationnelles étendues POSIX. Ne
s'applique qu'avec R.</p></dd>
<dt>i</dt>
-<dd><p>Recherche de correspondance sensible à la casse. Ne
+<dd><p>Recherche de correspondance sensible à la casse. Ne
s'applique qu'avec R.</p></dd>
<dt>n</dt>
-<dd><p>Désactive la mémorisation dans les expressions rationnelles (pour
-améliorer les performances). Ne s'applique qu'avec R.</p></dd>
+<dd><p>Désactive la mémorisation dans les expressions rationnelles (pour
+améliorer les performances). Ne s'applique qu'avec R.</p></dd>
<dt>s</dt>
<dd><p>Recherche de correspondance dans les expressions rationnelles
-basée sur la ligne. Ne s'applique qu'avec R.</p></dd>
+basée sur la ligne. Ne s'applique qu'avec R.</p></dd>
<dt>^</dt>
-<dd><p>Recherche de correspondance au début seulement. Ne concerne que
-les recherches de correspondance par rapport à des chaînes, et ne
+<dd><p>Recherche de correspondance au début seulement. Ne concerne que
+les recherches de correspondance par rapport à des chaînes, et ne
s'applique pas aux liens HTML.</p></dd>
<dt>$</dt>
-<dd><p>Recherche de correspondance à la fin seulement. Ne concerne que
-les recherches de correspondance par rapport à des chaînes, et ne
+<dd><p>Recherche de correspondance à la fin seulement. Ne concerne que
+les recherches de correspondance par rapport à des chaînes, et ne
s'applique pas aux liens HTML.</p></dd>
<dt>V</dt>
-<dd><p>Insère des variables d'environnement dans le
-<code>modèle-cible</code>. Un <code>modèle-cible</code> de la forme
-<code>${varname|default}</code> sera remplacé par la valeur de la
-variable d'environnement <code>varname</code>. Si cette dernière n'est
-pas définie, <code>modèle-cible</code> sera remplacé par
-<code>default</code>. La spécification de <code>|default</code> est
+<dd><p>Insère des variables d'environnement dans le
+<code>modèle-cible</code>. Un <code>modèle-cible</code> de la forme
+<code>${varname|default}</code> sera remplacé par la valeur de la
+variable d'environnement <code>varname</code>. Si cette dernière n'est
+pas définie, <code>modèle-cible</code> sera remplacé par
+<code>default</code>. La spécification de <code>|default</code> est
facultative.</p>
<p>NOTE: l'insertion de variables d'environnement n'est possible que si
-la directive <code class="directive"><a href="#proxyhtmlinterp">ProxyHTMLInterp</a></code> a été définie à
+la directive <code class="directive"><a href="#proxyhtmlinterp">ProxyHTMLInterp</a></code> a été définie à
<var>On</var>.</p>
</dd>
<dt>v</dt>
-<dd><p>Insère des variables d'environnement dans le
-<code>modèle-source</code>. La syntaxe du modèle est identique à la
-syntaxe précédente.</p>
+<dd><p>Insère des variables d'environnement dans le
+<code>modèle-source</code>. La syntaxe du modèle est identique à la
+syntaxe précédente.</p>
<p>NOTE: l'insertion de variables d'environnement n'est possible que si
-la directive <code class="directive"><a href="#proxyhtmlinterp">ProxyHTMLInterp</a></code> a été définie à
+la directive <code class="directive"><a href="#proxyhtmlinterp">ProxyHTMLInterp</a></code> a été définie à
<var>On</var>.</p>
</dd>
</dl>
-<p>Le quatrième argument optionnel <strong>cond</strong> définit une
-condition qui sera évaluée pour chaque requête, sous réserve que la
-directive <code class="directive"><a href="#proxyhtmlinterp">ProxyHTMLInterp</a></code> ait été définie à
-<var>On</var>. Si la condition est évaluée à FALSE, la règle ne sera pas
-appliquée à la requête. Si elle est évaluée à TRUE, ou si aucune
-condition n'est définie, la règle s'applique.</p>
-<p>La <strong>condition</strong> est évaluée par l'<a href="../expr.html">interpréteur d'expression</a>. La syntaxe simple des
+<p>Le quatrième argument optionnel <strong>cond</strong> définit une
+condition qui sera évaluée pour chaque requête, sous réserve que la
+directive <code class="directive"><a href="#proxyhtmlinterp">ProxyHTMLInterp</a></code> ait été définie à
+<var>On</var>. Si la condition est évaluée à FALSE, la règle ne sera pas
+appliquée à la requête. Si elle est évaluée à TRUE, ou si aucune
+condition n'est définie, la règle s'applique.</p>
+<p>La <strong>condition</strong> est évaluée par l'<a href="../expr.html">interpréteur d'expression</a>. La syntaxe simple des
conditions dans mod_proxy_html 3.x pour HTTPD 2.0 et 2.2 est aussi
-supportée.</p>
+supportée.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_html.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_html.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_html.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_proxy_http</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_http.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_http.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_http.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support HTTP à
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support HTTP à
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></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>proxy_http_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_http.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_http_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_http.c</td></tr></table>
<h3>Sommaire</h3>
<p>Pour pouvoir fonctionner, ce module <em>requiert</em> le
chargement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Il fournit le support du
- mandatement des requêtes HTTP et HTTPS. <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>
+ mandatement des requêtes HTTP et HTTPS. <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>
supporte HTTP/0.9, HTTP/1.0 et HTTP/1.1. Il ne fournit
- <em>aucune</em> fonctionnalité de mise en cache. Si vous souhaitez
+ <em>aucune</em> fonctionnalité de mise en cache. Si vous souhaitez
mettre en oeuvre un mandataire qui assure aussi les fonctions de
mise en cache, vous devez utiliser les services du module
<code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p>
- <p>Ainsi, pour pouvoir traiter les requêtes HTTP mandatées,
+ <p>Ainsi, pour pouvoir traiter les requêtes HTTP mandatées,
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, et <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code>
- doivent être chargés dans le serveur.</p>
+ doivent être chargés dans le serveur.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
+ <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
serveurs mandataires ouverts sont dangereux non seulement pour
- votre réseau, mais aussi pour l'Internet au sens large.</p>
+ votre réseau, mais aussi pour l'Internet au sens large.</p>
</div>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#env">Variables d'environnement</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#notes">Informations sur les requêtes</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#notes">Informations sur les requêtes</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_http">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_http">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_http">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_http">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code></li>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="env" id="env">Variables d'environnement</a><a title="Lien permanent" href="#env" class="permalink">¶</a></h2>
- <p>Outre les directives de configuration qui contrôlent le
+ <p>Outre les directives de configuration qui contrôlent le
comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, plusieurs <dfn>variables
- d'environnement</dfn> permettent de contrôler le fournisseur du
+ d'environnement</dfn> permettent de contrôler le fournisseur du
protocole HTTP. Parmi les variables suivantes, celle qui ne
- nécessitent pas de valeur particulière sont définies quelle que soit
+ nécessitent pas de valeur particulière sont définies quelle que soit
la valeur qu'on leur affecte.</p>
<dl>
<dt>proxy-sendextracrlf</dt>
<dd>Provoque l'envoi par le mandataire d'une nouvelle ligne
- CR-LF supplémentaire à la fin de la requête.
+ CR-LF supplémentaire à la fin de la requête.
Ceci constitue un
moyen de contournement d'une bogue de certains
navigateurs.</dd>
<dt>force-proxy-request-1.0</dt>
- <dd>Force le mandataire à envoyer des requêtes vers le serveur
- cible selon le protocole HTTP/1.0 et désactive les
- fonctionnalités propres à HTTP/1.1.</dd>
+ <dd>Force le mandataire à envoyer des requêtes vers le serveur
+ cible selon le protocole HTTP/1.0 et désactive les
+ fonctionnalités propres à HTTP/1.1.</dd>
<dt>proxy-nokeepalive</dt>
- <dd>Force le mandataire à fermer la connexion avec le serveur
- cible après chaque requête.</dd>
+ <dd>Force le mandataire à fermer la connexion avec le serveur
+ cible après chaque requête.</dd>
<dt>proxy-chain-auth</dt>
<dd>Si le mandataire requiert une authentification, il va lire
- et exploiter les données d'authentification pour mandataire
- envoyées par le client. Si <var>proxy-chain-auth</var> est
- définie, il va <em>aussi</em> faire suivre ces données vers le
- mandataire suivant dans la chaîne. Ceci peut s'avérer nécessaire
- si une chaîne de mandataires partagent les informations
+ et exploiter les données d'authentification pour mandataire
+ envoyées par le client. Si <var>proxy-chain-auth</var> est
+ définie, il va <em>aussi</em> faire suivre ces données vers le
+ mandataire suivant dans la chaîne. Ceci peut s'avérer nécessaire
+ si une chaîne de mandataires partagent les informations
d'authentification.
- <strong>Avertissement concernant la sécurité :</strong>
- Ne définissez cette variable que si vous êtes sûr d'en avoir
+ <strong>Avertissement concernant la sécurité :</strong>
+ Ne définissez cette variable que si vous êtes sûr d'en avoir
besoin, car elle peut provoquer la divulgation d'informations
sensibles !</dd>
<dt>proxy-sendcl</dt>
- <dd>Avec HTTP/1.0, toutes les requêtes qui possèdent un corps
- (par exemple les requêtes POST) doivent comporter un en-tête
+ <dd>Avec HTTP/1.0, toutes les requêtes qui possèdent un corps
+ (par exemple les requêtes POST) doivent comporter un en-tête
<var>Content-Length</var>. Cette variable d'environnement force
- le mandataire Apache à envoyer cet en-tête au serveur cible,
- sans tenir compte de ce que lui a envoyé le client. Ceci permet
- d'assurer la compatibilité lorsqu'on mandate un serveur cible
+ le mandataire Apache à envoyer cet en-tête au serveur cible,
+ sans tenir compte de ce que lui a envoyé le client. Ceci permet
+ d'assurer la compatibilité lorsqu'on mandate un serveur cible
mettant en oeuvre un protocole de type HTTP/1.0 ou inconnu. Elle
- peut cependant nécessiter la mise en tampon de l'intégralité de
- la requête par le mandataire, ce qui s'avère très inefficace
- pour les requêtes de grande taille.</dd>
+ peut cependant nécessiter la mise en tampon de l'intégralité de
+ la requête par le mandataire, ce qui s'avère très inefficace
+ pour les requêtes de grande taille.</dd>
<dt>proxy-sendchunks ou proxy-sendchunked</dt>
- <dd>Cette variable constitue l'opposé de
+ <dd>Cette variable constitue l'opposé de
<var>proxy-sendcl</var>. Elle permet la transmission des corps
- de requêtes vers le serveur cible en utilisant un codage de
- transfert fractionné. Ceci permet une transmission des requêtes
- plus efficace, mais nécessite que le serveur cible supporte le
+ de requêtes vers le serveur cible en utilisant un codage de
+ transfert fractionné. Ceci permet une transmission des requêtes
+ plus efficace, mais nécessite que le serveur cible supporte le
protocole HTTP/1.1.</dd>
<dt>proxy-interim-response</dt>
<dd>Cette variable peut prendre les valeurs <code>RFC</code>
- (valeur par défaut) ou
- <code>Suppress</code>. Les versions précédentes de httpd
- supprimaient les réponses intermédiaires HTTP (1xx) envoyées par
+ (valeur par défaut) ou
+ <code>Suppress</code>. Les versions précédentes de httpd
+ supprimaient les réponses intermédiaires HTTP (1xx) envoyées par
le serveur cible. En pratique, si un serveur cible envoie une
- réponse intermédiaire, il se peut qu'il étende lui-même le
- protocole d'une manière dont nous n'avons pas connaissance, ou
+ réponse intermédiaire, il se peut qu'il étende lui-même le
+ protocole d'une manière dont nous n'avons pas connaissance, ou
tout simplement non conforme. Le comportement du mandataire est
- donc maintenant configurable : définissez
- <code>proxy-interim-response RFC</code> pour être totalement
+ donc maintenant configurable : définissez
+ <code>proxy-interim-response RFC</code> pour être totalement
compatible avec le protocole, ou <code>proxy-interim-response
- Suppress</code> pour supprimer les réponses intermédiaires.</dd>
+ Suppress</code> pour supprimer les réponses intermédiaires.</dd>
<dt>proxy-initial-not-pooled</dt>
- <dd>Si cette variable est définie, aucune connexion faisant
- partie d'un jeu ne sera réutilisée si la requête
- du client est la requête initiale pour une connexion.
- Ceci permet d'éviter le message d'erreur
- "proxy: error reading status line from remote server" causé par
- la situation de compétition au cours de laquelle le serveur
- cible ferme la connexion du jeu après la vérification de la
- connexion par le mandataire, et avant que les données envoyées
+ <dd>Si cette variable est définie, aucune connexion faisant
+ partie d'un jeu ne sera réutilisée si la requête
+ du client est la requête initiale pour une connexion.
+ Ceci permet d'éviter le message d'erreur
+ "proxy: error reading status line from remote server" causé par
+ la situation de compétition au cours de laquelle le serveur
+ cible ferme la connexion du jeu après la vérification de la
+ connexion par le mandataire, et avant que les données envoyées
par le mandataire n'atteignent le serveur cible. Il faut
- cependant garder à l'esprit que la définition de cette variable
- dégrade les performances, particulièrement avec les clients
+ cependant garder à l'esprit que la définition de cette variable
+ dégrade les performances, particulièrement avec les clients
HTTP/1.0.
</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="notes" id="notes">Informations sur les requêtes</a><a title="Lien permanent" href="#notes" class="permalink">¶</a></h2>
+<h2><a name="notes" id="notes">Informations sur les requêtes</a><a title="Lien permanent" href="#notes" class="permalink">¶</a></h2>
<p><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> enregistre les informations
suivantes pour journalisation via le format <code>%{NOMVAR}n</code>
dans les directives <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> ou <code class="directive"><a href="../mod/core.html#errorlogformat">ErrorLogFormat</a></code> :
</p>
<dl>
<dt>proxy-source-port</dt>
- <dd>Le port local utilisé pour la connexion vers le serveur
- d'arrière-plan.</dd>
+ <dd>Le port local utilisé pour la connexion vers le serveur
+ d'arrière-plan.</dd>
<dt>proxy-status</dt>
- <dd>Le code d'état HTTP reçu du serveur d'arrière-plan.</dd>
+ <dd>Le code d'état HTTP reçu du serveur d'arrière-plan.</dd>
</dl>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_http.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_http.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_http.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_proxy_http2</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_http2.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_http2.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_http2.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support de HTTP/2 pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></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>proxy_http2_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_http2.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_http2_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_http2.c</td></tr></table>
<h3>Sommaire</h3>
<p><code class="module"><a href="../mod/mod_proxy_http2.html">mod_proxy_http2</a></code> ne
- supporte que HTTP/2 et ne permet pas de rétrogradation vers HTTP/1.1. Cela
- signifie que le serveur d'arrière-plan doit supporter HTTP/2 car HTTP/1.1 ne
- pourra alors pas être utilisé.</p>
+ supporte que HTTP/2 et ne permet pas de rétrogradation vers HTTP/1.1. Cela
+ signifie que le serveur d'arrière-plan doit supporter HTTP/2 car HTTP/1.1 ne
+ pourra alors pas être utilisé.</p>
- <p>Ce module <em>nécessite</em> la présence de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> ;
- pour pouvoir traiter les requêtes mandatées HTTP/2,
+ <p>Ce module <em>nécessite</em> la présence de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> ;
+ pour pouvoir traiter les requêtes mandatées HTTP/2,
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="../mod/mod_proxy_http2.html">mod_proxy_http2</a></code> doivent donc
- être chargés par le serveur.</p>
+ être chargés par le serveur.</p>
- <p><code class="module"><a href="../mod/mod_proxy_http2.html">mod_proxy_http2</a></code> travaille avec des requêtes entrantes en
- HTTP/1.1 ou HTTP/2. Dans les deux cas, les requêtes vers le même serveur
- d'arrière-plan sont envoyées
+ <p><code class="module"><a href="../mod/mod_proxy_http2.html">mod_proxy_http2</a></code> travaille avec des requêtes entrantes en
+ HTTP/1.1 ou HTTP/2. Dans les deux cas, les requêtes vers le même serveur
+ d'arrière-plan sont envoyées
via une seule connexion TCP, dans la mesure du possible (autrement dit
- lorsque la connexion peut être réutilisée).</p>
+ lorsque la connexion peut être réutilisée).</p>
- <p>Avertissement : il ne sera effectué aucune tentative de fusion de
- plusieurs requêtes entrantes HTTP/1 (devant être mandatées vers le même
- serveur d'arrière-plan) vers des flux HTTP/2 appartenant à la même requête
- HTTP/2. Chaque requête HTTP/1 entrante sera mandatée vers le serveur
- d'arrière-plan en utilisant une requête HTTP/2 séparée (tout en réutilisant
- si possible la même connexion TCP).</p>
+ <p>Avertissement : il ne sera effectué aucune tentative de fusion de
+ plusieurs requêtes entrantes HTTP/1 (devant être mandatées vers le même
+ serveur d'arrière-plan) vers des flux HTTP/2 appartenant à la même requête
+ HTTP/2. Chaque requête HTTP/1 entrante sera mandatée vers le serveur
+ d'arrière-plan en utilisant une requête HTTP/2 séparée (tout en réutilisant
+ si possible la même connexion TCP).</p>
<p>Ce module s'appuie sur <a href="http://nghttp2.org/">libnghttp2</a> pour
fournir le moteur central http/2.</p>
<div class="warning"><h3>Avertissement</h3> <p>Ce module en est au
- stade expérimental. Ses comportement, directives et valeurs par défauts sont
- donc susceptibles de modifications d'une version à l'autre plus fréquentes
- que pour les autres modules. A ce titre, il est fortement conseillé aux
+ stade expérimental. Ses comportement, directives et valeurs par défauts sont
+ donc susceptibles de modifications d'une version à l'autre plus fréquentes
+ que pour les autres modules. A ce titre, il est fortement conseillé aux
utilisateurs de consulter le fichier "CHANGES" pour prendre connaissance de
ces modifications.</p> </div>
<div class="warning"><h3>Avertissement</h3>
- <p>N'activez pas le mandatement avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les serveurs
- mandataires ouverts sont dangereux non seulement pour votre propre réseau,
+ <p>N'activez pas le mandatement avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les serveurs
+ mandataires ouverts sont dangereux non seulement pour votre propre réseau,
mais aussi pour l'Internet au sens large.</p>
</div>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples de base</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#notes">Informations sur les requêtes</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#notes">Informations sur les requêtes</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#h2push">HTTP/2 PUSH</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_http2">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_http2">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_http2">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_http2">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<h2><a name="examples" id="examples">Exemples de base</a><a title="Lien permanent" href="#examples" class="permalink">¶</a></h2>
<p>Les exemples ci-dessous montrent comment configurer HTTP/2 pour des
- connexions d'arrière-plan vers un mandataire inverse.</p>
+ connexions d'arrière-plan vers un mandataire inverse.</p>
<div class="example"><h3>HTTP/2 (TLS)</h3><pre class="prettyprint lang-config">ProxyPass "/app" "h2://app.example.com"
ProxyPassReverse "/app" "https://app.example.com"</pre>
</div>
- <div class="example"><h3>HTTP/2 (non sécurisé)</h3><pre class="prettyprint lang-config">ProxyPass "/app" "h2c://app.example.com"
+ <div class="example"><h3>HTTP/2 (non sécurisé)</h3><pre class="prettyprint lang-config">ProxyPass "/app" "h2c://app.example.com"
ProxyPassReverse "/app" "http://app.example.com"</pre>
</div>
<div class="note">
<p>Pour mandater en inverse les protocoles <code>h2</code> ou
<code>h2c</code>, on utilise la directive
- <code class="directive">ProxyPassReverse</code> avec les schèmes habituels
+ <code class="directive">ProxyPassReverse</code> avec les schèmes habituels
<code>https</code> et respectivement
- <code>http</code> qui sont connus et utilisés par l'agent utilisateur.</p>
+ <code>http</code> qui sont connus et utilisés par l'agent utilisateur.</p>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="notes" id="notes">Informations sur les requêtes</a><a title="Lien permanent" href="#notes" class="permalink">¶</a></h2>
- <p><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> fournit les informations sur les requêtes
+<h2><a name="notes" id="notes">Informations sur les requêtes</a><a title="Lien permanent" href="#notes" class="permalink">¶</a></h2>
+ <p><code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> fournit les informations sur les requêtes
suivantes pour enregistrement dans les journaux en utilisant le format
<code>%{VARNAME}n</code> avec les directives <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> ou <code class="directive"><a href="../mod/core.html#errorlogformat">ErrorLogFormat</a></code> :
</p>
<dl>
<dt>proxy-source-port</dt>
- <dd>Le numéro de port local utilisé pour la connexion vers le serveur
- d'arrière-plan.</dd>
+ <dd>Le numéro de port local utilisé pour la connexion vers le serveur
+ d'arrière-plan.</dd>
<dt>proxy-status</dt>
- <dd>Le statut HTTP/2 en provenance du serveur d'arrière-plan.</dd>
+ <dd>Le statut HTTP/2 en provenance du serveur d'arrière-plan.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="h2push" id="h2push">HTTP/2 PUSH</a><a title="Lien permanent" href="#h2push" class="permalink">¶</a></h2>
- <p>Ce module ne supporte pas la fonctionnalité HTTP/2 PUSH. Les serveurs
- d'arrière-plan qui veulent indiquer des ressources à précharger doivent
- envoyer les en-têtes <code>Link</code> appropriés.</p>
- <p>En cas de besoin, il peuvent le faire en utilisant les réponses
- intermédiaires <code>"103 Early Hints"</code> comme indiqué dans la <a href="https://tools.ietf.org/html/rfc8297">RFC 8297</a>, ce qui fournira
+ <p>Ce module ne supporte pas la fonctionnalité HTTP/2 PUSH. Les serveurs
+ d'arrière-plan qui veulent indiquer des ressources à précharger doivent
+ envoyer les en-têtes <code>Link</code> appropriés.</p>
+ <p>En cas de besoin, il peuvent le faire en utilisant les réponses
+ intermédiaires <code>"103 Early Hints"</code> comme indiqué dans la <a href="https://tools.ietf.org/html/rfc8297">RFC 8297</a>, ce qui fournira
les meilleures performances. Si le client comprend aussi le langage HTTP/2,
- il en résultera un PUSH de la part de httpd vers le celui-ci ou un simple
- transfert de la réponse 103.</p>
+ il en résultera un PUSH de la part de httpd vers le celui-ci ou un simple
+ transfert de la réponse 103.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_http2.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_http2.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_http2.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_proxy_scgi</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_scgi.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_scgi.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_scgi.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support de la passerelle SCGI à
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support de la passerelle SCGI à
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></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>proxy_scgi_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_scgi.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_scgi_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_scgi.c</td></tr></table>
<h3>Sommaire</h3>
<p>Pour pouvoir fonctionner, ce module <em>requiert</em> le
<a href="http://python.ca/scgi/protocol.txt">protocole SCGI, version
1</a>.</p>
- <p>Ainsi, pour être en mesure de traiter le protocole SCGI,
+ <p>Ainsi, pour être en mesure de traiter le protocole SCGI,
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code>
- doivent être chargés dans le serveur.</p>
+ doivent être chargés dans le serveur.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
+ <p>N'activez pas la fonctionnalité de mandataire avant d'avoir <a href="mod_proxy.html#access">sécurisé votre serveur</a>. Les
serveurs mandataires ouverts sont dangereux non seulement pour
- votre réseau, mais aussi pour l'Internet au sens large.</p>
+ votre réseau, mais aussi pour l'Internet au sens large.</p>
</div>
</div>
<div id="quickview"><h3>Sujets</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyscgiinternalredirect">ProxySCGIInternalRedirect</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxyscgisendfile">ProxySCGISendfile</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_scgi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_scgi">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_scgi">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_scgi">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li>
<div class="example"><h3>Passerelle simple</h3><pre class="prettyprint lang-config">ProxyPass "/scgi-bin/" "scgi://localhost:4000/"</pre>
</div>
- <p>La passerelle à répartition de charge nécessite le chargement du
+ <p>La passerelle à répartition de charge nécessite le chargement du
module <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> et d'au moins un module
- fournissant un algorithme de répartition de charge, comme
+ fournissant un algorithme de répartition de charge, comme
<code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> en plus des modules
- déjà cités. <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> est le module
- par défaut et sera utilisé dans cet exemple de configuration.</p>
+ déjà cités. <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> est le module
+ par défaut et sera utilisé dans cet exemple de configuration.</p>
- <div class="example"><h3>Passerelle à répartition de charge</h3><pre class="prettyprint lang-config">ProxyPass "/scgi-bin/" "balancer://somecluster/"
+ <div class="example"><h3>Passerelle à répartition de charge</h3><pre class="prettyprint lang-config">ProxyPass "/scgi-bin/" "balancer://somecluster/"
<Proxy balancer://somecluster>
BalancerMember scgi://localhost:4000
BalancerMember scgi://localhost:4001
<div class="section">
<h2><a name="env" id="env">Variables d'environnement</a><a title="Lien permanent" href="#env" class="permalink">¶</a></h2>
<p>En plus des directives de configuration qui permettent de
- contrôler le comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, une
+ contrôler le comportement de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, une
<dfn>variable d'environnement</dfn> peut aussi
- contrôler le fournisseur de protocole SCGI :</p>
+ contrôler le fournisseur de protocole SCGI :</p>
<dl>
<dt>proxy-scgi-pathinfo</dt>
- <dd>Par défaut, <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> ne créera ni
+ <dd>Par défaut, <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> ne créera ni
exportera jamais la variable d'environnement
- <var>PATH_INFO</var>. Ceci permet au serveur SCGI d'arrière-plan
- de déterminer correctement <var>SCRIPT_NAME</var> et
- <var>Script-URI</var>, et d'être en conformité avec la section
+ <var>PATH_INFO</var>. Ceci permet au serveur SCGI d'arrière-plan
+ de déterminer correctement <var>SCRIPT_NAME</var> et
+ <var>Script-URI</var>, et d'être en conformité avec la section
3.3 de la RFC 3875. Si au contraire vous souhaitez que
- <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> génère une estimation la plus
- précise possible de <var>PATH_INFO</var>, définissez cette
- variable d'environnement. La variable doit être définie avant
+ <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> génère une estimation la plus
+ précise possible de <var>PATH_INFO</var>, définissez cette
+ variable d'environnement. La variable doit être définie avant
que la directive <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> ne soit
- effective. Il est possible d'utiliser à la place la directive
+ effective. Il est possible d'utiliser à la place la directive
<code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> : <code>SetEnvIf
Request_URI . proxy-scgi-pathinfo</code>
</dd>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxyscgiinternalredirect" id="proxyscgiinternalredirect">Directive</a> <a name="ProxySCGIInternalRedirect" id="ProxySCGIInternalRedirect">ProxySCGIInternalRedirect</a><a title="Lien permanent" href="#proxyscgiinternalredirect" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive les réponses de redirection interne en
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive les réponses de redirection interne en
provenance du serveur cible.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySCGIInternalRedirect On|Off|<var>Headername</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxySCGIInternalRedirect On</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxySCGIInternalRedirect On</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_scgi</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le paramètre <var>Headername</var> est disponible depuis
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le paramètre <var>Headername</var> est disponible depuis
la version 2.4.13 du serveur HTTP Apache.</td></tr>
</table>
<p>La directive <code class="directive">ProxySCGIInternalRedirect</code>
permet au serveur cible de rediriger en interne la passerelle vers
- une URL différente. Cette fonctionnalité trouve son origine dans
- <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> qui redirige la réponse en interne si
- l'état de la réponse est <code>OK</code> (<code>200</code>), et si
- la réponse contient un en-tête <code>Location</code> (ou un autre
- en-tête défini) dont la valeur
- débute par un slash (<code>/</code>). Cette valeur est interprétée
+ une URL différente. Cette fonctionnalité trouve son origine dans
+ <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> qui redirige la réponse en interne si
+ l'état de la réponse est <code>OK</code> (<code>200</code>), et si
+ la réponse contient un en-tête <code>Location</code> (ou un autre
+ en-tête défini) dont la valeur
+ débute par un slash (<code>/</code>). Cette valeur est interprétée
comme une nouvelle URL locale vers laquelle Apache httpd effectue sa
redirection.</p>
- <p>De ce point de vue, <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> fait la même
+ <p>De ce point de vue, <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> fait la même
chose que <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, mais vous pouvez en plus
- désactiver la fonctionnalité ou spécifier l'utilisation d'un en-tête
+ désactiver la fonctionnalité ou spécifier l'utilisation d'un en-tête
autre que <code>Location</code>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"> ProxySCGIInternalRedirect Off
# Django et certains autres frameworks qualifient pleinement les "URLs
-# locales" définies par l'application ; il faut donc utiliser un autre
-# en-tête.
+# locales" définies par l'application ; il faut donc utiliser un autre
+# en-tête.
<Location /django-app/>
ProxySCGIInternalRedirect X-Location
</Location></pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="proxyscgisendfile" id="proxyscgisendfile">Directive</a> <a name="ProxySCGISendfile" id="ProxySCGISendfile">ProxySCGISendfile</a><a title="Lien permanent" href="#proxyscgisendfile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'évaluation du pseudo en-tête de réponse
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'évaluation du pseudo en-tête de réponse
<var>X-Sendfile</var></td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySCGISendfile On|Off|<var>nom-en-tête</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxySCGISendfile Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxySCGISendfile On|Off|<var>nom-en-tête</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxySCGISendfile Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</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_proxy_scgi</td></tr>
</table>
<p>La directive <code class="directive">ProxySCGISendfile</code> permet au
- serveur SCGI d'arrière-plan de faire servir les fichiers directement par la
- passerelle. Ceci s'avère bénéfique en matière de performances —
+ serveur SCGI d'arrière-plan de faire servir les fichiers directement par la
+ passerelle. Ceci s'avère bénéfique en matière de performances —
httpd peut alors utiliser <code>sendfile</code> ou d'autres
optimisations, ce qui n'est pas possible si les fichiers passent par
le socket du serveur cible. En outre, les fichiers ne sont transmis
qu'une seule fois.</p>
<p>L'argument de la directive
- <code class="directive">ProxySCGISendfile</code> détermine le comportement
+ <code class="directive">ProxySCGISendfile</code> détermine le comportement
de la passerelle :</p>
<dl>
<dt><code>Off</code></dt>
- <dd>Aucun traitement particulier n'est effectué.</dd>
+ <dd>Aucun traitement particulier n'est effectué.</dd>
<dt><code>On</code></dt>
- <dd>La passerelle recherche un en-tête dans la réponse du serveur
- cible nommé <code>X-Sendfile</code>, et interprète sa valeur comme
- le nom du fichier à servir. L'en-tête est ensuite supprimé de la
- réponse finale. Cet argument produit le même effet que
+ <dd>La passerelle recherche un en-tête dans la réponse du serveur
+ cible nommé <code>X-Sendfile</code>, et interprète sa valeur comme
+ le nom du fichier à servir. L'en-tête est ensuite supprimé de la
+ réponse finale. Cet argument produit le même effet que
<code>ProxySCGISendfile X-Sendfile</code>.</dd>
<dt>toute autre valeur</dt>
- <dd>Identique à <code>On</code>, mais au lieu de rechercher le nom
- d'en-tête codé en dur <code>X-Sendfile</code>, c'est la valeur de
- l'argument qui constitue le nom de l'en-tête à rechercher.</dd>
+ <dd>Identique à <code>On</code>, mais au lieu de rechercher le nom
+ d'en-tête codé en dur <code>X-Sendfile</code>, c'est la valeur de
+ l'argument qui constitue le nom de l'en-tête à rechercher.</dd>
</dl>
- <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"> # Utilise le nom d'en-tête par défaut (X-Sendfile)
+ <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"> # Utilise le nom d'en-tête par défaut (X-Sendfile)
ProxySCGISendfile On
- # Utilise un nom d'en-tête différent
+ # Utilise un nom d'en-tête différent
ProxySCGISendfile X-Send-Static</pre>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_scgi.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_scgi.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_scgi.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_proxy_wstunnel</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_wstunnel.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_wstunnel.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_wstunnel.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> supportant les
websockets</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>proxy_wstunnel_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_wstunnel.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_wstunnel_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_wstunnel.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
Apache</td></tr></table>
<h3>Sommaire</h3>
- <p>Pour utiliser ce module, <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> doit être
- chargé. Il fournit le support du tunnelling pour les connexions
- websocket vers un serveur websockets d'arrière-plan. La connexion
+ <p>Pour utiliser ce module, <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> doit être
+ chargé. Il fournit le support du tunnelling pour les connexions
+ websocket vers un serveur websockets d'arrière-plan. La connexion
est automatiquement promue en connexion websocket :</p>
- <div class="example"><h3>Réponse HTTP</h3><pre class="prettyprint lang-config">Upgrade: WebSocket
+ <div class="example"><h3>Réponse HTTP</h3><pre class="prettyprint lang-config">Upgrade: WebSocket
Connection: Upgrade</pre>
</div>
-<p>Le mandatement des requêtes vers un serveur websockets comme
-<code>echo.websocket.org</code> peut être configuré via la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> :</p>
+<p>Le mandatement des requêtes vers un serveur websockets comme
+<code>echo.websocket.org</code> peut être configuré via la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> :</p>
<pre class="prettyprint lang-config">ProxyPass "/ws2/" "ws://echo.websocket.org/"
ProxyPass "/wss2/" "wss://echo.websocket.org/"</pre>
-<p>La répartition de charge entre plusieurs serveurs d'arrière-plan peut être
-configurée via le module <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>.</p>
+<p>La répartition de charge entre plusieurs serveurs d'arrière-plan peut être
+configurée via le module <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>.</p>
-<p>En fait, ce module permet d'accepter d'autres protocoles ; vous pouvez à cet
-effet utiliser le paramètre <code>upgrade</code> de la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>. La valeur NONE
-signifie que vous court-circuitez la consultation de l'en-tête, mais que vous
-autorisez quand-même WebSocket. La valeur ANY signifie que <code>Upgrade</code>
-va lire les en-têtes de la requête et les utilisera dans l'en-tête
-<code>Upgrade</code> de la réponse.</p>
+<p>En fait, ce module permet d'accepter d'autres protocoles ; vous pouvez à cet
+effet utiliser le paramètre <code>upgrade</code> de la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>. La valeur NONE
+signifie que vous court-circuitez la consultation de l'en-tête, mais que vous
+autorisez quand-même WebSocket. La valeur ANY signifie que <code>Upgrade</code>
+va lire les en-têtes de la requête et les utilisera dans l'en-tête
+<code>Upgrade</code> de la réponse.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#proxywebsocketasyncdelay">ProxyWebsocketAsyncDelay</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#proxywebsocketidletimeout">ProxyWebsocketIdleTimeout</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_wstunnel">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_wstunnel">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_wstunnel">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_wstunnel">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<li><a href="#comments_section">Commentaires</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="proxywebsocketasync" id="proxywebsocketasync">Directive</a> <a name="ProxyWebsocketAsync" id="ProxyWebsocketAsync">ProxyWebsocketAsync</a><a title="Lien permanent" href="#proxywebsocketasync" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Création d'un tunnel asynchrone</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Création d'un tunnel asynchrone</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyWebsocketAsync ON|OFF</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy_wstunnel</td></tr>
</table>
- <p>Cette directive permet d'imposer la création d'un tunnel
- asynchrone. Si le module MPM utilisé ne supporte pas les
- fonctionnalités nécessaires, le tunnel est créé en mode synchrone.</p>
+ <p>Cette directive permet d'imposer la création d'un tunnel
+ asynchrone. Si le module MPM utilisé ne supporte pas les
+ fonctionnalités nécessaires, le tunnel est créé en mode synchrone.</p>
<div class="note"><h3>Note</h3><p>Le support du mode asynchrone est
- au stade expérimental et est susceptible d'évoluer.</p></div>
+ au stade expérimental et est susceptible d'évoluer.</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="proxywebsocketasyncdelay" id="proxywebsocketasyncdelay">Directive</a> <a name="ProxyWebsocketAsyncDelay" id="ProxyWebsocketAsyncDelay">ProxyWebsocketAsyncDelay</a><a title="Lien permanent" href="#proxywebsocketasyncdelay" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Temps d'attente synchrone maximum pour des données</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Temps d'attente synchrone maximum pour des données</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyWebsocketAsyncDelay <var>num</var>[ms]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyWebsocketAsyncDelay 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyWebsocketAsyncDelay 0</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy_wstunnel</td></tr>
</table>
<p>Si la directive <code class="directive">ProxyWebsocketAsync</code> est
- activée, cette directive permet de définir le temps maximum pendant lequel
- le serveur attendra des données en mode synchrone. Par défaut, ce temps est exprimé
- en secondes, mais vous pouvez le spécifier en millisecondes en utilisant le
+ activée, cette directive permet de définir le temps maximum pendant lequel
+ le serveur attendra des données en mode synchrone. Par défaut, ce temps est exprimé
+ en secondes, mais vous pouvez le spécifier en millisecondes en utilisant le
suffixe <em>ms</em>.</p>
<div class="note"><h3>Note</h3><p>Le support du mode asynchrone est
- au stade expérimental et est susceptible d'évoluer.</p></div>
+ au stade expérimental et est susceptible d'évoluer.</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="proxywebsocketidletimeout" id="proxywebsocketidletimeout">Directive</a> <a name="ProxyWebsocketIdleTimeout" id="ProxyWebsocketIdleTimeout">ProxyWebsocketIdleTimeout</a><a title="Lien permanent" href="#proxywebsocketidletimeout" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Temps d'attente maximum pour des données sur le tunnel websockets</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Temps d'attente maximum pour des données sur le tunnel websockets</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyWebsocketIdleTimeout <var>num</var>[ms]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyWebsocketIdleTimeout 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyWebsocketIdleTimeout 0</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_proxy_wstunnel</td></tr>
</table>
- <p>Cette directive permet de définir un temps maximum pendant lequel
- le tunnel pourra rester ouvert et inactif. Par défaut, ce temps est exprimé
- en secondes, mais vous pouvez le spécifier en millisecondes en utilisant le
+ <p>Cette directive permet de définir un temps maximum pendant lequel
+ le tunnel pourra rester ouvert et inactif. Par défaut, ce temps est exprimé
+ en secondes, mais vous pouvez le spécifier en millisecondes en utilisant le
suffixe <em>ms</em>.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_wstunnel.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_proxy_wstunnel.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_proxy_wstunnel.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_ratelimit</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ratelimit.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_ratelimit.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_ratelimit.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Limitation de la bande passante pour les clients</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>ratelimit_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ratelimit.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>
- <code>rate-initial-burst</code> est disponible à partir de la version
- 2.4.24 du serveur HTTP Apache. La limitation de bande passante pour les
- contenus mandatés ne fonctionne correctement qu'à partir de la version
- 2.4.34 du serveur HTTP Apache.
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>ratelimit_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ratelimit.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>
+ <code>rate-initial-burst</code> est disponible à partir de la version 2.4.24
+ du serveur HTTP Apache. La limitation de bande passante pour les contenus
+ mandatés ne fonctionne pas correctement jusqu'à la version 2.4.33.
</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module fournit un filtre <code>RATE_LIMIT</code> pour limiter la
-bande passante des clients. Cette contrainte s'applique à chaque réponse HTTP au
-moment où elle est envoyée au client ; elle n'affecte pas les autres échanges
+bande passante des clients. Cette contrainte s'applique à chaque réponse HTTP au
+moment où elle est envoyée au client ; elle n'affecte pas les autres échanges
entre le client et le serveur. La variable d'environnement
-<code>rate-limit</code> permet de spécifier, en kb/s, le débit de la
-connexion à simuler.</p>
+<code>rate-limit</code> permet de spécifier, en kb/s, le débit de la
+connexion à simuler.</p>
<p>Optionnellement, il est possible, via la variable d'environnement
-<code>rate-initial-burst</code>, de définir une quantité de données en
-kOctets à transmettre à pleine vitesse avant de limiter la bande passante à la
+<code>rate-initial-burst</code>, de définir une quantité de données en
+kOctets à transmettre à pleine vitesse avant de limiter la bande passante à la
valeur voulue.</p>
<div class="example"><h3>Exemple de configuration</h3><pre class="prettyprint lang-config"><Location "/downloads">
SetEnv rate-initial-burst 512
</Location></pre>
<div class="warning">
-Si la valeur affectée à <code>rate-limit</code> dépasse la valeur maximale à
-affecter à un entier, la limitation de bande passante sera désactivée. Si la
-valeur affectée à <code>rate-limit-burst</code> dépasse la valeur maximale à
-affecter à un entier, la transmission du burst initial sans limitation de bande
-passante sera désactivée.
+Si la valeur affectée à <code>rate-limit</code> dépasse la valeur maximale à
+affecter à un entier, la limitation de bande passante sera désactivée. Si la
+valeur affectée à <code>rate-limit-burst</code> dépasse la valeur maximale à
+affecter à un entier, la transmission du burst initial sans limitation de bande
+passante sera désactivée.
</div></div>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ratelimit">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ratelimit">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ratelimit">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ratelimit">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ratelimit.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_ratelimit.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_ratelimit.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_reflector</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_reflector.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_reflector.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_reflector.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Renvoie un corps de requête comme réponse via la pile de
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Renvoie un corps de requête comme réponse via la pile de
filtres en sortie.</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>reflector_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_reflector.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 2.3 et ultérieures</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>reflector_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_reflector.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 2.3 et ultérieures</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module permet de renvoyer un corps de requête au client, après
- l'avoir fait passer par la pile de filtres en sortie. Une chaîne de
- filtres configurée de manière appropriée peut être utilisée pour
- transformer la requête en réponse. Ce module peut ainsi être utilisé
+ <p>Ce module permet de renvoyer un corps de requête au client, après
+ l'avoir fait passer par la pile de filtres en sortie. Une chaîne de
+ filtres configurée de manière appropriée peut être utilisée pour
+ transformer la requête en réponse. Ce module peut ainsi être utilisé
pour transformer un filtre en sortie en service HTTP.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#reflectorheader">ReflectorHeader</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_reflector">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_reflector">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_reflector">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_reflector">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<h2><a name="examples" id="examples">Exemples</a><a title="Lien permanent" href="#examples" class="permalink">¶</a></h2>
<dl>
<dt>Service de compression</dt>
- <dd>Fait passer le corps de la requête par le filtre DEFLATE pour le
- compresser. Cette requête nécessite un en-tête Content-Encoding
- contenant la valeur "gzip" pour que le filtre renvoie les données
- compressées.
+ <dd>Fait passer le corps de la requête par le filtre DEFLATE pour le
+ compresser. Cette requête nécessite un en-tête Content-Encoding
+ contenant la valeur "gzip" pour que le filtre renvoie les données
+ compressées.
<pre class="prettyprint lang-config"><Location "/compress">
SetHandler reflector
SetOutputFilter DEFLATE
</dd>
- <dt>Service d'abaissement de l'échantillonnage d'image</dt>
- <dd>Fait passer le corps de la requête par un filtre d'abaissement
- de l'échantillonnage d'image, et renvoie le résultat au client.
+ <dt>Service d'abaissement de l'échantillonnage d'image</dt>
+ <dd>Fait passer le corps de la requête par un filtre d'abaissement
+ de l'échantillonnage d'image, et renvoie le résultat au client.
<pre class="prettyprint lang-config"><Location "/downsample">
SetHandler reflector
SetOutputFilter DOWNSAMPLE
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="reflectorheader" id="reflectorheader">Directive</a> <a name="ReflectorHeader" id="ReflectorHeader">ReflectorHeader</a><a title="Lien permanent" href="#reflectorheader" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Renvoie un en-tête d'entrée dans les en-têtes de sortie</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ReflectorHeader <var>en-tête-entrée</var> <var>[en-tête-sortie]</var></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#Description">Description:</a></th><td>Renvoie un en-tête d'entrée dans les en-têtes de sortie</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ReflectorHeader <var>en-tête-entrée</var> <var>[en-tête-sortie]</var></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">AllowOverride:</a></th><td>Options</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_reflector</td></tr>
</table>
- <p>Cette directive permet de contrôler la répercution des en-têtes
- de la requête dans la réponse. Le premier argument correspond au nom
- de l'en-tête à copier. Si le second argument (optionnel) est
- spécifié, il définit le nom sous lequel l'en-tête sera répercuté
- dans la réponse ; dans le cas contraire, c'est le nom de l'en-tête
- original qui sera utilisé.</p>
+ <p>Cette directive permet de contrôler la répercution des en-têtes
+ de la requête dans la réponse. Le premier argument correspond au nom
+ de l'en-tête à copier. Si le second argument (optionnel) est
+ spécifié, il définit le nom sous lequel l'en-tête sera répercuté
+ dans la réponse ; dans le cas contraire, c'est le nom de l'en-tête
+ original qui sera utilisé.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_reflector.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_reflector.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_reflector.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_remoteip</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_remoteip.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_remoteip.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_remoteip.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Remplace l'adresse IP du client
-pour la requête par l'adresse IP présentée par un mandataire ou un
-répartiteur de charge via les en-têtes de la requête.
+pour la requête par l'adresse IP présentée par un mandataire ou un
+répartiteur de charge via les en-têtes 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>remoteip_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_remoteip.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>remoteip_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_remoteip.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module permet de traiter le client qui a initié la
- requête en tant que client original du point de vue de httpd à
- des fins d'autorisation et de connexion, même si ce client se
- trouve derrière un répartiteur de charge, un serveur frontal, ou un
+ <p>Ce module permet de traiter le client qui a initié la
+ requête en tant que client original du point de vue de httpd à
+ des fins d'autorisation et de connexion, même si ce client se
+ trouve derrière un répartiteur de charge, un serveur frontal, ou un
serveur mandataire.</p>
<p>Le module remplace l'adresse IP du client
- pour la connexion par l'adresse IP indiquée dans
- l'en-tête de requête configuré via la directive
+ pour la connexion par l'adresse IP indiquée dans
+ l'en-tête de requête configuré via la directive
<code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code>.</p>
- <p>En outre, ce module implémente la partie serveur du <a href="http://blog.haproxy.com/haproxy/proxy-protocol/">protocole PROXY</a>
+ <p>En outre, ce module implémente la partie serveur du <a href="http://blog.haproxy.com/haproxy/proxy-protocol/">protocole PROXY</a>
de HAProxy lorsqu'on utilise la directive <code class="directive"><a href="#remoteipproxyprotocol">RemoteIPProxyProtocol</a></code>.</p>
- <p>Une fois sa valeur modifiée comme indiqué, cette adresse IP client est
- utilisée pour la fonctionnalité <code class="directive"><a href="../mod/mod_authz_host.html#require">Require ip</a></code> de
- <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> ; elle est aussi affichée par
- <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>, et enregistrée via les chaînes de formatage
+ <p>Une fois sa valeur modifiée comme indiqué, cette adresse IP client est
+ utilisée pour la fonctionnalité <code class="directive"><a href="../mod/mod_authz_host.html#require">Require ip</a></code> de
+ <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> ; elle est aussi affichée par
+ <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>, et enregistrée via les chaînes de formatage
<code>%a</code> des modules <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> et <code class="module"><a href="../mod/core.html">core</a></code>.
- L'adresse IP client sous-jacente de la connexion est enregistrée via la chaîne de
+ L'adresse IP client sous-jacente de la connexion est enregistrée via la chaîne de
formatage <code>%{c}a</code>.
</p>
<div class="warning">Il est essentiel de n'activer cette
- fonctionnalité que pour les requêtes en provenance des serveurs
- intermédiaires (mandataires, etc...) auxquels le serveur peut faire
+ fonctionnalité que pour les requêtes en provenance des serveurs
+ intermédiaires (mandataires, etc...) auxquels le serveur peut faire
confiance, car il est trivial pour le client distant d'usurper
- l'identité d'un autre client.</div>
+ l'identité d'un autre client.</div>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_remoteip">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_remoteip">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_remoteip">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_remoteip">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
<li><code class="module"><a href="../mod/mod_status.html">mod_status</a></code></li>
<div class="section">
<h2><a name="processing" id="processing">Traitement des adresses distantes</a><a title="Lien permanent" href="#processing" class="permalink">¶</a></h2>
- <p>Par défaut, Apache identifie le client via la valeur client_ip de la
- connexion, et de cette valeur découlent les valeurs remote_host et
- remote_logname de la connexion. Ces champs jouent un rôle
+ <p>Par défaut, Apache identifie le client via la valeur client_ip de la
+ connexion, et de cette valeur découlent les valeurs remote_host et
+ remote_logname de la connexion. Ces champs jouent un rôle
dans l'authentification, l'autorisation et la journalisation, ainsi que
- dans d'autres traitements effectués par d'autres modules
+ dans d'autres traitements effectués par d'autres modules
chargeables.</p>
<p>mod_remoteip remplace l'adresse IP client de la connexion par l'adresse IP client
- indiquée par exemple par un mandataire ou un répartiteur de charge
- pour toute la durée de la requête. Un répartiteur de charge pourra ainsi
- établir une connexion keepalive de longue durée avec le serveur, chaque
- requête conservant alors l'adresse IP client correcte bien que l'adresse IP
- client sous-jacente du répartiteur de charge reste inchangée.</p>
-
- <p>Lorsque la valeur de l'en-tête comporte plusieurs adresses IP
- client séparées par des virgules, celles-ci sont traitées de la
- droite vers la gauche. Le traitement s'arrête lorsque l'adresse IP
- client courante n'est pas digne de confiance pour présenter
- l'adresse IP précédente. Le champ d'en-tête est alors mis à jour de
- façon à ne contenir que cette liste d'adresses non confirmées, ou
+ indiquée par exemple par un mandataire ou un répartiteur de charge
+ pour toute la durée de la requête. Un répartiteur de charge pourra ainsi
+ établir une connexion keepalive de longue durée avec le serveur, chaque
+ requête conservant alors l'adresse IP client correcte bien que l'adresse IP
+ client sous-jacente du répartiteur de charge reste inchangée.</p>
+
+ <p>Lorsque la valeur de l'en-tête comporte plusieurs adresses IP
+ client séparées par des virgules, celles-ci sont traitées de la
+ droite vers la gauche. Le traitement s'arrête lorsque l'adresse IP
+ client courante n'est pas digne de confiance pour présenter
+ l'adresse IP précédente. Le champ d'en-tête est alors mis à jour de
+ façon à ne contenir que cette liste d'adresses non confirmées, ou
bien, si toutes les adresses IP sont dignes de confiance, cet
- en-tête est tout bonnement supprimé de la requête.</p>
+ en-tête est tout bonnement supprimé de la requête.</p>
<p>Lors du remplacement de l'adresse IP client, le module stocke
- la liste des hôtes intermédiaires dans un mémo
+ la liste des hôtes intermédiaires dans un mémo
remoteip-proxy-ip-list, que l'on peut faire enregistrer par
<code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> en utilisant le symbole de format
<code>%{remoteip-proxy-ip-list}n</code>. Si l'administrateur doit
- stocker ceci dans un en-tête additionnel, la même valeur peut aussi
- être enregistrée sous la forme d'un en-tête en utilisant la
+ stocker ceci dans un en-tête additionnel, la même valeur peut aussi
+ être enregistrée sous la forme d'un en-tête en utilisant la
directive <code class="directive"><a href="#remoteipproxiesheader">RemoteIPProxiesHeader</a></code>.</p>
<div class="note"><h3>Adresses IPv4 converties au format IPv6</h3>
- Avec httpd, d'une manière générale, toute adresse IPv4 convertie au
- format IPv6 est enregistrée sous sa forme IPv4.</div>
+ Avec httpd, d'une manière générale, toute adresse IPv4 convertie au
+ format IPv6 est enregistrée sous sa forme IPv4.</div>
- <div class="note"><h3>Adresses internes (privées)</h3>
+ <div class="note"><h3>Adresses internes (privées)</h3>
Tous les blocs d'adresses internes 10/8, 172.16/12, 192.168/16,
169.254/16 and 127/8 (ainsi que les adresses IPv6 en dehors du bloc
- public 2000::/3 block) ne sont évaluées par mod_remoteip que lorsque
+ public 2000::/3 block) ne sont évaluées par mod_remoteip que lorsque
des mandataires internes (intranet)
- <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> sont enregistrés.</div>
+ <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> sont enregistrés.</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="remoteipheader" id="remoteipheader">Directive</a> <a name="RemoteIPHeader" id="RemoteIPHeader">RemoteIPHeader</a><a title="Lien permanent" href="#remoteipheader" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le champ d'en-tête qui contiendra les adresses IP
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le champ d'en-tête qui contiendra les adresses IP
du client</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPHeader <var>en-tête</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPHeader <var>en-tête</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_remoteip</td></tr>
</table>
- <p>La directive <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code> indique à
+ <p>La directive <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code> indique à
<code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> de traiter la valeur de
- l'<var>en-tête</var> spécifié comme l'adresse IP du client, ou comme
- une liste d'adresses IP clients intermédiaires, en fonction de la
+ l'<var>en-tête</var> spécifié comme l'adresse IP du client, ou comme
+ une liste d'adresses IP clients intermédiaires, en fonction de la
configuration des directives
<code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> et
<code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code>.</p>
- <div class="warning">Si ces deux dernières
- directives ne sont pas utilisées, <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>
- traitera tout hôte présentant une adresse non interne
- dans l'en-tête <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code> comme hôte de
+ <div class="warning">Si ces deux dernières
+ directives ne sont pas utilisées, <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>
+ traitera tout hôte présentant une adresse non interne
+ dans l'en-tête <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code> comme hôte de
confiance.</div>
- <div class="example"><h3>Exemple à usage interne (répartiteur de
+ <div class="example"><h3>Exemple à usage interne (répartiteur de
charge)</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Client-IP</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="remoteipinternalproxy" id="remoteipinternalproxy">Directive</a> <a name="RemoteIPInternalProxy" id="RemoteIPInternalProxy">RemoteIPInternalProxy</a><a title="Lien permanent" href="#remoteipinternalproxy" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare les adresses IP intranet clients comme dignes de
-confiance pour présenter la valeur RemoteIPHeader</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare les adresses IP intranet clients comme dignes de
+confiance pour présenter la valeur RemoteIPHeader</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPInternalProxy
-<var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</code></td></tr>
+<var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_remoteip</td></tr>
</table>
<p>La directive <code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> permet
d'ajouter une ou plusieurs adresses (ou blocs d'adresses) auxquelles
- on peut faire confiance pour présenter une valeur RemoteIPHeader
- valide de l'adresse IP du client. A la différence de la directive
+ on peut faire confiance pour présenter une valeur RemoteIPHeader
+ valide de l'adresse IP du client. A la différence de la directive
<code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code>, toute adresse IP
- présentée dans cet en-tête, y comprises les adresses intranet
- privées, sont considérées comme dignes de confiance lorsqu'elles
- sont indiquées par ces mandataires.</p>
+ présentée dans cet en-tête, y comprises les adresses intranet
+ privées, sont considérées comme dignes de confiance lorsqu'elles
+ sont indiquées par ces mandataires.</p>
- <div class="example"><h3>Exemple à usage interne (répartiteur de
+ <div class="example"><h3>Exemple à usage interne (répartiteur de
charge)</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Client-IP
RemoteIPInternalProxy 10.0.2.0/24
RemoteIPInternalProxy gateway.localdomain</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="remoteipinternalproxylist" id="remoteipinternalproxylist">Directive</a> <a name="RemoteIPInternalProxyList" id="RemoteIPInternalProxyList">RemoteIPInternalProxyList</a><a title="Lien permanent" href="#remoteipinternalproxylist" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare les adresses IP intranet clients comme dignes de
-confiance pour présenter la valeur RemoteIPHeader</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare les adresses IP intranet clients comme dignes de
+confiance pour présenter la valeur RemoteIPHeader</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPInternalProxyList <var>nom-fichier</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_remoteip</td></tr>
</table>
<p>La directive <code class="directive"><a href="#remoteipinternalproxylist">RemoteIPInternalProxyList</a></code>
- permet de spécifier un fichier parcouru au démarrage du serveur pour
+ permet de spécifier un fichier parcouru au démarrage du serveur pour
construire une liste d'adresses (ou blocs d'adresses), auxquelles
- on peut faire confiance pour présenter une valeur RemoteIPHeader
+ on peut faire confiance pour présenter une valeur RemoteIPHeader
valide de l'adresse IP du client.</p>
- <p>Le caractère '<code>#</code>' indique une ligne de commentaires,
- sinon, toutes les lignes séparées par un caractère <code>nouvelle
+ <p>Le caractère '<code>#</code>' indique une ligne de commentaires,
+ sinon, toutes les lignes séparées par un caractère <code>nouvelle
ligne</code> ou
- tous les éléments d'une ligne séparés par un espace sont traités de
- la même façon qu'avec la directive
+ tous les éléments d'une ligne séparés par un espace sont traités de
+ la même façon qu'avec la directive
<code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code>.</p>
- <div class="example"><h3>Exemple à usage interne (répartiteur de
+ <div class="example"><h3>Exemple à usage interne (répartiteur de
charge)</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Client-IP
RemoteIPInternalProxyList conf/trusted-proxies.lst</pre>
</div>
<div class="example"><h3>contenu de conf/mandataires-de-confiance.lst</h3><pre> # Nos mandataires internes de confiance
10.0.2.0/24 # Tout le monde dans le groupe de test
- passerelle.domaine-local # Le frontal répartiteur de charge</pre></div>
+ passerelle.domaine-local # Le frontal répartiteur de charge</pre></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="remoteipproxiesheader" id="remoteipproxiesheader">Directive</a> <a name="RemoteIPProxiesHeader" id="RemoteIPProxiesHeader">RemoteIPProxiesHeader</a><a title="Lien permanent" href="#remoteipproxiesheader" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare le champ d'en-tête qui contiendra toutes les
-adresses IP intermédiaires</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPProxiesHeader <var>Nom_en-tête</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare le champ d'en-tête qui contiendra toutes les
+adresses IP intermédiaires</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPProxiesHeader <var>Nom_en-tête</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_remoteip</td></tr>
</table>
<p>La directive <code class="directive"><a href="#remoteipproxiesheader">RemoteIPProxiesHeader</a></code> permet
- de spécifier l'en-tête dans lequel <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> va
- collecter une liste de toutes les adresses IP clients intermédiaires
- auxquelles on pourra faire confiance pour résoudre l'adresse IP
- client de la requête. Notez que les adresses intermédiaires
- <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code> sont enregistrées dans
- cet en-tête, alors que toute adresse intermédiaire
+ de spécifier l'en-tête dans lequel <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code> va
+ collecter une liste de toutes les adresses IP clients intermédiaires
+ auxquelles on pourra faire confiance pour résoudre l'adresse IP
+ client de la requête. Notez que les adresses intermédiaires
+ <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code> sont enregistrées dans
+ cet en-tête, alors que toute adresse intermédiaire
<code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code> est omise.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Forwarded-For
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="remoteipproxyprotocol" id="remoteipproxyprotocol">Directive</a> <a name="RemoteIPProxyProtocol" id="RemoteIPProxyProtocol">RemoteIPProxyProtocol</a><a title="Lien permanent" href="#remoteipproxyprotocol" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive la gestion du protocole PROXY</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive la gestion du protocole PROXY</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPProxyProtocol On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_remoteip</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.31 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.31 du serveur HTTP Apache</td></tr>
</table>
<p>La directive <code class="directive">RemoteIPProxyProtocol</code> permet
- d'activer ou de désactiver la prise en compte et la gestion de l'en-tête de
- connexion du protocole PROXY. Si elle est définie à <code>On</code>, la
- demande du client <em>doit</em> envoyer l'en-tête approprié pour chaque
- nouvelle connexion, sinon cette dernière sera fermée à moins qu'il ne fasse
- partie de la liste, définie via la directive <code class="directive"><a href="#remoteipproxyprotocoldisablehosts">RemoteIPProxyProtocolDisableHosts</a></code>, des
- hôtes pour lesquels le protocole PROXY est désactivé.</p>
-
- <p>Bien que cette directive peut être définie au niveau de n'importe quel
- serveur virtuel, il est important de garder à l'esprit que, étant donné que
- le protocole PROXY est basé sur la connexion et agnostique quant au
- protocle, son activation/désactivation est basée sur le couple adresse
- IP/port. Cela signifie que si plusieurs serveurs virtuels à base de nom sont
- configurés avec le même couple adresse IP/port, et si vous activez le
+ d'activer ou de désactiver la prise en compte et la gestion de l'en-tête de
+ connexion du protocole PROXY. Si elle est définie à <code>On</code>, la
+ demande du client <em>doit</em> envoyer l'en-tête approprié pour chaque
+ nouvelle connexion, sinon cette dernière sera fermée à moins qu'il ne fasse
+ partie de la liste, définie via la directive <code class="directive"><a href="#remoteipproxyprotocoldisablehosts">RemoteIPProxyProtocolDisableHosts</a></code>, des
+ hôtes pour lesquels le protocole PROXY est désactivé.</p>
+
+ <p>Bien que cette directive peut être définie au niveau de n'importe quel
+ serveur virtuel, il est important de garder à l'esprit que, étant donné que
+ le protocole PROXY est basé sur la connexion et agnostique quant au
+ protocle, son activation/désactivation est basée sur le couple adresse
+ IP/port. Cela signifie que si plusieurs serveurs virtuels à base de nom sont
+ configurés avec le même couple adresse IP/port, et si vous activez le
protocole PROXY pour l'un d'entre eux, il le sera aussi pour tous les autres
- (avec le même couple adresse IP/port). Cela signifie aussi que si vous
+ (avec le même couple adresse IP/port). Cela signifie aussi que si vous
tentez d'activer le protocole PROXY pour un serveur virtuel et de le
- désactiver pour un autre, cela ne marchera pas ; dans ce dernier cas, la
- dernière directive l'emporte sur les autres et une notification sera
- enregistrée dans le journal pour indiquer les réglages qui ont été annulés.</p>
+ désactiver pour un autre, cela ne marchera pas ; dans ce dernier cas, la
+ dernière directive l'emporte sur les autres et une notification sera
+ enregistrée dans le journal pour indiquer les réglages qui ont été annulés.</p>
<pre class="prettyprint lang-config">Listen 80
<VirtualHost *:80>
ServerName www.example.com
RemoteIPProxyProtocol On
- #Les requêtes pour ce serveur virtuel doivent contenir un en-tête du
- #protocole PROXY. Si ce n'est pas le cas, la connexion sera fermée.
+ #Les requêtes pour ce serveur virtuel doivent contenir un en-tête du
+ #protocole PROXY. Si ce n'est pas le cas, la connexion sera fermée.
</VirtualHost>
Listen 8080
RemoteIPProxyProtocol On
RemoteIPProxyProtocolExceptions 127.0.0.1 10.0.0.0/8
- #Les requêtes pour ce serveur virtuel doivent contenir un en-tête du
- #protocole PROXY. Si ce n'est pas le cas, la connexion sera fermée à moins
+ #Les requêtes pour ce serveur virtuel doivent contenir un en-tête du
+ #protocole PROXY. Si ce n'est pas le cas, la connexion sera fermée à moins
que sa source ne soit localhost ou la gamme d'adresses RFC1918 10.x.x.x
</VirtualHost></pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="remoteipproxyprotocolexceptions" id="remoteipproxyprotocolexceptions">Directive</a> <a name="RemoteIPProxyProtocolExceptions" id="RemoteIPProxyProtocolExceptions">RemoteIPProxyProtocolExceptions</a><a title="Lien permanent" href="#remoteipproxyprotocolexceptions" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Désactive la prise en compte de l'en-tête PROXY pour certains hôtes
-ou réseaux</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Désactive la prise en compte de l'en-tête PROXY pour certains hôtes
+ou réseaux</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_remoteip</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>RemoteIPProxyProtocolExceptions est disponible à partir de la
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>RemoteIPProxyProtocolExceptions est disponible à partir de la
version 2.4.31 du serveur HTTP Apache</td></tr>
</table>
<p>La directive <code class="directive">RemoteIPProxyProtocol</code> permet de
- contrôler la prise en compte de l'en-tête de connexion du protocole PROXY.
+ contrôler la prise en compte de l'en-tête de connexion du protocole PROXY.
Il est parfois souhaitable d'exiger pour certains clients la
- présence de l'en-tête PROXY, mais aussi de permettre aux autres clients de
- se connecter sans ce dernier. Cette directive permet à l'administrateur du
- serveur d'autoriser cette possibilité à un hôte isolé ou à une gamme d'hôtes
+ présence de l'en-tête PROXY, mais aussi de permettre aux autres clients de
+ se connecter sans ce dernier. Cette directive permet à l'administrateur du
+ serveur d'autoriser cette possibilité à un hôte isolé ou à une gamme d'hôtes
au format CIDR.</p>
</div>
<div class="directive-section"><h2><a name="remoteiptrustedproxy" id="remoteiptrustedproxy">Directive</a> <a name="RemoteIPTrustedProxy" id="RemoteIPTrustedProxy">RemoteIPTrustedProxy</a><a title="Lien permanent" href="#remoteiptrustedproxy" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restreint les adresses IP clients dignes de
-confiance pour présenter la valeur RemoteIPHeader</td></tr>
+confiance pour présenter la valeur RemoteIPHeader</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPTrustedProxy
-<var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</code></td></tr>
+<var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_remoteip</td></tr>
</table>
<p>La directive <code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code> permet
- de définir quelles adresses IP (ou blocs d'adresses) seront
- considérées comme de confiance pour présenter une valeur RemoteIPHeader
+ de définir quelles adresses IP (ou blocs d'adresses) seront
+ considérées comme de confiance pour présenter une valeur RemoteIPHeader
valide de l'adresse IP du client.</p>
- <p>A la différence de la directive
+ <p>A la différence de la directive
<code class="directive"><a href="#remoteipinternalproxy">RemoteIPInternalProxy</a></code>, toutes les adresses IP
- intranet ou privées indiquées par de tels mandataires, y compris les
+ intranet ou privées indiquées par de tels mandataires, y compris les
blocs d'adresses 10/8, 172.16/12, 192.168/16, 169.254/16 et 127/8
- (ou située en dehors du bloc IPv6 public 2000::/3), ne sont pas
+ (ou située en dehors du bloc IPv6 public 2000::/3), ne sont pas
dignes de confiance en tant qu'adresses IP clientes, et se situent
- à gauche dans le contenu de l'en-tête
+ à gauche dans le contenu de l'en-tête
<code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code>.</p>
- <div class="warning">Par défaut, <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>
- considérera comme de confiance tout hôte présentant une adresse non
- interne dans l'en-tête <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code>.
+ <div class="warning">Par défaut, <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>
+ considérera comme de confiance tout hôte présentant une adresse non
+ interne dans l'en-tête <code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code>.
</div>
- <div class="example"><h3>Exemple d'adresse de confiance (répartiteur de
+ <div class="example"><h3>Exemple d'adresse de confiance (répartiteur de
charge</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 10.0.2.16/28
RemoteIPTrustedProxy proxy.example.com</pre>
<div class="directive-section"><h2><a name="remoteiptrustedproxylist" id="remoteiptrustedproxylist">Directive</a> <a name="RemoteIPTrustedProxyList" id="RemoteIPTrustedProxyList">RemoteIPTrustedProxyList</a><a title="Lien permanent" href="#remoteiptrustedproxylist" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restreint les adresses IP clients dignes de
-confiance pour présenter la valeur RemoteIPHeader</td></tr>
+confiance pour présenter la valeur RemoteIPHeader</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RemoteIPTrustedProxyList <var>nom-fichier</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_remoteip</td></tr>
</table>
<p>La directive <code class="directive"><a href="#remoteiptrustedproxylist">RemoteIPTrustedProxyList</a></code>
- permet de spécifier un fichier parcouru au démarrage du serveur pour
+ permet de spécifier un fichier parcouru au démarrage du serveur pour
construire une liste d'adresses (ou blocs d'adresses), auxquelles
- on peut faire confiance pour présenter une valeur RemoteIPHeader
+ on peut faire confiance pour présenter une valeur RemoteIPHeader
valide de l'adresse IP du client.</p>
- <p>Le caractère '<code>#</code>' indique une ligne de commentaires,
- sinon, toutes les lignes séparées par un caractère nouvelle ligne ou
- tous les éléments d'une ligne séparés par un espace sont traités de
- la même façon qu'avec la directive
+ <p>Le caractère '<code>#</code>' indique une ligne de commentaires,
+ sinon, toutes les lignes séparées par un caractère nouvelle ligne ou
+ tous les éléments d'une ligne séparés par un espace sont traités de
+ la même façon qu'avec la directive
<code class="directive"><a href="#remoteiptrustedproxy">RemoteIPTrustedProxy</a></code>.</p>
- <div class="example"><h3>Exemple d'adresse de confiance (répartiteur de
+ <div class="example"><h3>Exemple d'adresse de confiance (répartiteur de
charge</h3><pre class="prettyprint lang-config">RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxyList conf/trusted-proxies.lst</pre>
</div>
<div class="example"><h3>conf/mandataires-de-confiance.lst contents</h3><p><code>
- # Mandataires externes identifiés<br />
+ # Mandataires externes identifiés<br />
192.0.2.16/28 #groupe wap phone de mandataires<br />
proxy.isp.example.com #un FAI bien connu
</code></p></div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_remoteip.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_remoteip.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_remoteip.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_reqtimeout</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_reqtimeout.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_reqtimeout.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_reqtimeout.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Définit le délai maximum et le taux de transfert des
-données minimum pour la réception des requêtes
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Définit le délai maximum et le taux de transfert des
+données minimum pour la réception des requêtes
</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>reqtimeout_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_reqtimeout.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>reqtimeout_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_reqtimeout.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module permet de définir aisément le délai maximum et le taux de
- transfert des données minimum pour la réception des requêtes. Si ce délai
- est dépassé ou ce taux trop faible, la connexion concernée sera fermée par
+ <p>Ce module permet de définir aisément le délai maximum et le taux de
+ transfert des données minimum pour la réception des requêtes. Si ce délai
+ est dépassé ou ce taux trop faible, la connexion concernée sera fermée par
le serveur.</p>
- <p>Cet évènement sera alors enregistré dans le journal au niveau de <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> <code>info</code>.</p>
+ <p>Cet évènement sera alors enregistré dans le journal au niveau de <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> <code>info</code>.</p>
<p>Au besoin, la directive <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code>
- peur être modifiée pour un enregistrement dans le journal plus explicite :</p>
+ peur être modifiée pour un enregistrement dans le journal plus explicite :</p>
<pre class="prettyprint lang-config">LogLevel reqtimeout:info</pre>
</div>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#requestreadtimeout">RequestReadTimeout</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_reqtimeout">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_reqtimeout">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_reqtimeout">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_reqtimeout">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<ol>
<li>
- Accorde 10 secondes pour la réception des en-têtes de la requête
- et 30 secondes pour la réception du corps :
+ Accorde 10 secondes pour la réception des en-têtes de la requête
+ et 30 secondes pour la réception du corps :
<pre class="prettyprint lang-config">RequestReadTimeout headerinit=10 body=30</pre>
</li>
<li>
- Accorde au moins 10 secondes pour la réception du corps de
- la requête. Si le client envoie des données, augmente ce délai
- d'une seconde pour chaque paquet de 1000 octets reçus, sans
- limite supérieure (sauf si une limite a été
- spécifiée via la directive <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code>) :
+ Accorde au moins 10 secondes pour la réception du corps de
+ la requête. Si le client envoie des données, augmente ce délai
+ d'une seconde pour chaque paquet de 1000 octets reçus, sans
+ limite supérieure (sauf si une limite a été
+ spécifiée via la directive <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code>) :
<pre class="prettyprint lang-config">RequestReadTimeout body=10,MinRate=1000</pre>
</li>
<li>
- Accorde au moins 10 secondes pour la réception de de la
- requête, en-têtes inclus. Si le client envoie des données, augmente ce délai
- d'une seconde pour chaque paquet de 500 octets reçus, mais
- n'alloue que 30 secondes pour la requête, en-têtes inclus :
+ Accorde au moins 10 secondes pour la réception de de la
+ requête, en-têtes inclus. Si le client envoie des données, augmente ce délai
+ d'une seconde pour chaque paquet de 500 octets reçus, mais
+ n'alloue que 30 secondes pour la requête, en-têtes inclus :
<pre class="prettyprint lang-config">RequestReadTimeout header=10-30,MinRate=500</pre>
</li>
<li>
- En général, un serveur doit avoir ses délais d'en-tête et de
- corps configurés. Si les serveurs virtuels http et https
- utilisent une configuration commune, les délais ne doivent pas
- être définis trop bas :
+ En général, un serveur doit avoir ses délais d'en-tête et de
+ corps configurés. Si les serveurs virtuels http et https
+ utilisent une configuration commune, les délais ne doivent pas
+ être définis trop bas :
<pre class="prettyprint lang-config">RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="requestreadtimeout" id="requestreadtimeout">Directive</a> <a name="RequestReadTimeout" id="RequestReadTimeout">RequestReadTimeout</a><a title="Lien permanent" href="#requestreadtimeout" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des délais maximums pour la réception des en-têtes
-et corps des requêtes en provenance du client.
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des délais maximums pour la réception des en-têtes
+et corps des requêtes en provenance du client.
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RequestReadTimeout
-[header=<var>délai</var>[-<var>délai-maxi</var>][,MinRate=<var>taux-mini</var>]
-[body=<var>délai</var>[-<var>délai-maxi</var>][,MinRate=<var>taux-mini</var>]
+[header=<var>délai</var>[-<var>délai-maxi</var>][,MinRate=<var>taux-mini</var>]
+[body=<var>délai</var>[-<var>délai-maxi</var>][,MinRate=<var>taux-mini</var>]
</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>header=20-40,MinRate=500 body=20,MinRate=500</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>header=20-40,MinRate=500 body=20,MinRate=500</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_reqtimeout</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Désactivée par défaut jusqu'à la version 2.3.14.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Désactivée par défaut jusqu'à la version 2.3.14.</td></tr>
</table>
- <p>Cette directive permet de définir différents délais pour la
- réception des en-têtes et corps des requêtes en provenance du
- client. Si le client ne parvient pas à respecter ces délais, un code
- d'erreur <code>408 REQUEST TIME OUT</code> est envoyé.</p>
-
- <p>Pour les serveurs virtuels SSL, le délai concernant les en-têtes
- inclut le temps nécessaire à la négociation SSL initiale. Si le
- navigateur du client est configuré pour demander des listes de
- révocations de certificats, et si le serveur correspondant n'est pas
- disponible, le délai avant lequel le navigateur va abandonner son
- attente de CRL au cours de la négociation SSL initiale peut être
- assez important. Par conséquent, les valeurs de délais d'en-têtes ne
- doivent pas être trop basses pour les serveurs virtuels SSL. Le délai
- concernant le corps inclut le temps nécessaire à la renégociation
- SSL (si elle est nécessaire).</p>
+ <p>Cette directive permet de définir différents délais pour la
+ réception des en-têtes et corps des requêtes en provenance du
+ client. Si le client ne parvient pas à respecter ces délais, un code
+ d'erreur <code>408 REQUEST TIME OUT</code> est envoyé.</p>
+
+ <p>Pour les serveurs virtuels SSL, le délai concernant les en-têtes
+ inclut le temps nécessaire à la négociation SSL initiale. Si le
+ navigateur du client est configuré pour demander des listes de
+ révocations de certificats, et si le serveur correspondant n'est pas
+ disponible, le délai avant lequel le navigateur va abandonner son
+ attente de CRL au cours de la négociation SSL initiale peut être
+ assez important. Par conséquent, les valeurs de délais d'en-têtes ne
+ doivent pas être trop basses pour les serveurs virtuels SSL. Le délai
+ concernant le corps inclut le temps nécessaire à la renégociation
+ SSL (si elle est nécessaire).</p>
<p>Lorsqu'une directive <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> est active (ce qui est en
- général le cas sous Linux et FreeBSD), le socket n'est envoyé au
- processus du serveur qu'après la réception du premier octet (ou de
- l'ensemble de la requête si <code>httpready</code> est défini). Le
- délai configuré pour les en-têtes via la directive
+ général le cas sous Linux et FreeBSD), le socket n'est envoyé au
+ processus du serveur qu'après la réception du premier octet (ou de
+ l'ensemble de la requête si <code>httpready</code> est défini). Le
+ délai configuré pour les en-têtes via la directive
<code class="directive">RequestReadTimeout</code> n'entre en ligne de compte qu'une
- fois le socket reçu par le processus du serveur.</p>
+ fois le socket reçu par le processus du serveur.</p>
- <p>Il existe deux méthodes pour spécifier le délai (pour l'en-tête
+ <p>Il existe deux méthodes pour spécifier le délai (pour l'en-tête
ou le corps) :
</p>
<ul>
- <li><strong>Valeur de délai fixe</strong>:<br />
+ <li><strong>Valeur de délai fixe</strong>:<br />
- <div class="example"><p><code><var>type</var>=<var>délai</var></code></p></div>
+ <div class="example"><p><code><var>type</var>=<var>délai</var></code></p></div>
- <p>Le temps en secondes alloué pour la lecture des en-têtes ou du
- corps de la requête. La valeur 0 signifie aucune limite.</p>
+ <p>Le temps en secondes alloué pour la lecture des en-têtes ou du
+ corps de la requête. La valeur 0 signifie aucune limite.</p>
</li>
- <li><strong>Désactivation du module pour un serveur virtuel</strong>:<br />
+ <li><strong>Désactivation du module pour un serveur virtuel</strong>:<br />
<div class="example"><p><code>header=0 body=0</code></p></div>
<p>Avec cet exemple, le module <code class="module"><a href="../mod/mod_reqtimeout.html">mod_reqtimeout</a></code> est
- complètement désactivé.</p>
+ complètement désactivé.</p>
</li>
- <li><strong>La valeur du délai qui est augmentée lorsque des données
- sont reçues</strong> :<br />
+ <li><strong>La valeur du délai qui est augmentée lorsque des données
+ sont reçues</strong> :<br />
<div class="example"><p><code>
- <var>type</var>=<var>délai</var>,MinRate=<var>taux-mini</var>
+ <var>type</var>=<var>délai</var>,MinRate=<var>taux-mini</var>
</code></p></div>
- <p>Identique à ce qui précède, mais chaque fois que des données sont
- reçues, la valeur du délai est augmentée en fonction du taux-mini
- spécifié (en octets par seconde).</p>
+ <p>Identique à ce qui précède, mais chaque fois que des données sont
+ reçues, la valeur du délai est augmentée en fonction du taux-mini
+ spécifié (en octets par seconde).</p>
</li>
- <li><strong>La valeur du délai augmente lorsque des données sont
- reçues, jusqu'à une limite supérieure</strong>:<br />
+ <li><strong>La valeur du délai augmente lorsque des données sont
+ reçues, jusqu'à une limite supérieure</strong>:<br />
<div class="example"><p><code>
- <var>type</var>=<var>délai</var>-<var>délai-maxi</var>,MinRate=<var>taux-mini</var>
+ <var>type</var>=<var>délai</var>-<var>délai-maxi</var>,MinRate=<var>taux-mini</var>
</code></p></div>
- <p>Identique à ce qui précède, mais le délai n'augmentera pas au
- delà de la borne supérieure du délai spécifiée.</p>
+ <p>Identique à ce qui précède, mais le délai n'augmentera pas au
+ delà de la borne supérieure du délai spécifiée.</p>
</li>
</ul>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_reqtimeout.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_reqtimeout.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_reqtimeout.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_request</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_request.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_request.html" title="Français"> fr </a> |
-<a href="../tr/mod/mod_request.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../fr/mod/mod_request.html" title="Français"> fr </a> |
+<a href="../tr/mod/mod_request.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filtres permettant de traiter et de mettre à disposition
-les corps de requêtes HTTP</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filtres permettant de traiter et de mettre à disposition
+les corps de requêtes HTTP</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>request_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_request.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>request_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_request.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#keptbodysize">KeptBodySize</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_request">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_request">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_request">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_request">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</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="keptbodysize" id="keptbodysize">Directive</a> <a name="KeptBodySize" id="KeptBodySize">KeptBodySize</a><a title="Lien permanent" href="#keptbodysize" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conserve le corps de la requête à concurrence de la taille
-maximale spécifiée, pour une utilisation éventuelle par des filtres
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Conserve le corps de la requête à concurrence de la taille
+maximale spécifiée, pour une utilisation éventuelle par des filtres
comme mod_include.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>KeptBodySize <var>taille maximale en octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeptBodySize 0</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeptBodySize 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</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_request</td></tr>
</table>
- <p>Dans une situation normale, les gestionnaires de requête tels que
- le gestionnaire par défaut des fichiers statiques suppriment le
- corps de la requête s'il n'est pas nécessaire au gestionnaire de
- requête. Il en résulte que les filtres comme mod_include sont
- limités à des requêtes <code>GET</code> lors de l'inclusion d'autres
- URLs en tant que sous-requêtes, et ceci même si la requête originale
- était une requête <code>POST</code>, car le corps de la requête a
- été supprimé et n'est donc plus disponible une fois le traitement du
+ <p>Dans une situation normale, les gestionnaires de requête tels que
+ le gestionnaire par défaut des fichiers statiques suppriment le
+ corps de la requête s'il n'est pas nécessaire au gestionnaire de
+ requête. Il en résulte que les filtres comme mod_include sont
+ limités à des requêtes <code>GET</code> lors de l'inclusion d'autres
+ URLs en tant que sous-requêtes, et ceci même si la requête originale
+ était une requête <code>POST</code>, car le corps de la requête a
+ été supprimé et n'est donc plus disponible une fois le traitement du
filtre mis en oeuvre.</p>
- <p>Lorsque l'argument de cette directive a une valeur supérieure à
- zéro, les gestionnaires de requête qui suppriment habituellement les
- corps de requête vont alors conserver ces corps de requête, à
- concurrence de la taille maximale spécifiée, pour être
- éventuellement utilisés par des filtres. Dans le cas du filtre
- mod_include, une tentative de requête <code>POST</code> pour un
- fichier shtml statique se traduira par des sous-requêtes
- <code>POST</code>, et non par des sous-requêtes <code>GET</code>
+ <p>Lorsque l'argument de cette directive a une valeur supérieure à
+ zéro, les gestionnaires de requête qui suppriment habituellement les
+ corps de requête vont alors conserver ces corps de requête, à
+ concurrence de la taille maximale spécifiée, pour être
+ éventuellement utilisés par des filtres. Dans le cas du filtre
+ mod_include, une tentative de requête <code>POST</code> pour un
+ fichier shtml statique se traduira par des sous-requêtes
+ <code>POST</code>, et non par des sous-requêtes <code>GET</code>
comme avant.</p>
- <p>Cette fonctionnalité permet de découper des pages web complexes
- et des applications web en petits éléments individuels, et de
- combiner ces éléments avec la structure de la page web sous-jacente
- en utilisant <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>. Les éléments peuvent se
- présenter sous la forme de programmes CGI, de langages de scripts,
+ <p>Cette fonctionnalité permet de découper des pages web complexes
+ et des applications web en petits éléments individuels, et de
+ combiner ces éléments avec la structure de la page web sous-jacente
+ en utilisant <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>. Les éléments peuvent se
+ présenter sous la forme de programmes CGI, de langages de scripts,
ou d'URLs issues d'un mandataire inverse dans l'espace d'URL d'un
autre serveur en utilisant <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>.</p>
- <p><strong>Note :</strong> Chaque requête dont le corps est ainsi
- conservé doit être enregistrée temporairement en mémoire vive
- jusqu'à la fin du traitement de la requête. Il faut donc s'assurer
- que la mémoire RAM du serveur est suffisante pour pouvoir supporter
- la charge induite. L'utilisation de cette directive doit être
- limitée à certaines portions de votre espace d'URL bien précises qui
- le nécessitent, et en spécifiant comme taille maximale une valeur la
- plus petite possible, mais tout de même suffisante pour un corps de
- requête.</p>
+ <p><strong>Note :</strong> Chaque requête dont le corps est ainsi
+ conservé doit être enregistrée temporairement en mémoire vive
+ jusqu'à la fin du traitement de la requête. Il faut donc s'assurer
+ que la mémoire RAM du serveur est suffisante pour pouvoir supporter
+ la charge induite. L'utilisation de cette directive doit être
+ limitée à certaines portions de votre espace d'URL bien précises qui
+ le nécessitent, et en spécifiant comme taille maximale une valeur la
+ plus petite possible, mais tout de même suffisante pour un corps de
+ requête.</p>
- <p>Si la taille de la requête envoyée par le client dépasse la taille
- maximale autorisée par cette directive, le serveur renverra l'erreur
+ <p>Si la taille de la requête envoyée par le client dépasse la taille
+ maximale autorisée par cette directive, le serveur renverra l'erreur
<code>413 Request Entity Too Large</code>.</p>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_request.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_request.html" title="Français"> fr </a> |
-<a href="../tr/mod/mod_request.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../fr/mod/mod_request.html" title="Français"> fr </a> |
+<a href="../tr/mod/mod_request.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_rewrite</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_rewrite.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_rewrite.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_rewrite.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Ce module fournit un moteur de réécriture à base de
-règles permettant de réécrire les URLs des requêtes
-à la volée</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Ce module fournit un moteur de réécriture à base de
+règles permettant de réécrire les URLs des requêtes
+à la volée</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>rewrite_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_rewrite.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>rewrite_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_rewrite.c</td></tr></table>
<h3>Sommaire</h3>
<p>Le module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> utilise un moteur de
- réécriture à base de règles, basé sur un interpréteur
- d'expressions rationnelles PCRE, pour réécrire les URLs à la volée. Par
- défaut, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> met en correspondance une URL
- avec le système de fichiers. Cependant, on peut aussi l'utiliser
+ réécriture à base de règles, basé sur un interpréteur
+ d'expressions rationnelles PCRE, pour réécrire les URLs à la volée. Par
+ défaut, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> met en correspondance une URL
+ avec le système de fichiers. Cependant, on peut aussi l'utiliser
pour rediriger une URL vers une autre URL, ou pour invoquer une
- requête interne à destination du mandataire.</p>
- <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> fournit une méthode souple et
- puissante pour manipuler les URLs en utilisant un nombre illimité
- de règles. Chaque règle peut être associée à un nombre illimité de
- conditions, afin de vous permettre de réécrire les URLs en
+ requête interne à destination du mandataire.</p>
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> fournit une méthode souple et
+ puissante pour manipuler les URLs en utilisant un nombre illimité
+ de règles. Chaque règle peut être associée à un nombre illimité de
+ conditions, afin de vous permettre de réécrire les URLs en
fonction de variables du serveur, de variables d'environnement,
- d'en-têtes HTTP, ou de repères temporels.</p>
- <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> agit sur la totalité de l'URL, y
- compris la partie chemin. Une règle de réécriture peut être
- invoquée dans <code>httpd.conf</code> ou dans un fichier
- <code>.htaccess</code>. Le chemin généré par une règle de
- réécriture peut inclure une chaîne de paramètres, ou peut renvoyer
+ d'en-têtes HTTP, ou de repères temporels.</p>
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> agit sur la totalité de l'URL, y
+ compris la partie chemin. Une règle de réécriture peut être
+ invoquée dans <code>httpd.conf</code> ou dans un fichier
+ <code>.htaccess</code>. Le chemin généré par une règle de
+ réécriture peut inclure une chaîne de paramètres, ou peut renvoyer
vers un traitement secondaire interne, une redirection vers une
- requête externe ou vers le mandataire interne.</p>
+ requête externe ou vers le mandataire interne.</p>
- <p>Vous trouverez d'avantage de détails, discussions et exemples
+ <p>Vous trouverez d'avantage de détails, discussions et exemples
dans la
- <a href="../rewrite/">documentation détaillée
+ <a href="../rewrite/">documentation détaillée
sur mod_rewrite</a>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#rewriteoptions">RewriteOptions</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rewriterule">RewriteRule</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_rewrite">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_rewrite">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_rewrite">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_rewrite">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="logging" id="logging">Journalisation</a><a title="Lien permanent" href="#logging" class="permalink">¶</a></h2>
- <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> offre une journalisation détaillée
- de ses actions aux niveaux de journalisation <code>trace1</code> à
- <code>trace8</code>. Le niveau de journalisation peut être défini de
- manière spécifique à <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> via la directive
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> offre une journalisation détaillée
+ de ses actions aux niveaux de journalisation <code>trace1</code> à
+ <code>trace8</code>. Le niveau de journalisation peut être défini de
+ manière spécifique à <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> via la directive
<code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> : jusqu'au niveau
- <code>debug</code> aucune action n'est journalisée, alors qu'elles
+ <code>debug</code> aucune action n'est journalisée, alors qu'elles
le sont pratiquement toutes au niveau <code>trace8</code>.</p>
<div class="note">
- L'utilisation d'un niveau de journalisation élevé pour
+ L'utilisation d'un niveau de journalisation élevé pour
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> va ralentir votre serveur HTTP Apache
- de manière dramatique ! N'utilisez un niveau de journalisation
- supérieur à <code>trace2</code> qu'à des fins de débogage !
+ de manière dramatique ! N'utilisez un niveau de journalisation
+ supérieur à <code>trace2</code> qu'à des fins de débogage !
</div>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">LogLevel alert rewrite:trace3</pre>
</div>
<div class="note"><h3>RewriteLog</h3>
- <p>Ceux qui sont familiers avec les versions précédentes de
+ <p>Ceux qui sont familiers avec les versions précédentes de
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> vont probablement rechercher en vain les
directives <code>RewriteLog</code> et
- <code>RewriteLogLevel</code>. Elles ont été en effet remplacées
+ <code>RewriteLogLevel</code>. Elles ont été en effet remplacées
par une configuration de la journalisation par module, comme
- mentionné plus haut.
+ mentionné plus haut.
</p>
- <p>Pour extraire les traces spécifiques à
+ <p>Pour extraire les traces spécifiques à
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, affichez le fichier journal en
redirigeant la sortie vers grep :</p>
<div class="example"><p><code>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="rewritebase" id="rewritebase">Directive</a> <a name="RewriteBase" id="RewriteBase">RewriteBase</a><a title="Lien permanent" href="#rewritebase" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'URL de base pour les réécritures au niveau
-répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'URL de base pour les réécritures au niveau
+répertoire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteBase <em>chemin_URL</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Pas de valeur par défaut</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#Default">Défaut:</a></th><td><code>Pas de valeur par défaut</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">AllowOverride:</a></th><td>FileInfo</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_rewrite</td></tr>
</table>
<p>La directive <code class="directive">RewriteBase</code> permet de
- spécifier le préfixe d'URL à utiliser dans un contexte de
- répertoire (htaccess) pour les directives
- <code class="directive"><a href="#rewriterule">RewriteRule</a></code> qui réécrivent vers un chemin
+ spécifier le préfixe d'URL à utiliser dans un contexte de
+ répertoire (htaccess) pour les directives
+ <code class="directive"><a href="#rewriterule">RewriteRule</a></code> qui réécrivent vers un chemin
relatif.</p>
<p>Cette directive est <em>obligatoire</em> si vous utilisez un
chemin relatif dans une substitution, et dans un contexte de
- répertoire (htaccess), sauf si au moins une de ces conditions est
- vérifiée :</p>
+ répertoire (htaccess), sauf si au moins une de ces conditions est
+ vérifiée :</p>
<ul>
- <li>La requête initiale, ainsi que la substitution, se
- situent par raport à la valeur de la directive
- <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> (c'est à
- dire que pour y accéder, il n'est pas nécessaire d'utiliser
+ <li>La requête initiale, ainsi que la substitution, se
+ situent par raport à la valeur de la directive
+ <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> (c'est à
+ dire que pour y accéder, il n'est pas nécessaire d'utiliser
une directive telle qu'<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>).</li>
- <li>Le chemin du système de fichiers vers le répertoire
- contenant la <code class="directive"><a href="#rewriterule">RewriteRule</a></code>, suffixé par
+ <li>Le chemin du système de fichiers vers le répertoire
+ contenant la <code class="directive"><a href="#rewriterule">RewriteRule</a></code>, suffixé par
la substitution relative est aussi valide en tant qu'URL sur
le serveur (ce qui est rare).</li>
<li>A partir de la version 2.4.16 du serveur HTTP Apache,
- cette directive peut être omise lorsque la requête est mise en
- correspondance avec le système de fichiers via la directive
+ cette directive peut être omise lorsque la requête est mise en
+ correspondance avec le système de fichiers via la directive
<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> ou le module
<code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code>.</li>
</ul>
<p>Dans l'exemple ci-dessous, la directive
-<code class="directive">RewriteBase</code> est nécessaire afin d'éviter une
-réécriture en http://example.com/opt/myapp-1.2.3/welcome.html car la
-ressource n'était pas relative à la racine des documents. Cette erreur
-de configuration aurait conduit le serveur à rechercher un répertoire
-"opt" à la racine des documents.</p>
+<code class="directive">RewriteBase</code> est nécessaire afin d'éviter une
+réécriture en http://example.com/opt/myapp-1.2.3/welcome.html car la
+ressource n'était pas relative à la racine des documents. Cette erreur
+de configuration aurait conduit le serveur à rechercher un répertoire
+"opt" à la racine des documents.</p>
<pre class="prettyprint lang-config">DocumentRoot "/var/www/example.com"
AliasMatch "^/myapp" "/opt/myapp-1.2.3"
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="rewritecond" id="rewritecond">Directive</a> <a name="RewriteCond" id="RewriteCond">RewriteCond</a><a title="Lien permanent" href="#rewritecond" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une condition qui devra être satisfaite pour que
-la réécriture soit effectuée
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une condition qui devra être satisfaite pour que
+la réécriture soit effectuée
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> RewriteCond
- <em>chaîne_de_test</em> <em>expression_de_comparaison</em> [<em>drapeaux</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>
+ <em>chaîne_de_test</em> <em>expression_de_comparaison</em> [<em>drapeaux</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">AllowOverride:</a></th><td>FileInfo</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_rewrite</td></tr>
</table>
- <p>La directive <code class="directive">RewriteCond</code> permet de définir une
- condition d'exécution d'une règle. Une ou plusieurs conditions
- <code class="directive">RewriteCond</code> peuvent précéder une
- directive <code class="directive"><a href="#rewriterule">RewriteRule</a></code>. La règle de réécriture correspondante n'est
- ainsi exécutée que si ces conditions sont satisfaites,
- <strong>et</strong> si l'URI correspond au modèle spécifié dans la
- règle.</p>
-
- <p><em>TestString</em> est une chaîne qui peut contenir les
+ <p>La directive <code class="directive">RewriteCond</code> permet de définir une
+ condition d'exécution d'une règle. Une ou plusieurs conditions
+ <code class="directive">RewriteCond</code> peuvent précéder une
+ directive <code class="directive"><a href="#rewriterule">RewriteRule</a></code>. La règle de réécriture correspondante n'est
+ ainsi exécutée que si ces conditions sont satisfaites,
+ <strong>et</strong> si l'URI correspond au modèle spécifié dans la
+ règle.</p>
+
+ <p><em>TestString</em> est une chaîne qui peut contenir les
extensions suivantes en plus du texte simple :</p>
<ul>
<li>
- <strong>références arrières de règle de réécriture</strong> :
- ce sont des références arrières de la forme
- <strong><code>$N</code></strong> (0 <= N <= 9). $1 à $9
- permettent d'accéder aux parties regroupées (entre
- parenthèses) du modèle, issues de la <code>RewriteRule</code>
- concernée par le jeu de conditions <code>RewriteCond</code>
- courant. $0 donne accès à l'ensemble de la chaîne
- correspondant au modèle.</li>
+ <strong>références arrières de règle de réécriture</strong> :
+ ce sont des références arrières de la forme
+ <strong><code>$N</code></strong> (0 <= N <= 9). $1 à $9
+ permettent d'accéder aux parties regroupées (entre
+ parenthèses) du modèle, issues de la <code>RewriteRule</code>
+ concernée par le jeu de conditions <code>RewriteCond</code>
+ courant. $0 donne accès à l'ensemble de la chaîne
+ correspondant au modèle.</li>
<li>
- <strong>Références arrières de condition de réécriture
- </strong> : ce sont des références arrières de la forme
- <strong><code>%N</code></strong> (0 <= N <= 9). %1 à %9
- permettent d'accéder aux parties regroupées (entre
- parenthèses) du modèle, issues de la dernière
+ <strong>Références arrières de condition de réécriture
+ </strong> : ce sont des références arrières de la forme
+ <strong><code>%N</code></strong> (0 <= N <= 9). %1 à %9
+ permettent d'accéder aux parties regroupées (entre
+ parenthèses) du modèle, issues de la dernière
condition <code>RewriteCond</code> satisfaite du jeu de conditions <code>RewriteCond</code>
- courant. %0 donne accès à l'ensemble de la chaîne
- correspondant au modèle.</li>
+ courant. %0 donne accès à l'ensemble de la chaîne
+ correspondant au modèle.</li>
<li>
- <strong>extensions de table de réécriture</strong> :
- ce sont des extensions de la forme <strong><code>${nomTable:clé|défaut}</code></strong>. Voir la <a>href="#mapfunc">documentation sur RewriteMap</a>
- pour plus de détails.
+ <strong>extensions de table de réécriture</strong> :
+ ce sont des extensions de la forme <strong><code>${nomTable:clé|défaut}</code></strong>. Voir la <a>href="#mapfunc">documentation sur RewriteMap</a>
+ pour plus de détails.
</li>
<li>
<strong>Variables du serveur</strong> :
ce sont des variables de la forme
<strong><code>%{</code> <em>NAME_OF_VARIABLE</em> <code>}</code></strong>,
- où <em>NOM_DE_VARIABLE</em> peut contenir une chaîne issue
+ où <em>NOM_DE_VARIABLE</em> peut contenir une chaîne issue
de la liste suivante :
<table>
<tr>
- <th>En-têtes HTTP :</th> <th>connexion & requête:</th> <th />
+ <th>En-têtes HTTP :</th> <th>connexion & requête:</th> <th />
</tr>
<tr>
</tr>
<tr>
- <th>variables internes au serveur :</th> <th>date et heure :</th> <th>spéciaux :</th>
+ <th>variables internes au serveur :</th> <th>date et heure :</th> <th>spéciaux :</th>
</tr>
<tr>
</tr>
</table>
- <p>Ces variables correspondent toutes aux en-têtes MIME
- HTTP de mêmes noms, au variables C du serveur HTTP Apache, ou
- aux champs <code>struct tm</code> du système Unix. La
- plupart d'entre elles sont documentées <a href="../expr.html#vars">ici</a>, dans la
- spécification CGI ou ailleurs dans le
+ <p>Ces variables correspondent toutes aux en-têtes MIME
+ HTTP de mêmes noms, au variables C du serveur HTTP Apache, ou
+ aux champs <code>struct tm</code> du système Unix. La
+ plupart d'entre elles sont documentées <a href="../expr.html#vars">ici</a>, dans la
+ spécification CGI ou ailleurs dans le
manuel.</p>
- <p>SERVER_NAME et SERVER_PORT dépendent respectivement
+ <p>SERVER_NAME et SERVER_PORT dépendent respectivement
des valeurs des directives <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> et <code class="directive"><a href="../mod/core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code>.</p>
<p>Parmi les variables
- spécifiques à <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, ou trouve les suivantes :</p>
+ spécifiques à <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, ou trouve les suivantes :</p>
<dl>
<dt><code>API_VERSION</code></dt>
<dd>C'est la version de l'API des modules Apache httpd
(l'interface interne entre le serveur et les modules)
pour la construction courante de httpd, telle qu'elle
- est définie dans include/ap_mmn.h. La version de l'API
- des modules correspond à la version du serveur Apache
+ est définie dans include/ap_mmn.h. La version de l'API
+ des modules correspond à la version du serveur Apache
httpd
- utilisé (par exemple, pour la version 1.3.14 d'Apache
+ utilisé (par exemple, pour la version 1.3.14 d'Apache
httpd,
- il s'agit de la version 19990320:10), mais intéresse
+ il s'agit de la version 19990320:10), mais intéresse
principalement les auteurs de modules.</dd>
<dt><code>CONN_REMOTE_ADDR</code></dt>
<dd>Contient le texte "on" si la connexion
utilise SSL/TLS, "off" dans le cas contraire
- (Cette variable peut être utilisée sans problème, que
- <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> soit chargé ou non).</dd>
+ (Cette variable peut être utilisée sans problème, que
+ <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> soit chargé ou non).</dd>
<dt><code>IS_SUBREQ</code></dt>
- <dd>Contient le texte "true" si la requête en cours
- de traitement est une sous-requête, "false" dans le
- cas contraire. Une sous-requête est générée quand un
- module a besoin de se référer à des fichiers ou URIs
- addidionnels pour pouvoir mener à bien sa tâche.</dd>
+ <dd>Contient le texte "true" si la requête en cours
+ de traitement est une sous-requête, "false" dans le
+ cas contraire. Une sous-requête est générée quand un
+ module a besoin de se référer à des fichiers ou URIs
+ addidionnels pour pouvoir mener à bien sa tâche.</dd>
<dt><code>REMOTE_ADDR</code></dt>
- <dd>L'adresse IP de l'hôte distant (se référer au
+ <dd>L'adresse IP de l'hôte distant (se référer au
module <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>).</dd>
<dt><code>REQUEST_FILENAME</code></dt>
- <dd>Le chemin complet local au système de fichiers
+ <dd>Le chemin complet local au système de fichiers
du fichier ou du script correspondant
- à la requête, s'il a déjà été déterminé par le serveur
- au moment où on y fait référence. Dans le cas
+ à la requête, s'il a déjà été déterminé par le serveur
+ au moment où on y fait référence. Dans le cas
contraire, et en particulier dans le cas d'un serveur
virtuel, <code>REQUEST_FILENAME</code> contient la
valeur de <code>REQUEST_URI</code>. En fonction de la
valeur de la directive <code class="directive"><a href="../mod/core.html#acceptpathinfo">AcceptPathInfo</a></code>, le serveur
- peut n'utiliser que certains éléments de tête du
- <code>REQUEST_URI</code> pour déterminer à quel
- fichier correspond la requête.</dd>
+ peut n'utiliser que certains éléments de tête du
+ <code>REQUEST_URI</code> pour déterminer à quel
+ fichier correspond la requête.</dd>
<dt><code>REQUEST_SCHEME</code></dt>
- <dd>Contient le protocole de la requête (en général
- "http" ou "https"). La valeur peut être modifiée par
+ <dd>Contient le protocole de la requête (en général
+ "http" ou "https"). La valeur peut être modifiée par
la directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>.</dd>
<dt><code>REQUEST_URI</code></dt>
- <dd>La partie chemin de l'URI de la requête, comme
- "/index.html". Ceci exclut en particulier la chaîne de
- paramètres de la requête qui est contenue dans la
+ <dd>La partie chemin de l'URI de la requête, comme
+ "/index.html". Ceci exclut en particulier la chaîne de
+ paramètres de la requête qui est contenue dans la
variable <code>QUERY_STRING</code>.</dd>
<dt><code>THE_REQUEST</code></dt>
- <dd>La ligne de requête HTTP complète envoyée par le
+ <dd>La ligne de requête HTTP complète envoyée par le
navigateur au serveur (par exemple, "<code>GET
- /index.html HTTP/1.1</code>"), à l'exclusion de tout
- en-tête ajouté par le navigateur. Cette
- valeur n'a pas été déséchappée (décodée), à la
- différence de la plupart des variables suivantes.</dd>
+ /index.html HTTP/1.1</code>"), à l'exclusion de tout
+ en-tête ajouté par le navigateur. Cette
+ valeur n'a pas été déséchappée (décodée), à la
+ différence de la plupart des variables suivantes.</dd>
</dl>
</li>
</ul>
- <p>Si la <em>chaîne_de_test</em> contient la valeur spéciale
- <code>expr</code>, <em>expression_de_comparaison</em> sera traité
- en tant qu'expression rationnelle de type <a href="../expr.html">ap_expr</a>. Si des en-têtes HTTP sont
- référencés dans l'expression rationnelle, et si le drapeau
- <code>novary</code> n'est pas activé, ils seront ajoutés à
- l'en-tête Vary.</p>
+ <p>Si la <em>chaîne_de_test</em> contient la valeur spéciale
+ <code>expr</code>, <em>expression_de_comparaison</em> sera traité
+ en tant qu'expression rationnelle de type <a href="../expr.html">ap_expr</a>. Si des en-têtes HTTP sont
+ référencés dans l'expression rationnelle, et si le drapeau
+ <code>novary</code> n'est pas activé, ils seront ajoutés à
+ l'en-tête Vary.</p>
- <p>Autres points à connaître ::</p>
+ <p>Autres points à connaître ::</p>
<ol>
<li>
<p>Les variables <code>SCRIPT_FILENAME</code> et
du champ <code>filename</code> de la
structure interne <code>request_rec</code>du serveur HTTP Apache.
Le premier nom correspond au nom de variable bien connu CGI,
- alors que le second est l'équivalent de REQUEST_URI (qui
+ alors que le second est l'équivalent de REQUEST_URI (qui
contient la valeur du champ <code>uri</code> de
<code>request_rec</code>).</p>
- <p>Si une substitution intervient et si la réécriture se
- poursuit, la valeur des deux variables sera mise à jour en
- conséquence.</p>
- <p>Dans le contexte du serveur principal (c'est à dire avant que
- la requête ne soit mise en correspondance avec le système de
+ <p>Si une substitution intervient et si la réécriture se
+ poursuit, la valeur des deux variables sera mise à jour en
+ conséquence.</p>
+ <p>Dans le contexte du serveur principal (c'est à dire avant que
+ la requête ne soit mise en correspondance avec le système de
fichiers), SCRIPT_FILENAME et REQUEST_FILENAME ne peuvent pas
- contenir le chemin entier dans le système de fichiers local car
- ce chemin b'est pas connu à ce stade du traitement. Dans ce cas,
+ contenir le chemin entier dans le système de fichiers local car
+ ce chemin b'est pas connu à ce stade du traitement. Dans ce cas,
les deux variables contiendront la valeur de REQUEST_URI. Pour
- obtenir le chemin complet de la requête dans le système de
+ obtenir le chemin complet de la requête dans le système de
fichiers local dans le contexte du serveur principal, utilisez une
- référence avant à base d'URL
- <code>%{LA-U:REQUEST_FILENAME}</code> pour déterminer la valeur
+ référence avant à base d'URL
+ <code>%{LA-U:REQUEST_FILENAME}</code> pour déterminer la valeur
finale de REQUEST_FILENAME.</p></li>
<li>
- <code>%{ENV:<em>variable</em>}</code>, où <em>variable</em> peut
- correspondre à une variable d'environnement quelconque.</li>
+ <code>%{ENV:<em>variable</em>}</code>, où <em>variable</em> peut
+ correspondre à une variable d'environnement quelconque.</li>
<li>
- <code>%{ENV:variable}</code> est aussi disponible, où
- <em>variable</em> peut correspondre à toute variable
- d'environnement. Peut être consulté via des structures internes
+ <code>%{ENV:variable}</code> est aussi disponible, où
+ <em>variable</em> peut correspondre à toute variable
+ d'environnement. Peut être consulté via des structures internes
d'Apache httpd et (si on ne les trouve pas ici) via la fonction
- <code>getenv()</code> à partir du processus du serveur Apache
+ <code>getenv()</code> à partir du processus du serveur Apache
httpd.</li>
- <li>Que <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> soit chargé ou non, on peut
- utiliser <code>%{SSL:variable}</code>, où <em>variable</em>
- peut être remplacé par le nom d'une
+ <li>Que <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> soit chargé ou non, on peut
+ utiliser <code>%{SSL:variable}</code>, où <em>variable</em>
+ peut être remplacé par le nom d'une
<a href="mod_ssl.html#envvars">variable
d'environnement SSL</a> . Si <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> n'est pas
- chargé, cette variable contiendra toujours une chaîne vide.
+ chargé, cette variable contiendra toujours une chaîne vide.
Exemple : <code>%{SSL:SSL_CIPHER_USEKEYSIZE}</code> pourra
contenir la valeur <code>128</code>. Ces variables sont
- disponibles même si l'option <code>StdEnvVars</code> de la
+ disponibles même si l'option <code>StdEnvVars</code> de la
directive <code class="directive"><a href="../mod/mod_ssl.html#ssloptions">SSLOptions</a></code> n'a
- pas été définie.</li>
+ pas été définie.</li>
<li>
- On peut utiliser <code>%{HTTP:en-tête}</code>, où
- <em>en-tête</em> peut correspondre à tout nom d'en-tête MIME
- HTTP, pour extraire la valeur d'un en-tête envoyé dans la
- requête HTTP. Par exemple, <code>%{HTTP:Proxy-Connection}</code>
- contiendra la valeur de l'en-tête HTTP
+ On peut utiliser <code>%{HTTP:en-tête}</code>, où
+ <em>en-tête</em> peut correspondre à tout nom d'en-tête MIME
+ HTTP, pour extraire la valeur d'un en-tête envoyé dans la
+ requête HTTP. Par exemple, <code>%{HTTP:Proxy-Connection}</code>
+ contiendra la valeur de l'en-tête HTTP
"<code>Proxy-Connection:</code>".
- Si on utilise un en-tête HTTP
- dans une condition, et si cette condition est évaluée à
- <code>vrai</code> pour la requête, cet en-tête sera ajouté à l'en-tête Vary de
- la réponse. Il ne le sera pas si la condition est évaluée à
- <code>faux</code>. L'ajout de l'en-tête HTTP à l'en-tête Vary
- est nécessaire à une mise en cache appropriée.
- <p>Il faut garder à l'esprit que les conditions suivent une
+ Si on utilise un en-tête HTTP
+ dans une condition, et si cette condition est évaluée à
+ <code>vrai</code> pour la requête, cet en-tête sera ajouté à l'en-tête Vary de
+ la réponse. Il ne le sera pas si la condition est évaluée à
+ <code>faux</code>. L'ajout de l'en-tête HTTP à l'en-tête Vary
+ est nécessaire à une mise en cache appropriée.
+ <p>Il faut garder à l'esprit que les conditions suivent une
logique de cout-circuit si le drapeau
- '<strong><code>ornext|OR</code></strong>' est utilisé, et que de
- ce fait, certaines d'entre elles ne seront pas évaluées.</p>
+ '<strong><code>ornext|OR</code></strong>' est utilisé, et que de
+ ce fait, certaines d'entre elles ne seront pas évaluées.</p>
</li>
- <li>A des fins de référence avant, on peut utiliser,
+ <li>A des fins de référence avant, on peut utiliser,
<a id="LA-U" name="LA-U"><code>%{LA-U:variable}</code></a>, qui
- permet d'effectuer une sous-requête interne à base d'URL, afin
- de déterminer la valeur finale de <em>variable</em>. Ceci permet
- d'accéder à la valeur d'une variable pour la réécriture inconnue
- à ce stade du traitement, mais qui sera définie au
- cours d'une phase ultérieure.
- <p>Par exemple, pour effectuer une réécriture dépendant de la
+ permet d'effectuer une sous-requête interne à base d'URL, afin
+ de déterminer la valeur finale de <em>variable</em>. Ceci permet
+ d'accéder à la valeur d'une variable pour la réécriture inconnue
+ à ce stade du traitement, mais qui sera définie au
+ cours d'une phase ultérieure.
+ <p>Par exemple, pour effectuer une réécriture dépendant de la
variable <code>REMOTE_USER</code> dans le contexte du serveur
principal (fichier <code>httpd.conf</code>), vous devez utiliser
- <code>%{LA-U:REMOTE_USER}</code> - cette variable est définie
- par la phase d'autorisation qui intervient <em>après</em> la
+ <code>%{LA-U:REMOTE_USER}</code> - cette variable est définie
+ par la phase d'autorisation qui intervient <em>après</em> la
phase de traduction d'URL (pendant laquelle <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
- opère).</p>
- <p>Par contre, comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> implémente son contexte de
- répertoire (fichier <code>.htaccess</code>) via la phase Fixup
+ opère).</p>
+ <p>Par contre, comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> implémente son contexte de
+ répertoire (fichier <code>.htaccess</code>) via la phase Fixup
de l'API, et comme la phase d'autorisation intervient
- <em>avant</em> cette dernière, vous pouvez vous contenter
+ <em>avant</em> cette dernière, vous pouvez vous contenter
d'utiliser <code>%{REMOTE_USER}</code> dans ce contexte.</p></li>
<li>
- <code>%{LA-F:variable}</code> peut être utilisée pour effectuer
- une sous-requête interne (basée sur le nom de fichier), afin de
- déterminer la valeur finale de <em>variable</em>. La plupart du
- temps, elle est identique à LA-U (voir ci-dessus).</li>
+ <code>%{LA-F:variable}</code> peut être utilisée pour effectuer
+ une sous-requête interne (basée sur le nom de fichier), afin de
+ déterminer la valeur finale de <em>variable</em>. La plupart du
+ temps, elle est identique à LA-U (voir ci-dessus).</li>
</ol>
<p><em>expression_de_comparaison</em> est une expression
- rationnelle qui est appliquée à l'instance actuelle de
- <em>chaîne_de_test</em>. <em>chaîne_de_test</em> est d'abord
- évaluée, puis comparée à
+ rationnelle qui est appliquée à l'instance actuelle de
+ <em>chaîne_de_test</em>. <em>chaîne_de_test</em> est d'abord
+ évaluée, puis comparée à
l'<em>expression_de_comparaison</em>.</p>
- <p><em>expression_de_comparaison</em> est en général une
+ <p><em>expression_de_comparaison</em> est en général une
<em>expression rationnelle compatible perl</em>, mais vous
- disposez des syntaxes supplémentaires suivantes pour effectuer
- d'autres tests utiles sur <em>chaîne_de_test</em> :
+ disposez des syntaxes supplémentaires suivantes pour effectuer
+ d'autres tests utiles sur <em>chaîne_de_test</em> :
</p>
<ol>
- <li>Vous pouvez préfixer l'expression avec un caractère
- '<code>!</code>' (point d'exclamation) pour inverser le résultat
+ <li>Vous pouvez préfixer l'expression avec un caractère
+ '<code>!</code>' (point d'exclamation) pour inverser le résultat
de la condition, quelle que soit l'<em>expression de
- comparaison</em> utilisée.</li>
+ comparaison</em> utilisée.</li>
<li>Vous pouvez effectuer des comparaisons lexicographiques de
- chaînes :
+ chaînes :
<dl>
<dt><strong><expression</strong></dt>
- <dd>inférieur au sens lexicographique<br />
- Traite l'<em>expression</em> comme une chaîne de
- caractères et la compare lexicographiquement à
- <em>chaîne_de_test</em>. La condition est satisfaite si
- <em>chaîne_de_test</em> est inférieure au sens
- lexicographique à l'<em>expression</em>.</dd>
+ <dd>inférieur au sens lexicographique<br />
+ Traite l'<em>expression</em> comme une chaîne de
+ caractères et la compare lexicographiquement à
+ <em>chaîne_de_test</em>. La condition est satisfaite si
+ <em>chaîne_de_test</em> est inférieure au sens
+ lexicographique à l'<em>expression</em>.</dd>
<dt><strong>>expression</strong></dt>
- <dd>supérieur au sens lexicographique<br />
- Traite l'<em>expression</em> comme une chaîne de
- caractères et la compare lexicographiquement à
- <em>chaîne_de_test</em>. La condition est satisfaite si
- <em>chaîne_de_test</em> est supérieure au sens
- lexicographique à l'<em>expression</em>.</dd>
+ <dd>supérieur au sens lexicographique<br />
+ Traite l'<em>expression</em> comme une chaîne de
+ caractères et la compare lexicographiquement à
+ <em>chaîne_de_test</em>. La condition est satisfaite si
+ <em>chaîne_de_test</em> est supérieure au sens
+ lexicographique à l'<em>expression</em>.</dd>
<dt><strong>=expression</strong></dt>
- <dd>égal au sens lexicographique<br />
- Traite l'<em>expression</em> comme une chaîne de
- caractères et la compare lexicographiquement à
- <em>chaîne_de_test</em>. La condition est satisfaite si
- <em>chaîne_de_test</em> est égale au sens
- lexicographique à l'<em>expression</em> (les deux chaînes
- sont exactement identiques, caractère pour caractère). Si
+ <dd>égal au sens lexicographique<br />
+ Traite l'<em>expression</em> comme une chaîne de
+ caractères et la compare lexicographiquement à
+ <em>chaîne_de_test</em>. La condition est satisfaite si
+ <em>chaîne_de_test</em> est égale au sens
+ lexicographique à l'<em>expression</em> (les deux chaînes
+ sont exactement identiques, caractère pour caractère). Si
<em>expression</em> est <code>""</code> (deux guillemets),
- <em>chaîne_de_test</em> est comparée à la
- chaîne vide.</dd>
+ <em>chaîne_de_test</em> est comparée à la
+ chaîne vide.</dd>
<dt><strong><=expression de comparaison</strong></dt>
- <dd>inférieur ou égal à au sens lexicographique<br />
- Considère l'<em>expression_de_comparaison</em> comme une
- chaîne de caractères et la compare au sens lexicographique à
- la <em>chaîne_de_test</em>. Vrai si <em>chaîne_de_test</em>
- précède lexicographiquement <em>expression_de_comparaison</em>, ou est
- égale à <em>expression_de_comparaison</em> (les deux chaînes
- sont identiques, caractère pour caractère).</dd>
+ <dd>inférieur ou égal à au sens lexicographique<br />
+ Considère l'<em>expression_de_comparaison</em> comme une
+ chaîne de caractères et la compare au sens lexicographique à
+ la <em>chaîne_de_test</em>. Vrai si <em>chaîne_de_test</em>
+ précède lexicographiquement <em>expression_de_comparaison</em>, ou est
+ égale à <em>expression_de_comparaison</em> (les deux chaînes
+ sont identiques, caractère pour caractère).</dd>
<dt><strong>>=expression de comparaison</strong></dt>
- <dd>supérieur ou égal à au sens lexicographique<br />
- Considère l'<em>expression_de_comparaison</em> comme une
- chaîne de caractères et la compare au sens lexicographique à
- la <em>chaîne_de_test</em>. Vrai si <em>chaîne_de_test</em>
+ <dd>supérieur ou égal à au sens lexicographique<br />
+ Considère l'<em>expression_de_comparaison</em> comme une
+ chaîne de caractères et la compare au sens lexicographique à
+ la <em>chaîne_de_test</em>. Vrai si <em>chaîne_de_test</em>
suit lexicographiquement <em>expression_de_comparaison</em>, ou est
- égale à <em>expression_de_comparaison</em> (les deux chaînes
- sont identiques, caractère pour caractère).</dd>
+ égale à <em>expression_de_comparaison</em> (les deux chaînes
+ sont identiques, caractère pour caractère).</dd>
</dl>
</li>
<dl>
<dt><strong>-eq</strong></dt>
- <dd>est numériquement égal à<br />
- La <em>chaîne_de_test</em> est considérée comme un entier,
- et est comparée numériquement à l'<em>expression de
+ <dd>est numériquement égal à<br />
+ La <em>chaîne_de_test</em> est considérée comme un entier,
+ et est comparée numériquement à l'<em>expression de
comparaison</em>. Vrai si les deux expressions sont
- numériquement égales.</dd>
+ numériquement égales.</dd>
<dt><strong>-ge</strong></dt>
- <dd>est numériquement supérieur ou égal à<br />
- La <em>chaîne_de_test</em> est considérée comme un entier,
- et est comparée numériquement à l'<em>expression de
- comparaison</em>. Vrai si <em>chaîne_de_test</em> est
- numériquement supérieure ou égale à
+ <dd>est numériquement supérieur ou égal à<br />
+ La <em>chaîne_de_test</em> est considérée comme un entier,
+ et est comparée numériquement à l'<em>expression de
+ comparaison</em>. Vrai si <em>chaîne_de_test</em> est
+ numériquement supérieure ou égale à
<em>expression_de_comparaison</em>.</dd>
<dt><strong>-gt</strong></dt>
- <dd>est numériquement supérieur à<br />
- La <em>chaîne_de_test</em> est considérée comme un entier,
- et est comparée numériquement à l'<em>expression de
- comparaison</em>. Vrai si <em>chaîne_de_test</em> est
- numériquement
- supérieure à <em>expression_de_comparaison</em>.</dd>
+ <dd>est numériquement supérieur à<br />
+ La <em>chaîne_de_test</em> est considérée comme un entier,
+ et est comparée numériquement à l'<em>expression de
+ comparaison</em>. Vrai si <em>chaîne_de_test</em> est
+ numériquement
+ supérieure à <em>expression_de_comparaison</em>.</dd>
<dt><strong>-le</strong></dt>
- <dd>est numériquement inférieur ou égal à<br />
- La <em>chaîne_de_test</em> est considérée comme un entier,
- et est comparée numériquement à l'<em>expression de
- comparaison</em>. Vrai si <em>chaîne_de_test</em> est
- numériquement
- inférieure ou égale à <em>expression_de_comparaison</em>.
- Attention à la confusion avec le drapeau <strong>-l</strong>
+ <dd>est numériquement inférieur ou égal à<br />
+ La <em>chaîne_de_test</em> est considérée comme un entier,
+ et est comparée numériquement à l'<em>expression de
+ comparaison</em>. Vrai si <em>chaîne_de_test</em> est
+ numériquement
+ inférieure ou égale à <em>expression_de_comparaison</em>.
+ Attention à la confusion avec le drapeau <strong>-l</strong>
en utilisant la variante the <strong>-L</strong> ou
<strong>-h</strong>.</dd>
<dt><strong>-lt</strong></dt>
- <dd>est numériquement inférieur à<br />
- La <em>chaîne_de_test</em> est considérée comme un entier,
- et est comparée numériquement à l'<em>expression de
- comparaison</em>. Vrai si <em>chaîne_de_test</em> est
- numériquement
- inférieure à <em>expression_de_comparaison</em>.
- Attention à la confusion avec le drapeau <strong>-l</strong>
+ <dd>est numériquement inférieur à<br />
+ La <em>chaîne_de_test</em> est considérée comme un entier,
+ et est comparée numériquement à l'<em>expression de
+ comparaison</em>. Vrai si <em>chaîne_de_test</em> est
+ numériquement
+ inférieure à <em>expression_de_comparaison</em>.
+ Attention à la confusion avec le drapeau <strong>-l</strong>
en utilisant la variante the <strong>-L</strong> ou
<strong>-h</strong>.</dd>
<dt><strong>-ne</strong></dt>
- <dd>Est numériquement <strong>n</strong>on <strong>é</strong>gal à<br />
- La <em>Chaîne de test</em> est considérée comme un entier et est
- numériquement comparée à l'<em>expression de comparaison</em>. Vrai
- si les deux éléments comparés sont numériquement différents.
- Equivalent à <code>!-eq</code>.</dd>
+ <dd>Est numériquement <strong>n</strong>on <strong>é</strong>gal à<br />
+ La <em>Chaîne de test</em> est considérée comme un entier et est
+ numériquement comparée à l'<em>expression de comparaison</em>. Vrai
+ si les deux éléments comparés sont numériquement différents.
+ Equivalent à <code>!-eq</code>.</dd>
</dl>
</li>
- <li>Vous pouvez effectuer différents tests sur les attributs de
+ <li>Vous pouvez effectuer différents tests sur les attributs de
fichier :
<dl>
<dt><strong>-d</strong></dt>
- <dd>est un <strong>r</strong>épertoire<br />
- Traite <em>chaîne_de_test</em> comme un chemin et vérifie
- s'il existe ou pas, et s'il s'agit d'un répertoire.</dd>
+ <dd>est un <strong>r</strong>épertoire<br />
+ Traite <em>chaîne_de_test</em> comme un chemin et vérifie
+ s'il existe ou pas, et s'il s'agit d'un répertoire.</dd>
<dt><strong>-f</strong></dt>
- <dd>est un <strong>f</strong>ichier régulier<br />
- Traite <em>chaîne_de_test</em> comme un chemin et vérifie
- s'il existe ou pas, et s'il s'agit d'un fichier régulier.</dd>
+ <dd>est un <strong>f</strong>ichier régulier<br />
+ Traite <em>chaîne_de_test</em> comme un chemin et vérifie
+ s'il existe ou pas, et s'il s'agit d'un fichier régulier.</dd>
<dt><strong>-F</strong></dt>
- <dd>test de l'existence d'un fichier via une sous-requête<br />
- Vérifie si <em>chaîne_de_test</em> est un fichier valide,
- accessible à travers tous les contrôles d'accès du serveur
- actuellement configurés pour ce chemin. C'est une
- sous-requête interne qui effectue cette vérification - à
- utiliser avec précautions car les performances du serveur
- peuvent s'en trouver affectées !</dd>
+ <dd>test de l'existence d'un fichier via une sous-requête<br />
+ Vérifie si <em>chaîne_de_test</em> est un fichier valide,
+ accessible à travers tous les contrôles d'accès du serveur
+ actuellement configurés pour ce chemin. C'est une
+ sous-requête interne qui effectue cette vérification - à
+ utiliser avec précautions car les performances du serveur
+ peuvent s'en trouver affectées !</dd>
<dt><strong>-h</strong></dt>
<dd>est un lien symbolique, selon la convention bash<br />
<dt><strong>-l</strong></dt>
<dd>est un <strong>l</strong>ien symbolique<br />
- Considère la <em>chaîne_de_test</em> comme un chemin et
- vérifie son existence et si elle est un lien symbolique. On
+ Considère la <em>chaîne_de_test</em> comme un chemin et
+ vérifie son existence et si elle est un lien symbolique. On
peut aussi utiliser la convention bash <strong>-L</strong>
ou <strong>-h</strong> lorsqu'il y a risque de confusion
avec les tests <strong>-lt</strong> ou <strong>-le</strong>.</dd>
Voir <strong>-l</strong>.</dd>
<dt><strong>-s</strong></dt>
- <dd>est un fichier régulier d'une certaine taille<br />
- Considère la <em>chaîne_de_test</em> comme un chemin et
- vérifie son existence et si elle est un fichier régulier
- d'une taille supérieure à zéro.</dd>
+ <dd>est un fichier régulier d'une certaine taille<br />
+ Considère la <em>chaîne_de_test</em> comme un chemin et
+ vérifie son existence et si elle est un fichier régulier
+ d'une taille supérieure à zéro.</dd>
<dt><strong>-U</strong></dt>
<dd><p>test de l'existence d'une
- URL via une sous-requête<br />
- Vérifie si <em>chaîne_de_test</em> est une URL valide,
- accessible à travers tous les contrôles d'accès du serveur
- actuellement configurés pour ce chemin. C'est une
- sous-requête interne qui effectue cette vérification - à
- utiliser avec précautions car les performances du serveur
- peuvent s'en trouver affectées !</p>
+ URL via une sous-requête<br />
+ Vérifie si <em>chaîne_de_test</em> est une URL valide,
+ accessible à travers tous les contrôles d'accès du serveur
+ actuellement configurés pour ce chemin. C'est une
+ sous-requête interne qui effectue cette vérification - à
+ utiliser avec précautions car les performances du serveur
+ peuvent s'en trouver affectées !</p>
<p>Ce drapeau ne renvoie <em>que</em> des informations
- concernant le contrôle d'accès, l'authentification et
+ concernant le contrôle d'accès, l'authentification et
l'autorisation. Il ne renvoie <em>pas</em> d'informations
- concernant le code d'état que le gestionnaire configuré
- (static file, CGI, proxy, etc...) aurait, quant à lui,
- retourné.</p></dd>
+ concernant le code d'état que le gestionnaire configuré
+ (static file, CGI, proxy, etc...) aurait, quant à lui,
+ retourné.</p></dd>
<dt><strong>-x</strong></dt>
- <dd>a l'attribut d'exécution positionné<br />
- Considère la <em>chaîne_de_test</em> comme un chemin et
- vérifie son existence et si elle a son attribut d'exécution
- positionné. Ce positionnement est déterminé en fonction de
+ <dd>a l'attribut d'exécution positionné<br />
+ Considère la <em>chaîne_de_test</em> comme un chemin et
+ vérifie son existence et si elle a son attribut d'exécution
+ positionné. Ce positionnement est déterminé en fonction de
l'OS sous-jacent.</dd>
</dl>
</li>
<li>
- <p>Si la <em>chaîne_de_test</em> contient la valeur spéciale
- <code>expr</code>, la <em>chaîne de comparaison</em> sera
- traitée en tant qu'expression rationnelle de type <a href="../expr.html">ap_expr</a>.</p>
+ <p>Si la <em>chaîne_de_test</em> contient la valeur spéciale
+ <code>expr</code>, la <em>chaîne de comparaison</em> sera
+ traitée en tant qu'expression rationnelle de type <a href="../expr.html">ap_expr</a>.</p>
<p>
Dans l'exemple ci-dessous, on utilise <code>-strmatch</code>
- pour comparer le <code>REFERER</code> avec le nom d'hôte du
- site afin de bloquer le hotlinking (référencement direct)
- non désiré.
+ pour comparer le <code>REFERER</code> avec le nom d'hôte du
+ site afin de bloquer le hotlinking (référencement direct)
+ non désiré.
</p>
<pre class="prettyprint lang-config"> RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"
</li>
</ol>
- <p>Vous pouvez aussi définir certains drapeaux pour
+ <p>Vous pouvez aussi définir certains drapeaux pour
l'<em>expression_de_comparaison</em> en ajoutant ces
<strong><code>[</code><em>drapeaux</em><code>]</code></strong>
- comme troisième argument de la directive
- <code class="directive">RewriteCond</code>, où <em>drapeaux</em> est un
- sous-ensemble séparé par des virgules des drapeaux suivants :</p>
+ comme troisième argument de la directive
+ <code class="directive">RewriteCond</code>, où <em>drapeaux</em> est un
+ sous-ensemble séparé par des virgules des drapeaux suivants :</p>
<ul>
<li>'<strong><code>nocase|NC</code></strong>'
(<strong>n</strong>o <strong>c</strong>ase)<br />
- Rend le test insensible à la casse - il n'est pas fait de
- distinction entre majuscules et minuscules, à la fois dans le
- développement de <em>chaîne_de_test</em> et dans
+ Rend le test insensible à la casse - il n'est pas fait de
+ distinction entre majuscules et minuscules, à la fois dans le
+ développement de <em>chaîne_de_test</em> et dans
<em>expression_de_comparaison</em>. Ce drapeau n'est pris en
- compte que lors d'une comparaison entre <em>chaîne_de_test</em>
+ compte que lors d'une comparaison entre <em>chaîne_de_test</em>
et <em>expression_de_comparaison</em>. Il ne l'est pas pour les
- vérification par sous-requêtes ou sur le système de
+ vérification par sous-requêtes ou sur le système de
fichiers.</li>
<li>
'<strong><code>ornext|OR</code></strong>'
(<strong>ou</strong> condition suivante)<br />
- Permet de chaîner les conditions de règles avec un OU au
+ Permet de chaîner les conditions de règles avec un OU au
lieu du AND implicite. Exemple typique :
<pre class="prettyprint lang-config">RewriteCond "%{REMOTE_HOST}" "^host1" [OR]
RewriteCond "%{REMOTE_HOST}" "^host2" [OR]
RewriteCond "%{REMOTE_HOST}" "^host3"
-RewriteRule ...règles concernant tous ces hôtes...</pre>
+RewriteRule ...règles concernant tous ces hôtes...</pre>
Sans ce drapeau, les paires
- condition/règle devraient être écrites trois fois.
+ condition/règle devraient être écrites trois fois.
</li>
<li>'<strong><code>novary|NV</code></strong>'
(<strong>n</strong>o <strong>v</strong>ary)<br />
- Si la condition contient un en-tête HTTP, ce drapeau empêche
- ce dernier d'être ajouté à l'en-tête Vary de la réponse. <br />
+ Si la condition contient un en-tête HTTP, ce drapeau empêche
+ ce dernier d'être ajouté à l'en-tête Vary de la réponse. <br />
L'utilisation de ce drapeau peut provoquer une mise en cache
- incorrecte de la réponse, si la représentation de cette réponse
- varie avec la valeur de l'en-tête considéré. Ce drapeau ne
- devrait donc être utilisé que si l'on maîtrise parfaitement le
- fonctionnement de l'en-tête Vary.
+ incorrecte de la réponse, si la représentation de cette réponse
+ varie avec la valeur de l'en-tête considéré. Ce drapeau ne
+ devrait donc être utilisé que si l'on maîtrise parfaitement le
+ fonctionnement de l'en-tête Vary.
</li>
</ul>
<p><strong>Exemple :</strong></p>
- <p>Pour réécrire la page d'accueil d'un site en fonction de
- l'en-tête ``<code>User-Agent:</code>'' de la requête, vous
+ <p>Pour réécrire la page d'accueil d'un site en fonction de
+ l'en-tête ``<code>User-Agent:</code>'' de la requête, vous
pouvez utiliser ce qui suit : </p>
<pre class="prettyprint lang-config">RewriteCond "%{HTTP_USER_AGENT}" "(iPhone|Blackberry|Android)"
navigateur de plateforme mobile (notez que l'exemple est
incomplet car il existe de nombreuses autres plateformes
mobiles), c'est la version pour mobile de la page d'accueil qui
- sera renvoyée. Dans le cas contraire, ce sera la page d'accueil
+ sera renvoyée. Dans le cas contraire, ce sera la page d'accueil
standard.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="rewriteengine" id="rewriteengine">Directive</a> <a name="RewriteEngine" id="RewriteEngine">RewriteEngine</a><a title="Lien permanent" href="#rewriteengine" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive l'exécution du
-moteur de réécriture</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive l'exécution du
+moteur de réécriture</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteEngine on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>RewriteEngine off</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#Default">Défaut:</a></th><td><code>RewriteEngine off</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">AllowOverride:</a></th><td>FileInfo</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_rewrite</td></tr>
</table>
<p>La directive <code class="directive">RewriteEngine</code> active ou
- désactive l'exécution du moteur de réécriture. Si sa valeur est
- <code>off</code>, ce module n'exécutera aucun traitement et ne
- mettra pas à jour les variables d'environnement
+ désactive l'exécution du moteur de réécriture. Si sa valeur est
+ <code>off</code>, ce module n'exécutera aucun traitement et ne
+ mettra pas à jour les variables d'environnement
<code>SCRIPT_URx</code>.</p>
- <p>Plutôt que de commenter toutes les directives <code class="directive"><a href="#rewriterule">RewriteRule</a></code>, il est préférable
- d'utiliser cette directive si l'on souhaite désactiver les
- règles de réécriture dans un contexte particulier.</p>
+ <p>Plutôt que de commenter toutes les directives <code class="directive"><a href="#rewriterule">RewriteRule</a></code>, il est préférable
+ d'utiliser cette directive si l'on souhaite désactiver les
+ règles de réécriture dans un contexte particulier.</p>
- <p>Notez que les hôtes virtuels n'héritent pas des
- configurations de réécriture. Ceci implique que vous devez
- insérer une directive <code>RewriteEngine on</code> dans chaque
- hôte virtuel pour lequel vous souhaitez utiliser des règles
- de réécriture.</p>
+ <p>Notez que les hôtes virtuels n'héritent pas des
+ configurations de réécriture. Ceci implique que vous devez
+ insérer une directive <code>RewriteEngine on</code> dans chaque
+ hôte virtuel pour lequel vous souhaitez utiliser des règles
+ de réécriture.</p>
<p>Les directives <code class="directive"><a href="#rewritemap">RewriteMap</a></code> du type
<code>prg</code> ne sont pas prises en compte au cours de
- l'initialisation du serveur si elle ont été définies dans un
- contexte où la directive <code class="directive">RewriteEngine</code> n'a
- pas été définie à <code>on</code>.</p>
+ l'initialisation du serveur si elle ont été définies dans un
+ contexte où la directive <code class="directive">RewriteEngine</code> n'a
+ pas été définie à <code>on</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="rewritemap" id="rewritemap">Directive</a> <a name="RewriteMap" id="RewriteMap">RewriteMap</a><a title="Lien permanent" href="#rewritemap" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une fonction de mise en correspondance pour la
-recherche de mots-clés</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une fonction de mise en correspondance pour la
+recherche de mots-clés</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em> [<em>MapTypeOptions</em>]
</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_rewrite</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le troisième paramètre, MapTypeOptions, est disponible à partir
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le troisième paramètre, MapTypeOptions, est disponible à partir
de la version 2.4.29 du serveur HTTP Apache</td></tr>
</table>
- <p>La directive <code class="directive">RewriteMap</code> définit une
- <em>Table de correspondance pour la réécriture</em> que les
+ <p>La directive <code class="directive">RewriteMap</code> définit une
+ <em>Table de correspondance pour la réécriture</em> que les
fonctions de mise en correspondance
- peuvent utiliser dans les chaînes de substitution des règles
- pour insérer/substituer des champs en recherchant des mots-clés.
- La source utilisée pour cette recherche peut être de plusieurs
+ peuvent utiliser dans les chaînes de substitution des règles
+ pour insérer/substituer des champs en recherchant des mots-clés.
+ La source utilisée pour cette recherche peut être de plusieurs
types.</p>
<p><a id="mapfunc" name="mapfunc"><em>MapName</em></a> est le nom de la table de correspondance
- et servira à spécifier une fonction de mise en correspondance
- pour les chaînes de substitution d'une règle de réécriture selon
+ et servira à spécifier une fonction de mise en correspondance
+ pour les chaînes de substitution d'une règle de réécriture selon
une des constructions suivantes :</p>
<p class="indent">
<strong><code>${</code> <em>MapName</em> <code>:</code>
- <em>mot-clé</em> <code>}</code><br />
+ <em>mot-clé</em> <code>}</code><br />
<code>${</code> <em>MapName</em> <code>:</code>
- <em>mot-clé</em> <code>|</code> <em>valeur par défaut</em>
+ <em>mot-clé</em> <code>|</code> <em>valeur par défaut</em>
<code>}</code></strong>
</p>
- <p>Lorsqu'une telle construction est rencontrée, la table de
- correspondance <em>MapName</em> est consultée
- et la clé <em>mot-clé</em> recherchée. Si la clé est trouvée, la
- construction est remplacée par
- la <em>valeur de remplacement</em>. Si la clé n'est pas trouvée,
- elle est remplacée par la <em>valeur par défaut</em>, ou par une
- chaîne vide si aucune <em>valeur par défaut</em> n'est
- spécifiée. La valeur vide se comporte comme si la
- clé était absente ; il est donc impossible de distinguer une
- valeur vide d'une absence de clé.</p>
-
- <p>Par exemple, vous pouvez définir une directive
+ <p>Lorsqu'une telle construction est rencontrée, la table de
+ correspondance <em>MapName</em> est consultée
+ et la clé <em>mot-clé</em> recherchée. Si la clé est trouvée, la
+ construction est remplacée par
+ la <em>valeur de remplacement</em>. Si la clé n'est pas trouvée,
+ elle est remplacée par la <em>valeur par défaut</em>, ou par une
+ chaîne vide si aucune <em>valeur par défaut</em> n'est
+ spécifiée. La valeur vide se comporte comme si la
+ clé était absente ; il est donc impossible de distinguer une
+ valeur vide d'une absence de clé.</p>
+
+ <p>Par exemple, vous pouvez définir une directive
<code class="directive">RewriteMap</code> comme suit </p>
<pre class="prettyprint lang-config">RewriteMap map-exemple "txt:/chemin/vers/fichier/map.txt"</pre>
<pre class="prettyprint lang-config">RewriteRule "^/ex/(.*)" "${map-exemple:$1}"</pre>
- <p>La signification de l'argument <em>MapTypeOptions</em> dépend du <em>MapType</em>
- spécifié. Veuillez vous référer au document <a href="../rewrite/rewritemap.html">Utiliser RewriteMap</a> pour
- plus de détails.</p>
+ <p>La signification de l'argument <em>MapTypeOptions</em> dépend du <em>MapType</em>
+ spécifié. Veuillez vous référer au document <a href="../rewrite/rewritemap.html">Utiliser RewriteMap</a> pour
+ plus de détails.</p>
<p>Les combinaisons suivantes pour <em>type de correspondance</em>
et <em>MapSource</em>
- peuvent être utilisées :</p>
+ peuvent être utilisées :</p>
<dl>
<dt>txt</dt>
- <dd>Un fichier texte contenant des paires clé-valeur séparées
- par des espaces, une paire par ligne (<a href="../rewrite/rewritemap.html#txt">Détails ...</a>).</dd>
+ <dd>Un fichier texte contenant des paires clé-valeur séparées
+ par des espaces, une paire par ligne (<a href="../rewrite/rewritemap.html#txt">Détails ...</a>).</dd>
<dt>rnd</dt>
- <dd>Sélection aléatoire d'une entrée depuis un fichier texte (<a href="../rewrite/rewritemap.html#rnd">Détails ...</a>).</dd>
+ <dd>Sélection aléatoire d'une entrée depuis un fichier texte (<a href="../rewrite/rewritemap.html#rnd">Détails ...</a>).</dd>
<dt>dbm</dt>
- <dd>Recherche une entrée dans un fichier dbm contenant des
- paires nom-valeur. Le condensé hash est élaboré à partir d'un
- format de fichier texte via l'utilitaire <code><a href="../programs/httxt2dbm.html">httxt2dbm</a></code> (<a href="../rewrite/rewritemap.html#dbm">Détails ...</a>).</dd>
+ <dd>Recherche une entrée dans un fichier dbm contenant des
+ paires nom-valeur. Le condensé hash est élaboré à partir d'un
+ format de fichier texte via l'utilitaire <code><a href="../programs/httxt2dbm.html">httxt2dbm</a></code> (<a href="../rewrite/rewritemap.html#dbm">Détails ...</a>).</dd>
<dt>int</dt>
<dd>Une des quatre fonctions internes disponibles que fournit
<code>RewriteMap</code>: toupper, tolower, escape ou unescape
- (<a href="../rewrite/rewritemap.html#int">Détails ...</a>).</dd>
+ (<a href="../rewrite/rewritemap.html#int">Détails ...</a>).</dd>
<dt>prg</dt>
<dd>Appelle un programme externe ou un script pour effectuer la
- réécriture (<a href="../rewrite/rewritemap.html#prg">Détails
+ réécriture (<a href="../rewrite/rewritemap.html#prg">Détails
...</a>).</dd>
<dt>dbd or fastdbd</dt>
- <dd>Une commande SQL SELECT à exécuter pour rechercher la cible
- de réécriture (<a href="../rewrite/rewritemap.html#dbd">Détails
+ <dd>Une commande SQL SELECT à exécuter pour rechercher la cible
+ de réécriture (<a href="../rewrite/rewritemap.html#dbd">Détails
...</a>).</dd>
</dl>
-<p>Vous trouverez plus de détails et de nombreux exemples dans le <a href="../rewrite/rewritemap.html">RewriteMap HowTo</a>.</p>
+<p>Vous trouverez plus de détails et de nombreux exemples dans le <a href="../rewrite/rewritemap.html">RewriteMap HowTo</a>.</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="rewriteoptions" id="rewriteoptions">Directive</a> <a name="RewriteOptions" id="RewriteOptions">RewriteOptions</a><a title="Lien permanent" href="#rewriteoptions" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure certaines options spéciales
-pour le moteur de réécriture</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure certaines options spéciales
+pour le moteur de réécriture</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteOptions <var>Options</var></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_rewrite</td></tr>
</table>
- <p>La directive <code class="directive">RewriteOptions</code> définit
- certaines options spéciales pour la configuration au niveau du
- serveur ou du répertoire. La chaîne de caractères <em>Option</em>
+ <p>La directive <code class="directive">RewriteOptions</code> définit
+ certaines options spéciales pour la configuration au niveau du
+ serveur ou du répertoire. La chaîne de caractères <em>Option</em>
ne peut actuellement prendre qu'une des valeurs suivantes :</p>
<dl>
<dt><code>Inherit</code></dt>
<dd>
- <p>Ceci force la configuration locale à hériter de la
- configuration du niveau supérieur. Dans le contexte des hôtes
+ <p>Ceci force la configuration locale à hériter de la
+ configuration du niveau supérieur. Dans le contexte des hôtes
virtuels, cela signifie que les correspondances, conditions et
- règles du serveur principal sont héritées. Dans le contexte des
- répertoires, cela signifie que les conditions et règles de la
- configuration <code>.htaccess</code> ou les sections <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> du répertoire
- parent sont héritées. Les règles héritées sont virtuellement
- copiées dans la section où cette directive est utilisée. Si elles
- sont utilisées avec des règles locales, les règles héritées sont
- placées après ces dernières. La place de cette directive - avant
- ou après les règles locales - n'a aucune influence sur ce
- comportement. Si des règles locales ont forcé l'arrêt de la
- réécriture, les règles héritées ne seront pas traitées.</p>
+ règles du serveur principal sont héritées. Dans le contexte des
+ répertoires, cela signifie que les conditions et règles de la
+ configuration <code>.htaccess</code> ou les sections <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> du répertoire
+ parent sont héritées. Les règles héritées sont virtuellement
+ copiées dans la section où cette directive est utilisée. Si elles
+ sont utilisées avec des règles locales, les règles héritées sont
+ placées après ces dernières. La place de cette directive - avant
+ ou après les règles locales - n'a aucune influence sur ce
+ comportement. Si des règles locales ont forcé l'arrêt de la
+ réécriture, les règles héritées ne seront pas traitées.</p>
<div class="warning">
- Les règles héritées du niveau parent sont appliquées
- <strong>after</strong> après les règles spécifiées dans le niveau
+ Les règles héritées du niveau parent sont appliquées
+ <strong>after</strong> après les règles spécifiées dans le niveau
enfant.
</div>
</dd>
<dt><code>InheritBefore</code></dt>
<dd>
- <p>Même effet que l'option <code>Inherit</code> ci-dessus, mais
- les règles spécifiées dans le niveau parent s'appliquent
- <strong>avant</strong> les règles spécifiées dans le niveau
+ <p>Même effet que l'option <code>Inherit</code> ci-dessus, mais
+ les règles spécifiées dans le niveau parent s'appliquent
+ <strong>avant</strong> les règles spécifiées dans le niveau
enfant.<br />
Disponible depuis la version 2.3.10 du serveur HTTP Apache.</p>
</dd>
<dt><code>InheritDown</code></dt>
<dd>
- <p>Si cette option est activée, toutes les configurations enfants
- hériteront de la configuration courante. Il en est de même si l'on
- spécifie <code>RewriteOptions Inherit</code> dans toutes les
+ <p>Si cette option est activée, toutes les configurations enfants
+ hériteront de la configuration courante. Il en est de même si l'on
+ spécifie <code>RewriteOptions Inherit</code> dans toutes les
configurations enfants. Voir l'option <code>Inherit</code> pour
- plus de détails à propos de la manière dont les relations
- parent-enfants sont traitées.<br />
- Cette option est disponible à partir
+ plus de détails à propos de la manière dont les relations
+ parent-enfants sont traitées.<br />
+ Cette option est disponible à partir
de la version 2.4.8 du serveur HTTP Apache.</p>
</dd>
<dt><code>InheritDownBefore</code></dt>
<dd>
- <p>L'effet de cette option est équivalent à celui de l'option
- <code>InheritDown</code> ci-dessus, mais les règles de la
+ <p>L'effet de cette option est équivalent à celui de l'option
+ <code>InheritDown</code> ci-dessus, mais les règles de la
configuration parente s'appliquent <strong>avant</strong> toute
- règle de la configuration enfant.<br />
- Cette option est disponible à partir
+ règle de la configuration enfant.<br />
+ Cette option est disponible à partir
de la version 2.4.8 du serveur HTTP Apache.</p>
</dd>
<dt><code>IgnoreInherit</code></dt>
<dd>
- <p>Si cette option est activée, les configurations courante et
- enfants ignoreront toute règle héritée d'une configuration parente
+ <p>Si cette option est activée, les configurations courante et
+ enfants ignoreront toute règle héritée d'une configuration parente
via les options <code>InheritDown</code> ou
<code>InheritDownBefore</code>.<br />
- Cette option est disponible à partir
+ Cette option est disponible à partir
de la version 2.4.8 du serveur HTTP Apache.</p>
</dd>
<dt><code>AllowNoSlash</code></dt>
<dd>
- <p>Par défaut, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ignore les URLs qui
- correspondent à un répertoire sur disque, mais ne comportent pas
+ <p>Par défaut, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ignore les URLs qui
+ correspondent à un répertoire sur disque, mais ne comportent pas
de slash final, afin que le module <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>
redirige le client vers l'URL canonique avec un slash final.</p>
- <p>Lorsque la directive <code class="directive"><a href="../mod/mod_dir.html#directoryslash">DirectorySlash</a></code> est définie à off, il
- est possible de spécifier l'option <code>AllowNoSlash</code> pour
- s'assurer que les règles de réécriture ne soient plus ignorées.
+ <p>Lorsque la directive <code class="directive"><a href="../mod/mod_dir.html#directoryslash">DirectorySlash</a></code> est définie à off, il
+ est possible de spécifier l'option <code>AllowNoSlash</code> pour
+ s'assurer que les règles de réécriture ne soient plus ignorées.
Si on le souhaite, cette option permet de faire s'appliquer des
- règles de réécriture qui correspondent à un répertoire sans slash
+ règles de réécriture qui correspondent à un répertoire sans slash
final au sein de fichiers .htaccess.<br />
- Elle est disponible à
+ Elle est disponible à
partir de la version 2.4.0 du serveur HTTP Apache.</p>
</dd>
<p>A partir de la version 2.2.22 de httpd, lorsqu'une directive <code class="directive"><a href="#rewriterule">RewriteRule</a></code> se situe dans un
contexte de <code>serveur virtuel</code> ou de serveur principal,
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ne traitera les règles de réécriture
- que si l'URI de la requête respecte la syntaxe d'un <a href="directive-dict.html#Syntax">chemin URL</a>. Ceci permet
- d'éviter certains problèmes de sécurité où des règles
- particulières pourraient permettre des développements de modèles
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ne traitera les règles de réécriture
+ que si l'URI de la requête respecte la syntaxe d'un <a href="directive-dict.html#Syntax">chemin URL</a>. Ceci permet
+ d'éviter certains problèmes de sécurité où des règles
+ particulières pourraient permettre des développements de modèles
inattendus (voir <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3368">CVE-2011-3368</a>
et <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4317">CVE-2011-4317</a>).
- Pour s'affranchir de la restriction relative à la syntaxe des chemins URL, on peut
- utiliser l'option <code>AllowAnyURI</code>, afin de permettre à
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> d'appliquer le jeu de règles à toute
- chaîne de requête URI, sans vérifier si cette dernière respecte la
- grammaire des chemins URL définie dans la spécification HTTP.<br />
+ Pour s'affranchir de la restriction relative à la syntaxe des chemins URL, on peut
+ utiliser l'option <code>AllowAnyURI</code>, afin de permettre à
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> d'appliquer le jeu de règles à toute
+ chaîne de requête URI, sans vérifier si cette dernière respecte la
+ grammaire des chemins URL définie dans la spécification HTTP.<br />
Disponible depuis la version 2.4.3 du serveur HTTP Apache.</p>
<div class="warning">
- <h3>Avertissement à propos de la sécurité</h3>
-
- <p>L'utilisation de cette option rendra le serveur vulnérable à
- certains problèmes de sécurité si les règles de réécritures
- concernées n'ont pas été rédigées avec soin. Il est par conséquent
- <strong>fortement recommandé</strong> de ne pas utiliser cette
- option. En particulier, prêtez attention aux chaînes en entrée contenant le
- caractère '<code>@</code>', qui peuvent modifier l'interprétation
- de l'URI réécrite, comme indiqué dans les liens ci-dessus.</p>
+ <h3>Avertissement à propos de la sécurité</h3>
+
+ <p>L'utilisation de cette option rendra le serveur vulnérable à
+ certains problèmes de sécurité si les règles de réécritures
+ concernées n'ont pas été rédigées avec soin. Il est par conséquent
+ <strong>fortement recommandé</strong> de ne pas utiliser cette
+ option. En particulier, prêtez attention aux chaînes en entrée contenant le
+ caractère '<code>@</code>', qui peuvent modifier l'interprétation
+ de l'URI réécrite, comme indiqué dans les liens ci-dessus.</p>
</div>
</dd>
<dt><code>MergeBase</code></dt>
<dd>
- <p>Avec cette option, la valeur de la directive <code class="directive"><a href="#rewritebase">RewriteBase</a></code> est recopiée depuis
- une valeur explicitement définie dans tout sous-répertoire qui ne
- définit pas sa propre directive <code class="directive"><a href="#rewritebase">RewriteBase</a></code>. Il s'agissait du
- comportement par défaut avec les versions 2.4.0 à 2.4.3, et ce
+ <p>Avec cette option, la valeur de la directive <code class="directive"><a href="#rewritebase">RewriteBase</a></code> est recopiée depuis
+ une valeur explicitement définie dans tout sous-répertoire qui ne
+ définit pas sa propre directive <code class="directive"><a href="#rewritebase">RewriteBase</a></code>. Il s'agissait du
+ comportement par défaut avec les versions 2.4.0 à 2.4.3, et ce
drapeau qui permet de retrouver ce comportement est disponible
depuis la version 2.4.4 du serveur HTTP Apache.</p>
</dd>
<dd>
<p>Lors d'une
- substitution relative dans un contexte de répertoire (htaccess),
- et si la directive <code class="directive"><a href="#rewritebase">RewriteBase</a></code> n'a pas été définie,
+ substitution relative dans un contexte de répertoire (htaccess),
+ et si la directive <code class="directive"><a href="#rewritebase">RewriteBase</a></code> n'a pas été définie,
ce module utilise des informations en provenance d'une extension
- d'URL et du contexte du système de fichiers pour transformer la
+ d'URL et du contexte du système de fichiers pour transformer la
sustitution relative en URL. Par exemple, les modules
<code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code> et <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code>
- utilisent ces informations de contexte étendu. Disponible à partir de la
+ utilisent ces informations de contexte étendu. Disponible à partir de la
version 2.4.16 du serveur HTTP Apache.</p>
</dd>
<dt><code>LegacyPrefixDocRoot</code></dt>
<dd>
- <p>Avant la version 2.4.26, si une substitution était une URL absolue qui
- correspondait au serveur virtuel courant, l'URL pouvait être tout d'abord
- réduite à sa partie chemin, puis enfin en chemin local. Comme l'URL peut
- être réduite en chemin local, le chemin doit être préfixé par la
- valeur de la directive DocumentRoot, ce qui permet d'interdire l'accès à
- un fichier tel que /tmp/myfile suite à une requête pour
+ <p>Avant la version 2.4.26, si une substitution était une URL absolue qui
+ correspondait au serveur virtuel courant, l'URL pouvait être tout d'abord
+ réduite à sa partie chemin, puis enfin en chemin local. Comme l'URL peut
+ être réduite en chemin local, le chemin doit être préfixé par la
+ valeur de la directive DocumentRoot, ce qui permet d'interdire l'accès à
+ un fichier tel que /tmp/myfile suite à une requête pour
http://host/file/myfile avec la <code class="directive"><a href="#rewriterule">RewriteRule</a></code> suivante :</p>
<pre class="prettyprint lang-config">RewriteRule /file/(.*) http://localhost/tmp/$1</pre>
<p>Cette option permet de restaurer l'ancien comportement lorsqu'un chemin
- local obtenu à partir de la réduction d'une URL n'est pas préfixé par la
- valeur de la directive DocumentRoot. Disponible à partir de la version
+ local obtenu à partir de la réduction d'une URL n'est pas préfixé par la
+ valeur de la directive DocumentRoot. Disponible à partir de la version
2.4.26 du serveur HTTP Apache.</p>
</dd>
<dt><code>LongURLOptimization</code></dt>
<dd>
- <p>Cette option permet de réduire la consommation de mémoire des jeux de
- règles longs et non optimisés qui enregistrent de manière répétitive de
+ <p>Cette option permet de réduire la consommation de mémoire des jeux de
+ règles longs et non optimisés qui enregistrent de manière répétitive de
longues valeurs dans des variables au sein des directives RewriteCond et
- RewriteRule. Disponible à partir de la version 2.5 du serveur HTTP Apache.</p>
+ RewriteRule. Disponible à partir de la version 2.5 du serveur HTTP Apache.</p>
</dd>
</dl>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="rewriterule" id="rewriterule">Directive</a> <a name="RewriteRule" id="RewriteRule">RewriteRule</a><a title="Lien permanent" href="#rewriterule" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les règles pour le moteur de réécriture</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les règles pour le moteur de réécriture</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteRule
- <em>Modèle</em> <em>Substitution</em> [<em>drapeaux</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>
+ <em>Modèle</em> <em>Substitution</em> [<em>drapeaux</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">AllowOverride:</a></th><td>FileInfo</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_rewrite</td></tr>
</table>
<p>La directive <code class="directive">RewriteRule</code> est le
- véritable cheval de trait de la réécriture. La directive peut
- apparaître plusieurs fois, chaque instance définissant une
- règle de réécriture particulière. L'ordre dans lequel ces règles
- sont définies est important - il s'agit de l'ordre dans lequel
- les règles seront appliquées au cours du processus de
- réécriture.</p>
-
- <p><a id="patterns" name="patterns"><em>Modèle</em></a> est une
+ véritable cheval de trait de la réécriture. La directive peut
+ apparaître plusieurs fois, chaque instance définissant une
+ règle de réécriture particulière. L'ordre dans lequel ces règles
+ sont définies est important - il s'agit de l'ordre dans lequel
+ les règles seront appliquées au cours du processus de
+ réécriture.</p>
+
+ <p><a id="patterns" name="patterns"><em>Modèle</em></a> est une
<a id="regexp" name="regexp">expression rationnelle</a>
- compatible perl. Ce avec quoi ce modèle est comparé dépend de l'endroit où
- la directive <code class="directive">RewriteRule</code> est définie.</p>
+ compatible perl. Ce avec quoi ce modèle est comparé dépend de l'endroit où
+ la directive <code class="directive">RewriteRule</code> est définie.</p>
-<div class="note"><h3><a id="what_is_matched" name="what_is_matched">Qu'est-ce qui est comparé ?</a></h3>
+<div class="note"><h3><a id="what_is_matched" name="what_is_matched">Qu'est-ce qui est comparé ?</a></h3>
<ul>
- <li><p>Dans un contexte de serveur virtuel <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code>, le <em>modèle</em> est tout
- d'abord comparé à la portion de l'URL située entre le nom d'hôte
- éventuellement accompagné du port, et la chaîne de paramètres (par
- exemple "/app1/index.html"). Il s'agit du <a href="directive-dict.html#Syntax">URL-path</a> décodé de sa valeur "%xx".</p></li>
-
- <li><p>Dans un contexte de répertoire (sections <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> et fichiers .htaccess), le
- <em>Modèle</em> est comparé avec une partie de chemin ; par exemple une
- requête pour "/app1/index.html" entraînera une comparaison avec
- "app1/index.html" ou "index.html" selon l'endroit où la directive
- <code class="directive">RewriteRule</code> est définie.</p>
-
- <p>Le chemin où la règle est défini est supprimé du chemin correspondant
- du système de fichiers avant comparaison (jusqu'au slash final compris).
- En conséquence de cette suppression, les règles définies dans
+ <li><p>Dans un contexte de serveur virtuel <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code>, le <em>modèle</em> est tout
+ d'abord comparé à la portion de l'URL située entre le nom d'hôte
+ éventuellement accompagné du port, et la chaîne de paramètres (par
+ exemple "/app1/index.html"). Il s'agit du <a href="directive-dict.html#Syntax">URL-path</a> décodé de sa valeur "%xx".</p></li>
+
+ <li><p>Dans un contexte de répertoire (sections <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> et fichiers .htaccess), le
+ <em>Modèle</em> est comparé avec une partie de chemin ; par exemple une
+ requête pour "/app1/index.html" entraînera une comparaison avec
+ "app1/index.html" ou "index.html" selon l'endroit où la directive
+ <code class="directive">RewriteRule</code> est définie.</p>
+
+ <p>Le chemin où la règle est défini est supprimé du chemin correspondant
+ du système de fichiers avant comparaison (jusqu'au slash final compris).
+ En conséquence de cette suppression, les règles définies dans
ce contexte n'effectuent des comparaisons qu'avec la portion du chemin
- du système de fichiers "en dessous" de l'endroit où la règle est définie.</p>
+ du système de fichiers "en dessous" de l'endroit où la règle est définie.</p>
- <p>Le chemin correspondant actuel du système de fichiers est déterminé par
+ <p>Le chemin correspondant actuel du système de fichiers est déterminé par
des directives telles que <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> et
- <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, ou même le résultat de
- substitutions dans des règles <code class="directive">RewriteRule</code> précédentes.
+ <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, ou même le résultat de
+ substitutions dans des règles <code class="directive">RewriteRule</code> précédentes.
</p>
</li>
<li><p>Si vous souhaitez faire une comparaison sur le nom
- d'hôte, le port, ou la chaîne de requête, utilisez une
+ d'hôte, le port, ou la chaîne de requête, utilisez une
directive <code class="directive"><a href="#rewritecond">RewriteCond</a></code>
comportant respectivement les variables
<code>%{HTTP_HOST}</code>, <code>%{SERVER_PORT}</code>, ou
</div>
-<div class="note"><h3>Réécritures dans un contexte de répertoire</h3>
+<div class="note"><h3>Réécritures dans un contexte de répertoire</h3>
<ul>
-<li>L'utilisation du moteur de réécriture dans les
+<li>L'utilisation du moteur de réécriture dans les
fichiers <a href="../howto/htaccess.html">.htaccess</a> et les sections
<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> est un peu plus
complexe.</li>
-<li>Pour activer le moteur de réécriture dans ces contextes, vous devez
-définir "<code>RewriteEngine On</code>" <strong>et</strong>
-"<code>Options FollowSymLinks</code>". Si l'administrateur a désactivé
-la possibilité de modifier l'option <code>FollowSymLinks</code> au
-niveau du répertoire d'un utilisateur, vous ne pouvez pas utiliser le
-moteur de réécriture. Cette restriction a été instaurée à des fins de
-sécurité.</li>
+<li>Pour activer le moteur de réécriture dans ces contextes, vous devez
+définir "<code>RewriteEngine On</code>" <strong>et</strong>
+"<code>Options FollowSymLinks</code>". Si l'administrateur a désactivé
+la possibilité de modifier l'option <code>FollowSymLinks</code> au
+niveau du répertoire d'un utilisateur, vous ne pouvez pas utiliser le
+moteur de réécriture. Cette restriction a été instaurée à des fins de
+sécurité.</li>
<li>Voir la directive
-<code class="directive"><a href="#rewritebase">RewriteBase</a></code> pour plus de détails à
-propos de l'ajout du préfixe après les substitutions relatives.</li>
+<code class="directive"><a href="#rewritebase">RewriteBase</a></code> pour plus de détails à
+propos de l'ajout du préfixe après les substitutions relatives.</li>
<li>Si vous souhaitez effectuer une comparaison en prenant en compte
-l'intégralité du
-chemin de l'URL dans un contexte de répertoire (htaccess), vous devez
+l'intégralité du
+chemin de l'URL dans un contexte de répertoire (htaccess), vous devez
utiliser la variable <code>%{REQUEST_URI}</code> dans la directive
<code class="directive"><a href="#rewritecond">RewriteCond</a></code>.</li>
-<li>Le prefixe supprimé se termine toujours par un slash, ce qui
-signifie que la comparaison s'effectue avec une chaîne qui ne comporte
-<em>jamais</em> de slash de début. Ainsi, un <em>modèle</em> contenant
-<code>^/</code> ne correspondra jamais dans un contexte de répertoire.</li>
+<li>Le prefixe supprimé se termine toujours par un slash, ce qui
+signifie que la comparaison s'effectue avec une chaîne qui ne comporte
+<em>jamais</em> de slash de début. Ainsi, un <em>modèle</em> contenant
+<code>^/</code> ne correspondra jamais dans un contexte de répertoire.</li>
-<li>Bien que les règles de réécriture soient permises du point de vue de
+<li>Bien que les règles de réécriture soient permises du point de vue de
la syntaxe dans les sections <code class="directive"><a href="../mod/core.html#location"><Location></a></code> et <code class="directive"><a href="../mod/core.html#files"><Files></a></code> (y compris leurs versions sous forme
d'expression rationnelle), elles n'y sont pas prises en compte, et
-n'y sont à priori d'aucune utilité. Les substitutions
-relatives sont une fonctionnalité qui n'est, elle non-plus pas supportée
+n'y sont à priori d'aucune utilité. Les substitutions
+relatives sont une fonctionnalité qui n'est, elle non-plus pas supportée
dans ce genre de contexte.</li>
</ul>
</div>
- <p>Pour quelques conseils à propos des <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, voir le
- document <a href="../rewrite/intro.html#regex">Introduction à
+ <p>Pour quelques conseils à propos des <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, voir le
+ document <a href="../rewrite/intro.html#regex">Introduction à
mod_rewrite</a>.</p>
- <p>Dans <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, on peut aussi utiliser le caractère
- NOT ('<code>!</code>') comme préfixe de modèle. Ceci vous permet
- d'inverser la signification d'un modèle, soit pour dire
- ``<em>si l'URL considérée ne correspond <strong>PAS</strong> à
- ce modèle</em>''. Le caractère NON peut donc être utilisé à
+ <p>Dans <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, on peut aussi utiliser le caractère
+ NOT ('<code>!</code>') comme préfixe de modèle. Ceci vous permet
+ d'inverser la signification d'un modèle, soit pour dire
+ ``<em>si l'URL considérée ne correspond <strong>PAS</strong> à
+ ce modèle</em>''. Le caractère NON peut donc être utilisé à
titre exceptionnel, lorsqu'il est plus simple d'effectuer une
- comparaison avec le modèle inversé, ou dans la dernière règle
- par défaut.</p>
+ comparaison avec le modèle inversé, ou dans la dernière règle
+ par défaut.</p>
<div class="note"><h3>Note</h3>
-Si vous utilisez le caractère NON pour inverser la signification d'un
-modèle, vous ne pouvez pas inclure de parties génériques groupées dans
-le modèle. Ceci est dû au fait que, lorsque le modèle ne correspond
-pas (autrement dit, sa négation correspond), les groupes sont vides.
-Ainsi, si vous utilisez des modèles inversés, vous ne pouvez
-pas vous référer aux groupes par <code>$N</code> dans la chaîne de
+Si vous utilisez le caractère NON pour inverser la signification d'un
+modèle, vous ne pouvez pas inclure de parties génériques groupées dans
+le modèle. Ceci est dû au fait que, lorsque le modèle ne correspond
+pas (autrement dit, sa négation correspond), les groupes sont vides.
+Ainsi, si vous utilisez des modèles inversés, vous ne pouvez
+pas vous référer aux groupes par <code>$N</code> dans la chaîne de
substitution !
</div>
- <p>Dans une règle de réécriture,
- <a id="rhs" name="rhs"><em>Substitution</em></a> est la chaîne
- de caractères qui remplace le chemin de l'URL original qui
- correspondait au <em>Modèle</em>. <em>Substitution</em> peut
- être :</p>
+ <p>Dans une règle de réécriture,
+ <a id="rhs" name="rhs"><em>Substitution</em></a> est la chaîne
+ de caractères qui remplace le chemin de l'URL original qui
+ correspondait au <em>Modèle</em>. <em>Substitution</em> peut
+ être :</p>
<dl>
- <dt>un chemin du système de fichiers</dt>
+ <dt>un chemin du système de fichiers</dt>
- <dd>Il indique alors la localisation dans le système de
- fichiers de la ressource qui doit être envoyée au
- client. Les substitutions ne sont traitées en tant que chemins du
- système de fichiers que si la règle est configurée dans un
+ <dd>Il indique alors la localisation dans le système de
+ fichiers de la ressource qui doit être envoyée au
+ client. Les substitutions ne sont traitées en tant que chemins du
+ système de fichiers que si la règle est configurée dans un
contexte de serveur (serveur virtuel), et si le premier
- composant du chemin dans la substitution existe dans le système
+ composant du chemin dans la substitution existe dans le système
de fichiers.</dd>
<dt>chemin d'URL</dt>
- <dd>Un chemin relatif à la valeur de <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> vers la ressource qui
- doit être servie. Notez que <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
- essaie de deviner si vous avez spécifié un chemin du système
- de fichiers ou un chemin d'URL en vérifiant si la première
- partie du chemin existe à la racine du système de fichiers.
- Par exemple, si vous avez spécifié comme chaîne de
+ <dd>Un chemin relatif à la valeur de <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> vers la ressource qui
+ doit être servie. Notez que <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ essaie de deviner si vous avez spécifié un chemin du système
+ de fichiers ou un chemin d'URL en vérifiant si la première
+ partie du chemin existe à la racine du système de fichiers.
+ Par exemple, si vous avez spécifié comme chaîne de
<em>Substitution</em> <code>/www/file.html</code>, cette
- dernière sera traitée comme un chemin d'URL <em>à moins</em>
- qu'un répertoire nommé <code>www</code> n'existe à la racine
- de votre système de fichiers (ou dans le cas d'une
- réécriture au sein d'un fichier <code>.htaccess</code>,
- relativement à la racine des documents), auquel cas la chaîne de
- substitution sera traitée comme un chemin du système de
- fichiers. Si vous désirez que d'autres directives de
- correspondance d'URL (comme la directive <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>) soient appliquées au
- chemin d'URL résultant, utilisez le drapeau <code>[PT]</code>
- comme décrit ci-dessous.</dd>
+ dernière sera traitée comme un chemin d'URL <em>à moins</em>
+ qu'un répertoire nommé <code>www</code> n'existe à la racine
+ de votre système de fichiers (ou dans le cas d'une
+ réécriture au sein d'un fichier <code>.htaccess</code>,
+ relativement à la racine des documents), auquel cas la chaîne de
+ substitution sera traitée comme un chemin du système de
+ fichiers. Si vous désirez que d'autres directives de
+ correspondance d'URL (comme la directive <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>) soient appliquées au
+ chemin d'URL résultant, utilisez le drapeau <code>[PT]</code>
+ comme décrit ci-dessous.</dd>
<dt>URL absolue</dt>
- <dd>Si une URL absolue est spécifiée,
- <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> vérifie si le nom d'hôte
- correspond à celui de l'hôte local. Si c'est le cas, le
- protocole et le nom d'hôte sont supprimés, et ce qui reste est
- traité comme un chemin d'URL. Dans le cas contraire, une
- redirection externe vers l'URL indiquée est effectuée. Pour
- forcer une redirection externe vers l'hôte local, voir le
+ <dd>Si une URL absolue est spécifiée,
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> vérifie si le nom d'hôte
+ correspond à celui de l'hôte local. Si c'est le cas, le
+ protocole et le nom d'hôte sont supprimés, et ce qui reste est
+ traité comme un chemin d'URL. Dans le cas contraire, une
+ redirection externe vers l'URL indiquée est effectuée. Pour
+ forcer une redirection externe vers l'hôte local, voir le
drapeau <code>[R]</code> ci-dessous.</dd>
<dt><code>-</code> (tiret)</dt>
- <dd>Un tiret indique qu'aucune substitution ne doit être
- effectuée (le chemin considéré est transmis sans changement).
- Ceci est utile quand un drapeau doit être appliqué sans
+ <dd>Un tiret indique qu'aucune substitution ne doit être
+ effectuée (le chemin considéré est transmis sans changement).
+ Ceci est utile quand un drapeau doit être appliqué sans
modifier le chemin (voir ci-dessous).</dd>
</dl>
- <p>En plus du texte, la chaîne <em>Substitution</em> peut
+ <p>En plus du texte, la chaîne <em>Substitution</em> peut
comporter :</p>
<ol>
- <li>des références arrières (<code>$N</code>) vers le modèle
+ <li>des références arrières (<code>$N</code>) vers le modèle
d'une directive RewriteRule</li>
- <li>des références arrières (<code>%N</code>) vers le dernier
- modèle d'une directive RewriteCond qui correspondait</li>
+ <li>des références arrières (<code>%N</code>) vers le dernier
+ modèle d'une directive RewriteCond qui correspondait</li>
- <li>des variables du serveur comme dans les chaînes de test de
- condition d'une règle (<code>%{VARNAME}</code>)</li>
+ <li>des variables du serveur comme dans les chaînes de test de
+ condition d'une règle (<code>%{VARNAME}</code>)</li>
<li>des appels de
<a href="#mapfunc">fonctions de comparaison</a>
- (<code>${nom correspondance:clé|défaut}</code>)</li>
+ (<code>${nom correspondance:clé|défaut}</code>)</li>
</ol>
- <p>Les références arrières sont des identificateurs de la forme
+ <p>Les références arrières sont des identificateurs de la forme
<code>$</code><strong>N</strong> (<strong>N</strong>=0..9), qui
- seront remplacés par le contenu du <strong>N</strong>ème groupe
- du <em>Modèle</em> qui correspondait. Les variables du serveur
- sont les mêmes que dans la <em>Chaîne_de_test</em> d'une
+ seront remplacés par le contenu du <strong>N</strong>ème groupe
+ du <em>Modèle</em> qui correspondait. Les variables du serveur
+ sont les mêmes que dans la <em>Chaîne_de_test</em> d'une
directive <code class="directive"><a href="#rewritecond">RewriteCond</a></code>. Les
fonctions de comparaison sont issues de la directive <code class="directive"><a href="#rewritemap">RewriteMap</a></code> dans la
- section de laquelle elles sont décrites. Ces trois types de
- variables sont évaluées dans l'ordre ci-dessus.</p>
+ section de laquelle elles sont décrites. Ces trois types de
+ variables sont évaluées dans l'ordre ci-dessus.</p>
- <p>Chaque règle de réécriture s'applique au résultat de la règle
- précédente, selon l'ordre dans lequel elles ont été définies dans
- le fichier de configuration. Le chemin de l'URL ou du système de fichier (voir
+ <p>Chaque règle de réécriture s'applique au résultat de la règle
+ précédente, selon l'ordre dans lequel elles ont été définies dans
+ le fichier de configuration. Le chemin de l'URL ou du système de fichier (voir
ci-dessus <a href="#what_is_matched">Qu'est-ce qui est
- comparé ?</a>) est <strong>intégralement
- remplacée</strong> par la chaîne de <em>Substitution</em> et le
- processus de réécriture se poursuit jusqu'à ce que toutes les
- règles aient été appliquées, ou qu'il soit explicitement stoppé
+ comparé ?</a>) est <strong>intégralement
+ remplacée</strong> par la chaîne de <em>Substitution</em> et le
+ processus de réécriture se poursuit jusqu'à ce que toutes les
+ règles aient été appliquées, ou qu'il soit explicitement stoppé
par un drapeau <a href="../rewrite/flags.html#flag_l"><code><strong>L</strong></code></a>,
- ou par un autre drapeau qui implique un arrêt immédiat, comme
+ ou par un autre drapeau qui implique un arrêt immédiat, comme
<code><strong>END</strong></code> ou
<code><strong>F</strong></code>.</p>
- <div class="note"><h3>Modifier la chaîne de requête</h3>
- <p>Par défaut, la chaîne de requête est transmise sans
- modification. Vous pouvez cependant créer dans la chaîne de
- substitution des URLs dont une partie constitue une chaîne de
- requête. Pour cela, ajoutez simplement un point d'interrogation
- dans la chaîne de substitution pour indiquer que le texte qui
- suit doit être réinjecté dans la chaîne de requête. Pour
- supprimer une chaîne de requête, terminez simplement la chaîne de
+ <div class="note"><h3>Modifier la chaîne de requête</h3>
+ <p>Par défaut, la chaîne de requête est transmise sans
+ modification. Vous pouvez cependant créer dans la chaîne de
+ substitution des URLs dont une partie constitue une chaîne de
+ requête. Pour cela, ajoutez simplement un point d'interrogation
+ dans la chaîne de substitution pour indiquer que le texte qui
+ suit doit être réinjecté dans la chaîne de requête. Pour
+ supprimer une chaîne de requête, terminez simplement la chaîne de
substitution par un point d'interrogation. Pour combiner les
- nouvelles chaînes de requête avec les anciennes, utilisez le
+ nouvelles chaînes de requête avec les anciennes, utilisez le
drapeau <code>[QSA]</code>.</p>
</div>
- <p>En outre, vous pouvez spécifier des <a name="rewriteflags" id="rewriteflags">actions</a> spéciales à effectuer en ajoutant
+ <p>En outre, vous pouvez spécifier des <a name="rewriteflags" id="rewriteflags">actions</a> spéciales à effectuer en ajoutant
des
<strong><code>[</code><em>drapeaux</em><code>]</code></strong>
- comme troisième argument de la directive
- <code class="directive">RewriteRule</code>. Séparés par des virgules au sein d'une
- liste encadrée par des crochets, les <em>drapeaux</em> peuvent
- être choisis dans la table suivante. Vous trouverez plus de
- détails, et des exemples pour chaque drapeau dans le <a href="../rewrite/flags.html">document à propos des drapeaux de
- réécriture.</a></p>
+ comme troisième argument de la directive
+ <code class="directive">RewriteRule</code>. Séparés par des virgules au sein d'une
+ liste encadrée par des crochets, les <em>drapeaux</em> peuvent
+ être choisis dans la table suivante. Vous trouverez plus de
+ détails, et des exemples pour chaque drapeau dans le <a href="../rewrite/flags.html">document à propos des drapeaux de
+ réécriture.</a></p>
<table class="bordered"><tr class="header"><th>Drapeaux et syntaxe</th>
<th>Fonction</th>
</tr>
<tr>
<td>B</td>
- <td>Echappe les caractères non-alphanumériques
- dans les références arrières <em>avant</em>
- d'appliquer la transformation. <em><a href="../rewrite/flags.html#flag_b">détails ...</a></em></td>
+ <td>Echappe les caractères non-alphanumériques
+ dans les références arrières <em>avant</em>
+ d'appliquer la transformation. <em><a href="../rewrite/flags.html#flag_b">détails ...</a></em></td>
</tr>
<tr class="odd">
<td>backrefnoplus|BNP</td>
- <td>Avec ce drapeau, si les références arrières sont échappées,
- les espaces seront échappés en %20 au lieu de +. Ceci s'avère
- utile lorsqu'une référence arrière est utilisée dans la partie
- chemin, et non dans la chaîne de paramètres de la requête ;
- pour plus de détails, voir <em><a href="../rewrite/flags.html#flag_bnp">ici.</a></em></td>
+ <td>Avec ce drapeau, si les références arrières sont échappées,
+ les espaces seront échappés en %20 au lieu de +. Ceci s'avère
+ utile lorsqu'une référence arrière est utilisée dans la partie
+ chemin, et non dans la chaîne de paramètres de la requête ;
+ pour plus de détails, voir <em><a href="../rewrite/flags.html#flag_bnp">ici.</a></em></td>
</tr>
<tr>
<td>chain|C</td>
- <td>La règle est chaînée avec la règle suivante. Si la règle
- échoue, la ou les règles avec lesquelles elle est est chaînée
- seront sautées. <em><a href="../rewrite/flags.html#flag_c">détails ...</a></em></td>
+ <td>La règle est chaînée avec la règle suivante. Si la règle
+ échoue, la ou les règles avec lesquelles elle est est chaînée
+ seront sautées. <em><a href="../rewrite/flags.html#flag_c">détails ...</a></em></td>
</tr>
<tr class="odd">
<td>cookie|CO=<em>NAME</em>:<em>VAL</em></td>
- <td>Définit un cookie au niveau du navigateur client. La syntaxe
- complète est :
+ <td>Définit un cookie au niveau du navigateur client. La syntaxe
+ complète est :
CO=<em>NAME</em>:<em>VAL</em>:<em>domain</em>[:<em>lifetime</em>[:<em>path</em>[:<em>secure</em>[:<em>httponly</em>]]]] <em><a href="../rewrite/flags.html#flag_co">details ...</a></em>
- <em><a href="../rewrite/flags.html#flag_co">détails ...</a></em>
+ <em><a href="../rewrite/flags.html#flag_co">détails ...</a></em>
</td>
</tr>
<tr>
<td>discardpath|DPI</td>
- <td>Supprime la partie PATH_INFO de l'URI réécrit. <em><a href="../rewrite/flags.html#flag_dpi">détails
+ <td>Supprime la partie PATH_INFO de l'URI réécrit. <em><a href="../rewrite/flags.html#flag_dpi">détails
...</a></em></td>
</tr>
<tr class="odd">
<td>END</td>
- <td>Stoppe le processus de réécriture immédiatement et
- n'applique plus aucune règle. Empêche aussi l'application
- ultérieure de règles de réécriture dans les contextes de
- répertoire et de fichier .htaccess (disponible à partir de la
- version 2.3.9 du serveur HTTP Apache). <em><a href="../rewrite/flags.html#flag_end">détails ...</a></em></td>
+ <td>Stoppe le processus de réécriture immédiatement et
+ n'applique plus aucune règle. Empêche aussi l'application
+ ultérieure de règles de réécriture dans les contextes de
+ répertoire et de fichier .htaccess (disponible à partir de la
+ version 2.3.9 du serveur HTTP Apache). <em><a href="../rewrite/flags.html#flag_end">détails ...</a></em></td>
</tr>
<tr>
<td>env|E=[!]<em>VAR</em>[:<em>VAL</em>]</td>
- <td>Définit la variable d'environnement <em>VAR</em> (à la valeur
+ <td>Définit la variable d'environnement <em>VAR</em> (à la valeur
<em>VAL</em> si elle est fournie). La variante !<em>VAR</em>
- annule la définition de la variable <em>VAR</em>.<em><a href="../rewrite/flags.html#flag_e">détails ...</a></em></td>
+ annule la définition de la variable <em>VAR</em>.<em><a href="../rewrite/flags.html#flag_e">détails ...</a></em></td>
</tr>
<tr class="odd">
<td>forbidden|F</td>
- <td>Renvoie une réponse 403 FORBIDDEN au navigateur client.
- <em><a href="../rewrite/flags.html#flag_f">détails ...</a></em></td>
+ <td>Renvoie une réponse 403 FORBIDDEN au navigateur client.
+ <em><a href="../rewrite/flags.html#flag_f">détails ...</a></em></td>
</tr>
<tr>
<td>gone|G</td>
- <td>Renvoie un message d'erreur 410 GONE au navigateur client. <em><a href="../rewrite/flags.html#flag_g">détails ...</a></em></td>
+ <td>Renvoie un message d'erreur 410 GONE au navigateur client. <em><a href="../rewrite/flags.html#flag_g">détails ...</a></em></td>
</tr>
<tr class="odd">
<td>Handler|H=<em>Gestionnaire de contenu</em></td>
- <td>L'URI résultant est envoyé au <em>Gestionnaire de
- contenu</em> pour traitement. <em><a href="../rewrite/flags.html#flag_h">détails ...</a></em></td>
+ <td>L'URI résultant est envoyé au <em>Gestionnaire de
+ contenu</em> pour traitement. <em><a href="../rewrite/flags.html#flag_h">détails ...</a></em></td>
</tr>
<tr>
<td>last|L</td>
- <td>Arrête le processus de réécriture immédiatement et n'applique
- plus aucune règle. Prêtez une attention particulière aux mises
- en garde concernant les contextes de niveau répertoire et
- .htaccess (voir aussi le drapeau END). <em><a href="../rewrite/flags.html#flag_l">détails ...</a></em></td>
+ <td>Arrête le processus de réécriture immédiatement et n'applique
+ plus aucune règle. Prêtez une attention particulière aux mises
+ en garde concernant les contextes de niveau répertoire et
+ .htaccess (voir aussi le drapeau END). <em><a href="../rewrite/flags.html#flag_l">détails ...</a></em></td>
</tr>
<tr class="odd">
<td>next|N</td>
- <td>Réexécute le processus de réécriture à partir de la première
- règle, en utilisant le résultat du jeu de règles, sous réserve
- qu'il y ait un point de départ. <em><a href="../rewrite/flags.html#flag_n">détails
+ <td>Réexécute le processus de réécriture à partir de la première
+ règle, en utilisant le résultat du jeu de règles, sous réserve
+ qu'il y ait un point de départ. <em><a href="../rewrite/flags.html#flag_n">détails
...</a></em></td>
</tr>
<tr>
<td>nocase|NC</td>
- <td>Rend la comparaison entre modèles insensible à la casse.
- <em><a href="../rewrite/flags.html#flag_nc">détails ...</a></em></td>
+ <td>Rend la comparaison entre modèles insensible à la casse.
+ <em><a href="../rewrite/flags.html#flag_nc">détails ...</a></em></td>
</tr>
<tr class="odd">
<td>noescape|NE</td>
- <td>Empêche mod_rewrite d'effectuer un échappement hexadécimal
- des caractères spéciaux dans le résultat de la réécriture. <em><a href="../rewrite/flags.html#flag_ne">détails ...</a></em></td>
+ <td>Empêche mod_rewrite d'effectuer un échappement hexadécimal
+ des caractères spéciaux dans le résultat de la réécriture. <em><a href="../rewrite/flags.html#flag_ne">détails ...</a></em></td>
</tr>
<tr>
<td>nosubreq|NS</td>
- <td>La règle est sautée si la requête courante est une
- sous-requête interne. <em><a href="../rewrite/flags.html#flag_ns">détails ...</a></em></td>
+ <td>La règle est sautée si la requête courante est une
+ sous-requête interne. <em><a href="../rewrite/flags.html#flag_ns">détails ...</a></em></td>
</tr>
<tr class="odd">
<td>proxy|P</td>
<td>Force l'envoi en interne de l'URL de substitution en tant
- que requête mandataire. <em><a href="../rewrite/flags.html#flag_p">détails
+ que requête mandataire. <em><a href="../rewrite/flags.html#flag_p">détails
...</a></em></td>
</tr>
<tr>
<td>passthrough|PT</td>
- <td>L'URI résultant est repassé au moteur de mise en
- correspondance des URLs pour y être traité par d'autres
+ <td>L'URI résultant est repassé au moteur de mise en
+ correspondance des URLs pour y être traité par d'autres
traducteurs URI-vers-nom de fichier, comme <code>Alias</code> ou
- <code>Redirect</code>. <em><a href="../rewrite/flags.html#flag_pt">détails ...</a></em></td>
+ <code>Redirect</code>. <em><a href="../rewrite/flags.html#flag_pt">détails ...</a></em></td>
</tr>
<tr class="odd">
<td>qsappend|QSA</td>
- <td>Ajoute toute chaîne de paramètres présente dans l'URL de la
- requête originale à toute chaîne de paramètres créée dans la
- cible de réécriture. <em><a href="../rewrite/flags.html#flag_qsa">détails ...</a></em></td>
+ <td>Ajoute toute chaîne de paramètres présente dans l'URL de la
+ requête originale à toute chaîne de paramètres créée dans la
+ cible de réécriture. <em><a href="../rewrite/flags.html#flag_qsa">détails ...</a></em></td>
</tr>
<tr>
<td>qsdiscard|QSD</td>
- <td>Supprime toute chaîne de paramètres de l'URI entrant. <em><a href="../rewrite/flags.html#flag_qsd">détails
+ <td>Supprime toute chaîne de paramètres de l'URI entrant. <em><a href="../rewrite/flags.html#flag_qsd">détails
...</a></em></td>
</tr>
<tr class="odd">
<td>qslast|QSL</td>
- <td>Interprète le dernier (le plus à droite) point d'interrogation comme
- le délimiteur de la chaîne de paramètres de la requête, au lieu du
- premier (le plus à gauche) comme c'est le cas habituellement. Disponble
- à partir de la version 2.4.19 du serveur HTTP Apache. <em><a href="../rewrite/flags.html#flag_qsl">détails ...</a></em></td>
+ <td>Interprète le dernier (le plus à droite) point d'interrogation comme
+ le délimiteur de la chaîne de paramètres de la requête, au lieu du
+ premier (le plus à gauche) comme c'est le cas habituellement. Disponble
+ à partir de la version 2.4.19 du serveur HTTP Apache. <em><a href="../rewrite/flags.html#flag_qsl">détails ...</a></em></td>
</tr>
<tr>
<td>redirect|R[=<em>code</em>]</td>
<td>Force une redirection externe, avec un code de statut HTTP
- optionnel. <em><a href="../rewrite/flags.html#flag_r">détails ...</a></em>
+ optionnel. <em><a href="../rewrite/flags.html#flag_r">détails ...</a></em>
</td>
</tr>
<tr class="odd">
<td>skip|S=<em>nombre</em></td>
- <td>Si la règle courante s'applique, le moteur de réécriture
- doit sauter les <em>nombre</em> règles suivantes. <em><a href="../rewrite/flags.html#flag_s">détails ...</a></em></td>
+ <td>Si la règle courante s'applique, le moteur de réécriture
+ doit sauter les <em>nombre</em> règles suivantes. <em><a href="../rewrite/flags.html#flag_s">détails ...</a></em></td>
</tr>
<tr>
<td>type|T=<em>MIME-type</em></td>
<td>Force l'attribution du <a class="glossarylink" href="../glossary.html#type-mime" title="voir glossaire">Type-MIME</a>
- spécifié au fichier cible. <em><a href="../rewrite/flags.html#flag_t">détails ...</a></em></td>
+ spécifié au fichier cible. <em><a href="../rewrite/flags.html#flag_t">détails ...</a></em></td>
</tr>
</table>
-<div class="note"><h3>Développement du répertoire home</h3>
-<p> Quand la chaîne de substitution commence par quelque chose comme
-"/~user" (de manière explicite ou par références arrières), <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
-développe le répertoire home sans tenir compte de la présence ou de la
+<div class="note"><h3>Développement du répertoire home</h3>
+<p> Quand la chaîne de substitution commence par quelque chose comme
+"/~user" (de manière explicite ou par références arrières), <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+développe le répertoire home sans tenir compte de la présence ou de la
configuration du module <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code>.</p>
-<p> Ce développement n'est pas effectué si le drapeau <em>PT</em> est
-utilisé dans la directive <code class="directive"><a href="#rewriterule">RewriteRule</a></code></p>
+<p> Ce développement n'est pas effectué si le drapeau <em>PT</em> est
+utilisé dans la directive <code class="directive"><a href="#rewriterule">RewriteRule</a></code></p>
</div>
<p>Voici toutes les combinaisons de substitution et leurs
<p><strong>Dans la configuration au niveau du serveur principal
(<code>httpd.conf</code>)<br />
- pour la requête ``<code>GET
+ pour la requête ``<code>GET
/chemin/infochemin</code>'':</strong><br />
</p>
<table class="bordered"><tr class="header">
-<th>Règle</th>
-<th>Résultat de la substitution</th>
+<th>Règle</th>
+<th>Résultat de la substitution</th>
</tr>
<tr>
<td>^/un_chemin(.*) autre_chemin$1</td>
-<td>invalide, non supporté</td>
+<td>invalide, non supporté</td>
</tr>
<tr class="odd">
<td>^/un_chemin(.*) autre_chemin$1 [R]</td>
-<td>invalide, non supporté</td>
+<td>invalide, non supporté</td>
</tr>
<tr>
<td>^/un_chemin(.*) autre_chemin$1 [P]</td>
-<td>invalide, non supporté</td>
+<td>invalide, non supporté</td>
</tr>
<tr class="odd">
<td>^/un_chemin(.*) /autre_chemin$1</td>
</tr>
<tr class="odd">
<td>^/un_chemin(.*) /autre_chemin$1 [P]</td>
-<td>sans objet, non supporté</td>
+<td>sans objet, non supporté</td>
</tr>
<tr>
<td>^/un_chemin(.*) http://cet_hote/autre_chemin$1</td>
</tr>
<tr>
<td>^/un_chemin(.*) http://cet_hote/autre_chemin$1 [P]</td>
-<td>sans objet, non supporté</td>
+<td>sans objet, non supporté</td>
</tr>
<tr class="odd">
<td>^/un_chemin(.*) http://autre_hote/autre_chemin$1</td>
</tr>
</table>
- <p><strong>Dans une configuration de niveau répertoire pour
+ <p><strong>Dans une configuration de niveau répertoire pour
<code>/chemin</code><br />
(<code>/chemin/physique/vers/chemin/.htacccess</code>, avec
<code>RewriteBase "/chemin"</code>)<br />
- pour la requête ``<code>GET
+ pour la requête ``<code>GET
/chemin/chemin-local/infochemin</code>'':</strong><br />
</p>
<table class="bordered"><tr class="header">
-<th>Règle</th>
-<th>Résultat de la substitution</th>
+<th>Règle</th>
+<th>Résultat de la substitution</th>
</tr>
<tr>
<td>^chemin-local(.*) autre-chemin$1</td>
</tr>
<tr class="odd">
<td>^chemin-local(.*) autre-chemin$1 [R]</td>
-<td>http://cet-hôte/chemin/autre-chemin/infochemin via redirection
+<td>http://cet-hôte/chemin/autre-chemin/infochemin via redirection
externe</td>
</tr>
<tr>
<td>^chemin-local(.*) autre-chemin$1 [P]</td>
-<td>n'a pas lieu d'être, non supporté</td>
+<td>n'a pas lieu d'être, non supporté</td>
</tr>
<tr class="odd">
<td>^chemin-local(.*) /autre-chemin$1</td>
</tr>
<tr>
<td>^chemin-local(.*) /autre-chemin$1 [R]</td>
-<td>http://cet-hôte/autre-chemin/infochemin via redirection externe</td>
+<td>http://cet-hôte/autre-chemin/infochemin via redirection externe</td>
</tr>
<tr class="odd">
<td>^chemin-local(.*) /autre-chemin$1 [P]</td>
-<td>n'a pas lieu d'être, non supporté</td>
+<td>n'a pas lieu d'être, non supporté</td>
</tr>
<tr>
-<td>^chemin-local(.*) http://cet-hôte/autre-chemin$1</td>
+<td>^chemin-local(.*) http://cet-hôte/autre-chemin$1</td>
<td>/autre-chemin/infochemin</td>
</tr>
<tr class="odd">
-<td>^chemin-local(.*) http://cet-hôte/autre-chemin$1 [R]</td>
-<td>http://cet-hôte/autre-chemin/infochemin via redirection externe</td>
+<td>^chemin-local(.*) http://cet-hôte/autre-chemin$1 [R]</td>
+<td>http://cet-hôte/autre-chemin/infochemin via redirection externe</td>
</tr>
<tr>
-<td>^chemin-local(.*) http://cet-hôte/autre-chemin$1 [P]</td>
-<td>n'a pas lieu d'être, non supporté</td>
+<td>^chemin-local(.*) http://cet-hôte/autre-chemin$1 [P]</td>
+<td>n'a pas lieu d'être, non supporté</td>
</tr>
<tr class="odd">
-<td>^chemin-local(.*) http://autre hôte/autre-chemin$1</td>
-<td>http://autre hôte/autre-chemin/infochemin via redirection externe</td>
+<td>^chemin-local(.*) http://autre hôte/autre-chemin$1</td>
+<td>http://autre hôte/autre-chemin/infochemin via redirection externe</td>
</tr>
<tr>
-<td>^chemin-local(.*) http://autre hôte/autre-chemin$1 [R]</td>
-<td>http://autre hôte/autre-chemin/infochemin via redirection externe
+<td>^chemin-local(.*) http://autre hôte/autre-chemin$1 [R]</td>
+<td>http://autre hôte/autre-chemin/infochemin via redirection externe
(le drapeau [R] est redondant)</td>
</tr>
<tr class="odd">
-<td>^chemin-local(.*) http://autre hôte/autre-chemin$1 [P]</td>
-<td>http://autre hôte/autre-chemin/infochemin via un mandataire interne</td>
+<td>^chemin-local(.*) http://autre hôte/autre-chemin$1 [P]</td>
+<td>http://autre hôte/autre-chemin/infochemin via un mandataire interne</td>
</tr>
</table>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_rewrite.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_rewrite.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_rewrite.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_sed</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_sed.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_sed.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_sed.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filtre les contenus en entrée (requêtes) et en sortie
-(réponses) en utilisant la syntaxe de <code>sed</code></td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filtre les contenus en entrée (requêtes) et en sortie
+(réponses) en utilisant la syntaxe de <code>sed</code></td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td /></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>sed_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_sed.c sed0.c sed1.c regexp.c regexp.h sed.h</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>sed_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_sed.c sed0.c sed1.c regexp.c regexp.h sed.h</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
<h3>Sommaire</h3>
<p><code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> est un filtre de contenu "in-process". Le
-filtre <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> fournit les commandes d'édition de
-<code>sed</code> implémentées par le programme <code>sed</code> de
-Solaris 10 comme décrit dans la <a href="http://www.gnu.org/software/sed/manual/sed.txt">page de
-manuel</a>. Cependant, à la différence de <code>sed</code>,
-<code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> ne reçoit pas de données sur son entrée
-standard. Au lieu de cela, le filtre agit sur les données échangées
-entre le client et le serveur. <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> peut être
-utilisé comme filtre en entrée ou en sortie. <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code>
+filtre <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> fournit les commandes d'édition de
+<code>sed</code> implémentées par le programme <code>sed</code> de
+Solaris 10 comme décrit dans la <a href="http://www.gnu.org/software/sed/manual/sed.txt">page de
+manuel</a>. Cependant, à la différence de <code>sed</code>,
+<code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> ne reçoit pas de données sur son entrée
+standard. Au lieu de cela, le filtre agit sur les données échangées
+entre le client et le serveur. <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> peut être
+utilisé comme filtre en entrée ou en sortie. <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code>
est un filtre de contenu, ce qui signifie qu'on ne peut pas l'utiliser
-pour modifier les en-têtes http du client ou du serveur.
+pour modifier les en-têtes http du client ou du serveur.
</p>
<p>
-Le filtre en sortie <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> accepte un tronçon de
-données, exécute le script <code>sed</code> sur ces données, puis génère
-une sortie qui est transmise au filtre suivant dans la chaîne.
+Le filtre en sortie <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> accepte un tronçon de
+données, exécute le script <code>sed</code> sur ces données, puis génère
+une sortie qui est transmise au filtre suivant dans la chaîne.
</p>
<p>
-Le filtre en entrée <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> reçoit des données en
-provenance du filtre suivant dans la chaîne, exécute les scripts
-<code>sed</code>, et renvoie les données générées au filtre appelant
-dans la chaîne de filtrage.
+Le filtre en entrée <code class="module"><a href="../mod/mod_sed.html">mod_sed</a></code> reçoit des données en
+provenance du filtre suivant dans la chaîne, exécute les scripts
+<code>sed</code>, et renvoie les données générées au filtre appelant
+dans la chaîne de filtrage.
</p>
<p>
-Les filtres en entrée ou en sortie ne traitent les données que si des
-caractères newline sont détectés dans le contenu à filtrer. A la fin des
-données, ce qui reste est traité comme la dernière ligne.
+Les filtres en entrée ou en sortie ne traitent les données que si des
+caractères newline sont détectés dans le contenu à filtrer. A la fin des
+données, ce qui reste est traité comme la dernière ligne.
</p>
</div>
<li><img alt="" src="../images/down.gif" /> <a href="#inputsed">InputSed</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#outputsed">OutputSed</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_sed">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_sed">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_sed">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_sed">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="sampleconf" id="sampleconf">Exemple de configuration</a><a title="Lien permanent" href="#sampleconf" class="permalink">¶</a></h2>
- <div class="example"><h3>Ajout d'un filtre en sortie</h3><pre class="prettyprint lang-config"># Dans l'exemple suivant, le filtre sed va remplacer la chaîne
- # "monday" par "MON" et la chaîne "sunday" par "SUN" dans les
+ <div class="example"><h3>Ajout d'un filtre en sortie</h3><pre class="prettyprint lang-config"># Dans l'exemple suivant, le filtre sed va remplacer la chaîne
+ # "monday" par "MON" et la chaîne "sunday" par "SUN" dans les
# documents html avant de les envoyer au client.
<Directory "/var/www/docs/sed">
AddOutputFilter Sed html
</Directory></pre>
</div>
- <div class="example"><h3>Ajout d'un filtre en entrée</h3><pre class="prettyprint lang-config"> # Dans l'exemple suivant, le filtre sed va remplacer la chaîne
- # "monday" par "MON" et la chaîne "sunday" par "SUN" dans les
- # données POST envoyées à PHP.
+ <div class="example"><h3>Ajout d'un filtre en entrée</h3><pre class="prettyprint lang-config"> # Dans l'exemple suivant, le filtre sed va remplacer la chaîne
+ # "monday" par "MON" et la chaîne "sunday" par "SUN" dans les
+ # données POST envoyées à PHP.
<Directory "/var/www/docs/sed">
AddInputFilter Sed php
InputSed "s/monday/MON/g"
<div class="section">
<h2><a name="sed_commands" id="sed_commands">Commandes sed</a><a title="Lien permanent" href="#sed_commands" class="permalink">¶</a></h2>
<p>
- Vous trouverez tous les détails à propos de la commande
+ Vous trouverez tous les détails à propos de la commande
<code>sed</code> dans sa <a href="http://www.gnu.org/software/sed/manual/sed.txt">page
de manuel</a>.
</p>
<dl>
<dt><code>b</code></dt>
- <dd>Saut vers le label spécifié (similaire à goto).</dd>
+ <dd>Saut vers le label spécifié (similaire à goto).</dd>
<dt><code>h</code></dt>
<dd>Copie la ligne courante dans le tampon.</dd>
<dt><code>H</code></dt>
<dt><code>g</code></dt>
<dd>Copie le contenu du tampon dans la ligne courante.</dd>
<dt><code>G</code></dt>
- <dd>Ajoute le contenu du tampon à la ligne courante.</dd>
+ <dd>Ajoute le contenu du tampon à la ligne courante.</dd>
<dt><code>x</code></dt>
<dd>Echange les contenus du tampon et de la ligne courante.</dd>
</dl>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="inputsed" id="inputsed">Directive</a> <a name="InputSed" id="InputSed">InputSed</a><a title="Lien permanent" href="#inputsed" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Commande sed à exécuter pour le filtrage des données d'une
-requête (en général des données <code>POST</code>)</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Commande sed à exécuter pour le filtrage des données d'une
+requête (en général des données <code>POST</code>)</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>InputSed <var>commande-sed</var></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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td /></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_sed</td></tr>
</table>
- <p>La directive <code class="directive">InputSed</code> permet de spécifier
- la commande sed à exécuter pour le filtrage des données (en général
- des données <code>POST</code>) d'une requête.
+ <p>La directive <code class="directive">InputSed</code> permet de spécifier
+ la commande sed à exécuter pour le filtrage des données (en général
+ des données <code>POST</code>) d'une requête.
</p>
</div>
<div class="directive-section"><h2><a name="outputsed" id="outputsed">Directive</a> <a name="OutputSed" id="OutputSed">OutputSed</a><a title="Lien permanent" href="#outputsed" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Commande sed pour le filtrage des contenus de type
-réponse</td></tr>
+réponse</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>OutputSed <var>commande-sed</var></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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td /></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_sed</td></tr>
</table>
- <p>La directive <code class="directive">OutputSed</code> permet de spécifier
- la commande <code>sed</code> à exécuter dans le cadre du traitement
- d'une réponse.
+ <p>La directive <code class="directive">OutputSed</code> permet de spécifier
+ la commande <code>sed</code> à exécuter dans le cadre du traitement
+ d'une réponse.
</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_sed.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_sed.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_sed.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_session</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_session.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_session.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support des sessions</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>session_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>session_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
<h3>Sommaire</h3>
<div class="warning"><h3>Avertissement</h3>
- <p>Le module session fait usage des cookies HTTP, et peut à ce
- titre être victime d'attaques de type Cross Site Scripting, ou
- divulguer des informations à caractère privé aux clients. Veuillez
- vous assurer que les risques ainsi encourus ont été pris en compte
+ <p>Le module session fait usage des cookies HTTP, et peut à ce
+ titre être victime d'attaques de type Cross Site Scripting, ou
+ divulguer des informations à caractère privé aux clients. Veuillez
+ vous assurer que les risques ainsi encourus ont été pris en compte
avant d'activer le support des sessions sur votre serveur.</p>
</div>
<p>Ce module fournit le support d'une interface de session pour
chaque utilisateur au niveau du serveur global. Les sessions
permettent de transmettre diverses informations : l'utilisateur
- est-il connecté ou non, ou toute autre information qui doit être
- conservée d'une requête à l'autre.</p>
+ est-il connecté ou non, ou toute autre information qui doit être
+ conservée d'une requête à l'autre.</p>
- <p>Les sessions peuvent être stockées sur le serveur, ou au niveau
- du navigateur. Les sessions peuvent aussi être chiffrées pour une
- sécurité accrue. Ces fonctionnalités sont réparties entre différents
- modules complémentaires de <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> :
+ <p>Les sessions peuvent être stockées sur le serveur, ou au niveau
+ du navigateur. Les sessions peuvent aussi être chiffrées pour une
+ sécurité accrue. Ces fonctionnalités sont réparties entre différents
+ modules complémentaires de <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> :
<code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>,
<code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code> et
- <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>. Chargez les modules appropriés
- en fonction des besoins du serveur (soit statiquement à la
+ <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>. Chargez les modules appropriés
+ en fonction des besoins du serveur (soit statiquement à la
compilation, soit dynamiquement via la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>).</p>
- <p>Les sessions peuvent être manipulées par d'autres modules qui
- dépendent de la session, ou la session peut être lue et écrite dans
- des variables d'environnement et des en-têtes HTTP, selon les
+ <p>Les sessions peuvent être manipulées par d'autres modules qui
+ dépendent de la session, ou la session peut être lue et écrite dans
+ des variables d'environnement et des en-têtes HTTP, selon les
besoins.</p>
</div>
<li><img alt="" src="../images/down.gif" /> <a href="#browsersession">Stockage des sessions au niveau
du navigateur</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#basicexamples">Exemples simples</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#sessionprivacy">Confidentialité des
+<li><img alt="" src="../images/down.gif" /> <a href="#sessionprivacy">Confidentialité des
sessions</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#cookieprivacy">Confidentialité du cookie</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cookieprivacy">Confidentialité du cookie</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authentication">Support des sessions pour
l'authentification</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#integration">Intégration des sessions avec les
+<li><img alt="" src="../images/down.gif" /> <a href="#integration">Intégration des sessions avec les
applications externes</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#sessioninclude">SessionInclude</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#sessionmaxage">SessionMaxAge</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code></li>
<li><code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code></li>
<div class="section">
<h2><a name="whatisasession" id="whatisasession">Qu'est-ce qu'une session ?</a><a title="Lien permanent" href="#whatisasession" class="permalink">¶</a></h2>
<p>Au coeur de l'interface de session se trouve une table de
- paires clé/valeur qui sont accessibles d'une requête du navigateur
- à l'autre. Les valeurs de clés peuvent se voir affecter toute chaîne
+ paires clé/valeur qui sont accessibles d'une requête du navigateur
+ à l'autre. Les valeurs de clés peuvent se voir affecter toute chaîne
valide, en fonction des besoins de l'application qui fait usage de
la session.</p>
- <p>Une "session" est une chaîne
+ <p>Une "session" est une chaîne
<strong>application/x-www-form-urlencoded</strong> qui contient la
- paire clé/valeur définie par la <a href="http://www.w3.org/TR/html4/">specification HTML</a>.</p>
+ paire clé/valeur définie par la <a href="http://www.w3.org/TR/html4/">specification HTML</a>.</p>
- <p>Selon les souhaits de l'administrateur, la session peut être
- chiffrée et codée en base64 avant d'être soumise au dispositif de
+ <p>Selon les souhaits de l'administrateur, la session peut être
+ chiffrée et codée en base64 avant d'être soumise au dispositif de
stockage.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="whocanuseasession" id="whocanuseasession">Qui peut utiliser une session
?</a><a title="Lien permanent" href="#whocanuseasession" class="permalink">¶</a></h2>
- <p>L'interface de session a été conçue à l'origine pour être
- utilisée par d'autres modules du serveur comme
- <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> ; les applications à base de
- programmes CGI peuvent cependant se voir accorder l'accès au
+ <p>L'interface de session a été conçue à l'origine pour être
+ utilisée par d'autres modules du serveur comme
+ <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> ; les applications à base de
+ programmes CGI peuvent cependant se voir accorder l'accès au
contenu d'une session via la variable d'environnement
- HTTP_SESSION. Il est possible de modifier et/ou de mettre à jour
- une session en insérant un en-tête de réponse HTTP contenant les
- nouveaux paramètres de session.</p>
+ HTTP_SESSION. Il est possible de modifier et/ou de mettre à jour
+ une session en insérant un en-tête de réponse HTTP contenant les
+ nouveaux paramètres de session.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="serversession" id="serversession">Stockage des sessions sur le
serveur</a><a title="Lien permanent" href="#serversession" class="permalink">¶</a></h2>
- <p>Apache peut être configuré pour stocker les sessions
+ <p>Apache peut être configuré pour stocker les sessions
utilisateurs sur un serveur particulier ou un groupe de serveurs.
- Cette fonctionnalité est similaire aus sessions disponibles sur
+ Cette fonctionnalité est similaire aus sessions disponibles sur
les serveurs d'applications courants.</p>
- <p>Selon la configuration, les sessions sont suivies à
- partir d'un identifiant de session stocké dans un cookie, ou
- extrait de la chaîne de paramètres de l'URL, comme dans les
- requêtes GET courantes.</p>
+ <p>Selon la configuration, les sessions sont suivies à
+ partir d'un identifiant de session stocké dans un cookie, ou
+ extrait de la chaîne de paramètres de l'URL, comme dans les
+ requêtes GET courantes.</p>
- <p>Comme le contenu de la session est stocké exclusivement sur le
- serveur, il est nécessaire de préserver la confidentialité de ce
- contenu. Ceci a des implications en matière de performance et de
+ <p>Comme le contenu de la session est stocké exclusivement sur le
+ serveur, il est nécessaire de préserver la confidentialité de ce
+ contenu. Ceci a des implications en matière de performance et de
consommation de ressources lorsqu'un grand nombre de sessions est
- stocké, ou lorsqu'un grand nombre de serveurs doivent se partager
+ stocké, ou lorsqu'un grand nombre de serveurs doivent se partager
les sessions entre eux.</p>
<p>Le module <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> permet de stocker
- les sessions utilisateurs dans une base de données SQL via le
+ les sessions utilisateurs dans une base de données SQL via le
module <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</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="browsersession" id="browsersession">Stockage des sessions au niveau
du navigateur</a><a title="Lien permanent" href="#browsersession" class="permalink">¶</a></h2>
- <p>Dans les environnements à haut trafic où le stockage d'une
+ <p>Dans les environnements à haut trafic où le stockage d'une
session sur un serveur consomme trop
de ressources, il est possible de stocker le contenu de la session
dans un cookie au niveau du navigateur client.</p>
- <p>Ceci a pour avantage de ne nécessiter qu'une quantité minimale de
- ressources sur le serveur pour suivre les sessions, et évite à
- plusieurs serveurs parmi une forêt de serveurs de devoir partager
+ <p>Ceci a pour avantage de ne nécessiter qu'une quantité minimale de
+ ressources sur le serveur pour suivre les sessions, et évite à
+ plusieurs serveurs parmi une forêt de serveurs de devoir partager
les informations de session.</p>
- <p>Le contenu de la session est cependant présenté au client, avec
- pour conséquence un risque de perte de confidentialité. Le module
- <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> peut être configuré pour
- chiffrer le contenu de la session avant qu'elle soit stockée au
+ <p>Le contenu de la session est cependant présenté au client, avec
+ pour conséquence un risque de perte de confidentialité. Le module
+ <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> peut être configuré pour
+ chiffrer le contenu de la session avant qu'elle soit stockée au
niveau du client.</p>
<p>Le module <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code> permet de stocker
<div class="section">
<h2><a name="basicexamples" id="basicexamples">Exemples simples</a><a title="Lien permanent" href="#basicexamples" class="permalink">¶</a></h2>
- <p>La création d'une session consiste simplement à ouvrir la
- session, et à décider de l'endroit où elle doit être stockée. Dans
- l'exemple suivant, la session sera stockée au niveau du
- navigateur, dans un cookie nommé <code>session</code>.</p>
+ <p>La création d'une session consiste simplement à ouvrir la
+ session, et à décider de l'endroit où elle doit être stockée. Dans
+ l'exemple suivant, la session sera stockée au niveau du
+ navigateur, dans un cookie nommé <code>session</code>.</p>
- <div class="example"><h3>Session stockée au niveau du navigateur</h3><pre class="prettyprint lang-config">Session On
+ <div class="example"><h3>Session stockée au niveau du navigateur</h3><pre class="prettyprint lang-config">Session On
SessionCookieName session path=/</pre>
</div>
<p>Une session est inutile s'il n'est pas possible d'y lire
- ou d'y écrire. L'exemple suivant montre comment des valeurs
- peuvent être injectées dans une session à l'aide d'un en-tête de
- réponse HTTP prédéterminé nommé
+ ou d'y écrire. L'exemple suivant montre comment des valeurs
+ peuvent être injectées dans une session à l'aide d'un en-tête de
+ réponse HTTP prédéterminé nommé
<code>X-Replace-Session</code>.</p>
<div class="example"><h3>Ecriture dans une session</h3><pre class="prettyprint lang-config">Session On
SessionHeader X-Replace-Session</pre>
</div>
- <p>L'en-tête doit contenir des paires clé/valeur sous le même
- format que celui de la chaîne d'argument d'une URL, comme dans
- l'exemple suivant. Donner pour valeur à une clé la chaîne vide a
- pour effet de supprimer la clé de la session.</p>
+ <p>L'en-tête doit contenir des paires clé/valeur sous le même
+ format que celui de la chaîne d'argument d'une URL, comme dans
+ l'exemple suivant. Donner pour valeur à une clé la chaîne vide a
+ pour effet de supprimer la clé de la session.</p>
- <div class="example"><h3>Script CGI pour écrire dans une session</h3><pre class="prettyprint lang-sh">#!/bin/bash
+ <div class="example"><h3>Script CGI pour écrire dans une session</h3><pre class="prettyprint lang-sh">#!/bin/bash
echo "Content-Type: text/plain"
echo "X-Replace-Session: key1=foo&key2=&key3=bar"
echo
</div>
<p>Selon la configuration, les informations de la session peuvent
- être extraites de la variable d'environnement HTTP_SESSION. Par
- défaut la session est privée, et cette fonctionnalité doit donc
- être explicitement activée via la directive <code class="directive"><a href="#sessionenv">SessionEnv</a></code>.</p>
+ être extraites de la variable d'environnement HTTP_SESSION. Par
+ défaut la session est privée, et cette fonctionnalité doit donc
+ être explicitement activée via la directive <code class="directive"><a href="#sessionenv">SessionEnv</a></code>.</p>
<div class="example"><h3>Lecture depuis une session</h3><pre class="prettyprint lang-config">Session On
SessionEnv On
SessionHeader X-Replace-Session</pre>
</div>
- <p>Une fois la lecture effectuée, la variable CGI
+ <p>Une fois la lecture effectuée, la variable CGI
<code>HTTP_SESSION</code> doit contenir la valeur
- <code>clé1=foo&clé3=bar</code>.</p>
+ <code>clé1=foo&clé3=bar</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="sessionprivacy" id="sessionprivacy">Confidentialité des
+<h2><a name="sessionprivacy" id="sessionprivacy">Confidentialité des
sessions</a><a title="Lien permanent" href="#sessionprivacy" class="permalink">¶</a></h2>
- <p>En utilisant la fonctionnalité de votre navigateur "Afficher
- les cookies", vous pouvez voir une réprésentation de la session
- sous forme de texte en clair. Ceci peut poser problème si le
- contenu de la session doit être dissimulé à l'utilisateur final,
- ou si un tiers accède sans autorisation aux informations de
+ <p>En utilisant la fonctionnalité de votre navigateur "Afficher
+ les cookies", vous pouvez voir une réprésentation de la session
+ sous forme de texte en clair. Ceci peut poser problème si le
+ contenu de la session doit être dissimulé à l'utilisateur final,
+ ou si un tiers accède sans autorisation aux informations de
session.</p>
- <p>A ce titre, le contenu de la session peut être chiffré à l'aide
- du module <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> avant d'être stocké
+ <p>A ce titre, le contenu de la session peut être chiffré à l'aide
+ du module <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code> avant d'être stocké
au niveau du navigateur.</p>
- <div class="example"><h3>Session chiffrée avant stockage au niveau du
+ <div class="example"><h3>Session chiffrée avant stockage au niveau du
navigateur</h3><pre class="prettyprint lang-config">Session On
SessionCryptoPassphrase secret
SessionCookieName session path=/</pre>
</div>
- <p>La session sera automatiquement déchiffrée à la lecture, et
- rechiffrée par Apache lors de la sauvegarde, si bien que
- l'application sous-jacente qui utilise la session n'a pas à se
- préoccuper de savoir si un chiffrement a été mis en oeuvre ou
+ <p>La session sera automatiquement déchiffrée à la lecture, et
+ rechiffrée par Apache lors de la sauvegarde, si bien que
+ l'application sous-jacente qui utilise la session n'a pas à se
+ préoccuper de savoir si un chiffrement a été mis en oeuvre ou
non.</p>
- <p>Les sessions stockées sur le serveur plutôt qu'au niveau du
- navigateur peuvent aussi être chiffrées, préservant par là-même la
- confidentialité lorsque des informations sensibles sont partagées
- entre les serveurs web d'une forêt de serveurs à l'aide du module
+ <p>Les sessions stockées sur le serveur plutôt qu'au niveau du
+ navigateur peuvent aussi être chiffrées, préservant par là-même la
+ confidentialité lorsque des informations sensibles sont partagées
+ entre les serveurs web d'une forêt de serveurs à l'aide du module
<code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</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="cookieprivacy" id="cookieprivacy">Confidentialité du cookie</a><a title="Lien permanent" href="#cookieprivacy" class="permalink">¶</a></h2>
+<h2><a name="cookieprivacy" id="cookieprivacy">Confidentialité du cookie</a><a title="Lien permanent" href="#cookieprivacy" class="permalink">¶</a></h2>
- <p>Le mécanisme de cookie HTTP offre aussi des fonctionnalités
- quant à la confidentialité, comme la possibilité de
- restreindre le transport du cookie aux pages protégées par SSL
+ <p>Le mécanisme de cookie HTTP offre aussi des fonctionnalités
+ quant à la confidentialité, comme la possibilité de
+ restreindre le transport du cookie aux pages protégées par SSL
seulement, ou l'interdiction pour les scripts java qui
- s'exécutent au niveau du navigateur d'obtenir l'accès au contenu
+ s'exécutent au niveau du navigateur d'obtenir l'accès au contenu
du cookie.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>Certaines fonctionnalités de confidentialité du cookie HTTP ne
- sont pas standardisées, ou ne sont pas toujours implémentées au
+ <p>Certaines fonctionnalités de confidentialité du cookie HTTP ne
+ sont pas standardisées, ou ne sont pas toujours implémentées au
niveau du navigateur. Les modules de session vous permettent de
- définir les paramètres du cookie, mais il n'est pas garanti que la
- confidentialité sera respectée par le navigateur. Si la sécurité
- est la principale préoccupation, chiffrez le contenu de la session
+ définir les paramètres du cookie, mais il n'est pas garanti que la
+ confidentialité sera respectée par le navigateur. Si la sécurité
+ est la principale préoccupation, chiffrez le contenu de la session
avec le module <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>, ou stockez la
session sur le serveur avec le module
<code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>.</p>
</div>
- <p>Les paramètres standards du cookie peuvent être spécifiés après
+ <p>Les paramètres standards du cookie peuvent être spécifiés après
le nom du cookie comme dans l'exemple suivant :</p>
- <div class="example"><h3>Définition des paramètres du cookie</h3><pre class="prettyprint lang-config">Session On
+ <div class="example"><h3>Définition des paramètres du cookie</h3><pre class="prettyprint lang-config">Session On
SessionCryptoPassphrase secret
SessionCookieName session path=/private;domain=example.com;httponly;secure;</pre>
</div>
- <p>Dans les cas où le serveur Apache sert de frontal pour des
- serveurs d'arrière-plan, il est possible de supprimer les cookies
- de session des en-têtes HTTP entrants à l'aide de la directive
+ <p>Dans les cas où le serveur Apache sert de frontal pour des
+ serveurs d'arrière-plan, il est possible de supprimer les cookies
+ de session des en-têtes HTTP entrants à l'aide de la directive
<code class="directive"><a href="../mod/mod_session_cookie.html#sessioncookieremove">SessionCookieRemove</a></code>. Ceci
- permet d'empêcher les serveurs d'arrière-plan d'accéder au contenu
+ permet d'empêcher les serveurs d'arrière-plan d'accéder au contenu
des cookies de session.
</p>
<p>Comme il est possible de le faire avec de nombreux serveurs
d'applications, les modules d'authentification peuvent utiliser
une session pour stocker le nom d'utilisateur et le mot de passe
- après connexion. Le module <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> par
+ après connexion. Le module <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> par
exemple, sauvegarde les nom de connexion et mot de passe de
l'utilisateur dans une session.</p>
- <div class="example"><h3>Authentification à base de formulaire</h3><pre class="prettyprint lang-config">Session On
+ <div class="example"><h3>Authentification à base de formulaire</h3><pre class="prettyprint lang-config">Session On
SessionCryptoPassphrase secret
SessionCookieName session path=/
AuthFormProvider file
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="integration" id="integration">Intégration des sessions avec les
+<h2><a name="integration" id="integration">Intégration des sessions avec les
applications externes</a><a title="Lien permanent" href="#integration" class="permalink">¶</a></h2>
- <p>Pour que les sessions soient utiles, leur contenu doit être
- accessible aux applications externes, et ces dernières doivent
- elles-mêmes être capables d'écrire une session.</p>
+ <p>Pour que les sessions soient utiles, leur contenu doit être
+ accessible aux applications externes, et ces dernières doivent
+ elles-mêmes être capables d'écrire une session.</p>
<p>L'exemple type est une application qui modifie le mot de passe
- d'un utilisateur défini par <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>. Cette
+ d'un utilisateur défini par <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>. Cette
application doit pouvoir extraire les nom d'utilisateur et mot de
passe courants de la session, effectuer les modifications
- demandées, puis écrire le nouveau mot de passe dans la session,
+ demandées, puis écrire le nouveau mot de passe dans la session,
afin que la transition vers le nouveau mot de passe soit
transparente.</p>
<p>Un autre exemple met en jeu une application qui enregistre un
- nouvel utilisateur pour la première fois. Une fois
- l'enregistrement terminé, le nom d'utilisateur et le mot de passe
- sont écrits dans la session, fournissant là aussi une transition
+ nouvel utilisateur pour la première fois. Une fois
+ l'enregistrement terminé, le nom d'utilisateur et le mot de passe
+ sont écrits dans la session, fournissant là aussi une transition
transparente.</p>
<dl>
<dt>Modules Apache</dt>
<dd>Selon les besoins, les modules du serveur peuvent utiliser
- l'API <strong>mod_session.h</strong> pour lire et écrire dans les
+ l'API <strong>mod_session.h</strong> pour lire et écrire dans les
sessions. Les modules tels que <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>
- utilisent ce mécanisme.
+ utilisent ce mécanisme.
</dd>
<dt>Programmes CGI et langages de script</dt>
- <dd>Les applications qui s'exécutent au sein du serveur web
- peuvent éventuellement extraire la valeur de la session de la
+ <dd>Les applications qui s'exécutent au sein du serveur web
+ peuvent éventuellement extraire la valeur de la session de la
variable d'environnement <strong>HTTP_SESSION</strong>. La session
- doit être codée sous la forme d'une chaîne
+ doit être codée sous la forme d'une chaîne
<strong>application/x-www-form-urlencoded</strong> selon les
- préconisations de la <a href="http://www.w3.org/TR/html4/">specification HTML</a>. Cette
- variable d'environnement est définie via la directive <code class="directive"><a href="#sessionenv">SessionEnv</a></code>. Un script peut écrire
- dans la session en renvoyant un en-tête de réponse
+ préconisations de la <a href="http://www.w3.org/TR/html4/">specification HTML</a>. Cette
+ variable d'environnement est définie via la directive <code class="directive"><a href="#sessionenv">SessionEnv</a></code>. Un script peut écrire
+ dans la session en renvoyant un en-tête de réponse
<strong>application/x-www-form-urlencoded</strong> dont le nom est
- défini via la directive <code class="directive"><a href="#sessionheader">SessionHeader</a></code>. Dans les deux cas,
- tout chiffrement ou déchiffrement, ainsi que la lecture ou
- l'écriture de ou vers la session à partir du mécanisme de stockage
- choisi sont gérés par le module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> et la
+ défini via la directive <code class="directive"><a href="#sessionheader">SessionHeader</a></code>. Dans les deux cas,
+ tout chiffrement ou déchiffrement, ainsi que la lecture ou
+ l'écriture de ou vers la session à partir du mécanisme de stockage
+ choisi sont gérés par le module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> et la
configuration correspondante.
</dd>
- <dt>Applications situées derrière <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dt>
- <dd>Si la directive <code class="directive"><a href="#sessionheader">SessionHeader</a></code> est utilisée pour
- définir un en-tête de requête HTTP, la session codée sous la forme
- d'une chaîne <strong>application/x-www-form-urlencoded</strong>
- sera accessible pour l'application. Si ce même en-tête est fourni
- dans la réponse, sa valeur sera utilisée pour remplacer la
- session. Comme précédemment, tout chiffrement ou déchiffrement,
+ <dt>Applications situées derrière <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dt>
+ <dd>Si la directive <code class="directive"><a href="#sessionheader">SessionHeader</a></code> est utilisée pour
+ définir un en-tête de requête HTTP, la session codée sous la forme
+ d'une chaîne <strong>application/x-www-form-urlencoded</strong>
+ sera accessible pour l'application. Si ce même en-tête est fourni
+ dans la réponse, sa valeur sera utilisée pour remplacer la
+ session. Comme précédemment, tout chiffrement ou déchiffrement,
ainsi que la lecture ou
- l'écriture de ou vers la session à partir du mécanisme de stockage
- choisi sont gérés par le module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> et la
+ l'écriture de ou vers la session à partir du mécanisme de stockage
+ choisi sont gérés par le module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> et la
configuration correspondante.</dd>
- <dt>Applications indépendantes</dt>
+ <dt>Applications indépendantes</dt>
<dd>Les applications peuvent choisir de manipuler la session en
- s'affranchissant du contrôle du serveur HTTP Apache. Dans ce cas,
+ s'affranchissant du contrôle du serveur HTTP Apache. Dans ce cas,
c'est l'application qui doit prendre en charge la lecture de la
- session depuis le mécanisme de stockage choisi, son déchiffrement,
- sa mise à jour, son chiffrement et sa réécriture vers le mécanisme
- de stockage choisi de manière appropriée.</dd>
+ session depuis le mécanisme de stockage choisi, son déchiffrement,
+ sa mise à jour, son chiffrement et sa réécriture vers le mécanisme
+ de stockage choisi de manière appropriée.</dd>
</dl>
</div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ouvre une session pour le contexte courant</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Session On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Session Off</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#Default">Défaut:</a></th><td><code>Session Off</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">AllowOverride:</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_session</td></tr>
</table>
<p>La directive <code class="directive">Session</code> permet d'ouvrir une
session pour le contexte ou conteneur courant. Les directives
- suivantes permettent de définir où la session sera stockée et
- comment sera assurée la confidentialité.</p>
+ suivantes permettent de définir où la session sera stockée et
+ comment sera assurée la confidentialité.</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="sessionenv" id="sessionenv">Directive</a> <a name="SessionEnv" id="SessionEnv">SessionEnv</a><a title="Lien permanent" href="#sessionenv" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si le contenu de la session doit être enregistré
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si le contenu de la session doit être enregistré
dans la variable d'environnement <var>HTTP_SESSION</var></td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionEnv On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionEnv Off</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#Default">Défaut:</a></th><td><code>SessionEnv Off</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">AllowOverride:</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_session</td></tr>
</table>
<p>Lorsque la directive <code class="directive">SessionEnv</code> est
- définie à <var>On</var>, le contenu de la session est enregistré
- dans une variable d'environnement CGI nommée
+ définie à <var>On</var>, le contenu de la session est enregistré
+ dans une variable d'environnement CGI nommée
<var>HTTP_SESSION</var>.</p>
- <p>La chaîne est écrite sous le même format que celui de la chaîne
+ <p>La chaîne est écrite sous le même format que celui de la chaîne
d'arguments d'une URL, comme dans l'exemple suivant :</p>
<div class="example"><p><code>
- <code>clé1=foo&clé3=bar</code>
+ <code>clé1=foo&clé3=bar</code>
</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="sessionexclude" id="sessionexclude">Directive</a> <a name="SessionExclude" id="SessionExclude">SessionExclude</a><a title="Lien permanent" href="#sessionexclude" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les préfixes d'URLs pour lesquels une session sera
-ignorée</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les préfixes d'URLs pour lesquels une session sera
+ignorée</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionExclude <var>chemin</var></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>configuration du serveur, serveur virtuel, répertoire, .htaccess</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>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_session</td></tr>
</table>
<p>La directive <code class="directive">SessionExclude</code> permet de
- définir les préfixes d'URLs pour lesquels la session sera
- désactivée. Ceci peut améliorer l'efficacité d'un site web, en
- ciblant de manière plus précise l'espace d'URL pour lequel une
- session devra être maintenue. Par défaut, toutes les URLs du
+ définir les préfixes d'URLs pour lesquels la session sera
+ désactivée. Ceci peut améliorer l'efficacité d'un site web, en
+ ciblant de manière plus précise l'espace d'URL pour lequel une
+ session devra être maintenue. Par défaut, toutes les URLs du
contexte ou du conteneur courant sont incluses dans la session. La
directive <code class="directive"><a href="#sessionexclude">SessionExclude</a></code>
l'emporte sur la directive <code class="directive"><a href="#sessioninclude">SessionInclude</a></code>.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>Cette directive a un comportement similaire à celui de l'attribut
- <var>chemin</var> des cookies HTTP, mais ne doit pas être confondue
- avec cet attribut. En effet, cette directive ne définit pas
- l'attribut <var>chemin</var>, qui doit être configuré
- séparément.</p></div>
+ <p>Cette directive a un comportement similaire à celui de l'attribut
+ <var>chemin</var> des cookies HTTP, mais ne doit pas être confondue
+ avec cet attribut. En effet, cette directive ne définit pas
+ l'attribut <var>chemin</var>, qui doit être configuré
+ séparément.</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="sessionexpiryupdateinterval" id="sessionexpiryupdateinterval">Directive</a> <a name="SessionExpiryUpdateInterval" id="SessionExpiryUpdateInterval">SessionExpiryUpdateInterval</a><a title="Lien permanent" href="#sessionexpiryupdateinterval" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nombre de secondes dont la durée d'expiration d'une
-session peut changer sans que cette session soit mise à jour</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nombre de secondes dont la durée d'expiration d'une
+session peut changer sans que cette session soit mise à jour</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionExpiryUpdateInterval <var>interval</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionExpiryUpdateInterval 0 (mise à jour systématique)</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#Default">Défaut:</a></th><td><code>SessionExpiryUpdateInterval 0 (mise à jour systématique)</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">AllowOverride:</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_session</td></tr>
</table>
<p>La directive <code class="directive">SessionExpiryUpdateInterval</code>
- permet d'éviter le coût de l'écriture d'une session pour chaque
- requête en n'effectuant cette mise à jour que lorsque la date
- d'expiration a changé. Ceci permet d'améliorer les performances d'un
- site web ou de réduire la charge d'une base de données lorsqu'on
+ permet d'éviter le coût de l'écriture d'une session pour chaque
+ requête en n'effectuant cette mise à jour que lorsque la date
+ d'expiration a changé. Ceci permet d'améliorer les performances d'un
+ site web ou de réduire la charge d'une base de données lorsqu'on
utilise <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code>. La session est
- systématiquement mise à jour si les données stockées dans la session
- ont été modifiées ou si la durée d'expiration a été modifiée d'une
- durée supérieure à l'intervalle spécifié.</p>
+ systématiquement mise à jour si les données stockées dans la session
+ ont été modifiées ou si la durée d'expiration a été modifiée d'une
+ durée supérieure à l'intervalle spécifié.</p>
- <p>Définir l'intervalle à 0 désactive cette directive, et
- l'expiration de la session sera alors rafraîchie pour chaque requête.</p>
+ <p>Définir l'intervalle à 0 désactive cette directive, et
+ l'expiration de la session sera alors rafraîchie pour chaque requête.</p>
<p>Cette directive n'a d'effet que si on l'utilise en combinaison
avec la directive <code class="directive"><a href="#sessionmaxage">SessionMaxAge</a></code> qui active
l'expiration des sessions. Les sessions sans date d'expiration ne
- sont écrites que lorsque les données qu'elles renferment ont été
- modifiées.</p>
+ sont écrites que lorsque les données qu'elles renferment ont été
+ modifiées.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>Comme l'expiration de la session n'est pas systématiquement
- rafraîchie à chaque requête, une session peut arriver à expiration
- plus tôt d'un nombre de secondes spécifié dans le paramètre
- <var>interval</var>. Définir un petit intervalle est en général
+ <p>Comme l'expiration de la session n'est pas systématiquement
+ rafraîchie à chaque requête, une session peut arriver à expiration
+ plus tôt d'un nombre de secondes spécifié dans le paramètre
+ <var>interval</var>. Définir un petit intervalle est en général
assez sur, mais en revenche n'a qu'un effet minime sur la prise en
- compte des durées d'expiration.</p></div>
+ compte des durées d'expiration.</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="sessionheader" id="sessionheader">Directive</a> <a name="SessionHeader" id="SessionHeader">SessionHeader</a><a title="Lien permanent" href="#sessionheader" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Importation des mises à jour de session depuis l'en-tête de
-réponse HTTP spécifié</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionHeader <var>en-tête</var></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>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Importation des mises à jour de session depuis l'en-tête de
+réponse HTTP spécifié</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionHeader <var>en-tête</var></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>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_session</td></tr>
</table>
<p>La directive <code class="directive">SessionHeader</code> permet de
- définir le nom d'un en-tête de réponse HTTP qui, s'il est présent,
- sera lu et son contenu écrit dans la session courante.</p>
+ définir le nom d'un en-tête de réponse HTTP qui, s'il est présent,
+ sera lu et son contenu écrit dans la session courante.</p>
- <p>Le contenu de l'en-tête doit se présenter sous le même format que
- celui de la chaîne d'arguments d'une URL, comme dans l'exemple
+ <p>Le contenu de l'en-tête doit se présenter sous le même format que
+ celui de la chaîne d'arguments d'une URL, comme dans l'exemple
suivant :</p>
<div class="example"><p><code>
- <code>clé1=foo&clé2=&clé3=bar</code>
+ <code>clé1=foo&clé2=&clé3=bar</code>
</code></p></div>
- <p>Si une clé a pour valeur la chaîne vide, elle sera supprimée de
+ <p>Si une clé a pour valeur la chaîne vide, elle sera supprimée de
la session.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sessioninclude" id="sessioninclude">Directive</a> <a name="SessionInclude" id="SessionInclude">SessionInclude</a><a title="Lien permanent" href="#sessioninclude" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les préfixes d'URL pour lesquels une session est
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les préfixes d'URL pour lesquels une session est
valide</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionInclude <var>chemin</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>toutes URLs</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#Default">Défaut:</a></th><td><code>toutes URLs</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">AllowOverride:</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_session</td></tr>
</table>
<p>La directive <code class="directive">SessionInclude</code> permet de
- définir les préfixes d'URL spécifiques pour lesquels une session
- sera valide. Ceci peut améliorer l'efficacité d'un site web, en
- ciblant de manière plus précise l'espace d'URL pour lequel une
- session devra être maintenue. Par défaut, toutes les URLs du
+ définir les préfixes d'URL spécifiques pour lesquels une session
+ sera valide. Ceci peut améliorer l'efficacité d'un site web, en
+ ciblant de manière plus précise l'espace d'URL pour lequel une
+ session devra être maintenue. Par défaut, toutes les URLs du
contexte ou du conteneur courant sont incluses dans la session.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>Cette directive a un comportement similaire à celui de l'attribut
- <var>chemin</var> des cookies HTTP, mais ne doit pas être confondue
- avec cet attribut. En effet, cette directive ne définit pas
- l'attribut <var>chemin</var>, qui doit être configuré séparément.</p></div>
+ <p>Cette directive a un comportement similaire à celui de l'attribut
+ <var>chemin</var> des cookies HTTP, mais ne doit pas être confondue
+ avec cet attribut. En effet, cette directive ne définit pas
+ l'attribut <var>chemin</var>, qui doit être configuré séparément.</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="sessionmaxage" id="sessionmaxage">Directive</a> <a name="SessionMaxAge" id="SessionMaxAge">SessionMaxAge</a><a title="Lien permanent" href="#sessionmaxage" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une durée de vie maximale pour la session en
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une durée de vie maximale pour la session en
secondes</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionMaxAge <var>durée de vie maximale</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionMaxAge 0</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#Syntax">Syntaxe:</a></th><td><code>SessionMaxAge <var>durée de vie maximale</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionMaxAge 0</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">AllowOverride:</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_session</td></tr>
</table>
<p>La directive <code class="directive">SessionMaxAge</code> permet de
- définir la durée maximale pendant laquelle une session restera
- valide. Lorsqu'une session est sauvegardée, cette durée est
- réinitialisée et la session peut continuer d'exister. Si la durée
- d'une session dépasse cette limite sans qu'une requête au serveur ne
- vienne la rafraîchir, la session va passer hors délai et sera
- supprimée. Lorsqu'une session est utilisée pour stocker les
+ définir la durée maximale pendant laquelle une session restera
+ valide. Lorsqu'une session est sauvegardée, cette durée est
+ réinitialisée et la session peut continuer d'exister. Si la durée
+ d'une session dépasse cette limite sans qu'une requête au serveur ne
+ vienne la rafraîchir, la session va passer hors délai et sera
+ supprimée. Lorsqu'une session est utilisée pour stocker les
informations de connexion d'un utilisateur, ceci aura pour effet de
- le déconnecter automatiquement après le délai spécifié.</p>
+ le déconnecter automatiquement après le délai spécifié.</p>
- <p>Donner à cette directive la valeur 0 empêche l'expiration de la
+ <p>Donner à cette directive la valeur 0 empêche l'expiration de la
session.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_session.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_session.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_session_cookie</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_cookie.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_session_cookie.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_session_cookie.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support des sessions basé sur les cookies</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support des sessions basé sur les cookies</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>session_cookie_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session_cookie.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>session_cookie_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session_cookie.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
<h3>Sommaire</h3>
<div class="warning"><h3>Avertissement</h3>
<p>Les modules de session font usage des cookies HTTP, et peuvent
- à ce titre être victimes d'attaques de type Cross Site Scripting,
- ou divulguer des informations à caractère privé aux clients.
- Veuillez vous assurer que les risques ainsi encourus ont été pris
+ à ce titre être victimes d'attaques de type Cross Site Scripting,
+ ou divulguer des informations à caractère privé aux clients.
+ Veuillez vous assurer que les risques ainsi encourus ont été pris
en compte avant d'activer le support des sessions sur votre
serveur.</p>
</div>
support du stockage des sessions utilisateur au niveau du navigateur
distant dans des cookies HTTP.</p>
- <p>L'utilisation de cookies pour stocker les sessions décharge le
- serveur ou le groupe de serveurs de la nécessité de stocker les
+ <p>L'utilisation de cookies pour stocker les sessions décharge le
+ serveur ou le groupe de serveurs de la nécessité de stocker les
sessions localement, ou de collaborer pour partager les sessions, et
- peut être utile dans les environnements à fort trafic où le stockage
- des sessions sur le serveur pourrait s'avérer trop consommateur de
+ peut être utile dans les environnements à fort trafic où le stockage
+ des sessions sur le serveur pourrait s'avérer trop consommateur de
ressources.</p>
- <p>Si la confidentialité de la session doit être préservée, le
- contenu de cette dernière peut être chiffré avant d'être enregistré
- au niveau du client à l'aide du module
+ <p>Si la confidentialité de la session doit être préservée, le
+ contenu de cette dernière peut être chiffré avant d'être enregistré
+ au niveau du client à l'aide du module
<code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>.</p>
- <p>Pour plus de détails à propos de l'interface des sessions, voir
+ <p>Pour plus de détails à propos de l'interface des sessions, voir
la documentation du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p>
</div>
<li><img alt="" src="../images/down.gif" /> <a href="#sessioncookiename2">SessionCookieName2</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#sessioncookieremove">SessionCookieRemove</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session_cookie">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session_cookie">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session_cookie">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session_cookie">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_session.html">mod_session</a></code></li>
<li><code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code></li>
<div class="section">
<h2><a name="basicexamples" id="basicexamples">Exemples simples</a><a title="Lien permanent" href="#basicexamples" class="permalink">¶</a></h2>
- <p>Pour créer une session et la stocker dans un cookie nommé
+ <p>Pour créer une session et la stocker dans un cookie nommé
<var>session</var>, configurez-la comme suit :</p>
- <div class="example"><h3>Session stockée au niveau du navigateur</h3><pre class="prettyprint lang-config">Session On
+ <div class="example"><h3>Session stockée au niveau du navigateur</h3><pre class="prettyprint lang-config">Session On
SessionCookieName session path=/</pre>
</div>
- <p>Pour plus d'exemples sur la manière dont une session doit être
- configurée pour qu'une application CGI puisse l'utiliser, voir la
+ <p>Pour plus d'exemples sur la manière dont une session doit être
+ configurée pour qu'une application CGI puisse l'utiliser, voir la
section exemples de la documentation du module
<code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p>
- <p>Pour des détails sur la manière dont une session peut être
- utilisée pour stocker des informations de type nom
+ <p>Pour des détails sur la manière dont une session peut être
+ utilisée pour stocker des informations de type nom
d'utilisateur/mot de passe, voir la documentation du module
<code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>.</p>
<div class="directive-section"><h2><a name="sessioncookiename" id="sessioncookiename">Directive</a> <a name="SessionCookieName" id="SessionCookieName">SessionCookieName</a><a title="Lien permanent" href="#sessioncookiename" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom et attributs du cookie RFC2109 dans lequel la session
-est stockée</td></tr>
+est stockée</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCookieName <var>nom</var> <var>attributs</var></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>configuration du serveur, serveur virtuel, répertoire, .htaccess</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>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_session_cookie</td></tr>
</table>
<p>La directive <code class="directive">SessionCookieName</code> permet de
- spécifier le nom et les attributs optionnels d'un cookie compatible
- RFC2109 dans lequel la session sera stockée. Les cookies RFC2109
- sont définis en utilisant l'en-tête HTTP <code>Set-Cookie</code>.
+ spécifier le nom et les attributs optionnels d'un cookie compatible
+ RFC2109 dans lequel la session sera stockée. Les cookies RFC2109
+ sont définis en utilisant l'en-tête HTTP <code>Set-Cookie</code>.
</p>
- <p>Une liste optionnelle d'attributs peut être spécifiée, comme dans
- l'exemple suivant. Ces attributs sont insérés tel quel dans le
- cookie, et ne sont pas interprétés par Apache. Assurez-vous que vos
- attributs soient définis correctement selon la spécification des
+ <p>Une liste optionnelle d'attributs peut être spécifiée, comme dans
+ l'exemple suivant. Ces attributs sont insérés tel quel dans le
+ cookie, et ne sont pas interprétés par Apache. Assurez-vous que vos
+ attributs soient définis correctement selon la spécification des
cookies.
</p>
<div class="directive-section"><h2><a name="sessioncookiename2" id="sessioncookiename2">Directive</a> <a name="SessionCookieName2" id="SessionCookieName2">SessionCookieName2</a><a title="Lien permanent" href="#sessioncookiename2" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom et attributs pour le cookie RFC2965 dans lequel est
-stockée la session</td></tr>
+stockée la session</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCookieName2 <var>nom</var> <var>attributs</var></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>configuration du serveur, serveur virtuel, répertoire, .htaccess</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>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_session_cookie</td></tr>
</table>
<p>La directive <code class="directive">SessionCookieName2</code> permet de
- spécifier le nom et les attributs optionnels d'un cookie compatible
- RFC2965 dans lequel la session sera stockée. Les cookies RFC2965
- sont définis en utilisant l'en-tête HTTP
+ spécifier le nom et les attributs optionnels d'un cookie compatible
+ RFC2965 dans lequel la session sera stockée. Les cookies RFC2965
+ sont définis en utilisant l'en-tête HTTP
<code>Set-Cookie2</code>.
</p>
- <p>Une liste optionnelle d'attributs peut être spécifiée, comme dans
- l'exemple suivant. Ces attributs sont insérés tel quel dans le
- cookie, et ne sont pas interprétés par Apache. Assurez-vous que vos
- attributs soient définis correctement selon la spécification des
+ <p>Une liste optionnelle d'attributs peut être spécifiée, comme dans
+ l'exemple suivant. Ces attributs sont insérés tel quel dans le
+ cookie, et ne sont pas interprétés par Apache. Assurez-vous que vos
+ attributs soient définis correctement selon la spécification des
cookies.
</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sessioncookieremove" id="sessioncookieremove">Directive</a> <a name="SessionCookieRemove" id="SessionCookieRemove">SessionCookieRemove</a><a title="Lien permanent" href="#sessioncookieremove" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les cookies de session doivent être supprimés
-des en-têtes HTTP entrants</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les cookies de session doivent être supprimés
+des en-têtes HTTP entrants</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCookieRemove On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionCookieRemove Off</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#Default">Défaut:</a></th><td><code>SessionCookieRemove Off</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">AllowOverride:</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_session_cookie</td></tr>
</table>
<p>La directive <code class="directive">SessionCookieRemove</code> permet de
- déterminer si les cookies contenant la session doivent être
- supprimés des en-têtes pendant le traitement de la requête.</p>
+ déterminer si les cookies contenant la session doivent être
+ supprimés des en-têtes pendant le traitement de la requête.</p>
- <p>Dans le cas d'un mandataire inverse où le serveur Apache sert de
- frontal à un serveur d'arrière-plan, révéler le contenu du cookie de
- session à ce dernier peut conduire à une violation de la
- confidentialité. A ce titre, si cette directive est définie à "on",
- le cookie de session sera supprimé des en-têtes HTTP entrants.</p>
+ <p>Dans le cas d'un mandataire inverse où le serveur Apache sert de
+ frontal à un serveur d'arrière-plan, révéler le contenu du cookie de
+ session à ce dernier peut conduire à une violation de la
+ confidentialité. A ce titre, si cette directive est définie à "on",
+ le cookie de session sera supprimé des en-têtes HTTP entrants.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_cookie.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_session_cookie.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_session_cookie.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_session_crypto</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_crypto.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_session_crypto.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_session_crypto.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support du chiffrement des sessions</td></tr>
-<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>session_crypto_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session_crypto.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>session_crypto_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session_crypto.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
<h3>Sommaire</h3>
<div class="warning"><h3>Avertissement</h3>
<p>Les modules de session font usage des cookies HTTP, et peuvent
- à ce titre être victimes d'attaques de type Cross Site Scripting,
- ou divulguer des informations à caractère privé aux clients.
- Veuillez vous assurer que les risques ainsi encourus ont été pris
+ à ce titre être victimes d'attaques de type Cross Site Scripting,
+ ou divulguer des informations à caractère privé aux clients.
+ Veuillez vous assurer que les risques ainsi encourus ont été pris
en compte avant d'activer le support des sessions sur votre
serveur.</p>
</div>
<p>Ce sous-module du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> fournit le
support du chiffrement des sessions utilisateur avant de les
- enregistrer dans une base de données locale, ou dans un cookie HTTP
+ enregistrer dans une base de données locale, ou dans un cookie HTTP
au niveau du navigateur distant.</p>
- <p>Il peut contribuer à préserver la confidentialité des sessions
- lorsque leur contenu doit rester privé pour
+ <p>Il peut contribuer à préserver la confidentialité des sessions
+ lorsque leur contenu doit rester privé pour
l'utilisateur, ou lorsqu'une protection contre les attaques de type
- cross site scripting est nécessaire.</p>
+ cross site scripting est nécessaire.</p>
- <p>Pour plus de détails à propos de l'interface des sessions, voir
+ <p>Pour plus de détails à propos de l'interface des sessions, voir
la documentation du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p>
</div>
<li><img alt="" src="../images/down.gif" /> <a href="#sessioncryptopassphrase">SessionCryptoPassphrase</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#sessioncryptopassphrasefile">SessionCryptoPassphraseFile</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session_crypto">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session_crypto">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session_crypto">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session_crypto">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_session.html">mod_session</a></code></li>
<li><code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code></li>
<div class="section">
<h2><a name="basicusage" id="basicusage">Utilisation de base</a><a title="Lien permanent" href="#basicusage" class="permalink">¶</a></h2>
- <p>Pour créer une session chiffrée et la stocker dans un cookie
- nommé <var>session</var>, configurer-la comme suit :</p>
+ <p>Pour créer une session chiffrée et la stocker dans un cookie
+ nommé <var>session</var>, configurer-la comme suit :</p>
- <div class="example"><h3>Session chiffrée stockée au niveau du
+ <div class="example"><h3>Session chiffrée stockée au niveau du
serveur</h3><pre class="prettyprint lang-config">Session On
SessionCookieName session path=/
SessionCryptoPassphrase secret</pre>
</div>
- <p>La session sera chiffrée avec la clé spécifiée. Il est possible
+ <p>La session sera chiffrée avec la clé spécifiée. Il est possible
de configurer plusieurs serveurs pour qu'ils puissent partager des
- sessions, en s'assurant que la même clé de chiffrement est
- utilisée sur chaque serveur.</p>
+ sessions, en s'assurant que la même clé de chiffrement est
+ utilisée sur chaque serveur.</p>
- <p>Si la clé de chiffrement est modifiée, les sessions seront
- automatiquement invalidées.</p>
+ <p>Si la clé de chiffrement est modifiée, les sessions seront
+ automatiquement invalidées.</p>
- <p>Pour des détails sur la manière dont une session peut être
- utilisée pour stocker des informations de type nom
+ <p>Pour des détails sur la manière dont une session peut être
+ utilisée pour stocker des informations de type nom
d'utilisateur/mot de passe, voir la documentation du module
<code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sessioncryptocipher" id="sessioncryptocipher">Directive</a> <a name="SessionCryptoCipher" id="SessionCryptoCipher">SessionCryptoCipher</a><a title="Lien permanent" href="#sessioncryptocipher" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'algorithme à utiliser pour le chiffrement de la session</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'algorithme à utiliser pour le chiffrement de la session</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCryptoCipher <var>algorithme</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>aes256</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#Default">Défaut:</a></th><td><code>aes256</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">AllowOverride:</a></th><td>AuthConfig</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
</table>
<p>La directive <code class="directive">SessionCryptoCipher</code> permet de
- spécifier l'algorithme à utiliser pour le chiffrement. En l'absence
- de spécification, l'algorithme par défaut est <code>aes256</code>.</p>
+ spécifier l'algorithme à utiliser pour le chiffrement. En l'absence
+ de spécification, l'algorithme par défaut est <code>aes256</code>.</p>
- <p>L'algorithme peut être choisi, en fonction du moteur de chiffrement
- utilisé, parmi les valeurs suivantes :</p>
+ <p>L'algorithme peut être choisi, en fonction du moteur de chiffrement
+ utilisé, parmi les valeurs suivantes :</p>
<ul><li>3des192</li><li>aes128</li><li>aes192</li><li>aes256</li></ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sessioncryptodriver" id="sessioncryptodriver">Directive</a> <a name="SessionCryptoDriver" id="SessionCryptoDriver">SessionCryptoDriver</a><a title="Lien permanent" href="#sessioncryptodriver" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le pilote de chiffrement à utiliser pour chiffrer les
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le pilote de chiffrement à utiliser pour chiffrer les
sessions</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCryptoDriver <var>nom</var> <var>[param[=valeur]]</var></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#Default">Défaut:</a></th><td><code>none</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>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0
d'Apache</td></tr>
</table>
<p>La directive <code class="directive">SessionCryptoDriver</code> permet de
- spécifier le nom du pilote à utiliser pour le chiffrement. Si aucun
- pilote n'est spécifié, le pilote utilisé par défaut sera le pilote
- recommandé compilé avec APR-util.</p>
+ spécifier le nom du pilote à utiliser pour le chiffrement. Si aucun
+ pilote n'est spécifié, le pilote utilisé par défaut sera le pilote
+ recommandé compilé avec APR-util.</p>
- <p>Le pilote de chiffrement <var>NSS</var> nécessite certains
- paramètres de configuration, qui seront spécifiés comme arguments de
- la directive avec des valeurs optionnelles après le nom du
+ <p>Le pilote de chiffrement <var>NSS</var> nécessite certains
+ paramètres de configuration, qui seront spécifiés comme arguments de
+ la directive avec des valeurs optionnelles après le nom du
pilote.</p>
- <div class="example"><h3>NSS sans base de données de certificats</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss</pre>
+ <div class="example"><h3>NSS sans base de données de certificats</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss</pre>
</div>
- <div class="example"><h3>NSS avec base de données de certificats</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss dir=certs</pre>
+ <div class="example"><h3>NSS avec base de données de certificats</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss dir=certs</pre>
</div>
- <div class="example"><h3>NSS avec base de données de certificats et
- paramètres</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss dir=certs clé3=clé3.db cert7=cert7.db secmod=secmod</pre>
+ <div class="example"><h3>NSS avec base de données de certificats et
+ paramètres</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss dir=certs clé3=clé3.db cert7=cert7.db secmod=secmod</pre>
</div>
<div class="example"><h3>NSS avec chemins contenant des espaces</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss "dir=My Certs" key3=key3.db cert7=cert7.db secmod=secmod</pre>
</div>
- <p>Le pilote de chiffrement <var>NSS</var> peut avoir été configuré
- au préalable dans une autre partie du serveur, par exemple depuis
+ <p>Le pilote de chiffrement <var>NSS</var> peut avoir été configuré
+ au préalable dans une autre partie du serveur, par exemple depuis
<code class="module"><a href="../mod/mod_nss.html">mod_nss</a></code> ou <code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code>. Si c'est le
- cas, un avertissement sera enregistré dans le journal, et la
- configuration existante s'en trouvera affectée. Pour éviter cet
- avertissement, utilisez le paramètre noinit comme suit :</p>
+ cas, un avertissement sera enregistré dans le journal, et la
+ configuration existante s'en trouvera affectée. Pour éviter cet
+ avertissement, utilisez le paramètre noinit comme suit :</p>
- <div class="example"><h3>NSS avec base de données de certificats</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss noinit</pre>
+ <div class="example"><h3>NSS avec base de données de certificats</h3><pre class="prettyprint lang-config">SessionCryptoDriver nss noinit</pre>
</div>
- <p>Pour éviter la confusion, assurez-vous que tous les modules
- utilisant NSS soient configurés avec des paramètres identiques.</p>
+ <p>Pour éviter la confusion, assurez-vous que tous les modules
+ utilisant NSS soient configurés avec des paramètres identiques.</p>
- <p>Le pilote de chiffrement <var>openssl</var> accepte un paramètre
- optionnel permettant de spécifier le moteur de chiffrement à
+ <p>Le pilote de chiffrement <var>openssl</var> accepte un paramètre
+ optionnel permettant de spécifier le moteur de chiffrement à
utiliser.</p>
- <div class="example"><h3>OpenSSL avec spécification du moteur de chiffrement</h3><pre class="prettyprint lang-config">SessionCryptoDriver openssl engine=nom-moteur</pre>
+ <div class="example"><h3>OpenSSL avec spécification du moteur de chiffrement</h3><pre class="prettyprint lang-config">SessionCryptoDriver openssl engine=nom-moteur</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sessioncryptopassphrase" id="sessioncryptopassphrase">Directive</a> <a name="SessionCryptoPassphrase" id="SessionCryptoPassphrase">SessionCryptoPassphrase</a><a title="Lien permanent" href="#sessioncryptopassphrase" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La clé utilisée pour chiffrer la session</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La clé utilisée pour chiffrer la session</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCryptoPassphrase <var>secret</var> [ <var>secret</var> ... ] </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>configuration du serveur, serveur virtuel, répertoire, .htaccess</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>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0
d'Apache</td></tr>
</table>
<p>La directive <code class="directive">SessionCryptoPassphrase</code>
- permet de spécifier les clés à utiliser pour chiffrer de manière
- symétrique le contenu de la session avant de l'enregistrer, ou pour
- déchiffrer le contenu de la session après sa lecture.</p>
+ permet de spécifier les clés à utiliser pour chiffrer de manière
+ symétrique le contenu de la session avant de l'enregistrer, ou pour
+ déchiffrer le contenu de la session après sa lecture.</p>
- <p>L'utilisation de clés longues et composées de caractères vraiment
- aléatoires est plus performant en matière de sécurité. Modifier une
- clé sur un serveur a pour effet d'invalider toutes les sessions
+ <p>L'utilisation de clés longues et composées de caractères vraiment
+ aléatoires est plus performant en matière de sécurité. Modifier une
+ clé sur un serveur a pour effet d'invalider toutes les sessions
existantes.</p>
- <p>Il est possible de spécifier plusieurs clés afin de mettre en
- oeuvre la rotation de clés. La première clé spécifiée sera utilisée
- pour le chiffrement, alors que l'ensemble des clés spécifiées le
- sera pour le déchiffrement. Pour effectuer une rotation périodique
- des clés sur plusieurs serveurs, ajoutez une nouvelle clé en fin de
- liste, puis, une fois la rotation complète effectuée, supprimez la
- première clé de la liste.</p>
+ <p>Il est possible de spécifier plusieurs clés afin de mettre en
+ oeuvre la rotation de clés. La première clé spécifiée sera utilisée
+ pour le chiffrement, alors que l'ensemble des clés spécifiées le
+ sera pour le déchiffrement. Pour effectuer une rotation périodique
+ des clés sur plusieurs serveurs, ajoutez une nouvelle clé en fin de
+ liste, puis, une fois la rotation complète effectuée, supprimez la
+ première clé de la liste.</p>
<p>Depuis la version 2.4.7, si la valeur de l'argument commence par
<var>exec:</var> , la commande
- spécifiée sera exécutée, et la première ligne que cette dernière
- renverra sur la sortie standard sera utilisée comme clé.</p>
-<div class="example"><pre># clé spécifiée et utilisée en tant que tel
+ spécifiée sera exécutée, et la première ligne que cette dernière
+ renverra sur la sortie standard sera utilisée comme clé.</p>
+<div class="example"><pre># clé spécifiée et utilisée en tant que tel
SessionCryptoPassphrase secret
-# exécution de /path/to/program pour générer la clé
+# exécution de /path/to/program pour générer la clé
SessionCryptoPassphrase exec:/path/to/program
-# exécution de /path/to/program avec un argument pour générer la clé
+# exécution de /path/to/program avec un argument pour générer la clé
SessionCryptoPassphrase "exec:/path/to/otherProgram argument1"</pre></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sessioncryptopassphrasefile" id="sessioncryptopassphrasefile">Directive</a> <a name="SessionCryptoPassphraseFile" id="SessionCryptoPassphraseFile">SessionCryptoPassphraseFile</a><a title="Lien permanent" href="#sessioncryptopassphrasefile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le fichier contenant les clés utilisées pour chiffrer la
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le fichier contenant les clés utilisées pour chiffrer la
session</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionCryptoPassphraseFile <var>nom-fichier</var></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>configuration du serveur, serveur virtuel, répertoire</td></tr>
-<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</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>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
</table>
<p>La directive <code class="directive">SessionCryptoPassphraseFile</code>
- permet de spécifier le nom d'un fichier de configuration contenant
- les clés à utiliser pour le chiffrement et le déchiffrement de la
- session (une clé par ligne). Le fichier est lu au démarrage du
- serveur, et un redémarrage graceful est nécessaire pour prendre en
- compte un éventuel changement de clés.</p>
-
- <p>A la différence de la directive
- <code class="directive">SessionCryptoPassphrase</code>, les clés ne sont pas
- présentes dans le fichier de configuration de httpd et peuvent être
- cachées via une protection appropriée du fichier de clés.</p>
-
- <p>Il est possible de spécifier plusieurs clés afin de mettre en
- oeuvre la rotation de clés. La première clé spécifiée sera utilisée
- pour le chiffrement, alors que l'ensemble des clés spécifiées le
- sera pour le déchiffrement. Pour effectuer une rotation périodique
- des clés sur plusieurs serveurs, ajoutez une nouvelle clé en fin de
- liste, puis, une fois la rotation complète effectuée, supprimez la
- première clé de la liste.</p>
+ permet de spécifier le nom d'un fichier de configuration contenant
+ les clés à utiliser pour le chiffrement et le déchiffrement de la
+ session (une clé par ligne). Le fichier est lu au démarrage du
+ serveur, et un redémarrage graceful est nécessaire pour prendre en
+ compte un éventuel changement de clés.</p>
+
+ <p>A la différence de la directive
+ <code class="directive">SessionCryptoPassphrase</code>, les clés ne sont pas
+ présentes dans le fichier de configuration de httpd et peuvent être
+ cachées via une protection appropriée du fichier de clés.</p>
+
+ <p>Il est possible de spécifier plusieurs clés afin de mettre en
+ oeuvre la rotation de clés. La première clé spécifiée sera utilisée
+ pour le chiffrement, alors que l'ensemble des clés spécifiées le
+ sera pour le déchiffrement. Pour effectuer une rotation périodique
+ des clés sur plusieurs serveurs, ajoutez une nouvelle clé en fin de
+ liste, puis, une fois la rotation complète effectuée, supprimez la
+ première clé de la liste.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_crypto.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_session_crypto.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_session_crypto.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_session_dbd</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_session_dbd.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_session_dbd.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support des session basé sur DBD/SQL</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support des session basé sur DBD/SQL</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>session_dbd_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session_dbd.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>session_dbd_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_session_dbd.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3 d'Apache</td></tr></table>
<h3>Sommaire</h3>
<div class="warning"><h3>Avertissement</h3>
<p>Les modules de session font usage des cookies HTTP, et peuvent
- à ce titre être victimes d'attaques de type Cross Site Scripting,
- ou divulguer des informations à caractère privé aux clients.
- Veuillez vous assurer que les risques ainsi encourus ont été pris
+ à ce titre être victimes d'attaques de type Cross Site Scripting,
+ ou divulguer des informations à caractère privé aux clients.
+ Veuillez vous assurer que les risques ainsi encourus ont été pris
en compte avant d'activer le support des sessions sur votre
serveur.</p>
</div>
<p>Ce sous-module du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> fournit le
support du stockage des sessions utilisateur dans une base de
- données SQL en utilisant le module <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code>.</p>
+ données SQL en utilisant le module <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code>.</p>
<p>Les sessions sont soit <strong>anonymes</strong>, et la session
- est alors identifiée par un UUID unique stocké dans un cookie au
- niveau du navigateur, soit <strong>propres à l'utilisateur</strong>,
- et le session est alors identifiée par l'identifiant de
- l'utilisateur connecté.</p>
+ est alors identifiée par un UUID unique stocké dans un cookie au
+ niveau du navigateur, soit <strong>propres à l'utilisateur</strong>,
+ et le session est alors identifiée par l'identifiant de
+ l'utilisateur connecté.</p>
- <p>Les sessions basées sur SQL sont dissimulées au navigateur, et
- permettent ainsi de préserver la confidentialité sans avoir recours
+ <p>Les sessions basées sur SQL sont dissimulées au navigateur, et
+ permettent ainsi de préserver la confidentialité sans avoir recours
au chiffrement.</p>
- <p>Plusieurs serveurs web d'une forêt de serveurs peuvent choisir de
- partager une base de données, et ainsi partager les sessions entre
+ <p>Plusieurs serveurs web d'une forêt de serveurs peuvent choisir de
+ partager une base de données, et ainsi partager les sessions entre
eux.</p>
- <p>Pour plus de détails à propos de l'interface des sessions, voir
+ <p>Pour plus de détails à propos de l'interface des sessions, voir
la documentation du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p>
</div>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#dbdconfig">Configuration de DBD</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#anonymous">Sessions anonymes</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#peruser">Sessions propres à un
+<li><img alt="" src="../images/down.gif" /> <a href="#peruser">Sessions propres à un
utilisateur</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#housekeeping">Nettoyage de la base de
- données</a></li>
+ données</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdcookiename">SessionDBDCookieName</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdselectlabel">SessionDBDSelectLabel</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#sessiondbdupdatelabel">SessionDBDUpdateLabel</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session_dbd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session_dbd">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_session_dbd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_session_dbd">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_session.html">mod_session</a></code></li>
<li><code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code></li>
<div class="section">
<h2><a name="dbdconfig" id="dbdconfig">Configuration de DBD</a><a title="Lien permanent" href="#dbdconfig" class="permalink">¶</a></h2>
- <p>Pour que le module <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> puisse être
- configuré pour maintenir une session, il faut tout d'abord
+ <p>Pour que le module <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> puisse être
+ configuré pour maintenir une session, il faut tout d'abord
configurer le module <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour que le serveur
- puisse exécuter des requêtes vers la base de données.</p>
+ puisse exécuter des requêtes vers la base de données.</p>
- <p>Quatre types de requêtes sont nécessaires pour maintenir une
- session, sélectionner ou mettre à jour une session existante,
- insérer une nouvelle session et supprimer une session vide ou
- arrivée à expiration. Ces requêtes sont configurées comme dans
+ <p>Quatre types de requêtes sont nécessaires pour maintenir une
+ session, sélectionner ou mettre à jour une session existante,
+ insérer une nouvelle session et supprimer une session vide ou
+ arrivée à expiration. Ces requêtes sont configurées comme dans
l'exemple suivant :</p>
<div class="example"><h3>Exemple de configuration de DBD</h3><pre class="prettyprint lang-config">DBDriver pgsql
<div class="section">
<h2><a name="anonymous" id="anonymous">Sessions anonymes</a><a title="Lien permanent" href="#anonymous" class="permalink">¶</a></h2>
- <p>Les sessions anonymes sont identifiées par un UUID unique, et
- stockées dans un cookie au niveau du navigateur. Cette méthode est
- similaire à celle utilisée par la plupart des serveurs
+ <p>Les sessions anonymes sont identifiées par un UUID unique, et
+ stockées dans un cookie au niveau du navigateur. Cette méthode est
+ similaire à celle utilisée par la plupart des serveurs
d'applications pour stocker les informations de session.</p>
- <p>Pour créer une session anonyme, la stocker dans une table de
- base de donnée postgres nommée <var>apachesession</var>, et
- sauvegarder l'identifiant de session dans un cookie nommé
+ <p>Pour créer une session anonyme, la stocker dans une table de
+ base de donnée postgres nommée <var>apachesession</var>, et
+ sauvegarder l'identifiant de session dans un cookie nommé
<var>session</var>, configurez la session comme suit :</p>
- <div class="example"><h3>Session anonyme basée sur SQL</h3><pre class="prettyprint lang-config">Session On
+ <div class="example"><h3>Session anonyme basée sur SQL</h3><pre class="prettyprint lang-config">Session On
SessionDBDCookieName session path=/</pre>
</div>
- <p>Pour plus d'exemples sur la manière dont une application CGI
- peut accéder aux informations de session, voir la section exemples
+ <p>Pour plus d'exemples sur la manière dont une application CGI
+ peut accéder aux informations de session, voir la section exemples
de la documentation du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p>
- <p>Pour des détails sur la manière dont une session peut être
- utilisée pour stocker des informations de type nom
+ <p>Pour des détails sur la manière dont une session peut être
+ utilisée pour stocker des informations de type nom
d'utilisateur/mot de passe, voir la documentation du module
<code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</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="peruser" id="peruser">Sessions propres à un
+<h2><a name="peruser" id="peruser">Sessions propres à un
utilisateur</a><a title="Lien permanent" href="#peruser" class="permalink">¶</a></h2>
- <p>Les sessions propres à un utilisateur sont identifiées par le
- nom de l'utilisateur authentifié avec succès. Ceci permet
- d'assurer une confidentialité optimale, car aucun traitement
- externe à la session n'existe en dehors du contexte
- authentifié.</p>
-
- <p>Les sessions propres à un utilisateur ne fonctionnent que dans
- un environnement d'authentification correctement configuré, qu'il
- s'agisse d'une authentification de base, à base de condensés
- (digest) ou de certificats client SSL. Suite à des limitations
- dues à des dépendances mutuelles, les sessions propres à un
- utilisateur ne peuvent pas être utilisées pour stocker les données
+ <p>Les sessions propres à un utilisateur sont identifiées par le
+ nom de l'utilisateur authentifié avec succès. Ceci permet
+ d'assurer une confidentialité optimale, car aucun traitement
+ externe à la session n'existe en dehors du contexte
+ authentifié.</p>
+
+ <p>Les sessions propres à un utilisateur ne fonctionnent que dans
+ un environnement d'authentification correctement configuré, qu'il
+ s'agisse d'une authentification de base, à base de condensés
+ (digest) ou de certificats client SSL. Suite à des limitations
+ dues à des dépendances mutuelles, les sessions propres à un
+ utilisateur ne peuvent pas être utilisées pour stocker les données
d'authentification en provenance d'un module comme
<code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>.</p>
- <p>Pour créer une session propre à un utilisateur, la stocker dans
- une table de base de données postgres nommée
- <var>apachesession</var>, avec comme clé de session l'identifiant
+ <p>Pour créer une session propre à un utilisateur, la stocker dans
+ une table de base de données postgres nommée
+ <var>apachesession</var>, avec comme clé de session l'identifiant
utilisateur, ajoutez les lignes suivantes :</p>
- <div class="example"><h3>Session propre à un utilisateur basée sur SQL</h3><pre class="prettyprint lang-config">Session On
+ <div class="example"><h3>Session propre à un utilisateur basée sur SQL</h3><pre class="prettyprint lang-config">Session On
SessionDBDPerUser On</pre>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="housekeeping" id="housekeeping">Nettoyage de la base de
- données</a><a title="Lien permanent" href="#housekeeping" class="permalink">¶</a></h2>
- <p>Avec le temps, la base de données va commencer à accumuler des
- sessions expirées. Pour le moment, le module
- <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> n'est pas en mesure de gérer
+ données</a><a title="Lien permanent" href="#housekeeping" class="permalink">¶</a></h2>
+ <p>Avec le temps, la base de données va commencer à accumuler des
+ sessions expirées. Pour le moment, le module
+ <code class="module"><a href="../mod/mod_session_dbd.html">mod_session_dbd</a></code> n'est pas en mesure de gérer
automatiquement l'expiration des sessions.</p>
<div class="warning"><h3>Avertissement</h3>
<p>L'administrateur devra mettre en oeuvre un traitement externe
- via cron pour nettoyer les sessions expirées.</p>
+ via cron pour nettoyer les sessions expirées.</p>
</div>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom et attributs du cookie RFC2109 qui contient
l'identifiant de session</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDCookieName <var>nom</var> <var>attributs</var></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>configuration du serveur, serveur virtuel, répertoire, .htaccess</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>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_session_dbd</td></tr>
</table>
<p>La directive <code class="directive">SessionDBDCookieName</code> permet
- de spécifier le nom et les attributs optionnels d'un cookie
+ de spécifier le nom et les attributs optionnels d'un cookie
compatible RFC2109 qui contiendra l'identifiant de session. Les
- cookies RFC2109 sont définis à l'aide de l'en-tête HTTP
+ cookies RFC2109 sont définis à l'aide de l'en-tête HTTP
<code>Set-Cookie</code>.
</p>
- <p>Une liste optionnelle d'attributs peut être spécifiée pour ce
- cookie, comme dans l'exemple ci-dessous. Ces attributs sont insérés
- dans le cookie tel quel, et ne sont pas interprétés par Apache.
- Assurez-vous que vos attributs sont définis correctement selon la
- spécification des cookies.
+ <p>Une liste optionnelle d'attributs peut être spécifiée pour ce
+ cookie, comme dans l'exemple ci-dessous. Ces attributs sont insérés
+ dans le cookie tel quel, et ne sont pas interprétés par Apache.
+ Assurez-vous que vos attributs sont définis correctement selon la
+ spécification des cookies.
</p>
<div class="example"><h3>Cookie avec attributs</h3><pre class="prettyprint lang-config">Session On
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom et attributs du cookie RFC2965 qui contient
l'identifiant de session</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDCookieName2 <var>nom</var> <var>attributs</var></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>configuration du serveur, serveur virtuel, répertoire, .htaccess</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>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_session_dbd</td></tr>
</table>
<p>La directive <code class="directive">SessionDBDCookieName2</code> permet
- de spécifier le nom et les attributs optionnels d'un cookie
+ de spécifier le nom et les attributs optionnels d'un cookie
compatible RFC2965 qui contiendra l'identifiant de session. Les
- cookies RFC2965 sont définis à l'aide de l'en-tête HTTP
+ cookies RFC2965 sont définis à l'aide de l'en-tête HTTP
<code>Set-Cookie2</code>.
</p>
- <p>Une liste optionnelle d'attributs peut être spécifiée pour ce
- cookie, comme dans l'exemple ci-dessous. Ces attributs sont insérés
- dans le cookie tel quel, et ne sont pas interprétés par Apache.
- Assurez-vous que vos attributs sont définis correctement selon la
- spécification des cookies.
+ <p>Une liste optionnelle d'attributs peut être spécifiée pour ce
+ cookie, comme dans l'exemple ci-dessous. Ces attributs sont insérés
+ dans le cookie tel quel, et ne sont pas interprétés par Apache.
+ Assurez-vous que vos attributs sont définis correctement selon la
+ spécification des cookies.
</p>
<div class="example"><h3>Cookie2 avec attributs</h3><pre class="prettyprint lang-config">Session On
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sessiondbdcookieremove" id="sessiondbdcookieremove">Directive</a> <a name="SessionDBDCookieRemove" id="SessionDBDCookieRemove">SessionDBDCookieRemove</a><a title="Lien permanent" href="#sessiondbdcookieremove" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les cookies de session doivent être supprimés
-des en-têtes HTTP entrants</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les cookies de session doivent être supprimés
+des en-têtes HTTP entrants</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDCookieRemove On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDCookieRemove On</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#Default">Défaut:</a></th><td><code>SessionDBDCookieRemove On</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">AllowOverride:</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_session_dbd</td></tr>
</table>
<p>La directive <code class="directive">SessionDBDCookieRemove</code> permet
- de déterminer si les cookies contenant l'identifiant de session
- doivent être supprimés des en-têtes pendant le traitement de la
- requête.</p>
+ de déterminer si les cookies contenant l'identifiant de session
+ doivent être supprimés des en-têtes pendant le traitement de la
+ requête.</p>
- <p>Dans le cas d'un mandataire inverse où le serveur Apache sert de
- frontal à un serveur d'arrière-plan, révéler le contenu du cookie de
- session à ce dernier peut conduire à une violation de la
- confidentialité. A ce titre, si cette directive est définie à "on",
- le cookie de session sera supprimé des en-têtes HTTP entrants.</p>
+ <p>Dans le cas d'un mandataire inverse où le serveur Apache sert de
+ frontal à un serveur d'arrière-plan, révéler le contenu du cookie de
+ session à ce dernier peut conduire à une violation de la
+ confidentialité. A ce titre, si cette directive est définie à "on",
+ le cookie de session sera supprimé des en-têtes HTTP entrants.</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="sessiondbddeletelabel" id="sessiondbddeletelabel">Directive</a> <a name="SessionDBDDeleteLabel" id="SessionDBDDeleteLabel">SessionDBDDeleteLabel</a><a title="Lien permanent" href="#sessiondbddeletelabel" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La requête SQL à utiliser pour supprimer des sessions de la
-base de données</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDDeleteLabel <var>étiquette</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDDeleteLabel deletesession</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#Description">Description:</a></th><td>La requête SQL à utiliser pour supprimer des sessions de la
+base de données</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDDeleteLabel <var>étiquette</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDDeleteLabel deletesession</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">AllowOverride:</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_session_dbd</td></tr>
</table>
<p>La directive <code class="directive">SessionDBDDeleteLabel</code> permet
- de définir l'étiquette de la requête de suppression à utiliser par
- défaut pour supprimer une session vide ou expirée. Cette
- étiquette doit avoir été définie au préalable via une directive
+ de définir l'étiquette de la requête de suppression à utiliser par
+ défaut pour supprimer une session vide ou expirée. Cette
+ étiquette doit avoir été définie au préalable via une directive
<code class="directive"><a href="../mod/mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></code>.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sessiondbdinsertlabel" id="sessiondbdinsertlabel">Directive</a> <a name="SessionDBDInsertLabel" id="SessionDBDInsertLabel">SessionDBDInsertLabel</a><a title="Lien permanent" href="#sessiondbdinsertlabel" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La requête SQL à utiliser pour insérer des sessions dans la
-base de données</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDInsertLabel <var>étiquette</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDInsertLabel insertsession</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#Description">Description:</a></th><td>La requête SQL à utiliser pour insérer des sessions dans la
+base de données</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDInsertLabel <var>étiquette</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDInsertLabel insertsession</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">AllowOverride:</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_session_dbd</td></tr>
</table>
<p>La directive <code class="directive">SessionDBDInsertLabel</code> permet
- de définir l'étiquette de la requête d'insertion par défaut à
+ de définir l'étiquette de la requête d'insertion par défaut à
charger dans une session. Cette
- étiquette doit avoir été définie au préalable via une directive
+ étiquette doit avoir été définie au préalable via une directive
<code class="directive"><a href="../mod/mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></code>.</p>
- <p>Si une tentative de mise à jour d'une session ne concerne aucun
- enregistrement, c'est cette requête qui sera utilisée pour insérer
- la session dans la base de données.</p>
+ <p>Si une tentative de mise à jour d'une session ne concerne aucun
+ enregistrement, c'est cette requête qui sera utilisée pour insérer
+ la session dans la base de donné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="sessiondbdperuser" id="sessiondbdperuser">Directive</a> <a name="SessionDBDPerUser" id="SessionDBDPerUser">SessionDBDPerUser</a><a title="Lien permanent" href="#sessiondbdperuser" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active une session propre à un utilisateur</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active une session propre à un utilisateur</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDPerUser On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDPerUser Off</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#Default">Défaut:</a></th><td><code>SessionDBDPerUser Off</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">AllowOverride:</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_session_dbd</td></tr>
</table>
<p>La directive <code class="directive">SessionDBDPerUser</code> permet
- d'activer une session propre à un utilisateur, dont la clé sera le
- nom de l'utilisateur connecté. Si l'utilisateur n'est pas connecté,
- la directive sera ignorée.</p>
+ d'activer une session propre à un utilisateur, dont la clé sera le
+ nom de l'utilisateur connecté. Si l'utilisateur n'est pas connecté,
+ la directive sera ignorée.</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="sessiondbdselectlabel" id="sessiondbdselectlabel">Directive</a> <a name="SessionDBDSelectLabel" id="SessionDBDSelectLabel">SessionDBDSelectLabel</a><a title="Lien permanent" href="#sessiondbdselectlabel" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La requête SQL à utiliser pour sélectionner des sessions
-dans la base de données</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDSelectLabel <var>étiquette</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDSelectLabel selectsession</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#Description">Description:</a></th><td>La requête SQL à utiliser pour sélectionner des sessions
+dans la base de données</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDSelectLabel <var>étiquette</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDSelectLabel selectsession</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">AllowOverride:</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_session_dbd</td></tr>
</table>
<p>La directive <code class="directive">SessionDBDSelectLabel</code> permet
- de définir l'étiquette de la requête de sélection par défaut à
- utiliser pour charger une session. Cette étiquette doit avoir été
- définie au préalable via une directive <code class="directive"><a href="../mod/mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></code>.</p>
+ de définir l'étiquette de la requête de sélection par défaut à
+ utiliser pour charger une session. Cette étiquette doit avoir été
+ définie au préalable via une directive <code class="directive"><a href="../mod/mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></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="sessiondbdupdatelabel" id="sessiondbdupdatelabel">Directive</a> <a name="SessionDBDUpdateLabel" id="SessionDBDUpdateLabel">SessionDBDUpdateLabel</a><a title="Lien permanent" href="#sessiondbdupdatelabel" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La requête SQL à utiliser pour mettre à jour des sessions
-préexistantes dans la base de données</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDUpdateLabel <var>étiquette</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDUpdateLabel updatesession</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#Description">Description:</a></th><td>La requête SQL à utiliser pour mettre à jour des sessions
+préexistantes dans la base de données</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SessionDBDUpdateLabel <var>étiquette</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SessionDBDUpdateLabel updatesession</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">AllowOverride:</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_session_dbd</td></tr>
</table>
<p>La directive <code class="directive">SessionDBDUpdateLabel</code> permet
- de définir l'étiquette de la requête de mise à jour par défaut à
+ de définir l'étiquette de la requête de mise à jour par défaut à
charger dans une session. Cette
- étiquette doit avoir été définie au préalable via une directive
+ étiquette doit avoir été définie au préalable via une directive
<code class="directive"><a href="../mod/mod_dbd.html#dbdpreparesql">DBDPrepareSQL</a></code>.</p>
- <p>Si une tentative de mise à jour d'une session ne concerne aucun
- enregistrement, c'est la requête d'insertion qui sera appelée pour
- insérer la session dans la base de données. Si la base de données
- supporte InsertOrUpdate, modifiez cette requête pour effectuer la
- mise à jour en une seule requête au lieu de deux.</p>
+ <p>Si une tentative de mise à jour d'une session ne concerne aucun
+ enregistrement, c'est la requête d'insertion qui sera appelée pour
+ insérer la session dans la base de données. Si la base de données
+ supporte InsertOrUpdate, modifiez cette requête pour effectuer la
+ mise à jour en une seule requête au lieu de deux.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_session_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_session_dbd.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_session_dbd.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<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"> en </a> |
-<a href="../fr/mod/mod_setenvif.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_setenvif.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </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 certaines caractéristiques de la requête</td></tr>
+<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 certaines 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>
+<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 internes de manière conditionnelle en fonction
- de critères que vous pouvez spécifier. Ces variables d'environnement
- peuvent être utilisées par d'autres parties du serveur pour prendre
- des décisions quant aux actions à entreprendre, et pour déterminer
- si les scripts CGI et les pages SSI doivent pouvoir y accéder.</p>
+ <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 internes de manière conditionnelle en fonction
+ de critères que vous pouvez spécifier. Ces variables d'environnement
+ peuvent être utilisées par d'autres parties du serveur pour prendre
+ des décisions quant aux actions à entreprendre, et pour déterminer
+ si les scripts CGI et les pages SSI doivent pouvoir y accéder.</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
+ <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>
<pre class="prettyprint lang-config">BrowserMatch ^Mozilla netscape
BrowserMatch MSIE !netscape</pre>
- <p>Lorsque le serveur cherche un chemin via une <a class="glossarylink" href="../glossary.html#subrequest" title="voir glossaire">sous-requête</a> interne (par exemple la
- recherche d'un <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>), ou lorsqu'il génère un
- listing du contenu d'un répertoire via le module
- <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>, la sous-requête n'hérite pas des
- variables d'environnement spécifiques à la requête. En outre, à cause
+ <p>Lorsque le serveur cherche un chemin via une <a class="glossarylink" href="../glossary.html#subrequest" title="voir glossaire">sous-requête</a> interne (par exemple la
+ recherche d'un <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>), ou lorsqu'il génère un
+ listing du contenu d'un répertoire via le module
+ <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>, la sous-requête n'hérite pas des
+ variables d'environnement spécifiques à la requête. En outre, à cause
des phases de l'API auxquelles <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> prend
- part, les directives <code class="directive"><a href="#setenvif">SetEnvIf</a></code> ne sont pas évaluées
- séparément dans la sous-requête.</p>
+ part, les directives <code class="directive"><a href="#setenvif">SetEnvIf</a></code> ne sont pas évaluées
+ séparément dans la sous-requête.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#setenvifexpr">SetEnvIfExpr</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#setenvifnocase">SetEnvIfNoCase</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_setenvif">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_setenvif">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_setenvif">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_setenvif">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../env.html">Les variables d'environnement et le
serveur HTTP Apache</a></li>
<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">Directive</a> <a name="BrowserMatch" id="BrowserMatch">BrowserMatch</a><a title="Lien permanent" href="#browsermatch" class="permalink">¶</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#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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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
+ 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>
<pre class="prettyprint lang-config">BrowserMatch Robot is_a_robot
SetEnvIf User-Agent Robot is_a_robot</pre>
- <p>Quelques exemples supplémentaires :</p>
+ <p>Quelques exemples supplémentaires :</p>
<pre class="prettyprint lang-config">BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
BrowserMatch MSIE !javascript</pre>
<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">Directive</a> <a name="BrowserMatchNoCase" id="BrowserMatchNoCase">BrowserMatchNoCase</a><a title="Lien permanent" href="#browsermatchnocase" class="permalink">¶</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
+<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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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">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>
+ 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>
<pre class="prettyprint lang-config">BrowserMatchNoCase mac platform=macintosh
BrowserMatchNoCase win platform=windows</pre>
<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>
+ Ainsi, les deux lignes suivantes produisent le même effet :</p>
<pre class="prettyprint lang-config">BrowserMatchNoCase Robot is_a_robot
SetEnvIfNoCase User-Agent Robot is_a_robot</pre>
<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">Directive</a> <a name="SetEnvIf" id="SetEnvIf">SetEnvIf</a><a title="Lien permanent" href="#setenvif" class="permalink">¶</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#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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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
+ <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 formes suivantes :</p>
+ requête. L'<em>attribut</em> spécifié comme premier argument peut
+ se présenter sous l'une des 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>,
+<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>
+ 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 :
+<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_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>
+ 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 à
+ <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
+ <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",
+ 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
+ <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>
+ 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
+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
+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>
+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>
</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>
+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>
+<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>, ou</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 httpd reconnaît les occurrences de variables
- <code>$1</code>..<code>$9</code> à l'intérieur de
+ <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 httpd 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>. <code>$0</code> permet d'accéder à l'ensemble de la chaîne
- qui correspond à ce modèle.</p>
+ sous-expressions entre parenthèses correspondantes de
+ <var>regex</var>. <code>$0</code> permet d'accéder à l'ensemble de la chaîne
+ qui correspond à ce modèle.</p>
<pre class="prettyprint lang-config">SetEnvIf Request_URI "\.gif$" object_is_image=gif
SetEnvIf Request_URI "\.jpg$" object_is_image=jpg
SetEnvIf ^TS ^[a-z] HAVE_TS</pre>
- <p>Les trois premières lignes définissent la variable
+ <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>intra_site_referral</code> si la page référante se trouve
+ requête est un fichier image, et la quatrième définit la variable
+ <code>intra_site_referral</code> si la page référante se trouve
quelque part dans le site web
<code>www.mydomain.example.com</code>.</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
+ <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 et le
-serveur HTTP Apache</a> pour des exemples supplémentaires.
+serveur HTTP 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="setenvifexpr" id="setenvifexpr">Directive</a> <a name="SetEnvIfExpr" id="SetEnvIfExpr">SetEnvIfExpr</a><a title="Lien permanent" href="#setenvifexpr" class="permalink">¶</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 d'une expression ap_expr</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction d'une expression ap_expr</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetEnvIfExpr <em>expr
[!]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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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">SetEnvIfExpr</code> permet de
- définir des variables d'environnement en fonction d'une expression
+ définir des variables d'environnement en fonction d'une expression
<code class="directive"><a href="../mod/core.html#if"><If></a></code> <code>ap_expr</code>. Cette
- expression est évaluée à l'exécution, et utilise les variables
- d'environnement <em>env-variable</em> de la même manière que la
+ expression est évaluée à l'exécution, et utilise les variables
+ d'environnement <em>env-variable</em> de la même manière que la
directive <code class="directive">SetEnvIf</code>.</p>
<pre class="prettyprint lang-config">SetEnvIfExpr "tolower(req('X-Sendfile')) == 'd:\images\very_big.iso')" iso_delivered</pre>
<p>Dans cet exemple, la variable d'environnement
- <code>iso_delivered</code> est définie chaque fois que notre
+ <code>iso_delivered</code> est définie chaque fois que notre
application tente de l'envoyer via <code>X-Sendfile</code>.</p>
- <p>Il pourrait être plus utile de définir une variable rfc1918 si
- l'adresse IP distante est une adresse privée au sens de la RFC 1918
+ <p>Il pourrait être plus utile de définir une variable rfc1918 si
+ l'adresse IP distante est une adresse privée au sens de la RFC 1918
:</p>
<pre class="prettyprint lang-config">SetEnvIfExpr "-R '10.0.0.0/8' || -R '172.16.0.0/12' || -R '192.168.0.0/16'" rfc1918</pre>
<h3>Voir aussi</h3>
<ul>
<li><a href="../expr.html">Les expressions dans le serveur HTTP
-Apache</a>, pour une référence complète et davantage d'exemples.</li>
-<li>La directive <code class="directive"><a href="../mod/core.html#if"><If></a></code> permet d'obtenir des résultats
+Apache</a>, pour une référence complète et davantage d'exemples.</li>
+<li>La directive <code class="directive"><a href="../mod/core.html#if"><If></a></code> permet d'obtenir des résultats
similaires.</li>
<li><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></li>
</ul>
<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">Directive</a> <a name="SetEnvIfNoCase" id="SetEnvIfNoCase">SetEnvIfNoCase</a><a title="Lien permanent" href="#setenvifnocase" class="permalink">¶</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#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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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">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
+ 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>
+ effectuée sans tenir compte de la casse. Par exemple :</p>
<pre class="prettyprint lang-config">SetEnvIfNoCase Host Example\.Org site=example</pre>
- <p>Cette ligne va définir la variable d'environnement
+ <p>Cette ligne va définir la variable d'environnement
<code>site</code> avec la valeur "<code>example</code>" si le champ
- d'en-tête de requête HTTP <code>Host:</code> est présent et contient
+ d'en-tête de requête HTTP <code>Host:</code> est présent et contient
<code>Example.Org</code>, <code>example.org</code>, ou une autre
- combinaison des mêmes caractères, sans tenir compte de la casse.</p>
+ 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"> en </a> |
-<a href="../fr/mod/mod_setenvif.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_setenvif.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_slotmem_plain</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_slotmem_plain.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_slotmem_plain.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_slotmem_plain.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de mémoire partagée à base de
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de mémoire partagée à base de
slots.</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>slotmem_plain_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_slotmem_plain.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>slotmem_plain_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_slotmem_plain.c</td></tr></table>
<h3>Sommaire</h3>
- <p><code class="module"><a href="../mod/mod_slotmem_plain.html">mod_slotmem_plain</a></code> est un fournisseur de mémoire qui
- permet la création et l'utilisation d'un segment de mémoire contigu
- dans lequel les ensembles de données sont organisés en "slots".
+ <p><code class="module"><a href="../mod/mod_slotmem_plain.html">mod_slotmem_plain</a></code> est un fournisseur de mémoire qui
+ permet la création et l'utilisation d'un segment de mémoire contigu
+ dans lequel les ensembles de données sont organisés en "slots".
</p>
- <p>Si la mémoire doit être partagée entre des threads et des
- processus, il est préférable d'utiliser le fournisseur
+ <p>Si la mémoire doit être partagée entre des threads et des
+ processus, il est préférable d'utiliser le fournisseur
<code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code>.
</p>
<pre class="prettyprint lang-c">/* appelle le callback sur tous les slots actifs */
apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool)
-/* crée un nouveau slot de mémoire dont chaque item aura une taille de item_size. */
+/* crée un nouveau slot de mémoire dont chaque item aura une taille de item_size. */
apr_status_t create(ap_slotmem_instance_t **new, const char *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)
-/* rattache à un slot de mémoire existant. */
+/* rattache à un slot de mémoire existant. */
apr_status_t attach(ap_slotmem_instance_t **new, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)
-/* indique la mémoire associée à ce slot actif. */
+/* indique la mémoire associée à ce slot actif. */
apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void **mem)
-/* lit la mémoire depuis ce slot et la transfert vers dest */
+/* lit la mémoire depuis ce slot et la transfert vers dest */
apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len)
-/* écrit dans ce slot la mémoire en provenance de src */
+/* écrit dans ce slot la mémoire en provenance de src */
apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len)
/* renvoie le nombre total de slots contenus dans ce segment */
unsigned int num_slots(ap_slotmem_instance_t *s)
-/* renvoie la taille totale des données, en octets, contenues dans un slot de ce segment */
+/* renvoie la taille totale des données, en octets, contenues dans un slot de ce segment */
apr_size_t slot_size(ap_slotmem_instance_t *s)
-/* alloue le premier slot libre et le marque comme utilisé (n'effectue aucune copie de données) */
+/* alloue le premier slot libre et le marque comme utilisé (n'effectue aucune copie de données) */
apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id)
-/* appropriation ou allocation forcée du slot spécifié et marquage comme utilisé (n'effectue aucune copie de données) */
+/* appropriation ou allocation forcée du slot spécifié et marquage comme utilisé (n'effectue aucune copie de données) */
apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id)
-/* libère un slot et le marque comme non utilisé (n'effectue aucune copie de données) */
+/* libère un slot et le marque comme non utilisé (n'effectue aucune copie de données) */
apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id)</pre>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_slotmem_plain">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_slotmem_plain">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_slotmem_plain">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_slotmem_plain">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_slotmem_plain.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_slotmem_plain.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_slotmem_plain.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_slotmem_shm</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_slotmem_shm.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_slotmem_shm.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_slotmem_shm.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de mémoire partagée basée sur les
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de mémoire partagée basée sur les
slots.</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>slotmem_shm_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_slotmem_shm.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>slotmem_shm_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_slotmem_shm.c</td></tr></table>
<h3>Sommaire</h3>
- <p><code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code> est un fournisseur de mémoire qui
- permet la création et l'accès à un segment de mémoire partagée dans
- lequel les ensembles de données sont organisés en "slots".
+ <p><code class="module"><a href="../mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code> est un fournisseur de mémoire qui
+ permet la création et l'accès à un segment de mémoire partagée dans
+ lequel les ensembles de données sont organisés en "slots".
</p>
- <p>L'ensemble de la mémoire partagée est effacé à chaque
- redémarrage, que ce dernier soit graceful ou non. Les données sont
- stockées et restituées dans/à partir d'un fichier défini par le
- paramètre <code>name</code> des appels <code>create</code> et
- <code>attach</code>. Si son chemin absolu n'est pas spécifié, le
- chemin du fichier sera relatif au chemin défini par la directive
+ <p>L'ensemble de la mémoire partagée est effacé à chaque
+ redémarrage, que ce dernier soit graceful ou non. Les données sont
+ stockées et restituées dans/à partir d'un fichier défini par le
+ paramètre <code>name</code> des appels <code>create</code> et
+ <code>attach</code>. Si son chemin absolu n'est pas spécifié, le
+ chemin du fichier sera relatif au chemin défini par la directive
<code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.
</p>
<pre class="prettyprint lang-c">/* appelle le callback pour tous les slots actifs */
apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool)
-/* crée un nouveau slot de mémoire dont chaque taille d'item est
- item_size. 'name' est utilisé pour générer le nom du fichier
- permettant de stocker/restaurer le contenu de la mémoire partagée,
- si elle est configurée. Les valeurs possibles sont :
- "none" - Mémoire partagée anonyme et pas de stockage permanent
+/* crée un nouveau slot de mémoire dont chaque taille d'item est
+ item_size. 'name' est utilisé pour générer le nom du fichier
+ permettant de stocker/restaurer le contenu de la mémoire partagée,
+ si elle est configurée. Les valeurs possibles sont :
+ "none" - Mémoire partagée anonyme et pas de stockage permanent
"file-name" - [DefaultRuntimeDir]/file-name
"/absolute-file-name" - Chemin absolu du fichier */
apr_status_t create(ap_slotmem_instance_t **new, const char *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)
-/* attache à un slot de mémoire existant. Voir
- 'create' pour la description du paramètre
+/* attache à un slot de mémoire existant. Voir
+ 'create' pour la description du paramètre
'name'. */
apr_status_t attach(ap_slotmem_instance_t **new, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)
-/* obtient la mémoire associée à ce slot actif. */
+/* obtient la mémoire associée à ce slot actif. */
apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void **mem)
-/* lit la mémoire depuis ce slot et la transfert vers dest */
+/* lit la mémoire depuis ce slot et la transfert vers dest */
apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len)
-/* écrit dans ce slot la mémoire en provenance de src */
+/* écrit dans ce slot la mémoire en provenance de src */
apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len)
/* renvoie le nombre total de slots contenus dans ce segment */
unsigned int num_slots(ap_slotmem_instance_t *s)
-/* renvoie la taille totale des données, en octets, contenues
+/* renvoie la taille totale des données, en octets, contenues
dans un slot de ce segment */
apr_size_t slot_size(ap_slotmem_instance_t *s)
-/* alloue le premier slot libre et le marque comme utilisé (n'effectue aucune
- copie de données) */
+/* alloue le premier slot libre et le marque comme utilisé (n'effectue aucune
+ copie de données) */
apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id)
-/* appropriation ou allocation forcée du slot spécifié et marquage comme
- utilisé (n'effectue aucune copie de données) */
+/* appropriation ou allocation forcée du slot spécifié et marquage comme
+ utilisé (n'effectue aucune copie de données) */
apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id)
-/* libère un slot et le marque comme non utilisé (n'effectue aucune
- copie de données) */
+/* libère un slot et le marque comme non utilisé (n'effectue aucune
+ copie de données) */
apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id)</pre>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_slotmem_shm">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_slotmem_shm">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_slotmem_shm">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_slotmem_shm">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_slotmem_shm.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_slotmem_shm.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_slotmem_shm.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_so</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_so.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_so.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Chargement de modules ou de code exécutable au cours du
-démarrage ou du redémarrage du serveur</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Chargement de modules ou de code exécutable au cours du
+démarrage ou du redémarrage du serveur</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>so_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_so.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Sous Windows, c'est un module de base (toujours
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>so_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_so.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Sous Windows, c'est un module de base (toujours
inclus)</td></tr></table>
<h3>Sommaire</h3>
- <p>Sur les systèmes d'exploitation sélectionnés, ce module peut être
- utilisé pour charger des modules dans le serveur HTTP Apache en cours d'exécution
- grâce au mécanisme des <a href="../dso.html">Dynamic Shared Object ou Objets Partagés
- Dynamiquement</a> (DSO), et évite ainsi de devoir effectuer une
+ <p>Sur les systèmes d'exploitation sélectionnés, ce module peut être
+ utilisé pour charger des modules dans le serveur HTTP Apache en cours d'exécution
+ grâce au mécanisme des <a href="../dso.html">Dynamic Shared Object ou Objets Partagés
+ Dynamiquement</a> (DSO), et évite ainsi de devoir effectuer une
recompilation.</p>
- <p>Sous Unix, le code chargé provient en général de fichiers objet
- partagés possèdant en général l'extension <code>.so</code>, alors
- que sous Windows, l'extension peut être soit <code>.so</code>, soit
+ <p>Sous Unix, le code chargé provient en général de fichiers objet
+ partagés possèdant en général l'extension <code>.so</code>, alors
+ que sous Windows, l'extension peut être soit <code>.so</code>, soit
<code>.dll</code>.</p>
<div class="warning"><h3>Avertissement</h3>
- <p>En général, les modules compilés pour une version majeure du
+ <p>En général, les modules compilés pour une version majeure du
serveur HTTP Apache ne fonctionneront pas avec une autre (par
- exemple de 1.3 à 2.0 ou 2.0 à 2.2). D'une version majeure à l'autre,
- il y a souvent des modifications d'API qui nécessitent des
+ exemple de 1.3 à 2.0 ou 2.0 à 2.2). D'une version majeure à l'autre,
+ il y a souvent des modifications d'API qui nécessitent des
modifications du module pour qu'il puisse fonctionner avec la
nouvelle version.</p>
</div>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#windows">Création de modules chargeables pour
+<li><img alt="" src="../images/down.gif" /> <a href="#windows">Création de modules chargeables pour
Windows</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#loadfile">LoadFile</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#loadmodule">LoadModule</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_so">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_so">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_so">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_so">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="windows" id="windows">Création de modules chargeables pour
+<h2><a name="windows" id="windows">Création de modules chargeables pour
Windows</a><a title="Lien permanent" href="#windows" class="permalink">¶</a></h2>
<div class="note"><h3>Note</h3>
- <p>Sous Windows, où les modules chargeables possèdent en général
+ <p>Sous Windows, où les modules chargeables possèdent en général
l'extension de nom de fichier <code>.dll</code>, les modules Apache
httpd se nomment <code>mod_nom-module.so</code>, tout comme sur les
autres plates-formes. Vous trouverez cependant encore des modules
convention de nommage avec extension <code>.dll</code>.</p>
<p>Bien que <code>mod_so</code> puisse encore charger des modules
- possèdant un nom du style <code>ApacheModuleFoo.dll</code>,
- il est préférable d'utiliser la
+ possèdant un nom du style <code>ApacheModuleFoo.dll</code>,
+ il est préférable d'utiliser la
nouvelle convention de nommage ; si vous modifiez votre module
chargeable pour la version 2.0, veuillez aussi modifier son nom pour
respecter cette nouvelle convention.</p></div>
<p>Les API des modules Apache httpd sous Unix et Windows sont identiques.
Alors que certains modules s'appuient sur certains
- aspects de l'architecture Unix non présents dans Windows, et ne
- fonctionneront donc pas sur cette dernière plate-forme, de nombreux
+ aspects de l'architecture Unix non présents dans Windows, et ne
+ fonctionneront donc pas sur cette dernière plate-forme, de nombreux
modules fonctionnent sous Windows avec peu ou pas de modification
- par rapport à leur version Unix.</p>
+ par rapport à leur version Unix.</p>
- <p>Lorsqu'un module fonctionne, il peut être ajouté au serveur de
- deux manières. Sous Unix, il peut être compilé dans le serveur.
+ <p>Lorsqu'un module fonctionne, il peut être ajouté au serveur de
+ deux manières. Sous Unix, il peut être compilé dans le serveur.
Comme Apache httpd pour Windows ne dispose pas du programme
- <code>Configure</code> propre à Apache httpd pour Unix, le fichier source
- du module doit être ajouté au fichier projet Apache de base, et ses
- symboles ajoutés au fichier <code>os\win32\modules.c</code>.</p>
+ <code>Configure</code> propre à Apache httpd pour Unix, le fichier source
+ du module doit être ajouté au fichier projet Apache de base, et ses
+ symboles ajoutés au fichier <code>os\win32\modules.c</code>.</p>
- <p>La seconde méthode consiste à compiler le module en tant que DLL,
- à savoir une bibliothèque partagée qui pourra être chargée dans le
- serveur en cours d'exécution via la directive
+ <p>La seconde méthode consiste à compiler le module en tant que DLL,
+ à savoir une bibliothèque partagée qui pourra être chargée dans le
+ serveur en cours d'exécution via la directive
<code class="directive">LoadModule</code>. Ces modules DLL
- peuvent être distribués et exécutés sur toute installation d'Apache
- httpd pour Windows, sans avoir à recompiler le serveur.</p>
+ peuvent être distribués et exécutés sur toute installation d'Apache
+ httpd pour Windows, sans avoir à recompiler le serveur.</p>
- <p>Pour créer un module DLL, il est nécessaire d'apporter une légère
- modification à son fichier source : l'enregistrement du module doit
- être exporté depuis la DLL (qui sera elle-même créée plus tard ;
+ <p>Pour créer un module DLL, il est nécessaire d'apporter une légère
+ modification à son fichier source : l'enregistrement du module doit
+ être exporté depuis la DLL (qui sera elle-même créée plus tard ;
voir plus loin). Pour ce faire, ajoutez la macro
- <code>AP_MODULE_DECLARE_DATA</code> (définie dans les fichiers
- d'en-têtes d'Apache httpd) à la définition de l'enregistrement de votre
- module. Par exemple, si votre module est déclaré comme suit :</p>
+ <code>AP_MODULE_DECLARE_DATA</code> (définie dans les fichiers
+ d'en-têtes d'Apache httpd) à la définition de l'enregistrement de votre
+ module. Par exemple, si votre module est déclaré comme suit :</p>
<div class="example"><p><code>
module foo_module;
</code></p></div>
<p>Notez que cette macro ne sera prise en compte que sous Windows,
- si bien que le module poura être utilisé sans changement sous Unix,
- si besoin est. Alternativement, si vous êtes familier avec les
+ si bien que le module poura être utilisé sans changement sous Unix,
+ si besoin est. Alternativement, si vous êtes familier avec les
fichiers <code>.DEF</code>, vous pouvez les utiliser pour exporter
l'enregistrement du module.</p>
- <p>Maintenant, nous sommes prêts à créer une DLL contenant notre
- module. Il va falloir pour cela la lier avec la bibliothèque
- d'export libhttpd.lib qui a été créée au cours de la compilation de
- la bibliothèque partagée libhttpd.dll. Il sera peut-être aussi
- nécessaire de modifier la configuration du compilateur pour
- s'assurer que les fichiers d'en-têtes d'Apache httpd seront correctement
- localisés. Vous trouverez cette bibliothèque à la racine du
- répertoire des modules de votre serveur. Il est souhaitable
+ <p>Maintenant, nous sommes prêts à créer une DLL contenant notre
+ module. Il va falloir pour cela la lier avec la bibliothèque
+ d'export libhttpd.lib qui a été créée au cours de la compilation de
+ la bibliothèque partagée libhttpd.dll. Il sera peut-être aussi
+ nécessaire de modifier la configuration du compilateur pour
+ s'assurer que les fichiers d'en-têtes d'Apache httpd seront correctement
+ localisés. Vous trouverez cette bibliothèque à la racine du
+ répertoire des modules de votre serveur. Il est souhaitable
d'utiliser un fichier de module .dsp existant dans l'arborescence
afin de s'assurer que l'environnement de compilation est
- correctement configuré, mais vous pouvez aussi comparer les options
- de compilation et d'édition de liens à votre fichier .dsp.</p>
+ correctement configuré, mais vous pouvez aussi comparer les options
+ de compilation et d'édition de liens à votre fichier .dsp.</p>
- <p>Ceci devrait créer une version DLL de votre module. Il vous
- suffit maintenant de l'enregistrer dans le répertoire
- <code>modules</code> à la racine de votre serveur, et d'utiliser la
+ <p>Ceci devrait créer une version DLL de votre module. Il vous
+ suffit maintenant de l'enregistrer dans le répertoire
+ <code>modules</code> à la racine de votre serveur, et d'utiliser la
directive <code class="directive">LoadModule</code> pour la charger.</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="loadfile" id="loadfile">Directive</a> <a name="LoadFile" id="LoadFile">LoadFile</a><a title="Lien permanent" href="#loadfile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liaison du fichier objet ou de la bibliothèque
-spécifié</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liaison du fichier objet ou de la bibliothèque
+spécifié</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LoadFile <em>nom-fichier</em> [<em>nom-fichier</em>] ...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
</table>
<p>La directive <code class="directive">LoadFile</code> permet de lier le fichier
- objet ou la bibliothèque spécifié au serveur lors du
- démarrage ou du redémarrage
+ objet ou la bibliothèque spécifié au serveur lors du
+ démarrage ou du redémarrage
de ce dernier ; ceci permet d'ajouter tout code additionnel
- nécessaire au fonctionnement d'un module.
+ nécessaire au fonctionnement d'un module.
<em>nom-fichier</em> est soit un chemin absolu, soit un chemin
- relatif au répertoire défini par la directive <a href="core.html#serverroot">ServerRoot</a>.</p>
+ relatif au répertoire défini par la directive <a href="core.html#serverroot">ServerRoot</a>.</p>
<p>Par exemple:</p>
<div class="directive-section"><h2><a name="loadmodule" id="loadmodule">Directive</a> <a name="LoadModule" id="LoadModule">LoadModule</a><a title="Lien permanent" href="#loadmodule" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liaison avec le serveur du fichier objet ou de la
-bibliothèque spécifié, et ajout de ce dernier à la liste des modules
+bibliothèque spécifié, et ajout de ce dernier à la liste des modules
actifs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LoadModule <em>module nom-fichier</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_so</td></tr>
</table>
<p>La directive <code class="directive">LoadModule</code> permet de lier le fichier objet ou la
- bibliothèque <em>nom-fichier</em> avec le serveur, et d'ajouter la
- structure de module nommée <em>module</em> à la liste des modules
+ bibliothèque <em>nom-fichier</em> avec le serveur, et d'ajouter la
+ structure de module nommée <em>module</em> à la liste des modules
actifs. <em>module</em> est le nom de la variable externe de type
- <code>module</code> dans le fichier, et est référencé comme <a href="module-dict.html#ModuleIdentifier">Identificateur de
+ <code>module</code> dans le fichier, et est référencé comme <a href="module-dict.html#ModuleIdentifier">Identificateur de
module</a> dans la documentation des modules.</p>
<p>Par exemple :</p>
<pre class="prettyprint lang-config">LoadModule "status_module modules/mod_status.so"</pre>
- <p>charge le module spécifié depuis le sous-répertoire des modules
- situé à la racine du serveur.</p>
+ <p>charge le module spécifié depuis le sous-répertoire des modules
+ situé à la racine du serveur.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_so.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_so.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_so.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_socache_dbm</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_socache_dbm.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_socache_dbm.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de cache d'objets partagés basé sur DBM.</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de cache d'objets partagés basé sur DBM.</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>socache_dbm_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_socache_dbm.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>socache_dbm_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_socache_dbm.c</td></tr></table>
<h3>Sommaire</h3>
<p>Le module <code>mod_socache_dbm</code> est un fournisseur de cache
- d'objets partagés qui permet la création et l'accès à un cache
- maintenu par une base de données DBM.
+ d'objets partagés qui permet la création et l'accès à un cache
+ maintenu par une base de données DBM.
</p>
<div class="example"><p><code>
dbm:/chemin/vers/datafile
</code></p></div>
- <p>Si le chemin spécifié n'est pas un chemin absolu, il sera relatif
- au chemin défini via la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p>
+ <p>Si le chemin spécifié n'est pas un chemin absolu, il sera relatif
+ au chemin défini via la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p>
- <p>Vous trouverez des détails à propos des autres fournisseurs de
- cache d'objets partagés <a href="../socache.html">ici</a>.
+ <p>Vous trouverez des détails à propos des autres fournisseurs de
+ cache d'objets partagés <a href="../socache.html">ici</a>.
</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_dbm">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_dbm">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_dbm">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_dbm">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_dbm.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_socache_dbm.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_socache_dbm.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_socache_dc</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_dc.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_socache_dc.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_socache_dc.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de cache d'objets partagés basé sur dc.</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de cache d'objets partagés basé sur dc.</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>socache_dc_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_socache_dc.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>socache_dc_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_socache_dc.c</td></tr></table>
<h3>Sommaire</h3>
<p>Le module <code class="module"><a href="../mod/mod_socache_dc.html">mod_socache_dc</a></code> est un fournisseur de cache
- d'objets partagés qui permet la création et l'accès à un cache
- maintenu par les bibliothèques de mise en cache de sessions
- distribuées <a href="http://distcache.sourceforge.net/">distcache</a>.
+ d'objets partagés qui permet la création et l'accès à un cache
+ maintenu par les bibliothèques de mise en cache de sessions
+ distribuées <a href="http://distcache.sourceforge.net/">distcache</a>.
</p>
- <p>Vous trouverez des détails à propos des autres fournisseurs de
- cache d'objets partagés <a href="../socache.html">ici</a>.
+ <p>Vous trouverez des détails à propos des autres fournisseurs de
+ cache d'objets partagés <a href="../socache.html">ici</a>.
</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_dc">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_dc">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_dc">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_dc">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_dc.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_socache_dc.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_socache_dc.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_socache_memcache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_memcache.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_socache_memcache.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_socache_memcache.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de cache d'objets partagés basé sur Memcache.</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de cache d'objets partagés basé sur Memcache.</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>socache_memcache_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_socache_memcache.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>socache_memcache_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_socache_memcache.c</td></tr></table>
<h3>Sommaire</h3>
<p>Le module <code>mod_socache_memcache</code> est un fournisseur de cache
- d'objets partagés qui permet la création et l'accès à un cache
- maintenu par le système de mise en cache d'objets en mémoire
- distribuée à hautes performances <a href="http://memcached.org/">memcached</a>.
+ d'objets partagés qui permet la création et l'accès à un cache
+ maintenu par le système de mise en cache d'objets en mémoire
+ distribuée à hautes performances <a href="http://memcached.org/">memcached</a>.
</p>
- <p>Cette méthode "create" du fournisseur de cache d'objets partagés
- requiert une liste de spécifications hôte/port en cache mémoire
- séparées par des virgules. Si vous utilisez ce fournisseur en
+ <p>Cette méthode "create" du fournisseur de cache d'objets partagés
+ requiert une liste de spécifications hôte/port en cache mémoire
+ séparées par des virgules. Si vous utilisez ce fournisseur en
dans la configuration d'autres modules (comme
<code class="directive"><a href="../mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code>), vous devez
- fournir la liste des serveurs sous la forme du paramètre optionnel
+ fournir la liste des serveurs sous la forme du paramètre optionnel
"arg".</p>
<pre class="prettyprint lang-config">SSLSessionCache memcache:memcache.example.com:12345,memcache2.example.com:12345</pre>
- <p>Vous trouverez des détails à propos des autres fournisseurs de
- cache d'objets partagés <a href="../socache.html">ici</a>.
+ <p>Vous trouverez des détails à propos des autres fournisseurs de
+ cache d'objets partagés <a href="../socache.html">ici</a>.
</p>
</div>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#memcacheconnttl">MemcacheConnTTL</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_memcache">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_memcache">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_memcache">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_memcache">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</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="memcacheconnttl" id="memcacheconnttl">Directive</a> <a name="MemcacheConnTTL" id="MemcacheConnTTL">MemcacheConnTTL</a><a title="Lien permanent" href="#memcacheconnttl" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de conservation des connexions inactives</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de conservation des connexions inactives</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MemcacheConnTTL <em>num[units]</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MemcacheConnTTL 15s</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MemcacheConnTTL 15s</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_socache_memcache</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur HTTP
Apache.</td></tr>
</table>
- <p>Définit la durée pendant laquelle les connexions
- inactives avec le(s) serveur(s) memcache seront conservées
- (plateformes threadées seulement).</p>
+ <p>Définit la durée pendant laquelle les connexions
+ inactives avec le(s) serveur(s) memcache seront conservées
+ (plateformes threadées seulement).</p>
<p>Les valeurs valides de la directive
- <code class="directive">MemcacheConnTTL</code> sont des durées d'une heure
- maximum. La valeur 0 signifie une absence de péremption</p>
+ <code class="directive">MemcacheConnTTL</code> sont des durées d'une heure
+ maximum. La valeur 0 signifie une absence de péremption</p>
- <div class="note"><p>L'unité par défaut pour ce délai est la seconde, mais vous
- pouvez ajouter un suffixe pour spécifier une unité différente ; ms
+ <div class="note"><p>L'unité par défaut pour ce délai est la seconde, mais vous
+ pouvez ajouter un suffixe pour spécifier une unité différente ; ms
pour milliseconde, s pour seconde, min pour minute et h pour heure..
</p></div>
- <p>Dans les versions antérieures à 2.4.17, ce délai était codé en
- dur et sa valeur était 600 microsecondes. La valeur la plus proche
+ <p>Dans les versions antérieures à 2.4.17, ce délai était codé en
+ dur et sa valeur était 600 microsecondes. La valeur la plus proche
de cette ancienne valeur pour la directive
<code class="directive">MemcacheConnTTL</code> est donc 1ms.</p>
- <div class="example"><pre class="prettyprint lang-config"># Définition d'un délai de 10 minutes
+ <div class="example"><pre class="prettyprint lang-config"># Définition d'un délai de 10 minutes
MemcacheConnTTL 10min
-# Définition d'un délai de 60 secondes
+# Définition d'un délai de 60 secondes
MemcacheConnTTL 60</pre>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_memcache.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_socache_memcache.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_socache_memcache.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_socache_shmcb</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_shmcb.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_socache_shmcb.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_socache_shmcb.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de cache d'objets partagés basé sur shmcb.</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournisseur de cache d'objets partagés basé sur shmcb.</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>socache_shmcb_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_socache_shmcb.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>socache_shmcb_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_socache_shmcb.c</td></tr></table>
<h3>Sommaire</h3>
<p>Le module <code>mod_socache_shmcb</code> est un fournisseur de cache
- d'objets partagés qui permet la création et l'accès à un cache
- maintenu par un tampon cyclique à hautes performances au sein d'un
- segment de mémoire partagée.
+ d'objets partagés qui permet la création et l'accès à un cache
+ maintenu par un tampon cyclique à hautes performances au sein d'un
+ segment de mémoire partagée.
</p>
<div class="example"><p><code>
shmcb:/chemin/vers/datafile(512000)
</code></p></div>
- <p>Si le chemin spécifié n'est pas un chemin absolu, il sera relatif
- au chemin défini via la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p>
+ <p>Si le chemin spécifié n'est pas un chemin absolu, il sera relatif
+ au chemin défini via la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p>
- <p>Vous trouverez des détails à propos des autres fournisseurs de
- cache d'objets partagés <a href="../socache.html">ici</a>.
+ <p>Vous trouverez des détails à propos des autres fournisseurs de
+ cache d'objets partagés <a href="../socache.html">ici</a>.
</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_shmcb">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_shmcb">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_socache_shmcb">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_socache_shmcb">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_socache_shmcb.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_socache_shmcb.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_socache_shmcb.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_speling</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_speling.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_speling.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_speling.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_speling.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Tente de corriger les erreurs de casse dans les URLs ou les
-erreurs d'écriture mineures.</td></tr>
+erreurs d'écriture mineures.</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>speling_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_speling.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>speling_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_speling.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Il arrive que des requêtes pour des documents ne puissent pas
- être traitées par le serveur Apache de base à cause d'une erreur
+ <p>Il arrive que des requêtes pour des documents ne puissent pas
+ être traitées par le serveur Apache de base à cause d'une erreur
d'orthographe ou de majuscule. Ce module permet de traiter ce
- problème en essayant de trouver un document correspondant, même
- lorsque tous les autres modules y ont renoncé. Sa méthode de travail
- consiste à comparer chaque nom de document du répertoire demandé
- avec le document de la requête <strong>sans tenir compte de la
- casse</strong>, et en acceptant <strong>jusqu'à une erreur</strong>
- (insertion, omission, inversion de caractère ou caractère
- erroné). Une liste de tous les documents qui correspondent est alors
- élaborée en utilisant cette stratégie.</p>
+ problème en essayant de trouver un document correspondant, même
+ lorsque tous les autres modules y ont renoncé. Sa méthode de travail
+ consiste à comparer chaque nom de document du répertoire demandé
+ avec le document de la requête <strong>sans tenir compte de la
+ casse</strong>, et en acceptant <strong>jusqu'à une erreur</strong>
+ (insertion, omission, inversion de caractère ou caractère
+ erroné). Une liste de tous les documents qui correspondent est alors
+ élaborée en utilisant cette stratégie.</p>
- <p>Si après le parcours du répertoire,</p>
+ <p>Si après le parcours du répertoire,</p>
<ul>
- <li>aucun document correspondant n'a été trouvé, Apache procèdera
- normalement et renverra une erreur "document non trouvé".</li>
+ <li>aucun document correspondant n'a été trouvé, Apache procèdera
+ normalement et renverra une erreur "document non trouvé".</li>
- <li>un seul document correspondant pratiquement à la requête a
- été trouvé, celui-ci est renvoyé sous la forme d'une réponse de
+ <li>un seul document correspondant pratiquement à la requête a
+ été trouvé, celui-ci est renvoyé sous la forme d'une réponse de
redirection.</li>
- <li>plusieurs documents pouvant correspondre ont été trouvés, une
- liste des documents est envoyée au client afin que ce dernier
- puisse sélectionner le document correct.</li>
+ <li>plusieurs documents pouvant correspondre ont été trouvés, une
+ liste des documents est envoyée au client afin que ce dernier
+ puisse sélectionner le document correct.</li>
</ul>
</div>
<li><img alt="" src="../images/down.gif" /> <a href="#checkcaseonly">CheckCaseOnly</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#checkspelling">CheckSpelling</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_speling">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_speling">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_speling">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_speling">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</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="checkbasenamematch" id="checkbasenamematch">Directive</a> <a name="CheckBasenameMatch" id="CheckBasenameMatch">CheckBasenameMatch</a><a title="Lien permanent" href="#checkbasenamematch" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie aussi la correspondance des fichiers, même avec des
-extensions différentes</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie aussi la correspondance des fichiers, même avec des
+extensions différentes</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CheckBasenameMatch on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CheckBasenameMatch Off</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#Default">Défaut:</a></th><td><code>CheckBasenameMatch Off</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">AllowOverride:</a></th><td>Options</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_speling</td></tr>
</table>
<p>Cette option n'a aucun effet si
- <code class="directive">CheckCaseOnly</code> a été défini.</p>
+ <code class="directive">CheckCaseOnly</code> a été défini.</p>
- <p>Lorsqu'elle est définie, cette directive étend le processus de correction
- orthographique à l'extension des noms de fichiers. Par exemple, un fichier
- de nom <code>foo.gif</code> sera pris en compte par une requête pour
- <code>foo</code> ou <code>foo.jpg</code>. Ceci peut s'avérer
- particulièrement utile en conjonction avec les <a href="../content-negotiation.html">MultiViews</a>.</p>
+ <p>Lorsqu'elle est définie, cette directive étend le processus de correction
+ orthographique à l'extension des noms de fichiers. Par exemple, un fichier
+ de nom <code>foo.gif</code> sera pris en compte par une requête pour
+ <code>foo</code> ou <code>foo.jpg</code>. Ceci peut s'avérer
+ particulièrement utile en conjonction avec les <a href="../content-negotiation.html">MultiViews</a>.</p>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite l'action du module aux corrections de
majuscules</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CheckCaseOnly on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CheckCaseOnly Off</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#Default">Défaut:</a></th><td><code>CheckCaseOnly Off</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">AllowOverride:</a></th><td>Options</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_speling</td></tr>
</table>
- <p>Lorsqu'elle est définie à "on", cette directive permet de limiter
+ <p>Lorsqu'elle est définie à "on", cette directive permet de limiter
l'action du module aux inversions majuscule/minuscule. Les autres
- corrections ne sont pas effectuées sauf si la directive
- <code class="directive">CheckBasenameMatch</code> est aussi à "on"..</p>
+ corrections ne sont pas effectuées sauf si la directive
+ <code class="directive">CheckBasenameMatch</code> est aussi à "on"..</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le module de correction</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CheckSpelling on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CheckSpelling Off</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#Default">Défaut:</a></th><td><code>CheckSpelling Off</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">AllowOverride:</a></th><td>Options</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_speling</td></tr>
</table>
- <p>Cette directive permet d'activer ou de désactiver le module de
- correction. Lorsqu'il est activé, rappelez-vous que :</p>
+ <p>Cette directive permet d'activer ou de désactiver le module de
+ correction. Lorsqu'il est activé, rappelez-vous que :</p>
<ul>
- <li>le parcours du répertoire nécessaire à la correction aura un
+ <li>le parcours du répertoire nécessaire à la correction aura un
impact sur les performances du serveur lorsque de nombreuses
- corrections devront être effectuées au même moment.</li>
+ corrections devront être effectuées au même moment.</li>
<li>l'arborescence ne doit pas contenir de documents
- sensibles qui pourraient être considérés par erreur comme
- correspondant à la requête.</li>
+ sensibles qui pourraient être considérés par erreur comme
+ correspondant à la requête.</li>
<li>le module ne corrige pas les noms d'utilisateur mal
- orthographiés (comme dans
+ orthographiés (comme dans
<code>http://mon.serveur/~apahce/</code>), mais seulement les noms
- de fichiers ou de répertoires.</li>
+ de fichiers ou de répertoires.</li>
<li>les corrections s'appliquent strictement aux fichiers
- existants, si bien qu'une requête pour <code><Location
- /status></code> pour être traitée de manière incorrecte comme
- une requête pour le fichier négocié "<code>/stats.html</code>".</li>
+ existants, si bien qu'une requête pour <code><Location
+ /status></code> pour être traitée de manière incorrecte comme
+ une requête pour le fichier négocié "<code>/stats.html</code>".</li>
</ul>
- <p>mod_speling ne doit pas être activé pour des répertoires où <a href="mod_dav.html">DAV</a> l'est aussi, car il va essayer de
- "corriger" les noms des ressources nouvellement créées en fonction
+ <p>mod_speling ne doit pas être activé pour des répertoires où <a href="mod_dav.html">DAV</a> l'est aussi, car il va essayer de
+ "corriger" les noms des ressources nouvellement créées en fonction
des noms de fichiers existants ; par exemple, lors du chargement
d'un nouveau document <code>doc43.html</code>, il est possible qu'il
redirige vers un document existant <code>doc34.html</code>, ce qui
- ne correspond pas à ce que l'on souhaite.
+ ne correspond pas à ce que l'on souhaite.
</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_speling.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_speling.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_speling.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_speling.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_speling.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_ssl</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ssl.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_ssl.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_ssl.html" title="Français"> fr </a></p>
+<a href="../es/mod/mod_ssl.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_ssl.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Chiffrement de haut niveau basé sur les protocoles Secure
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Chiffrement de haut niveau basé sur les protocoles Secure
Sockets Layer (SSL) et Transport Layer Security (TLS)</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>ssl_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ssl.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>ssl_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ssl.c</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module fournit le support SSL v3 et TLS v1.x au serveur HTTP
-Apache. SSL v2 n'est plus supporté.</p>
+Apache. SSL v2 n'est plus supporté.</p>
<p>Ce module s'appuie sur <a href="http://www.openssl.org/">OpenSSL</a>
pour fournir le moteur de chiffrement.</p>
-<p>D'autres détails, discussions et exemples sont fournis dans la <a href="../ssl/">documentation SSL</a>.</p>
+<p>D'autres détails, discussions et exemples sont fournis dans la <a href="../ssl/">documentation SSL</a>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#envvars">Variables d'environnement</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#logformats">Formats de journaux
-personnalisés</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#notes">Information à propos de la requête</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#expressionparser">Extension pour l'interprétation
+personnalisés</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#notes">Information à propos de la requête</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#expressionparser">Extension pour l'interprétation
des expressions</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authzproviders">Fournisseurs d'autorisation
disponibles avec Require</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#sslverifyclient">SSLVerifyClient</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#sslverifydepth">SSLVerifyDepth</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ssl">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ssl">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ssl">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ssl">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="envvars" id="envvars">Variables d'environnement</a><a title="Lien permanent" href="#envvars" class="permalink">¶</a></h2>
-<p>Ce module peut être configuré pour fournir aux espaces de nommage SSI
-et CGI de nombreux éléments d'informations concernant SSL par le biais
-de variables d'environnement supplémentaires. Par défaut, et ceci pour
+<p>Ce module peut être configuré pour fournir aux espaces de nommage SSI
+et CGI de nombreux éléments d'informations concernant SSL par le biais
+de variables d'environnement supplémentaires. Par défaut, et ceci pour
des raisons de performances, ces informations ne sont pas fournies (Voir
la directive <code class="directive">SSLOptions</code> StdEnvVars ci-dessous).
-Les variables générées se trouvent dans la table ci-dessous.
-L'information peut aussi être disponible sous des noms différents à des
-fins de compatibilité ascendante. Reportez-vous au chapitre <a href="../ssl/ssl_compat.html">Compatibilité</a> pour plus de détails à
-propos des variables de compatibilité.</p>
+Les variables générées se trouvent dans la table ci-dessous.
+L'information peut aussi être disponible sous des noms différents à des
+fins de compatibilité ascendante. Reportez-vous au chapitre <a href="../ssl/ssl_compat.html">Compatibilité</a> pour plus de détails à
+propos des variables de compatibilité.</p>
<table class="bordered">
<th>Description :</th>
</tr>
<tr><td><code>HTTPS</code></td> <td>drapeau</td>
-<td>HTTPS est utilisé.</td></tr>
-<tr><td><code>SSL_PROTOCOL</code></td> <td>chaîne</td>
+<td>HTTPS est utilisé.</td></tr>
+<tr><td><code>SSL_PROTOCOL</code></td> <td>chaîne</td>
<td>La version du protocole SSL (SSLv3, TLSv1, TLSv1.1, TLSv1.2)</td></tr>
-<tr><td><code>SSL_SESSION_ID</code></td> <td>chaîne</td>
-<td>L'identifiant de session SSL codé en hexadécimal</td></tr>
-<tr><td><code>SSL_SESSION_RESUMED</code></td> <td>chaîne</td>
-<td>Session SSL initiale ou reprise. Note : plusieurs requêtes peuvent
-être servies dans le cadre de la même session SSL (initiale ou reprise)
-si les connexions persistantes (HTTP KeepAlive) sont utilisées</td></tr>
-<tr><td><code>SSL_SECURE_RENEG</code></td> <td>chaîne</td>
-<td><code>true</code> si la renégociation sécurisée est supportée,
+<tr><td><code>SSL_SESSION_ID</code></td> <td>chaîne</td>
+<td>L'identifiant de session SSL codé en hexadécimal</td></tr>
+<tr><td><code>SSL_SESSION_RESUMED</code></td> <td>chaîne</td>
+<td>Session SSL initiale ou reprise. Note : plusieurs requêtes peuvent
+être servies dans le cadre de la même session SSL (initiale ou reprise)
+si les connexions persistantes (HTTP KeepAlive) sont utilisées</td></tr>
+<tr><td><code>SSL_SECURE_RENEG</code></td> <td>chaîne</td>
+<td><code>true</code> si la renégociation sécurisée est supportée,
<code>false</code> dans le cas contraire</td></tr>
-<tr><td><code>SSL_CIPHER</code></td> <td>chaîne</td>
+<tr><td><code>SSL_CIPHER</code></td> <td>chaîne</td>
<td>Le nom de l'algorithme de chiffrement</td></tr>
-<tr><td><code>SSL_CIPHER_EXPORT</code></td> <td>chaîne</td>
+<tr><td><code>SSL_CIPHER_EXPORT</code></td> <td>chaîne</td>
<td><code>true</code> si l'algorithme de chiffrement est un algorithme
-exporté</td></tr>
+exporté</td></tr>
<tr><td><code>SSL_CIPHER_USEKEYSIZE</code></td> <td>nombre</td>
-<td>Nombre de bits de chiffrement (réellement utilisés)</td></tr>
+<td>Nombre de bits de chiffrement (réellement utilisés)</td></tr>
<tr><td><code>SSL_CIPHER_ALGKEYSIZE</code></td> <td>nombre</td>
<td>Nombre de bits de chiffrement (possible)</td></tr>
-<tr><td><code>SSL_COMPRESS_METHOD</code></td> <td>chaîne</td>
-<td>Méthode de compression SSL négociée</td></tr>
+<tr><td><code>SSL_COMPRESS_METHOD</code></td> <td>chaîne</td>
+<td>Méthode de compression SSL négociée</td></tr>
-<tr><td><code>SSL_VERSION_INTERFACE</code></td> <td>chaîne</td>
+<tr><td><code>SSL_VERSION_INTERFACE</code></td> <td>chaîne</td>
<td>La version du programme mod_ssl</td></tr>
-<tr><td><code>SSL_VERSION_LIBRARY</code></td> <td>chaîne</td>
+<tr><td><code>SSL_VERSION_LIBRARY</code></td> <td>chaîne</td>
<td>La version du programme OpenSSL</td></tr>
-<tr><td><code>SSL_CLIENT_M_VERSION</code></td> <td>chaîne</td>
+<tr><td><code>SSL_CLIENT_M_VERSION</code></td> <td>chaîne</td>
<td>La version du certificat client</td></tr>
-<tr><td><code>SSL_CLIENT_M_SERIAL</code></td> <td>chaîne</td>
-<td>Le numéro de série du certificat client</td></tr>
-<tr><td><code>SSL_CLIENT_S_DN</code></td> <td>chaîne</td>
+<tr><td><code>SSL_CLIENT_M_SERIAL</code></td> <td>chaîne</td>
+<td>Le numéro de série du certificat client</td></tr>
+<tr><td><code>SSL_CLIENT_S_DN</code></td> <td>chaîne</td>
<td>Le DN sujet du certificat client</td></tr>
-<tr><td><code>SSL_CLIENT_S_DN_</code><em>x509</em></td> <td>chaîne</td>
-<td>Elément du DN sujet du client</td></tr>
+<tr><td><code>SSL_CLIENT_S_DN_</code><em>x509</em></td> <td>chaîne</td>
+<td>Elément du DN sujet du client</td></tr>
<tr><td><code>SSL_CLIENT_SAN_Email_</code><em>n</em></td>
-<td>chaîne</td> <td>Extensions subjectAltName de type rfc822Name du certificat client</td></tr>
-<tr><td><code>SSL_CLIENT_SAN_DNS_</code><em>n</em></td> <td>chaîne</td>
+<td>chaîne</td> <td>Extensions subjectAltName de type rfc822Name du certificat client</td></tr>
+<tr><td><code>SSL_CLIENT_SAN_DNS_</code><em>n</em></td> <td>chaîne</td>
<td>Extensions subjectAltName de type dNSName du certificat client</td></tr>
<tr><td><code>SSL_CLIENT_SAN_OTHER_msUPN_</code><em>n</em></td>
-<td>chaîne</td> <td>Extensions subjectAltName de type otherName du
+<td>chaîne</td> <td>Extensions subjectAltName de type otherName du
certificat client, forme Microsoft du nom principal de l'utilisateur (OID 1.3.6.1.4.1.311.20.2.3)</td></tr>
-<tr><td><code>SSL_CLIENT_I_DN</code></td> <td>chaîne</td>
-<td>DN de l'émetteur du certificat du client</td></tr>
-<tr><td><code>SSL_CLIENT_I_DN_</code><em>x509</em></td> <td>chaîne</td>
-<td>Elément du DN de l'émetteur du certificat du client</td></tr>
-<tr><td><code>SSL_CLIENT_V_START</code></td> <td>chaîne</td>
-<td>Validité du certificat du client (date de début)</td></tr>
-<tr><td><code>SSL_CLIENT_V_END</code></td> <td>chaîne</td>
-<td>Validité du certificat du client (date de fin)</td></tr>
-<tr><td><code>SSL_CLIENT_V_REMAIN</code></td> <td>chaîne</td>
+<tr><td><code>SSL_CLIENT_I_DN</code></td> <td>chaîne</td>
+<td>DN de l'émetteur du certificat du client</td></tr>
+<tr><td><code>SSL_CLIENT_I_DN_</code><em>x509</em></td> <td>chaîne</td>
+<td>Elément du DN de l'émetteur du certificat du client</td></tr>
+<tr><td><code>SSL_CLIENT_V_START</code></td> <td>chaîne</td>
+<td>Validité du certificat du client (date de début)</td></tr>
+<tr><td><code>SSL_CLIENT_V_END</code></td> <td>chaîne</td>
+<td>Validité du certificat du client (date de fin)</td></tr>
+<tr><td><code>SSL_CLIENT_V_REMAIN</code></td> <td>chaîne</td>
<td>Nombre de jours avant expiration du certificat du client</td></tr>
-<tr><td><code>SSL_CLIENT_A_SIG</code></td> <td>chaîne</td>
-<td>Algorithme utilisé pour la signature du certificat du client</td></tr>
-<tr><td><code>SSL_CLIENT_A_KEY</code></td> <td>chaîne</td>
-<td>Algorithme utilisé pour la clé publique du certificat du client</td></tr>
-<tr><td><code>SSL_CLIENT_CERT</code></td> <td>chaîne</td>
+<tr><td><code>SSL_CLIENT_A_SIG</code></td> <td>chaîne</td>
+<td>Algorithme utilisé pour la signature du certificat du client</td></tr>
+<tr><td><code>SSL_CLIENT_A_KEY</code></td> <td>chaîne</td>
+<td>Algorithme utilisé pour la clé publique du certificat du client</td></tr>
+<tr><td><code>SSL_CLIENT_CERT</code></td> <td>chaîne</td>
<td>Certificat du client au format PEM</td></tr>
<tr><td><code>SSL_CLIENT_CERT_CHAIN_</code><em>n</em></td>
-<td>chaîne</td> <td>Certificats de la chaîne de certification du
+<td>chaîne</td> <td>Certificats de la chaîne de certification du
client au format PEM</td></tr>
-<tr><td><code>SSL_CLIENT_CERT_RFC4523_CEA</code></td> <td>chaîne</td>
-<td>Numéro de série et fournisseur du certificat. Le format correspond à
+<tr><td><code>SSL_CLIENT_CERT_RFC4523_CEA</code></td> <td>chaîne</td>
+<td>Numéro de série et fournisseur du certificat. Le format correspond à
celui de la CertificateExactAssertion de la RFC4523</td></tr>
-<tr><td><code>SSL_CLIENT_VERIFY</code></td> <td>chaîne</td>
+<tr><td><code>SSL_CLIENT_VERIFY</code></td> <td>chaîne</td>
<td><code>NONE</code>, <code>SUCCESS</code>, <code>GENEROUS</code> ou
<code>FAILED:</code><em>raison</em></td></tr>
-<tr><td><code>SSL_SERVER_M_VERSION</code></td> <td>chaîne</td>
+<tr><td><code>SSL_SERVER_M_VERSION</code></td> <td>chaîne</td>
<td>La version du certificat du serveur</td></tr>
-<tr><td><code>SSL_SERVER_M_SERIAL</code></td> <td>chaîne</td> <td>
+<tr><td><code>SSL_SERVER_M_SERIAL</code></td> <td>chaîne</td> <td>
The serial of the server certificate</td></tr>
-<tr><td><code>SSL_SERVER_S_DN</code></td> <td>chaîne</td>
+<tr><td><code>SSL_SERVER_S_DN</code></td> <td>chaîne</td>
<td>DN sujet du certificat du serveur</td></tr>
-<tr><td><code>SSL_SERVER_S_DN_</code><em>x509</em></td> <td>chaîne</td>
-<td>Elément du DN sujet du certificat du serveur</td></tr>
+<tr><td><code>SSL_SERVER_S_DN_</code><em>x509</em></td> <td>chaîne</td>
+<td>Elément du DN sujet du certificat du serveur</td></tr>
<tr><td><code>SSL_SERVER_SAN_Email_</code><em>n</em></td>
-<td>chaîne</td> <td>Extensions subjectAltName de type rfc822Name du
+<td>chaîne</td> <td>Extensions subjectAltName de type rfc822Name du
certificat serveur</td></tr>
-<tr><td><code>SSL_CLIENT_SAN_DNS_</code><em>n</em></td> <td>chaîne</td>
+<tr><td><code>SSL_CLIENT_SAN_DNS_</code><em>n</em></td> <td>chaîne</td>
<td>Extensions subjectAltName de type dNSName du certificat serveur</td></tr>
<tr><td><code>SSL_SERVER_SAN_OTHER_dnsSRV_</code><em>n</em></td>
-<td>chaîne</td> <td>Extensions subjectAltName de type otherName du
+<td>chaîne</td> <td>Extensions subjectAltName de type otherName du
certificat serveur, sous la forme SRVName (OID 1.3.6.1.5.5.7.8.7, RFC 4985)</td></tr>
-<tr><td><code>SSL_SERVER_I_DN</code></td> <td>chaîne</td>
-<td>DN de l'émetteur du certificat du serveur</td></tr>
-<tr><td><code>SSL_SERVER_I_DN_</code><em>x509</em></td> <td>chaîne</td>
-<td>Elément du DN de l'émetteur du certificat du serveur</td></tr>
-<tr><td><code>SSL_SERVER_V_START</code></td> <td>chaîne</td>
-<td>Validité du certificat du serveur (date de dédut)</td></tr>
-<tr><td><code>SSL_SERVER_V_END</code></td> <td>chaîne</td>
-<td>Validité du certificat du serveur (date de fin)</td></tr>
-<tr><td><code>SSL_SERVER_A_SIG</code></td> <td>chaîne</td>
-<td>Algorithme utilisé pour la signature du certificat du serveur</td></tr>
-<tr><td><code>SSL_SERVER_A_KEY</code></td> <td>chaîne</td>
-<td>Algorithme utilisé pour la clé publique du certificat du serveur</td></tr>
-<tr><td><code>SSL_SERVER_CERT</code></td> <td>chaîne</td>
+<tr><td><code>SSL_SERVER_I_DN</code></td> <td>chaîne</td>
+<td>DN de l'émetteur du certificat du serveur</td></tr>
+<tr><td><code>SSL_SERVER_I_DN_</code><em>x509</em></td> <td>chaîne</td>
+<td>Elément du DN de l'émetteur du certificat du serveur</td></tr>
+<tr><td><code>SSL_SERVER_V_START</code></td> <td>chaîne</td>
+<td>Validité du certificat du serveur (date de dédut)</td></tr>
+<tr><td><code>SSL_SERVER_V_END</code></td> <td>chaîne</td>
+<td>Validité du certificat du serveur (date de fin)</td></tr>
+<tr><td><code>SSL_SERVER_A_SIG</code></td> <td>chaîne</td>
+<td>Algorithme utilisé pour la signature du certificat du serveur</td></tr>
+<tr><td><code>SSL_SERVER_A_KEY</code></td> <td>chaîne</td>
+<td>Algorithme utilisé pour la clé publique du certificat du serveur</td></tr>
+<tr><td><code>SSL_SERVER_CERT</code></td> <td>chaîne</td>
<td>Certificat du serveur au format PEM</td></tr>
<tr><td><code>SSL_SRP_USER</code></td> <td>string</td>
<td>nom d'utilisateur SRP</td></tr>
<tr><td><code>SSL_SRP_USERINFO</code></td> <td>string</td>
<td>informations sur l'utilisateur SRP</td></tr>
<tr><td><code>SSL_TLS_SNI</code></td> <td>string</td>
-<td>Contenu de l'extension SNI TLS (si supporté par ClientHello)</td></tr>
+<td>Contenu de l'extension SNI TLS (si supporté par ClientHello)</td></tr>
</table>
-<p><em>x509</em> spécifie un élément de DN X.509 parmi
+<p><em>x509</em> spécifie un élément de DN X.509 parmi
<code>C,ST,L,O,OU,CN,T,I,G,S,D,UID,Email</code>. A partir de la version
-2.2.0 de httpd, <em>x509</em> peut aussi comporter un suffixe numérique
+2.2.0 de httpd, <em>x509</em> peut aussi comporter un suffixe numérique
<code>_n</code>. Si le DN en question comporte plusieurs attributs de
-noms identiques, ce suffixe constitue un index débutant à zéro et
-permettant de sélectionner un
+noms identiques, ce suffixe constitue un index débutant à zéro et
+permettant de sélectionner un
attribut particulier. Par exemple, si le DN sujet du certificat du
serveur comporte deux champs OU, on peut utiliser
<code>SSL_SERVER_S_DN_OU_0</code> et <code>SSL_SERVER_S_DN_OU_1</code>
-pour référencer chacun d'entre eux. Un nom de variable sans suffixe
-<code>_n</code> est équivalent au même nom avec le suffixe
+pour référencer chacun d'entre eux. Un nom de variable sans suffixe
+<code>_n</code> est équivalent au même nom avec le suffixe
<code>_0</code>, ce qui correspond au premier attribut (ou au seul)
-caractérisant le DN.
+caractérisant le DN.
Lorsque la table d'environnement est remplie en utilisant l'option
<code>StdEnvVars</code> de la directive <code class="directive"><a href="#ssloptions">SSLOptions</a></code>, le premier attribut (ou le
-seul) caractérisant le DN est enregistré avec un nom sans suffixe ;
-autrement dit, aucune entrée possédant comme suffixe <code>_0</code>
-n'est enregistrée.</p>
+seul) caractérisant le DN est enregistré avec un nom sans suffixe ;
+autrement dit, aucune entrée possédant comme suffixe <code>_0</code>
+n'est enregistrée.</p>
<p>Depuis la version 2.4.32 de httpd, il est possible d'ajouter le suffixe
-<em>_RAW</em> à <em>x509</em> dans un élément DN afin d'éviter la conversion en
-UTF-8 de la valeur de l'attribut. Il doit être placé après le suffixe index
+<em>_RAW</em> à <em>x509</em> dans un élément DN afin d'éviter la conversion en
+UTF-8 de la valeur de l'attribut. Il doit être placé après le suffixe index
(s'il existe), par exemple <code>SSL_SERVER_S_DN_OU_RAW</code> ou
<code>SSL_SERVER_S_DN_OU_0_RAW</code>.</p>
-<p>Le format des variables <em>*_DN</em> a changé depuis la version
+<p>Le format des variables <em>*_DN</em> a changé depuis la version
2.3.11 d'Apache HTTPD. Voir l'option <code>LegacyDNStringFormat</code>
de la directive <code class="directive"><a href="#ssloptions">SSLOptions</a></code> pour
-plus de détails.</p>
+plus de détails.</p>
-<p><code>SSL_CLIENT_V_REMAIN</code> n'est disponible qu'à partir de la
+<p><code>SSL_CLIENT_V_REMAIN</code> n'est disponible qu'à partir de la
version 2.1.</p>
-<p>Plusieurs variables d'environnement additionnelles peuvent être
-utilisées dans les expressions <code class="directive">SSLRequire</code>, ou
-dans les formats de journalisation personnalisés :</p>
+<p>Plusieurs variables d'environnement additionnelles peuvent être
+utilisées dans les expressions <code class="directive">SSLRequire</code>, ou
+dans les formats de journalisation personnalisés :</p>
<div class="note"><pre>HTTP_USER_AGENT PATH_INFO AUTH_TYPE
HTTP_REFERER QUERY_STRING SERVER_SOFTWARE
REQUEST_SCHEME REMOTE_ADDR TIME
REQUEST_URI REMOTE_USER</pre></div>
-<p>Dans ces contextes, deux formats spéciaux peuvent aussi être utilisés
+<p>Dans ces contextes, deux formats spéciaux peuvent aussi être utilisés
:</p>
<dl>
<dt><code>ENV:<em>nom_variable</em></code></dt>
- <dd>Correspond à la variable d'environnement standard
+ <dd>Correspond à la variable d'environnement standard
<em>nom_variable</em>.</dd>
- <dt><code>HTTP:<em>nom_en-tête</em></code></dt>
- <dd>Correspond à la valeur de l'en-tête de requête dont le nom est
- <em>nom_en-tête</em>.</dd>
+ <dt><code>HTTP:<em>nom_en-tête</em></code></dt>
+ <dd>Correspond à la valeur de l'en-tête de requête dont le nom est
+ <em>nom_en-tête</em>.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="logformats" id="logformats">Formats de journaux
-personnalisés</a><a title="Lien permanent" href="#logformats" class="permalink">¶</a></h2>
+personnalisés</a><a title="Lien permanent" href="#logformats" class="permalink">¶</a></h2>
-<p>Lorsque <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est compilé dans le serveur Apache
-ou même chargé (en mode DSO), des fonctions supplémentaires sont
-disponibles pour le <a href="mod_log_config.html#formats">Format de journal personnalisé</a> du
+<p>Lorsque <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est compilé dans le serveur Apache
+ou même chargé (en mode DSO), des fonctions supplémentaires sont
+disponibles pour le <a href="mod_log_config.html#formats">Format de journal personnalisé</a> du
module <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>. A ce titre, la fonction de
format d'eXtension ``<code>%{</code><em>nom-var</em><code>}x</code>''
-peut être utilisée pour présenter en extension toute variable fournie
+peut être utilisée pour présenter en extension toute variable fournie
par tout module, et en particulier celles fournies par mod_ssl et que
vous trouverez dans la table ci-dessus.</p>
<p>
-A des fins de compatibilité ascendante, il existe une fonction de format
-cryptographique supplémentaire
+A des fins de compatibilité ascendante, il existe une fonction de format
+cryptographique supplémentaire
``<code>%{</code><em>nom</em><code>}c</code>''. Vous trouverez toutes
-les informations à propos de cette fonction dans le chapitre <a href="../ssl/ssl_compat.html">Compatibilité</a>.</p>
+les informations à propos de cette fonction dans le chapitre <a href="../ssl/ssl_compat.html">Compatibilité</a>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">CustomLog "logs/ssl_request_log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"</pre>
</div>
-<p>Ces formats sont disponibles même si l'option <code>StdEnvVars</code> de la
-directive <code class="directive"><a href="#ssloptions">SSLOptions</a></code> n'a pas été
-définie.</p>
+<p>Ces formats sont disponibles même si l'option <code>StdEnvVars</code> de la
+directive <code class="directive"><a href="#ssloptions">SSLOptions</a></code> n'a pas été
+définie.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="notes" id="notes">Information à propos de la requête</a><a title="Lien permanent" href="#notes" class="permalink">¶</a></h2>
+<h2><a name="notes" id="notes">Information à propos de la requête</a><a title="Lien permanent" href="#notes" class="permalink">¶</a></h2>
-<p><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> enregistre des informations à propos de la
-requête que l'on peut restituer dans les journaux avec la chaîne de
+<p><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> enregistre des informations à propos de la
+requête que l'on peut restituer dans les journaux avec la chaîne de
format <code>%{<em>nom</em>}n</code> via le module
<code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>.</p>
-<p>Les informations enregistrées sont les suivantes :</p>
+<p>Les informations enregistrées sont les suivantes :</p>
<dl>
<dt><code>ssl-access-forbidden</code></dt>
- <dd>Cette information contient la valeur <code>1</code> si l'accès a
- été refusé suite à une directive <code class="directive">SSLRequire</code> ou
+ <dd>Cette information contient la valeur <code>1</code> si l'accès a
+ été refusé suite à une directive <code class="directive">SSLRequire</code> ou
<code class="directive">SSLRequireSSL</code>.</dd>
<dt><code>ssl-secure-reneg</code></dt>
- <dd>Si <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> a été compilé avec une version
- d'OpenSSL qui supporte la renégociation sécurisée, si SSL est utilisé
+ <dd>Si <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> a été compilé avec une version
+ d'OpenSSL qui supporte la renégociation sécurisée, si SSL est utilisé
pour la connexion courante et si le client supporte lui aussi la
- renégociation sécurisée, cette information contiendra la valeur
- <code>1</code>. Si le client ne supporte pas la renégociation
- sécurisée, l'information contiendra la valeur <code>0</code>. Si
- <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> n'a pas été compilé avec une version
- d'OpenSSL qui supporte la renégociation sécurisée, ou si SSL n'est pas
- utilisé pour la connexion courante, le contenu de l'information ne
- sera pas défini.</dd>
+ renégociation sécurisée, cette information contiendra la valeur
+ <code>1</code>. Si le client ne supporte pas la renégociation
+ sécurisée, l'information contiendra la valeur <code>0</code>. Si
+ <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> n'a pas été compilé avec une version
+ d'OpenSSL qui supporte la renégociation sécurisée, ou si SSL n'est pas
+ utilisé pour la connexion courante, le contenu de l'information ne
+ sera pas défini.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="expressionparser" id="expressionparser">Extension pour l'interprétation
+<h2><a name="expressionparser" id="expressionparser">Extension pour l'interprétation
des expressions</a><a title="Lien permanent" href="#expressionparser" class="permalink">¶</a></h2>
-<p>Lorsque <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est compilé statiquement avec
-Apache, ou même chargé dynamiquement (en tant que module DSO), toute <a name="envvars">variable</a> en provenance de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> peut
-être utilisée pour l'<a href="../expr.html">interprétation des
-expression ap_expr</a>. Les variables peuvent être référencées en
+<p>Lorsque <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est compilé statiquement avec
+Apache, ou même chargé dynamiquement (en tant que module DSO), toute <a name="envvars">variable</a> en provenance de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> peut
+être utilisée pour l'<a href="../expr.html">interprétation des
+expression ap_expr</a>. Les variables peuvent être référencées en
utilisant la syntaxe ``<code>%{</code><em>varname</em><code>}</code>''.
A partir de la version 2.4.18, on peut aussi utiliser la syntaxe de
style <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
<div class="example"><h3>Exemple (en utilisant <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>)</h3><pre class="prettyprint lang-config">Header set X-SSL-PROTOCOL "expr=%{SSL_PROTOCOL}"
Header set X-SSL-CIPHER "expr=%{SSL:SSL_CIPHER}"</pre>
</div>
-<p>Cette fonctionnalité est disponible même si l'option
-<code>StdEnvVars</code> de la directive <code class="directive"><a href="#ssloptions">SSLOptions</a></code> n'a pas été définie.</p>
+<p>Cette fonctionnalité est disponible même si l'option
+<code>StdEnvVars</code> de la directive <code class="directive"><a href="#ssloptions">SSLOptions</a></code> n'a pas été définie.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="authzproviders" id="authzproviders">Fournisseurs d'autorisation
disponibles avec Require</a><a title="Lien permanent" href="#authzproviders" class="permalink">¶</a></h2>
<p><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> propose quelques fournisseurs
- d'autorisation à utiliser avec la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> du module
+ d'autorisation à utiliser avec la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> du module
<code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code>.</p>
<h3><a name="reqssl" id="reqssl">Require ssl</a></h3>
- <p>Le fournisseur <code>ssl</code> refuse l'accès si une connexion
- n'est pas chiffrée avec SSL. L'effet est similaire à celui de la
+ <p>Le fournisseur <code>ssl</code> refuse l'accès si une connexion
+ n'est pas chiffrée avec SSL. L'effet est similaire à celui de la
directive <code class="directive">SSLRequireSSL</code>.</p>
<h3><a name="reqverifyclient" id="reqverifyclient">Require ssl-verify-client</a></h3>
- <p>Le fournisseur <code>ssl</code> autorise l'accès si
- l'utilisateur est authentifié via un certificat client valide. Ceci
+ <p>Le fournisseur <code>ssl</code> autorise l'accès si
+ l'utilisateur est authentifié via un certificat client valide. Ceci
n'a un effet que si <code>SSLVerifyClient optional</code> est actif.</p>
- <p>Dans l'exemple suivant, l'accès est autorisé si le client est
- authentifié via un certificat client ou par nom d'utilisateur/mot de
+ <p>Dans l'exemple suivant, l'accès est autorisé si le client est
+ authentifié via un certificat client ou par nom d'utilisateur/mot de
passe :</p>
<pre class="prettyprint lang-config">Require ssl-verify-client
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslcacertificatefile" id="sslcacertificatefile">Directive</a> <a name="SSLCACertificateFile" id="SSLCACertificateFile">SSLCACertificateFile</a><a title="Lien permanent" href="#sslcacertificatefile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant une concaténation des certificats de CA
-codés en PEM pour l'authentification des clients</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant une concaténation des certificats de CA
+codés en PEM pour l'authentification des clients</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCACertificateFile <var>file-path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr>
</table>
<p>
-Cette directive permet de définir le fichier <em>tout-en-un</em> où vous
-pouvez rassembler les certificats des Autorités de Certification (CAs)
-pour les clients auxquels vous avez à faire. On les utilise pour
+Cette directive permet de définir le fichier <em>tout-en-un</em> où vous
+pouvez rassembler les certificats des Autorités de Certification (CAs)
+pour les clients auxquels vous avez à faire. On les utilise pour
l'authentification des clients. Un tel fichier contient la simple
-concaténation des différents fichiers de certificats codés en PEM, par
-ordre de préférence. Cette directive peut être utilisée à la place et/ou
-en complément de la directive <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code>.</p>
+concaténation des différents fichiers de certificats codés en PEM, par
+ordre de préférence. Cette directive peut être utilisée à la place et/ou
+en complément de la directive <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCACertificateFile "/usr/local/apache2/conf/ssl.crt/ca-bundle-client.crt"</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslcacertificatepath" id="sslcacertificatepath">Directive</a> <a name="SSLCACertificatePath" id="SSLCACertificatePath">SSLCACertificatePath</a><a title="Lien permanent" href="#sslcacertificatepath" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des certificats de CA codés en PEM pour
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des certificats de CA codés en PEM pour
l'authentification des clients</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCACertificatePath <em>chemin-répertoire</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCACertificatePath <em>chemin-répertoire</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_ssl</td></tr>
</table>
<p>
-Cette directive permet de définir le répertoire où sont stockés les
-certificats des Autorités de Certification (CAs) pour les clients
-auxquels vous avez à faire. On les utilise pour vérifier le certificat
+Cette directive permet de définir le répertoire où sont stockés les
+certificats des Autorités de Certification (CAs) pour les clients
+auxquels vous avez à faire. On les utilise pour vérifier le certificat
du client au cours de l'authentification de ce dernier.</p>
<p>
-Les fichiers de ce répertoire doivent être codés en PEM et ils sont
-accédés via des noms de fichier sous forme de condensés ou hash. Il ne
-suffit donc pas de placer les fichiers de certificats dans ce répertoire
-: vous devez aussi créer des liens symboliques nommés
+Les fichiers de ce répertoire doivent être codés en PEM et ils sont
+accédés via des noms de fichier sous forme de condensés ou hash. Il ne
+suffit donc pas de placer les fichiers de certificats dans ce répertoire
+: vous devez aussi créer des liens symboliques nommés
<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous
-assurer que ce répertoire contient les liens symboliques appropriés.</p>
+assurer que ce répertoire contient les liens symboliques appropriés.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCACertificatePath "/usr/local/apache2/conf/ssl.crt/"</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslcadnrequestfile" id="sslcadnrequestfile">Directive</a> <a name="SSLCADNRequestFile" id="SSLCADNRequestFile">SSLCADNRequestFile</a><a title="Lien permanent" href="#sslcadnrequestfile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des certificats de CA
-codés en PEM pour la définition de noms de CA acceptables</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des certificats de CA
+codés en PEM pour la définition de noms de CA acceptables</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCADNRequestFile <var>file-path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
</table>
<p>Lorsque mod_ssl demande un certificat client, une liste de <em>noms
-d'Autorités de Certification acceptables</em> est envoyée au client au
+d'Autorités de Certification acceptables</em> est envoyée au client au
cours de la phase d'initialisation de la connexion SSL. Le client peut
-alors utiliser cette liste de noms de CA pour sélectionner un certificat
-client approprié parmi ceux dont il dispose.</p>
+alors utiliser cette liste de noms de CA pour sélectionner un certificat
+client approprié parmi ceux dont il dispose.</p>
-<p>Si aucune des directives <code class="directive"><a href="#sslcadnrequestpath">SSLCADNRequestPath</a></code> ou <code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code> n'est définie, la liste
-de noms de CsA acceptables envoyée au client est la liste des noms de
-tous les certificats de CA spécifiés par les directives <code class="directive"><a href="#sslcacertificatefile">SSLCACertificateFile</a></code> et <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code> ; en d'autres termes,
-c'est la liste des noms de CAs qui sera effectivement utilisée pour
-vérifier le certificat du client.</p>
+<p>Si aucune des directives <code class="directive"><a href="#sslcadnrequestpath">SSLCADNRequestPath</a></code> ou <code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code> n'est définie, la liste
+de noms de CsA acceptables envoyée au client est la liste des noms de
+tous les certificats de CA spécifiés par les directives <code class="directive"><a href="#sslcacertificatefile">SSLCACertificateFile</a></code> et <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code> ; en d'autres termes,
+c'est la liste des noms de CAs qui sera effectivement utilisée pour
+vérifier le certificat du client.</p>
<p>Dans certaines situations, il est utile de pouvoir envoyer
-une liste de noms de CA acceptables qui diffère de la liste des CAs
-effectivement utilisés pour vérifier le certificat du client ;
-considérons par exemple le cas où le certificat du client est signé par
-des CAs intermédiaires. On peut ici utiliser les directives <code class="directive"><a href="#sslcadnrequestpath">SSLCADNRequestPath</a></code> et/ou <code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code>, et les noms de CA
+une liste de noms de CA acceptables qui diffère de la liste des CAs
+effectivement utilisés pour vérifier le certificat du client ;
+considérons par exemple le cas où le certificat du client est signé par
+des CAs intermédiaires. On peut ici utiliser les directives <code class="directive"><a href="#sslcadnrequestpath">SSLCADNRequestPath</a></code> et/ou <code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code>, et les noms de CA
acceptables seront alors extraits de l'ensemble des certificats contenus
-dans le répertoire et/ou le fichier définis par cette paire de
+dans le répertoire et/ou le fichier définis par cette paire de
directives.</p>
<p><code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code> doit
-spécifier un fichier <em>tou-en-un</em> contenant une concaténation des
-certificats de CA codés en PEM.</p>
+spécifier un fichier <em>tou-en-un</em> contenant une concaténation des
+certificats de CA codés en PEM.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCADNRequestFile "/usr/local/apache2/conf/ca-names.crt"</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslcadnrequestpath" id="sslcadnrequestpath">Directive</a> <a name="SSLCADNRequestPath" id="SSLCADNRequestPath">SSLCADNRequestPath</a><a title="Lien permanent" href="#sslcadnrequestpath" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire contenant des fichiers de certificats de CA
-codés en PEM pour la définition de noms de CA acceptables</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCADNRequestPath <em>chemin-répertoire</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire contenant des fichiers de certificats de CA
+codés en PEM pour la définition de noms de CA acceptables</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCADNRequestPath <em>chemin-répertoire</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
</table>
-<p>Cette directive optionnelle permet de définir la liste de <em>noms de
-CAs acceptables</em> qui sera envoyée au client lorsqu'un certificat de
-client est demandé. Voir la directive <code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code> pour plus de
-détails.</p>
+<p>Cette directive optionnelle permet de définir la liste de <em>noms de
+CAs acceptables</em> qui sera envoyée au client lorsqu'un certificat de
+client est demandé. Voir la directive <code class="directive"><a href="#sslcadnrequestfile">SSLCADNRequestFile</a></code> pour plus de
+détails.</p>
-<p>Les fichiers de ce répertoire doivent être codés en PEM et ils sont
-accédés via des noms de fichier sous forme de condensés ou hash. Il ne
-suffit donc pas de placer les fichiers de certificats dans ce répertoire
-: vous devez aussi créer des liens symboliques nommés
+<p>Les fichiers de ce répertoire doivent être codés en PEM et ils sont
+accédés via des noms de fichier sous forme de condensés ou hash. Il ne
+suffit donc pas de placer les fichiers de certificats dans ce répertoire
+: vous devez aussi créer des liens symboliques nommés
<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous
-assurer que ce répertoire contient les liens symboliques appropriés.</p>
+assurer que ce répertoire contient les liens symboliques appropriés.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCADNRequestPath "/usr/local/apache2/conf/ca-names.crt/"</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslcarevocationcheck" id="sslcarevocationcheck">Directive</a> <a name="SSLCARevocationCheck" id="SSLCARevocationCheck">SSLCARevocationCheck</a><a title="Lien permanent" href="#sslcarevocationcheck" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la vérification des révocations basée sur les CRL</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la vérification des révocations basée sur les CRL</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCARevocationCheck chain|leaf|none <em>flag</em>s</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLCARevocationCheck none</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLCARevocationCheck none</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le paramètre optionnel <em>flag</em>s est disponible à partir de
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le paramètre optionnel <em>flag</em>s est disponible à partir de
la version 2.4.21 du serveur HTTP Apache</td></tr>
</table>
<p>
-Active la vérification des révocations basée sur les Listes de
-Révocations de Certificats (CRL). Au moins une des directives <code class="directive"><a href="#sslcarevocationfile">SSLCARevocationFile</a></code> ou <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code> doit être définie.
-Lorsque cette directive est définie à <code>chain</code> (valeur
-recommandée), les vérifications CRL sont effectuées sur tous les
-certificats de la chaîne, alors que la valeur <code>leaf</code> limite
-la vérification au certificat hors chaîne (la feuille).
+Active la vérification des révocations basée sur les Listes de
+Révocations de Certificats (CRL). Au moins une des directives <code class="directive"><a href="#sslcarevocationfile">SSLCARevocationFile</a></code> ou <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code> doit être définie.
+Lorsque cette directive est définie à <code>chain</code> (valeur
+recommandée), les vérifications CRL sont effectuées sur tous les
+certificats de la chaîne, alors que la valeur <code>leaf</code> limite
+la vérification au certificat hors chaîne (la feuille).
</p>
<div class="note">
-<h3>Lorsque la directive est définie à <code>chain</code> ou
-<code>leaf</code>, les CRLs doivent être disponibles pour que la
-validation réussisse</h3>
-<p>
-Avant la version 2.3.15, les vérifications CRL dans mod_ssl
-réussissaient même si aucune CRL n'était trouvée dans les chemins
-définis par les directives <code class="directive"><a href="#sslcarevocationfile">SSLCARevocationFile</a></code> ou <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code>. Le comportement a
-changé avec l'introduction de cette directive : lorsque la vérification
-est activée, les CRLs <em>doivent</em> être présentes pour que la
-validation réussisse ; dans le cas contraire, elle échouera avec une
+<h3>Lorsque la directive est définie à <code>chain</code> ou
+<code>leaf</code>, les CRLs doivent être disponibles pour que la
+validation réussisse</h3>
+<p>
+Avant la version 2.3.15, les vérifications CRL dans mod_ssl
+réussissaient même si aucune CRL n'était trouvée dans les chemins
+définis par les directives <code class="directive"><a href="#sslcarevocationfile">SSLCARevocationFile</a></code> ou <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code>. Le comportement a
+changé avec l'introduction de cette directive : lorsque la vérification
+est activée, les CRLs <em>doivent</em> être présentes pour que la
+validation réussisse ; dans le cas contraire, elle échouera avec une
erreur <code>"CRL introuvable"</code>.
</p>
</div>
<ul>
<li><code>no_crl_for_cert_ok</code>
<p>
- Avant la version 2.3.15, les vérifications CRL dans mod_ssl
-réussissaient même si aucune CRL pour le/les certificat(s) vérifié(s) n'était
-trouvée dans les chemins définis par les directives <code class="directive"><a href="#sslcarevocationfile">SSLCARevocationFile</a></code> ou <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code>.
+ Avant la version 2.3.15, les vérifications CRL dans mod_ssl
+réussissaient même si aucune CRL pour le/les certificat(s) vérifié(s) n'était
+trouvée dans les chemins définis par les directives <code class="directive"><a href="#sslcarevocationfile">SSLCARevocationFile</a></code> ou <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code>.
</p>
<p>
- Ce comportement a changé avec l'introduction de cette directive ; par défaut
- avec <code>chain</code> ou <code>leaf</code>, les CRLs doivent être présents
- pour que la validation réussisse ; si ce n'est pas le cas, elle échouera
+ Ce comportement a changé avec l'introduction de cette directive ; par défaut
+ avec <code>chain</code> ou <code>leaf</code>, les CRLs doivent être présents
+ pour que la validation réussisse ; si ce n'est pas le cas, elle échouera
avec une erreur <code>"unable to get certificate CRL"</code>.
</p>
<p>
- Le <em>drapeau</em> <code>no_crl_for_cert_ok</code> permet de rétablir le
- comportement précédent.
+ Le <em>drapeau</em> <code>no_crl_for_cert_ok</code> permet de rétablir le
+ comportement précédent.
</p>
</li>
</ul>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCARevocationCheck chain</pre>
</div>
-<div class="example"><h3>Compatibilité avec les versions 2.2</h3><pre class="prettyprint lang-config">SSLCARevocationCheck chain no_crl_for_cert_ok</pre>
+<div class="example"><h3>Compatibilité avec les versions 2.2</h3><pre class="prettyprint lang-config">SSLCARevocationCheck chain no_crl_for_cert_ok</pre>
</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="sslcarevocationfile" id="sslcarevocationfile">Directive</a> <a name="SSLCARevocationFile" id="SSLCARevocationFile">SSLCARevocationFile</a><a title="Lien permanent" href="#sslcarevocationfile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des CRLs des CA codés en
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des CRLs des CA codés en
PEM pour l'authentification des clients</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCARevocationFile <var>file-path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr>
</table>
<p>
-Cette directive permet de définir le fichier <em>tout-en-un</em> où sont
-rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités
-de certification (CAs) pour les clients auxquels vous avez à faire. On
+Cette directive permet de définir le fichier <em>tout-en-un</em> où sont
+rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités
+de certification (CAs) pour les clients auxquels vous avez à faire. On
les utilise pour l'authentification des clients. Un tel fichier contient
-la simple concaténation des différents fichiers de CRLs codés en PEM,
-dans l'ordre de préférence. Cette directive peut être utilisée à la
-place et/ou en complément de la directive <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code>.</p>
+la simple concaténation des différents fichiers de CRLs codés en PEM,
+dans l'ordre de préférence. Cette directive peut être utilisée à la
+place et/ou en complément de la directive <code class="directive"><a href="#sslcarevocationpath">SSLCARevocationPath</a></code>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCARevocationFile "/usr/local/apache2/conf/ssl.crl/ca-bundle-client.crl"</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslcarevocationpath" id="sslcarevocationpath">Directive</a> <a name="SSLCARevocationPath" id="SSLCARevocationPath">SSLCARevocationPath</a><a title="Lien permanent" href="#sslcarevocationpath" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des CRLs de CA codés en PEM pour
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des CRLs de CA codés en PEM pour
l'authentification des clients</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCARevocationPath <em>chemin-répertoire</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCARevocationPath <em>chemin-répertoire</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
</table>
<p>
-Cette directive permet de définir le répertoire où sont stockées les
-Listes de Révocation de Certificats (CRL) des Autorités de Certification
-(CAs) pour les clients auxquels vous avez à faire. On les utilise pour
-révoquer les certificats des clients au cours de l'authentification de
+Cette directive permet de définir le répertoire où sont stockées les
+Listes de Révocation de Certificats (CRL) des Autorités de Certification
+(CAs) pour les clients auxquels vous avez à faire. On les utilise pour
+révoquer les certificats des clients au cours de l'authentification de
ces derniers.</p>
<p>
-Les fichiers de ce répertoire doivent être codés en PEM et ils sont
-accédés via des noms de fichier sous forme de condensés ou hash. Il ne
-suffit donc pas de placer les fichiers de CRL dans ce répertoire
-: vous devez aussi créer des liens symboliques nommés
+Les fichiers de ce répertoire doivent être codés en PEM et ils sont
+accédés via des noms de fichier sous forme de condensés ou hash. Il ne
+suffit donc pas de placer les fichiers de CRL dans ce répertoire
+: vous devez aussi créer des liens symboliques nommés
<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous
-assurer que ce répertoire contient les liens symboliques appropriés.</p>
+assurer que ce répertoire contient les liens symboliques appropriés.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCARevocationPath "/usr/local/apache2/conf/ssl.crl/"</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslcertificatechainfile" id="sslcertificatechainfile">Directive</a> <a name="SSLCertificateChainFile" id="SSLCertificateChainFile">SSLCertificateChainFile</a><a title="Lien permanent" href="#sslcertificatechainfile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant les certificats de CA du serveur codés en
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant les certificats de CA du serveur codés en
PEM</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCertificateChainFile <var>file-path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
</table>
-<div class="note"><h3>SSLCertificateChainFile est obsolète</h3>
-<p><code>SSLCertificateChainFile</code> est devenue obsolète avec la
+<div class="note"><h3>SSLCertificateChainFile est obsolète</h3>
+<p><code>SSLCertificateChainFile</code> est devenue obsolète avec la
version 2.4.8, lorsque la directive
-<code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code> a été étendue
-pour supporter aussi les certificats de CA intermédiaires dans le
+<code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code> a été étendue
+pour supporter aussi les certificats de CA intermédiaires dans le
fichier de certificats du serveur.</p>
</div>
<p>
-Cette directive permet de définir le fichier optionnel
-<em>tout-en-un</em> où vous pouvez rassembler les certificats des
-Autorités de Certification (CA) qui forment la chaîne de certification
-du certificat du serveur. Cette chaîne débute par le certificat de la CA
-qui a délivré le certificat du serveur et peut remonter jusqu'au
+Cette directive permet de définir le fichier optionnel
+<em>tout-en-un</em> où vous pouvez rassembler les certificats des
+Autorités de Certification (CA) qui forment la chaîne de certification
+du certificat du serveur. Cette chaîne débute par le certificat de la CA
+qui a délivré le certificat du serveur et peut remonter jusqu'au
certificat de la CA racine. Un tel fichier contient la simple
-concaténation des différents certificats de CA codés en PEM, en général
-dans l'ordre de la chaîne de certification.</p>
-<p>Elle doit être utilisée à la place et/ou en complément de la
+concaténation des différents certificats de CA codés en PEM, en général
+dans l'ordre de la chaîne de certification.</p>
+<p>Elle doit être utilisée à la place et/ou en complément de la
directive <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code>
-pour construire explicitement la chaîne de certification du serveur qui
-est envoyée au navigateur en plus du certificat du serveur. Elle s'avère
-particulièrement utile pour éviter les conflits avec les certificats de
+pour construire explicitement la chaîne de certification du serveur qui
+est envoyée au navigateur en plus du certificat du serveur. Elle s'avère
+particulièrement utile pour éviter les conflits avec les certificats de
CA lorsqu'on utilise l'authentification du client. Comme le fait de
-placer un certificat de CA de la chaîne de certification du serveur dans
-la directive <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code> produit le même effet
-pour la construction de la chaîne de certification, cette directive a
-pour effet colatéral de faire accepter les certificats clients fournis
-par cette même CA, au cours de l'authentification du client.</p>
+placer un certificat de CA de la chaîne de certification du serveur dans
+la directive <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code> produit le même effet
+pour la construction de la chaîne de certification, cette directive a
+pour effet colatéral de faire accepter les certificats clients fournis
+par cette même CA, au cours de l'authentification du client.</p>
<p>
-Soyez cependant prudent : fournir la chaîne de certification ne
+Soyez cependant prudent : fournir la chaîne de certification ne
fonctionne que si vous utilisez un <em>simple</em> certificat de
serveur RSA <em>ou</em> DSA. Si vous utilisez une paire de certificats
-couplés RSA+DSA , cela ne fonctionnera que si les deux certificats
-utilisent vraiment <em>la même</em> chaîne de certification. Dans le cas
+couplés RSA+DSA , cela ne fonctionnera que si les deux certificats
+utilisent vraiment <em>la même</em> chaîne de certification. Dans le cas
contraire, la confusion risque de s'installer au niveau des
navigateurs.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCertificateChainFile "/usr/local/apache2/conf/ssl.crt/ca.crt"</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslcertificatefile" id="sslcertificatefile">Directive</a> <a name="SSLCertificateFile" id="SSLCertificateFile">SSLCertificateFile</a><a title="Lien permanent" href="#sslcertificatefile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier de données contenant les informations de certificat X.509 du serveur
-codées au format PEM ou identificateur de jeton</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier de données contenant les informations de certificat X.509 du serveur
+codées au format PEM ou identificateur de jeton</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCertificateFile <var>file-path</var>|<var>certid</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'option <var>certid</var> est disponible à partir de la version
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'option <var>certid</var> est disponible à partir de la version
2.5.1 du serveur HTTP Apache.</td></tr>
</table>
<p>
-Cette directive permet de définir le fichier de données contenant les
-informations de certificat X.509 du serveur codées au format PEM ou
+Cette directive permet de définir le fichier de données contenant les
+informations de certificat X.509 du serveur codées au format PEM ou
l'identificateur de certificat via un jeton cryptographique. Si on utilise un
fichier au format PEM, ce dernier doit contenir au minimum un certificat
-d'entité finale (feuille). La directive peut être utilisée plusieurs fois (elle
-référence des fichiers différents) pour accepter plusieurs algorithmes
+d'entité finale (feuille). La directive peut être utilisée plusieurs fois (elle
+référence des fichiers différents) pour accepter plusieurs algorithmes
d'authentification au niveau du serveur - souvent RSA, DSA et ECC. Le nombre
-d'algorithmes supportés dépend de la version d'OpenSSL utilisée avec mod_ssl : à
+d'algorithmes supportés dépend de la version d'OpenSSL utilisée avec mod_ssl : à
partir de la version 1.0.0, la commande <code>openssl
-list-public-key-algorithms</code> affiche la liste des algorithmes supportés.
-Voir aussi la note ci-dessous à propos des limitations des versions d'OpenSSL
-antérieures à 1.0.2 et la manière de les contourner.
+list-public-key-algorithms</code> affiche la liste des algorithmes supportés.
+Voir aussi la note ci-dessous à propos des limitations des versions d'OpenSSL
+antérieures à 1.0.2 et la manière de les contourner.
</p>
<p>Les fichiers peuvent aussi contenir des certificats de CA
-intermédiaires triés depuis la feuille vers la racine. Cette
-fonctionnalité est disponible depuis la version 2.4.8 du serveur HTTP
-Apache, et rend obsolète la directive <code class="directive"><a href="#sslcertificatechainfile">SSLCertificateChainFile</a></code>. A partir de la
-version 1.0.2 d'OpenSSL, il est alors possible de configurer la chaîne
+intermédiaires triés depuis la feuille vers la racine. Cette
+fonctionnalité est disponible depuis la version 2.4.8 du serveur HTTP
+Apache, et rend obsolète la directive <code class="directive"><a href="#sslcertificatechainfile">SSLCertificateChainFile</a></code>. A partir de la
+version 1.0.2 d'OpenSSL, il est alors possible de configurer la chaîne
de certification en fonction du certificat.</p>
<p>Depuis la version 2.4.7 du serveur HTTP Apache, on peut aussi ajouter
-des paramètres DH personnalisés et un nom EC
-curve pour les clés éphémères à la fin du premier fichier défini par la
+des paramètres DH personnalisés et un nom EC
+curve pour les clés éphémères à la fin du premier fichier défini par la
directive <code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>.
-Ces paramètres peuvent être générés avec les commandes <code>openssl
-dhparam</code> et <code>openssl ecparam</code>, et ils peuvent être
-ajoutés tel quel à la fin du premier fichier de certificat. En effet,
-seul le premier fichier de certificat défini peut être utilisé pour
-enregistrer des paramètres personnalisés, car ces derniers s'appliquent
-indépendamment de l'algorithme d'authentification utilisé.
+Ces paramètres peuvent être générés avec les commandes <code>openssl
+dhparam</code> et <code>openssl ecparam</code>, et ils peuvent être
+ajoutés tel quel à la fin du premier fichier de certificat. En effet,
+seul le premier fichier de certificat défini peut être utilisé pour
+enregistrer des paramètres personnalisés, car ces derniers s'appliquent
+indépendamment de l'algorithme d'authentification utilisé.
</p>
-<p>Enfin, il est aussi possible d'ajouter la clé privée du certificat de
-l'entité finale au fichier de certificat, ce qui permet de se passer
-d'une directive <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> séparée. Cette
-pratique est cependant fortement déconseillée. En effet, les fichiers de
-certificats qui contiennent de tels clés embarquées doivent être définis
-avant les certificats en utilisant un fichier de clé séparé. En outre,
-si la clé est chiffrée, une boîte de dialogue pour entrer le mot de
-passe de la clé s'ouvre au démarrage du serveur.
+<p>Enfin, il est aussi possible d'ajouter la clé privée du certificat de
+l'entité finale au fichier de certificat, ce qui permet de se passer
+d'une directive <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> séparée. Cette
+pratique est cependant fortement déconseillée. En effet, les fichiers de
+certificats qui contiennent de tels clés embarquées doivent être définis
+avant les certificats en utilisant un fichier de clé séparé. En outre,
+si la clé est chiffrée, une boîte de dialogue pour entrer le mot de
+passe de la clé s'ouvre au démarrage du serveur.
</p>
-<p>Plutôt que de stocker les certificats et les clés privées dans des fichiers,
+<p>Plutôt que de stocker les certificats et les clés privées dans des fichiers,
on peut utiliser un identificateur de certificat pour identifier un certificat
-stocké dans un jeton. Actuellement, seuls les <a href="https://tools.ietf.org/html/rfc7512">URIs PKCS#11</a> sont reconnus comme
-identificateurs de certificats et peuvent être utilisés en conjonction avec le
-moteur <code>pkcs11</code> OpenSSL configuré via la directive <code class="directive"><a href="#sslcryptodevice">SSLCryptoDevice</a></code>. Si la directive <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> est absente, le certificat et
-la clé privée peuvent être chargés avec l'identificateur spécifié via la
+stocké dans un jeton. Actuellement, seuls les <a href="https://tools.ietf.org/html/rfc7512">URIs PKCS#11</a> sont reconnus comme
+identificateurs de certificats et peuvent être utilisés en conjonction avec le
+moteur OpenSSL <code>pkcs11</code>. Si la directive <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> est absente, le certificat et
+la clé privée peuvent être chargés avec l'identificateur spécifié via la
directive <code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>.</p>
<div class="note">
-<h3>Interopérabilité des paramètres DH avec les nombres premiers de
+<h3>Interopérabilité des paramètres DH avec les nombres premiers de
plus de 1024 bits</h3>
<p>
Depuis la version 2.4.7, mod_ssl utilise des
-paramètres DH standardisés avec des nombres premiers de 2048, 3072 et
+paramètres DH standardisés avec des nombres premiers de 2048, 3072 et
4096 bits, et avec des nombres premiers de 6144 et 8192 bits depuis la
version 2.4.10 (voir <a href="http://www.ietf.org/rfc/rfc3526.txt">RFC
3526</a>), et les fournit aux clients en fonction de la longueur de la
-clé du certificat RSA/DSA. En particulier avec les clients basés sur
-Java (versions 7 et antérieures), ceci peut provoquer des erreurs au
-cours de la négociation - voir cette <a href="../ssl/ssl_faq.html#javadh">réponse de la FAQ SSL</a> pour
-contourner les problèmes de ce genre.
+clé du certificat RSA/DSA. En particulier avec les clients basés sur
+Java (versions 7 et antérieures), ceci peut provoquer des erreurs au
+cours de la négociation - voir cette <a href="../ssl/ssl_faq.html#javadh">réponse de la FAQ SSL</a> pour
+contourner les problèmes de ce genre.
</p>
</div>
<div class="note">
-<h3>Paramètres DH par défaut lorsqu'on utilise plusieurs certificats et une
-version d'OpenSSL antérieure à 1.0.2.</h3>
+<h3>Paramètres DH par défaut lorsqu'on utilise plusieurs certificats et une
+version d'OpenSSL antérieure à 1.0.2.</h3>
<p>
-Lorsqu'on utilise plusieurs certificats pour supporter différents algorithmes
+Lorsqu'on utilise plusieurs certificats pour supporter différents algorithmes
d'authentification (comme RSA, DSA, mais principalement ECC) et une
-version d'OpenSSL antérieure à 1.0.2, il est recommandé soit d'utiliser des
-paramètres DH spécifiques (solution à privilégier) en les ajoutant au premier
-fichier certificat (comme décrit ci-dessus), soit d'ordonner les directives
-<code class="directive">SSLCertificateFile</code> de façon à ce que les certificats
-RSA/DSA soit placés <strong>après</strong> les certificats ECC.
+version d'OpenSSL antérieure à 1.0.2, il est recommandé soit d'utiliser des
+paramètres DH spécifiques (solution à privilégier) en les ajoutant au premier
+fichier certificat (comme décrit ci-dessus), soit d'ordonner les directives
+<code class="directive">SSLCertificateFile</code> de façon à ce que les certificats
+RSA/DSA soit placés <strong>après</strong> les certificats ECC.
</p>
<p>
-Cette limitation est présente dans les anciennes versions d'OpenSSL qui
-présentent toujours le dernier certificat configuré, au lieu
-de laisser le serveur HTTP Apache déterminer le certificat sélectionné lors de
-la phase de négociation de la connexion (lorsque les paramètres DH doivent être
-envoyés à l'hôte distant).
-De ce fait, le serveur peut sélectionner des paramètres DH par défaut basés sur
-la longueur de la clé du mauvais certificat (les clés ECC sont beaucoup plus
-petites que les clés RSA/DSA et leur longueur n'est pas pertinente pour la
-sélection des nombres premiers DH).
+Cette limitation est présente dans les anciennes versions d'OpenSSL qui
+présentent toujours le dernier certificat configuré, au lieu
+de laisser le serveur HTTP Apache déterminer le certificat sélectionné lors de
+la phase de négociation de la connexion (lorsque les paramètres DH doivent être
+envoyés à l'hôte distant).
+De ce fait, le serveur peut sélectionner des paramètres DH par défaut basés sur
+la longueur de la clé du mauvais certificat (les clés ECC sont beaucoup plus
+petites que les clés RSA/DSA et leur longueur n'est pas pertinente pour la
+sélection des nombres premiers DH).
</p>
<p>
-Ce problème peut être résolu en créant et configurant des paramètres DH
-spécifiques (comme décrit ci-dessus), car ils l'emportent toujours sur les
-paramètres DH par défaut, et vous pourrez ainsi utiliser une longueur spécifique
-et appropriée.
+Ce problème peut être résolu en créant et configurant des paramètres DH
+spécifiques (comme décrit ci-dessus), car ils l'emportent toujours sur les
+paramètres DH par défaut, et vous pourrez ainsi utiliser une longueur spécifique
+et appropriée.
</p>
</div>
-<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># Exemple utilisant un fichier codé en PEM.
+<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># Exemple utilisant un fichier codé en PEM.
SSLCertificateFile "/usr/local/apache2/conf/ssl.crt/server.crt"
-# Exemple d'utilisation d'un certificat et d'une clé privés issus d'un jeton
+# Exemple d'utilisation d'un certificat et d'une clé privés issus d'un jeton
# PKCS#11 :
-SSLCryptoDevice pkcs11
-...
SSLCertificateFile "pkcs11:token=My%20Token%20Name;id=45"</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslcertificatekeyfile" id="sslcertificatekeyfile">Directive</a> <a name="SSLCertificateKeyFile" id="SSLCertificateKeyFile">SSLCertificateKeyFile</a><a title="Lien permanent" href="#sslcertificatekeyfile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la clé privée du serveur codée en
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la clé privée du serveur codée en
PEM</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCertificateKeyFile <var>file-path</var>|<var>keyid</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td><var>keyid</var> est disponible à partir de la version 2.5.1 du
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td><var>keyid</var> est disponible à partir de la version 2.5.1 du
serveur HTTP Apache.</td></tr>
</table>
<p>
-Cette directive permet de définir le fichier contenant la clé privée du serveur
-codée en PEM ou l'identifiant de la clé via un jeton cryptographique défini. Si
-la clé privée est chiffrée, une boîte de dialogue demandant le mot de passe de
-cette dernière s'ouvre au démarrage du serveur.</p>
+Cette directive permet de définir le fichier contenant la clé privée du serveur
+codée en PEM ou l'identifiant de la clé via un jeton cryptographique défini. Si
+la clé privée est chiffrée, une boîte de dialogue demandant le mot de passe de
+cette dernière s'ouvre au démarrage du serveur.</p>
<p>
-Cette directive peut être utilisée plusieurs fois pour référencer
-différents noms de fichiers, afin de supporter plusieurs algorithmes
-pour l'authentification du serveur. A chaque directive <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> doit être associée
+Cette directive peut être utilisée plusieurs fois pour référencer
+différents noms de fichiers, afin de supporter plusieurs algorithmes
+pour l'authentification du serveur. A chaque directive <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> doit être associée
une directive <code class="directive">SSLCertificateFile</code> correspondante.</p>
<p>
-La clé privé peut aussi être ajoutée au fichier défini par la directive
+La clé privé peut aussi être ajoutée au fichier défini par la directive
<code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>, mais cette
-pratique est fortement déconseillée. En effet, les fichiers de
-certificats qui comportent une telle clé doivent être définis après les
-certificats en utilisant un fichier de clé séparé.</p>
+pratique est fortement déconseillée. En effet, les fichiers de
+certificats qui comportent une telle clé doivent être définis après les
+certificats en utilisant un fichier de clé séparé.</p>
-<p>Plutôt que de stocker des clés privées dans des fichiers, il est possible
-d'identifier une clé privée via un identifiant stocké dans un jeton.
+<p>Plutôt que de stocker des clés privées dans des fichiers, il est possible
+d'identifier une clé privée via un identifiant stocké dans un jeton.
Actuellement, seuls les <a href="https://tools.ietf.org/html/rfc7512">PKCS#11
-URIs</a> sont reconnus comme identifiants de clés privées et peuvent être
-utilisés en conjonction avec le moteur OpenSSL <code>pkcs11</code> configuré via
-la directive <code class="directive"><a href="#sslcryptodevice">SSLCryptoDevice</a></code>.</p>
+URIs</a> sont reconnus comme identifiants de clés privées et peuvent être
+utilisés en conjonction avec le moteur OpenSSL <code>pkcs11</code>.</p>
-<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># Pour utiliser une clé privée stockée dans fichier encodé PEM :
+<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># Pour utiliser une clé privée stockée dans fichier encodé PEM :
SSLCertificateKeyFile "/usr/local/apache2/conf/ssl.key/server.key"
-# Pour utiliser une clé privée à partir d'un jeton PKCS#11 :
-SSLCryptoDevice pkcs11
-...
+# Pour utiliser une clé privée à partir d'un jeton PKCS#11 :
SSLCertificateKeyFile "pkcs11:token=My%20Token%20Name;id=45"</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslciphersuite" id="sslciphersuite">Directive</a> <a name="SSLCipherSuite" id="SSLCipherSuite">SSLCipherSuite</a><a title="Lien permanent" href="#sslciphersuite" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Algorithmes de chiffrement disponibles pour la négociation
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Algorithmes de chiffrement disponibles pour la négociation
au cours de l'initialisation de la connexion SSL</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCipherSuite [<em>protocol</em>] <em>cipher-spec</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLCipherSuite DEFAULT (dépend de la version d'OpenSSL
-installée)</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#Default">Défaut:</a></th><td><code>SSLCipherSuite DEFAULT (dépend de la version d'OpenSSL
+installée)</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">AllowOverride:</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_ssl</td></tr>
</table>
<p>
-Cette directive complexe utilise la chaîne <em>cipher-spec</em>
+Cette directive complexe utilise la chaîne <em>cipher-spec</em>
contenant la liste des algorithmes de chiffrement OpenSSL que le client
peut utiliser au cours de la phase d'initialisation de la connexion SSL. La
-spécification optionnelle du protocole permet de configurer la suite
-d'algorithmes de chiffrement pour une version spécifique de SSL. Une des valeurs
-possibles est "SSL" pour toutes les versions du protocole SSL jusqu'à TLSv1.2
+spécification optionnelle du protocole permet de configurer la suite
+d'algorithmes de chiffrement pour une version spécifique de SSL. Une des valeurs
+possibles est "SSL" pour toutes les versions du protocole SSL jusqu'à TLSv1.2
compris.
</p>
<p>
-Notez que cette directive peut être utilisée aussi bien dans un contexte
-de serveur que dans un contexte de répertoire. Dans un contexte de
-serveur, elle s'applique à l'initialisation SSL standard lorsqu'une
-connexion est établie. Dans un contexte de répertoire, elle force une
-renégociation SSL avec la liste d'algorithmes de chiffrement spécifiée
-après la lecture d'une requête HTTP, mais avant l'envoi de la réponse
-HTTP (et pas avant que la renégociation soit effectuée).</p>
+Notez que cette directive peut être utilisée aussi bien dans un contexte
+de serveur que dans un contexte de répertoire. Dans un contexte de
+serveur, elle s'applique à l'initialisation SSL standard lorsqu'une
+connexion est établie. Dans un contexte de répertoire, elle force une
+renégociation SSL avec la liste d'algorithmes de chiffrement spécifiée
+après la lecture d'une requête HTTP, mais avant l'envoi de la réponse
+HTTP (et pas avant que la renégociation soit effectuée).</p>
<p>
-Si la bibliothèque SSL supporte TLSv1.3 (versions d'OpenSSL 1.1.1 et
-supérieures), il est possible de spécifier le paramètre "TLSv1.3" pour
+Si la bibliothèque SSL supporte TLSv1.3 (versions d'OpenSSL 1.1.1 et
+supérieures), il est possible de spécifier le paramètre "TLSv1.3" pour
configurer la suite d'algorithmes de chiffrement pour ce protocole. Comme
-TLSv1.3 n'autorise pas la renégociation, spécifier pour lui des algorithmes de
-chiffrement dans un contexte de répertoire n'est pas autorisé</p>
+TLSv1.3 n'autorise pas la renégociation, spécifier pour lui des algorithmes de
+chiffrement dans un contexte de répertoire n'est pas autorisé</p>
<p>
Pour obtenir la liste des noms d'algorithmes de chiffrement pour TLSv1.3, se
-référer à la <a href="https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set_ciphersuites.html">the
+référer à la <a href="https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set_ciphersuites.html">the
OpenSSL documentation</a>.</p>
<p>
-La liste d'algorithmes de chiffrement SSL spécifiée par l'argument
+La liste d'algorithmes de chiffrement SSL spécifiée par l'argument
<em>cipher-spec</em> comporte quatre attributs principaux auxquels
s'ajoutent quelques attributs secondaires :</p>
<ul>
-<li><em>Algorithme d'échange de clés</em>:<br />
+<li><em>Algorithme d'échange de clés</em>:<br />
RSA, Diffie-Hellman, Elliptic Curve Diffie-Hellman, Secure Remote Password.
</li>
<li><em>Algorithme d'authentification</em>:<br />
<li><em>Algorithme de chiffrement</em>:<br />
AES, DES, Triple-DES, RC4, RC2, IDEA, etc...
</li>
-<li><em>Algorithme de condensé MAC</em>:<br />
+<li><em>Algorithme de condensé MAC</em>:<br />
MD5, SHA ou SHA1, SHA256, SHA384.
</li>
</ul>
-<p>L'algorithme de chiffrement peut aussi provenir de l'extérieur. Les
-algorithmes SSLv2 ne sont plus supportés.
-Pour définir les algorithmes à utiliser, on
-peut soit spécifier tous les algorithmes à la fois, soit utiliser des
-alias pour spécifier une liste d'algorithmes dans leur ordre de
-préférence (voir <a href="#table1">Table 1</a>). Les algorithmes et
-alias effectivement disponibles dépendent de la version d'openssl
-utilisée. Les versions ultérieures d'openssl sont susceptibles d'inclure
-des algorithmes supplémentaires.</p>
+<p>L'algorithme de chiffrement peut aussi provenir de l'extérieur. Les
+algorithmes SSLv2 ne sont plus supportés.
+Pour définir les algorithmes à utiliser, on
+peut soit spécifier tous les algorithmes à la fois, soit utiliser des
+alias pour spécifier une liste d'algorithmes dans leur ordre de
+préférence (voir <a href="#table1">Table 1</a>). Les algorithmes et
+alias effectivement disponibles dépendent de la version d'openssl
+utilisée. Les versions ultérieures d'openssl sont susceptibles d'inclure
+des algorithmes supplémentaires.</p>
<table class="bordered">
<tr><th><a name="table1">Symbole</a></th> <th>Description</th></tr>
-<tr><td colspan="2"><em>Algorithme d'échange de clés :</em></td></tr>
-<tr><td><code>kRSA</code></td> <td>Echange de clés RSA</td></tr>
-<tr><td><code>kDHr</code></td> <td>Echange de clés Diffie-Hellman avec
-clé RSA</td></tr>
-<tr><td><code>kDHd</code></td> <td>Echange de clés Diffie-Hellman avec
-clé DSA</td></tr>
-<tr><td><code>kEDH</code></td> <td>Echange de clés Diffie-Hellman
+<tr><td colspan="2"><em>Algorithme d'échange de clés :</em></td></tr>
+<tr><td><code>kRSA</code></td> <td>Echange de clés RSA</td></tr>
+<tr><td><code>kDHr</code></td> <td>Echange de clés Diffie-Hellman avec
+clé RSA</td></tr>
+<tr><td><code>kDHd</code></td> <td>Echange de clés Diffie-Hellman avec
+clé DSA</td></tr>
+<tr><td><code>kEDH</code></td> <td>Echange de clés Diffie-Hellman
temporaires (pas de certificat)</td> </tr>
-<tr><td><code>kSRP</code></td> <td>échange de clés avec mot de passe
-distant sécurisé (SRP)</td></tr>
+<tr><td><code>kSRP</code></td> <td>échange de clés avec mot de passe
+distant sécurisé (SRP)</td></tr>
<tr><td colspan="2"><em>Algorithmes d'authentification :</em></td></tr>
<tr><td><code>aNULL</code></td> <td>Pas d'authentification</td></tr>
<tr><td><code>aRSA</code></td> <td>Authentification RSA</td></tr>
<tr><td><code>RC4</code></td> <td>Chiffrement RC4</td> </tr>
<tr><td><code>RC2</code></td> <td>Chiffrement RC2</td> </tr>
<tr><td><code>IDEA</code></td> <td>Chiffrement IDEA</td> </tr>
-<tr><td colspan="2"><em>Algorithmes de condensés MAC </em>:</td></tr>
+<tr><td colspan="2"><em>Algorithmes de condensés MAC </em>:</td></tr>
<tr><td><code>MD5</code></td> <td>Fonction de hashage MD5</td></tr>
<tr><td><code>SHA1</code></td> <td>Fonction de hashage SHA1</td></tr>
<tr><td><code>SHA</code></td> <td>alias pour SHA1</td> </tr>
<tr><td><code>EXP</code></td> <td>tous les algorithmes de chiffrement
externes</td> </tr>
<tr><td><code>EXPORT40</code></td> <td>tous les algorithmes de chiffrement
-externes limités à 40 bits</td> </tr>
+externes limités à 40 bits</td> </tr>
<tr><td><code>EXPORT56</code></td> <td>tous les algorithmes de chiffrement
-externes limités à 56 bits</td> </tr>
+externes limités à 56 bits</td> </tr>
<tr><td><code>LOW</code></td> <td>tous les algorithmes de chiffrement
faibles (non externes, DES simple)</td></tr>
<tr><td><code>MEDIUM</code></td> <td>tous les algorithmes avec
<tr><td><code>HIGH</code></td> <td>tous les algorithmes
utilisant Triple-DES</td> </tr>
<tr><td><code>RSA</code></td> <td>tous les algorithmes
-utilisant l'échange de clés RSA</td> </tr>
+utilisant l'échange de clés RSA</td> </tr>
<tr><td><code>DH</code></td> <td>tous les algorithmes
-utilisant l'échange de clés Diffie-Hellman</td> </tr>
+utilisant l'échange de clés Diffie-Hellman</td> </tr>
<tr><td><code>EDH</code></td> <td>tous les algorithmes
-utilisant l'échange de clés Diffie-Hellman temporaires</td> </tr>
-<tr><td><code>ECDH</code></td> <td>Echange de clés Elliptic Curve Diffie-Hellman</td> </tr>
+utilisant l'échange de clés Diffie-Hellman temporaires</td> </tr>
+<tr><td><code>ECDH</code></td> <td>Echange de clés Elliptic Curve Diffie-Hellman</td> </tr>
<tr><td><code>ADH</code></td> <td>tous les algorithmes
-utilisant l'échange de clés Diffie-Hellman anonymes</td> </tr>
+utilisant l'échange de clés Diffie-Hellman anonymes</td> </tr>
<tr><td><code>AECDH</code></td> <td>tous les algorithmes utilisant
-l'échange de clés Elliptic Curve Diffie-Hellman</td> </tr>
+l'échange de clés Elliptic Curve Diffie-Hellman</td> </tr>
<tr><td><code>SRP</code></td> <td>tous les algorithmes utilisant
-l'échange de clés avec mot de passe distant sécurisé (SRP)</td> </tr>
+l'échange de clés avec mot de passe distant sécurisé (SRP)</td> </tr>
<tr><td><code>DSS</code></td> <td>tous les algorithmes
utilisant l'authentification DSS</td> </tr>
<tr><td><code>ECDSA</code></td> <td>tous les algorithmes utilisant
aucune authentification</td> </tr>
</table>
<p>
-Cela devient intéressant lorsque tous ces symboles sont combinés
-ensemble pour spécifier les algorithmes disponibles et l'ordre dans
+Cela devient intéressant lorsque tous ces symboles sont combinés
+ensemble pour spécifier les algorithmes disponibles et l'ordre dans
lequel vous voulez les utiliser. Pour simplifier tout cela, vous
disposez aussi d'alias (<code>SSLv3, TLSv1, EXP, LOW, MEDIUM,
HIGH</code>) pour certains groupes d'algorithmes. Ces symboles peuvent
-être reliés par des préfixes pour former la chaîne <em>algorithmes</em>.
-Les préfixes disponibles sont :</p>
+être reliés par des préfixes pour former la chaîne <em>algorithmes</em>.
+Les préfixes disponibles sont :</p>
<ul>
-<li>none: ajoute l'algorithme à la liste</li>
-<li><code>+</code>: déplace les algorithmes qui conviennent à la
+<li>none: ajoute l'algorithme à la liste</li>
+<li><code>+</code>: déplace les algorithmes qui conviennent à la
place courante dans la liste</li>
-<li><code>-</code>: supprime l'algorithme de la liste (peut être rajouté
+<li><code>-</code>: supprime l'algorithme de la liste (peut être rajouté
plus tard)</li>
-<li><code>!</code>: supprime définitivement l'algorithme de la liste (ne
-peut <strong>plus</strong> y être rajouté plus tard)</li>
+<li><code>!</code>: supprime définitivement l'algorithme de la liste (ne
+peut <strong>plus</strong> y être rajouté plus tard)</li>
</ul>
<div class="note">
<h3>Les algorithmes <code>aNULL</code>, <code>eNULL</code> et
-<code>EXP</code> sont toujours désactivés</h3>
+<code>EXP</code> sont toujours désactivés</h3>
<p>Depuis la version 2.4.7, les
-algorithmes de type null ou destinés à l'exportation sont toujours
-désactivés car mod_ssl ajoute obligatoirement
-<code>!aNULL:!eNULL:!EXP</code> à toute chaîne d'algorithme de
-chiffrement à l'initialisation.</p>
+algorithmes de type null ou destinés à l'exportation sont toujours
+désactivés car mod_ssl ajoute obligatoirement
+<code>!aNULL:!eNULL:!EXP</code> à toute chaîne d'algorithme de
+chiffrement à l'initialisation.</p>
</div>
<p>Pour vous simplifier la vie, vous pouvez utiliser la commande
``<code>openssl ciphers -v</code>'' qui vous fournit un moyen simple de
-créer la chaîne <em>algorithmes</em> avec succès. La chaîne
-<em>algorithmes</em> par défaut dépend de la version des bibliothèques
-SSL installées. Supposons qu'elle contienne
+créer la chaîne <em>algorithmes</em> avec succès. La chaîne
+<em>algorithmes</em> par défaut dépend de la version des bibliothèques
+SSL installées. Supposons qu'elle contienne
``<code>RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5</code>'', ce qui
stipule de mettre <code>RC4-SHA</code> et <code>AES128-SHA</code> en
-premiers, car ces algorithmes présentent un bon compromis entre vitesse
-et sécurité. Viennent ensuite les algorithmes de sécurité élevée et
+premiers, car ces algorithmes présentent un bon compromis entre vitesse
+et sécurité. Viennent ensuite les algorithmes de sécurité élevée et
moyenne. En fin de compte, les algorithmes qui n'offrent aucune
authentification sont exclus, comme les algorithmes anonymes
Diffie-Hellman pour SSL, ainsi que tous les algorithmes qui utilisent
SEED-SHA SSLv3 Kx=RSA Au=RSA Enc=SEED(128) Mac=SHA1
PSK-RC4-SHA SSLv3 Kx=PSK Au=PSK Enc=RC4(128) Mac=SHA1
KRB5-RC4-SHA SSLv3 Kx=KRB5 Au=KRB5 Enc=RC4(128) Mac=SHA1</pre></div>
-<p>Vous trouverez la liste complète des algorithmes RSA & DH
-spécifiques à SSL dans la <a href="#table2">Table 2</a>.</p>
+<p>Vous trouverez la liste complète des algorithmes RSA & DH
+spécifiques à SSL dans la <a href="#table2">Table 2</a>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLCipherSuite RSA:!EXP:!NULL:+HIGH:+MEDIUM:-LOW</pre>
</div>
<table class="bordered">
<tr><th><a name="table2">Symbole algorithme</a></th> <th>Protocole</th>
-<th>Echange de clés</th> <th>Authentification</th> <th>Chiffrement</th>
-<th>Condensé MAC</th> <th>Type</th> </tr>
+<th>Echange de clés</th> <th>Authentification</th> <th>Chiffrement</th>
+<th>Condensé MAC</th> <th>Type</th> </tr>
<tr><td colspan="7"><em>Algorithmes RSA :</em></td></tr>
<tr><td><code>DES-CBC3-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>3DES(168)</td> <td>SHA1</td> <td /> </tr>
<tr><td><code>IDEA-CBC-SHA</code></td> <td>SSLv3</td> <td>RSA</td> <td>RSA</td> <td>IDEA(128)</td> <td>SHA1</td> <td /> </tr>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'activer la compression au niveau SSL</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCompression on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLCompression off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLCompression off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.3 du serveur HTTP
-Apache, si on utilise une version d'OpenSSL 0.9.8 ou supérieure ;
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.3 du serveur HTTP
+Apache, si on utilise une version d'OpenSSL 0.9.8 ou supérieure ;
l'utilisation dans un contexte de serveur virtuel n'est disponible que
-si on utilise une version d'OpenSSL 1.0.0 ou supérieure. La valeur par
-défaut était <code>on</code> dans la version 2.4.3.</td></tr>
+si on utilise une version d'OpenSSL 1.0.0 ou supérieure. La valeur par
+défaut était <code>on</code> dans la version 2.4.3.</td></tr>
</table>
<p>Cette directive permet d'activer la compression au niveau SSL.</p>
<div class="warning">
-<p>L'activation de la compression est à l'origine de problèmes de
-sécurité dans la plupart des configurations (l'attaque nommée CRIME).</p>
+<p>L'activation de la compression est à l'origine de problèmes de
+sécurité dans la plupart des configurations (l'attaque nommée CRIME).</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="sslcryptodevice" id="sslcryptodevice">Directive</a> <a name="SSLCryptoDevice" id="SSLCryptoDevice">SSLCryptoDevice</a><a title="Lien permanent" href="#sslcryptodevice" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'utilisation d'un accélérateur matériel de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'utilisation d'un accélérateur matériel de
chiffrement</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLCryptoDevice <em>moteur</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLCryptoDevice builtin</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLCryptoDevice builtin</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_ssl</td></tr>
</table>
<p>
-Cette directive permet d'activer l'utilisation d'une carte accélératrice
+Cette directive permet d'activer l'utilisation d'une carte accélératrice
de chiffrement qui prendra en compte certaines parties du traitement
-relatif à SSL. Cette directive n'est utilisable que si la boîte à
-outils SSL à été compilée avec le support "engine" ; les versions 0.9.7
-et supérieures d'OpenSSL possèdent par défaut le support "engine", alors
-qu'avec la version 0.9.6, il faut utiliser les distributions séparées
+relatif à SSL. Cette directive n'est utilisable que si la boîte à
+outils SSL à été compilée avec le support "engine" ; les versions 0.9.7
+et supérieures d'OpenSSL possèdent par défaut le support "engine", alors
+qu'avec la version 0.9.6, il faut utiliser les distributions séparées
"-engine".</p>
-<p>Pour déterminer les moteurs supportés, exécutez la commande
+<p>Pour déterminer les moteurs supportés, exécutez la commande
"<code>openssl engine</code>".</p>
-<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># Pour un accélérateur Broadcom :
+<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"># Pour un accélérateur Broadcom :
SSLCryptoDevice ubsec</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslengine" id="sslengine">Directive</a> <a name="SSLEngine" id="SSLEngine">SSLEngine</a><a title="Lien permanent" href="#sslengine" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interrupteur marche/arrêt du moteur SSL</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interrupteur marche/arrêt du moteur SSL</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLEngine on|off|optional</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLEngine off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLEngine off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
</table>
-<p> Cette directive permet d'activer/désactiver le moteur du protocole SSL/TLS.
-Elle doit être définie dans une section
+<p> Cette directive permet d'activer/désactiver le moteur du protocole SSL/TLS.
+Elle doit être définie dans une section
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> pour activer
-SSL/TLS pour ce serveur virtuel particulier. Par défaut, le moteur du protocole
-SSL/TLS est désactivé pour le serveur principal et tous les serveurs virtuels
-configurés.</p>
+SSL/TLS pour ce serveur virtuel particulier. Par défaut, le moteur du protocole
+SSL/TLS est désactivé pour le serveur principal et tous les serveurs virtuels
+configurés.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><VirtualHost _default_:443>
SSLEngine on
#...
</VirtualHost></pre>
</div>
-<p><code class="directive">SSLEngine</code> peut être définie à <code>optional</code>,
+<p><code class="directive">SSLEngine</code> peut être définie à <code>optional</code>,
ce qui active le support de <a href="http://www.ietf.org/rfc/rfc2817.txt">RFC
2817</a>.
</p>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Coimmutateur du mode SSL FIPS</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLFIPS on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLFIPS off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLFIPS off</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_ssl</td></tr>
</table>
<p>
-Cette directive permet d'activer/désactiver l'utilisation du drapeau
-FIPS_mode de la bibliothèque SSL. Elle doit être définie dans le
+Cette directive permet d'activer/désactiver l'utilisation du drapeau
+FIPS_mode de la bibliothèque SSL. Elle doit être définie dans le
contexte du serveur principal, et n'accepte pas les configurations
sources de conflits (SSLFIPS on suivi de SSLFIPS off par exemple). Le
-mode s'applique à toutes les opérations de la bibliothèque SSL.
+mode s'applique à toutes les opérations de la bibliothèque SSL.
</p>
<p>
-Si httpd a été compilé avec une bibliothèque SSL qui ne supporte pas le
-drapeau FIPS_mode, la directive <code>SSLFIPS on</code> échouera.
-Reportez-vous au document sur la politique de sécurité FIPS 140-2 de la
-bibliothèque du fournisseur SSL, pour les prérequis spécifiques
-nécessaires à l'utilisation de mod_ssl selon un mode d'opération
-approuvé par FIPS 140-2 ; notez que mod_ssl en lui-même n'est pas
-validé, mais peut être décrit comme utilisant un module de chiffrement
-validé par FIPS 140-2, lorsque tous les composants sont assemblés et mis
-en oeuvre selon les recommandations de la politique de sécurité
+Si httpd a été compilé avec une bibliothèque SSL qui ne supporte pas le
+drapeau FIPS_mode, la directive <code>SSLFIPS on</code> échouera.
+Reportez-vous au document sur la politique de sécurité FIPS 140-2 de la
+bibliothèque du fournisseur SSL, pour les prérequis spécifiques
+nécessaires à l'utilisation de mod_ssl selon un mode d'opération
+approuvé par FIPS 140-2 ; notez que mod_ssl en lui-même n'est pas
+validé, mais peut être décrit comme utilisant un module de chiffrement
+validé par FIPS 140-2, lorsque tous les composants sont assemblés et mis
+en oeuvre selon les recommandations de la politique de sécurité
applicable.
</p>
<div class="directive-section"><h2><a name="sslhonorcipherorder" id="sslhonorcipherorder">Directive</a> <a name="SSLHonorCipherOrder" id="SSLHonorCipherOrder">SSLHonorCipherOrder</a><a title="Lien permanent" href="#sslhonorcipherorder" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Option permettant de classer les algorithmes de chiffrement
-du serveur par ordre de préférence</td></tr>
+du serveur par ordre de préférence</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLHonorCipherOrder on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLHonorCipherOrder off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLHonorCipherOrder off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
</table>
-<p>Normalement, ce sont les préférences du client qui sont prises en
+<p>Normalement, ce sont les préférences du client qui sont prises en
compte lors du choix d'un algorithme de chiffrement au cours d'une
-négociation SSLv3 ou TLSv1. Si cette directive est activée, ce sont les
-préférences du serveur qui seront prises en compte à la place.</p>
+négociation SSLv3 ou TLSv1. Si cette directive est activée, ce sont les
+préférences du serveur qui seront prises en compte à la place.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLHonorCipherOrder on</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslinsecurerenegotiation" id="sslinsecurerenegotiation">Directive</a> <a name="SSLInsecureRenegotiation" id="SSLInsecureRenegotiation">SSLInsecureRenegotiation</a><a title="Lien permanent" href="#sslinsecurerenegotiation" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Option permettant d'activer le support de la renégociation
-non sécurisée</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Option permettant d'activer le support de la renégociation
+non sécurisée</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLInsecureRenegotiation on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLInsecureRenegotiation off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLInsecureRenegotiation off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si une version 0.9.8m
-ou supérieure d'OpenSSL est utilisée</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si une version 0.9.8m
+ou supérieure d'OpenSSL est utilisée</td></tr>
</table>
-<p>Comme il a été spécifié, toutes les versions des protocoles SSL et
-TLS (jusqu'à la version 1.2 de TLS incluse) étaient vulnérables à une
+<p>Comme il a été spécifié, toutes les versions des protocoles SSL et
+TLS (jusqu'à la version 1.2 de TLS incluse) étaient vulnérables à une
attaque de type Man-in-the-Middle (<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2009-3555">CVE-2009-3555</a>)
-au cours d'une renégociation. Cette vulnérabilité permettait à un
-attaquant de préfixer la requête HTTP (telle qu'elle était vue du
-serveur) avec un texte choisi. Une extension du protocole a été
-développée pour corriger cette vulnérabilité, sous réserve qu'elle soit
-supportée par le client et le serveur.</p>
-
-<p>Si <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est lié à une version 0.9.8m ou
-supérieure d'OpenSSL, par défaut, la renégociation n'est accordée qu'aux
+au cours d'une renégociation. Cette vulnérabilité permettait à un
+attaquant de préfixer la requête HTTP (telle qu'elle était vue du
+serveur) avec un texte choisi. Une extension du protocole a été
+développée pour corriger cette vulnérabilité, sous réserve qu'elle soit
+supportée par le client et le serveur.</p>
+
+<p>Si <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est lié à une version 0.9.8m ou
+supérieure d'OpenSSL, par défaut, la renégociation n'est accordée qu'aux
clients qui supportent la nouvelle extension du protocole. Si
-cette directive est activée, la renégociation sera accordée aux anciens
-clients (non patchés), quoique de manière non sécurisée</p>
+cette directive est activée, la renégociation sera accordée aux anciens
+clients (non patchés), quoique de manière non sécurisée</p>
-<div class="warning"><h3>Avertissement à propos de la sécurité</h3>
-<p>Si cette directive est activée, les connexions SSL seront vulnérables
-aux attaques de type préfixe Man-in-the-Middle comme décrit dans <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2009-3555">CVE-2009-3555</a>.</p>
+<div class="warning"><h3>Avertissement à propos de la sécurité</h3>
+<p>Si cette directive est activée, les connexions SSL seront vulnérables
+aux attaques de type préfixe Man-in-the-Middle comme décrit dans <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2009-3555">CVE-2009-3555</a>.</p>
</div>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLInsecureRenegotiation on</pre>
</div>
-<p>La variable d'environnement <code>SSL_SECURE_RENEG</code> peut être
-utilisée dans un script SSI ou CGI pour déterminer si la renégociation
-sécurisée est supportée pour une connexion SSL donnée.</p>
+<p>La variable d'environnement <code>SSL_SECURE_RENEG</code> peut être
+utilisée dans un script SSI ou CGI pour déterminer si la renégociation
+sécurisée est supportée pour une connexion SSL donnée.</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="sslocspdefaultresponder" id="sslocspdefaultresponder">Directive</a> <a name="SSLOCSPDefaultResponder" id="SSLOCSPDefaultResponder">SSLOCSPDefaultResponder</a><a title="Lien permanent" href="#sslocspdefaultresponder" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'URI du répondeur par défaut pour la validation
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit l'URI du répondeur par défaut pour la validation
OCSP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSDefaultResponder <em>uri</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
</table>
-<p>Cette directive permet de définir le répondeur OCSP par défaut. Si la
-directive <code class="directive"><a href="#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></code> n'est pas activée,
-l'URI spécifié ne sera utilisé que si aucun URI de répondeur n'est
-spécifié dans le certificat en cours de vérification.</p>
+<p>Cette directive permet de définir le répondeur OCSP par défaut. Si la
+directive <code class="directive"><a href="#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></code> n'est pas activée,
+l'URI spécifié ne sera utilisé que si aucun URI de répondeur n'est
+spécifié dans le certificat en cours de vérification.</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="sslocspenable" id="sslocspenable">Directive</a> <a name="SSLOCSPEnable" id="SSLOCSPEnable">SSLOCSPEnable</a><a title="Lien permanent" href="#sslocspenable" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la validation OCSP de la chaîne de certificats du
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la validation OCSP de la chaîne de certificats du
client</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPEnable on|leaf|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPEnable off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPEnable off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le mode <em>leaf</em> est disponible à partir de la version
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Le mode <em>leaf</em> est disponible à partir de la version
2.4.34 du serveur HTTP Apache</td></tr>
</table>
-<p>Cette directive permet d'activer la validation OCSP de la chaîne de
-certificats du client. Si elle est activée, les certificats de la chaîne
-de certificats du client seront validés auprès d'un répondeur OCSP, une
-fois la vérification normale effectuée (vérification des CRLs
-incluse). En mode 'leaf', seul le certificat du client sera validé.</p>
+<p>Cette directive permet d'activer la validation OCSP de la chaîne de
+certificats du client. Si elle est activée, les certificats de la chaîne
+de certificats du client seront validés auprès d'un répondeur OCSP, une
+fois la vérification normale effectuée (vérification des CRLs
+incluse). En mode 'leaf', seul le certificat du client sera validé.</p>
-<p>Le répondeur OCSP utilisé est soit extrait du certificat lui-même,
-soit spécifié dans la configuration ; voir les directives <code class="directive"><a href="#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></code> et <code class="directive"><a href="#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></code>.</p>
+<p>Le répondeur OCSP utilisé est soit extrait du certificat lui-même,
+soit spécifié dans la configuration ; voir les directives <code class="directive"><a href="#sslocspdefaultresponder">SSLOCSPDefaultResponder</a></code> et <code class="directive"><a href="#sslocspoverrideresponder">SSLOCSPOverrideResponder</a></code>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLVerifyClient on
SSLOCSPEnable on
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslocspnoverify" id="sslocspnoverify">Directive</a> <a name="SSLOCSPNoverify" id="SSLOCSPNoverify">SSLOCSPNoverify</a><a title="Lien permanent" href="#sslocspnoverify" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Evite la vérification des certificats des répondeurs OCSP</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Evite la vérification des certificats des répondeurs OCSP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPNoverify on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPNoverify off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPNoverify off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.26 du serveur HTTP Apache,
-sous réserve d'utiliser une version 0.9.7 ou supérieure d'OpenSSL</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.26 du serveur HTTP Apache,
+sous réserve d'utiliser une version 0.9.7 ou supérieure d'OpenSSL</td></tr>
</table>
-<p>Cette directive permet d'éviter la vérification des certificats
-des répondeurs OCSP, ce qui peut s'avérer utile lorsqu'on teste un serveur OCSP.</p>
+<p>Cette directive permet d'éviter la vérification des certificats
+des répondeurs OCSP, ce qui peut s'avérer utile lorsqu'on teste un serveur OCSP.</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="sslocspoverrideresponder" id="sslocspoverrideresponder">Directive</a> <a name="SSLOCSPOverrideResponder" id="SSLOCSPOverrideResponder">SSLOCSPOverrideResponder</a><a title="Lien permanent" href="#sslocspoverrideresponder" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force l'utilisation de l'URI du répondeur par défaut pour
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force l'utilisation de l'URI du répondeur par défaut pour
la validation OCSP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPOverrideResponder on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPOverrideResponder off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPOverrideResponder off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
</table>
<p>Force l'utilisation, au cours d'une validation OCSP de certificat, du
-répondeur OCSP par défaut spécifié dans la configuration, que le
-certificat en cours de vérification fasse mention d'un répondeur OCSP ou
+répondeur OCSP par défaut spécifié dans la configuration, que le
+certificat en cours de vérification fasse mention d'un répondeur OCSP ou
non.</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="sslocspproxyurl" id="sslocspproxyurl">Directive</a> <a name="SSLOCSPProxyURL" id="SSLOCSPProxyURL">SSLOCSPProxyURL</a><a title="Lien permanent" href="#sslocspproxyurl" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adresse de mandataire à utiliser pour les requêtes OCSP</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adresse de mandataire à utiliser pour les requêtes OCSP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPProxyURL <em>url</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.19 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.19 du serveur HTTP Apache</td></tr>
</table>
-<p>Cette directive permet de définir l'URL d'un mandataire HTTP qui devra être
-utilisé pour toutes les requêtes vers un répondeur OCSP.</p>
+<p>Cette directive permet de définir l'URL d'un mandataire HTTP qui devra être
+utilisé pour toutes les requêtes vers un répondeur OCSP.</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="sslocsprespondercertificatefile" id="sslocsprespondercertificatefile">Directive</a> <a name="SSLOCSPResponderCertificateFile" id="SSLOCSPResponderCertificateFile">SSLOCSPResponderCertificateFile</a><a title="Lien permanent" href="#sslocsprespondercertificatefile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un jeu de certificats de confiance du répondeur OCSP avec
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fournit un jeu de certificats de confiance du répondeur OCSP avec
encodage PEM</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPResponderCertificateFile <em>file</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.26 du serveur HTTP Apache,
-sous réserve d'utiliser une version 0.9.7 ou supérieure d'OpenSSL</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.26 du serveur HTTP Apache,
+sous réserve d'utiliser une version 0.9.7 ou supérieure d'OpenSSL</td></tr>
</table>
-<p>Cette directive permet de définir un fichier contenant une liste de
-certificats de confiance du répondeur OCSP à utiliser au cours de la validation
-du certificat du répondeur OCSP. Les certificats fournis peuvent
-être considérés comme de confiance sans avoir à effectuer de vérifications
-supplémentaires. Ce processus de validation du certificat du répondeur OCSP
-intervient en général lorsque ce dernier est autosigné ou tout simplement absent
-de la réponse OCSP.</p>
+<p>Cette directive permet de définir un fichier contenant une liste de
+certificats de confiance du répondeur OCSP à utiliser au cours de la validation
+du certificat du répondeur OCSP. Les certificats fournis peuvent
+être considérés comme de confiance sans avoir à effectuer de vérifications
+supplémentaires. Ce processus de validation du certificat du répondeur OCSP
+intervient en général lorsque ce dernier est autosigné ou tout simplement absent
+de la réponse OCSP.</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="sslocsprespondertimeout" id="sslocsprespondertimeout">Directive</a> <a name="SSLOCSPResponderTimeout" id="SSLOCSPResponderTimeout">SSLOCSPResponderTimeout</a><a title="Lien permanent" href="#sslocsprespondertimeout" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Délai d'attente pour les requêtes OCSP</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Délai d'attente pour les requêtes OCSP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPResponderTimeout <em>secondes</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPResponderTimeout 10</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPResponderTimeout 10</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
</table>
-<p>Cette option permet de définir le délai d'attente pour les requêtes à
-destination des répondeurs OCSP, lorsque la directive <code class="directive"><a href="#sslocspenable">SSLOCSPEnable</a></code> est à on.</p>
+<p>Cette option permet de définir le délai d'attente pour les requêtes à
+destination des répondeurs OCSP, lorsque la directive <code class="directive"><a href="#sslocspenable">SSLOCSPEnable</a></code> est à on.</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="sslocspresponsemaxage" id="sslocspresponsemaxage">Directive</a> <a name="SSLOCSPResponseMaxAge" id="SSLOCSPResponseMaxAge">SSLOCSPResponseMaxAge</a><a title="Lien permanent" href="#sslocspresponsemaxage" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Age maximum autorisé pour les réponses OCSP</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Age maximum autorisé pour les réponses OCSP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPResponseMaxAge <em>secondes</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPResponseMaxAge -1</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPResponseMaxAge -1</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
</table>
-<p>Cette option permet de définir l'âge maximum autorisé (la
-"fraicheur") des réponses OCSP. La valeur par défault (<code>-1</code>)
-signifie qu'aucun âge maximum n'est définit ; autrement dit, les
-réponses OCSP sont considérées comme valides tant que la valeur de leur
+<p>Cette option permet de définir l'âge maximum autorisé (la
+"fraicheur") des réponses OCSP. La valeur par défault (<code>-1</code>)
+signifie qu'aucun âge maximum n'est définit ; autrement dit, les
+réponses OCSP sont considérées comme valides tant que la valeur de leur
champ <code>nextUpdate</code> se situe dans le futur.</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="sslocspresponsetimeskew" id="sslocspresponsetimeskew">Directive</a> <a name="SSLOCSPResponseTimeSkew" id="SSLOCSPResponseTimeSkew">SSLOCSPResponseTimeSkew</a><a title="Lien permanent" href="#sslocspresponsetimeskew" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dérive temporelle maximale autorisée pour la validation des
-réponses OCSP</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dérive temporelle maximale autorisée pour la validation des
+réponses OCSP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPResponseTimeSkew <em>secondes</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPResponseTimeSkew 300</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPResponseTimeSkew 300</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
</table>
-<p>Cette option permet de définir la dérive temporelle maximale
-autorisée pour les réponses OCSP (lors de la vérification des champs
+<p>Cette option permet de définir la dérive temporelle maximale
+autorisée pour les réponses OCSP (lors de la vérification des champs
<code>thisUpdate</code> et <code>nextUpdate</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="sslocspuserequestnonce" id="sslocspuserequestnonce">Directive</a> <a name="SSLOCSPUseRequestNonce" id="SSLOCSPUseRequestNonce">SSLOCSPUseRequestNonce</a><a title="Lien permanent" href="#sslocspuserequestnonce" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilisation d'un nombre à usage unique au sein des requêtes
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilisation d'un nombre à usage unique au sein des requêtes
OCSP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOCSPUseRequestNonce on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPUseRequestNonce on</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLOCSPUseRequestNonce on</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP
Apache</td></tr>
</table>
-<p>Cette directive permet de spécifier si les requêtes vers les
-répondeurs OCSP doivent contenir un nombre à usage unique ou non. Par
-défaut, un nombre à usage unique est toujours présent dans les requêtes
-et il est comparé à celui de la réponse. Lorsque le répondeur n'utilise pas de
-nombre à usage unique (comme Microsoft OCSP Responder), cette directive
-doit être définie à <code>off</code>.</p>
+<p>Cette directive permet de spécifier si les requêtes vers les
+répondeurs OCSP doivent contenir un nombre à usage unique ou non. Par
+défaut, un nombre à usage unique est toujours présent dans les requêtes
+et il est comparé à celui de la réponse. Lorsque le répondeur n'utilise pas de
+nombre à usage unique (comme Microsoft OCSP Responder), cette directive
+doit être définie à <code>off</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="sslopensslconfcmd" id="sslopensslconfcmd">Directive</a> <a name="SSLOpenSSLConfCmd" id="SSLOpenSSLConfCmd">SSLOpenSSLConfCmd</a><a title="Lien permanent" href="#sslopensslconfcmd" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration des paramètres d'OpenSSL via son API <em>SSL_CONF</em></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration des paramètres d'OpenSSL via son API <em>SSL_CONF</em></td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOpenSSLConfCmd <em>commande</em> <em>valeur</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.8 du serveur HTTP
-Apache avec OpenSSL 1.0.2 ou supérieur</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.8 du serveur HTTP
+Apache avec OpenSSL 1.0.2 ou supérieur</td></tr>
</table>
-<p>Cette directive permet à mod_ssl d'accéder à l'API <em>SSL_CONF</em>
-d'OpenSSL. Il n'est ainsi plus nécessaire d'implémenter des
-directives supplémentaires pour <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> lorsque de nouvelles
-fonctionnalités sont ajoutées à OpenSSL, ce qui rend la configuration de
+<p>Cette directive permet à mod_ssl d'accéder à l'API <em>SSL_CONF</em>
+d'OpenSSL. Il n'est ainsi plus nécessaire d'implémenter des
+directives supplémentaires pour <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> lorsque de nouvelles
+fonctionnalités sont ajoutées à OpenSSL, ce qui rend la configuration de
ce dernier beaucoup plus souple.</p>
<p>Le jeu de commandes disponibles pour la directive
-<code class="directive">SSLOpenSSLConfCmd</code> dépend de la version d'OpenSSL
-utilisée pour <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> (la version minimale 1.0.2 est un
-prérequis). Pour obtenir la liste des commandes supportées, voir la
+<code class="directive">SSLOpenSSLConfCmd</code> dépend de la version d'OpenSSL
+utilisée pour <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> (la version minimale 1.0.2 est un
+prérequis). Pour obtenir la liste des commandes supportées, voir la
section <em>Supported configuration file commands</em> de la page de
manuel d'OpenSSL <a href="http://www.openssl.org/docs/man1.0.2/ssl/SSL_CONF_cmd.html#SUPPORTED-CONFIGURATION-FILE-COMMANDS">SSL_CONF_cmd(3)</a>.</p>
<p>Certaines commandes peuvent remplacer des directives existantes
(comme <code class="directive"><a href="#sslciphersuite">SSLCipherSuite</a></code> ou
<code class="directive"><a href="#sslprotocol">SSLProtocol</a></code>) ; notez cependant
-que la syntaxe et/ou les valeurs possibles peuvent différer.</p>
+que la syntaxe et/ou les valeurs possibles peuvent différer.</p>
<div class="example"><h3>Examples</h3><pre class="prettyprint lang-config">SSLOpenSSLConfCmd Options -SessionTicket,ServerPreference
SSLOpenSSLConfCmd ECDHParameters brainpoolP256r1
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ssloptions" id="ssloptions">Directive</a> <a name="SSLOptions" id="SSLOptions">SSLOptions</a><a title="Lien permanent" href="#ssloptions" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure différentes options d'exécution du moteur
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure différentes options d'exécution du moteur
SSL</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLOptions [+|-]<em>option</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</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_ssl</td></tr>
</table>
<p>
-Cette directive permet de contrôler différentes options d'exécution du
-moteur SSL dans un contexte de répertoire. Normalement, si plusieurs
-<code>SSLOptions</code> peuvent s'appliquer à un répertoire, c'est la
-plus spécifique qui est véritablement prise en compte ; les options ne
+Cette directive permet de contrôler différentes options d'exécution du
+moteur SSL dans un contexte de répertoire. Normalement, si plusieurs
+<code>SSLOptions</code> peuvent s'appliquer à un répertoire, c'est la
+plus spécifique qui est véritablement prise en compte ; les options ne
se combinent pas entre elles. Elles se combinent cependant entre elles
-si elles sont <em>toutes</em> précédées par un symbole plus
-(<code>+</code>) ou moins (<code>-</code>). Toute option précédée d'un
-<code>+</code> est ajoutée aux options actuellement en vigueur, et toute
-option précédée d'un <code>-</code> est supprimée de ces mêmes
+si elles sont <em>toutes</em> précédées par un symbole plus
+(<code>+</code>) ou moins (<code>-</code>). Toute option précédée d'un
+<code>+</code> est ajoutée aux options actuellement en vigueur, et toute
+option précédée d'un <code>-</code> est supprimée de ces mêmes
options.
</p>
<p>
<ul>
<li><code>StdEnvVars</code>
<p>
- Lorsque cette option est activée, le jeu standard de variables
- d'environnement SSL relatives à CGI/SSI est créé. Cette option est
- désactivée par défaut pour des raisons de performances, car
- l'extraction des informations constitue une opération assez coûteuse
- en ressources. On n'active donc en général cette option que pour les
- requêtes CGI et SSI.</p>
+ Lorsque cette option est activée, le jeu standard de variables
+ d'environnement SSL relatives à CGI/SSI est créé. Cette option est
+ désactivée par défaut pour des raisons de performances, car
+ l'extraction des informations constitue une opération assez coûteuse
+ en ressources. On n'active donc en général cette option que pour les
+ requêtes CGI et SSI.</p>
</li>
<li><code>ExportCertData</code>
<p>
- Lorsque cette option est activée, des variables d'environnement
- CGI/SSI supplémentaires sont créées : <code>SSL_SERVER_CERT</code>,
+ Lorsque cette option est activée, des variables d'environnement
+ CGI/SSI supplémentaires sont créées : <code>SSL_SERVER_CERT</code>,
<code>SSL_CLIENT_CERT</code> et
<code>SSL_CLIENT_CERT_CHAIN_</code><em>n</em> (avec <em>n</em> =
- 0,1,2,..). Elles contiennent les certificats X.509 codés en PEM du
+ 0,1,2,..). Elles contiennent les certificats X.509 codés en PEM du
serveur et du client pour la connexion HTTPS courante, et peuvent
- être utilisées par les scripts CGI pour une vérification de
- certificat plus élaborée. De plus, tous les autres certificats de la
- chaîne de certificats du client sont aussi fournis. Tout ceci gonfle
+ être utilisées par les scripts CGI pour une vérification de
+ certificat plus élaborée. De plus, tous les autres certificats de la
+ chaîne de certificats du client sont aussi fournis. Tout ceci gonfle
un peu l'environnement, et c'est la raison pour laquelle vous ne
- devez activer cette option qu'à la demande.</p>
+ devez activer cette option qu'à la demande.</p>
</li>
<li><code>FakeBasicAuth</code>
<p>
- Lorsque cette option est activée, le Nom Distinctif (DN) sujet du
+ Lorsque cette option est activée, le Nom Distinctif (DN) sujet du
certificat client X509 est traduit en un nom d'utilisateur pour
- l'autorisation HTTP de base. Cela signifie que les méthodes
- d'authentification standard d'Apache peuvent être utilisées pour le
- contrôle d'accès. Le nom d'utilisateur est tout simplement le Sujet
- du certificat X509 du client (il peut être déterminé en utilisant la
+ l'autorisation HTTP de base. Cela signifie que les méthodes
+ d'authentification standard d'Apache peuvent être utilisées pour le
+ contrôle d'accès. Le nom d'utilisateur est tout simplement le Sujet
+ du certificat X509 du client (il peut être déterminé en utilisant la
commande OpenSSL <code>openssl x509</code> : <code>openssl x509
-noout -subject -in </code><em>certificat</em><code>.crt</code>). La
- directive optionnelle <code class="directive"><a href="#sslusername">SSLUserName</a></code> permet de spécifier quelle
+ directive optionnelle <code class="directive"><a href="#sslusername">SSLUserName</a></code> permet de spécifier quelle
partie du sujet du certificat est incluse dans le nom d'utilisateur.
- Notez qu'aucun mot de passe n'est envoyé par l'utilisateur. Chaque
- entrée du fichier des utilisateurs doit comporter ce mot de passe :
- ``<code>xxj31ZMTZzkVA</code>'', qui est la version chiffrée en DES
+ Notez qu'aucun mot de passe n'est envoyé par l'utilisateur. Chaque
+ entrée du fichier des utilisateurs doit comporter ce mot de passe :
+ ``<code>xxj31ZMTZzkVA</code>'', qui est la version chiffrée en DES
du mot ``<code>password</code>''. Ceux qui travaillent avec un
- chiffrement basé sur MD5 (par exemple sous FreeBSD ou BSD/OS,
- etc...) doivent utiliser le condensé MD5 suivant pour le même mot :
+ chiffrement basé sur MD5 (par exemple sous FreeBSD ou BSD/OS,
+ etc...) doivent utiliser le condensé MD5 suivant pour le même mot :
``<code>$1$OXLyS...$Owx8s2/m9/gfkcRVXzgoE/</code>''.</p>
<p>Notez que la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicfake">AuthBasicFake</a></code> du module
- <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> permet de contrôler à la
+ <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> permet de contrôler à la
fois le nom d'utilisateur et le mot de passe ; elle fournit donc un
- mécanisme plus général de simulation d'authentification de base.</p>
+ mécanisme plus général de simulation d'authentification de base.</p>
<div class="warning">
<p>Les noms d'utilisateur pour <code>FakeBasicAuth</code> ne doivent pas
- contenir de caractères non-ASCII, de caractères d'échappement ASCII (comme
- newline), ou de caractère ':'. A partir de la version 2.5.1 de httpd, si
- un caractère ':' est rencontré, une erreur 403 Forbidden sera générée.</p>
+ contenir de caractères non-ASCII, de caractères d'échappement ASCII (comme
+ newline), ou de caractère ':'. A partir de la version 2.5.1 de httpd, si
+ un caractère ':' est rencontré, une erreur 403 Forbidden sera générée.</p>
</div>
</li>
<li><code>StrictRequire</code>
<p>
- Cette option <em>force</em> l'interdiction d'accès lorsque
- <code>SSLRequireSSL</code> ou <code>SSLRequire</code> a décidé que
- l'accès devait être interdit. Par défaut, dans le cas où
- une directive ``<code>Satisfy any</code>'' est utilisée, et si
- d'autres restrictions d'accès ont été franchies, on passe en général
- outre l'interdiction d'accès due à <code>SSLRequireSSL</code> ou
- <code>SSLRequire</code> (parce que c'est ainsi que le mécanisme
+ Cette option <em>force</em> l'interdiction d'accès lorsque
+ <code>SSLRequireSSL</code> ou <code>SSLRequire</code> a décidé que
+ l'accès devait être interdit. Par défaut, dans le cas où
+ une directive ``<code>Satisfy any</code>'' est utilisée, et si
+ d'autres restrictions d'accès ont été franchies, on passe en général
+ outre l'interdiction d'accès due à <code>SSLRequireSSL</code> ou
+ <code>SSLRequire</code> (parce que c'est ainsi que le mécanisme
<code>Satisfy</code> d'Apache doit fonctionner). Pour des
- restrictions d'accès plus strictes, vous pouvez cependant utiliser
+ restrictions d'accès plus strictes, vous pouvez cependant utiliser
<code>SSLRequireSSL</code> et/ou <code>SSLRequire</code> en
combinaison avec une option ``<code>SSLOptions
+StrictRequire</code>''. Une directive ``<code>Satisfy Any</code>''
- n'a alors aucune chance d'autoriser l'accès si mod_ssl a décidé de
+ n'a alors aucune chance d'autoriser l'accès si mod_ssl a décidé de
l'interdire.</p>
</li>
<li><code>OptRenegotiate</code>
<p>
- Cette option active la gestion optimisée de la renégociation des
- connexions SSL intervenant lorsque les directives SSL sont utilisées
- dans un contexte de répertoire. Par défaut un schéma strict est
- appliqué, et <em>chaque</em> reconfiguration des paramètres SSL au
- niveau du répertoire implique une phase de renégociation SSL
- <em>complète</em>. Avec cette option, mod_ssl essaie d'éviter les
- échanges non nécessaires en effectuant des vérifications de
- paramètres plus granulaires (mais tout de même efficaces).
- Néanmoins, ces vérifications granulaires peuvent ne pas correspondre
- à ce qu'attend l'utilisateur, et il est donc recommandé de n'activer
- cette option que dans un contexte de répertoire.</p>
+ Cette option active la gestion optimisée de la renégociation des
+ connexions SSL intervenant lorsque les directives SSL sont utilisées
+ dans un contexte de répertoire. Par défaut un schéma strict est
+ appliqué, et <em>chaque</em> reconfiguration des paramètres SSL au
+ niveau du répertoire implique une phase de renégociation SSL
+ <em>complète</em>. Avec cette option, mod_ssl essaie d'éviter les
+ échanges non nécessaires en effectuant des vérifications de
+ paramètres plus granulaires (mais tout de même efficaces).
+ Néanmoins, ces vérifications granulaires peuvent ne pas correspondre
+ à ce qu'attend l'utilisateur, et il est donc recommandé de n'activer
+ cette option que dans un contexte de répertoire.</p>
</li>
<li><code>LegacyDNStringFormat</code>
<p>
- Cette option permet d'agir sur la manière dont les valeurs des
- variables <code>SSL_{CLIENT,SERVER}_{I,S}_DN</code> sont formatées.
- Depuis la version 2.3.11, Apache HTTPD utilise par défaut un format
+ Cette option permet d'agir sur la manière dont les valeurs des
+ variables <code>SSL_{CLIENT,SERVER}_{I,S}_DN</code> sont formatées.
+ Depuis la version 2.3.11, Apache HTTPD utilise par défaut un format
compatible avec la RFC 2253. Ce format utilise des virgules comme
- délimiteurs entre les attributs, permet l'utilisation de caractères
- non-ASCII (qui sont alors convertis en UTF8), échappe certains
- caractères spéciaux avec des slashes inversés, et trie les attributs
- en plaçant l'attribut "C" en dernière position.</p>
-
- <p>Si l'option <code>LegacyDNStringFormat</code> est présente, c'est
- l'ancien format qui sera utilisé : les attributs sont triés avec
- l'attribut "C" en première position, les séparateurs sont des
- slashes non inversés, les caractères non-ASCII ne sont pas supportés
- et le support des caractères spéciaux n'est pas fiable.
+ délimiteurs entre les attributs, permet l'utilisation de caractères
+ non-ASCII (qui sont alors convertis en UTF8), échappe certains
+ caractères spéciaux avec des slashes inversés, et trie les attributs
+ en plaçant l'attribut "C" en dernière position.</p>
+
+ <p>Si l'option <code>LegacyDNStringFormat</code> est présente, c'est
+ l'ancien format qui sera utilisé : les attributs sont triés avec
+ l'attribut "C" en première position, les séparateurs sont des
+ slashes non inversés, les caractères non-ASCII ne sont pas supportés
+ et le support des caractères spéciaux n'est pas fiable.
</p>
</li>
</ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslpassphrasedialog" id="sslpassphrasedialog">Directive</a> <a name="SSLPassPhraseDialog" id="SSLPassPhraseDialog">SSLPassPhraseDialog</a><a title="Lien permanent" href="#sslpassphrasedialog" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Méthode utilisée pour entrer le mot de passe pour les clés
-privées chiffrées</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Méthode utilisée pour entrer le mot de passe pour les clés
+privées chiffrées</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLPassPhraseDialog <em>type</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLPassPhraseDialog builtin</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLPassPhraseDialog builtin</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_ssl</td></tr>
</table>
<p>
-Lors de son démarrage, Apache doit lire les différents fichiers de
-certificats (voir la directive <code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>) et de clés privées
+Lors de son démarrage, Apache doit lire les différents fichiers de
+certificats (voir la directive <code class="directive"><a href="#sslcertificatefile">SSLCertificateFile</a></code>) et de clés privées
(voir la directive <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></code>) des serveurs
-virtuels où SSL est activé. Comme, pour des raisons de sécurité, les
-fichiers de clés privées sont en général chiffrés, mod_ssl doit
-demander à l'administrateur un mot de passe pour déchiffrer ces
-fichiers. L'argument <em>type</em> permet de choisir la manière dont
-cette demande peut être formulée parmi les trois suivantes :</p>
+virtuels où SSL est activé. Comme, pour des raisons de sécurité, les
+fichiers de clés privées sont en général chiffrés, mod_ssl doit
+demander à l'administrateur un mot de passe pour déchiffrer ces
+fichiers. L'argument <em>type</em> permet de choisir la manière dont
+cette demande peut être formulée parmi les trois suivantes :</p>
<ul>
<li><code>builtin</code>
<p>
- C'est la méthode par défaut, et un dialogue interactive de terminal
- s'ouvre au cours du démarrage juste avant qu'Apache ne se détache du
+ C'est la méthode par défaut, et un dialogue interactive de terminal
+ s'ouvre au cours du démarrage juste avant qu'Apache ne se détache du
terminal. A ce moment, l'administrateur doit entrer manuellement un
- mot de passe pour chaque fichier de clé privée chiffré. Etant donné
- qu'il peut y avoir un grand nombre de serveurs virtuels configurés
- avec SSL activé, le protocole de réutilisation suivant est utilisé
- pour minimiser le dialogue : lorsqu'un fichier de clé privée est
- chiffré, tous les mots de passe connus (au début, il n'y en a aucun,
- bien entendu) sont essayés. Si l'un de ces mots de passe connus
+ mot de passe pour chaque fichier de clé privée chiffré. Etant donné
+ qu'il peut y avoir un grand nombre de serveurs virtuels configurés
+ avec SSL activé, le protocole de réutilisation suivant est utilisé
+ pour minimiser le dialogue : lorsqu'un fichier de clé privée est
+ chiffré, tous les mots de passe connus (au début, il n'y en a aucun,
+ bien entendu) sont essayés. Si l'un de ces mots de passe connus
convient, aucun dialogue ne s'ouvrira pour ce fichier de
- clé privée particulier. Si aucun ne convient, un autre mot de passe
- sera demandé à partir du terminal et sera mis en mémoire pour le
- fichier de clé privée suivant (pour lequel il pourra éventuellement
- être réutilisé).</p>
+ clé privée particulier. Si aucun ne convient, un autre mot de passe
+ sera demandé à partir du terminal et sera mis en mémoire pour le
+ fichier de clé privée suivant (pour lequel il pourra éventuellement
+ être réutilisé).</p>
<p>
- Cette méthode confère à mod_ssl une grande souplesse (car pour N
- fichiers de clé privée chiffrés, vous <em>pouvez</em> utiliser N
- mots de passe différents - mais vous devrez alors tous les fournir,
+ Cette méthode confère à mod_ssl une grande souplesse (car pour N
+ fichiers de clé privée chiffrés, vous <em>pouvez</em> utiliser N
+ mots de passe différents - mais vous devrez alors tous les fournir,
bien entendu), tout en minimisant le dialogue de terminal (vous
pouvez en effet utiliser un seul mot de passe pour les N fichiers de
- clé privée et vous n'aurez alors à l'entrer qu'une seule
+ clé privée et vous n'aurez alors à l'entrer qu'une seule
fois).</p></li>
<li><code>|/chemin/vers/programme [arguments...]</code>
- <p>Ce mode permet d'utiliser un programme externe qui va se présenter
- comme une redirection vers un périphérique d'entrée particulier ; le
- texte de prompt standard utilisé pour le mode <code>builtin</code>
- est envoyé au programme sur <code>stdin</code>, et celui-ci doit
+ <p>Ce mode permet d'utiliser un programme externe qui va se présenter
+ comme une redirection vers un périphérique d'entrée particulier ; le
+ texte de prompt standard utilisé pour le mode <code>builtin</code>
+ est envoyé au programme sur <code>stdin</code>, et celui-ci doit
renvoyer des mots de passe sur <code>stdout</code>. Si
plusieurs mots de passe sont requis (ou si un mot de passe incorrect
- a été entré), un texte de prompt supplémentaire sera écrit après le
+ a été entré), un texte de prompt supplémentaire sera écrit après le
retour du premier mot de passe, et d'autres mots de passe devront
- alors être réécrits.</p></li>
+ alors être réécrits.</p></li>
<li><code>exec:/chemin/vers/programme</code>
<p>
- Ici, un programme externe est appelé au démarrage du serveur pour
- chaque fichier de clé privée chiffré. Il est
- appelé avec un
- argument, une chaîne de la forme
- "<code>servername:portnumber:index</code>" (index étant un numéro
- d'ordre débutant 0), qui indique pour quels serveur, port TCP et
- numéro de certificat il doit écrire le mot de
- passe correspondant sur <code>stdout</code>. Le but recherché est
- l'exécution de vérifications de sécurité préalables permettant de
- s'assurer que le système n'est pas victime d'une attaque, et de ne
- fournir le mot de passe que si toutes les vérifications ont été
- effectuées avec succès.</p>
+ Ici, un programme externe est appelé au démarrage du serveur pour
+ chaque fichier de clé privée chiffré. Il est
+ appelé avec un
+ argument, une chaîne de la forme
+ "<code>servername:portnumber:index</code>" (index étant un numéro
+ d'ordre débutant 0), qui indique pour quels serveur, port TCP et
+ numéro de certificat il doit écrire le mot de
+ passe correspondant sur <code>stdout</code>. Le but recherché est
+ l'exécution de vérifications de sécurité préalables permettant de
+ s'assurer que le système n'est pas victime d'une attaque, et de ne
+ fournir le mot de passe que si toutes les vérifications ont été
+ effectuées avec succès.</p>
<p>
- Ces vérifications de sécurité, ainsi que la manière dont le mot de
- passe est déterminé peuvent être aussi sophistiqués que vous le
- désirez. Mod_ssl ne définit que l'interface : un programme
- exécutable qui écrit le mot de passe sur <code>stdout</code>. Ni
- plus, ni moins ! Ainsi, si vous êtes vraiment paranoïaque en matière
- de sécurité, voici votre interface. Tout le reste doit être confié à
- l'administrateur à titre d'exercice, car les besoins en sécurité
- locale sont très différents.</p>
+ Ces vérifications de sécurité, ainsi que la manière dont le mot de
+ passe est déterminé peuvent être aussi sophistiqués que vous le
+ désirez. Mod_ssl ne définit que l'interface : un programme
+ exécutable qui écrit le mot de passe sur <code>stdout</code>. Ni
+ plus, ni moins ! Ainsi, si vous êtes vraiment paranoïaque en matière
+ de sécurité, voici votre interface. Tout le reste doit être confié à
+ l'administrateur à titre d'exercice, car les besoins en sécurité
+ locale sont très différents.</p>
<p>
- L'algorithme de réutilisation est utilisé ici aussi. En d'autres
- termes, le programme externe n'est appelé qu'une fois par mot de
+ L'algorithme de réutilisation est utilisé ici aussi. En d'autres
+ termes, le programme externe n'est appelé qu'une fois par mot de
passe unique.</p></li>
</ul>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLPassPhraseDialog "exec:/usr/local/apache/sbin/pp-filter"</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslpolicy" id="sslpolicy">Directive</a> <a name="SSLPolicy" id="SSLPolicy">SSLPolicy</a><a title="Lien permanent" href="#sslpolicy" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Applique une politique SSL en la référençant par son nom</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Applique une politique SSL en la référençant par son nom</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLPolicy <em>name</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.30 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.30 du serveur HTTP Apache</td></tr>
</table>
-<p>Cette directive permet d'appliquer le jeu de directives définies au sein
+<p>Cette directive permet d'appliquer le jeu de directives définies au sein
de la polique SSL de nom 'name' comme configuration <em>de base</em> dans
-le contexte courant. Apache httpd est fourni avec les politiques SSL prédéfinies
-suivantes de Mozilla, l'éditeur du navigateur Firefox (<a href="https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations">description
-détaillée</a>) :
+le contexte courant. Apache httpd est fourni avec les politiques SSL prédéfinies
+suivantes de Mozilla, l'éditeur du navigateur Firefox (<a href="https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations">description
+détaillée</a>) :
</p>
<ul>
- <li><code>modern</code>: recommandé lorsque votre serveur est accessible
+ <li><code>modern</code>: recommandé lorsque votre serveur est accessible
depuis internet, fonctionne avec tous les navigateurs modernes, mais les
- anciens navigateurs peuvent avoir des difficultés pour se connecter.</li>
- <li><code>intermediate</code>: version dégradée si vous devez supporter les
+ anciens navigateurs peuvent avoir des difficultés pour se connecter.</li>
+ <li><code>intermediate</code>: version dégradée si vous devez supporter les
vieux clients (mais pas trop vieux).</li>
- <li><code>old</code>: lorsque vous voulez donner accès à IE6 sous Windows XP
+ <li><code>old</code>: lorsque vous voulez donner accès à IE6 sous Windows XP
(ultime recours).</li>
</ul>
-<p>La directive SSLPolicy s'applique à l'endroit où elle est définie, ce qui
-signifie que des valeurs définies évntuellement au préalable sont écrasées, et
-bien entendu que cette même directive peut être écrasée par d'éventuelles
-directives définies plus loin dans le fichier de configuration.</p>
+<p>La directive SSLPolicy s'applique à l'endroit où elle est définie, ce qui
+signifie que des valeurs définies évntuellement au préalable sont écrasées, et
+bien entendu que cette même directive peut être écrasée par d'éventuelles
+directives définies plus loin dans le fichier de configuration.</p>
-<p>Vous pouvez obtenir une description détaillée de toutes les politiques
-prédéfinies via la commande :</p>
-<div class="example"><h3>Liste de toutes les politiques SSL prédéfinies</h3><pre class="prettyprint lang-sh">httpd -t -D DUMP_SSL_POLICIES</pre>
+<p>Vous pouvez obtenir une description détaillée de toutes les politiques
+prédéfinies via la commande :</p>
+<div class="example"><h3>Liste de toutes les politiques SSL prédéfinies</h3><pre class="prettyprint lang-sh">httpd -t -D DUMP_SSL_POLICIES</pre>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Indique les versions du protocole SSL/TLS
disponibles</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProtocol [+|-]<em>protocole</em> ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProtocol all -SSLv3</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProtocol all -SSLv3</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
</table>
<p>
-Cette directive permet de définir quelles versions du protocole SSL/TLS
-seront acceptées lors de l'initialisation d'une nouvelle connexion.</p>
+Cette directive permet de définir quelles versions du protocole SSL/TLS
+seront acceptées lors de l'initialisation d'une nouvelle connexion.</p>
<p>
-Les <em>protocole</em>s disponibles sont les suivants (sensibles à la
+Les <em>protocole</em>s disponibles sont les suivants (sensibles à la
casse) :</p>
<ul>
<li><code>SSLv3</code>
<p>
Il s'agit du protocole Secure Sockets Layer (SSL) version 3.0 de
Netscape Corporation. C'est le successeur de SSLv2 et le
- prédécesseur de TLSv1, mais est considéré comme
- obsolète dans la <a href="http://www.ietf.org/rfc/rfc7568.txt">RFC
+ prédécesseur de TLSv1, mais est considéré comme
+ obsolète dans la <a href="http://www.ietf.org/rfc/rfc7568.txt">RFC
7568</a></p></li>
<li><code>TLSv1</code>
<p>
Il s'agit du protocole Transport Layer Security (TLS) version 1.0.
- C'est le successeur de SSLv3, et il est défini dans la <a href="http://www.ietf.org/rfc/rfc2246.txt">RFC2246</a>.</p></li>
+ C'est le successeur de SSLv3, et il est défini dans la <a href="http://www.ietf.org/rfc/rfc2246.txt">RFC2246</a>.</p></li>
-<li><code>TLSv1.1</code> (à partir de la version 1.0.1 d'OpenSSL)
+<li><code>TLSv1.1</code> (à partir de la version 1.0.1 d'OpenSSL)
<p>
- Une révision du protocole TLS 1.0 définie dans la <a href="http://www.ietf.org/rfc/rfc4346.txt">RFC 4346</a>. Il est
- supporté par la plupart des clients.</p></li>
+ Une révision du protocole TLS 1.0 définie dans la <a href="http://www.ietf.org/rfc/rfc4346.txt">RFC 4346</a>. Il est
+ supporté par la plupart des clients.</p></li>
-<li><code>TLSv1.2</code> (à partir de la version 1.0.1 d'OpenSSL)
+<li><code>TLSv1.2</code> (à partir de la version 1.0.1 d'OpenSSL)
<p>
- Une révision du protocole TLS 1.1 définie dans la <a href="http://www.ietf.org/rfc/rfc5246.txt">RFC 5246</a>.</p></li>
+ Une révision du protocole TLS 1.1 définie dans la <a href="http://www.ietf.org/rfc/rfc5246.txt">RFC 5246</a>.</p></li>
-<li><code>TLSv1.3</code> (avec OpenSSL version 1.1.1 et supérieures)
+<li><code>TLSv1.3</code> (avec OpenSSL version 1.1.1 et supérieures)
<p>
- Une nouvelle version du protocole TLS définie dans la <a href="https://github.com/tlswg/tls13-spec">RFC TBD</a>.</p></li>
+ Une nouvelle version du protocole TLS définie dans la <a href="https://github.com/tlswg/tls13-spec">RFC TBD</a>.</p></li>
<li><code>all</code>
<p>
- C'est un raccourci pour ``<code>+SSLv3 +TLSv1</code>'' ou - à partir
+ C'est un raccourci pour ``<code>+SSLv3 +TLSv1</code>'' ou - à partir
de la version 1.0.1 d'OpenSSL - ``<code>+SSLv3 +TLSv1 +TLSv1.1
- +TLSv1.2</code>'' (sauf si OpenSSL a été compilé avec l'option
+ +TLSv1.2</code>'' (sauf si OpenSSL a été compilé avec l'option
``no-ssl3'', auquel cas <code>all</code> n'inclura pas
<code>+SSLv3</code>).</p></li>
</ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslproxycacertificatefile" id="sslproxycacertificatefile">Directive</a> <a name="SSLProxyCACertificateFile" id="SSLProxyCACertificateFile">SSLProxyCACertificateFile</a><a title="Lien permanent" href="#sslproxycacertificatefile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des certificats de CA
-codés en PEM pour l'authentification des serveurs distants</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des certificats de CA
+codés en PEM pour l'authentification des serveurs distants</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCACertificateFile <var>file-path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, </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_ssl</td></tr>
</table>
<p>
-Cette directive permet de définir le fichier <em>tout-en-un</em> où sont
-stockés les certificats des Autorités de Certification (CA) pour les
-<em>serveurs distants</em> auxquels vous avez à faire. On les utilise
+Cette directive permet de définir le fichier <em>tout-en-un</em> où sont
+stockés les certificats des Autorités de Certification (CA) pour les
+<em>serveurs distants</em> auxquels vous avez à faire. On les utilise
lors de l'authentification du serveur distant. Un tel fichier contient
-la simple concaténation des différents fichiers de certificats codés en
-PEM, classés par ordre de préférence. On peut utiliser cette directive à
-la place et/ou en complément de la directive <code class="directive"><a href="#sslproxycacertificatepath">SSLProxyCACertificatePath</a></code>.</p>
+la simple concaténation des différents fichiers de certificats codés en
+PEM, classés par ordre de préférence. On peut utiliser cette directive à
+la place et/ou en complément de la directive <code class="directive"><a href="#sslproxycacertificatepath">SSLProxyCACertificatePath</a></code>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCACertificateFile
"/usr/local/apache2/conf/ssl.crt/ca-bundle-serveur.distant.crt"</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslproxycacertificatepath" id="sslproxycacertificatepath">Directive</a> <a name="SSLProxyCACertificatePath" id="SSLProxyCACertificatePath">SSLProxyCACertificatePath</a><a title="Lien permanent" href="#sslproxycacertificatepath" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des certificats de CA codés en PEM pour
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des certificats de CA codés en PEM pour
l'authentification des serveurs distants</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCACertificatePath <em>chemin-répertoire</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCACertificatePath <em>chemin-répertoire</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, </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_ssl</td></tr>
</table>
<p>
-Cette directive permet de spécifier le répertoire où sont stockés les
-certificats des Autorités de Certification (CAs) pour les serveurs
-distants auxquels vous avez à faire. On les utilise pour vérifier le
+Cette directive permet de spécifier le répertoire où sont stockés les
+certificats des Autorités de Certification (CAs) pour les serveurs
+distants auxquels vous avez à faire. On les utilise pour vérifier le
certificat du serveur distant lors de l'authentification de ce
dernier.</p>
<p>
-Les fichiers de ce répertoire doivent être codés en PEM et ils sont
-accédés via des noms de fichier sous forme de condensés ou hash. Il ne
-suffit donc pas de placer les fichiers de certificats dans ce répertoire
-: vous devez aussi créer des liens symboliques nommés
+Les fichiers de ce répertoire doivent être codés en PEM et ils sont
+accédés via des noms de fichier sous forme de condensés ou hash. Il ne
+suffit donc pas de placer les fichiers de certificats dans ce répertoire
+: vous devez aussi créer des liens symboliques nommés
<em>valeur-de-hashage</em><code>.N</code>, et vous devez toujours vous
-assurer que ce répertoire contient les liens symboliques appropriés.</p>
+assurer que ce répertoire contient les liens symboliques appropriés.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCACertificatePath "/usr/local/apache2/conf/ssl.crt/"</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslproxycarevocationcheck" id="sslproxycarevocationcheck">Directive</a> <a name="SSLProxyCARevocationCheck" id="SSLProxyCARevocationCheck">SSLProxyCARevocationCheck</a><a title="Lien permanent" href="#sslproxycarevocationcheck" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la vérification des révocations basée sur les CRLs
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la vérification des révocations basée sur les CRLs
pour l'authentification du serveur distant</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCARevocationCheck chain|leaf|none</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCARevocationCheck none</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCARevocationCheck none</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, </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_ssl</td></tr>
</table>
<p>
-Active la vérification des révocations basée sur les Listes de
-révocations de Certificats (CRL) pour les <em>serveurs distants</em>
-auxquels vous vous connectez. A moins une des directives <code class="directive"><a href="#sslproxycarevocationfile">SSLProxyCARevocationFile</a></code> ou <code class="directive"><a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></code> doit être définie.
-Lorsque cette directive est définie à <code>chain</code> (valeur
-recommandée), les vérifications CRL sont effectuées sur tous les
-certificats de la chaîne, alors que la valeur <code>leaf</code> limite
-la vérification au certificat hors chaîne (la feuille).
+Active la vérification des révocations basée sur les Listes de
+révocations de Certificats (CRL) pour les <em>serveurs distants</em>
+auxquels vous vous connectez. A moins une des directives <code class="directive"><a href="#sslproxycarevocationfile">SSLProxyCARevocationFile</a></code> ou <code class="directive"><a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></code> doit être définie.
+Lorsque cette directive est définie à <code>chain</code> (valeur
+recommandée), les vérifications CRL sont effectuées sur tous les
+certificats de la chaîne, alors que la valeur <code>leaf</code> limite
+la vérification au certificat hors chaîne (la feuille).
</p>
<div class="note">
-<h3>Lorsque la directive est définie à <code>chain</code> ou
-<code>leaf</code>, les CRLs doivent être disponibles pour que la
-validation réussisse</h3>
-<p>
-Avant la version 2.3.15, les vérifications CRL dans mod_ssl
-réussissaient même si aucune CRL n'était trouvée dans les chemins
-définis par les directives <code class="directive"><a href="#sslproxycarevocationfile">SSLProxyCARevocationFile</a></code> ou <code class="directive"><a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></code>. Le comportement a
-changé avec l'introduction de cette directive : lorsque la vérification
-est activée, les CRLs <em>doivent</em> être présentes pour que la
-validation réussisse ; dans le cas contraire, elle échouera avec une
+<h3>Lorsque la directive est définie à <code>chain</code> ou
+<code>leaf</code>, les CRLs doivent être disponibles pour que la
+validation réussisse</h3>
+<p>
+Avant la version 2.3.15, les vérifications CRL dans mod_ssl
+réussissaient même si aucune CRL n'était trouvée dans les chemins
+définis par les directives <code class="directive"><a href="#sslproxycarevocationfile">SSLProxyCARevocationFile</a></code> ou <code class="directive"><a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></code>. Le comportement a
+changé avec l'introduction de cette directive : lorsque la vérification
+est activée, les CRLs <em>doivent</em> être présentes pour que la
+validation réussisse ; dans le cas contraire, elle échouera avec une
erreur <code>"CRL introuvable"</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="sslproxycarevocationfile" id="sslproxycarevocationfile">Directive</a> <a name="SSLProxyCARevocationFile" id="SSLProxyCARevocationFile">SSLProxyCARevocationFile</a><a title="Lien permanent" href="#sslproxycarevocationfile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des CRLs de CA codés en
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des CRLs de CA codés en
PEM pour l'authentification des serveurs distants</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCARevocationFile <var>file-path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, </td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr>
</table>
<p>
-Cette directive permet de définir le fichier <em>tout-en-un</em> où sont
-rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités
+Cette directive permet de définir le fichier <em>tout-en-un</em> où sont
+rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités
de certification (CAs) pour les <em>serveurs distants</em> auxquels vous
-avez à faire. On les utilise pour l'authentification des serveurs
-distants. Un tel fichier contient la simple concaténation des différents
-fichiers de CRLs codés en PEM, classés par ordre de préférence. Cette
-directive peut être utilisée à la place et/ou en complément de la
+avez à faire. On les utilise pour l'authentification des serveurs
+distants. Un tel fichier contient la simple concaténation des différents
+fichiers de CRLs codés en PEM, classés par ordre de préférence. Cette
+directive peut être utilisée à la place et/ou en complément de la
directive <code class="directive"><a href="#sslproxycarevocationpath">SSLProxyCARevocationPath</a></code>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCARevocationFile
"/usr/local/apache2/conf/ssl.crl/ca-bundle-serveur.distant.crl"</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslproxycarevocationpath" id="sslproxycarevocationpath">Directive</a> <a name="SSLProxyCARevocationPath" id="SSLProxyCARevocationPath">SSLProxyCARevocationPath</a><a title="Lien permanent" href="#sslproxycarevocationpath" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des CRLs de CA codés en PEM pour
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des CRLs de CA codés en PEM pour
l'authentification des serveurs distants</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCARevocationPath <em>chemin-répertoire</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCARevocationPath <em>chemin-répertoire</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, </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_ssl</td></tr>
</table>
<p>
-Cette directive permet de définir le répertoire où sont stockées les
-Listes de Révocation de Certificats (CRL) des Autorités de Certification
-(CAs) pour les serveurs distants auxquels vous avez à faire. On les
-utilise pour révoquer les certificats des serveurs distants au cours de
+Cette directive permet de définir le répertoire où sont stockées les
+Listes de Révocation de Certificats (CRL) des Autorités de Certification
+(CAs) pour les serveurs distants auxquels vous avez à faire. On les
+utilise pour révoquer les certificats des serveurs distants au cours de
l'authentification de ces derniers.</p>
<p>
-Les fichiers de ce répertoire doivent être codés en PEM et ils sont
-accédés via des noms de fichier sous forme de condensés ou hash. Il ne
-suffit donc pas de placer les fichiers de CRL dans ce répertoire
-: vous devez aussi créer des liens symboliques nommés
+Les fichiers de ce répertoire doivent être codés en PEM et ils sont
+accédés via des noms de fichier sous forme de condensés ou hash. Il ne
+suffit donc pas de placer les fichiers de CRL dans ce répertoire
+: vous devez aussi créer des liens symboliques nommés
<em>valeur-de-hashage</em><code>.rN</code>, et vous devez toujours vous
-assurer que ce répertoire contient les liens symboliques appropriés.</p>
+assurer que ce répertoire contient les liens symboliques appropriés.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCARevocationPath "/usr/local/apache2/conf/ssl.crl/"</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslproxycheckpeercn" id="sslproxycheckpeercn">Directive</a> <a name="SSLProxyCheckPeerCN" id="SSLProxyCheckPeerCN">SSLProxyCheckPeerCN</a><a title="Lien permanent" href="#sslproxycheckpeercn" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration de la vérification du champ CN du certificat
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration de la vérification du champ CN du certificat
du serveur distant
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCheckPeerCN on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCheckPeerCN on</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCheckPeerCN on</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, </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_ssl</td></tr>
</table>
<p>
-Cette directive permet de définir si le champ CN du certificat
-du serveur distant doit être comparé au nom de serveur de l'URL de la
-requête. S'ils ne correspondent pas, un
-code d'état 502 (Bad Gateway) est envoyé. A partir de la version 2.4.5, la
+Cette directive permet de définir si le champ CN du certificat
+du serveur distant doit être comparé au nom de serveur de l'URL de la
+requête. S'ils ne correspondent pas, un
+code d'état 502 (Bad Gateway) est envoyé. A partir de la version 2.4.5, la
directive <code class="directive"><a href="#sslproxycheckpeername">SSLProxyCheckPeerName</a></code>
l'emporte sur la directive <code>SSLProxyCheckPeerCN</code>.
</p>
<p>
-De la version 2.4.5 à la version 2.4.20, spécifier <code>SSLProxyCheckPeerName
-off</code> était suffisant pour activer cette fonctionnalité (étant donné que la
-valeur par défaut de la directive <code>SSLProxyCheckPeerCN</code> était
-<code>on</code>). Avec ces mêmes versions, les deux directives devaient être
-définies à <code>off</code> pour éviter la validation du nom de certificat du
-serveur distant. De nombreux utilisateurs ont signalé ce comportement comme
-étant source de confusion.
+De la version 2.4.5 à la version 2.4.20, spécifier <code>SSLProxyCheckPeerName
+off</code> était suffisant pour activer cette fonctionnalité (étant donné que la
+valeur par défaut de la directive <code>SSLProxyCheckPeerCN</code> était
+<code>on</code>). Avec ces mêmes versions, les deux directives devaient être
+définies à <code>off</code> pour éviter la validation du nom de certificat du
+serveur distant. De nombreux utilisateurs ont signalé ce comportement comme
+étant source de confusion.
</p>
<p>
A partir de la version 2.4.21, toute configuration qui active une des
deux options <code>SSLProxyCheckPeerName</code> ou
<code>SSLProxyCheckPeerCN</code> adopte le nouveau comportement de la
directive <code class="directive"><a href="#sslproxycheckpeername">SSLProxyCheckPeerName</a></code>, alors
-que toute configuration qui désactive une des options
+que toute configuration qui désactive une des options
<code>SSLProxyCheckPeerName</code> ou <code>SSLProxyCheckPeerCN</code> supprime
toute validation du nom de certificat du serveur distant. Seule la configuration
-suivante peut rétablir le comportement traditionnel en matière de comparaison
-des CN de certificats dans les versions 2.4.21 et ultérieures.
+suivante peut rétablir le comportement traditionnel en matière de comparaison
+des CN de certificats dans les versions 2.4.21 et ultérieures.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCheckPeerCN on
SSLProxyCheckPeerName off</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslproxycheckpeerexpire" id="sslproxycheckpeerexpire">Directive</a> <a name="SSLProxyCheckPeerExpire" id="SSLProxyCheckPeerExpire">SSLProxyCheckPeerExpire</a><a title="Lien permanent" href="#sslproxycheckpeerexpire" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration de la vérification de l'expiration du
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration de la vérification de l'expiration du
certificat du serveur distant
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCheckPeerExpire on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCheckPeerExpire on</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCheckPeerExpire on</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, </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_ssl</td></tr>
</table>
<p>
-Cette directive permet de définir si l'expiration du certificat du
-serveur distant doit être vérifiée ou non. Si la vérification échoue, un
-code d'état 502 (Bad Gateway) est envoyé.
+Cette directive permet de définir si l'expiration du certificat du
+serveur distant doit être vérifiée ou non. Si la vérification échoue, un
+code d'état 502 (Bad Gateway) est envoyé.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyCheckPeerExpire on</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslproxycheckpeername" id="sslproxycheckpeername">Directive</a> <a name="SSLProxyCheckPeerName" id="SSLProxyCheckPeerName">SSLProxyCheckPeerName</a><a title="Lien permanent" href="#sslproxycheckpeername" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure la vérification du nom d'hôte pour les
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure la vérification du nom d'hôte pour les
certificats serveur distant
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCheckPeerName on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCheckPeerName on</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCheckPeerName on</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, </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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
Apache</td></tr>
</table>
<p>
-Cette directive permet de configurer la vérification du nom d'hôte pour
+Cette directive permet de configurer la vérification du nom d'hôte pour
les certificats serveur lorsque mod_ssl agit en tant que client SSL. La
-vérification réussit si le nom d'hôte de l'URI de la requête correspond à un
-des attributs CN du sujet du certificat, ou à l'extension subjectAltName. Si la
-vérification échoue, la requête SSL
-avorte, et un code d'erreur 502 (Bad Gateway) est renvoyé.
+vérification réussit si le nom d'hôte de l'URI de la requête correspond à un
+des attributs CN du sujet du certificat, ou à l'extension subjectAltName. Si la
+vérification échoue, la requête SSL
+avorte, et un code d'erreur 502 (Bad Gateway) est renvoyé.
</p>
<p>
-Les caractères génériques sont supportés dans certains cas bien spécifiques :
-une entrée subjectAltName de type dNSName ou les attributs CN
-commençant par <code>*.</code> correspondront à tout nom d'hôte comportant
-le même nombre de champs et le même suffixe ; par exemple,
-<code>*.example.org</code> correspondra à <code>foo.example.org</code>,
-mais pas à <code>foo.bar.example.org</code> car le nombre d'éléments dans les
-nom est différent.
+Les caractères génériques sont supportés dans certains cas bien spécifiques :
+une entrée subjectAltName de type dNSName ou les attributs CN
+commençant par <code>*.</code> correspondront à tout nom d'hôte comportant
+le même nombre de champs et le même suffixe ; par exemple,
+<code>*.example.org</code> correspondra à <code>foo.example.org</code>,
+mais pas à <code>foo.bar.example.org</code> car le nombre d'éléments dans les
+nom est différent.
</p>
<p>
-Cette fonctionnalité a été introduite avec la version 2.4.5 et l'emporte sur la
+Cette fonctionnalité a été introduite avec la version 2.4.5 et l'emporte sur la
directive <code class="directive"><a href="#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></code> qui ne
-comparait que la valeur exacte du premier attribut CN avec le nom d'hôte.
-Cependant, de nombreux utilisateurs étaient déconcertés par le comportement
+comparait que la valeur exacte du premier attribut CN avec le nom d'hôte.
+Cependant, de nombreux utilisateurs étaient déconcertés par le comportement
induit par l'utilisation de ces deux directives individuellement, si bien que ce
-comportement a été amélioré avec la version 2.4.21. Voir la description de la
+comportement a été amélioré avec la version 2.4.21. Voir la description de la
directive <code class="directive"><a href="#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></code> pour le
-comportement original et des détails à propos de ces améliorations.
+comportement original et des détails à propos de ces améliorations.
</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="sslproxyciphersuite" id="sslproxyciphersuite">Directive</a> <a name="SSLProxyCipherSuite" id="SSLProxyCipherSuite">SSLProxyCipherSuite</a><a title="Lien permanent" href="#sslproxyciphersuite" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Algorithmes de chiffrement disponibles pour la négociation
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Algorithmes de chiffrement disponibles pour la négociation
lors de l'initialisation d'une connexion SSL de mandataire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyCipherSuite [<em>protocol</em>] <em>cipher-spec</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, </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_ssl</td></tr>
</table>
-<p>Cette directive est équivalente à la directive <code class="directive"><a href="#sslciphersuite">SSLCipherSuite</a></code>, mais s'applique à une connexion de
-mandataire. Veuillez vous reporter à la directive <code class="directive"><a href="#sslciphersuite">SSLCipherSuite</a></code> pour plus d'informations.</p>
+<p>Cette directive est équivalente à la directive <code class="directive"><a href="#sslciphersuite">SSLCipherSuite</a></code>, mais s'applique à une connexion de
+mandataire. Veuillez vous reporter à la directive <code class="directive"><a href="#sslciphersuite">SSLCipherSuite</a></code> pour plus d'informations.</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="sslproxyengine" id="sslproxyengine">Directive</a> <a name="SSLProxyEngine" id="SSLProxyEngine">SSLProxyEngine</a><a title="Lien permanent" href="#sslproxyengine" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interrupteur marche/arrêt du moteur de mandataire
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interrupteur marche/arrêt du moteur de mandataire
SSL</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyEngine on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyEngine off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyEngine off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, </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_ssl</td></tr>
</table>
<p>
-Cette directive permet d'activer/désactiver l'utilisation du moteur de
-protocole SSL/TLS pour le mandataire. On l'utilise en général à
-l'intérieur d'une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> pour activer le protocole SSL/TLS
+Cette directive permet d'activer/désactiver l'utilisation du moteur de
+protocole SSL/TLS pour le mandataire. On l'utilise en général à
+l'intérieur d'une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> pour activer le protocole SSL/TLS
dans le cadre d'un mandataire pour un serveur virtuel particulier. Par
-défaut, le moteur de protocole SSL/TLS est désactivé pour la fonction de
+défaut, le moteur de protocole SSL/TLS est désactivé pour la fonction de
mandataire du serveur principal et de tous les serveurs virtuels
-configurés.</p>
+configurés.</p>
<p>Notez que la directive <code class="directive">SSLProxyEngine</code> ne doit
-généralement pas être utilisée dans le cadre d'un serveur virtuel qui agit en
+généralement pas être utilisée dans le cadre d'un serveur virtuel qui agit en
tant que mandataire direct (via les directives <code class="directive"><a href="../mod/mod_proxy.html#proxy"><Proxy></a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#proxyrequests">ProxyRequests</a></code>).
-<code class="directive">SSLProxyEngine</code> n'est pas nécessaire pour activer un
-serveur mandataire direct pour les requêtes SSL/TLS.</p>
+<code class="directive">SSLProxyEngine</code> n'est pas nécessaire pour activer un
+serveur mandataire direct pour les requêtes SSL/TLS.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><VirtualHost _default_:443>
SSLProxyEngine on
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslproxymachinecertificatechainfile" id="sslproxymachinecertificatechainfile">Directive</a> <a name="SSLProxyMachineCertificateChainFile" id="SSLProxyMachineCertificateChainFile">SSLProxyMachineCertificateChainFile</a><a title="Lien permanent" href="#sslproxymachinecertificatechainfile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier de certificats de CA encodés PEM concaténés permettant au
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier de certificats de CA encodés PEM concaténés permettant au
mandataire de choisir un certificat</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyMachineCertificateChainFile <em>nom-fichier</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, </td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl</td></tr>
</table>
<p>
-Cette directive permet de définir le fichier global où est enregistrée
-la chaîne de certification pour tous les certificats clients utilisés.
-Elle est nécessaire si le serveur distant présente une liste de
+Cette directive permet de définir le fichier global où est enregistrée
+la chaîne de certification pour tous les certificats clients utilisés.
+Elle est nécessaire si le serveur distant présente une liste de
certificats de CA qui ne sont pas les signataires directs d'un des
-certificats clients configurés.
+certificats clients configurés.
</p>
<p>
-Ce fichier contient tout simplement la concaténation des différents
-fichiers de certificats encodés PEM. Au démarrage, chaque certificat
-client configuré est examiné et une chaîne de certification est
+Ce fichier contient tout simplement la concaténation des différents
+fichiers de certificats encodés PEM. Au démarrage, chaque certificat
+client configuré est examiné et une chaîne de certification est
construite.
</p>
-<div class="warning"><h3>Avertissement en matière de sécurité</h3>
-<p>Si cette directive est définie, tous les certificats contenus dans le
-fichier spécifié seront considérés comme étant de confiance, comme s'ils
-étaient aussi désignés dans la directive <code class="directive"><a href="#sslproxycacertificatefile">SSLProxyCACertificateFile</a></code>.</p>
+<div class="warning"><h3>Avertissement en matière de sécurité</h3>
+<p>Si cette directive est définie, tous les certificats contenus dans le
+fichier spécifié seront considérés comme étant de confiance, comme s'ils
+étaient aussi désignés dans la directive <code class="directive"><a href="#sslproxycacertificatefile">SSLProxyCACertificateFile</a></code>.</p>
</div>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyMachineCertificateChainFile
"/usr/local/apache2/conf/ssl.crt/proxyCA.pem"</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslproxymachinecertificatefile" id="sslproxymachinecertificatefile">Directive</a> <a name="SSLProxyMachineCertificateFile" id="SSLProxyMachineCertificateFile">SSLProxyMachineCertificateFile</a><a title="Lien permanent" href="#sslproxymachinecertificatefile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des clés et certificats
-clients codés en PEM que le mandataire doit utiliser</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fichier contenant la concaténation des clés et certificats
+clients codés en PEM que le mandataire doit utiliser</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyMachineCertificateFile <em>file-path</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, </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_ssl</td></tr>
</table>
<p>
-Cette directive permet de définir le fichier tout-en-un où sont stockés
-les clés et certificats permettant au serveur mandataire de
-s'authentifier auprès des serveurs distants.
+Cette directive permet de définir le fichier tout-en-un où sont stockés
+les clés et certificats permettant au serveur mandataire de
+s'authentifier auprès des serveurs distants.
</p>
<p>
-Le fichier spécifié est la simple concaténation des différents fichiers
-de certificats codés en PEM, classés par ordre de préférence. Cette
-directive s'utilise à la place ou en complément de la directive
+Le fichier spécifié est la simple concaténation des différents fichiers
+de certificats codés en PEM, classés par ordre de préférence. Cette
+directive s'utilise à la place ou en complément de la directive
<code>SSLProxyMachineCertificatePath</code>.
</p>
<div class="warning">
-<p>Actuellement, les clés privées chiffrées ne sont pas supportées.</p>
+<p>Actuellement, les clés privées chiffrées ne sont pas supportées.</p>
</div>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyMachineCertificateFile "/usr/local/apache2/conf/ssl.crt/proxy.pem"</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslproxymachinecertificatepath" id="sslproxymachinecertificatepath">Directive</a> <a name="SSLProxyMachineCertificatePath" id="SSLProxyMachineCertificatePath">SSLProxyMachineCertificatePath</a><a title="Lien permanent" href="#sslproxymachinecertificatepath" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des clés et certificats clients codés en PEM que
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire des clés et certificats clients codés en PEM que
le mandataire doit utiliser</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyMachineCertificatePath <em>chemin-répertoire</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyMachineCertificatePath <em>chemin-répertoire</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, </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_ssl</td></tr>
</table>
<p>
-Cette directive permet de définir le répertoire où sont stockés les clés
-et certificats permettant au serveur mandataire de s'authentifier auprès
+Cette directive permet de définir le répertoire où sont stockés les clés
+et certificats permettant au serveur mandataire de s'authentifier auprès
des serveurs distants.
</p>
-<p>mod_ssl va essayer de charger tous les fichiers contenus dans le répertoire
-spécifié, mais en ignorera les éventuels sous-répertoires. Chaque fichier doit
-contenir un certificat codé au format PEM ainsi que la clé privée
+<p>mod_ssl va essayer de charger tous les fichiers contenus dans le répertoire
+spécifié, mais en ignorera les éventuels sous-répertoires. Chaque fichier doit
+contenir un certificat codé au format PEM ainsi que la clé privée
correspondante.</p>
<div class="warning">
-<p>Actuellement, les clés privées chiffrées ne sont pas supportées.</p>
+<p>Actuellement, les clés privées chiffrées ne sont pas supportées.</p>
</div>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyMachineCertificatePath "/usr/local/apache2/conf/proxy.crt/"</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslproxyprotocol" id="sslproxyprotocol">Directive</a> <a name="SSLProxyProtocol" id="SSLProxyProtocol">SSLProxyProtocol</a><a title="Lien permanent" href="#sslproxyprotocol" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les protocoles SSL disponibles pour la fonction de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les protocoles SSL disponibles pour la fonction de
mandataire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyProtocol [+|-]<em>protocole</em> ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyProtocol all -SSLv3</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyProtocol all -SSLv3</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, </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_ssl</td></tr>
</table>
<p>
-Cette directive permet de définir les protocoles SSL que mod_ssl peut
-utiliser lors de l'élaboration de son environnement de serveur pour la
+Cette directive permet de définir les protocoles SSL que mod_ssl peut
+utiliser lors de l'élaboration de son environnement de serveur pour la
fonction de mandataire. Il ne se connectera qu'aux serveurs utilisant un
-des protocoles spécifiés.</p>
-<p>Veuillez vous reporter à la directive <code class="directive"><a href="#sslprotocol">SSLProtocol</a></code> pour plus d'informations.
+des protocoles spécifiés.</p>
+<p>Veuillez vous reporter à la directive <code class="directive"><a href="#sslprotocol">SSLProtocol</a></code> pour plus d'informations.
</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="sslproxyverify" id="sslproxyverify">Directive</a> <a name="SSLProxyVerify" id="SSLProxyVerify">SSLProxyVerify</a><a title="Lien permanent" href="#sslproxyverify" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Niveau de vérification du certificat du serveur
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Niveau de vérification du certificat du serveur
distant</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyVerify <em>niveau</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyVerify none</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyVerify none</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, </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_ssl</td></tr>
</table>
-<p>Lorsqu'un mandataire est configuré pour faire suivre les requêtes
+<p>Lorsqu'un mandataire est configuré pour faire suivre les requêtes
vers un serveur SSL distant, cette directive permet de configurer la
-vérification du certificat de ce serveur distant.</p>
+vérification du certificat de ce serveur distant.</p>
<p>
Les valeurs de <em>niveau</em>x disponibles sont les suivantes :</p>
<li><strong>none</strong>:
aucun certificat n'est requis pour le serveur distant</li>
<li><strong>optional</strong>:
- le serveur distant <em>peut</em> présenter un certificat valide</li>
+ le serveur distant <em>peut</em> présenter un certificat valide</li>
<li><strong>require</strong>:
- le serveur distant <em>doit</em> présenter un certificat valide</li>
+ le serveur distant <em>doit</em> présenter un certificat valide</li>
<li><strong>optional_no_ca</strong>:
- le serveur distant peut présenter un certificat valide<br />
- mais il n'est pas nécessaire qu'il soit vérifiable (avec succès).</li>
+ le serveur distant peut présenter un certificat valide<br />
+ mais il n'est pas nécessaire qu'il soit vérifiable (avec succès).</li>
</ul>
<p>En pratique, seuls les niveaux <strong>none</strong> et
-<strong>require</strong> sont vraiment intéressants, car le niveau
+<strong>require</strong> sont vraiment intéressants, car le niveau
<strong>optional</strong> ne fonctionne pas avec tous les serveurs, et
-le niveau <strong>optional_no_ca</strong> va tout à fait à l'encontre de
-l'idée que l'on peut se faire de l'authentification (mais peut tout de
-même être utilisé pour établir des pages de test SSL, etc...)
+le niveau <strong>optional_no_ca</strong> va tout à fait à l'encontre de
+l'idée que l'on peut se faire de l'authentification (mais peut tout de
+même être utilisé pour établir des pages de test SSL, etc...)
In practice only levels <strong>none</strong> and
<strong>require</strong> are really interesting, because level
<div class="directive-section"><h2><a name="sslproxyverifydepth" id="sslproxyverifydepth">Directive</a> <a name="SSLProxyVerifyDepth" id="SSLProxyVerifyDepth">SSLProxyVerifyDepth</a><a title="Lien permanent" href="#sslproxyverifydepth" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Niveau de profondeur maximum dans les certificats de CA
-lors de la vérification du certificat du serveur distant</td></tr>
+lors de la vérification du certificat du serveur distant</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLProxyVerifyDepth <em>niveau</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyVerifyDepth 1</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLProxyVerifyDepth 1</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, </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_ssl</td></tr>
</table>
<p>
-Cette directive permet de définir le niveau de profondeur maximum
-jusqu'auquel mod_ssl doit aller au cours de sa vérification avant de
-décider que le serveur distant ne possède pas de certificat valide.</p>
+Cette directive permet de définir le niveau de profondeur maximum
+jusqu'auquel mod_ssl doit aller au cours de sa vérification avant de
+décider que le serveur distant ne possède pas de certificat valide.</p>
<p>
La profondeur correspond en fait au nombre maximum de fournisseurs de
-certificats intermédiaires, c'est à dire le nombre maximum de
+certificats intermédiaires, c'est à dire le nombre maximum de
certificats
-de CA que l'on peut consulter lors de la vérification du certificat du
+de CA que l'on peut consulter lors de la vérification du certificat du
serveur distant. Une profondeur de 0 signifie que seuls les certificats
-de serveurs distants auto-signés sont acceptés, et la profondeur par
-défaut de 1 que le certificat du serveur distant peut être soit
-auto-signé, soit signé par une CA connue directement du serveur (en
-d'autres termes, le certificat de CA est référencé par la directive
+de serveurs distants auto-signés sont acceptés, et la profondeur par
+défaut de 1 que le certificat du serveur distant peut être soit
+auto-signé, soit signé par une CA connue directement du serveur (en
+d'autres termes, le certificat de CA est référencé par la directive
<code class="directive"><a href="#sslproxycacertificatepath">SSLProxyCACertificatePath</a></code>),
etc...</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLProxyVerifyDepth 10</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslrandomseed" id="sslrandomseed">Directive</a> <a name="SSLRandomSeed" id="SSLRandomSeed">SSLRandomSeed</a><a title="Lien permanent" href="#sslrandomseed" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Source de déclenchement du Générateur de Nombres
-Pseudo-Aléatoires (PRNG)</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Source de déclenchement du Générateur de Nombres
+Pseudo-Aléatoires (PRNG)</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLRandomSeed <em>contexte</em> <em>source</em>
[<em>nombre</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#Module">Module:</a></th><td>mod_ssl</td></tr>
</table>
<p>
-Cette directive permet de définir une ou plusieurs sources de
-déclenchement du Générateur de Nombres Pseudo-Aléatoires (PRNG) dans
-OpenSSL au démarrage du serveur (si <em>contexte</em> a pour valeur
-<code>startup</code>) et/ou juste avant l'établissement d'une nouvelle
+Cette directive permet de définir une ou plusieurs sources de
+déclenchement du Générateur de Nombres Pseudo-Aléatoires (PRNG) dans
+OpenSSL au démarrage du serveur (si <em>contexte</em> a pour valeur
+<code>startup</code>) et/ou juste avant l'établissement d'une nouvelle
connexion SSL (si <em>contexte</em> a pour valeur <code>connect</code>).
-Cette directive ne peut être utilisée qu'au niveau du serveur global car
+Cette directive ne peut être utilisée qu'au niveau du serveur global car
le PRNG est un service global.</p>
<p>
-Les différentes valeurs de <em>source</em> disponibles sont :</p>
+Les différentes valeurs de <em>source</em> disponibles sont :</p>
<ul>
<li><code>builtin</code>
- <p>Cette source de déclenchement intégrée est toujours disponible. Son
- utilisation consomme un minimum de cycles CPU en cours d'exécution, et son
- utilisation ne présente de ce fait aucun problème. La source utilisée pour
- déclencher le PRNG contient la date courante, l'identifiant du processus
- courant et un extrait de 128 octets aléatoirement choisi dans la pile. Ceci
- présente un inconvénient car le caractère aléatoire de cette source n'est
- pas vraiment fort, et au démarrage (lorsque la structure d'échanges n'est
+ <p>Cette source de déclenchement intégrée est toujours disponible. Son
+ utilisation consomme un minimum de cycles CPU en cours d'exécution, et son
+ utilisation ne présente de ce fait aucun problème. La source utilisée pour
+ déclencher le PRNG contient la date courante, l'identifiant du processus
+ courant et un extrait de 128 octets aléatoirement choisi dans la pile. Ceci
+ présente un inconvénient car le caractère aléatoire de cette source n'est
+ pas vraiment fort, et au démarrage (lorsque la structure d'échanges n'est
pas encore disponible), cette source ne produit que quelques octets
- d'entropie. Vous devez donc toujours utiliser une source de déclenchement
- additionnelle, au moins pour le démarrage.</p></li>
+ d'entropie. Vous devez donc toujours utiliser une source de déclenchement
+ additionnelle, au moins pour le démarrage.</p></li>
<li><code>file:/chemin/vers/source</code>
<p>
Cette variante utilise un fichier externe
- <code>file:/chemin/vers/source</code> comme source de déclenchement
- du PRNG. Lorsque <em>nombre</em> est spécifié, seuls les
+ <code>file:/chemin/vers/source</code> comme source de déclenchement
+ du PRNG. Lorsque <em>nombre</em> est spécifié, seuls les
<em>nombre</em> premiers octets du fichier forment l'entropie (et
- <em>nombre</em> est fourni comme premier argument à
+ <em>nombre</em> est fourni comme premier argument à
<code>/chemin/vers/source</code>). Lorsque <em>nombre</em> n'est pas
- spécifié, l'ensemble du fichier forme l'entropie (et <code>0</code>
- est fourni comme premier argument à
+ spécifié, l'ensemble du fichier forme l'entropie (et <code>0</code>
+ est fourni comme premier argument à
<code>/chemin/vers/source</code>). Utilisez cette source en
- particulier au démarrage, par exemple avec un fichier de
- périphérique <code>/dev/random</code> et/ou
- <code>/dev/urandom</code> (qui sont en général présent sur les
- plate-formes dérivées d'Unix modernes comme FreeBSD et Linux).</p>
- <p><em>Soyez cependant prudent</em> : en général,
+ particulier au démarrage, par exemple avec un fichier de
+ périphérique <code>/dev/random</code> et/ou
+ <code>/dev/urandom</code> (qui sont en général présent sur les
+ plate-formes dérivées d'Unix modernes comme FreeBSD et Linux).</p>
+ <p><em>Soyez cependant prudent</em> : en général,
<code>/dev/random</code> ne fournit que l'entropie dont il dispose
- réellement ; en d'autres termes, lorsque vous demandez 512 octets
- d'entropie, si le périphérique ne dispose que de 100 octets, deux
+ réellement ; en d'autres termes, lorsque vous demandez 512 octets
+ d'entropie, si le périphérique ne dispose que de 100 octets, deux
choses peuvent se produire : sur certaines plates-formes, vous ne
recevez que les 100 octets, alors que sur d'autres, la lecture se
- bloque jusqu'à ce qu'un nombre suffisant d'octets soit disponible
- (ce qui peut prendre beaucoup de temps). Il est préférable ici
- d'utiliser le périphérique <code>/dev/urandom</code>, car il ne se
- bloque jamais et fournit vraiment la quantité de données demandées.
- Comme inconvénient, les données reçues ne sont pas forcément de la
- meilleure qualité.</p></li>
+ bloque jusqu'à ce qu'un nombre suffisant d'octets soit disponible
+ (ce qui peut prendre beaucoup de temps). Il est préférable ici
+ d'utiliser le périphérique <code>/dev/urandom</code>, car il ne se
+ bloque jamais et fournit vraiment la quantité de données demandées.
+ Comme inconvénient, les données reçues ne sont pas forcément de la
+ meilleure qualité.</p></li>
<li><code>exec:/chemin/vers/programme</code>
<p>
- Cette variante utilise un exécutable externe
- <code>/chemin/vers/programme</code> comme source de déclenchement du
- PRNG. Lorsque <em>nombre</em> est spécifié, seules les
+ Cette variante utilise un exécutable externe
+ <code>/chemin/vers/programme</code> comme source de déclenchement du
+ PRNG. Lorsque <em>nombre</em> est spécifié, seules les
<em>nombre</em> premiers octets de son flux <code>stdout</code>
- forment l'entropie. Lorsque <em>nombre</em> n'est pas spécifié,
- l'intégralité des données produites sur <code>stdout</code> forment
- l'entropie. N'utilisez cette variante qu'au démarrage où une source
- de déclenchement fortement aléatoire est nécessaire, en utilisant
+ forment l'entropie. Lorsque <em>nombre</em> n'est pas spécifié,
+ l'intégralité des données produites sur <code>stdout</code> forment
+ l'entropie. N'utilisez cette variante qu'au démarrage où une source
+ de déclenchement fortement aléatoire est nécessaire, en utilisant
un programme externe (comme dans l'exemple
- ci-dessous avec l'utilitaire <code>truerand</code> basé sur la
- bibliothèque <em>truerand</em> de AT&T que vous trouverez
+ ci-dessous avec l'utilitaire <code>truerand</code> basé sur la
+ bibliothèque <em>truerand</em> de AT&T que vous trouverez
dans la distribution de mod_ssl). Bien entendu, l'utilisation de
cette variante dans un contexte "connection" ralentit le serveur de
- manière trop importante, et en général, vous devez donc éviter
+ manière trop importante, et en général, vous devez donc éviter
d'utiliser des programmes externes dans ce contexte.</p></li>
<li><code>egd:/chemin/vers/socket-egd</code> (Unix seulement)
- <p>Cette variante utilise le socket de domaine Unix du Démon
- Générateur d'Entropie externe ou Entropy Gathering Daemon ou EGD
+ <p>Cette variante utilise le socket de domaine Unix du Démon
+ Générateur d'Entropie externe ou Entropy Gathering Daemon ou EGD
(voir <a href="http://www.lothar.com/tech/crypto/">http://www.lothar.com/tech
- /crypto/</a>) pour déclencher le PRNG. N'utilisez cette variante que
- si votre plate-forme ne possède pas de périphérique random ou
+ /crypto/</a>) pour déclencher le PRNG. N'utilisez cette variante que
+ si votre plate-forme ne possède pas de périphérique random ou
urandom.</p></li>
</ul>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLRandomSeed startup builtin
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslrenegbuffersize" id="sslrenegbuffersize">Directive</a> <a name="SSLRenegBufferSize" id="SSLRenegBufferSize">SSLRenegBufferSize</a><a title="Lien permanent" href="#sslrenegbuffersize" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille du tampon de renégociation
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille du tampon de renégociation
SSL</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLRenegBufferSize <var>taille</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLRenegBufferSize 131072</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#Default">Défaut:</a></th><td><code>SSLRenegBufferSize 131072</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">AllowOverride:</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_ssl</td></tr>
</table>
-<p>Si une renégociation SSL est requise dans un contexte de répertoire,
+<p>Si une renégociation SSL est requise dans un contexte de répertoire,
par exemple avec l'utilisation de <code class="directive"><a href="#sslverifyclient">SSLVerifyClient</a></code> dans un bloc Directory ou
-Location, mod_ssl doit mettre en tampon en mémoire tout corps de requête
+Location, mod_ssl doit mettre en tampon en mémoire tout corps de requête
HTTP en attendant qu'une nouvelle initialisation de connexion SSL puisse
-être effectuée. Cette directive permet de définir la quantité de mémoire
-à allouer pour ce tampon.</p>
+être effectuée. Cette directive permet de définir la quantité de mémoire
+à allouer pour ce tampon.</p>
<div class="warning"><p>
Notez que dans de nombreuses configurations, le client qui envoie un
-corps de requête n'est pas forcément digne de confiance, et l'on doit
-par conséquent prendre en considération la possibilité d'une attaque de
-type déni de service lorsqu'on modifie la valeur de cette directive.
+corps de requête n'est pas forcément digne de confiance, et l'on doit
+par conséquent prendre en considération la possibilité d'une attaque de
+type déni de service lorsqu'on modifie la valeur de cette directive.
</p></div>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLRenegBufferSize 262144</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslrequire" id="sslrequire">Directive</a> <a name="SSLRequire" id="SSLRequire">SSLRequire</a><a title="Lien permanent" href="#sslrequire" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'autorise l'accès que lorsqu'une expression booléenne
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'autorise l'accès que lorsqu'une expression booléenne
complexe et arbitraire est vraie</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLRequire <em>expression</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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_ssl</td></tr>
</table>
-<div class="note"><h3>SSLRequire is obsolète</h3>
-<p><code>SSLRequire</code> est obsolète et doit en général être
-remplacée par l'expression <a href="mod_authz_core.html#reqexpr">Require</a>. La syntaxe <a href="../expr.html">ap_expr</a> de l'expression <code>Require</code> est
+<div class="note"><h3>SSLRequire is obsolète</h3>
+<p><code>SSLRequire</code> est obsolète et doit en général être
+remplacée par l'expression <a href="mod_authz_core.html#reqexpr">Require</a>. La syntaxe <a href="../expr.html">ap_expr</a> de l'expression <code>Require</code> est
une extension de la syntaxe de <code>SSLRequire</code>, avec les
-différences suivantes :</p>
-
-<p>Avec <code>SSLRequire</code>, les opérateurs de comparaison
-<code><</code>, <code><=</code>, ... sont strictement équivalents
-aux opérateurs <code>lt</code>, <code>le</code>, ... , et fonctionnent
-selon une méthode qui compare tout d'abord la longueur des deux chaînes,
-puis l'ordre alphabétique. Les expressions <a href="../expr.html">ap_expr</a>, quant à elles, possèdent deux jeux
-d'opérateurs de comparaison : les opérateurs <code><</code>,
-<code><=</code>, ... effectuent une comparaison alphabétique de
-chaînes, alors que les opérateurs <code>-lt</code>, <code>-le</code>,
-... effectuent une comparaison d'entiers. Ces derniers possèdent aussi
+différences suivantes :</p>
+
+<p>Avec <code>SSLRequire</code>, les opérateurs de comparaison
+<code><</code>, <code><=</code>, ... sont strictement équivalents
+aux opérateurs <code>lt</code>, <code>le</code>, ... , et fonctionnent
+selon une méthode qui compare tout d'abord la longueur des deux chaînes,
+puis l'ordre alphabétique. Les expressions <a href="../expr.html">ap_expr</a>, quant à elles, possèdent deux jeux
+d'opérateurs de comparaison : les opérateurs <code><</code>,
+<code><=</code>, ... effectuent une comparaison alphabétique de
+chaînes, alors que les opérateurs <code>-lt</code>, <code>-le</code>,
+... effectuent une comparaison d'entiers. Ces derniers possèdent aussi
des alias sans tiret initial : <code>lt</code>, <code>le</code>, ...
</p>
</div>
-<p>Cette directive permet de spécifier une condition générale d'accès
-qui doit être entièrement satisfaite pour que l'accès soit autorisé.
-C'est une directive très puissante, car la condition d'accès spécifiée
-est une expression booléenne complexe et arbitraire contenant un nombre
-quelconque de vérifications quant aux autorisations d'accès.</p>
+<p>Cette directive permet de spécifier une condition générale d'accès
+qui doit être entièrement satisfaite pour que l'accès soit autorisé.
+C'est une directive très puissante, car la condition d'accès spécifiée
+est une expression booléenne complexe et arbitraire contenant un nombre
+quelconque de vérifications quant aux autorisations d'accès.</p>
<p>
L'<em>expression</em> doit respecter la syntaxe suivante (fournie ici
sous la forme d'une notation dans le style de la grammaire BNF) :</p>
variable ::= "<strong>%{</strong>" varname "<strong>}</strong>"
function ::= funcname "<strong>(</strong>" funcargs "<strong>)</strong>"</pre>
</blockquote>
-<p>Pour <code>varname</code>, toute variable décrite dans <a href="#envvars">Variables d'environnement</a> pourra être utilisée.
+<p>Pour <code>varname</code>, toute variable décrite dans <a href="#envvars">Variables d'environnement</a> pourra être utilisée.
Pour <code>funcname</code>, vous trouverez la liste des fonctions
disponibles dans la <a href="../expr.html#functions">documentation
ap_expr</a>.</p>
-<p><em>expression</em> est interprétée et traduite
+<p><em>expression</em> est interprétée et traduite
sous une forme machine interne lors du chargement de la configuration,
-puis évaluée lors du traitement de la requête. Dans le contexte des
-fichiers .htaccess, <em>expression</em> est interprétée et exécutée
+puis évaluée lors du traitement de la requête. Dans le contexte des
+fichiers .htaccess, <em>expression</em> est interprétée et exécutée
chaque fois que le fichier .htaccess intervient lors du traitement de la
-requête.</p>
+requête.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)-/ \
and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
<p>La fonction <code>PeerExtList(<em>identifiant objet</em>)</code>
-recherche une instance d'extension de certificat X.509 identifiée par
+recherche une instance d'extension de certificat X.509 identifiée par
<em>identifiant objet</em> (OID) dans le certificat client. L'expression est
-évaluée à true si la partie gauche de la chaîne correspond exactement à
-la valeur d'une extension identifiée par cet OID (Si plusieurs
-extensions possèdent le même OID, l'une d'entre elles au moins doit
+évaluée à true si la partie gauche de la chaîne correspond exactement à
+la valeur d'une extension identifiée par cet OID (Si plusieurs
+extensions possèdent le même OID, l'une d'entre elles au moins doit
correspondre).
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLRequire "foobar" in PeerExtList("1.2.3.4.5.6")</pre>
</div>
-<div class="note"><h3>Notes à propos de la fonction PeerExtList</h3>
+<div class="note"><h3>Notes à propos de la fonction PeerExtList</h3>
<ul>
-<li><p>L'identifiant objet peut être spécifié soit comme un nom
-descriptif reconnu par la bibliothèque SSL, tel que
-<code>"nsComment"</code>, soit comme un OID numérique tel que
+<li><p>L'identifiant objet peut être spécifié soit comme un nom
+descriptif reconnu par la bibliothèque SSL, tel que
+<code>"nsComment"</code>, soit comme un OID numérique tel que
<code>"1.2.3.4.5.6"</code>.</p></li>
-<li><p>Les expressions contenant des types connus de la bibliothèque
-SSL sont transformées en chaînes avant comparaison. Pour les extensions
-contenant un type non connu de la bibliothèque SSL, mod_ssl va essayer
-d'interpréter la valeur s'il s'agit d'un des types ASN.1 primaire UTF8String,
-IA5String, VisibleString, ou BMPString. Si l'extension correspond à un
-de ces types, la chaîne sera convertie en UTF-8 si nécessaire, puis
-comparée avec la partie gauche de l'expression.</p></li>
+<li><p>Les expressions contenant des types connus de la bibliothèque
+SSL sont transformées en chaînes avant comparaison. Pour les extensions
+contenant un type non connu de la bibliothèque SSL, mod_ssl va essayer
+d'interpréter la valeur s'il s'agit d'un des types ASN.1 primaire UTF8String,
+IA5String, VisibleString, ou BMPString. Si l'extension correspond à un
+de ces types, la chaîne sera convertie en UTF-8 si nécessaire, puis
+comparée avec la partie gauche de l'expression.</p></li>
</ul>
</div>
serveur HTTP Apache</a>, pour d'autres exemples.
</li>
<li><a href="mod_authz_core.html#reqexpr">Require expr</a></li>
-<li><a href="../expr.html">Syntaxe générale des expressions dans le
+<li><a href="../expr.html">Syntaxe générale des expressions dans le
serveur HTTP Apache</a>
</li>
</ul>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslrequiressl" id="sslrequiressl">Directive</a> <a name="SSLRequireSSL" id="SSLRequireSSL">SSLRequireSSL</a><a title="Lien permanent" href="#sslrequiressl" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interdit l'accès lorsque la requête HTTP n'utilise pas
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interdit l'accès lorsque la requête HTTP n'utilise pas
SSL</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLRequireSSL</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#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_ssl</td></tr>
</table>
<p>
-Cette directive interdit l'accès si HTTP sur SSL (c'est à dire HTTPS)
-n'est pas activé pour la connexion courante. Ceci est très pratique dans
-un serveur virtuel où SSL est activé ou dans un répertoire pour se
-protéger des erreurs de configuration qui pourraient donner accès à des
-ressources protégées. Lorsque cette directive est présente, toutes les
-requêtes qui n'utilisent pas SSL sont rejetées.</p>
+Cette directive interdit l'accès si HTTP sur SSL (c'est à dire HTTPS)
+n'est pas activé pour la connexion courante. Ceci est très pratique dans
+un serveur virtuel où SSL est activé ou dans un répertoire pour se
+protéger des erreurs de configuration qui pourraient donner accès à des
+ressources protégées. Lorsque cette directive est présente, toutes les
+requêtes qui n'utilisent pas SSL sont rejetées.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLRequireSSL</pre>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type du cache de session SSL global et
inter-processus</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLSessionCache <em>type</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLSessionCache none</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLSessionCache none</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_ssl</td></tr>
</table>
<p>
Cette directive permet de configurer le type de stockage du cache de
-session SSL global et inter-processus. Ce cache est une fonctionnalité
-optionnelle qui accélère le traitement parallèle des requêtes. Pour ce
-qui est des requêtes vers un même processus du serveur (via HTTP
+session SSL global et inter-processus. Ce cache est une fonctionnalité
+optionnelle qui accélère le traitement parallèle des requêtes. Pour ce
+qui est des requêtes vers un même processus du serveur (via HTTP
keep-alive), OpenSSL met en cache les informations de session SSL en
interne. Mais comme les clients modernes demandent des images en ligne
-et d'autres données via des requêtes parallèles (un nombre de quatre
-requêtes parallèles est courant), ces requêtes vont être servies par
-<em>plusieurs</em> processus du serveur pré-déclenchés. Ici, un cache
-inter-processus permet d'éviter des négociations de session
+et d'autres données via des requêtes parallèles (un nombre de quatre
+requêtes parallèles est courant), ces requêtes vont être servies par
+<em>plusieurs</em> processus du serveur pré-déclenchés. Ici, un cache
+inter-processus permet d'éviter des négociations de session
inutiles.</p>
<p>
Les quatre <em>type</em>s de stockage suivants sont actuellement
-supportés :</p>
+supportés :</p>
<ul>
<li><code>none</code>
- <p>Cette valeur désactive le cache de session global et
- inter-processus, ce qui va ralentir le serveur de manière sensible
- et peut poser problème avec certains navigateurs, en particulier si
- les certificats clients sont activés. Cette configuration n'est pas
- recommandée.</p></li>
+ <p>Cette valeur désactive le cache de session global et
+ inter-processus, ce qui va ralentir le serveur de manière sensible
+ et peut poser problème avec certains navigateurs, en particulier si
+ les certificats clients sont activés. Cette configuration n'est pas
+ recommandée.</p></li>
<li><code>nonenotnull</code>
- <p>Cette valeur désactive tout cache de session global et
- inter-processus. Cependant, elle force OpenSSL à envoyer un
- identifiant de session non nul afin de s'adapter aux clients bogués
- qui en nécessitent un.</p></li>
+ <p>Cette valeur désactive tout cache de session global et
+ inter-processus. Cependant, elle force OpenSSL à envoyer un
+ identifiant de session non nul afin de s'adapter aux clients bogués
+ qui en nécessitent un.</p></li>
-<li><code>dbm:/chemin/vers/fichier-données</code>
+<li><code>dbm:/chemin/vers/fichier-données</code>
<p>Cette valeur utilise un fichier de hashage DBM sur disque local
- pour synchroniser les caches OpenSSL locaux en mémoire des processus
- du serveur. Ce cache de session peut être sujet à des problèmes de
- fiabilité sous forte charge. Pour l'utiliser, le module
- <code class="module"><a href="../mod/mod_socache_dbm.html">mod_socache_dbm</a></code> doit être chargé.</p></li>
+ pour synchroniser les caches OpenSSL locaux en mémoire des processus
+ du serveur. Ce cache de session peut être sujet à des problèmes de
+ fiabilité sous forte charge. Pour l'utiliser, le module
+ <code class="module"><a href="../mod/mod_socache_dbm.html">mod_socache_dbm</a></code> doit être chargé.</p></li>
-<li><code>shmcb:/chemin/vers/fichier-données</code>[<code>(</code><em>nombre</em><code>)</code>]
+<li><code>shmcb:/chemin/vers/fichier-données</code>[<code>(</code><em>nombre</em><code>)</code>]
- <p>Cette valeur utilise un tampon cyclique à hautes performances
+ <p>Cette valeur utilise un tampon cyclique à hautes performances
(d'une taille d'environ <em>nombre</em> octets) dans un segment de
- mémoire partagée en RAM (établi via
- <code>/chemin/vers/fichier-données</code>, pour synchroniser les
- caches OpenSSL locaux en mémoire des processus du serveur. C'est le
- type de cache de session recommandé. Pour l'utiliser, le module
- <code class="module"><a href="../mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code> doit être chargé.</p></li>
+ mémoire partagée en RAM (établi via
+ <code>/chemin/vers/fichier-données</code>, pour synchroniser les
+ caches OpenSSL locaux en mémoire des processus du serveur. C'est le
+ type de cache de session recommandé. Pour l'utiliser, le module
+ <code class="module"><a href="../mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code> doit être chargé.</p></li>
<li><code>dc:UNIX:/chemin/vers/socket</code>
- <p>Cette valeur utilise les bibliothèques de mise en cache de
- sessions distribuée sur <a href="http://distcache.sourceforge.net/">distcache</a>.
- L'argument doit spécifier le serveur ou mandataire à utiliser en
+ <p>Cette valeur utilise les bibliothèques de mise en cache de
+ sessions distribuée sur <a href="http://distcache.sourceforge.net/">distcache</a>.
+ L'argument doit spécifier le serveur ou mandataire à utiliser en
utilisant la syntaxe d'adressage distcache ; par exemple,
- <code>UNIX:/chemin/vers/socket</code> spécifie un socket de domaine
- Unix (en général un mandataire de dc_client local) ;
- <code>IP:serveur.example.com:9001</code> spécifie une adresse IP.
- Pour l'utiliser, le module <code class="module"><a href="../mod/mod_socache_dc.html">mod_socache_dc</a></code> doit être
- chargé.</p></li>
+ <code>UNIX:/chemin/vers/socket</code> spécifie un socket de domaine
+ Unix (en général un mandataire de dc_client local) ;
+ <code>IP:serveur.example.com:9001</code> spécifie une adresse IP.
+ Pour l'utiliser, le module <code class="module"><a href="../mod/mod_socache_dc.html">mod_socache_dc</a></code> doit être
+ chargé.</p></li>
</ul>
SSLSessionCache "shmcb:/usr/local/apache/logs/ssl_gcache_data(512000)"</pre>
</div>
-<p>Le mutex <code>ssl-cache</code> permet de sérialiser l'accès au cache
-de session afin d'éviter toute corruption. Ce mutex peut être configuré
+<p>Le mutex <code>ssl-cache</code> permet de sérialiser l'accès au cache
+de session afin d'éviter toute corruption. Ce mutex peut être configuré
via la directive <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code>.</p>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de secondes avant l'expiration d'une session SSL
dans le cache de sessions</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLSessionCacheTimeout <em>secondes</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLSessionCacheTimeout 300</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLSessionCacheTimeout 300</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>S'applique aussi au renouvellement de la session TLS de
-la RFC 5077 à partir de la version 2.4.10 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>S'applique aussi au renouvellement de la session TLS de
+la RFC 5077 à partir de la version 2.4.10 du serveur HTTP Apache</td></tr>
</table>
<p>
-Cette directive permet de définir la durée de vie en secondes des
-informations stockées dans le cache de sessions SSL global et
-inter-processus, dans le cache OpenSSL interne en mémoire et pour
-les sessions réinitialisées par la reprise de session TLS (RFC 5077). elle peut
-être définie à une valeur d'environ 15 à des fins de test, mais à une
-valeur très supérieure comme 300 en production.</p>
+Cette directive permet de définir la durée de vie en secondes des
+informations stockées dans le cache de sessions SSL global et
+inter-processus, dans le cache OpenSSL interne en mémoire et pour
+les sessions réinitialisées par la reprise de session TLS (RFC 5077). elle peut
+être définie à une valeur d'environ 15 à des fins de test, mais à une
+valeur très supérieure comme 300 en production.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLSessionCacheTimeout 600</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslsessionticketkeyfile" id="sslsessionticketkeyfile">Directive</a> <a name="SSLSessionTicketKeyFile" id="SSLSessionTicketKeyFile">SSLSessionTicketKeyFile</a><a title="Lien permanent" href="#sslsessionticketkeyfile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Clé de chiffrement/déchiffrement permanente pour les
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Clé de chiffrement/déchiffrement permanente pour les
tickets de session TLS</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLSessionTicketKeyFile <var>file-path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.0 du serveur HTTP
-Apache, sous réserve que l'on utilise une version 0.9.8h ou supérieure
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.0 du serveur HTTP
+Apache, sous réserve que l'on utilise une version 0.9.8h ou supérieure
d'OpenSSL</td></tr>
</table>
-<p>Cette directive permet de définir une clé secrète pour le chiffrement
-et le déchiffrement des tickets de session TLS selon les préconisations
+<p>Cette directive permet de définir une clé secrète pour le chiffrement
+et le déchiffrement des tickets de session TLS selon les préconisations
de la <a href="http://www.ietf.org/rfc/rfc5077.txt">RFC 5077</a>. Elle a
-été conçue à l'origine pour les environnements de clusters où les
-données des sessions TLS doivent être partagées entre plusieurs noeuds.
+été conçue à l'origine pour les environnements de clusters où les
+données des sessions TLS doivent être partagées entre plusieurs noeuds.
Pour les configurations ne comportant qu'une seule instance de httpd, il
-est préférable d'utiliser les clés (aléatoires) générées par mod_ssl au
-démarrage du serveur.</p>
-<p>Le fichier doit contenir 48 octets de données aléatoires créées de
-préférence par une source à haute entropie. Sur un système de type UNIX,
-il est possible de créer le fichier contenant la clé de la manière
+est préférable d'utiliser les clés (aléatoires) générées par mod_ssl au
+démarrage du serveur.</p>
+<p>Le fichier doit contenir 48 octets de données aléatoires créées de
+préférence par une source à haute entropie. Sur un système de type UNIX,
+il est possible de créer le fichier contenant la clé de la manière
suivante :</p>
<div class="example"><p><code>
dd if=/dev/random of=/chemin/vers/fichier.tkey bs=1 count=48
</code></p></div>
-<p>Ces clés doivent être renouvelées fréquemment, car il s'agit du seul
+<p>Ces clés doivent être renouvelées fréquemment, car il s'agit du seul
moyen d'invalider un ticket de session existant - OpenSSL ne permet pas
-actuellement de spécifier une limite à la durée de
-vie des tickets. Une nouvelle clé de ticket ne peut être utilisée qu'après
-redémarrage du serveur web. Tous les tickets de session existants
-deviennent invalides après le redémarrage du serveur.</p>
+actuellement de spécifier une limite à la durée de
+vie des tickets. Une nouvelle clé de ticket ne peut être utilisée qu'après
+redémarrage du serveur web. Tous les tickets de session existants
+deviennent invalides après le redémarrage du serveur.</p>
<div class="warning">
-<p>Ce fichier contient des données sensibles et doit donc être protégé
-par des permissions similaires à celles du fichier spécifié par la
+<p>Ce fichier contient des données sensibles et doit donc être protégé
+par des permissions similaires à celles du fichier spécifié par la
directive <code class="directive"><a href="#sslcertificatekeyfile">SSLCertificateKeyFile</a></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="sslsessiontickets" id="sslsessiontickets">Directive</a> <a name="SSLSessionTickets" id="SSLSessionTickets">SSLSessionTickets</a><a title="Lien permanent" href="#sslsessiontickets" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive les tickets de session TLS</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive les tickets de session TLS</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLSessionTickets on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLSessionTickets on</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLSessionTickets on</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.11 du serveur HTTP
-Apache, sous réserve d'utiliser OpenSSL version 0.9.8f ou supérieure.
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.11 du serveur HTTP
+Apache, sous réserve d'utiliser OpenSSL version 0.9.8f ou supérieure.
</td></tr>
</table>
-<p>Cette directive permet d'activer ou de désactiver l'utilisation des
+<p>Cette directive permet d'activer ou de désactiver l'utilisation des
tickets de session TLS (RFC 5077).</p>
<div class="warning">
-<p>Les tickets de session TLS sont activés par défaut. Les utiliser sans
-redémarrer le serveur selon une périodicité appropriée (par exemple
-quotidiennement) compromet cependant le niveau de confidentialité.</p>
+<p>Les tickets de session TLS sont activés par défaut. Les utiliser sans
+redémarrer le serveur selon une périodicité appropriée (par exemple
+quotidiennement) compromet cependant le niveau de confidentialité.</p>
</div>
</div>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.4 du serveur HTTP
-Apache, sous réserve d'utiliser OpenSSL version 1.0.1 ou supérieure.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.4 du serveur HTTP
+Apache, sous réserve d'utiliser OpenSSL version 1.0.1 ou supérieure.</td></tr>
</table>
<p>
-Cette directive permet de définir la source de randomisation à utiliser
+Cette directive permet de définir la source de randomisation à utiliser
pour les utilisateurs SRP inconnus, ceci afin de combler les manques en
-cas d'existence d'un tel utilisateur. Elle définit une chaîne secrète. Si
-cette directive n'est pas définie, Apache renverra une alerte
+cas d'existence d'un tel utilisateur. Elle définit une chaîne secrète. Si
+cette directive n'est pas définie, Apache renverra une alerte
UNKNOWN_PSK_IDENTITY aux clients qui fournissent un nom d'utilisateur
inconnu.
</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslsrpverifierfile" id="sslsrpverifierfile">Directive</a> <a name="SSLSRPVerifierFile" id="SSLSRPVerifierFile">SSLSRPVerifierFile</a><a title="Lien permanent" href="#sslsrpverifierfile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier de vérification SRP</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier de vérification SRP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLSRPVerifierFile <var>file-path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.4 du serveur HTTP
-Apache, sous réserve d'utiliser OpenSSL version 1.0.1 ou supérieure.</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.4.4 du serveur HTTP
+Apache, sous réserve d'utiliser OpenSSL version 1.0.1 ou supérieure.</td></tr>
</table>
<p>
-Cette directive permet d'activer TLS-SRP et de définir le chemin du
-fichier de vérification OpenSSL SRP (Mot de passe distant sécurisé)
-contenant les noms d'utilisateurs TLS-SRP, les vérificateurs, les
-"grains de sel" (salts), ainsi que les paramètres de groupe.</p>
+Cette directive permet d'activer TLS-SRP et de définir le chemin du
+fichier de vérification OpenSSL SRP (Mot de passe distant sécurisé)
+contenant les noms d'utilisateurs TLS-SRP, les vérificateurs, les
+"grains de sel" (salts), ainsi que les paramètres de groupe.</p>
<div class="example"><h3>Exemple</h3><p><code>
SSLSRPVerifierFile "/path/to/file.srpv"
</code></p></div>
<p>
-Le fichier de vérification peut être créé via l'utilitaire en ligne de
+Le fichier de vérification peut être créé via l'utilitaire en ligne de
commande <code>openssl</code> :</p>
-<div class="example"><h3>Création du fichier de vérification SRP</h3><p><code>
+<div class="example"><h3>Création du fichier de vérification SRP</h3><p><code>
openssl srp -srpvfile passwd.srpv -userinfo "some info" -add username
</code></p></div>
-<p>La valeur affectée au paramètre optionnel <code>-userinfo</code> est
-enregistrée dans la variable d'environnement
+<p>La valeur affectée au paramètre optionnel <code>-userinfo</code> est
+enregistrée dans la variable d'environnement
<code>SSL_SRP_USERINFO</code>.</p>
<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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
</table>
-<p>Si <code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> est à "on",
-cette directive permet de configurer le cache destiné à stocker les
-réponses OCSP incluses dans la négociation TLS. La configuration d'un
+<p>Si <code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> est à "on",
+cette directive permet de configurer le cache destiné à stocker les
+réponses OCSP incluses dans la négociation TLS. La configuration d'un
cache est obligatoire pour pouvoir utiliser l'agrafage OCSP. A
l'exception de <code>none</code> et <code>nonenotnull</code>, cette
-directive supporte les mêmes types de stockage que la directive
+directive supporte les mêmes types de stockage que la directive
<code class="directive"><a href="#sslsessioncache">SSLSessionCache</a></code>.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslstaplingerrorcachetimeout" id="sslstaplingerrorcachetimeout">Directive</a> <a name="SSLStaplingErrorCacheTimeout" id="SSLStaplingErrorCacheTimeout">SSLStaplingErrorCacheTimeout</a><a title="Lien permanent" href="#sslstaplingerrorcachetimeout" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de vie des réponses invalides dans le cache pour
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de vie des réponses invalides dans le cache pour
agrafage OCSP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingErrorCacheTimeout <em>secondes</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingErrorCacheTimeout 600</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingErrorCacheTimeout 600</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
</table>
-<p>Cette directive permet de définir la durée de vie des réponses
-<em>invalides</em> dans le cache pour agrafage OCSP configuré via la
+<p>Cette directive permet de définir la durée de vie des réponses
+<em>invalides</em> dans le cache pour agrafage OCSP configuré via la
directive <code class="directive"><a href="#sslstaplingcache">SSLStaplingCache</a></code>. Pour
-définir la durée de vie des réponses valides, voir la directive
+définir la durée de vie des réponses valides, voir la directive
<code class="directive"><a href="#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout</a></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="sslstaplingfaketrylater" id="sslstaplingfaketrylater">Directive</a> <a name="SSLStaplingFakeTryLater" id="SSLStaplingFakeTryLater">SSLStaplingFakeTryLater</a><a title="Lien permanent" href="#sslstaplingfaketrylater" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Génère une réponse "tryLater" pour les requêtes OCSP échouées</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Génère une réponse "tryLater" pour les requêtes OCSP échouées</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingFakeTryLater on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingFakeTryLater on</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingFakeTryLater on</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
</table>
-<p>Lorsque cette directive est activée, et si une requête vers un
-serveur OCSP à des fins d'inclusion dans une négociation TLS échoue,
-mod_ssl va générer une réponse "tryLater" pour le client (<code class="directive"><a href="#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></code> doit être
-activée).</p>
+<p>Lorsque cette directive est activée, et si une requête vers un
+serveur OCSP à des fins d'inclusion dans une négociation TLS échoue,
+mod_ssl va générer une réponse "tryLater" pour le client (<code class="directive"><a href="#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></code> doit être
+activée).</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="sslstaplingforceurl" id="sslstaplingforceurl">Directive</a> <a name="SSLStaplingForceURL" id="SSLStaplingForceURL">SSLStaplingForceURL</a><a title="Lien permanent" href="#sslstaplingforceurl" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Remplace l'URI du serveur OCSP spécifié dans l'extension
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Remplace l'URI du serveur OCSP spécifié dans l'extension
AIA du certificat</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingForceURL <em>uri</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
</table>
<p>Cette directive permet de remplacer l'URI du serveur OCSP extraite de
-l'extension authorityInfoAccess (AIA) du certificat. Elle peut s'avérer
+l'extension authorityInfoAccess (AIA) du certificat. Elle peut s'avérer
utile lorsqu'on passe par un mandataire</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="sslstaplingrespondertimeout" id="sslstaplingrespondertimeout">Directive</a> <a name="SSLStaplingResponderTimeout" id="SSLStaplingResponderTimeout">SSLStaplingResponderTimeout</a><a title="Lien permanent" href="#sslstaplingrespondertimeout" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Temps d'attente maximum pour les requêtes vers les serveurs
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Temps d'attente maximum pour les requêtes vers les serveurs
OCSP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingResponderTimeout <em>secondes</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingResponderTimeout 10</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingResponderTimeout 10</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
</table>
-<p>Cette directive permet de définir le temps d'attente maximum lorsque
-mod_ssl envoie une requête vers un serveur OCSP afin d'obtenir une
-réponse destinée à être incluse dans les négociations TLS avec les
+<p>Cette directive permet de définir le temps d'attente maximum lorsque
+mod_ssl envoie une requête vers un serveur OCSP afin d'obtenir une
+réponse destinée à être incluse dans les négociations TLS avec les
clients (<code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> doit
-avoir été activée au préalable).</p>
+avoir été activée au préalable).</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="sslstaplingresponsemaxage" id="sslstaplingresponsemaxage">Directive</a> <a name="SSLStaplingResponseMaxAge" id="SSLStaplingResponseMaxAge">SSLStaplingResponseMaxAge</a><a title="Lien permanent" href="#sslstaplingresponsemaxage" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Age maximum autorisé des réponses OCSP incluses dans la
-négociation TLS</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Age maximum autorisé des réponses OCSP incluses dans la
+négociation TLS</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingResponseMaxAge <em>secondes</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingResponseMaxAge -1</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingResponseMaxAge -1</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
</table>
-<p>Cette directive permet de définir l'âge maximum autorisé
-("fraîcheur") des réponses OCSP incluses dans la négociation TLS
+<p>Cette directive permet de définir l'âge maximum autorisé
+("fraîcheur") des réponses OCSP incluses dans la négociation TLS
(<code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> doit
-avoir été activée au préalable). La valeur par défaut (<code>-1</code>)
-ne définit aucun âge maximum, ce qui signifie que les réponses OCSP sont
-considérées comme valides à partir du moment où le contenu de leur champ
+avoir été activée au préalable). La valeur par défaut (<code>-1</code>)
+ne définit aucun âge maximum, ce qui signifie que les réponses OCSP sont
+considérées comme valides à partir du moment où le contenu de leur champ
<code>nextUpdate</code> se trouve dans le futur.</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="sslstaplingresponsetimeskew" id="sslstaplingresponsetimeskew">Directive</a> <a name="SSLStaplingResponseTimeSkew" id="SSLStaplingResponseTimeSkew">SSLStaplingResponseTimeSkew</a><a title="Lien permanent" href="#sslstaplingresponsetimeskew" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de vie maximale autorisée des réponses OCSP incluses dans la
-négociation TLS</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de vie maximale autorisée des réponses OCSP incluses dans la
+négociation TLS</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingResponseTimeSkew <em>secondes</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingResponseTimeSkew 300</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingResponseTimeSkew 300</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
</table>
-<p>Cette directive permet de spécifier l'intervalle de temps maximum que
-mod_ssl va calculer en faisant la différence entre les contenus des
-champs <code>nextUpdate</code> et <code>thisUpdate</code> des réponses
-OCSP incluses dans la négociation TLS. Pour pouvoir utiliser cette
+<p>Cette directive permet de spécifier l'intervalle de temps maximum que
+mod_ssl va calculer en faisant la différence entre les contenus des
+champs <code>nextUpdate</code> et <code>thisUpdate</code> des réponses
+OCSP incluses dans la négociation TLS. Pour pouvoir utiliser cette
directive, <code class="directive"><a href="#sslusestapling">SSLUseStapling</a></code> doit
-être à "on".</p>
+être à "on".</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="sslstaplingreturnrespondererrors" id="sslstaplingreturnrespondererrors">Directive</a> <a name="SSLStaplingReturnResponderErrors" id="SSLStaplingReturnResponderErrors">SSLStaplingReturnResponderErrors</a><a title="Lien permanent" href="#sslstaplingreturnrespondererrors" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Transmet au client les erreurs survenues lors des requêtes
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Transmet au client les erreurs survenues lors des requêtes
OCSP</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingReturnResponderErrors on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingReturnResponderErrors on</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingReturnResponderErrors on</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
</table>
-<p>Lorsque cette directive est activée, mod_ssl va transmettre au client les
-réponses concernant les requêtes OCSP
-échouées (comme les réponses avec un état autre que
-"successful", les réponses avec un statut de certificat autre que
-"good", les réponses
-périmées, etc...). Lorsqu'elle est à
-<code>off</code>, seules les réponses indiquant un statut de certificat
+<p>Lorsque cette directive est activée, mod_ssl va transmettre au client les
+réponses concernant les requêtes OCSP
+échouées (comme les réponses avec un état autre que
+"successful", les réponses avec un statut de certificat autre que
+"good", les réponses
+périmées, etc...). Lorsqu'elle est à
+<code>off</code>, seules les réponses indiquant un statut de certificat
"good" seront incluses dans les
-négociations TLS avec les clients.</p>
+négociations TLS avec les clients.</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="sslstaplingstandardcachetimeout" id="sslstaplingstandardcachetimeout">Directive</a> <a name="SSLStaplingStandardCacheTimeout" id="SSLStaplingStandardCacheTimeout">SSLStaplingStandardCacheTimeout</a><a title="Lien permanent" href="#sslstaplingstandardcachetimeout" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de vie des réponses OCSP dans le cache</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée de vie des réponses OCSP dans le cache</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStaplingStandardCacheTimeout <em>secondes</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingStandardCacheTimeout 3600</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStaplingStandardCacheTimeout 3600</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
</table>
-<p>Cette directive permet de définir la durée de vie des réponses OCSP
-dans le cache configuré via la directive <code class="directive"><a href="#sslstaplingcache">SSLStaplingCache</a></code>. Elle ne s'applique qu'aux
-réponse <em>valides</em>, alors que la directive <code class="directive"><a href="#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></code> s'applique aux
-réponses invalides ou non disponibles.
+<p>Cette directive permet de définir la durée de vie des réponses OCSP
+dans le cache configuré via la directive <code class="directive"><a href="#sslstaplingcache">SSLStaplingCache</a></code>. Elle ne s'applique qu'aux
+réponse <em>valides</em>, alors que la directive <code class="directive"><a href="#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout</a></code> s'applique aux
+réponses invalides ou non disponibles.
</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="sslstrictsnivhostcheck" id="sslstrictsnivhostcheck">Directive</a> <a name="SSLStrictSNIVHostCheck" id="SSLStrictSNIVHostCheck">SSLStrictSNIVHostCheck</a><a title="Lien permanent" href="#sslstrictsnivhostcheck" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle de l'accès des clients non-SNI à un serveur virtuel à
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle de l'accès des clients non-SNI à un serveur virtuel à
base de nom.
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLStrictSNIVHostCheck on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStrictSNIVHostCheck off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLStrictSNIVHostCheck off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
</table>
<p>
-Cette directive permet de contrôler l'accès des clients non-SNI à un serveur
-virtuel à base de nom. Si elle est définie à <code>on</code> dans le
-serveur virtuel à base de nom par défaut, les
-clients non-SNI ne seront autorisés à accéder à aucun serveur virtuel
-appartenant à cette combinaison IP/port. Par
-contre, si elle est définie à <code>on</code> dans un serveur virtuel
-quelconque, les clients non-SNI ne se verront interdire l'accès qu'à ce
+Cette directive permet de contrôler l'accès des clients non-SNI à un serveur
+virtuel à base de nom. Si elle est définie à <code>on</code> dans le
+serveur virtuel à base de nom par défaut, les
+clients non-SNI ne seront autorisés à accéder à aucun serveur virtuel
+appartenant à cette combinaison IP/port. Par
+contre, si elle est définie à <code>on</code> dans un serveur virtuel
+quelconque, les clients non-SNI ne se verront interdire l'accès qu'à ce
serveur.
</p>
<div class="warning"><p>
-Cette option n'est disponible que si httpd a été compilé avec une
+Cette option n'est disponible que si httpd a été compilé avec une
version d'OpenSSL supportant SNI.
</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="sslusername" id="sslusername">Directive</a> <a name="SSLUserName" id="SSLUserName">SSLUserName</a><a title="Lien permanent" href="#sslusername" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de la variable servant à déterminer le nom de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de la variable servant à déterminer le nom de
l'utilisateur</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLUserName <em>nom-var</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</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_ssl</td></tr>
</table>
<p>
-Cette variable permet de définir le champ "user" de l'objet de la
-requête Apache. Ce champ est utilisé par des modules de plus bas niveau
-pour identifier l'utilisateur avec une chaîne de caractères. En
+Cette variable permet de définir le champ "user" de l'objet de la
+requête Apache. Ce champ est utilisé par des modules de plus bas niveau
+pour identifier l'utilisateur avec une chaîne de caractères. En
particulier, l'utilisation de cette directive peut provoquer la
-définition de la variable d'environnement <code>REMOTE_USER</code>.
-La valeur de l'argument <em>nom-var</em> peut correspondre à toute <a href="#envvars">variable d'environnement SSL</a>.</p>
+définition de la variable d'environnement <code>REMOTE_USER</code>.
+La valeur de l'argument <em>nom-var</em> peut correspondre à toute <a href="#envvars">variable d'environnement SSL</a>.</p>
-<p>Lorsque l'option <code>FakeBasicAuth</code> est activée, cette
-directive contrôle la valeur du nom d'utilisateur contenue dans
-l'en-tête d'authentification de base (voir <a href="#ssloptions">SSLOptions</a>).</p>
+<p>Lorsque l'option <code>FakeBasicAuth</code> est activée, cette
+directive contrôle la valeur du nom d'utilisateur contenue dans
+l'en-tête d'authentification de base (voir <a href="#ssloptions">SSLOptions</a>).</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLUserName SSL_CLIENT_S_DN_CN</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslusestapling" id="sslusestapling">Directive</a> <a name="SSLUseStapling" id="SSLUseStapling">SSLUseStapling</a><a title="Lien permanent" href="#sslusestapling" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'ajout des réponses OCSP à la négociation TLS</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'ajout des réponses OCSP à la négociation TLS</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLUseStapling on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLUseStapling off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLUseStapling off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible si on utilise OpenSSL version 0.9.8h ou supérieure</td></tr>
</table>
<p>Cette directive permet d'activer l'"Agrafage OCSP" (OCSP stapling)
-selon la définition de l'extension TLS "Certificate Status Request"
-fournie dans la RFC 6066. Si elle est activée et si le client le
-demande, mod_ssl va inclure une réponse OCSP à propos de son propre
-certificat dans la négociation TLS. Pour pouvoir activer l'Agrafage
-OCSP, il est nécessaire de configurer un <code class="directive"><a href="#sslstaplingcache">SSLStaplingCache</a></code>.</p>
-
-<p>L'agrafage OCSP dispense le client de requérir le serveur OCSP
-directement ; il faut cependant noter que selon les spécifications de la
-RFC 6066, la réponse <code>CertificateStatus</code> du serveur ne peut
-inclure une réponse OCSP que pour un seul certificat. Pour les
-certificats de serveur comportant des certificats de CA intermédiaires
-dans leur chaîne (c'est un cas typique de nos jours), l'implémentation
+selon la définition de l'extension TLS "Certificate Status Request"
+fournie dans la RFC 6066. Si elle est activée et si le client le
+demande, mod_ssl va inclure une réponse OCSP à propos de son propre
+certificat dans la négociation TLS. Pour pouvoir activer l'Agrafage
+OCSP, il est nécessaire de configurer un <code class="directive"><a href="#sslstaplingcache">SSLStaplingCache</a></code>.</p>
+
+<p>L'agrafage OCSP dispense le client de requérir le serveur OCSP
+directement ; il faut cependant noter que selon les spécifications de la
+RFC 6066, la réponse <code>CertificateStatus</code> du serveur ne peut
+inclure une réponse OCSP que pour un seul certificat. Pour les
+certificats de serveur comportant des certificats de CA intermédiaires
+dans leur chaîne (c'est un cas typique de nos jours), l'implémentation
actuelle de l'agrafage OCSP n'atteint que partiellement l'objectif d'
-"économie en questions/réponse et en ressources". Pour plus de détails,
+"économie en questions/réponse et en ressources". Pour plus de détails,
voir la <a href="http://www.ietf.org/rfc/rfc6961.txt">RFC 6961</a> (TLS
Multiple Certificate Status Extension).
</p>
-<p>Lorsque l'agrafage OCSP est activé, le mutex
-<code>ssl-stapling</code> contrôle l'accès au cache de l'agrafage OCSP
-afin de prévenir toute corruption, et le mutex
-<code>sss-stapling-refresh</code> contrôle le raffraîchissement des
-réponses OCSP. Ces mutex peuvent être configurés via la directive
+<p>Lorsque l'agrafage OCSP est activé, le mutex
+<code>ssl-stapling</code> contrôle l'accès au cache de l'agrafage OCSP
+afin de prévenir toute corruption, et le mutex
+<code>sss-stapling-refresh</code> contrôle le raffraîchissement des
+réponses OCSP. Ces mutex peuvent être configurés via la directive
<code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code>.
</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="sslverifyclient" id="sslverifyclient">Directive</a> <a name="SSLVerifyClient" id="SSLVerifyClient">SSLVerifyClient</a><a title="Lien permanent" href="#sslverifyclient" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Niveau de vérification du certificat client</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Niveau de vérification du certificat client</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLVerifyClient <em>niveau</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLVerifyClient none</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#Default">Défaut:</a></th><td><code>SSLVerifyClient none</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">AllowOverride:</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_ssl</td></tr>
</table>
<p>
-Cette directive permet de définir le niveau de vérification du
+Cette directive permet de définir le niveau de vérification du
certificat pour l'authentification du client. Notez que cette directive
-peut être utilisée à la fois dans les contextes du serveur principal et
-du répertoire. Dans le contexte du serveur principal, elle s'applique au
-processus d'authentification du client utilisé au cours de la
-négociation SSL standard lors de l'établissement d'une connexion. Dans
-un contexte de répertoire, elle force une renégociation SSL avec le
-niveau de vérification du client spécifié, après la lecture d'une
-requête HTTP, mais avant l'envoi de la réponse HTTP.</p>
+peut être utilisée à la fois dans les contextes du serveur principal et
+du répertoire. Dans le contexte du serveur principal, elle s'applique au
+processus d'authentification du client utilisé au cours de la
+négociation SSL standard lors de l'établissement d'une connexion. Dans
+un contexte de répertoire, elle force une renégociation SSL avec le
+niveau de vérification du client spécifié, après la lecture d'une
+requête HTTP, mais avant l'envoi de la réponse HTTP.</p>
<p>
Les valeurs de <em>niveau</em> disponibles sont les suivantes :</p>
<ul>
<li><strong>none</strong>:
aucun certificat client n'est requis</li>
<li><strong>optional</strong>:
- le client <em>peut</em> présenter un certificat valide</li>
+ le client <em>peut</em> présenter un certificat valide</li>
<li><strong>require</strong>:
- le client <em>doit</em> présenter un certificat valide</li>
+ le client <em>doit</em> présenter un certificat valide</li>
<li><strong>optional_no_ca</strong>:
- le client peut présenter un certificat valide, mais il n'est pas
- nécessaire que ce dernier soit vérifiable (avec succès). Cette option ne
- peut pas être utilisée lors de l'authentification du client.</li>
+ le client peut présenter un certificat valide, mais il n'est pas
+ nécessaire que ce dernier soit vérifiable (avec succès). Cette option ne
+ peut pas être utilisée lors de l'authentification du client.</li>
</ul>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLVerifyClient require</pre>
</div>
<div class="directive-section"><h2><a name="sslverifydepth" id="sslverifydepth">Directive</a> <a name="SSLVerifyDepth" id="SSLVerifyDepth">SSLVerifyDepth</a><a title="Lien permanent" href="#sslverifydepth" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Profondeur maximale des certificats de CA pour la
-vérification des certificats clients</td></tr>
+vérification des certificats clients</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SSLVerifyDepth <em>nombre</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SSLVerifyDepth 1</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#Default">Défaut:</a></th><td><code>SSLVerifyDepth 1</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">AllowOverride:</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_ssl</td></tr>
</table>
<p>
-Cette directive permet de spécifier la profondeur maximale à laquelle
-mod_ssl va effectuer sa vérification avant de décider que le client ne
-possède pas de certificat valide. Notez que cette directive peut être
-utilisée à la fois dans les contextes du serveur principal et de
-répertoire. Dans le contexte du serveur principal, elle s'applique au
-processus d'authentification du client utilisé au cours de la
-négociation SSL standard lors de l'établissement d'une connexion. Dans
-un contexte de répertoire, elle force une renégociation SSL avec la
-profondeur vérification du client spécifiée, après la lecture d'une
-requête HTTP, mais avant l'envoi de la réponse HTTP.</p>
+Cette directive permet de spécifier la profondeur maximale à laquelle
+mod_ssl va effectuer sa vérification avant de décider que le client ne
+possède pas de certificat valide. Notez que cette directive peut être
+utilisée à la fois dans les contextes du serveur principal et de
+répertoire. Dans le contexte du serveur principal, elle s'applique au
+processus d'authentification du client utilisé au cours de la
+négociation SSL standard lors de l'établissement d'une connexion. Dans
+un contexte de répertoire, elle force une renégociation SSL avec la
+profondeur vérification du client spécifiée, après la lecture d'une
+requête HTTP, mais avant l'envoi de la réponse HTTP.</p>
<p>
La profondeur correspond au nombre maximum de fournisseurs de
-certificats intermédiaires, c'est à dire le nombre maximum de
-certificats de CA que l'on est autorisé à suivre lors de la vérification
+certificats intermédiaires, c'est à dire le nombre maximum de
+certificats de CA que l'on est autorisé à suivre lors de la vérification
du certificat du client. Une profondeur de 0 signifie que seuls les
-certificats clients auto-signés sont acceptés ; la profondeur par défaut
-de 1 signifie que le certificat client peut être soit auto-signé, soit
-signé par une CA connue directement du serveur (c'est à dire que le
-certificat de la CA doit être référencé par la directive <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code>), etc...</p>
+certificats clients auto-signés sont acceptés ; la profondeur par défaut
+de 1 signifie que le certificat client peut être soit auto-signé, soit
+signé par une CA connue directement du serveur (c'est à dire que le
+certificat de la CA doit être référencé par la directive <code class="directive"><a href="#sslcacertificatepath">SSLCACertificatePath</a></code>), etc...</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLVerifyDepth 10</pre>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ssl.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_ssl.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_ssl.html" title="Français"> fr </a></p>
+<a href="../es/mod/mod_ssl.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_ssl.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.es.xsl"?>
-<!-- English Revision: 1817381:1834693 (outdated) -->
+<!-- English Revision: 1817381:1835614 (outdated) -->
<!-- Spanish Translation: Daniel Ferradal <dferradal@apache.org> -->
<!--
<variants>
<variant>en</variant>
<variant outdated="yes">es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
<div id="preamble"><h1>Module Apache mod_ssl_ct</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ssl_ct.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_ssl_ct.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_ssl_ct.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Implémentation de la transparence des certificats
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Implémentation de la transparence des certificats
(Certificat Transparency - RFC 6962)
</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>ssl_ct_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ssl_ct.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>ssl_ct_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ssl_ct.c</td></tr></table>
<h3>Sommaire</h3>
-<p>Ce module implémente la transparence des certificats en conjonction
+<p>Ce module implémente la transparence des certificats en conjonction
avec <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> et les outils en ligne de commande du
projet open source <a href="https://code.google.com/p/certificate-transparency/">certificate-transparency</a>.
-Le but de la transparence des certificats consiste à révéler
-l'utilisation de certificats de confiance délivrés par
-erreur ou dans un but malintentionné. Vous trouverez plus de détails à
+Le but de la transparence des certificats consiste à révéler
+l'utilisation de certificats de confiance délivrés par
+erreur ou dans un but malintentionné. Vous trouverez plus de détails à
propos de la transparence des certificats ici : <a href="http://www.certificate-transparency.org/">http://www.certificate-transparency.org/</a>.
-Voici la signification des termes utilisés dans cette documentation :</p>
+Voici la signification des termes utilisés dans cette documentation :</p>
<dl>
<dt>Certificate log</dt>
- <dd>Un Certificate log, auquel on fera référence avec le simple
- terme <q>log</q> tout au long de ce document, est un service réseau
+ <dd>Un Certificate log, auquel on fera référence avec le simple
+ terme <q>log</q> tout au long de ce document, est un service réseau
auquel les certificats de serveurs sont soumis. Un agent
- utilisateur peut vérifier que le certificat d'un serveur auquel il
- accède a bien été soumis à un log auquel il fait confiance, et que le log
- lui-même n'a pas rencontré de problème avec ce certificat.</dd>
+ utilisateur peut vérifier que le certificat d'un serveur auquel il
+ accède a bien été soumis à un log auquel il fait confiance, et que le log
+ lui-même n'a pas rencontré de problème avec ce certificat.</dd>
- <dt>Horodatage signé du certificat (Signed Certificate Timestamp - SCT)</dt>
+ <dt>Horodatage signé du certificat (Signed Certificate Timestamp - SCT)</dt>
<dd>Il s'agit d'une information en provenance d'un log indiquant qu'il
- a validé un certificat. Cet horodatage est signé avec la clé publique
- du log. Un ou plusieurs SCTs sont passés au client durant la phase de
- négociation de la connexion, soit dans le ServerHello (extension TLS),
- soit dans l'extension du certificat, soit dans une réponse OCSP
+ a validé un certificat. Cet horodatage est signé avec la clé publique
+ du log. Un ou plusieurs SCTs sont passés au client durant la phase de
+ négociation de la connexion, soit dans le ServerHello (extension TLS),
+ soit dans l'extension du certificat, soit dans une réponse OCSP
jointe.</dd>
</dl>
-<p>Cette implémentation pour Apache httpd fournit les fonctionnalités
+<p>Cette implémentation pour Apache httpd fournit les fonctionnalités
suivantes pout les serveurs et mandataires TLS :</p>
<ul>
- <li>Les SCTs peuvent être extraits automatiquement des logs, et en
- conjonction avec tout SCT défini statiquement, envoyés aux clients
- qui les supportent durant la phase ServerHello de la négociation de la
+ <li>Les SCTs peuvent être extraits automatiquement des logs, et en
+ conjonction avec tout SCT défini statiquement, envoyés aux clients
+ qui les supportent durant la phase ServerHello de la négociation de la
connexion.</li>
<li>Le serveur mandataire peut recevoir les SCTs en provenance du
serveur original au cours de la phase ServerHello sous la forme d'une
- extension de certificat, et/ou au sein des réponses OCSP agrafées ;
- tout SCT reçu peut être validé partiellement en ligne, et
- éventuellement mis en file d'attente pour un examen plus approfondi
+ extension de certificat, et/ou au sein des réponses OCSP agrafées ;
+ tout SCT reçu peut être validé partiellement en ligne, et
+ éventuellement mis en file d'attente pour un examen plus approfondi
hors ligne.</li>
- <li>Le serveur mandataire peut être configuré de façon à refuser la
+ <li>Le serveur mandataire peut être configuré de façon à refuser la
communication avec un serveur original qui ne fournit pas de SCT
- pouvant âtre validé en ligne.</li>
+ pouvant âtre validé en ligne.</li>
</ul>
-<p>La configuration des logs peut être définie statiquement au niveau de
-la configuration du serveur web, ou enregistrée dans une base de données
-SQLite3. Dans ce dernier cas, <code class="module"><a href="../mod/mod_ssl_ct.html">mod_ssl_ct</a></code> rechargera à
-intervalles réguliers la base de données, de façon à ce que tout
+<p>La configuration des logs peut être définie statiquement au niveau de
+la configuration du serveur web, ou enregistrée dans une base de données
+SQLite3. Dans ce dernier cas, <code class="module"><a href="../mod/mod_ssl_ct.html">mod_ssl_ct</a></code> rechargera à
+intervalles réguliers la base de données, de façon à ce que tout
changement dans la configuration de la maintenance et de la propagation
-des logs pour un site spécifique ne nécessite pas de redémarrer httpd.</p>
+des logs pour un site spécifique ne nécessite pas de redémarrer httpd.</p>
-<div class="note">Ce module en est au stade expérimental pour les raisons suivantes
+<div class="note">Ce module en est au stade expérimental pour les raisons suivantes
:
<ul>
<li>Tests et retours d'information insuffisants</li>
<li>Repose sur une version non stable (version 1.0.2, Beta 3 ou
- supérieure) d'OpenSSL pour les
- opérations de base</li>
- <li>Implémentation de la <a href="#audit">fonctionnalité d'audit hors
- ligne</a> incomplète</li>
+ supérieure) d'OpenSSL pour les
+ opérations de base</li>
+ <li>Implémentation de la <a href="#audit">fonctionnalité d'audit hors
+ ligne</a> incomplète</li>
</ul>
-<p>Les mécanismes de configuration, le format des données enregistrées
-pour l'audit hors ligne, ainsi que d'autres caractéristiques sont
-appelés à évoluer en fonction des tests et retours d'informations à
+<p>Les mécanismes de configuration, le format des données enregistrées
+pour l'audit hors ligne, ainsi que d'autres caractéristiques sont
+appelés à évoluer en fonction des tests et retours d'informations à
venir.</p>
</div>
</div>
<li><img alt="" src="../images/down.gif" /> <a href="#proxy">Vue d'ensemble du fonctionnement au niveau du serveur
mandataire</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#logconf">Configuration du log</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#static">Stockage des SCTs sous une forme compréhensible pour mod_ssl_ct</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#logging">Journalisation des repères de temps des certificats (CT) dans
- le journal des accès</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#static">Stockage des SCTs sous une forme compréhensible pour mod_ssl_ct</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#logging">Journalisation des repères de temps des certificats (CT) dans
+ le journal des accès</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#audit">Audit hors ligne pour mandataire</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#ctstaticlogconfig">CTStaticLogConfig</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ctstaticscts">CTStaticSCTs</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ssl_ct">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ssl_ct">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ssl_ct">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ssl_ct">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<p>Les serveurs doivent pouvoir envoyer les SCTs aux clients. Les SCTs
- seront envoyés sous la forme d'une extension de certificat ou au sein
- d'une réponse OCSP agrafée sans logique préprogrammée. Ce module gère
- l'envoi des SCTs configurés par l'administrateur ou en provenance des
- logs définis.</p>
+ seront envoyés sous la forme d'une extension de certificat ou au sein
+ d'une réponse OCSP agrafée sans logique préprogrammée. Ce module gère
+ l'envoi des SCTs configurés par l'administrateur ou en provenance des
+ logs définis.</p>
- <p>Le nombre de SCTs envoyés au cours de la phase ServerHello (c'est à
+ <p>Le nombre de SCTs envoyés au cours de la phase ServerHello (c'est à
dire les SCTs autres que ceux inclus dans une extension de certificat
- ou une réponse OCSP agrafée) peut être limité via la directive
+ ou une réponse OCSP agrafée) peut être limité via la directive
<code class="directive"><a href="#ctserverhellosctlimit">CTServerHelloSCTLimit</a></code>.</p>
<p>Pour chaque certificat de serveur, un processus maintient une liste
- de SCTs à envoyer au cours de la phase ServerHello ; cette liste est
- créée à partir des SCTs configurés statiquement, mais aussi à partir
- de ceux reçus depuis les logs. Les logs marqués comme suspects ou
- arrivés à péremption seront ignorés. A intervalles réguliers, le
- processus va soumettre les certificats à un log selon les besoins
- (suite à un changement de configuration du log ou de sa durée de vie),
- et reconstruire la concaténation des SCTs.</p>
-
- <p>La liste des SCTs pour un certificat de serveur sera envoyée au
+ de SCTs à envoyer au cours de la phase ServerHello ; cette liste est
+ créée à partir des SCTs configurés statiquement, mais aussi à partir
+ de ceux reçus depuis les logs. Les logs marqués comme suspects ou
+ arrivés à péremption seront ignorés. A intervalles réguliers, le
+ processus va soumettre les certificats à un log selon les besoins
+ (suite à un changement de configuration du log ou de sa durée de vie),
+ et reconstruire la concaténation des SCTs.</p>
+
+ <p>La liste des SCTs pour un certificat de serveur sera envoyée au
cours de la phase ClientHello, lorsque ce certificat de serveur
- particulier est utilisé, à tout client qui fait savoir qu'il supporte
- cette fonctionnalité.</p>
+ particulier est utilisé, à tout client qui fait savoir qu'il supporte
+ cette fonctionnalité.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<p>Le serveur mandataire indique qu'il supporte la Transparence des
Certificats au cours de la phase ClientHello en incluant l'extension
- <em>signed_certificate_timestamp</em>. Il peut reconnaître les SCTs
- reçus au cours de la phase ServerHello dans une extension du
- certificat du serveur original, ou au sein d'une réponse OCSP agrafée.</p>
+ <em>signed_certificate_timestamp</em>. Il peut reconnaître les SCTs
+ reçus au cours de la phase ServerHello dans une extension du
+ certificat du serveur original, ou au sein d'une réponse OCSP agrafée.</p>
- <p>Une vérification en ligne est effectuée pour tout SCT reçu :</p>
+ <p>Une vérification en ligne est effectuée pour tout SCT reçu :</p>
<ul>
- <li>Le repère de temps de chaque SCT peut être vérifié pour voir
+ <li>Le repère de temps de chaque SCT peut être vérifié pour voir
s'il n'est pas encore valide en le comparant avec l'heure actuelle
- ou tout intervalle de temps valide défini pour le log.</li>
- <li>Dans le cas d'un SCT issu d'un log pour lequel une clé publique
- a été définie, la signature du serveur sera vérifiée.</li>
+ ou tout intervalle de temps valide défini pour le log.</li>
+ <li>Dans le cas d'un SCT issu d'un log pour lequel une clé publique
+ a été définie, la signature du serveur sera vérifiée.</li>
</ul>
- <p>Si la vérification échoue ou renvoie un résultat négatif pour au
- moins un SCT et si la directive <code class="directive"><a href="#ctproxyawareness">CTProxyAwareness</a></code> est définie à
- <em>require</em>, la tentative de connexion est abandonnée.</p>
+ <p>Si la vérification échoue ou renvoie un résultat négatif pour au
+ moins un SCT et si la directive <code class="directive"><a href="#ctproxyawareness">CTProxyAwareness</a></code> est définie à
+ <em>require</em>, la tentative de connexion est abandonnée.</p>
- <p>En outre, si la directive <code class="directive"><a href="#ctauditstorage">CTAuditStorage</a></code> est définie, la chaîne
- de certification du serveur et les SCTs sont stockés pour une
- vérification hors ligne.</p>
+ <p>En outre, si la directive <code class="directive"><a href="#ctauditstorage">CTAuditStorage</a></code> est définie, la chaîne
+ de certification du serveur et les SCTs sont stockés pour une
+ vérification hors ligne.</p>
- <p>A titre d'optimisation, la vérification en ligne et le stockage des
- données en provenance du serveur ne sont effectués que la première
- fois où un processus enfant du serveur web reçoit ces données, ce qui
- permet d'économiser du temps processeur et de l'espace disque. Dans le
+ <p>A titre d'optimisation, la vérification en ligne et le stockage des
+ données en provenance du serveur ne sont effectués que la première
+ fois où un processus enfant du serveur web reçoit ces données, ce qui
+ permet d'économiser du temps processeur et de l'espace disque. Dans le
cas d'une configuration typique de mandataire inverse, seule une
- légère augmentation de la charge processeur sera induite.</p>
+ légère augmentation de la charge processeur sera induite.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<p>Les serveurs et les mandataires utilisent des informations
- différentes en ce qui concerne les logs et leurs traitements. Cette
- <em>configuration des logs</em> peut être effectuée de deux manières :</p>
+ différentes en ce qui concerne les logs et leurs traitements. Cette
+ <em>configuration des logs</em> peut être effectuée de deux manières :</p>
<ul>
- <li>On peut créer une base de données pour configurer le log en
+ <li>On peut créer une base de données pour configurer le log en
utilisant la commande <code class="program"><a href="../programs/ctlogconfig.html">ctlogconfig</a></code> et en
- définissant le chemin vers cette base de données via la directive
+ définissant le chemin vers cette base de données via la directive
<code class="directive"><a href="#ctlogconfig">CTLogConfig</a></code>.
- <code class="module"><a href="../mod/mod_ssl_ct.html">mod_ssl_ct</a></code> relit la base de données à
- intervalles réguliers ; cette méthode de configuration supporte donc
- les mises à jour dynamiques. En outre, la commande d'audit hors
+ <code class="module"><a href="../mod/mod_ssl_ct.html">mod_ssl_ct</a></code> relit la base de données à
+ intervalles réguliers ; cette méthode de configuration supporte donc
+ les mises à jour dynamiques. En outre, la commande d'audit hors
ligne <code>ctauditscts</code> peut utiliser cette configuration pour
trouver l'URL des logs.</li>
<li>On peut aussi configurer les logs statiquement via la directive
<code class="directive"><a href="#ctstaticlogconfig">CTStaticLogConfig</a></code>. Toute
- modification de cette directive nécessitera alors un redémarrage du serveur
- pour être prise en compte, comme pour toutes les autres directives.</li>
+ modification de cette directive nécessitera alors un redémarrage du serveur
+ pour être prise en compte, comme pour toutes les autres directives.</li>
</ul>
- <p>Les éléments de configuration pouvant être définis par l'une ou
- l'autre méthode sont les suivants :</p>
+ <p>Les éléments de configuration pouvant être définis par l'une ou
+ l'autre méthode sont les suivants :</p>
<dl>
<dt>Identifiant du log</dt>
- <dd>L'identifiant du log est le hash SHA-256 de sa clé publique, et
- est inclus dans tout SCT. Ceci permet d'identifier aisément un log
- particulier lorsqu'on définit des plages de repères de temps
+ <dd>L'identifiant du log est le hash SHA-256 de sa clé publique, et
+ est inclus dans tout SCT. Ceci permet d'identifier aisément un log
+ particulier lorsqu'on définit des plages de repères de temps
valides ou certaines autres informations.</dd>
- <dt>Clé publique du log</dt>
- <dd>Un mandataire doit disposer de la clé publique du log afin de
- pouvoir vérifier la signature dans les SCTs en provenance de ce log.
+ <dt>Clé publique du log</dt>
+ <dd>Un mandataire doit disposer de la clé publique du log afin de
+ pouvoir vérifier la signature dans les SCTs en provenance de ce log.
<br />
- Un serveur doit posséder la clé publique du log afin de pouvoir lui
+ Un serveur doit posséder la clé publique du log afin de pouvoir lui
soumettre des certificats.</dd>
- <dt>Configuration générale confiance/méfiance</dt>
- <dd>Il s'agit d'un mécanisme permettant d'instaurer une méfiance ou
- de restaurer une confiance envers un log donné pour certaines
- raisons particulières (y compris la simple interruption des
- interactions avec le log dans les situations où il est hors ligne).</dd>
+ <dt>Configuration générale confiance/méfiance</dt>
+ <dd>Il s'agit d'un mécanisme permettant d'instaurer une méfiance ou
+ de restaurer une confiance envers un log donné pour certaines
+ raisons particulières (y compris la simple interruption des
+ interactions avec le log dans les situations où il est hors ligne).</dd>
- <dt>Repères de temps minima et/ou maxima valides</dt>
- <dd>Lorsqu'ils sont définis, le mandataire pourra vérifier que les
- repères de temps contenus dans les SCTs sont compris dans une plage
+ <dt>Repères de temps minima et/ou maxima valides</dt>
+ <dd>Lorsqu'ils sont définis, le mandataire pourra vérifier que les
+ repères de temps contenus dans les SCTs sont compris dans une plage
valide</dd>
<dt>URL du log</dt>
- <dd>Pour qu'un serveur puisse soumettre des certificats de serveur à
- un log, il doit connaître l'URL de ce dernier (pour son API). Le
+ <dd>Pour qu'un serveur puisse soumettre des certificats de serveur à
+ un log, il doit connaître l'URL de ce dernier (pour son API). Le
serveur soumettra chaque certificat de serveur afin d'obtenir un
- SCT pour chaque log dont l'URL est définie, sauf pour les logs aussi
- marqués comme non dignes de confiance ou si l'heure actuelle ne se
- situe dans aucune des plages de temps valides définies.
+ SCT pour chaque log dont l'URL est définie, sauf pour les logs aussi
+ marqués comme non dignes de confiance ou si l'heure actuelle ne se
+ situe dans aucune des plages de temps valides définies.
<br />
- L'audit hors ligne des SCTs reçus par un mandataire nécessite aussi
- de connaître l'URL du log.</dd>
+ L'audit hors ligne des SCTs reçus par un mandataire nécessite aussi
+ de connaître l'URL du log.</dd>
</dl>
- <p>En général, seuls quelque uns de ces éléments de configuration sont
- définis pour un log donné. Pour plus de détails, veuillez vous référer
- à la documentation de la directive <code class="directive"><a href="#ctstaticlogconfig">CTStaticLogConfig</a></code> et de la commande
+ <p>En général, seuls quelque uns de ces éléments de configuration sont
+ définis pour un log donné. Pour plus de détails, veuillez vous référer
+ à la documentation de la directive <code class="directive"><a href="#ctstaticlogconfig">CTStaticLogConfig</a></code> et de la commande
<code class="program"><a href="../programs/ctlogconfig.html">ctlogconfig</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="static" id="static">Stockage des SCTs sous une forme compréhensible pour mod_ssl_ct</a><a title="Lien permanent" href="#static" class="permalink">¶</a></h2>
+<h2><a name="static" id="static">Stockage des SCTs sous une forme compréhensible pour mod_ssl_ct</a><a title="Lien permanent" href="#static" class="permalink">¶</a></h2>
<p>Le module <code class="module"><a href="../mod/mod_ssl_ct.html">mod_ssl_ct</a></code> permet de configurer les SCTs
- de manière statique via la directive
- <code class="directive">CTStaticSCTs</code>. Ils doivent alors être sous une forme
- binaire prête à être envoyée au client.</p>
+ de manière statique via la directive
+ <code class="directive">CTStaticSCTs</code>. Ils doivent alors être sous une forme
+ binaire prête à être envoyée au client.</p>
- <p>Vous trouverez dans le <a href="https://github.com/tomrittervg/ct-tools">Dépôt ct-tools de Tom
+ <p>Vous trouverez dans le <a href="https://github.com/tomrittervg/ct-tools">Dépôt ct-tools de Tom
Ritter</a> un exemple de code sous la forme d'un script Python
- (<code>write-sct.py</code>) permettant de générer un SCT sous un
- format correct avec des données en provenance d'un log.</p>
+ (<code>write-sct.py</code>) permettant de générer un SCT sous un
+ format correct avec des données en provenance d'un log.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="logging" id="logging">Journalisation des repères de temps des certificats (CT) dans
- le journal des accès</a><a title="Lien permanent" href="#logging" class="permalink">¶</a></h2>
+<h2><a name="logging" id="logging">Journalisation des repères de temps des certificats (CT) dans
+ le journal des accès</a><a title="Lien permanent" href="#logging" class="permalink">¶</a></h2>
<p>Dans les deux modes mandataire et serveur, les variables
<code>SSL_CT_PROXY_STATUS</code> et
- <code>SSL_CT_CLIENT_STATUS</code> sont définies et indiquent si le
+ <code>SSL_CT_CLIENT_STATUS</code> sont définies et indiquent si le
serveur supporte les CTs.</p>
<p>Dans le mode mandataire, la variable
- <code>SSL_CT_PROXY_SCT_SOURCES</code> est définie pour indiquer si des
- SCTs ont été reçus ainsi que leur source (phase ServerHello de la
+ <code>SSL_CT_PROXY_SCT_SOURCES</code> est définie pour indiquer si des
+ SCTs ont été reçus ainsi que leur source (phase ServerHello de la
connexion, extension de certificat, etc...).</p>
- <p>Les valeurs de ces variables peuvent être journalisées via la
- chaîne de format <code>%{<em>varname</em>}e</code> de
+ <p>Les valeurs de ces variables peuvent être journalisées via la
+ chaîne de format <code>%{<em>varname</em>}e</code> de
<code class="module"><a href="../mod/mod_log_config.html">mod_log_config</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="audit" id="audit">Audit hors ligne pour mandataire</a><a title="Lien permanent" href="#audit" class="permalink">¶</a></h2>
- <p>Le support de cette fonctionnalité en est au stade expérimental, et
- est implémenté par la commande <code>ctauditscts</code>, qui repose
- elle-même sur l'utilitaire <code>verify_single_proof.py</code> du
+ <p>Le support de cette fonctionnalité en est au stade expérimental, et
+ est implémenté par la commande <code>ctauditscts</code>, qui repose
+ elle-même sur l'utilitaire <code>verify_single_proof.py</code> du
projet open source <em>certificate-transparency</em>. La commande
- <code>ctauditscts</code> peut parcourir des données, et ainsi effectuer
- un audit hors ligne (activé via la directive <code class="directive"><a href="#ctauditstorage">CTAuditStorage</a></code>) en invoquant
+ <code>ctauditscts</code> peut parcourir des données, et ainsi effectuer
+ un audit hors ligne (activé via la directive <code class="directive"><a href="#ctauditstorage">CTAuditStorage</a></code>) en invoquant
l'utilitaire <code>verify_single_proof.py</code>.</p>
- <p>Voici quelques indication à l'état brut pour l'utilisation de
+ <p>Voici quelques indication à l'état brut pour l'utilisation de
<code>ctauditscts</code> :</p>
<ul>
- <li>Créez un <em>virtualenv</em> en utilisant le fichier
+ <li>Créez un <em>virtualenv</em> en utilisant le fichier
<code>requirements.txt</code> du projet
- <em>certificate-transparency</em>, et exécuter les étapes suivantes
- avec ce <em>virtualenv</em> activé.</li>
- <li>Définissez <code>PYTHONPATH</code> de façon à inclure le
- répertoire <code>python</code> dans les chemins par défaut des
+ <em>certificate-transparency</em>, et exécuter les étapes suivantes
+ avec ce <em>virtualenv</em> activé.</li>
+ <li>Définissez <code>PYTHONPATH</code> de façon à inclure le
+ répertoire <code>python</code> dans les chemins par défaut des
utilitaires du projet <em>certificate-transparency</em>.</li>
- <li>Définissez <code>PATH</code> de façon à inclure le chemin du
- répertoire <code>python/ct/client/tools</code>.</li>
- <li>Exécutez la commande <code>ctauditscts</code> avec comme
+ <li>Définissez <code>PATH</code> de façon à inclure le chemin du
+ répertoire <code>python/ct/client/tools</code>.</li>
+ <li>Exécutez la commande <code>ctauditscts</code> avec comme
arguments la valeur de la directive
- <code class="directive">CTAuditStorage</code>, et éventuellement le chemin
- de la base de données de configuration des logs. Cette dernière sera
- utilisée pour extraire les URLs des logs en fonction de leurs
+ <code class="directive">CTAuditStorage</code>, et éventuellement le chemin
+ de la base de données de configuration des logs. Cette dernière sera
+ utilisée pour extraire les URLs des logs en fonction de leurs
identifiants.</li>
</ul>
- <p>Les données stockées à des fins d'audit peuvent aussi être
- utilisées par d'autres programmes ; veuillez vous référer au code
- source de <code>ctauditscts</code> pour plus de détails à propos du
- traitement des données.</p>
+ <p>Les données stockées à des fins d'audit peuvent aussi être
+ utilisées par d'autres programmes ; veuillez vous référer au code
+ source de <code>ctauditscts</code> pour plus de détails à propos du
+ traitement des donné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="ctauditstorage" id="ctauditstorage">Directive</a> <a name="CTAuditStorage" id="CTAuditStorage">CTAuditStorage</a><a title="Lien permanent" href="#ctauditstorage" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire de stockage des données pour l'audit hors ligne</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire de stockage des données pour l'audit hors ligne</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTAuditStorage <em>directory</em></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#Default">Défaut:</a></th><td><code>none</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_ssl_ct</td></tr>
</table>
<p>La directive <code class="directive">CTAuditStorage</code> permet de
- définir le chemin du répertoire où les données destinées à un audit hors
- ligne seront stockées. Ce répertoire doit exister au préalable. Si le
+ définir le chemin du répertoire où les données destinées à un audit hors
+ ligne seront stockées. Ce répertoire doit exister au préalable. Si le
chemin contenu dans l'argument <em>directory</em> n'est pas absolu, il
- sera considéré comme relatif au chemin défini par la directive
+ sera considéré comme relatif au chemin défini par la directive
<code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p>
- <p>Si cette directive n'est pas définie, aucune donnée ne sera stockée
+ <p>Si cette directive n'est pas définie, aucune donnée ne sera stockée
en vue d'un audit hors ligne.</p>
- <p>Le répertoire considéré contiendra des fichiers nommés
+ <p>Le répertoire considéré contiendra des fichiers nommés
<code><em>PID</em>.tmp</code> pour les processus enfants actifs et
- <code><em>PID</em>.out</code> pour les processus enfants terminés. Les
- données disponibles pour un audit hors ligne sont donc contenues dans les
- fichiers <code>.out</code>. La commande expérimentale
- <code>ctauditscts</code> (située dans l'arborescence des sources de
+ <code><em>PID</em>.out</code> pour les processus enfants terminés. Les
+ données disponibles pour un audit hors ligne sont donc contenues dans les
+ fichiers <code>.out</code>. La commande expérimentale
+ <code>ctauditscts</code> (située dans l'arborescence des sources de
httpd, mais non encore prise en compte par le processus
d'installation), fait appel aux utilitaires du projet
<em>certificate-transparency</em> pour effectuer l'audit.</p>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin de l'utilitaire client du log certificate-transparency</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTLogClient <em>executable</em></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#Default">Défaut:</a></th><td><code>none</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_ssl_ct</td></tr>
<code>ct.exe</code>) de l'arborescence des sources du projet open
source <a href="https://code.google.com/p/certificate-transparency/">certificate-transparency</a>.</p>
- <p>Il est possible d'utiliser une implémentation alternative pour
- extraire les SCTs d'un certificat de serveur à partir du moment où
- l'interface de la ligne de commande est équivalente.</p>
+ <p>Il est possible d'utiliser une implémentation alternative pour
+ extraire les SCTs d'un certificat de serveur à partir du moment où
+ l'interface de la ligne de commande est équivalente.</p>
- <p>Si cette directive n'est pas définie, il n'est pas possible de
+ <p>Si cette directive n'est pas définie, il n'est pas possible de
soumettre les certificats aux logs pour en extraire les SCTs ; seuls
- les SCTs gérés par l'administrateur ou situés dans une extension de
+ les SCTs gérés par l'administrateur ou situés dans une extension de
certificat seront alors fournis aux clients.</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="ctlogconfigdb" id="ctlogconfigdb">Directive</a> <a name="CTLogConfigDB" id="CTLogConfigDB">CTLogConfigDB</a><a title="Lien permanent" href="#ctlogconfigdb" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Base de données pour la configuration des logs avec mises à
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Base de données pour la configuration des logs avec mises à
jour dynamiques</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTLogConfigDB <em>filename</em></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#Default">Défaut:</a></th><td><code>none</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_ssl_ct</td></tr>
</table>
- <p>La directive <code class="directive">CTLogConfigDB</code> permet de définir
- le nom de la base de données contenant la configuration des logs
+ <p>La directive <code class="directive">CTLogConfigDB</code> permet de définir
+ le nom de la base de données contenant la configuration des logs
connus. Si le chemin contenu dans <em>filename</em> n'est pas absolu,
- il est considéré comme relatif au chemin défini par la directive
+ il est considéré comme relatif au chemin défini par la directive
<code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p>
- <p>Veuillez vous référer à la documentation du programme
- <code class="program"><a href="../programs/ctlogconfig.html">ctlogconfig</a></code> qui gère la base de données.</p>
+ <p>Veuillez vous référer à la documentation du programme
+ <code class="program"><a href="../programs/ctlogconfig.html">ctlogconfig</a></code> qui gère la base de donné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="ctmaxsctage" id="ctmaxsctage">Directive</a> <a name="CTMaxSCTAge" id="CTMaxSCTAge">CTMaxSCTAge</a><a title="Lien permanent" href="#ctmaxsctage" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Age maximum d'un SCT obtenu depuis un log avant son
-raffraîchissement</td></tr>
+raffraîchissement</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTMaxSCTAge <em>num-seconds</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>1 jour</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>1 jour</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_ssl_ct</td></tr>
</table>
- <p>Les certificats de serveur dont les SCTs sont supérieurs à cet âge
- maximum seront soumis à nouveau aux logs définis. En général, le log
- va renvoyer le même SCT que précédemment, mais ceux-ci font alors l'objet
- d'une opération de la part du log. Les SCTs seront raffraîchis autant que
- nécessaire au cours du fonctionnement normal du serveur, les nouveaux
- SCTs étant envoyés aux clients au fur et à mesure de leur
- disponibilité.</p>
+ <p>Les certificats de serveur dont les SCTs sont supérieurs à cet âge
+ maximum seront soumis à nouveau aux logs définis. En général, le log
+ va renvoyer le même SCT que précédemment, mais ceux-ci font alors l'objet
+ d'une opération de la part du log. Les SCTs seront raffraîchis autant que
+ nécessaire au cours du fonctionnement normal du serveur, les nouveaux
+ SCTs étant envoyés aux clients au fur et à mesure de leur
+ disponibilité.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
mandataire
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTProxyAwareness <em>oblivious|aware|require</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>aware</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>aware</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_ssl_ct</td></tr>
</table>
- <p>Cette directive permet de contrôler la prise en compte et les
+ <p>Cette directive permet de contrôler la prise en compte et les
recherches de SCTs valides pour un mandataire. Les options disponibles
sont les suivantes :</p>
<dl>
<dt>oblivious</dt>
- <dd>Le mandataire de demandera jamais de SCTs, et par conséquent
+ <dd>Le mandataire de demandera jamais de SCTs, et par conséquent
n'en examinera pas. Le processus de transparance des certificats est
- alors entièrement désactivé pour ce mandataire.</dd>
+ alors entièrement désactivé pour ce mandataire.</dd>
<dt>aware</dt>
<dd>Le mandataire prendra en charge l'ensemble du processus de
- transparence des certificats, à savoir la recherche de SCTs et leur
+ transparence des certificats, à savoir la recherche de SCTs et leur
examen. Le mandataire n'interrompra cependant pas la connexion si le
serveur original ne fournit pas de SCTs valides.</dd>
<dt>require</dt>
<dd>Le mandataire interrompra la connexion avec le serveur original
- si ce dernir ne fournit pas au moins un SCT qui passe avec succès le
+ si ce dernir ne fournit pas au moins un SCT qui passe avec succès le
test de validation en ligne.</dd>
</dl>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ctsctstorage" id="ctsctstorage">Directive</a> <a name="CTSCTStorage" id="CTSCTStorage">CTSCTStorage</a><a title="Lien permanent" href="#ctsctstorage" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire où les SCTs sont stockés</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire où les SCTs sont stockés</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTSCTStorage <em>directory</em></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#Default">Défaut:</a></th><td><code>none</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_ssl_ct</td></tr>
</table>
- <p>La directive <code class="directive">CTSCTStorage</code> permet de définir
- le nom du répertoire où les SCTs et listes de SCTs seront stockés. Si
+ <p>La directive <code class="directive">CTSCTStorage</code> permet de définir
+ le nom du répertoire où les SCTs et listes de SCTs seront stockés. Si
le chemin contenu dans <em>directory</em> n'est pas absolu, il sera
- considéré comme relatif au chemin défini par la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p>
+ considéré comme relatif au chemin défini par la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p>
- <p>Chaque certificat voit ses informations stockées dans un sous-répertoire
- qui lui est propre ; le nom de ce sous-répertoire correspond au hash
- SHA-256 du certificat considéré.</p>
+ <p>Chaque certificat voit ses informations stockées dans un sous-répertoire
+ qui lui est propre ; le nom de ce sous-répertoire correspond au hash
+ SHA-256 du certificat considéré.</p>
- <p>Les sous-répertoires propres à chaque certificat contiennent des
- SCTs en provenance des logs définis, des listes de SCTs préparées à
- partir des SCTs configurés statiquement et des SCTs extraits, ainsi
- que diverses informations utilisées pour gérer les SCTs.</p>
+ <p>Les sous-répertoires propres à chaque certificat contiennent des
+ SCTs en provenance des logs définis, des listes de SCTs préparées à
+ partir des SCTs configurés statiquement et des SCTs extraits, ainsi
+ que diverses informations utilisées pour gérer les SCTs.</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="ctserverhellosctlimit" id="ctserverhellosctlimit">Directive</a> <a name="CTServerHelloSCTLimit" id="CTServerHelloSCTLimit">CTServerHelloSCTLimit</a><a title="Lien permanent" href="#ctserverhellosctlimit" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de SCTs pouvant être renvoyés au cours de la
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de SCTs pouvant être renvoyés au cours de la
phase ServerHello</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTServerHelloSCTLimit <em>limit</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>100</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>100</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_ssl_ct</td></tr>
</table>
- <p>Cette directive permet de définir le nombre maximum de SCTs pouvant
- être renvoyés par un serveur TLS au cours de la phase ServerHello dans
- le cas où le nombre de logs définis et de SCTs définis statiquement
+ <p>Cette directive permet de définir le nombre maximum de SCTs pouvant
+ être renvoyés par un serveur TLS au cours de la phase ServerHello dans
+ le cas où le nombre de logs définis et de SCTs définis statiquement
est assez important.</p>
- <p>En général, seuls quelques SCTs sont disponibles, cette directive
- n'est donc nécessaire que dans certaines circonstances particulières.</p>
+ <p>En général, seuls quelques SCTs sont disponibles, cette directive
+ n'est donc nécessaire que dans certaines circonstances particulières.</p>
<p>Cette directive ne tient pas compte des SCTs contenus dans les
- extensions de certificats ou les réponses OCSP agrafées.</p>
+ extensions de certificats ou les réponses OCSP agrafées.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTStaticLogConfig <em>log-id|-</em> <em>public-key-file|-</em>
<em>1|0|-</em> <em>min-timestamp|-</em> <em>max-timestamp|-</em>
<em>log-URL|-</em></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#Default">Défaut:</a></th><td><code>none</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_ssl_ct</td></tr>
</table>
<p>Cette directive permet de configurer un log particulier. Elle est
- particulièrement appropriée dans les cas où cette configuration est
- rarement modifiée. Si votre cas nécessite plutôt une configuration
- dynamique, veuillez vous référer à la documentation de la directive
+ particulièrement appropriée dans les cas où cette configuration est
+ rarement modifiée. Si votre cas nécessite plutôt une configuration
+ dynamique, veuillez vous référer à la documentation de la directive
<code class="directive"><a href="#ctlogconfigdb">CTLogConfigDB</a></code>.</p>
- <p>Chacun des six champs doit être renseigné, mais en général, la
- configuration d'un log nécessite peu d'information ; utilisez
- <em>-</em> lorsque vous ne disposez d'aucune information à spécifier
+ <p>Chacun des six champs doit être renseigné, mais en général, la
+ configuration d'un log nécessite peu d'information ; utilisez
+ <em>-</em> lorsque vous ne disposez d'aucune information à spécifier
pour un champ particulier. Par exemple, dans le cas d'une
configuration de serveur simple (non mandataire), l'administrateur n'a
- besoin de spécifier que l'URL du log auquel soumettre des certificats de
+ besoin de spécifier que l'URL du log auquel soumettre des certificats de
serveur afin d'en extraire les SCTs.</p>
- <p>Les champs se définissent comme suit :</p>
+ <p>Les champs se définissent comme suit :</p>
<dl>
<dt><em>log-id</em></dt>
<dd>Il s'agit de l'identifiant du log qui correspond au hash SHA-256
- de la clé publique du log, codé en hexadécimal. Cette chaîne a une
- taille de 64 caractères.
+ de la clé publique du log, codé en hexadécimal. Cette chaîne a une
+ taille de 64 caractères.
<br />
- Ce champ peut être omis lorsque <em>public-key-file</em> est
- renseigné.</dd>
+ Ce champ peut être omis lorsque <em>public-key-file</em> est
+ renseigné.</dd>
<dt><em>public-key-file</em></dt>
- <dd>Il s'agit du chemin d'un fichier contenant la clé publique du log
- codée au format PEM. Si ce chemin n'est pas absolu, il est considéré
- comme relatif au chemin défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</dd>
+ <dd>Il s'agit du chemin d'un fichier contenant la clé publique du log
+ codée au format PEM. Si ce chemin n'est pas absolu, il est considéré
+ comme relatif au chemin défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</dd>
<dt><em>trust/distrust</em></dt>
- <dd>Définissez ce champ à <em>1</em> pour marquer le log comme non
+ <dd>Définissez ce champ à <em>1</em> pour marquer le log comme non
digne de confiance, ou pour tout simplement interdire son
- utilisation pour le traitement des certificats. Définissez ce champ
- à <em>-</em> ou <em>0</em> (valeur par défaut) pour accorder votre
+ utilisation pour le traitement des certificats. Définissez ce champ
+ à <em>-</em> ou <em>0</em> (valeur par défaut) pour accorder votre
confiance au log.</dd>
<dt><em>min-timestamp</em> et <em>max-timestamp</em></dt>
- <dd>Un repère de temps (timestamp) est un temps exprimé en
+ <dd>Un repère de temps (timestamp) est un temps exprimé en
millisecondes depuis le temps epoch, sans tenir compte des secondes
- sautées. C'est le format de temps utilisé dans les SCTs. Le repère
- de temps doit être fourni sous la forme d'un nombre décimal.
+ sautées. C'est le format de temps utilisé dans les SCTs. Le repère
+ de temps doit être fourni sous la forme d'un nombre décimal.
<br />
- Spécifiez <strong><code>-</code></strong> pour un des repères de
- temps s'il n'est pas connu. Par exemple, lorsque vous définissez le
- repère de temps minimum valide pour un log qui reste valide,
- spécifiez <strong><code>-</code></strong> pour
+ Spécifiez <strong><code>-</code></strong> pour un des repères de
+ temps s'il n'est pas connu. Par exemple, lorsque vous définissez le
+ repère de temps minimum valide pour un log qui reste valide,
+ spécifiez <strong><code>-</code></strong> pour
<em>max-timestamp</em>.
<br />
- Les SCTs reçu par le mandataire depuis ce log seront invalides si le
- repère de temps est plus ancien que <em>min-timestamp</em> ou plus
- récent que <em>max-timestamp</em>.</dd>
+ Les SCTs reçu par le mandataire depuis ce log seront invalides si le
+ repère de temps est plus ancien que <em>min-timestamp</em> ou plus
+ récent que <em>max-timestamp</em>.</dd>
<dt><em>log-URL</em></dt>
<dd>Il s'agit de l'URL du log auquel soumettre les certificats de
- serveur et ainsi obtenir des SCTs à envoyer aux clients.</dd>
+ serveur et ainsi obtenir des SCTs à envoyer aux clients.</dd>
</dl>
<h3>Voir aussi</h3>
<ul>
<li>Le paragraphe <a href="#logconf">Configuration des logs</a>
-contient des informations à caractère plus général à propos des champs qui
-peuvent être définis via cette directive.</li>
+contient des informations à caractère plus général à propos des champs qui
+peuvent être définis via cette directive.</li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
certificat de serveur
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTStaticSCTs <em>certificate-pem-file</em> <em>sct-directory</em></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#Default">Défaut:</a></th><td><code>none</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_ssl_ct</td></tr>
</table>
- <p>Cette directive permet de définir statiquement un ou plusieurs SCTs
- correspondant à un certificat de serveur. Ce mécanisme peut être
- utilisé à la place ou en complément de l'obtention dynamique des SCTs
+ <p>Cette directive permet de définir statiquement un ou plusieurs SCTs
+ correspondant à un certificat de serveur. Ce mécanisme peut être
+ utilisé à la place ou en complément de l'obtention dynamique des SCTs
en provenance des logs. Toute modification dans le jeu de SCTs d'un
- certificat de serveur particulier sera prise en compte de manière
- dynamique sans avoir à redémarrer le serveur.</p>
+ certificat de serveur particulier sera prise en compte de manière
+ dynamique sans avoir à redémarrer le serveur.</p>
- <p><em>certificate-pem-file</em> fait référence au fichier contenant
+ <p><em>certificate-pem-file</em> fait référence au fichier contenant
le certificat de serveur au format PEM. Si ce chemin n'est pas absolu,
- il sera considéré comme relatif au chemin défini par la directive
+ il sera considéré comme relatif au chemin défini par la directive
<code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p>
<p><em>sct-directory</em> doit contenir le chemin vers un ou plusieurs
- fichiers possédant l'extension de nom de fichier <code>.sct</code>,
- représentant un ou plusieurs SCTs correspondant au certificat de
+ fichiers possédant l'extension de nom de fichier <code>.sct</code>,
+ représentant un ou plusieurs SCTs correspondant au certificat de
serveur. Si ce chemin n'est pas absolu,
- il sera considéré comme relatif au chemin défini par la directive
+ il sera considéré comme relatif au chemin défini par la directive
<code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p>
<p>Si <em>sct-directory</em> est vide, aucun message d'erreur ne sera
- affiché.</p>
+ affiché.</p>
- <p>Cette directive peut servir à identifier des répertoires de SCTs
- gérés par une autre infrastructure, sous réserve qu'ils soient
- enregistrés au format binaire avec l'extension de nom de fichier
+ <p>Cette directive peut servir à identifier des répertoires de SCTs
+ gérés par une autre infrastructure, sous réserve qu'ils soient
+ enregistrés au format binaire avec l'extension de nom de fichier
<em>.sct</em>.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ssl_ct.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_ssl_ct.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_ssl_ct.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_status</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_status.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_status.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_status.html" title="Français"> fr </a> |
+<a href="../es/mod/mod_status.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_status.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournit des informations sur les performances et l'activité
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournit des informations sur les performances et l'activité
du serveur</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>status_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_status.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>status_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_status.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Le module Status permet à un administrateur de déterminer le
- niveau de performances de son serveur. Les statistiques instantanées
- du serveur sont présentées dans une page HTML sous une forme
- aisément lisible. Si nécessaire, cette page peut être configurée
- pour être automatiquement actualisée (sous réserve de
- compatibilité du navigateur). Une autre page fournit l'état
- instantané du serveur sous la forme d'une simple liste lisible par
+ <p>Le module Status permet à un administrateur de déterminer le
+ niveau de performances de son serveur. Les statistiques instantanées
+ du serveur sont présentées dans une page HTML sous une forme
+ aisément lisible. Si nécessaire, cette page peut être configurée
+ pour être automatiquement actualisée (sous réserve de
+ compatibilité du navigateur). Une autre page fournit l'état
+ instantané du serveur sous la forme d'une simple liste lisible par
une machine.</p>
- <p>Les détails fournis sont :</p>
+ <p>Les détails fournis sont :</p>
<ul>
- <li>Le nombre de processus servant les requêtes</li>
+ <li>Le nombre de processus servant les requêtes</li>
<li>Le nombre de processus inactifs</li>
- <li>L'état de chaque processus, le nombre de requêtes qu'il a
- traitées et le nombre total d'octets qu'il a servis (*)</li>
+ <li>L'état de chaque processus, le nombre de requêtes qu'il a
+ traitées et le nombre total d'octets qu'il a servis (*)</li>
- <li>Le nombre total d'accès effectués et d'octets servis (*)</li>
+ <li>Le nombre total d'accès effectués et d'octets servis (*)</li>
- <li>Le moment où le serveur a été démarré/redémarré et le temps
- écoulé depuis</li>
+ <li>Le moment où le serveur a été démarré/redémarré et le temps
+ écoulé depuis</li>
- <li>Les valeurs moyennes du nombre de requêtes par seconde, du
+ <li>Les valeurs moyennes du nombre de requêtes par seconde, du
nombre d'octets servis par seconde et du nombre d'octets par
- requête (*)</li>
+ requête (*)</li>
- <li>Le pourcentage CPU instantané utilisé par chaque processus et
+ <li>Le pourcentage CPU instantané utilisé par chaque processus et
par l'ensemble des processus (*)</li>
- <li>Les hôtes et requêtes actuellement en cours de traitement
+ <li>Les hôtes et requêtes actuellement en cours de traitement
(*)</li>
</ul>
<p>Les lignes se terminant par "(*)" ne sont disponibles que si la
directive <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code>
- est définie à <code>On</code>. Depuis la version
- 2.3.6, le chargement de mod_status définit automatiquement
- <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> à On.</p>
+ est définie à <code>On</code>. Depuis la version
+ 2.3.6, le chargement de mod_status définit automatiquement
+ <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> à On.</p>
<div class="note">
- <strong>Important : lorsque <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> est chargé, son
+ <strong>Important : lorsque <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> est chargé, son
gestionnaire sera disponible dans <em>tous</em> les fichiers de
- configuration, y compris ceux concernant un répertoire (comme les fichiers
- <code>.htaccess</code>). Ce comportement doit donc être pris en compte pour la
- gestion de la sécurité de votre site.</strong>
+ configuration, y compris ceux concernant un répertoire (comme les fichiers
+ <code>.htaccess</code>). Ce comportement doit donc être pris en compte pour la
+ gestion de la sécurité de votre site.</strong>
</div>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#enable">Activation du rapport d'état</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#enable">Activation du rapport d'état</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#autoupdate">Actualisation automatique</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#machinereadable">Fichier d'état lisible par une machine</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Utilisation de server-status pour la recherche de défauts de
+<li><img alt="" src="../images/down.gif" /> <a href="#machinereadable">Fichier d'état lisible par une machine</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Utilisation de server-status pour la recherche de défauts de
fonctionnement</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_status">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_status">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_status">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_status">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="enable" id="enable">Activation du rapport d'état</a><a title="Lien permanent" href="#enable" class="permalink">¶</a></h2>
+<h2><a name="enable" id="enable">Activation du rapport d'état</a><a title="Lien permanent" href="#enable" class="permalink">¶</a></h2>
- <p>Pour n'activer les rapports d'état que pour les navigateurs
- appartenant au domaine example.com, ajoutez ces lignes à votre
+ <p>Pour n'activer les rapports d'état que pour les navigateurs
+ appartenant au domaine example.com, ajoutez ces lignes à votre
fichier de configuration <code>httpd.conf</code> :</p>
<pre class="prettyprint lang-config"><Location "/etat-serveur">
SetHandler server-status
<p>Il est alors possible d'obtenir les statistiques du serveur en
- utilisant un navigateur web et en accédant à la page
+ utilisant un navigateur web et en accédant à la page
<code>http://votre.serveur/etat-serveur</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="autoupdate" id="autoupdate">Actualisation automatique</a><a title="Lien permanent" href="#autoupdate" class="permalink">¶</a></h2>
- <p>Vous pouvez faire en sorte que cette page d'état s'actualise
- elle-même automatiquement si votre navigateur supporte "refresh".
- Pour ce faire, accédez à la page
+ <p>Vous pouvez faire en sorte que cette page d'état s'actualise
+ elle-même automatiquement si votre navigateur supporte "refresh".
+ Pour ce faire, accédez à la page
<code>http://votre.serveur/etat-serveur?refresh=N</code>, pour que
- cette dernière soit actualisée toutes les N secondes.</p>
+ cette dernière soit actualisée toutes les N secondes.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="machinereadable" id="machinereadable">Fichier d'état lisible par une machine</a><a title="Lien permanent" href="#machinereadable" class="permalink">¶</a></h2>
+<h2><a name="machinereadable" id="machinereadable">Fichier d'état lisible par une machine</a><a title="Lien permanent" href="#machinereadable" class="permalink">¶</a></h2>
<p>La page <code>http://votre.serveur/etat-serveur?auto</code>
- permet d'obtenir une version du fichier d'état lisible par une
- machine. Ceci s'avère intéressant dans le cadre d'une exécution
+ permet d'obtenir une version du fichier d'état lisible par une
+ machine. Ceci s'avère intéressant dans le cadre d'une exécution
automatique : voir le programme en Perl
- <code>log_server_status</code> situé dans le répertoire
+ <code>log_server_status</code> situé dans le répertoire
<code>/support</code> de votre distribution du serveur HTTP Apache.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="troubleshoot" id="troubleshoot">Utilisation de server-status pour la recherche de défauts de
+<h2><a name="troubleshoot" id="troubleshoot">Utilisation de server-status pour la recherche de défauts de
fonctionnement</a><a title="Lien permanent" href="#troubleshoot" class="permalink">¶</a></h2>
- <p>La page <code>server-status</code> peut servir de point de départ
- à la recherche de défauts de fonctionnement lorsque votre serveur
- mobilise toutes les ressources disponibles (CPU ou mémoire), pour
- identifier quels clients ou requêtes sont la cause du problème.</p>
+ <p>La page <code>server-status</code> peut servir de point de départ
+ à la recherche de défauts de fonctionnement lorsque votre serveur
+ mobilise toutes les ressources disponibles (CPU ou mémoire), pour
+ identifier quels clients ou requêtes sont la cause du problème.</p>
- <p>Tout d'abord, assurez-vous que la directive <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> est bien définie à on, de
- façon à ce que vous puissiez avoir accès à toutes les informations à
- propos de la requête et du client pour chaque processus enfant ou
+ <p>Tout d'abord, assurez-vous que la directive <code class="directive"><a href="../mod/core.html#extendedstatus">ExtendedStatus</a></code> est bien définie à on, de
+ façon à ce que vous puissiez avoir accès à toutes les informations à
+ propos de la requête et du client pour chaque processus enfant ou
thread.</p>
- <p>Consultez ensuite la liste des processus en cours (à l'aide de
+ <p>Consultez ensuite la liste des processus en cours (à l'aide de
<code>top</code>, ou d'un utilitaire de listage des processus
similaire), afin d'identifier les processus coupables. Triez
- l'affichage de <code>top</code> par utilisation CPU ou mémoire, en
- fonction du problème rencontré.</p>
+ l'affichage de <code>top</code> par utilisation CPU ou mémoire, en
+ fonction du problème rencontré.</p>
<p>Rechargez la page <code>server-status</code> et recherchez
- les identifiants des processus trouvés précédemment ; vous pourrez
- alors déterminer quelle requête est traitée par ces processus, pour
- quel client. Les requêtes peuvent apparaître de manière fugitive, et
+ les identifiants des processus trouvés précédemment ; vous pourrez
+ alors déterminer quelle requête est traitée par ces processus, pour
+ quel client. Les requêtes peuvent apparaître de manière fugitive, et
il se peut que vous deviez effectuer plusieurs essais avant de
- parvenir à les prendre en flagrant délit, pour ainsi dire.</p>
+ parvenir à les prendre en flagrant délit, pour ainsi dire.</p>
- <p>Cette procédure <em>devrait</em> vous permettre de cerner quel
- client, ou type de requête, sont à l'origine de vos problèmes de
+ <p>Cette procédure <em>devrait</em> vous permettre de cerner quel
+ client, ou type de requête, sont à l'origine de vos problèmes de
charge. Il est probable que vous identifiiez une application web au
comportement anormal, ou un client en train d'attaquer votre site.</p>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_status.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/mod_status.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/mod_status.html" title="Français"> fr </a> |
+<a href="../es/mod/mod_status.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/mod_status.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_status.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_status.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_status.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_substitute</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_substitute.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_substitute.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_substitute.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Effectue des opérations de recherche/remplacement sur les
-corps de réponses</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Effectue des opérations de recherche/remplacement sur les
+corps de réponses</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>substitute_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_substitute.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>substitute_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_substitute.c</td></tr></table>
<h3>Sommaire</h3>
- <p><code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code> fournit un mécanisme permettant
- d'effectuer des substitutions de chaînes fixes ou d'expressions
- rationnelles sur les corps de réponses.</p>
+ <p><code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code> fournit un mécanisme permettant
+ d'effectuer des substitutions de chaînes fixes ou d'expressions
+ rationnelles sur les corps de réponses.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#substituteinheritbefore">SubstituteInheritBefore</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#substitutemaxlinelength">SubstituteMaxLineLength</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_substitute">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_substitute">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_substitute">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_substitute">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</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="substitute" id="substitute">Directive</a> <a name="Substitute" id="Substitute">Substitute</a><a title="Lien permanent" href="#substitute" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Modèle de substition dans le contenu de la
-réponse</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Substitute <var>s/modèle/substitution/[infq]</var></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#Description">Description:</a></th><td>Modèle de substition dans le contenu de la
+réponse</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Substitute <var>s/modèle/substitution/[infq]</var></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">AllowOverride:</a></th><td>FileInfo</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_substitute</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les valeurs de substitution "expr=" ont été ajoutées à partir de
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les valeurs de substitution "expr=" ont été ajoutées à partir de
la version 2.5.1</td></tr>
</table>
<p>La directive <code class="directive">Substitute</code> permet de
- spécifier un modèle de recherche/remplacement à appliquer au corps
- de la réponse.</p>
+ spécifier un modèle de recherche/remplacement à appliquer au corps
+ de la réponse.</p>
- <p>La signification du modèle peut être modifiée via toute
+ <p>La signification du modèle peut être modifiée via toute
combinaison de ces drapeaux :</p>
<dl>
<dt><code>i</code></dt>
<dd>Effectue une comparaison sans tenir compte de la casse.</dd>
<dt><code>n</code></dt>
- <dd>Par défaut, le modèle est traité en tant qu'expression
+ <dd>Par défaut, le modèle est traité en tant qu'expression
rationnelle. Le drapeau <code>n</code> force le traitement du
- modèle en tant que chaîne fixe.</dd>
+ modèle en tant que chaîne fixe.</dd>
<dt><code>f</code></dt>
- <dd>Avec le drapeau <code>f</code>, <code>mod_substitute</code> met à plat le
- résultat d'une substitution (les conteneurs ou buckets ne sont
- pas dissociés), ce qui permet à d'éventuelles substitutions
- ultérieures de s'effectuer sur cette dernière. C'est le
- comportement par défaut.</dd>
+ <dd>Avec le drapeau <code>f</code>, <code>mod_substitute</code> met à plat le
+ résultat d'une substitution (les conteneurs ou buckets ne sont
+ pas dissociés), ce qui permet à d'éventuelles substitutions
+ ultérieures de s'effectuer sur cette dernière. C'est le
+ comportement par défaut.</dd>
<dt><code>q</code></dt>
<dd>Avec le drapeau <code>q</code>, <code>mod_substitute</code> dissocie les
- conteneurs (ou buckets) après chaque substitution. Ceci peut
- améliorer la rapidité de la réponse et diminuer la quantité de
- mémoire utilisée, mais ne doit être utilisé que s'il n'existe
- aucune possibilité pour que le résultat d'une substitution ne
- corresponde au modèle ou à l'expression rationnelle d'une
- substitution ultérieure.</dd>
+ conteneurs (ou buckets) après chaque substitution. Ceci peut
+ améliorer la rapidité de la réponse et diminuer la quantité de
+ mémoire utilisée, mais ne doit être utilisé que s'il n'existe
+ aucune possibilité pour que le résultat d'une substitution ne
+ corresponde au modèle ou à l'expression rationnelle d'une
+ substitution ultérieure.</dd>
</dl>
- <p><var>substitution</var> peut contenir du texte et des références arrières
+ <p><var>substitution</var> peut contenir du texte et des références arrières
d'expressions rationnelles. Si la valeur de substitution commence par la
- chaîne <code>expr=</code>, elle est interprétée comme une <a href="../expr.html">expression rationnelle</a>, ce qui permet d'utiliser des
- variables d'environnement et des valeurs d'en-têtes.
+ chaîne <code>expr=</code>, elle est interprétée comme une <a href="../expr.html">expression rationnelle</a>, ce qui permet d'utiliser des
+ variables d'environnement et des valeurs d'en-têtes.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Location "/">
</Location></pre>
</div>
- <p>Le caractère utilisé pour séparer (ou "délimiter") les différentes partie
- de la valeur de substitution est référencé sous le nom de "délimiteur", et
+ <p>Le caractère utilisé pour séparer (ou "délimiter") les différentes partie
+ de la valeur de substitution est référencé sous le nom de "délimiteur", et
il s'agit le plus souvent d'un "slash".</p>
- <p>Si le modèle ou la chaîne de substitution contient un caractère
- slash '/', il est possible d'utiliser un autre délimiteur afin de rendre la
+ <p>Si le modèle ou la chaîne de substitution contient un caractère
+ slash '/', il est possible d'utiliser un autre délimiteur afin de rendre la
directive plus lisible :</p>
- <div class="example"><h3>Exemple d'utilisation d'un délimiteur
+ <div class="example"><h3>Exemple d'utilisation d'un délimiteur
alternatif</h3><pre class="prettyprint lang-config"><Location "/">
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|<BR */?>|<br />|i"
</Location></pre>
</div>
- <p>Lorsqu'on utilise des expressions rationnelles, on peut insérer
- des références arrières dans les opérations de comparaison et de
- substitution, comme illustré dans l'exemple suivant :</p>
- <div class="example"><h3>Exemple d'utilisation de références arrières et de captures</h3><pre class="prettyprint lang-config"><Location "/">
+ <p>Lorsqu'on utilise des expressions rationnelles, on peut insérer
+ des références arrières dans les opérations de comparaison et de
+ substitution, comme illustré dans l'exemple suivant :</p>
+ <div class="example"><h3>Exemple d'utilisation de références arrières et de captures</h3><pre class="prettyprint lang-config"><Location "/">
AddOutputFilterByType SUBSTITUTE text/html
# "foo=k,bar=k" -> "foo/bar=k"
Substitute "s|foo=(\w+),bar=\1|foo/bar=$1|"
</Location></pre>
</div>
- <p>Lorsque la valeur de <var>substitution</var> est spécifiée sous la forme
- d'une <a href="../expr.html">expression rationnelle</a>, les références
- arrières doivent être échappées avec un backslash ('\') comme illustré dans
+ <p>Lorsque la valeur de <var>substitution</var> est spécifiée sous la forme
+ d'une <a href="../expr.html">expression rationnelle</a>, les références
+ arrières doivent être échappées avec un backslash ('\') comme illustré dans
l'exemple suivant :</p>
<div class="example"><h3>Exemple de substitution sous forme d'expression rationnelle</h3><pre class="prettyprint lang-config"><Location "/">
AddOutputFilterByType SUBSTITUTE text/html
<div class="warning"><h3>Expressions rationnelles et mise en cache</h3>
<p>La prudence s'impose lorsqu'on effectue des substitutions qui font
- références à des en-têtes de requêtes HTTP. En effet, comme ce module agit
- après l'envoi des en-têtes de la réponse, l'<a href="../expr.html">interpréteur d'expression</a> n'est pas en mesure
- d'ajouter les en-têtes de la requête HTTP référencés à l'en-tête Vary de
+ références à des en-têtes de requêtes HTTP. En effet, comme ce module agit
+ après l'envoi des en-têtes de la réponse, l'<a href="../expr.html">interpréteur d'expression</a> n'est pas en mesure
+ d'ajouter les en-têtes de la requête HTTP référencés à l'en-tête Vary de
sortie.</p>
</div>
- <p>Un scénario courant d'utilisation de <code>mod_substitute</code>
- est la situation où un serveur frontal mandate des requêtes pour un
- serveur d'arrière-plan qui renvoie des documents HTML contenant des
- URLs intégrées codées en dur qui font référence à ce serveur
- d'arrière-plan. Ces URLs ne fonctionnent pas pour l'utilisateur
- final car le serveur d'arrière-plan est hors d'atteinte.</p>
+ <p>Un scénario courant d'utilisation de <code>mod_substitute</code>
+ est la situation où un serveur frontal mandate des requêtes pour un
+ serveur d'arrière-plan qui renvoie des documents HTML contenant des
+ URLs intégrées codées en dur qui font référence à ce serveur
+ d'arrière-plan. Ces URLs ne fonctionnent pas pour l'utilisateur
+ final car le serveur d'arrière-plan est hors d'atteinte.</p>
<p>On peut, dans ce cas, utiliser <code>mod_substitute</code> pour
- réécrire ces URLs afin qu'elles soit utilisables dans la partie
- située derrière le mandataire :</p>
+ réécrire ces URLs afin qu'elles soit utilisables dans la partie
+ située derrière le mandataire :</p>
- <div class="example"><h3>Réécriture des URLs intégrées à un contenu mandaté</h3><pre class="prettyprint lang-config">ProxyPass "/blog/" "http://internal.blog.example.com/"
+ <div class="example"><h3>Réécriture des URLs intégrées à un contenu mandaté</h3><pre class="prettyprint lang-config">ProxyPass "/blog/" "http://internal.blog.example.com/"
ProxyPassReverse "/blog/" "http://internal.blog.example.com/"
Substitute "s|http://internal.blog.example.com/|http://www.example.com/blog/|i"</pre>
</div>
- <p>La directive <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> modifie tout en-tête
- <code>Location</code> (redirection) envoyé par le serveur
- d'arrière-plan et, dans cet exemple, la directive
- <code class="directive">Substitute</code> se charge à son tour de la modification de
- la réponse HTML.</p>
+ <p>La directive <code class="directive"><a href="../mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> modifie tout en-tête
+ <code>Location</code> (redirection) envoyé par le serveur
+ d'arrière-plan et, dans cet exemple, la directive
+ <code class="directive">Substitute</code> se charge à son tour de la modification de
+ la réponse HTML.</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="substituteinheritbefore" id="substituteinheritbefore">Directive</a> <a name="SubstituteInheritBefore" id="SubstituteInheritBefore">SubstituteInheritBefore</a><a title="Lien permanent" href="#substituteinheritbefore" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Modifie l'ordre de fusion des modèles hérités</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Modifie l'ordre de fusion des modèles hérités</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SubstituteInheritBefore on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SubstituteInheritBefore 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#Default">Défaut:</a></th><td><code>SubstituteInheritBefore 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">AllowOverride:</a></th><td>FileInfo</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_substitute</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur HTTP
Apache</td></tr>
</table>
- <p>Cette directive permet de définir si l'on applique les modèles
-<code class="directive"><a href="#substitute">Substitute</a></code> hérités en premier
-(valeur <code>on</code>), ou après ceux du
+ <p>Cette directive permet de définir si l'on applique les modèles
+<code class="directive"><a href="#substitute">Substitute</a></code> hérités en premier
+(valeur <code>on</code>), ou après ceux du
contexte courant (valeur <code>off</code>). Sa valeur est maintenant
-définie par défaut à <code>on</code> ; il est cependant possible de
-restaurer le comportement des versions 2.4 et antérieures du serveur qui
-était équivalent à une définition à <code>off</code> de cette directive.
+définie par défaut à <code>on</code> ; il est cependant possible de
+restaurer le comportement des versions 2.4 et antérieures du serveur qui
+était équivalent à une définition à <code>off</code> de cette directive.
La valeur de la directive <code class="directive">SubstituteInheritBefore</code> est
-elle-même héritée, et les contextes qui en héritent (ceux qui ne
-définissent pas explicitement leur propre directive
+elle-même héritée, et les contextes qui en héritent (ceux qui ne
+définissent pas explicitement leur propre directive
<code class="directive">SubstituteInheritBefore</code>) appliqueront donc
-l'ordre de fusion défini le plus proche.</p>
+l'ordre de fusion défini le plus proche.</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="substitutemaxlinelength" id="substitutemaxlinelength">Directive</a> <a name="SubstituteMaxLineLength" id="SubstituteMaxLineLength">SubstituteMaxLineLength</a><a title="Lien permanent" href="#substitutemaxlinelength" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la longueur de ligne maximale</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la longueur de ligne maximale</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SubstituteMaxLineLength <var>octets</var>(b|B|k|K|m|M|g|G)</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SubstituteMaxLineLength 1m</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#Default">Défaut:</a></th><td><code>SubstituteMaxLineLength 1m</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">AllowOverride:</a></th><td>FileInfo</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_substitute</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.11 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.11 du serveur HTTP
Apache</td></tr>
</table>
- <p>La taille de la ligne traitée par <code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code>
- est limitée afin de restreindre l'utilisation des ressources
- mémoire. La directive <code class="directive">SubstituteMaxLineLength</code>
- permet de définir cette limite. La valeur de la limite peut être
- spécifiée sous la forme d'un nombre d'octets, et peut être suffixée
+ <p>La taille de la ligne traitée par <code class="module"><a href="../mod/mod_substitute.html">mod_substitute</a></code>
+ est limitée afin de restreindre l'utilisation des ressources
+ mémoire. La directive <code class="directive">SubstituteMaxLineLength</code>
+ permet de définir cette limite. La valeur de la limite peut être
+ spécifiée sous la forme d'un nombre d'octets, et peut être suffixée
par une des lettres <code>b</code>, <code>B</code>, <code>k</code>,
<code>K</code>, <code>m</code>, <code>M</code>, <code>g</code> ou
<code>G</code> pour fournir une valeur respectivement en octets,
- kiloOctets, mégaOctets ou gigaOctets.</p>
+ kiloOctets, mégaOctets ou gigaOctets.</p>
<div class="example"><h3>Example</h3><pre class="prettyprint lang-config"><Location "/">
AddOutputFilterByType SUBSTITUTE text/html
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_substitute.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_substitute.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_substitute.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_suexec</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_suexec.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_suexec.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet l'exécution des scripts CGI sous l'utilisateur et
-le groupe spécifiés</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet l'exécution des scripts CGI sous l'utilisateur et
+le groupe spécifiés</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>suexec_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_suexec.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>suexec_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_suexec.c</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module, en combinaison avec son programme support
- <code class="program"><a href="../programs/suexec.html">suexec</a></code>, permet l'exécution des scripts CGI sous
- l'utilisateur et le groupe spécifiés.</p>
+ <code class="program"><a href="../programs/suexec.html">suexec</a></code>, permet l'exécution des scripts CGI sous
+ l'utilisateur et le groupe spécifiés.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#suexecusergroup">SuexecUserGroup</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_suexec">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_suexec">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_suexec">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_suexec">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../suexec.html">Support de SuEXEC</a></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="directive-section"><h2><a name="suexecusergroup" id="suexecusergroup">Directive</a> <a name="SuexecUserGroup" id="SuexecUserGroup">SuexecUserGroup</a><a title="Lien permanent" href="#suexecusergroup" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'utilisateur et le groupe sous lesquels les programmes CGI
-doivent s'exécuter</td></tr>
+doivent s'exécuter</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SuexecUserGroup <em>Utilisateur Groupe</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_suexec</td></tr>
</table>
<p>La directive <code class="directive">SuexecUserGroup</code> permet de
- spécifier l'utilisateur et le groupe sous lesquels les programmes
- CGI doivent s'exécuter. Les requêtes non CGI seront toujours
- traitées avec l'utilisateur spécifié par la directive <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code>.</p>
+ spécifier l'utilisateur et le groupe sous lesquels les programmes
+ CGI doivent s'exécuter. Les requêtes non CGI seront toujours
+ traitées avec l'utilisateur spécifié par la directive <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SuexecUserGroup nobody nogroup</pre>
</div>
- <p>Le démarrage va échouer si cette
- directive est spécifiée et si la fonctionnalité suEXEC est
- désactivée.</p>
+ <p>Le démarrage va échouer si cette
+ directive est spécifiée et si la fonctionnalité suEXEC est
+ désactivée.</p>
<h3>Voir aussi</h3>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_suexec.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_suexec.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_suexec.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_syslog</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_syslog.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_syslog.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_syslog.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support du fournisseur de journalisation "syslog"</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>syslog_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_syslog.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>syslog_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_syslog.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module implémente le fournisseur de journalisation "syslog".
+ <p>Ce module implémente le fournisseur de journalisation "syslog".
Il permet de journaliser les messages d'erreur via syslogd(8).</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_syslog">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_syslog">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_syslog">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_syslog">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<h2><a name="examples" id="examples">Exemples</a><a title="Lien permanent" href="#examples" class="permalink">¶</a></h2>
- <p>Si le système le supporte, l'utilisation du paramètre
+ <p>Si le système le supporte, l'utilisation du paramètre
<code>syslog</code> avec la directive ErrorLog (voir la
- documentation du module <code class="module"><a href="../mod/core.html">core</a></code>) à la place d'un nom
+ documentation du module <code class="module"><a href="../mod/core.html">core</a></code>) à la place d'un nom
de fichier permet de journaliser les messages d'erreur via
- syslogd(8). Par défaut, c'est le port syslog <code>local7</code> qui
- est utilisé, mais vous pouvez le modifier via la syntaxe
- <code>syslog:<var>port</var></code> où <var>port</var> pourra
- correspondre à un des noms habituellement définis dans la
- documentation de syslog(1). La définition de ce port est réellement
- globale, et même si elle est modifiée au niveau d'un serveur
+ syslogd(8). Par défaut, c'est le port syslog <code>local7</code> qui
+ est utilisé, mais vous pouvez le modifier via la syntaxe
+ <code>syslog:<var>port</var></code> où <var>port</var> pourra
+ correspondre à un des noms habituellement définis dans la
+ documentation de syslog(1). La définition de ce port est réellement
+ globale, et même si elle est modifiée au niveau d'un serveur
virtuel, elle affecte l'ensemble du serveur.</p>
<pre class="prettyprint lang-config">ErrorLog syslog:user</pre>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_syslog.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_syslog.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_syslog.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_systemd</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_systemd.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_systemd.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_systemd.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournit un support amélioré pour l'intégration de systemd</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournit un support amélioré pour l'intégration de systemd</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>systemd_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_systemd.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>systemd_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_systemd.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module implémente le support de l'intégration de systemd. Il
- permet de démarrer httpd en temps que service avec le paramètre de
+ <p>Ce module implémente le support de l'intégration de systemd. Il
+ permet de démarrer httpd en temps que service avec le paramètre de
systemd <code>Type=notify</code> (voir la page de manuel
- systemd.service(5) pour plus de détails). Il ajoute aussi des
- statistiques à la sortie de la commande <code>systemctl
- status</code>, et fournit diverses directives pour l'intégration de
+ systemd.service(5) pour plus de détails). Il ajoute aussi des
+ statistiques à la sortie de la commande <code>systemctl
+ status</code>, et fournit diverses directives pour l'intégration de
systemd.
</p>
</div>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#idleshutdown">IdleShutdown</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_systemd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_systemd">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_systemd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_systemd">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</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="idleshutdown" id="idleshutdown">Directive</a> <a name="IdleShutdown" id="IdleShutdown">IdleShutdown</a><a title="Lien permanent" href="#idleshutdown" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'arrêter httpd lorsque qu'il est inactif pendant un
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'arrêter httpd lorsque qu'il est inactif pendant un
certain temps.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IdleShutdown seconds</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>IdleShutdown 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>IdleShutdown 0</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_systemd</td></tr>
</table>
- <p>La directive <code class="directive">IdleShutdown</code> permet d'arrêter
+ <p>La directive <code class="directive">IdleShutdown</code> permet d'arrêter
httpd lorsque qu'il est inactif pendant un certain temps. Ce statut
- d'inactivité se base sur le nombre d'octets envoyés ; par conséquent, si
- aucun octet n'est envoyé pendant le temps spécifié par cette
- directive, httpd sera arrêté. Par défaut, IdleShutdown est définie à
- 0, ce qui signifie que cette fonctionnalité est désactivée.
+ d'inactivité se base sur le nombre d'octets envoyés ; par conséquent, si
+ aucun octet n'est envoyé pendant le temps spécifié par cette
+ directive, httpd sera arrêté. Par défaut, IdleShutdown est définie à
+ 0, ce qui signifie que cette fonctionnalité est désactivée.
</p>
- <p>Cette fonctionnalité prend tout son sens en combinaison avec
+ <p>Cette fonctionnalité prend tout son sens en combinaison avec
l'activation du socket systemd (voir la page de manuel
- systemd.socket(5)). En effet, lorsque httpd est démarré par systemd
- suite à l'arrivée d'une ou plusieurs requêtes HTTP, cette directive
- vous permet d'arrêter httpd automatiquement lorsque toutes les
- requêtes ont été traitées.
+ systemd.socket(5)). En effet, lorsque httpd est démarré par systemd
+ suite à l'arrivée d'une ou plusieurs requêtes HTTP, cette directive
+ vous permet d'arrêter httpd automatiquement lorsque toutes les
+ requêtes ont été traitées.
</p>
- <div class="warning"><h3>Particularité de cette implémentation</h3><p>
- De par la conception de cette implémentation, l'inactivité de httpd
- n'est vérifiée que toutes les 10 secondes, ce qui signifie que si
- vous spécifiez <code>IdleShutdown 14</code>, httpd ne s'arrêtera
- qu'après 20 secondes d'inactivité.
+ <div class="warning"><h3>Particularité de cette implémentation</h3><p>
+ De par la conception de cette implémentation, l'inactivité de httpd
+ n'est vérifiée que toutes les 10 secondes, ce qui signifie que si
+ vous spécifiez <code>IdleShutdown 14</code>, httpd ne s'arrêtera
+ qu'après 20 secondes d'inactivité.
</p></div>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_systemd.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_systemd.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_systemd.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_unique_id</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_unique_id.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_unique_id.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_unique_id.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_unique_id.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_unique_id.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournit une variable d'environnement contenant un
-identifiant unique pour chaque requête</td></tr>
+identifiant unique pour chaque requête</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>unique_id_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_unique_id.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>unique_id_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_unique_id.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module fournit un identifiant dont l'unicité est garantie
- parmi "toutes" les requêtes sous des conditions très précises.
+ <p>Ce module fournit un identifiant dont l'unicité est garantie
+ parmi "toutes" les requêtes sous des conditions très précises.
L'identifiant unique le sera aussi parmi plusieurs machines
- appartenant à un cluster correctement configuré. L'identifiant est
- affecté à la variable d'environnement <code>UNIQUE_ID</code> pour
- chaque requête. Les identifiants uniques sont utiles pour diverses
- raisons dont la nature se situe au delà de la portée de ce
+ appartenant à un cluster correctement configuré. L'identifiant est
+ affecté à la variable d'environnement <code>UNIQUE_ID</code> pour
+ chaque requête. Les identifiants uniques sont utiles pour diverses
+ raisons dont la nature se situe au delà de la portée de ce
document.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#theory">Théorie</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#theory">Théorie</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_unique_id">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_unique_id">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_unique_id">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_unique_id">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></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="theory" id="theory">Théorie</a><a title="Lien permanent" href="#theory" class="permalink">¶</a></h2>
+<h2><a name="theory" id="theory">Théorie</a><a title="Lien permanent" href="#theory" class="permalink">¶</a></h2>
- <p>Tout d'abord un bref rappel de la manière dont le serveur Apache
- fonctionne sous Unix (cette fonctionnalité n'étant actuellement pas
- supportée sous Windows NT). Sous Unix, Apache crée plusieurs
- processus enfants, ces derniers traitant les requêtes une par une.
- Chaque processus enfant peut traiter plusieurs requêtes pendant sa
- durée de vie. Dans le cadre de cette discussion, nous supposerons
- que les différents processus enfants ne s'échangent pas de données
- entre eux. Nous nous référerons aux processus enfants sous le nom de
+ <p>Tout d'abord un bref rappel de la manière dont le serveur Apache
+ fonctionne sous Unix (cette fonctionnalité n'étant actuellement pas
+ supportée sous Windows NT). Sous Unix, Apache crée plusieurs
+ processus enfants, ces derniers traitant les requêtes une par une.
+ Chaque processus enfant peut traiter plusieurs requêtes pendant sa
+ durée de vie. Dans le cadre de cette discussion, nous supposerons
+ que les différents processus enfants ne s'échangent pas de données
+ entre eux. Nous nous référerons aux processus enfants sous le nom de
<dfn>processus httpd</dfn>.</p>
- <p>Votre site web est réparti entre une ou plusieurs machines dont
- vous êtes l'administrateur, et que nous nommerons cluster de
- serveurs. Chaque serveur peut exécuter plusieurs instances d'Apache.
- L'ensemble de ces dernières sera considéré comme "l'Univers", et
- sous certaines hypothèses, nous montrerons qu'il est possible dans
- cet univers, de générer des identifiants uniques pour chaque
- requête, sans pour autant nécessiter une communication importante
- entre les différents serveurs du cluster.</p>
+ <p>Votre site web est réparti entre une ou plusieurs machines dont
+ vous êtes l'administrateur, et que nous nommerons cluster de
+ serveurs. Chaque serveur peut exécuter plusieurs instances d'Apache.
+ L'ensemble de ces dernières sera considéré comme "l'Univers", et
+ sous certaines hypothèses, nous montrerons qu'il est possible dans
+ cet univers, de générer des identifiants uniques pour chaque
+ requête, sans pour autant nécessiter une communication importante
+ entre les différents serveurs du cluster.</p>
<p>Les machines de votre cluster doivent satisfaire ces conditions
- (même si le cluster ne comporte qu'une machine, vous devez
+ (même si le cluster ne comporte qu'une machine, vous devez
synchroniser son horloge avec NTP) :</p>
<ul>
- <li>Les temps des machines sont synchronisés via NTP ou tout autre
- protocole de synchronisation du temps en réseau.</li>
+ <li>Les temps des machines sont synchronisés via NTP ou tout autre
+ protocole de synchronisation du temps en réseau.</li>
- <li>Les nom d'hôtes des machines sont tous différents, de façon à
- ce que le module puisse recevoir une adresse IP différente pour
+ <li>Les nom d'hôtes des machines sont tous différents, de façon à
+ ce que le module puisse recevoir une adresse IP différente pour
chaque machine du cluster en effectuant une recherche sur le nom
- d'hôte.</li>
+ d'hôte.</li>
</ul>
- <p>Au vu des caractéristiques actuelles du système d'exploitation,
- nous supposerons que les pids (identifiants processus) sont codés
- sur 32 bits. Si le système d'exploitation utilise plus de 32 bits
- pour un pid, la correction est triviale mais doit être effectuée
+ <p>Au vu des caractéristiques actuelles du système d'exploitation,
+ nous supposerons que les pids (identifiants processus) sont codés
+ sur 32 bits. Si le système d'exploitation utilise plus de 32 bits
+ pour un pid, la correction est triviale mais doit être effectuée
dans le code.</p>
- <p>Ces hypothèses posées, à un instant donné, nous pouvons
+ <p>Ces hypothèses posées, à un instant donné, nous pouvons
distinguer tout processus httpd sur toute machine du cluster de tous
les autres processus httpd. Pour ce faire, il suffit d'utiliser
l'adresse IP de la machine et le pid du processus httpd. Un
- processus httpd peut traiter plusieurs requêtes simultanément si
- vous utilisez un module MPM multi-threadé. Pour identifier les
+ processus httpd peut traiter plusieurs requêtes simultanément si
+ vous utilisez un module MPM multi-threadé. Pour identifier les
threads, Apache httpd utilise en interne un index de threads. Ainsi,
- afin de générer des identifiants uniques pour chaque requête, il
+ afin de générer des identifiants uniques pour chaque requête, il
suffit d'effectuer une distinction en fonction du temps.</p>
- <p>Pour déterminer le temps, nous utiliserons un repère de temps
- Unix (les secondes écoulées depuis le 1er janvier 1970 UTC), et un
- compteur 16 bits. La précision du repère de temps n'étant que d'une
- seconde, le compteur va représenter 65536 valeurs par seconde. Le
- quadruplet <em>(adresse IP, pid, repère de temps, compteur)</em> est
- en mesure de distinguer 65536 requêtes par seconde par processus
- httpd. Il peut cependant arriver que le même pid soit réutilisé au
- cours du temps, et le compteur est là pour pallier cet
- inconvénient.</p>
+ <p>Pour déterminer le temps, nous utiliserons un repère de temps
+ Unix (les secondes écoulées depuis le 1er janvier 1970 UTC), et un
+ compteur 16 bits. La précision du repère de temps n'étant que d'une
+ seconde, le compteur va représenter 65536 valeurs par seconde. Le
+ quadruplet <em>(adresse IP, pid, repère de temps, compteur)</em> est
+ en mesure de distinguer 65536 requêtes par seconde par processus
+ httpd. Il peut cependant arriver que le même pid soit réutilisé au
+ cours du temps, et le compteur est là pour pallier cet
+ inconvénient.</p>
- <p>Lorsqu'un processus enfant httpd est créé, le compteur est
- initialisé avec (nombre de microsecondes actuel divisé par 10)
- modulo 65536 (cette formule a été choisie pour éliminer certains
- problème de variance avec les bits de poids faibles du compteur de
- microsecondes sur certains systèmes). Lorsqu'un identifiant unique
- est généré, le repère de temps utilisé est le moment où la requête
- arrive sur le serveur web. Le compteur est incrémenté à chaque
- création d'identifiant (et peut repasser à 0 lorsqu'il a atteint sa
+ <p>Lorsqu'un processus enfant httpd est créé, le compteur est
+ initialisé avec (nombre de microsecondes actuel divisé par 10)
+ modulo 65536 (cette formule a été choisie pour éliminer certains
+ problème de variance avec les bits de poids faibles du compteur de
+ microsecondes sur certains systèmes). Lorsqu'un identifiant unique
+ est généré, le repère de temps utilisé est le moment où la requête
+ arrive sur le serveur web. Le compteur est incrémenté à chaque
+ création d'identifiant (et peut repasser à 0 lorsqu'il a atteint sa
valeur maximale).</p>
- <p>Le noyau génère un pid pour chaque processus lors de sa création,
- et le compteur de pid est réinitialisé à une certaine valeur
- lorsqu'il a atteint sa valeur maximale (les pid sont codés sur 16
- bits sous de nombreux Unixes, mais les systèmes les plus récents les
- ont étendus à 32 bits). La même valeur de pid pourra donc être
- réutilisée au cours du temps. Cependant, tant qu'elle n'est pas
- réutilisée dans la même seconde, elle ne remet pas en cause
- l'unicité de notre quadruplet. Nous supposerons donc que le système
- ne créera pas plus de 65536 processus en une seconde (ce nombre peut
- être de 32768 sous certains Unixes, mais même dans ce cas, on est en
- général loin de cette situation).</p>
+ <p>Le noyau génère un pid pour chaque processus lors de sa création,
+ et le compteur de pid est réinitialisé à une certaine valeur
+ lorsqu'il a atteint sa valeur maximale (les pid sont codés sur 16
+ bits sous de nombreux Unixes, mais les systèmes les plus récents les
+ ont étendus à 32 bits). La même valeur de pid pourra donc être
+ réutilisée au cours du temps. Cependant, tant qu'elle n'est pas
+ réutilisée dans la même seconde, elle ne remet pas en cause
+ l'unicité de notre quadruplet. Nous supposerons donc que le système
+ ne créera pas plus de 65536 processus en une seconde (ce nombre peut
+ être de 32768 sous certains Unixes, mais même dans ce cas, on est en
+ général loin de cette situation).</p>
- <p>Il est possible que le temps se répète pour une raison
+ <p>Il est possible que le temps se répète pour une raison
quelconque.
- Supposons par exemple que l'horloge système soit retardée et repasse
- par un temps passé (ou bien, comme elle avançait, elle a été remise
- à l'heure, et elle repasse par un temps futur). Dans ce cas, il peut
- être facilement démontré que le couple pid/repère de temps peut être
- réutilisé. Le choix de la formule d'initialisation du compteur a
- été effectué dans l'intention de pallier ce problème. Notez qu'un
- nombre vraiment aléatoire serait souhaitable pour initialiser le
+ Supposons par exemple que l'horloge système soit retardée et repasse
+ par un temps passé (ou bien, comme elle avançait, elle a été remise
+ à l'heure, et elle repasse par un temps futur). Dans ce cas, il peut
+ être facilement démontré que le couple pid/repère de temps peut être
+ réutilisé. Le choix de la formule d'initialisation du compteur a
+ été effectué dans l'intention de pallier ce problème. Notez qu'un
+ nombre vraiment aléatoire serait souhaitable pour initialiser le
compteur, mais il n'existe pas de tel nombre directement lisible sur
- la plupart des systèmes (c'est à dire que vous ne pouvez pas
- utiliser rand() car vous devez déclencher le générateur avec une
- valeur unique, et vous ne pouvez pas utiliser le temps à cet effet
- car celui-ci , au moins à la seconde près, s'est répété). Il ne
- s'agit donc pas d'une défense parfaite.</p>
+ la plupart des systèmes (c'est à dire que vous ne pouvez pas
+ utiliser rand() car vous devez déclencher le générateur avec une
+ valeur unique, et vous ne pouvez pas utiliser le temps à cet effet
+ car celui-ci , au moins à la seconde près, s'est répété). Il ne
+ s'agit donc pas d'une défense parfaite.</p>
- <p>Même si elle n'est pas parfaite, quel est le degré d'efficacité
- de cette défense ? Supposons
- qu'une de vos machines serve au plus 500 requêtes par seconde (ce
- qui constitue une limite supérieure très raisonnable au moment où ce
- document est écrit, car les systèmes ne se contentent en général pas
- de débiter des fichiers statiques). Pour y parvenir, un certain nombre
- de processus enfants sera nécessaire, qui dépendra du nombre de
- clients simultanés présents. Mais soyons pessimiste et supposons
- qu'un seul processus enfant soit capable de servir 500 requêtes par
+ <p>Même si elle n'est pas parfaite, quel est le degré d'efficacité
+ de cette défense ? Supposons
+ qu'une de vos machines serve au plus 500 requêtes par seconde (ce
+ qui constitue une limite supérieure très raisonnable au moment où ce
+ document est écrit, car les systèmes ne se contentent en général pas
+ de débiter des fichiers statiques). Pour y parvenir, un certain nombre
+ de processus enfants sera nécessaire, qui dépendra du nombre de
+ clients simultanés présents. Mais soyons pessimiste et supposons
+ qu'un seul processus enfant soit capable de servir 500 requêtes par
secondes.
- Il existe 1000 valeurs de démarrage possibles du compteur pour
- lesquelles deux séquences de 500 requêtes puissent se recouvrir. Il
- y a donc 1,5% de chance que le processus enfant répète une valeur de
- compteur si le temps se répète (avec une résolution d'une seconde),
- et l'unicité sera alors remise en cause. C'est cependant un exemple
- très pessimiste, et avec les valeurs du monde réel, il y a bien
+ Il existe 1000 valeurs de démarrage possibles du compteur pour
+ lesquelles deux séquences de 500 requêtes puissent se recouvrir. Il
+ y a donc 1,5% de chance que le processus enfant répète une valeur de
+ compteur si le temps se répète (avec une résolution d'une seconde),
+ et l'unicité sera alors remise en cause. C'est cependant un exemple
+ très pessimiste, et avec les valeurs du monde réel, il y a bien
moins de chances que cela ne se produise. Si vous estimez que ceci a
- tout de même quelque chances de se produire sur votre système, vous
- pouvez migrer vers un compteur à 32 bits (en modifiant le code).</p>
+ tout de même quelque chances de se produire sur votre système, vous
+ pouvez migrer vers un compteur à 32 bits (en modifiant le code).</p>
<p>On pourrait supposer que ceci a plus de chance de se produire
- lors du passage à l'heure d'hiver où l'horloge est "retardée". Cela
- ne constitue cependant pas un problème car les temps pris en compte
+ lors du passage à l'heure d'hiver où l'horloge est "retardée". Cela
+ ne constitue cependant pas un problème car les temps pris en compte
ici sont des temps UTC, qui vont "toujours" de l'avant. Notez que
- les Unixes à base de processeur x86 peuvent nécessiter une
- configuration particulière pour que ceci soit vrai -- il doivent
- être configurés pour assumer que l'horloge système est en UTC et
- compenser de manière appropriée. Mais même dans ce cas, si vous
- utilisez NTP, votre temps UTC sera correct peu après le
- redémarrage.</p>
+ les Unixes à base de processeur x86 peuvent nécessiter une
+ configuration particulière pour que ceci soit vrai -- il doivent
+ être configurés pour assumer que l'horloge système est en UTC et
+ compenser de manière appropriée. Mais même dans ce cas, si vous
+ utilisez NTP, votre temps UTC sera correct peu après le
+ redémarrage.</p>
<p>La variable d'environnement <code>UNIQUE_ID</code> est construite
par codage du quadruplet de 144 bits (adresse IP sur 32 bits, pid
- sur 32 bits, repère de temps sur 32 bits, compteur 16 bits et index
+ sur 32 bits, repère de temps sur 32 bits, compteur 16 bits et index
de threads sur 32 bits) en
- utilisant l'alphabet <code>[A-Za-z0-9@-]</code> d'une manière
- similaire à celle du codage MIME base64, et sa valeur se présente
- sous la forme d'une chaîne de 24 caractères. L'alphabet MIME base64
- est en fait <code>[A-Za-z0-9+/]</code> ; cependant, les caractères
- <code>+</code> et <code>/</code> nécessitent un codage particulier
+ utilisant l'alphabet <code>[A-Za-z0-9@-]</code> d'une manière
+ similaire à celle du codage MIME base64, et sa valeur se présente
+ sous la forme d'une chaîne de 24 caractères. L'alphabet MIME base64
+ est en fait <code>[A-Za-z0-9+/]</code> ; cependant, les caractères
+ <code>+</code> et <code>/</code> nécessitent un codage particulier
dans les URLs, ce qui rend leur utilisation peu commode. Toutes les
- valeurs sont codées dans l'ordre des octets d'une adresse réseau de
- façon à ce
- que le codage soit comparable entre des architectures où l'ordre des
- octets est différent. L'ordre réel de codage est : repère de temps,
- adresse IP, pid, compteur. Cet ordre de codage possède un but
- précis, mais il faut souligner que les applications n'ont aucun
- intérêt à entrer dans les détails de ce codage. Les applications
+ valeurs sont codées dans l'ordre des octets d'une adresse réseau de
+ façon à ce
+ que le codage soit comparable entre des architectures où l'ordre des
+ octets est différent. L'ordre réel de codage est : repère de temps,
+ adresse IP, pid, compteur. Cet ordre de codage possède un but
+ précis, mais il faut souligner que les applications n'ont aucun
+ intérêt à entrer dans les détails de ce codage. Les applications
doivent se contenter de traiter la variable <code>UNIQUE_ID</code>
- comme un symbole opaque, qui peut être comparé avec d'autres
- <code>UNIQUE_ID</code>s en ne testant que leur égalité.</p>
+ comme un symbole opaque, qui peut être comparé avec d'autres
+ <code>UNIQUE_ID</code>s en ne testant que leur égalité.</p>
- <p>L'ordre a été choisi de façon à ce qu'il soit possible de
- modifier le codage dans le futur sans avoir à se préoccuper de
- conflits éventuels avec une base de données de
+ <p>L'ordre a été choisi de façon à ce qu'il soit possible de
+ modifier le codage dans le futur sans avoir à se préoccuper de
+ conflits éventuels avec une base de données de
<code>UNIQUE_ID</code>s existante. Les nouveaux codages doivent
- conserver le repère de temps comme premier élément, et pour le
- reste, utiliser les même alphabet et longueur en bits. Comme les
- repères de temps constituent essentiellement un séquence croissante,
- il suffit que toutes les machines du cluster arrêtent de traiter
- toute requête dans la même <em>seconde repère</em>, et n'utilisent
+ conserver le repère de temps comme premier élément, et pour le
+ reste, utiliser les même alphabet et longueur en bits. Comme les
+ repères de temps constituent essentiellement un séquence croissante,
+ il suffit que toutes les machines du cluster arrêtent de traiter
+ toute requête dans la même <em>seconde repère</em>, et n'utilisent
alors plus l'ancien format de codage. Ensuite, elles peuvent
- reprendre le traitement des requêtes en utilisant les nouveaux
+ reprendre le traitement des requêtes en utilisant les nouveaux
codages.</p>
<p>Nous pensons que ceci apporte une solution relativement portable
- au problème. Les
- identifiants générés possèdent une durée de vie pratiquement infinie
- car les identifiants futurs pourront être allongés selon les
+ au problème. Les
+ identifiants générés possèdent une durée de vie pratiquement infinie
+ car les identifiants futurs pourront être allongés selon les
besoins. Pratiquement aucune communication n'est requise entre les
machines du cluster (seule la synchronisation NTP est requise, ce
- qui représente une charge très faible), et aucune communication
- entre les processus httpd n'est nécessaire (la communication est
- implicite et incluse dans le pid assigné par le noyau). Dans des
- situations très spécifiques, l'identifiant peut être raccourci, mais
- dans ce cas, d'avantage d'informations doivent être admises (par
+ qui représente une charge très faible), et aucune communication
+ entre les processus httpd n'est nécessaire (la communication est
+ implicite et incluse dans le pid assigné par le noyau). Dans des
+ situations très spécifiques, l'identifiant peut être raccourci, mais
+ dans ce cas, d'avantage d'informations doivent être admises (par
exemple, les 32 bits de l'adresse IP sont excessifs pour la plupart
des sites, mais il n'existe pas de valeur de remplacement portable
plus courte).</p>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_unique_id.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_unique_id.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_unique_id.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_unique_id.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_unique_id.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_unixd</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_unixd.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_unixd.html" title="Français"> fr </a> |
-<a href="../tr/mod/mod_unixd.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../fr/mod/mod_unixd.html" title="Français"> fr </a> |
+<a href="../tr/mod/mod_unixd.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Sécurité de base (nécessaire) pour les plates-formes de la
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Sécurité de base (nécessaire) pour les plates-formes de la
famille Unix.</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>unixd_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_unixd.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>unixd_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_unixd.c</td></tr></table>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#suexec">Suexec</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#user">User</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_unixd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_unixd">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_unixd">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_unixd">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../suexec.html">Support de suEXEC</a></li>
<li><a href="#comments_section">Commentaires</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="chrootdir" id="chrootdir">Directive</a> <a name="ChrootDir" id="ChrootDir">ChrootDir</a><a title="Lien permanent" href="#chrootdir" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire dans lequel Apache doit se positionner au
-démarrage après avoir effectué un chroot(8).</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ChrootDir <var>chemin-répertoire</var></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#Description">Description:</a></th><td>Répertoire dans lequel Apache doit se positionner au
+démarrage après avoir effectué un chroot(8).</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ChrootDir <var>chemin-répertoire</var></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>configuration du serveur</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><code class="module"><a href="../mod/mod_unixd.html">mod_unixd</a></code></td></tr>
</table>
<p>Cette directive
permet de faire en sorte que le serveur effectue un
- <var>chroot(8)</var> vers le répertoire spécifié après le démarrage,
- mais avant d'accepter les requêtes en provenance du réseau.</p>
- <p>Notez que l'exécution du serveur dans un environnement chroot
- n'est pas simple et nécessite une configuration particulière, en
+ <var>chroot(8)</var> vers le répertoire spécifié après le démarrage,
+ mais avant d'accepter les requêtes en provenance du réseau.</p>
+ <p>Notez que l'exécution du serveur dans un environnement chroot
+ n'est pas simple et nécessite une configuration particulière, en
particulier si vous utilisez des scripts CGI ou PHP. Il est
- conseillé de se familiariser avec l'opération chroot avant d'essayer
- d'utiliser cette fonctionnalité.</p>
+ conseillé de se familiariser avec l'opération chroot avant d'essayer
+ d'utiliser cette fonctionnalité.</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="group" id="group">Directive</a> <a name="Group" id="Group">Group</a><a title="Lien permanent" href="#group" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Groupe sous lequel le serveur va traiter les
-requêtes</td></tr>
+requêtes</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Group <var>groupe unix</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Group #-1</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Group #-1</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>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_unixd</td></tr>
</table>
- <p>La directive <code class="directive">Group</code> permet de définir le
- groupe sous lequel le serveur va traiter les requêtes. Pour pouvoir
- utiliser cette directive, le serveur doit avoir été démarré par
- <code>root</code>. Si vous démarrez le serveur en tant
+ <p>La directive <code class="directive">Group</code> permet de définir le
+ groupe sous lequel le serveur va traiter les requêtes. Pour pouvoir
+ utiliser cette directive, le serveur doit avoir été démarré par
+ <code>root</code>. Si vous démarrez le serveur en tant
qu'utilisateur non root, celui-ci ne pourra pas adopter le groupe
- spécifié comme groupe d'exécution, et continuera à s'exécuter sous
- le groupe de l'utilisateur qui l'aura lancé. <var>groupe unix</var>
- peut se présenter sous la forme :</p>
+ spécifié comme groupe d'exécution, et continuera à s'exécuter sous
+ le groupe de l'utilisateur qui l'aura lancé. <var>groupe unix</var>
+ peut se présenter sous la forme :</p>
<dl>
<dt>d'un nom de groupe</dt>
- <dd>Référence le groupe spécifié par son nom.</dd>
+ <dd>Référence le groupe spécifié par son nom.</dd>
- <dt>du caractère <code>#</code> suivi d'un numéro de groupe.</dt>
- <dd>Référence le groupe spécifié par son numéro.</dd>
+ <dt>du caractère <code>#</code> suivi d'un numéro de groupe.</dt>
+ <dd>Référence le groupe spécifié par son numéro.</dd>
</dl>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">Group www-group</pre>
</div>
- <p>Il est conseillé de créer un groupe dédié à l'exécution du
+ <p>Il est conseillé de créer un groupe dédié à l'exécution du
serveur. Certains administrateurs utilisent l'utilisateur
- <code>nobody</code>, mais ce n'est pas toujours souhaitable ou même
+ <code>nobody</code>, mais ce n'est pas toujours souhaitable ou même
possible.</p>
- <div class="warning"><h3>Sécurité</h3>
- <p>Ne définissez pas la directive <code class="directive">Group</code> (ou
- <code class="directive"><a href="#user">User</a></code>) à
- <code>root</code> à moins de savoir exactement ce que vous faites
+ <div class="warning"><h3>Sécurité</h3>
+ <p>Ne définissez pas la directive <code class="directive">Group</code> (ou
+ <code class="directive"><a href="#user">User</a></code>) à
+ <code>root</code> à moins de savoir exactement ce que vous faites
ainsi que les dangers encourus.</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="suexec" id="suexec">Directive</a> <a name="Suexec" id="Suexec">Suexec</a><a title="Lien permanent" href="#suexec" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive la fonctionnalité suEXEC</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive la fonctionnalité suEXEC</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Suexec On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>On si le binaire suexec existe avec les mode et propriétaire
-appropriés, Off dans le cas contraire</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>On si le binaire suexec existe avec les mode et propriétaire
+appropriés, Off dans le cas contraire</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>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_unixd</td></tr>
</table>
- <p>Lorsque cette directive est définie à On, le démarrage échouera si
- le binaire suexec n'existe pas, ou possède un propriétaire ou mode
+ <p>Lorsque cette directive est définie à On, le démarrage échouera si
+ le binaire suexec n'existe pas, ou possède un propriétaire ou mode
fichier invalide.</p>
- <p>Lorsque cette directive est définie à Off, suEXEC sera désactivé,
- même si le binaire suexec existe et possède un propriétaire et mode
+ <p>Lorsque cette directive est définie à Off, suEXEC sera désactivé,
+ même si le binaire suexec existe et possède un propriétaire et mode
fichier valides.</p>
</div>
<div class="directive-section"><h2><a name="user" id="user">Directive</a> <a name="User" id="User">User</a><a title="Lien permanent" href="#user" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'utilisateur sous lequel le serveur va traiter les
-requêtes</td></tr>
+requêtes</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>User <var>utilisateur unix</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>User #-1</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>User #-1</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>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_unixd</td></tr>
</table>
- <p>La directive <code class="directive">User</code> permet de définir
- l'utilisateur sous lequel le serveur va traiter les requêtes. Pour
- pouvoir utiliser cette directive, le serveur doit avoir été démarré
- par <code>root</code>. Si vous démarrez le serveur en tant
+ <p>La directive <code class="directive">User</code> permet de définir
+ l'utilisateur sous lequel le serveur va traiter les requêtes. Pour
+ pouvoir utiliser cette directive, le serveur doit avoir été démarré
+ par <code>root</code>. Si vous démarrez le serveur en tant
qu'utilisateur non root, celui-ci ne pourra pas adopter
- l'utilisateur avec privilèges restreints comme utilisateur
- d'exécution, et continuera à s'exécuter sous
- l'utilisateur qui l'aura lancé. Si vous démarrez le serveur en tant
+ l'utilisateur avec privilèges restreints comme utilisateur
+ d'exécution, et continuera à s'exécuter sous
+ l'utilisateur qui l'aura lancé. Si vous démarrez le serveur en tant
que <code>root</code>, il est normal que le processus parent
- continue à s'exécuter sous root. <var>utilisateur unix</var> peut se
- présenter sous la forme :</p>
+ continue à s'exécuter sous root. <var>utilisateur unix</var> peut se
+ présenter sous la forme :</p>
<dl>
<dt>d'un nom d'utilisateur</dt>
- <dd>Référence l'utilisateur spécifié par son nom.</dd>
+ <dd>Référence l'utilisateur spécifié par son nom.</dd>
- <dt>le caractère # suivi d'un numéro d'utilisateur.</dt>
- <dd>Référence l'utilisateur spécifié par son numéro.</dd>
+ <dt>le caractère # suivi d'un numéro d'utilisateur.</dt>
+ <dd>Référence l'utilisateur spécifié par son numéro.</dd>
</dl>
- <p>L'utilisateur ne doit pas posséder de privilèges qui lui
- permettent d'accéder à des fichiers qui ne doivent pas être visibles
- du monde extérieur, et parallèlement, l'utilisateur ne doit pas
- exécuter de code dont l'usage soit destiné à un usage autre que les
- requêtes HTTP. Il est conseillé de créer un utilisateur et un groupe
- dédiés à l'exécution du serveur. Certains administrateurs utilisent
+ <p>L'utilisateur ne doit pas posséder de privilèges qui lui
+ permettent d'accéder à des fichiers qui ne doivent pas être visibles
+ du monde extérieur, et parallèlement, l'utilisateur ne doit pas
+ exécuter de code dont l'usage soit destiné à un usage autre que les
+ requêtes HTTP. Il est conseillé de créer un utilisateur et un groupe
+ dédiés à l'exécution du serveur. Certains administrateurs utilisent
l'utilisateur <code>nobody</code>, mais ce n'est pas toujours
souhaitable, car l'utilisateur <code>nobody</code> peut avoir
- diverses utilisations dans le système.</p>
+ diverses utilisations dans le système.</p>
- <div class="warning"><h3>Sécurité</h3>
- <p>Ne définissez pas la directive <code class="directive">Group</code> (ou
- <code class="directive"><a href="#user">User</a></code>) à
- <code>root</code> à moins de savoir exactement ce que vous faites
+ <div class="warning"><h3>Sécurité</h3>
+ <p>Ne définissez pas la directive <code class="directive">Group</code> (ou
+ <code class="directive"><a href="#user">User</a></code>) à
+ <code>root</code> à moins de savoir exactement ce que vous faites
ainsi que les dangers encourus.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_unixd.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_unixd.html" title="Français"> fr </a> |
-<a href="../tr/mod/mod_unixd.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../fr/mod/mod_unixd.html" title="Français"> fr </a> |
+<a href="../tr/mod/mod_unixd.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_userdir</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_userdir.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_userdir.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Répertoires propres à un utilisateur</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Répertoires propres à un utilisateur</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>userdir_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_userdir.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>userdir_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_userdir.c</td></tr></table>
<h3>Sommaire</h3>
-<p>Ce module permet l'accès aux répertoires propres à un utilisateur en
+<p>Ce module permet l'accès aux répertoires propres à un utilisateur en
utilisant la syntaxe <code>http://example.com/~utilisateur/</code>.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#userdir">UserDir</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_userdir">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_userdir">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_userdir">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_userdir">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../urlmapping.html">Mise en correspondance des URLs
-avec le système de fichiers</a></li>
+avec le système de fichiers</a></li>
<li><a href="../howto/public_html.html">Tutoriel
public_html</a></li>
<li><a href="#comments_section">Commentaires</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="userdir" id="userdir">Directive</a> <a name="UserDir" id="UserDir">UserDir</a><a title="Lien permanent" href="#userdir" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin des répertoires propres à un
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin des répertoires propres à un
utilisateur</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UserDir <em>nom-répertoire</em> [<em>nom-répertoire</em>] ...
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UserDir <em>nom-répertoire</em> [<em>nom-répertoire</em>] ...
</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_userdir</td></tr>
</table>
- <p>La directive <code class="directive">UserDir</code> permet de définir le
- répertoire réel du répertoire home d'un utilisateur à utiliser à la
- réception d'une requête pour un document de cet utilisateur.
- <em>nom-répertoire</em> peut se présenter sous la forme suivante
+ <p>La directive <code class="directive">UserDir</code> permet de définir le
+ répertoire réel du répertoire home d'un utilisateur à utiliser à la
+ réception d'une requête pour un document de cet utilisateur.
+ <em>nom-répertoire</em> peut se présenter sous la forme suivante
:</p>
<ul>
- <li>Le nom d'un répertoire ou un modèle tel que ceux présentés
+ <li>Le nom d'un répertoire ou un modèle tel que ceux présentés
ci-dessous.</li>
- <li>Le mot-clé <code>disabled</code>. <em>Toutes</em> les
- traductions nom d'utilisateur vers répertoire sont alors
- désactivées, à l'exception de celles comportant le mot-clé
+ <li>Le mot-clé <code>disabled</code>. <em>Toutes</em> les
+ traductions nom d'utilisateur vers répertoire sont alors
+ désactivées, à l'exception de celles comportant le mot-clé
<code>enabled</code> (voir ci-dessous).</li>
- <li>Le mot-clé <code>disabled</code> suivi d'une liste de noms
- d'utilisateurs séparés par des espaces. Les noms d'utilisateurs
+ <li>Le mot-clé <code>disabled</code> suivi d'une liste de noms
+ d'utilisateurs séparés par des espaces. Les noms d'utilisateurs
apparaissant dans une telle liste ne feront <em>jamais</em>
- l'objet d'une traduction vers un répertoire, même dans le cas où
- ils apparaîtront dans une clause <code>enabled</code>.</li>
+ l'objet d'une traduction vers un répertoire, même dans le cas où
+ ils apparaîtront dans une clause <code>enabled</code>.</li>
- <li>Le mot-clé <code>enabled</code> suivi d'une liste de noms
- d'utilisateurs séparés par des espaces. Les noms d'utilisateurs
- apparaissant dans une telle liste seront traduits en répertoires
- même dans le cas où une clause disable globale est active, mais
+ <li>Le mot-clé <code>enabled</code> suivi d'une liste de noms
+ d'utilisateurs séparés par des espaces. Les noms d'utilisateurs
+ apparaissant dans une telle liste seront traduits en répertoires
+ même dans le cas où une clause disable globale est active, mais
pas s'ils apparaissent aussi dans une clause
<code>disabled</code>.</li>
</ul>
- <p>Si aucun mot-clé <code>enabled</code> ou <code>disabled</code>
+ <p>Si aucun mot-clé <code>enabled</code> ou <code>disabled</code>
n'apparait dans la directive <code class="directive">Userdir</code>, l'argument est
- traité en tant que modèle de fichier, et utilisé pour traduire le
- nom d'utilisateur en une spécification de répertoire. Une requête
+ traité en tant que modèle de fichier, et utilisé pour traduire le
+ nom d'utilisateur en une spécification de répertoire. Une requête
pour <code>http://www.example.com/~bob/un/deux.html</code> sera
traduite en :</p>
<table>
- <tr><th>Directive Userdir utilisée</th>
+ <tr><th>Directive Userdir utilisée</th>
<th>Chemin traduit</th></tr>
<tr><td>UserDir public_html</td>
<td>~bob/public_html/un/deux.html</td></tr>
:</p>
<table>
- <tr><th>Directive Userdir utilisée</th>
+ <tr><th>Directive Userdir utilisée</th>
<th>Chemin traduit</th></tr>
<tr><td>UserDir http://www.example.com/utilisateurs</td>
<td>http://www.example.com/utilisateurs/bob/un/deux.html</td></tr>
<div class="note">
<strong>Soyez prudent avec cette directive ; par exemple,
<code>"UserDir ./"</code> ferait correspondre
- <code>"/~root"</code> à <code>"/"</code> - ce qui n'est
- probablement pas souhaité. Il est fortement recommandé d'inclure
- une déclaration "<code>UserDir disabled root</code>" dans votre
- configuration. Voir aussi la directive <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> et la page <a href="../misc/security_tips.html">Conseils en matière de
- sécurité</a> pour plus d'informations.</strong>
+ <code>"/~root"</code> à <code>"/"</code> - ce qui n'est
+ probablement pas souhaité. Il est fortement recommandé d'inclure
+ une déclaration "<code>UserDir disabled root</code>" dans votre
+ configuration. Voir aussi la directive <code class="directive"><a href="../mod/core.html#directory">Directory</a></code> et la page <a href="../misc/security_tips.html">Conseils en matière de
+ sécurité</a> pour plus d'informations.</strong>
</div>
- <p>Exemples supplémentaires :</p>
+ <p>Exemples supplémentaires :</p>
- <p>Pour permettre à quelques utilisateurs et seulement à ceux-ci de
- posséder des répertoires <code>UserDir</code>, utilisez la
+ <p>Pour permettre à quelques utilisateurs et seulement à ceux-ci de
+ posséder des répertoires <code>UserDir</code>, utilisez la
configuration suivante :</p>
<pre class="prettyprint lang-config">UserDir disabled
UserDir enabled user1 user2 user3</pre>
- <p>Pour permettre à la plupart des utilisateurs de posséder des
- répertoires <code>UserDir</code>, mais l'interdire à quelques uns,
+ <p>Pour permettre à la plupart des utilisateurs de posséder des
+ répertoires <code>UserDir</code>, mais l'interdire à quelques uns,
utilisez la configuration suivante :</p>
<pre class="prettyprint lang-config">UserDir disabled utilisateur4 utilisateur5 utilisateur6</pre>
- <p>Il est aussi possible de spécifier des répertoires utilisateurs
+ <p>Il est aussi possible de spécifier des répertoires utilisateurs
alternatifs. Si vous utilisez une commande comme :</p>
<pre class="prettyprint lang-config">UserDir "public_html" "/usr/web" "http://www.example.com/"</pre>
- <p>Avec une requête pour
+ <p>Avec une requête pour
<code>http://www.example.com/~bob/un/deux.html</code>, le serveur
- tentera tout d'abord de trouver la page à
- <code>~bob/public_html/un/deux.html</code>, puis à
+ tentera tout d'abord de trouver la page à
+ <code>~bob/public_html/un/deux.html</code>, puis à
<code>/usr/web/bob/un/deux.html</code>, et enfin il enverra une
redirection vers
<code>http://www.example.com/bob/un/deux.html</code>.</p>
- <p>Si vous spécifiez une redirection, elle doit être la dernière
- alternative de la liste. Apache httpd ne pouvant pas déterminer si la
- redirection a réussi, si cette dernière ne se trouve pas en fin de
- liste, c'est cette alternative qui sera toujours utilisée.</p>
+ <p>Si vous spécifiez une redirection, elle doit être la dernière
+ alternative de la liste. Apache httpd ne pouvant pas déterminer si la
+ redirection a réussi, si cette dernière ne se trouve pas en fin de
+ liste, c'est cette alternative qui sera toujours utilisée.</p>
- <p>La substitution de répertoire utilisateur n'est pas activée par
- défaut depuis la version 2.1.4. Dans les versions précédentes,
- <code>UserDir public_html</code> était sous-entendu si aucune
+ <p>La substitution de répertoire utilisateur n'est pas activée par
+ défaut depuis la version 2.1.4. Dans les versions précédentes,
+ <code>UserDir public_html</code> était sous-entendu si aucune
directive <code class="directive">UserDir</code>
- n'était présente.</p>
+ n'était présente.</p>
- <div class="note"><h3>Détails à propos de la fusion</h3>
+ <div class="note"><h3>Détails à propos de la fusion</h3>
<p>Lorsqu'on passe du contexte global au contexte de serveur
- virtuel, les listes d'utilisateurs spécifiques activés ou désactivés
- sont remplacées par les listes du contexte, et non fusionnées.</p></div>
+ virtuel, les listes d'utilisateurs spécifiques activés ou désactivés
+ sont remplacées par les listes du contexte, et non fusionnées.</p></div>
<h3>Voir aussi</h3>
<ul>
<li>
- <a href="../howto/public_html.html">Tutoriel sur les répertoires web
+ <a href="../howto/public_html.html">Tutoriel sur les répertoires web
utilisateur</a>
</li>
</ul>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_userdir.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_userdir.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_userdir.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_userdir.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_userdir.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mod_userdir.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_usertrack</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_usertrack.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_usertrack.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_usertrack.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>
Journalisation <em>Clickstream</em> des liens parcourus par un
utilisateur sur un site
</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>usertrack_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_usertrack.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>usertrack_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_usertrack.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module permet de suivre le parcours d'un utilisateur à travers
+ <p>Ce module permet de suivre le parcours d'un utilisateur à travers
votre site web en faisant appel aux cookies de navigateur.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<li><img alt="" src="../images/down.gif" /> <a href="#cookiestyle">CookieStyle</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cookietracking">CookieTracking</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_usertrack">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_usertrack">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_usertrack">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_usertrack">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<h2><a name="logging" id="logging">Journalisation</a><a title="Lien permanent" href="#logging" class="permalink">¶</a></h2>
- <p><code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code> définit un cookie qui peut être
- journalisé via les formats configurables du module
+ <p><code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code> définit un cookie qui peut être
+ journalisé via les formats configurables du module
<code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> :</p>
<pre class="prettyprint lang-config">LogFormat "%{Apache}n %r %t" usertrack
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le domaine auquel le cookie traceur
s'applique</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieDomain <em>domaine</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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</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_usertrack</td></tr>
</table>
- <p>Cette directive permet de définir le domaine auquel le cookie
- traceur s'applique. Si elle n'est pas présente, aucun domaine n'est
- inclus dans le champ d'en-tête cookie.</p>
+ <p>Cette directive permet de définir le domaine auquel le cookie
+ traceur s'applique. Si elle n'est pas présente, aucun domaine n'est
+ inclus dans le champ d'en-tête cookie.</p>
- <p>La chaîne dommaine <strong>doit</strong> commencer par un point,
- et <strong>doit</strong> comporter au moins un point entouré
- d'autres caractères. Par exemple, <code>.example.com</code> est
- une chaîne valide, mais <code>www.example.com</code> et
+ <p>La chaîne dommaine <strong>doit</strong> commencer par un point,
+ et <strong>doit</strong> comporter au moins un point entouré
+ d'autres caractères. Par exemple, <code>.example.com</code> est
+ une chaîne valide, mais <code>www.example.com</code> et
<code>.com</code> ne le sont pas.</p>
- <div class="note">La plupart des navigateurs utilisés actuellement n'autorisent
- pas la définition de cookies pour un domaine racine de deux niveaux,
+ <div class="note">La plupart des navigateurs utilisés actuellement n'autorisent
+ pas la définition de cookies pour un domaine racine de deux niveaux,
tel que <code>.co.uk</code>, bien qu'un tel domaine remplisse les
- conditions de validité décrites ci-dessus.<br />
+ conditions de validité décrites ci-dessus.<br />
- Ces domaines sont équivalents à des domaines racines comme
+ Ces domaines sont équivalents à des domaines racines comme
<code>.com</code>, et autoriser de tels cookies peut constituer un
- risque en matière de sécurité. Ainsi, si vous vous situez sous un
+ risque en matière de sécurité. Ainsi, si vous vous situez sous un
domaine racine de deux niveaux, vous devez encore utiliser votre
- domaine véritable, comme vous le feriez avec tout autre domaine
+ domaine véritable, comme vous le feriez avec tout autre domaine
racine (par exemple <code>.example.co.uk</code>).
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cookieexpires" id="cookieexpires">Directive</a> <a name="CookieExpires" id="CookieExpires">CookieExpires</a><a title="Lien permanent" href="#cookieexpires" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée avant expiration du cookie traceur</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieExpires <em>durée</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#Description">Description:</a></th><td>Durée avant expiration du cookie traceur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieExpires <em>durée</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">AllowOverride:</a></th><td>FileInfo</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_usertrack</td></tr>
</table>
- <p>Lorsqu'elle est utilisée, cette directive définit une durée avant
- l'expiration du cookie généré par le module usertrack. La
- <em>durée</em> peut être spécifiée sous la forme d'un nombre de
+ <p>Lorsqu'elle est utilisée, cette directive définit une durée avant
+ l'expiration du cookie généré par le module usertrack. La
+ <em>durée</em> peut être spécifiée sous la forme d'un nombre de
secondes, ou sous une forme du
style "2 weeks 3 days 7 hours". les termes valides sont : years,
- months, weeks, days, hours, minutes et seconds. Si la durée est
- spécifiée dans un format autre qu'un nombre de secondes, elle doit
- être entourée de guillemets.</p>
+ months, weeks, days, hours, minutes et seconds. Si la durée est
+ spécifiée dans un format autre qu'un nombre de secondes, elle doit
+ être entourée de guillemets.</p>
- <p>Si cette directive est absente, la durée de vie des cookies est
- limitée à la session actuelle du navigateur.</p>
+ <p>Si cette directive est absente, la durée de vie des cookies est
+ limitée à la session actuelle du navigateur.</p>
<pre class="prettyprint lang-config">CookieExpires "3 weeks"</pre>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du cookie traceur</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieName <em>symbole</em></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CookieName Apache</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#Default">Défaut:</a></th><td><code>CookieName Apache</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">AllowOverride:</a></th><td>FileInfo</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_usertrack</td></tr>
</table>
<p>Cette directive vous permet de modifier le nom du cookie que ce
- module utilise pour sa journalisation. Le nom par défaut du cookie
+ module utilise pour sa journalisation. Le nom par défaut du cookie
est "<code>Apache</code>".</p>
- <p>Vous devez spécifier un nom de cookie valide ; les résultats sont
- imprévisibles si vous utilisez un nom contenant des caractères
- inhabituels. Les caractères valides font partie des intervales A-Z,
+ <p>Vous devez spécifier un nom de cookie valide ; les résultats sont
+ imprévisibles si vous utilisez un nom contenant des caractères
+ inhabituels. Les caractères valides font partie des intervales A-Z,
a-z, 0-9, "_", et "-".</p>
<pre class="prettyprint lang-config">CookieName clicktrack</pre>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cookiestyle" id="cookiestyle">Directive</a> <a name="CookieStyle" id="CookieStyle">CookieStyle</a><a title="Lien permanent" href="#cookiestyle" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Format du champ d'en-tête cookie</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Format du champ d'en-tête cookie</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieStyle
Netscape|Cookie|Cookie2|RFC2109|RFC2965</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CookieStyle Netscape</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#Default">Défaut:</a></th><td><code>CookieStyle Netscape</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">AllowOverride:</a></th><td>FileInfo</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_usertrack</td></tr>
</table>
- <p>Cette directive permet de contrôler le format du champ d'en-tête
- cookie. Les trois formats autorisés sont :</p>
+ <p>Cette directive permet de contrôler le format du champ d'en-tête
+ cookie. Les trois formats autorisés sont :</p>
<ul>
<li><strong>Netscape</strong> : il s'agit du format original, mais
- est maintenant obsolète. C'est le format par défaut et il
- correspond à la syntaxe historique utilisée par Apache.</li>
+ est maintenant obsolète. C'est le format par défaut et il
+ correspond à la syntaxe historique utilisée par Apache.</li>
<li><strong>Cookie</strong> ou <strong>RFC2109</strong> : c'est la
syntaxe qui remplace la syntaxe Netscape.</li>
</ul>
<p>Tous les clients ne supportent pas l'ensemble de ces formats,
- mais il est conseillé d'utiliser le plus récent qui sera en général
- supporté par le navigateur de votre utilisateur. A l'heure où ce
- document est écrit, la plupart des navigateurs supportent ces trois
- formats, <code>Cookie2</code> étant le format recommandé.</p>
+ mais il est conseillé d'utiliser le plus récent qui sera en général
+ supporté par le navigateur de votre utilisateur. A l'heure où ce
+ document est écrit, la plupart des navigateurs supportent ces trois
+ formats, <code>Cookie2</code> étant le format recommandé.</p>
<pre class="prettyprint lang-config">CookieStyle Cookie2</pre>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active le cookie traceur</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CookieTracking on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CookieTracking off</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#Default">Défaut:</a></th><td><code>CookieTracking off</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">AllowOverride:</a></th><td>FileInfo</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_usertrack</td></tr>
</table>
- <p>Lorsque le module <code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code> est chargé, et
- si <code>CookieTracking on</code> est définie, Apache enverra un
- cookie traceur pour toute nouvelle requête. Cette directive peut
- être utilisée pour activer ou désactiver ce comportement pour un
- serveur virtuel ou un répertoire. Par défaut, l'activation de
+ <p>Lorsque le module <code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code> est chargé, et
+ si <code>CookieTracking on</code> est définie, Apache enverra un
+ cookie traceur pour toute nouvelle requête. Cette directive peut
+ être utilisée pour activer ou désactiver ce comportement pour un
+ serveur virtuel ou un répertoire. Par défaut, l'activation de
<code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code> ne suffit <strong>pas</strong> pour
activer les cookies.</p>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_usertrack.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_usertrack.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_usertrack.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_version</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_version.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_version.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_version.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_version.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_version.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Configuration dépendant de la version</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Configuration dépendant de la version</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>version_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_version.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>version_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_version.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module a été conçu pour être utilisé dans les suites de tests
- et les grands réseaux qui doivent prendre en compte différentes
- versions de httpd et différentes configurations. Il fournit un
+ <p>Ce module a été conçu pour être utilisé dans les suites de tests
+ et les grands réseaux qui doivent prendre en compte différentes
+ versions de httpd et différentes configurations. Il fournit un
nouveau conteneur -- <code class="directive"><a href="#ifversion"><IfVersion></a></code>, qui apporte une grande
- souplesse dans la vérification de version en permettant une
- comparaison numérique et l'utilisation d'expressions
+ souplesse dans la vérification de version en permettant une
+ comparaison numérique et l'utilisation d'expressions
rationnelles.</p>
<div class="example"><h3>Exemples</h3><pre class="prettyprint lang-config"><IfVersion 2.4.2>
</IfVersion>
<IfVersion >= 2.5>
- # utilise vraiment les nouvelles fonctionnalités :-)
+ # utilise vraiment les nouvelles fonctionnalités :-)
</IfVersion></pre>
</div>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#ifversion"><IfVersion></a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_version">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_version">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_version">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_version">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</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="ifversion" id="ifversion">Directive</a> <a name="IfVersion" id="IfVersion"><IfVersion></a><a title="Lien permanent" href="#ifversion" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des portions de configuration dépendantes de la
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des portions de configuration dépendantes de la
version</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfVersion [[!]<var>opérateur</var>] <var>version</var>> ...
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfVersion [[!]<var>opérateur</var>] <var>version</var>> ...
</IfVersion></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#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</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_version</td></tr>
</table>
<p>La section <code class="directive"><IfVersion></code>
- rassemble des directives de configuration qui ne sont exécutées que
- si la version de httpd satisfait aux critères spécifiés. Pour une
- comparaison normale (numérique), l'argument <var>version</var> doit
- être spécifié sous le format
+ rassemble des directives de configuration qui ne sont exécutées que
+ si la version de httpd satisfait aux critères spécifiés. Pour une
+ comparaison normale (numérique), l'argument <var>version</var> doit
+ être spécifié sous le format
<code><var>majeur</var>[.<var>mineur</var>[.<var>patch</var>]]</code>,
comme par exemple <code>2.1.0</code> ou <code>2.2</code>.
<var>mineur</var> et <var>patch</var> sont optionnels. Si ces
- numéros sont absents, il se voient affectée implicitement la valeur
- 0. Les <var>opérateur</var>s numériques suivants sont autorisés
+ numéros sont absents, il se voient affectée implicitement la valeur
+ 0. Les <var>opérateur</var>s numériques suivants sont autorisés
:</p>
- <table class="bordered"><tr class="header"><th><var>opérateur</var></th><th>description</th></tr>
+ <table class="bordered"><tr class="header"><th><var>opérateur</var></th><th>description</th></tr>
<tr><td><code>=</code> ou <code>==</code></td>
- <td>La version de httpd est égale à la valeur
- spécifiée</td></tr>
+ <td>La version de httpd est égale à la valeur
+ spécifiée</td></tr>
<tr class="odd"><td><code>></code></td>
- <td>La version de httpd est supérieure à la valeur
- spécifiée</td></tr>
+ <td>La version de httpd est supérieure à la valeur
+ spécifiée</td></tr>
<tr><td><code>>=</code></td>
- <td>La version de httpd est supérieure ou égale à la valeur
- spécifiée</td></tr>
+ <td>La version de httpd est supérieure ou égale à la valeur
+ spécifiée</td></tr>
<tr class="odd"><td><code><</code></td>
- <td>La version de httpd est inférieure à la valeur
- spécifiée</td></tr>
+ <td>La version de httpd est inférieure à la valeur
+ spécifiée</td></tr>
<tr><td><code><=</code></td>
- <td>La version de httpd est inférieure ou égale à la valeur
- spécifiée</td></tr>
+ <td>La version de httpd est inférieure ou égale à la valeur
+ spécifiée</td></tr>
</table>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><IfVersion >= 2.3>
# la condition n'est satisfaite que pour les versions de httpd
- # supérieures ou égales à 2.3
+ # supérieures ou égales à 2.3
</IfVersion></pre>
</div>
- <p>En plus d'une comparaison numérique, il est possible de comparer
+ <p>En plus d'une comparaison numérique, il est possible de comparer
la version de httpd avec une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression
- rationnelle</a>. Il existe deux méthodes pour spécifier cette
- dernière :</p>
+ rationnelle</a>. Il existe deux méthodes pour spécifier cette
+ dernière :</p>
- <table class="bordered"><tr class="header"><th><var>opérateur</var></th><th>description</th></tr>
+ <table class="bordered"><tr class="header"><th><var>opérateur</var></th><th>description</th></tr>
<tr><td><code>=</code> ou <code>==</code></td>
<td><var>version</var> est de la forme
<code>/<var>regex</var>/</code></td></tr>
</table>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><IfVersion = /^2.4.[01234]$/>
- # exemple de contournement pour les versions boguées
+ # exemple de contournement pour les versions boguées
</IfVersion></pre>
</div>
- <p>Pour inverser la condition, tous les opérateurs peuvent être
- préfixés par un point d'exclamation (<code>!</code>) :</p>
+ <p>Pour inverser la condition, tous les opérateurs peuvent être
+ préfixés par un point d'exclamation (<code>!</code>) :</p>
<div class="example"><pre class="prettyprint lang-config"><IfVersion !~ ^2.4.[01234]$>
# pas pour ces versions
</IfVersion></pre>
</div>
- <p>Si <var>opérateur</var> est absent, sa valeur implicite est
+ <p>Si <var>opérateur</var> est absent, sa valeur implicite est
<code>=</code>.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_version.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_version.html" title="Français"> fr </a> |
+<a href="../fr/mod/mod_version.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_version.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_version.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_vhost_alias</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_vhost_alias.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_vhost_alias.html" title="Français"> fr </a> |
-<a href="../tr/mod/mod_vhost_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../fr/mod/mod_vhost_alias.html" title="Français"> fr </a> |
+<a href="../tr/mod/mod_vhost_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet de configurer dynamiquement l'hébergement virtuel de
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet de configurer dynamiquement l'hébergement virtuel de
masse</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>vhost_alias_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_vhost_alias.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>vhost_alias_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_vhost_alias.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module permet de créer des serveurs virtuels configurés
+ <p>Ce module permet de créer des serveurs virtuels configurés
dynamiquement, en autorisant l'utilisation de l'adresse IP et/ou de
- l'en-tête <code>Host:</code> de la requête HTTP comme partie du nom
- de chemin afin de déterminer les fichiers à servir. Ceci facilite la
- gestion d'un grand nombre de serveurs virtuels possèdant des
+ l'en-tête <code>Host:</code> de la requête HTTP comme partie du nom
+ de chemin afin de déterminer les fichiers à servir. Ceci facilite la
+ gestion d'un grand nombre de serveurs virtuels possèdant des
configurations similaires.</p>
<div class="note"><h3>Note</h3>
<p>Si les modules <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> ou
- <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code> sont utilisés pour traduire les URIs
+ <code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code> sont utilisés pour traduire les URIs
en noms de fichiers, ils l'emportent sur les directives du module
- <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> décrites ci-dessous. Par
+ <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> décrites ci-dessous. Par
exemple, la configuration suivante fera correspondre <code>
- /cgi-bin/script.pl</code> à <code>
+ /cgi-bin/script.pl</code> à <code>
/usr/local/apache2/cgi-bin/script.pl</code> dans tous les cas :</p>
<pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/"
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#interpol">Interpolation du nom de répertoire</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#interpol">Interpolation du nom de répertoire</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#virtualscriptalias">VirtualScriptAlias</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#virtualscriptaliasip">VirtualScriptAliasIP</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_vhost_alias">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_vhost_alias">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_vhost_alias">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_vhost_alias">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code></li>
<li><a href="../vhosts/mass.html">Configuration dynamique de
-l'hébergement virtuel de masse</a></li>
+l'hébergement virtuel de masse</a></li>
<li><a href="#comments_section">Commentaires</a></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="interpol" id="interpol">Interpolation du nom de répertoire</a><a title="Lien permanent" href="#interpol" class="permalink">¶</a></h2>
+<h2><a name="interpol" id="interpol">Interpolation du nom de répertoire</a><a title="Lien permanent" href="#interpol" class="permalink">¶</a></h2>
- <p>Toutes les directives de ce module insèrent une chaîne dans un
- nom de chemin. La chaîne insérée (que nous appellerons maintenant le
- "nom") peux être soit le nom du serveur (voir la directive
+ <p>Toutes les directives de ce module insèrent une chaîne dans un
+ nom de chemin. La chaîne insérée (que nous appellerons maintenant le
+ "nom") peux être soit le nom du serveur (voir la directive
<code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code> pour les
- détails sur la manière dont il est déterminé), soit l'adresse IP du
- serveur virtuel hébergé par le serveur sous la forme d'un quadruplet
- d'octets séparés par des points. L'insertion est contrôlée par des
- spécificateurs inspirés de <code>printf</code> et possèdant de
+ détails sur la manière dont il est déterminé), soit l'adresse IP du
+ serveur virtuel hébergé par le serveur sous la forme d'un quadruplet
+ d'octets séparés par des points. L'insertion est contrôlée par des
+ spécificateurs inspirés de <code>printf</code> et possèdant de
nombreux formats :</p>
<table>
<tr><td><code>%%</code></td>
-<td>insère un <code>%</code></td></tr>
+<td>insère un <code>%</code></td></tr>
<tr><td><code>%p</code></td>
-<td>insère le numéro de port du serveur virtuel</td></tr>
+<td>insère le numéro de port du serveur virtuel</td></tr>
<tr><td><code>%N.M</code></td>
-<td>insère le nom (en partie)</td></tr>
+<td>insère le nom (en partie)</td></tr>
</table>
- <p><code>N</code> et <code>M</code> permettent de spécifier des
- sous-chaînes du nom. <code>N</code> sélectionne un des composants du
- nom séparés par des points, et <code>M</code> sélectionne des
- caractères à l'intérieur de ce que <code>N</code> a sélectionné.
- <code>M</code> est optionnel et sa valeur par défaut est 0 s'il
- n'est pas spécifié ; le point doit être présent si et seulement si
+ <p><code>N</code> et <code>M</code> permettent de spécifier des
+ sous-chaînes du nom. <code>N</code> sélectionne un des composants du
+ nom séparés par des points, et <code>M</code> sélectionne des
+ caractères à l'intérieur de ce que <code>N</code> a sélectionné.
+ <code>M</code> est optionnel et sa valeur par défaut est 0 s'il
+ n'est pas spécifié ; le point doit être présent si et seulement si
<code>M</code> l'est aussi. Les modes d'insertion sont les suivants
:</p>
<td>le nom en entier</td></tr>
<tr><td><code>1</code></td>
- <td>la première partie</td></tr>
+ <td>la première partie</td></tr>
<tr><td><code>2</code></td>
<td>la seconde partie</td></tr>
<tr><td><code>-1</code></td>
- <td>la dernière partir</td></tr>
+ <td>la dernière partir</td></tr>
<tr><td><code>-2</code></td>
- <td>l'avant-dernière partie</td></tr>
+ <td>l'avant-dernière partie</td></tr>
<tr><td><code>2+</code></td>
- <td>toutes les parties à partir de la seconde</td></tr>
+ <td>toutes les parties à partir de la seconde</td></tr>
<tr><td><code>-2+</code></td>
- <td>toutes les parties jusqu'à l'avant-dernière</td></tr>
+ <td>toutes les parties jusqu'à l'avant-dernière</td></tr>
<tr><td><code>1+</code> et <code>-1+</code></td>
- <td>identique à <code>0</code></td></tr>
+ <td>identique à <code>0</code></td></tr>
</table>
<p>Si <code>N</code> ou <code>M</code> est plus grand que le nombre
- de parties disponibles, seul un caractère de soulignement est
- inséré.</p>
+ de parties disponibles, seul un caractère de soulignement est
+ inséré.</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><a title="Lien permanent" href="#examples" class="permalink">¶</a></h2>
- <p>Pour des serveurs virtuels simples à base de nom, utilisez les
+ <p>Pour des serveurs virtuels simples à base de nom, utilisez les
directives suivantes dans le fichier de configuration de votre
serveur :</p>
VirtualDocumentRoot "/usr/local/apache/vhosts/%0"</pre>
- <p>Une requête pour
+ <p>Une requête pour
<code>http://www.example.com/repertoire/fichier.html</code>
concernera alors la ressource
<code>/usr/local/apache/vhosts/www.example.com/repertoire/fichier.html</code>.
</p>
- <p>Pour un très grand nombre de serveurs virtuels, il est avantageux
- d'organiser les fichiers de façon à réduire la taille du répertoire
- <code>vhosts</code>. Pour ce faire, insérez les lignes suivantes
+ <p>Pour un très grand nombre de serveurs virtuels, il est avantageux
+ d'organiser les fichiers de façon à réduire la taille du répertoire
+ <code>vhosts</code>. Pour ce faire, insérez les lignes suivantes
dans votre fichier de configuration :</p>
<pre class="prettyprint lang-config">UseCanonicalName Off
VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2"</pre>
- <p>Une requête pour
+ <p>Une requête pour
<code>http://www.domaine.example.com/repertoire/fichier.html</code>
concernera alors la ressource
<code>/usr/local/apache/vhosts/example.com/d/o/m/domaine/repertoire/fichier.html</code>.</p>
- <p>Une répartition plus régulière des fichiers peut être obtenue en
+ <p>Une répartition plus régulière des fichiers peut être obtenue en
partant de la fin d'un composant du nom, comme dans l'exemple
suivant :</p>
<pre class="prettyprint lang-config">VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.-1/%2.-2/%2.-3/%2"</pre>
- <p>La requête précédente concernerait alors
+ <p>La requête précédente concernerait alors
<code>/usr/local/apache/vhosts/example.com/e/n/i/domaine/repertoire/fichier.html</code>.</p>
<p>Vous pouvez aussi utiliser : </p>
<pre class="prettyprint lang-config">VirtualDocumentRoot "/usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+"</pre>
- <p>La requête précédente concernerait alors
+ <p>La requête précédente concernerait alors
<code>/usr/local/apache/vhosts/example.com/d/o/m/aine/repertoire/fichier.html</code>.</p>
- <p>Une demande très courante des utilisateurs concerne la possibilité de
- faire correspondre plusieurs racines de documents à plusieurs
- domaines, sans avoir à se préoccuper de la longueur ou du nombre de
- parties du nom d'hôte faisant partie de la requête. Si le nom d'hôte
- de la requête est <code>sub.www.domain.example.com</code> au lieu de
+ <p>Une demande très courante des utilisateurs concerne la possibilité de
+ faire correspondre plusieurs racines de documents à plusieurs
+ domaines, sans avoir à se préoccuper de la longueur ou du nombre de
+ parties du nom d'hôte faisant partie de la requête. Si le nom d'hôte
+ de la requête est <code>sub.www.domain.example.com</code> au lieu de
simplement <code>www.domain.example.com</code>, alors en utilisant
%3+, la racine des documents sera
<code>/usr/local/apache/vhosts/domain.example.com/...</code> au
- lieu du répertoire <code>example.com</code> attendu. Dans ce genre
- de situation, il peut s'avérer préférable d'utiliser la combinaison
+ lieu du répertoire <code>example.com</code> attendu. Dans ce genre
+ de situation, il peut s'avérer préférable d'utiliser la combinaison
<code>%-2.0.%-1.0</code> qui fournira toujours le nom de domaine et
le tld, par exemple <code>example.com</code> sans tenir compte du
- nombre de sous-domaines ajoutés au nom d'hôte. Dans ces conditions,
- il est possible d'élaborer une configuration qui associera les
- sous-domaines de premier, second et troisième niveau au même
- répertoire :
+ nombre de sous-domaines ajoutés au nom d'hôte. Dans ces conditions,
+ il est possible d'élaborer une configuration qui associera les
+ sous-domaines de premier, second et troisième niveau au même
+ répertoire :
</p>
<pre class="prettyprint lang-config">VirtualDocumentRoot "/usr/local/apache/vhosts/%-2.0.%-1.0"</pre>
<p>
Dans l'exemple ci-dessus, <code>www.example.com</code>,
<code>www.sub.example.com</code> ou <code>example.com</code>
-correspondront tous au répertoire
+correspondront tous au répertoire
<code>/usr/local/apache/vhosts/example.com</code>.
</p>
- <p>Pour l'hébergement virtuel à base d'adresse IP, vous pouvez
- insérer les lignes suivantes dans votre fichier de configuration
+ <p>Pour l'hébergement virtuel à base d'adresse IP, vous pouvez
+ insérer les lignes suivantes dans votre fichier de configuration
:</p>
<pre class="prettyprint lang-config">UseCanonicalName DNS
<p>Si l'adresse IP de <code>www.domaine.example.com</code> est
- 10.20.30.40, une requête pour
+ 10.20.30.40, une requête pour
<code>http://www.domaine.example.com/repertoire/fichier.html</code>
concernera la ressource
<code>/usr/local/apache/vhosts/10/20/30/40/docs/repertoire/fichier.html</code>.
- Une requête pour
+ Une requête pour
<code>http://www.domaine.example.com/cgi-bin/script.pl</code>
concernera la ressource
<code>/usr/local/apache/vhosts/10/20/30/40/cgi-bin/script.pl</code>.</p>
- <p>Si vous voulez insérer le caractère <code>.</code> dans une
- directive <code>VirtualDocumentRoot</code>, et si cela crée un
- conflit avec un spécificateur <code>%</code>, vous pouvez contourner
- le problème de la manière suivante :</p>
+ <p>Si vous voulez insérer le caractère <code>.</code> dans une
+ directive <code>VirtualDocumentRoot</code>, et si cela crée un
+ conflit avec un spécificateur <code>%</code>, vous pouvez contourner
+ le problème de la manière suivante :</p>
<pre class="prettyprint lang-config">VirtualDocumentRoot "/usr/local/apache/vhosts/%2.0.%3.0"</pre>
- <p>Une requête pour
+ <p>Une requête pour
<code>http://www.domaine.example.com/repertoire/fichier.html</code>
concernera alors la ressource
<code>/usr/local/apache/vhosts/domaine.exemple/repertoire/fichier.html</code>.</p>
- <p>Les spécificateurs de format <code>%V</code> et <code>%A</code>
- de la directive <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> s'avèrent très utiles
- lorsqu'ils sont utilisés en conjonction avec ce module.</p>
+ <p>Les spécificateurs de format <code>%V</code> et <code>%A</code>
+ de la directive <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> s'avèrent très utiles
+ lorsqu'ils sont utilisés en conjonction avec ce module.</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="virtualdocumentroot" id="virtualdocumentroot">Directive</a> <a name="VirtualDocumentRoot" id="VirtualDocumentRoot">VirtualDocumentRoot</a><a title="Lien permanent" href="#virtualdocumentroot" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet une configuration dynamique de la racine des
-documents d'un serveur virtuel donné</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VirtualDocumentRoot <em>répertoire-interpolé</em>|none</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VirtualDocumentRoot none</code></td></tr>
+documents d'un serveur virtuel donné</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VirtualDocumentRoot <em>répertoire-interpolé</em>|none</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VirtualDocumentRoot none</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_vhost_alias</td></tr>
</table>
<p>La directive <code class="directive">VirtualDocumentRoot</code> vous
- permet de spécifier où le serveur HTTP Apache pourra trouver vos
+ permet de spécifier où le serveur HTTP Apache pourra trouver vos
documents en se basant
- sur le nom du serveur. Le résultat de l'expansion du
- <em>répertoire-interpolé</em> est utilisé comme racine de
- l'arborescence des documents d'une manière similaire à l'argument de
+ sur le nom du serveur. Le résultat de l'expansion du
+ <em>répertoire-interpolé</em> est utilisé comme racine de
+ l'arborescence des documents d'une manière similaire à l'argument de
la directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. Si
- <em>répertoire-interpolé</em> a pour valeur <code>none</code>, la
- directive <code class="directive">VirtualDocumentRoot</code> est désactivée.
- Cette directive ne peut pas être utilisée dans le même contexte que
+ <em>répertoire-interpolé</em> a pour valeur <code>none</code>, la
+ directive <code class="directive">VirtualDocumentRoot</code> est désactivée.
+ Cette directive ne peut pas être utilisée dans le même contexte que
la directive <code class="directive"><a href="#virtualdocumentrootip">VirtualDocumentRootIP</a></code>.</p>
<div class="warning"><h3>Note</h3>
La directive <code class="directive">VirtualDocumentRoot</code> l'emporte sur
toute directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
-définie dans le même contexte ou dans des contextes enfants. Le fait de
-définir une directive <code class="directive">VirtualDocumentRoot</code> dans le
+définie dans le même contexte ou dans des contextes enfants. Le fait de
+définir une directive <code class="directive">VirtualDocumentRoot</code> dans le
contexte du serveur principal va effectivement l'emporter sur toute
-directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> définie dans
-un serveur virtuel quelconque, si vous n'avez pas défini
-<code class="directive">VirtualDocumentRoot</code> à <code>None</code> dans ce
+directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> définie dans
+un serveur virtuel quelconque, si vous n'avez pas défini
+<code class="directive">VirtualDocumentRoot</code> à <code>None</code> dans ce
serveur virtuel.
</div>
<div class="directive-section"><h2><a name="virtualdocumentrootip" id="virtualdocumentrootip">Directive</a> <a name="VirtualDocumentRootIP" id="VirtualDocumentRootIP">VirtualDocumentRootIP</a><a title="Lien permanent" href="#virtualdocumentrootip" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration dynamique de la racine des documents pour un
-serveur virtuel donné</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VirtualDocumentRootIP <em>répertoire-interpolé</em>|none</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VirtualDocumentRootIP none</code></td></tr>
+serveur virtuel donné</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VirtualDocumentRootIP <em>répertoire-interpolé</em>|none</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VirtualDocumentRootIP none</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_vhost_alias</td></tr>
</table>
<p>La directive <code class="directive">VirtualDocumentRootIP</code> est
-identique à la directive <code class="directive"><a href="#virtualdocumentroot">VirtualDocumentRoot</a></code> à l'exception
-près qu'elle utilise l'adresse IP du serveur virtuel pour
-l'interpolation du répertoire à la place du nom du serveur.</p>
+identique à la directive <code class="directive"><a href="#virtualdocumentroot">VirtualDocumentRoot</a></code> à l'exception
+près qu'elle utilise l'adresse IP du serveur virtuel pour
+l'interpolation du répertoire à la place du nom du serveur.</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="virtualscriptalias" id="virtualscriptalias">Directive</a> <a name="VirtualScriptAlias" id="VirtualScriptAlias">VirtualScriptAlias</a><a title="Lien permanent" href="#virtualscriptalias" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration dynamique du répertoire des scripts CGI pour
-un serveur virtuel donné</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VirtualScriptAlias <em>répertoire-interpolé</em>|none</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VirtualScriptAlias none</code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration dynamique du répertoire des scripts CGI pour
+un serveur virtuel donné</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VirtualScriptAlias <em>répertoire-interpolé</em>|none</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VirtualScriptAlias none</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_vhost_alias</td></tr>
</table>
<p>La directive <code class="directive">VirtualScriptAlias</code> vous
- permet de spécifier où Apache httpd pourra trouver les scripts CGI selon une
- méthode similaire à celle qu'utilise la directive <code class="directive"><a href="#virtualdocumentroot">VirtualDocumentRoot</a></code> pour les
- autres documents. Elle recherche des requêtes dont l'URI commence
+ permet de spécifier où Apache httpd pourra trouver les scripts CGI selon une
+ méthode similaire à celle qu'utilise la directive <code class="directive"><a href="#virtualdocumentroot">VirtualDocumentRoot</a></code> pour les
+ autres documents. Elle recherche des requêtes dont l'URI commence
par <code>/cgi-bin/</code>, comme le ferait la directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="virtualscriptaliasip" id="virtualscriptaliasip">Directive</a> <a name="VirtualScriptAliasIP" id="VirtualScriptAliasIP">VirtualScriptAliasIP</a><a title="Lien permanent" href="#virtualscriptaliasip" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration dynamique du répertoire des scripts CGI pour
-un serveur virtuel donné</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VirtualScriptAliasIP <em>répertoire-interpolé</em>|none</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VirtualScriptAliasIP none</code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration dynamique du répertoire des scripts CGI pour
+un serveur virtuel donné</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>VirtualScriptAliasIP <em>répertoire-interpolé</em>|none</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>VirtualScriptAliasIP none</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</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_vhost_alias</td></tr>
</table>
<p>La directive <code class="directive">VirtualScriptAliasIP</code> est
- identique à la directive <code class="directive"><a href="#virtualscriptalias">VirtualScriptAlias</a></code> à
- l'exception près qu'elle utilise l'adresse IP du serveur virtuel
- pour l'interpolation du répertoire à la place du nom du serveur.</p>
+ identique à la directive <code class="directive"><a href="#virtualscriptalias">VirtualScriptAlias</a></code> à
+ l'exception près qu'elle utilise l'adresse IP du serveur virtuel
+ pour l'interpolation du répertoire à la place du nom du serveur.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_vhost_alias.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_vhost_alias.html" title="Français"> fr </a> |
-<a href="../tr/mod/mod_vhost_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../fr/mod/mod_vhost_alias.html" title="Français"> fr </a> |
+<a href="../tr/mod/mod_vhost_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Module Apache mod_watchdog</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_watchdog.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_watchdog.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_watchdog.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournit une infrastructure permettant à d'autres modules
-d'exécuter des tâches périodiques.</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fournit une infrastructure permettant à d'autres modules
+d'exécuter des tâches périodiques.</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>watchdog_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_watchdog.c</td></tr>
-<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3 du serveur HTTP
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>watchdog_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_watchdog.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3 du serveur HTTP
Apache</td></tr></table>
<h3>Sommaire</h3>
-<p>Le module <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code> définit des
-branchements (hooks) programmés pour permettre à d'autres modules
-d'exécuter des tâches périodiques. Ces modules peuvent enregistrer des
+<p>Le module <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code> définit des
+branchements (hooks) programmés pour permettre à d'autres modules
+d'exécuter des tâches périodiques. Ces modules peuvent enregistrer des
gestionnaires (handlers) pour les branchements de
<code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code>. Actuellement, seuls les modules suivants
-de la distribution Apache utilisent cette fonctionnalité :</p>
+de la distribution Apache utilisent cette fonctionnalité :</p>
<ul>
<li><code class="module"><a href="../mod/mod_heartbeat.html">mod_heartbeat</a></code></li>
<li><code class="module"><a href="../mod/mod_heartmonitor.html">mod_heartmonitor</a></code></li>
</ul>
<div class="warning">
-Pour qu'un module puisse utiliser la fonctionnalité de
-<code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code>, ce dernier doit être lié statiquement
-avec le serveur httpd ; s'il a été lié dynamiquement, il doit être
-chargé avant l'appel au module qui doit utiliser sa fonctionnalité.
+Pour qu'un module puisse utiliser la fonctionnalité de
+<code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code>, ce dernier doit être lié statiquement
+avec le serveur httpd ; s'il a été lié dynamiquement, il doit être
+chargé avant l'appel au module qui doit utiliser sa fonctionnalité.
</div>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#watchdoginterval">WatchdogInterval</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_watchdog">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_watchdog">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_watchdog">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_watchdog">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Intervalle Watchdog en secondes</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>WatchdogInterval <var>time-interval</var>[s]</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>WatchdogInterval 1</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>WatchdogInterval 1</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>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_watchdog</td></tr>
</table>
-<p>Cette directive permet de définir l'intervalle entre chaque exécution
-du branchement watchdog. La valeur par défaut est de 1 seconde.</p>
+<p>Cette directive permet de définir l'intervalle entre chaque exécution
+du branchement watchdog. La valeur par défaut est de 1 seconde.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_watchdog.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mod_watchdog.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mod_watchdog.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Termes utilisés pour décrire les modules - Serveur Apache HTTP Version 2.5</title>
+<title>Termes utilisés pour décrire les modules - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Termes utilisés pour décrire les modules</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Termes utilisés pour décrire les modules</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/module-dict.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/module-dict.html" title="Français"> fr </a> |
+<a href="../fr/mod/module-dict.html" title="Français"> fr </a> |
<a href="../ja/mod/module-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/module-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/module-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/module-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Ce document décrit les termes utilisés pour décrire chaque <a href="./">module</a> Apache.</p>
+ <p>Ce document décrit les termes utilisés pour décrire chaque <a href="./">module</a> Apache.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#Description">Description</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#Status">Statut</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#SourceFile">Fichier source</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ModuleIdentifier">Identificateur de module</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#Compatibility">Compatibilité</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#Compatibility">Compatibilité</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="Description" id="Description">Description</a><a title="Lien permanent" href="#Description" class="permalink">¶</a></h2>
-<p>Une brève description des fonctions du module.</p>
+<p>Une brève description des fonctions du module.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="Status" id="Status">Statut</a><a title="Lien permanent" href="#Status" class="permalink">¶</a></h2>
- <p>Ce terme indique le degré de rapprochement du module par rapport
+ <p>Ce terme indique le degré de rapprochement du module par rapport
au coeur du serveur web Apache ; en d'autres termes, vous pouvez
- être amené à recompiler le serveur pour pouvoir accéder au module et
- à ses fonctionnalités. Les valeurs possibles de cet attribut sont
+ être amené à recompiler le serveur pour pouvoir accéder au module et
+ à ses fonctionnalités. Les valeurs possibles de cet attribut sont
:</p>
<dl>
<dt>MPM</dt>
- <dd>Un module dont le statut est "MPM" est un <a href="../mpm.html">module Multi-Processus</a>. A la différence des
- autres modules, un seul module MPM peut et doit être utilisé par Apache à
- la fois. Ce type de module est responsable de la répartition et du
- traitement de base des requêtes.</dd>
+ <dd>Un module dont le statut est "MPM" est un <a href="../mpm.html">module Multi-Processus</a>. A la différence des
+ autres modules, un seul module MPM peut et doit être utilisé par Apache à
+ la fois. Ce type de module est responsable de la répartition et du
+ traitement de base des requêtes.</dd>
<dt>Base</dt>
- <dd>Un module dont le statut est "Base" est compilé dans le
- serveur et chargé avec ce dernier par défaut ; il est donc
- toujours disponible à moins que vous n'ayez fait en sorte de
+ <dd>Un module dont le statut est "Base" est compilé dans le
+ serveur et chargé avec ce dernier par défaut ; il est donc
+ toujours disponible à moins que vous n'ayez fait en sorte de
supprimer le module de votre configuration.</dd>
<dt>Extension</dt>
- <dd>Un module dont le statut est "Extension" n'est pas compilé et
- chargé dans le serveur par défaut. Pour activer le module et
- accéder à ses fonctionnalités, vous devez modifier la
+ <dd>Un module dont le statut est "Extension" n'est pas compilé et
+ chargé dans le serveur par défaut. Pour activer le module et
+ accéder à ses fonctionnalités, vous devez modifier la
configuration de la compilation du serveur et recompiler
Apache.</dd>
- <dt>Expérimental</dt>
+ <dt>Expérimental</dt>
<dd>Le statut "Experimental" indique que le module fait partie du
- kit Apache, mais que vous devez l'utiliser à vos risques et
- périls. Le module est documenté à des fins d'exhaustivité, et
- n'est pas obligatoirement supporté.</dd>
+ kit Apache, mais que vous devez l'utiliser à vos risques et
+ périls. Le module est documenté à des fins d'exhaustivité, et
+ n'est pas obligatoirement supporté.</dd>
<dt>Externe</dt>
<h2><a name="SourceFile" id="SourceFile">Fichier source</a><a title="Lien permanent" href="#SourceFile" class="permalink">¶</a></h2>
<p>Il s'agit tout simplement de la liste des noms des fichiers
- source qui contiennent le code du module. C'est aussi le nom utilisé
+ source qui contiennent le code du module. C'est aussi le nom utilisé
par la directive <code class="directive"><a href="../mod/core.html#ifmodule"><IfModule></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="ModuleIdentifier" id="ModuleIdentifier">Identificateur de module</a><a title="Lien permanent" href="#ModuleIdentifier" class="permalink">¶</a></h2>
- <p>C'est une chaîne permettant d'identifier le module à utiliser
+ <p>C'est une chaîne permettant d'identifier le module à utiliser
dans la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>
pour le chargement dynamique des modules. En particulier, c'est le
nom de la variable externe de type module dans le fichier
source.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="Compatibility" id="Compatibility">Compatibilité</a><a title="Lien permanent" href="#Compatibility" class="permalink">¶</a></h2>
+<h2><a name="Compatibility" id="Compatibility">Compatibilité</a><a title="Lien permanent" href="#Compatibility" class="permalink">¶</a></h2>
<p>Si le module ne faisait pas partie de la distribution originale
- d'Apache version 2, la version à partir de laquelle il est
- disponible est indiquée ici. En outre, si le module n'est disponible
- que sur certaines plates-formes, cela sera mentionné ici.</p>
+ d'Apache version 2, la version à partir de laquelle il est
+ disponible est indiquée ici. En outre, si le module n'est disponible
+ que sur certaines plates-formes, cela sera mentionné ici.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/module-dict.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/module-dict.html" title="Français"> fr </a> |
+<a href="../fr/mod/module-dict.html" title="Français"> fr </a> |
<a href="../ja/mod/module-dict.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/module-dict.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/module-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/module-dict.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mpm_common.html" title="Français"> fr </a> |
+<a href="../fr/mod/mpm_common.html" title="Français"> fr </a> |
<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
-<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Une série de directives implémentées par plusieurs
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Une série de directives implémentées par plusieurs
modules multi-processus (MPM)</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr></table>
</div>
<li><img alt="" src="../images/down.gif" /> <a href="#threadsperchild">ThreadsPerChild</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#threadstacksize">ThreadStackSize</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_common">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_common">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_common">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_common">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Traite certaines erreurs lors de l'acceptation d'une nouvelle connexion comme
non fatales pour le processus httpd.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AcceptErrorsNonFatal ON</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>OFF (les erreurs ECONNREFUSED, ECONNABORTED, ECONNRESET entraînent
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>OFF (les erreurs ECONNREFUSED, ECONNABORTED, ECONNRESET entraînent
alors la fermeture du processus httpd)</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.1 du serveur HTTP Apache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.1 du serveur HTTP Apache</td></tr>
</table>
<p>La directive <code class="directive">AcceptErrorsNonFatal</code> permet de
modifier le comportement du serveur lorsque certaines erreurs
rares apparaissent lors de l'acceptation d'une nouvelle connexion avec un
- client. Par défaut, le processus enfant qui traite la requête se terminera
- en douceur pratiquement chaque fois qu'une erreur de socket apparaît au
- cours de l'appel système accept(), ceci dans le but de s'assurer qu'un
- processus enfant potentiellement endommagé ne tentera pas de prendre en
+ client. Par défaut, le processus enfant qui traite la requête se terminera
+ en douceur pratiquement chaque fois qu'une erreur de socket apparaît au
+ cours de l'appel système accept(), ceci dans le but de s'assurer qu'un
+ processus enfant potentiellement endommagé ne tentera pas de prendre en
compte de nouvelles connexions.</p>
- <p>Lorsque la directive <code class="directive">AcceptErrorsNonFatal</code> est à
- "ON", le processus n'enclenchera <em>pas</em> sa procédure d'arrêt si
+ <p>Lorsque la directive <code class="directive">AcceptErrorsNonFatal</code> est à
+ "ON", le processus n'enclenchera <em>pas</em> sa procédure d'arrêt si
l'erreur accept() est ECONNREFUSED, ECONNABORTED, ou ECONNRESET.</p>
<div class="note">Certains composants de logiciels pare-feu tiers peuvent injecter des
erreurs dans le traitement de l'appel accept() en utilisant des codes de
- retour non spécifés par le système d'exploitation.</div>
+ retour non spécifés par le système d'exploitation.</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="coredumpdirectory" id="coredumpdirectory">Directive</a> <a name="CoreDumpDirectory" id="CoreDumpDirectory">CoreDumpDirectory</a><a title="Lien permanent" href="#coredumpdirectory" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le répertoire dans lequel le serveur HTTP Apache va tenter de se
-positionner avant d'effectuer un vidage mémoire</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CoreDumpDirectory <var>répertoire</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour le répertoire par défaut</code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le répertoire dans lequel le serveur HTTP Apache va tenter de se
+positionner avant d'effectuer un vidage mémoire</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CoreDumpDirectory <var>répertoire</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour le répertoire par défaut</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr>
</table>
- <p>Cette directive permet de définir le répertoire dans lequel
+ <p>Cette directive permet de définir le répertoire dans lequel
Apache httpd va tenter de se positionner avant d'effectuer un vidage
- mémoire sur disque.
- Si votre système d'exploitation est configuré pour créer des
- fichiers de vidage mémoire dans le répertoire de travail des
- processus qui se sont crashés,
- <code class="directive">CoreDumpDirectory</code> est nécessaire pour
- définir un répertoire de travail autre que le répertoire par défaut
- <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>, ce répertoire de
- travail ne devant pas être accessible en écriture par l'utilisateur sous
- lequel le serveur s'exécute.</p>
-
- <p>Si vous avez besoin d'un vidage mémoire pour le débogage, vous
- pouvez utiliser cette directive pour le placer à un endroit
- différent. Cette directive n'a aucun effet si votre système
- d'exploitation n'est pas configuré pour créer des
- fichiers de vidage mémoire dans le répertoire de travail des
- processus qui se sont crashés.</p>
-
- <div class="note"><h3>Vidages mémoire sous Linux</h3>
- <p>Si Apache httpd est démarré sous l'utilisateur root puis bascule vers
- un autre utilisateur, le noyau Linux <em>désactive</em> les
- vidages mémoire, même si le répertoire est accessible en écriture au
- processus. Apache httpd (versions 2.0.46 et supérieures) réactive les
- vidages mémoire sous Linux 2.4 et au delà, mais seulement si vous
- définissez une directive <code class="directive">CoreDumpDirectory</code>.</p>
+ mémoire sur disque.
+ Si votre système d'exploitation est configuré pour créer des
+ fichiers de vidage mémoire dans le répertoire de travail des
+ processus qui se sont crashés,
+ <code class="directive">CoreDumpDirectory</code> est nécessaire pour
+ définir un répertoire de travail autre que le répertoire par défaut
+ <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>, ce répertoire de
+ travail ne devant pas être accessible en écriture par l'utilisateur sous
+ lequel le serveur s'exécute.</p>
+
+ <p>Si vous avez besoin d'un vidage mémoire pour le débogage, vous
+ pouvez utiliser cette directive pour le placer à un endroit
+ différent. Cette directive n'a aucun effet si votre système
+ d'exploitation n'est pas configuré pour créer des
+ fichiers de vidage mémoire dans le répertoire de travail des
+ processus qui se sont crashés.</p>
+
+ <div class="note"><h3>Vidages mémoire sous Linux</h3>
+ <p>Si Apache httpd est démarré sous l'utilisateur root puis bascule vers
+ un autre utilisateur, le noyau Linux <em>désactive</em> les
+ vidages mémoire, même si le répertoire est accessible en écriture au
+ processus. Apache httpd (versions 2.0.46 et supérieures) réactive les
+ vidages mémoire sous Linux 2.4 et au delà, mais seulement si vous
+ définissez une directive <code class="directive">CoreDumpDirectory</code>.</p>
</div>
<div class="note">
- <h3>Vidages mémoire sous BSD</h3>
- <p>Pour activer le vidage mémoire des exécutables suid sur les
- systèmes de style BSD (comme FreeBSD), définissez
- <code>kern.sugid_coredump</code> à 1.
+ <h3>Vidages mémoire sous BSD</h3>
+ <p>Pour activer le vidage mémoire des exécutables suid sur les
+ systèmes de style BSD (comme FreeBSD), définissez
+ <code>kern.sugid_coredump</code> à 1.
</p>
</div>
- <div class="note"><h3>Signaux spécifiques</h3>
- <p><code class="directive">CoreDumpDirectory</code> n'est traité qu'à la
+ <div class="note"><h3>Signaux spécifiques</h3>
+ <p><code class="directive">CoreDumpDirectory</code> n'est traité qu'à la
reception d'un certain nombre de signaux , SIGFPE, SIGILL, SIGABORT,
SIGSEGV, et SIGBUS.</p>
<p>
- Sur certains systèmes d'exploitation, SIGQUIT provoque aussi un
- vidage mémoire, mais n'est pas traité par les directives
+ Sur certains systèmes d'exploitation, SIGQUIT provoque aussi un
+ vidage mémoire, mais n'est pas traité par les directives
<code class="directive">CoreDumpDirectory</code> ou
<code class="directive">EnableExceptionHook</code>, si bien que la
- définition du répertoire d'enregistrement du vidage mémoire est
- entièrement dévolue au système d'exploitation.</p>
+ définition du répertoire d'enregistrement du vidage mémoire est
+ entièrement dévolue au système d'exploitation.</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="enableexceptionhook" id="enableexceptionhook">Directive</a> <a name="EnableExceptionHook" id="EnableExceptionHook">EnableExceptionHook</a><a title="Lien permanent" href="#enableexceptionhook" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active un hook ("point d'accrochage logiciel") qui exécute des
-gestionnaires d'exception après un crash</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active un hook ("point d'accrochage logiciel") qui exécute des
+gestionnaires d'exception après un crash</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableExceptionHook On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableExceptionHook Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableExceptionHook Off</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr>
</table>
- <p>Pour des raisons de sécurité, cette directive n'est disponible
- que si la compilation du serveur a été configurée avec l'option
+ <p>Pour des raisons de sécurité, cette directive n'est disponible
+ que si la compilation du serveur a été configurée avec l'option
<code>--enable-exception-hook</code>. Elle permet d'activer un hook
("point d'accrochage logiciel")
- qui autorise certains modules externes à effectuer un branchement et
- accomplir telle ou telle action après le crash d'un processus
+ qui autorise certains modules externes à effectuer un branchement et
+ accomplir telle ou telle action après le crash d'un processus
enfant.</p>
<p>Deux modules, <code>mod_whatkilledus</code> et
<code>mod_backtrace</code> utilisent ce hook. Veuillez vous
- référer à la <a href="https://emptyhammock.com/projects/httpd/diag/">page EnableExceptionHook</a> de Jeff Trawick pour plus
- d'informations à leur sujet.</p>
+ référer à la <a href="https://emptyhammock.com/projects/httpd/diag/">page EnableExceptionHook</a> de Jeff Trawick pour plus
+ d'informations à leur sujet.</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="gracefulshutdowntimeout" id="gracefulshutdowntimeout">Directive</a> <a name="GracefulShutdownTimeout" id="GracefulShutdownTimeout">GracefulShutdownTimeout</a><a title="Lien permanent" href="#gracefulshutdowntimeout" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le délai maximum après lequel le serveur va
-s'arrêter dans le cas d'un arrêt "en douceur"</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le délai maximum après lequel le serveur va
+s'arrêter dans le cas d'un arrêt "en douceur"</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>GracefulShutdownTimeout <var>seconds</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>GracefulShutdownTimeout 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>GracefulShutdownTimeout 0</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr>
</table>
<p>La directive <code class="directive">GracefulShutdownTimeout</code>
- permet de spécifier le temps, en secondes, pendant lequel le serveur
- va continuer à fonctionner après avoir reçu un signal
- "graceful-stop" ("Arrêt en douceur"), afin de terminer le traitement
+ permet de spécifier le temps, en secondes, pendant lequel le serveur
+ va continuer à fonctionner après avoir reçu un signal
+ "graceful-stop" ("Arrêt en douceur"), afin de terminer le traitement
des connexions en cours.</p>
- <p>Définir cette valeur à zéro signifie au serveur d'attendre
- jusqu'à ce que toutes les requêtes en cours aient été traitées.</p>
+ <p>Définir cette valeur à zéro signifie au serveur d'attendre
+ jusqu'à ce que toutes les requêtes en cours aient été traité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="listen" id="listen">Directive</a> <a name="Listen" id="Listen">Listen</a><a title="Lien permanent" href="#listen" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les adresses IP et ports sur lesquels le serveur écoute</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Listen [<var>adresse IP</var>:]<var>numéro port</var>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les adresses IP et ports sur lesquels le serveur écoute</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Listen [<var>adresse IP</var>:]<var>numéro port</var>
[<var>protocole</var>]</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr>
</table>
- <p>La directive <code class="directive">Listen</code> permet de signifier à
- Apache httpd de ne se mettre à l'écoute que sur les adresses IP et ports spécifiés ; par
- défaut, le serveur répond aux requêtes en provenance de toutes les
- interfaces réseau. La directive <code class="directive">Listen</code> est
- dorénavant requise, et si elle est absente du fichier de
- configuration, le serveur refusera de démarrer. Ceci constitue un
- changement par rapport aux versions précédentes d'Apache httpd.</p>
+ <p>La directive <code class="directive">Listen</code> permet de signifier à
+ Apache httpd de ne se mettre à l'écoute que sur les adresses IP et ports spécifiés ; par
+ défaut, le serveur répond aux requêtes en provenance de toutes les
+ interfaces réseau. La directive <code class="directive">Listen</code> est
+ dorénavant requise, et si elle est absente du fichier de
+ configuration, le serveur refusera de démarrer. Ceci constitue un
+ changement par rapport aux versions précédentes d'Apache httpd.</p>
<p>La directive <code class="directive">Listen</code> signifie au serveur de
- n'accepter les requêtes entrantes que vers le port ou le couple
- adresse-port spécifié. Si seulement un port est spécifié, le serveur
- se met à l'écoute sur ce port sur toutes les interfaces réseau. Si une adresse IP
- et un port sont spécifiés, le serveur va se mettre à l'écoute sur ce port sur
- l'interface réseau correspondant à l'adresse IP.</p>
+ n'accepter les requêtes entrantes que vers le port ou le couple
+ adresse-port spécifié. Si seulement un port est spécifié, le serveur
+ se met à l'écoute sur ce port sur toutes les interfaces réseau. Si une adresse IP
+ et un port sont spécifiés, le serveur va se mettre à l'écoute sur ce port sur
+ l'interface réseau correspondant à l'adresse IP.</p>
<p>On peut utiliser autant de directives
- <code class="directive">Listen</code> que nécessaire pour spécifier
- plusieurs adresses et/ou ports à écouter. Le serveur répondra aux
- requêtes vers tous les adresses et ports spécifiés.</p>
+ <code class="directive">Listen</code> que nécessaire pour spécifier
+ plusieurs adresses et/ou ports à écouter. Le serveur répondra aux
+ requêtes vers tous les adresses et ports spécifiés.</p>
<p>Par exemple, pour que le serveur accepte les connexions sur les
ports 80 et 8000, utilisez :</p>
<p>Pour que le serveur accepte les connexions sur deux interfaces et
- ports particuliers, spécifiez :</p>
+ ports particuliers, spécifiez :</p>
<pre class="prettyprint lang-config">Listen 192.170.2.1:80
Listen 192.170.2.5:8000</pre>
- <p>Les adressee IPv6 doivent être entourées de crochets, comme dans
+ <p>Les adressee IPv6 doivent être entourées de crochets, comme dans
l'exemple suivant :</p>
<pre class="prettyprint lang-config">Listen [2001:db8::a00:20ff:fea7:ccea]:80</pre>
- <p>L'argument optionnel <var>protocole</var> n'est pas nécessaire
+ <p>L'argument optionnel <var>protocole</var> n'est pas nécessaire
dans la plupart des configurations. S'il est absent,
- <code>https</code> est la valeur par défaut pour le port 443 et
+ <code>https</code> est la valeur par défaut pour le port 443 et
<code>http</code> l'est pour tous les autres ports. L'argument
- protocole sert à déterminer quel module doit traiter une requête, et
- à appliquer des optimisations spécifiques à certains protocoles à
+ protocole sert à déterminer quel module doit traiter une requête, et
+ à appliquer des optimisations spécifiques à certains protocoles à
l'aide de la directive <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code>.</p>
- <p>La spécification d'un protocole n'est nécessaire que si vous
+ <p>La spécification d'un protocole n'est nécessaire que si vous
utilisez des ports non standards. Par exemple, pour configurer un
site en <code>https</code> sur le port 8443 :</p>
<div class="note"><h3>Condition d'erreur</h3>
- Plusieurs directives <code class="directive">Listen</code> pour les mêmes
+ Plusieurs directives <code class="directive">Listen</code> pour les mêmes
adresse IP/port vont provoquer l'envoi d'un message d'erreur
<code>Address already in use</code>.
</div>
<h3>Voir aussi</h3>
<ul>
-<li><a href="../dns-caveats.html">Problèmes avec DNS</a></li>
-<li><a href="../bind.html">Définition des adresses et ports
+<li><a href="../dns-caveats.html">Problèmes avec DNS</a></li>
+<li><a href="../bind.html">Définition des adresses et ports
qu'utilise le serveur HTTP Apache</a></li>
<li><a href="http://wiki.apache.org/httpd/CouldNotBindToAddress">Autre
-discussion à propos du message d'erreur <code>Address already in
+discussion à propos du message d'erreur <code>Address already in
use</code>, citant d'autres causes possibles.</a></li>
</ul>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Longueur maximale de la liste d'attente des
connexions</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ListenBacklog <var>backlog</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ListenBacklog 511</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ListenBacklog 511</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr>
</table>
<p>La longueur maximale de la liste d'attente des connexions. En
- général, aucune modification n'est nécessaire, ni même souhaitable ;
- cependant, sur certains systèmes, il peut être nécessaire
+ général, aucune modification n'est nécessaire, ni même souhaitable ;
+ cependant, sur certains systèmes, il peut être nécessaire
d'en augmenter la valeur en cas d'attaque TCP SYN flood (envoi en
- masse de requêtes SYN pour saturer le serveur). Voir le paramètre
- backlog de l'appel système <code>listen(2)</code>.</p>
+ masse de requêtes SYN pour saturer le serveur). Voir le paramètre
+ backlog de l'appel système <code>listen(2)</code>.</p>
- <p>En fait, l'argument backlog sera souvent limité à une valeur
- inférieure en fonction du système d'exploitation. Notez aussi que de
- nombreux systèmes d'exploitation ne tiennent pas vraiment compte de
- la valeur spécifiée pour l'argument backlog, mais s'en inspirent
- seulement (et choisissent en général une valeur supérieure).</p>
+ <p>En fait, l'argument backlog sera souvent limité à une valeur
+ inférieure en fonction du système d'exploitation. Notez aussi que de
+ nombreux systèmes d'exploitation ne tiennent pas vraiment compte de
+ la valeur spécifiée pour l'argument backlog, mais s'en inspirent
+ seulement (et choisissent en général une valeur supérieure).</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="listencoresbucketsratio" id="listencoresbucketsratio">Directive</a> <a name="ListenCoresBucketsRatio" id="ListenCoresBucketsRatio">ListenCoresBucketsRatio</a><a title="Lien permanent" href="#listencoresbucketsratio" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Rapport entre le nombre de coeurs de processeur activés et
-le nombre de segments d'écoute</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Rapport entre le nombre de coeurs de processeur activés et
+le nombre de segments d'écoute</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ListenCoresBucketsRatio <var>ratio</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ListenCoresBucketsRatio 0 (disabled)</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ListenCoresBucketsRatio 0 (disabled)</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.13 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.13 du serveur HTTP
Apache, avec un noyau supportant l'option de socket
-<code>SO_REUSEPORT</code>, et distribuant uniformément les nouvelles
-connexions aux sockets d'écoute des processus (ou threads) qui
-l'utilisent (par exemple Linux versions 3.9 et ultérieures, mais pas
-l'implémentation courante de <code>SO_REUSEPORT</code> par les
+<code>SO_REUSEPORT</code>, et distribuant uniformément les nouvelles
+connexions aux sockets d'écoute des processus (ou threads) qui
+l'utilisent (par exemple Linux versions 3.9 et ultérieures, mais pas
+l'implémentation courante de <code>SO_REUSEPORT</code> par les
plateformes de type BSD.</td></tr>
</table>
<p>Vous pouvez utiliser la directive
- <code class="directive">ListenCoresBucketsRatio</code> pour spécifier un
- <var>ratio</var> entre le nombre de coeurs de CPU activés et le
- nombre de segments d'écoute (listeners' buckets) souhaités ; le
- serveur HTTP Apache va alors créer<code>num_cpu_cores / ratio</code>
- segments d'écoute, chacun contenant son propre socket d'écoute
- <code class="directive">Listen</code> sur le ou les mêmes ports ; chaque
- processus enfant sera associé à un seul segment d'écoute (avec une
- distribution de type round-robin des segments à la création des
+ <code class="directive">ListenCoresBucketsRatio</code> pour spécifier un
+ <var>ratio</var> entre le nombre de coeurs de CPU activés et le
+ nombre de segments d'écoute (listeners' buckets) souhaités ; le
+ serveur HTTP Apache va alors créer<code>num_cpu_cores / ratio</code>
+ segments d'écoute, chacun contenant son propre socket d'écoute
+ <code class="directive">Listen</code> sur le ou les mêmes ports ; chaque
+ processus enfant sera associé à un seul segment d'écoute (avec une
+ distribution de type round-robin des segments à la création des
processus enfants).</p>
- <div class="note"><h3>Définition du terme coeur de CPU activé ("online")</h3>
- <p>Sous Linux et BSD, un coeur de CPU peut être activé ou désactivé si <a href="https://www.kernel.org/doc/Documentation/cpu-hotplug.txt">Hotplug</a>
- a été configuré ; la directive
+ <div class="note"><h3>Définition du terme coeur de CPU activé ("online")</h3>
+ <p>Sous Linux et BSD, un coeur de CPU peut être activé ou désactivé si <a href="https://www.kernel.org/doc/Documentation/cpu-hotplug.txt">Hotplug</a>
+ a été configuré ; la directive
<code class="directive">ListenCoresBucketsRatio</code> doit donc tenir compte de ce
- paramètre pour calculer le nombre de segments d'écoute à créer.</p>
+ paramètre pour calculer le nombre de segments d'écoute à créer.</p>
</div>
<p>La directive <code class="directive">ListenCoresBucketsRatio</code> peut
- améliorer le support de la montée en charge lorsque l'arrivée de
- nouvelles connexions est/devient un goulot d'étranglement. Le test
- de cette fonctionnalité avec des machines possédant un nombre de
- coeurs de CPU important a permit de constater une amélioration des
- performances significative et des temps de réponse plus courts.</p>
-
- <p>Pour que cette fonctionnalité soit activée, le nombre de coeurs
- de CPU doit être égal au moins au double du <var>ratio</var>
- spécifié. Si vous spécifiez la valeur recommandée pour
- <var>ratio</var>, à savoir <code>8</code>, le nombre minimum de
+ améliorer le support de la montée en charge lorsque l'arrivée de
+ nouvelles connexions est/devient un goulot d'étranglement. Le test
+ de cette fonctionnalité avec des machines possédant un nombre de
+ coeurs de CPU important a permit de constater une amélioration des
+ performances significative et des temps de réponse plus courts.</p>
+
+ <p>Pour que cette fonctionnalité soit activée, le nombre de coeurs
+ de CPU doit être égal au moins au double du <var>ratio</var>
+ spécifié. Si vous spécifiez la valeur recommandée pour
+ <var>ratio</var>, à savoir <code>8</code>, le nombre minimum de
coeurs de processeurs disponibles sera alors de <code>16</code>. La valeur
optimale de <var>ratio</var> permettant d'obtenir des performances maximales
- doit être calculée pour chaque système cible, en testant plusieurs valeurs
- et en observant les résultats.</p>
+ doit être calculée pour chaque système cible, en testant plusieurs valeurs
+ et en observant les résultats.</p>
- <p>Cette directive influence le calcul des valeurs limites inférieures de
+ <p>Cette directive influence le calcul des valeurs limites inférieures de
<code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> et <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>. En effet, pour accepter les
- connexions de manière optimale, le nombre de processus enfants doit être un
- multiple du nombre de segments d'écoute.</p>
+ connexions de manière optimale, le nombre de processus enfants doit être un
+ multiple du nombre de segments d'écoute.</p>
<div class="note">
- <h3>Cas où plusieurs <code class="directive">Listen</code>ers ou serveurs HTTP
- Apache partagent la même adresse IP et port</h3>
- <p>La définition de l'option <code>SO_REUSEPORT</code> pour les sockets
- d'écoute permet à plusieurs processus (partageant le même <code>EUID</code>,
- par exemple <code>root</code>) de se rattacher à la même adresse IP et port,
- sans obtenir l'erreur de rattachement que le système génère habituellement
+ <h3>Cas où plusieurs <code class="directive">Listen</code>ers ou serveurs HTTP
+ Apache partagent la même adresse IP et port</h3>
+ <p>La définition de l'option <code>SO_REUSEPORT</code> pour les sockets
+ d'écoute permet à plusieurs processus (partageant le même <code>EUID</code>,
+ par exemple <code>root</code>) de se rattacher à la même adresse IP et port,
+ sans obtenir l'erreur de rattachement que le système génère habituellement
lorsque ce cas se produit.</p>
- <p>Cela signifie aussi que plusieurs instances d'Apache httpd configurées
- avec le même <code>IP:port</code> et avec une valeur
- <code class="directive">ListenCoresBucketsRatio</code> positive pourraient démarrer
- sans erreur, et fonctionner ensuite avec une répartition uniforme des
- connexions entrantes sur ces différentes instances (ce n'est PAS une
- recommandation et ne constitue pas un usage approprié à tous les cas, mais
- juste un avertissement sur le fait qu'un véritable problème de rattachement
- multiple à un <code>IP:port</code> pourrait alors être occulté).</p>
- <p>Au sein d'une même instance, Apache httpd vérifie la présence de
- directives <code class="directive">Listen</code> multiples avec la même adresse IP
- (ou nom d'hôte) et le même port, et refuse de démarrer si c'est le cas, ce
- qui permet d'éviter la création de segments d'écoute dupliqués qui seraient
+ <p>Cela signifie aussi que plusieurs instances d'Apache httpd configurées
+ avec le même <code>IP:port</code> et avec une valeur
+ <code class="directive">ListenCoresBucketsRatio</code> positive pourraient démarrer
+ sans erreur, et fonctionner ensuite avec une répartition uniforme des
+ connexions entrantes sur ces différentes instances (ce n'est PAS une
+ recommandation et ne constitue pas un usage approprié à tous les cas, mais
+ juste un avertissement sur le fait qu'un véritable problème de rattachement
+ multiple à un <code>IP:port</code> pourrait alors être occulté).</p>
+ <p>Au sein d'une même instance, Apache httpd vérifie la présence de
+ directives <code class="directive">Listen</code> multiples avec la même adresse IP
+ (ou nom d'hôte) et le même port, et refuse de démarrer si c'est le cas, ce
+ qui permet d'éviter la création de segments d'écoute dupliqués qui seraient
du coup inutiles et affecteraient les performances. Cependant, il ne peut
pas (et n'essaiera pas de le faire) intercepter tous les cas possibles de
- recouvrement (comme un nom d'hôte correspondant à une adresse IP utilisée
+ recouvrement (comme un nom d'hôte correspondant à une adresse IP utilisée
quelque part ailleurs).</p>
</div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de connexions qu'un processus enfant va
traiter au cours de son fonctionnement</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxConnectionsPerChild <var>number</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxConnectionsPerChild 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxConnectionsPerChild 0</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 du serveur HTTP
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 du serveur HTTP
Apache. L'ancien nom <code>MaxRequestsPerChild</code> est encore
-supporté.</td></tr>
+supporté.</td></tr>
</table>
<p>La directive <code class="directive">MaxConnectionsPerChild</code> permet de
- définir le nombre maximum de connexions qu'un processus enfant va
- pouvoir traiter au cours de son fonctionnement. Lorsqu'il a traité
+ définir le nombre maximum de connexions qu'un processus enfant va
+ pouvoir traiter au cours de son fonctionnement. Lorsqu'il a traité
<code class="directive">MaxConnectionsPerChild</code> connexions, le processus
- enfant est arrêté. Si <code class="directive">MaxConnectionsPerChild</code> est
- définie à <code>0</code>, il n'y a plus aucune limite sur le nombre
+ enfant est arrêté. Si <code class="directive">MaxConnectionsPerChild</code> est
+ définie à <code>0</code>, il n'y a plus aucune limite sur le nombre
de connexions que le processus pourra traiter.</p>
- <p>Définir <code class="directive">MaxConnectionsPerChild</code> à une valeur
- non nulle limite la quantité de mémoire qu'un processus peut
- consommer à cause de fuites (accidentelles) de mémoire.</p>
+ <p>Définir <code class="directive">MaxConnectionsPerChild</code> à une valeur
+ non nulle limite la quantité de mémoire qu'un processus peut
+ consommer à cause de fuites (accidentelles) de mémoire.</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="maxmemfree" id="maxmemfree">Directive</a> <a name="MaxMemFree" id="MaxMemFree">MaxMemFree</a><a title="Lien permanent" href="#maxmemfree" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Quantité maximale de mémoire que l'allocateur principal est
-autorisé à conserver sans appeler <code>free()</code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Quantité maximale de mémoire que l'allocateur principal est
+autorisé à conserver sans appeler <code>free()</code></td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxMemFree <var>KOctets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxMemFree 2048</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxMemFree 2048</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code></td></tr>
</table>
- <p>La directive <code class="directive">MaxMemFree</code> permet de définir
+ <p>La directive <code class="directive">MaxMemFree</code> permet de définir
le nombre maximum de KOctets libres que tout allocateur est
- autorisé à conserver sans appeler <code>free()</code>. Dans les MPMs
- threadés, chaque thread possède son propre allocateur. Si elle est
- définie à 0, la quantité de mémoire libre que peut conserver un
- allocateur est illimitée.</p>
+ autorisé à conserver sans appeler <code>free()</code>. Dans les MPMs
+ threadés, chaque thread possède son propre allocateur. Si elle est
+ définie à 0, la quantité de mémoire libre que peut conserver un
+ allocateur est illimitée.</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="maxrequestworkers" id="maxrequestworkers">Directive</a> <a name="MaxRequestWorkers" id="MaxRequestWorkers">MaxRequestWorkers</a><a title="Lien permanent" href="#maxrequestworkers" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de connexions pouvant être traitées
-simultanément</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de connexions pouvant être traitées
+simultanément</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxRequestWorkers <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr>
</table>
<p>La directive <code class="directive">MaxRequestWorkers</code> permet de fixer le
- nombre maximum de requêtes pouvant être traitées simultanément.
+ nombre maximum de requêtes pouvant être traitées simultanément.
Si la limite <code class="directive">MaxRequestWorkers</code> est atteinte, toute
tentative de connexion sera normalement mise dans une file
- d'attente, et ceci jusqu'à un certain nombre dépendant de la
+ d'attente, et ceci jusqu'à un certain nombre dépendant de la
directive <code class="directive"><a href="#listenbacklog">ListenBacklog</a></code>.
- Lorsqu'un processus enfant se libèrera suite à la fin du traitement
- d'une requête, la connexion en attente pourra être traitée à son
+ Lorsqu'un processus enfant se libèrera suite à la fin du traitement
+ d'une requête, la connexion en attente pourra être traitée à son
tour.</p>
- <p>Pour les serveurs non threadés (<em>c'est à dire</em> utilisant
+ <p>Pour les serveurs non threadés (<em>c'est à dire</em> utilisant
<code class="module"><a href="../mod/prefork.html">prefork</a></code>), la directive
- <code class="directive">MaxRequestWorkers</code> définit alors le nombre maximum de
- processus enfants qui pourront être lancés simultanément pour
- traiter les requêtes. La valeur par défaut est <code>256</code> ; si
+ <code class="directive">MaxRequestWorkers</code> définit alors le nombre maximum de
+ processus enfants qui pourront être lancés simultanément pour
+ traiter les requêtes. La valeur par défaut est <code>256</code> ; si
vous l'augmentez, vous devez aussi augmenter la valeur de la
directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>.</p>
- <p>Pour les serveur threadés et hybrides (utilisant <em>par
+ <p>Pour les serveur threadés et hybrides (utilisant <em>par
exemple</em> <code class="module"><a href="../mod/event.html">event</a></code> ou <code class="module"><a href="../mod/worker.html">worker</a></code>),
- <code class="directive">MaxRequestWorkers</code> définit alors le nombre total de
+ <code class="directive">MaxRequestWorkers</code> définit alors le nombre total de
threads qui seront disponibles pour servir les clients. Dans le
- cas des MPMs hybrides, la valeur par défaut est <code>16</code>
- (directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>) multiplié par la valeur
- <code>25</code> (directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>). Par conséquent, pour affecter à la
+ cas des MPMs hybrides, la valeur par défaut est <code>16</code>
+ (directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>) multiplié par la valeur
+ <code>25</code> (directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>). Par conséquent, pour affecter à la
directive <code class="directive">MaxRequestWorkers</code> une valeur qui requiert
plus de 16 processus, vous devez aussi augmenter la valeur de la
directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>.</p>
<p>Le nom de la directive <code class="directive">MaxRequestWorkers</code>
- était <code class="directive">MaxClients</code> avant la version 2.3.13. Cet
- ancien nom est encore supporté.</p>
+ était <code class="directive">MaxClients</code> avant la version 2.3.13. Cet
+ ancien nom est encore supporté.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de threads inactifs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxSpareThreads <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr>
</table>
<p>C'est le nombre maximum de threads inactifs. Les MPMs utilisent
- cette directive de différentes manières.</p>
+ cette directive de différentes manières.</p>
- <p>Pour <code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, la définition par défaut est
- <code>MaxSpareThreads 250</code>. Ce MPM gère les threads inactifs
- au niveau du serveur. Si le serveur possède trop de threads
- inactifs, des processus enfants seront arrêtés jusqu'à ce que le
+ <p>Pour <code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, la définition par défaut est
+ <code>MaxSpareThreads 250</code>. Ce MPM gère les threads inactifs
+ au niveau du serveur. Si le serveur possède trop de threads
+ inactifs, des processus enfants seront arrêtés jusqu'à ce que le
nombre de threads inactifs repasse en dessous de cette limite. Des
- processus/threads supplémentaires sont susceptibles d'être créés si
+ processus/threads supplémentaires sont susceptibles d'être créés si
<code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> est
- activée.</p>
+ activée.</p>
- <p>Pour <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est
- <code>MaxSpareThreads 100</code>. Comme ce MPM n'exécute qu'un seul
- processus, le nombre de processus inactifs est surveillé au
+ <p>Pour <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est
+ <code>MaxSpareThreads 100</code>. Comme ce MPM n'exécute qu'un seul
+ processus, le nombre de processus inactifs est surveillé au
niveau du serveur.</p>
- <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> fonctionne de manière similaire à
+ <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> fonctionne de manière similaire à
<code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>. Pour <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, la
- valeur par défaut est <code>10</code>.</p>
+ valeur par défaut est <code>10</code>.</p>
<div class="note"><h3>Contraintes</h3>
<p>La gamme de valeurs pour <code class="directive">MaxSpareThreads</code>
- est limitée. Apache httpd corrigera automatiquement cette valeur selon
- les règles suivantes :</p>
+ est limitée. Apache httpd corrigera automatiquement cette valeur selon
+ les règles suivantes :</p>
<ul>
- <li>Avec <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="directive">MaxSpareThreads</code> doit être supérieure à <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>.</li>
+ <li>Avec <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="directive">MaxSpareThreads</code> doit être supérieure à <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>.</li>
<li>Avec
<code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, <code class="directive">MaxSpareThreads</code>
- doit être supérieure ou égale à la somme de <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>.</li>
+ doit être supérieure ou égale à la somme de <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>.</li>
</ul>
</div>
<div class="directive-section"><h2><a name="minsparethreads" id="minsparethreads">Directive</a> <a name="MinSpareThreads" id="MinSpareThreads">MinSpareThreads</a><a title="Lien permanent" href="#minsparethreads" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre minimum de threads inactifs qui seront disponibles
-pour pouvoir traiter les pics de requêtes</td></tr>
+pour pouvoir traiter les pics de requêtes</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MinSpareThreads <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr>
</table>
- <p>C'est le nombre minimum de threads inactifs pour être en mesure
- de traiter les pics de requêtes. Les MPMs utilisent cette directive
- de différentes manières.</p>
+ <p>C'est le nombre minimum de threads inactifs pour être en mesure
+ de traiter les pics de requêtes. Les MPMs utilisent cette directive
+ de différentes manières.</p>
- <p>Avec <code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, la définition par défaut est
+ <p>Avec <code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, la définition par défaut est
<code>MinSpareThreads 75</code>, et le nombre de threads inactifs
- est surveillé au niveau du serveur. Si le serveur ne possède pas
- assez de threads inactifs, des processus enfants sont créés jusqu'à
+ est surveillé au niveau du serveur. Si le serveur ne possède pas
+ assez de threads inactifs, des processus enfants sont créés jusqu'à
ce que le nombre de threads inactifs repasse au dessus de
- <var>nombre</var>. Des processus/threads supplémentaires peuvent
- être créés si <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> est activée.</p>
+ <var>nombre</var>. Des processus/threads supplémentaires peuvent
+ être créés si <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> est activée.</p>
- <p>Avec <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est
- <code>MinSpareThreads 10</code> et, comme ce MPM n'exécute qu'un
- seul processus, le nombre de threads est surveillé au niveau du
+ <p>Avec <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est
+ <code>MinSpareThreads 10</code> et, comme ce MPM n'exécute qu'un
+ seul processus, le nombre de threads est surveillé au niveau du
serveur.</p>
- <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> fonctionne de manière similaire à
+ <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> fonctionne de manière similaire à
<code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>. Pour <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, la
- valeur par défaut est <code>5</code>.</p>
+ valeur par défaut est <code>5</code>.</p>
<h3>Voir aussi</h3>
<div class="directive-section"><h2><a name="pidfile" id="pidfile">Directive</a> <a name="PidFile" id="PidFile">PidFile</a><a title="Lien permanent" href="#pidfile" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ficher dans lequel le serveur enregistre l'identificateur
-de processus du démon</td></tr>
+de processus du démon</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PidFile <var>nom fichier</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>PidFile httpd.pid</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>PidFile httpd.pid</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr>
</table>
- <p>La directive <code class="directive">PidFile</code> permet de définir le
+ <p>La directive <code class="directive">PidFile</code> permet de définir le
ficher dans lequel le serveur
- enregistre l'identificateur de processus du démon. Si le chemin du
- fichier n'est pas absolu, il est considéré comme relatif au chemin
- défini par la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p>
+ enregistre l'identificateur de processus du démon. Si le chemin du
+ fichier n'est pas absolu, il est considéré comme relatif au chemin
+ défini par la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">PidFile /var/run/apache.pid</pre>
</div>
<p>Il est souvent utile de pouvoir envoyer un signal au
- serveur afin qu'il ferme et ouvre à nouveau ses journaux
+ serveur afin qu'il ferme et ouvre à nouveau ses journaux
d'<code class="directive"><a href="../mod/core.html#erreur">erreur</a></code> et de <code class="directive"><a href="../mod/mod_log_config.html#transfert">transfert</a></code>, et recharge son
fichier de configuration. Pour ce faire, on envoie un signal SIGHUP
- (kill -1) à l'identificateur de processus enregistré dans le fichier
- défini par la directive <code class="directive">PidFile</code>.</p>
+ (kill -1) à l'identificateur de processus enregistré dans le fichier
+ défini par la directive <code class="directive">PidFile</code>.</p>
<p>La directive <code class="directive">PidFile</code> fait l'objet des
- mêmes avertissements que ceux concernant le chemin d'enregistrement
- des fichiers journaux et la <a href="../misc/security_tips.html#serverroot">sécurité</a>.</p>
+ mêmes avertissements que ceux concernant le chemin d'enregistrement
+ des fichiers journaux et la <a href="../misc/security_tips.html#serverroot">sécurité</a>.</p>
<div class="note"><h3>Note</h3>
<p>Depuis la version 2 du serveur HTTP Apache, nous recommandons de n'utiliser
que le script <code class="program"><a href="../programs/apachectl.html">apachectl</a></code>, ou le script de
- démarrage fourni avec votre système d'exploitation pour (re)démarrer ou
- arrêter le serveur.</p>
+ démarrage fourni avec votre système d'exploitation pour (re)démarrer ou
+ arrêter le serveur.</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="receivebuffersize" id="receivebuffersize">Directive</a> <a name="ReceiveBufferSize" id="ReceiveBufferSize">ReceiveBufferSize</a><a title="Lien permanent" href="#receivebuffersize" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon TCP en entrée</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon TCP en entrée</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ReceiveBufferSize <var>octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ReceiveBufferSize 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ReceiveBufferSize 0</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr>
</table>
- <p>Le serveur va fixer la taille du tampon TCP en entrée au
- nombre d'octets spécifié.</p>
+ <p>Le serveur va fixer la taille du tampon TCP en entrée au
+ nombre d'octets spécifié.</p>
- <p>Si la directive est définie à <code>0</code>, le serveur va
- utiliser la valeur par défaut adoptée par le système
+ <p>Si la directive est définie à <code>0</code>, le serveur va
+ utiliser la valeur par défaut adoptée par le système
d'exploitation.</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="scoreboardfile" id="scoreboardfile">Directive</a> <a name="ScoreBoardFile" id="ScoreBoardFile">ScoreBoardFile</a><a title="Lien permanent" href="#scoreboardfile" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier où sont stockées les données concernant
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier où sont stockées les données concernant
la coordination des processus enfants</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScoreBoardFile <var>file-path</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScoreBoardFile apache_runtime_status</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScoreBoardFile apache_runtime_status</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr>
<p>Le serveur HTTP Apache utilise un tableau de bord pour la
communication entre le processus parent et les processus enfants.
Pour faciliter cette communication, certaines architectures
- nécessitent un fichier. En l'absence de cette directive, donc si
- aucun nom de fichier n'est spécifié, Apache httpd tentera tout
- d'abord de créer un tableau uniquement en mémoire (en utilisant la
- mémoire partagée anonyme) ; et si il n'y parvient pas, il tentera de
- créer un fichier sur disque (en utilisant la mémoire partagée à base
- de fichier). Si cette directive est utilisée, Apache httpd créera
- systématiquement un fichier sur disque.</p>
-
- <p>Si <var>file-path</var> n'est pas un chemin absolu, il sera relatif à la
- valeur spécifiée par la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.
+ nécessitent un fichier. En l'absence de cette directive, donc si
+ aucun nom de fichier n'est spécifié, Apache httpd tentera tout
+ d'abord de créer un tableau uniquement en mémoire (en utilisant la
+ mémoire partagée anonyme) ; et si il n'y parvient pas, il tentera de
+ créer un fichier sur disque (en utilisant la mémoire partagée à base
+ de fichier). Si cette directive est utilisée, Apache httpd créera
+ systématiquement un fichier sur disque.</p>
+
+ <p>Si <var>file-path</var> n'est pas un chemin absolu, il sera relatif à la
+ valeur spécifiée par la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.
</p>
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ScoreBoardFile /var/run/apache_runtime_status</pre>
</div>
- <p>Une mémoire partagée sous forme de fichier est utile pour les
- applications tierces qui nécessitent un accès direct au tableau de
+ <p>Une mémoire partagée sous forme de fichier est utile pour les
+ applications tierces qui nécessitent un accès direct au tableau de
bord des processus.</p>
<p>Si vous utilisez un <code class="directive">ScoreBoardFile</code>, vous
- pourrez constater une amélioration des performances en le plaçant
+ pourrez constater une amélioration des performances en le plaçant
sur un disque virtuel en RAM. Assurez-vous cependant de tenir compte
- des mêmes avertissements que ceux concernant le chemin du fichier
- journal et la <a href="../misc/security_tips.html">sécurité</a>.</p>
+ des mêmes avertissements que ceux concernant le chemin du fichier
+ journal et la <a href="../misc/security_tips.html">sécurité</a>.</p>
<h3>Voir aussi</h3>
<ul>
-<li><a href="../stopping.html">Arrêter et redémarrer
+<li><a href="../stopping.html">Arrêter et redémarrer
le serveur HTTP Apache</a></li>
</ul>
</div>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon TCP en sortie</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SendBufferSize <var>octets</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SendBufferSize 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SendBufferSize 0</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr>
</table>
- <p>Définit la taille du tampon TCP en sortie avec le nombre
- d'octets spécifié. Ceci s'avère souvent très utile pour augmenter les
- valeurs par défaut standards du passé des systèmes d'exploitation
- pour les transmissions à grande vitesse et haute densité (<em>c'est
- à dire</em> de l'ordre de 100ms comme sur les liaisons rapides
+ <p>Définit la taille du tampon TCP en sortie avec le nombre
+ d'octets spécifié. Ceci s'avère souvent très utile pour augmenter les
+ valeurs par défaut standards du passé des systèmes d'exploitation
+ pour les transmissions à grande vitesse et haute densité (<em>c'est
+ à dire</em> de l'ordre de 100ms comme sur les liaisons rapides
transcontinentales).</p>
- <p>Si la directive est définie à <code>0</code>, le serveur va
- utiliser la valeur par défaut adoptée par le système
+ <p>Si la directive est définie à <code>0</code>, le serveur va
+ utiliser la valeur par défaut adoptée par le système
d'exploitation.</p>
- <p>L'amélioration des performances des connexions à grande vitesse
- et à temps de latence élevé, peut nécessiter
- une intervention au niveau de la configuration de votre système
+ <p>L'amélioration des performances des connexions à grande vitesse
+ et à temps de latence élevé, peut nécessiter
+ une intervention au niveau de la configuration de votre système
d'exploitation.</p>
- <div class="note"><p>Sous certains systèmes d'exploitation, la modification du
+ <div class="note"><p>Sous certains systèmes d'exploitation, la modification du
comportement TCP via une augmentation de la valeur de
- <code class="directive">SendBufferSize</code> risque de ne pas être
- perceptible, si la directive <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code> n'est pas définie à OFF.
+ <code class="directive">SendBufferSize</code> risque de ne pas être
+ perceptible, si la directive <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code> n'est pas définie à OFF.
Cette interaction ne s'applique qu'aux fichiers statiques.</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="serverlimit" id="serverlimit">Directive</a> <a name="ServerLimit" id="ServerLimit">ServerLimit</a><a title="Lien permanent" href="#serverlimit" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite supérieure de la définition du nombre de
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite supérieure de la définition du nombre de
processus</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerLimit <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr>
</table>
- <p>Avec le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code>, cette directive définit le
- nombre maximum que l'on peut affecter à la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, et ceci pour la
- durée de vie du processus Apache httpd. Avec les
+ <p>Avec le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code>, cette directive définit le
+ nombre maximum que l'on peut affecter à la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, et ceci pour la
+ durée de vie du processus Apache httpd. Avec les
MPMs <code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, cette directive, en combinaison avec
- <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>, définit le
- nombre maximum que l'on peut affecter à <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, et ceci pour la durée de
+ <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>, définit le
+ nombre maximum que l'on peut affecter à <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, et ceci pour la durée de
vie du processus Apache httpd. Avec le MPM <code class="module"><a href="../mod/event.html">event</a></code>, cette
- directive permet aussi de définir combien de processus anciens peuvent
- continuer à s'exécuter pour terminer le traitement des connexions ouvertes.
- Au cours d'un redémarrage, vous pouvez
+ directive permet aussi de définir combien de processus anciens peuvent
+ continuer à s'exécuter pour terminer le traitement des connexions ouvertes.
+ Au cours d'un redémarrage, vous pouvez
modifier la valeur de la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, alors que toute
- tentative de modification de la valeur de la directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> sera ignorée.</p>
+ tentative de modification de la valeur de la directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> sera ignorée.</p>
- <p>Cette directive doit être utilisée avec précaution. Si
- <code class="directive">ServerLimit</code> est définie à une valeur beaucoup
- plus grande que nécessaire, de la mémoire partagée supplémentaire
- sera inutilement allouée. Si à la fois
- <code class="directive">ServerLimit</code> et <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> possèdent des valeurs
- supérieures à ce que le système peut supporter, ce dernier peut
- devenir instable ou Apache httpd peut tout simplement refuser de démarrer.</p>
+ <p>Cette directive doit être utilisée avec précaution. Si
+ <code class="directive">ServerLimit</code> est définie à une valeur beaucoup
+ plus grande que nécessaire, de la mémoire partagée supplémentaire
+ sera inutilement allouée. Si à la fois
+ <code class="directive">ServerLimit</code> et <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> possèdent des valeurs
+ supérieures à ce que le système peut supporter, ce dernier peut
+ devenir instable ou Apache httpd peut tout simplement refuser de démarrer.</p>
<p>Avec les MPMs <code class="module"><a href="../mod/prefork.html">prefork</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, n'utilisez cette directive
- que si vous devez définir <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> à une valeur supérieure à
- 256 (valeur par défaut). N'affectez pas à la directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> une valeur supérieure à
- celle que vous avez prévu d'affecter à la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>.</p>
+ que si vous devez définir <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> à une valeur supérieure à
+ 256 (valeur par défaut). N'affectez pas à la directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> une valeur supérieure à
+ celle que vous avez prévu d'affecter à la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>.</p>
<p>Avec <code class="module"><a href="../mod/worker.html">worker</a></code>, n'utilisez cette directive que si
- la définition de vos directives <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> nécessitent plus de
- 16 processus serveurs (valeur par défaut). N'affectez pas à la
+ la définition de vos directives <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> nécessitent plus de
+ 16 processus serveurs (valeur par défaut). N'affectez pas à la
directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> une
- valeur supérieure au nombre de processus requis pour la définition
+ valeur supérieure au nombre de processus requis pour la définition
des directives <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers
</a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>.</p>
<p>Avec le MPM <code class="module"><a href="../mod/event.html">event</a></code>, augmentez la valeur de cette
- directive si le nombre de processus défini par les directives <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> augmenté du nombre de processus
- en procédure d'arrêt "graceful" est supérieur à 16 (valeur par défaut).</p>
+ directive si le nombre de processus défini par les directives <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> augmenté du nombre de processus
+ en procédure d'arrêt "graceful" est supérieur à 16 (valeur par défaut).</p>
<div class="note"><h3>Note</h3>
- <p>Il existe une limite de <code>ServerLimit 20000</code> codée en
+ <p>Il existe une limite de <code>ServerLimit 20000</code> codée en
dur dans le serveur (200000 pour le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code>).
- Ceci est censé éviter les effets désastreux que pourrait provoquer
- une faute de frappe. Pour dépasser cette limite, vous devez
+ Ceci est censé éviter les effets désastreux que pourrait provoquer
+ une faute de frappe. Pour dépasser cette limite, vous devez
modifier la valeur de MAX_SERVER_LIMIT dans le fichier source du
mpm et recompiler le serveur.</p>
</div>
<h3>Voir aussi</h3>
<ul>
-<li><a href="../stopping.html">Arrêter et redémarrer
+<li><a href="../stopping.html">Arrêter et redémarrer
le serveur HTTP 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="startservers" id="startservers">Directive</a> <a name="StartServers" id="StartServers">StartServers</a><a title="Lien permanent" href="#startservers" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de processus enfants du serveur créés au
-démarrage</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de processus enfants du serveur créés au
+démarrage</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>StartServers <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr>
</table>
<p>La directive <code class="directive">StartServers</code> permet de
- définir le nombre de processus enfants du serveur créés au
- démarrage. Comme le nombre de processus est contrôlé dynamiquement
- en fonction de la charge (voir <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>, <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>, <code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code>), il n'est en général
- pas nécessaire d'ajuster ce paramètre.</p>
-
- <p>La valeur par défaut diffère d'un MPM à l'autre. Pour
- <code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, la définition par défaut est
- <code>StartServers 3</code> ; la valeur par défaut est
+ définir le nombre de processus enfants du serveur créés au
+ démarrage. Comme le nombre de processus est contrôlé dynamiquement
+ en fonction de la charge (voir <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>, <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>, <code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code>), il n'est en général
+ pas nécessaire d'ajuster ce paramètre.</p>
+
+ <p>La valeur par défaut diffère d'un MPM à l'autre. Pour
+ <code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, la définition par défaut est
+ <code>StartServers 3</code> ; la valeur par défaut est
<code>5</code> pour <code class="module"><a href="../mod/prefork.html">prefork</a></code> et <code>2</code>
pour <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>.</p>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="startthreads" id="startthreads">Directive</a> <a name="StartThreads" id="StartThreads">StartThreads</a><a title="Lien permanent" href="#startthreads" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de threads créés au démarrage</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de threads créés au démarrage</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>StartThreads <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code></td></tr>
</table>
- <p>C'est le nombre de threads créés au démarrage du serveur. Comme
- le nombre de threads est contrôlé dynamiquement
- en fonction de la charge (voir <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>, <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>, <code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code>), il n'est en général
- pas nécessaire d'ajuster ce paramètre.</p>
+ <p>C'est le nombre de threads créés au démarrage du serveur. Comme
+ le nombre de threads est contrôlé dynamiquement
+ en fonction de la charge (voir <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>, <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>, <code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code>), il n'est en général
+ pas nécessaire d'ajuster ce paramètre.</p>
- <p>Pour <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est
+ <p>Pour <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est
<code>StartThreads 50</code> et, comme il n'y a qu'un processus, il
- s'agit du nombre total de threads créés au démarrage pour servir les
- requêtes.</p>
+ s'agit du nombre total de threads créés au démarrage pour servir les
+ requêtes.</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="threadlimit" id="threadlimit">Directive</a> <a name="ThreadLimit" id="ThreadLimit">ThreadLimit</a><a title="Lien permanent" href="#threadlimit" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nombre de threads maximum que l'on peut définir par
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nombre de threads maximum que l'on peut définir par
processus enfant</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ThreadLimit <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr>
</table>
- <p>Cette directive permet de définir le nombre maximum que l'on peut
- affecter à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> pour la durée de vie
- du processus Apache httpd. La directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> peut être modifiée
- au cours d'un redémarrage jusqu'à la valeur de la directive <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>, mais toute tentative
+ <p>Cette directive permet de définir le nombre maximum que l'on peut
+ affecter à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> pour la durée de vie
+ du processus Apache httpd. La directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> peut être modifiée
+ au cours d'un redémarrage jusqu'à la valeur de la directive <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>, mais toute tentative
de modification de la directive <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> au cours d'un
- redémarrage sera ignorée.</p>
+ redémarrage sera ignorée.</p>
<p>L'utilisation de cette directive doit faire l'objet de
- précautions particulières. Si <code class="directive">ThreadLimit</code> est
- définie à une valeur très supérieure à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>, de la mémoire
- partagée supplémentaire sera inutilement allouée. Si les directives
- <code class="directive">ThreadLimit</code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> sont définies à des
- valeurs supérieures à ce que le système peut supporter, ce dernier
+ précautions particulières. Si <code class="directive">ThreadLimit</code> est
+ définie à une valeur très supérieure à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>, de la mémoire
+ partagée supplémentaire sera inutilement allouée. Si les directives
+ <code class="directive">ThreadLimit</code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> sont définies à des
+ valeurs supérieures à ce que le système peut supporter, ce dernier
peut devenir instable, ou Apache httpd peut tout simplement refuser de
- démarrer. Ne définissez pas cette directive à une valeur supérieure
- à la valeur maximale que vous pensez affecter à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> pour le processus
- Apache httpd en cours d'exécution.</p>
+ démarrer. Ne définissez pas cette directive à une valeur supérieure
+ à la valeur maximale que vous pensez affecter à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> pour le processus
+ Apache httpd en cours d'exécution.</p>
- <p>La valeur par défaut de la directive
+ <p>La valeur par défaut de la directive
<code class="directive">ThreadLimit</code> est <code>1920</code> avec
<code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, et <code>64</code> avec les autres
MPMs.</p>
<p>Il existe une limite de <code>ThreadLimit 20000</code> (ou
<code>ThreadLimit 100000</code> avec <code class="module"><a href="../mod/event.html">event</a></code>,
<code>ThreadLimit 15000</code> avec <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>)
- codée en dur dans le serveur. Ceci est censé éviter les effets
- désastreux que pourrait provoquer une faute de frappe. Pour
- dépasser cette limite, vous devez modifier la valeur de
+ codée en dur dans le serveur. Ceci est censé éviter les effets
+ désastreux que pourrait provoquer une faute de frappe. Pour
+ dépasser cette limite, vous devez modifier la valeur de
MAX_THREAD_LIMIT dans le fichier source du mpm et recompiler le
serveur.</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="threadsperchild" id="threadsperchild">Directive</a> <a name="ThreadsPerChild" id="ThreadsPerChild">ThreadsPerChild</a><a title="Lien permanent" href="#threadsperchild" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de threads créés par chaque processus
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de threads créés par chaque processus
enfant</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ThreadsPerChild <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr>
</table>
- <p>Cette directive permet de définir le nombre de threads que va
- créer chaque processus enfant. Un processus enfant crée ces threads
- au démarrage et n'en crée plus d'autres par la suite. Si l'on
+ <p>Cette directive permet de définir le nombre de threads que va
+ créer chaque processus enfant. Un processus enfant crée ces threads
+ au démarrage et n'en crée plus d'autres par la suite. Si l'on
utilise un MPM comme <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> qui ne lance qu'un
- processus enfant, ce nombre doit être suffisamment grand pour
+ processus enfant, ce nombre doit être suffisamment grand pour
supporter la charge du serveur. Avec un MPM comme
<code class="module"><a href="../mod/worker.html">worker</a></code> qui lance plusieurs processus enfants, c'est
- le nombre <em>total</em> de threads qui doit être suffisamment grand
+ le nombre <em>total</em> de threads qui doit être suffisamment grand
pour supporter la charge du serveur.</p>
- <p>La valeur par défaut de la directive
+ <p>La valeur par défaut de la directive
<code class="directive">ThreadsPerChild</code> est <code>64</code> avec
<code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, et <code>25</code> avec les autres
MPMs.</p>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La taille en octets de la pile qu'utilisent les threads qui
traitent les connexions clients</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ThreadStackSize <var>taille</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>65536 sous NetWare; varie en fonction des autres systèmes
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>65536 sous NetWare; varie en fonction des autres systèmes
d'exploitation</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr>
</table>
<p>La directive <code class="directive">ThreadStackSize</code> permet de
- définir la taille de la pile (pour les données propres) qu'utilisent
- les threads qui traitent les connexions clients en faisant appel à
- des modules. Dans la plupart des cas, la valeur par défaut de la
- taille de la pile du système d'exploitation convient, mais il existe
- certaines situations où il peut s'avérer nécessaire de l'ajuster
+ définir la taille de la pile (pour les données propres) qu'utilisent
+ les threads qui traitent les connexions clients en faisant appel à
+ des modules. Dans la plupart des cas, la valeur par défaut de la
+ taille de la pile du système d'exploitation convient, mais il existe
+ certaines situations où il peut s'avérer nécessaire de l'ajuster
:</p>
<ul>
- <li>Sur les plates-formes qui possèdent une valeur par défaut de
+ <li>Sur les plates-formes qui possèdent une valeur par défaut de
taille de la pile relativement petite (par exemple HP-UX), Apache
httpd peut se crasher si l'on utilise certains modules tiers qui
- possèdent un quantité de données propres stockées relativement
- importante. Il se peut que ces mêmes modules fonctionnent
- correctement sur d'autres plate-formes où la valeur par défaut de
- la taille de la pile est supérieure. Ce type de crash peut être
- evité en définissant <code class="directive">ThreadStackSize</code> à une
- valeur supérieure à la valeur par défaut du système
- d'exploitation. Ce type d'ajustement n'est nécessaire que si le
+ possèdent un quantité de données propres stockées relativement
+ importante. Il se peut que ces mêmes modules fonctionnent
+ correctement sur d'autres plate-formes où la valeur par défaut de
+ la taille de la pile est supérieure. Ce type de crash peut être
+ evité en définissant <code class="directive">ThreadStackSize</code> à une
+ valeur supérieure à la valeur par défaut du système
+ d'exploitation. Ce type d'ajustement n'est nécessaire que si le
fournisseur du module tiers en fait mention, ou si le diagnostic
- d'un crash d'Apache httpd indique que la taille de la pile était trop
+ d'un crash d'Apache httpd indique que la taille de la pile était trop
petite.</li>
- <li>Sur les plates-formes où la taille par défaut de la pile des
- threads est sensiblement supérieure à la taille nécessaire pour la
+ <li>Sur les plates-formes où la taille par défaut de la pile des
+ threads est sensiblement supérieure à la taille nécessaire pour la
configuration du serveur web, il est possible de disposer d'un
plus grand nombre de threads par processus enfant si la directive
- <code class="directive">ThreadStackSize</code> est définie à une valeur
- inférieure à la valeur par défaut du système d'exploitation.
+ <code class="directive">ThreadStackSize</code> est définie à une valeur
+ inférieure à la valeur par défaut du système d'exploitation.
Cependant, ce
- type d'ajustement ne doit être effectué que dans un environnement
+ type d'ajustement ne doit être effectué que dans un environnement
de test permettant de qualifier le serveur web au maximum de ses
- possibilités, car il peut arriver, dans de rares cas, que des
- requêtes nécessitent une taille de pile supérieure pour pouvoir
- être traitées. La taille minimale requise pour la pile dépend
- fortement des modules utilisés, mais toute modification dans la
- configuration du serveur web peut invalider la définition courante
+ possibilités, car il peut arriver, dans de rares cas, que des
+ requêtes nécessitent une taille de pile supérieure pour pouvoir
+ être traitées. La taille minimale requise pour la pile dépend
+ fortement des modules utilisés, mais toute modification dans la
+ configuration du serveur web peut invalider la définition courante
de la directive <code class="directive">ThreadStackSize</code>.</li>
- <li>Sous Linux, cette directive ne peut être utilisée que pour
+ <li>Sous Linux, cette directive ne peut être utilisée que pour
augmenter la valeur par defaut de la taille de la pile, car
- l'appel système sous-jacent utilise cette valeur comme taille de pile
- <em>minimale</em>. C'est la limite logicielle (souvent élevée)
+ l'appel système sous-jacent utilise cette valeur comme taille de pile
+ <em>minimale</em>. C'est la limite logicielle (souvent élevée)
pour <code>ulimit -s</code> (8Mo si aucune limite) qui est
- utilisée comme taille de pile par défaut.</li>
+ utilisée comme taille de pile par défaut.</li>
</ul>
- <div class="note">Il est recommandé de ne pas réduire
- <code class="directive">ThreadStackSize</code>, à moins qu'un grand nombre
- de threads par processus enfant ne soit nécessaire. Sur certaines
- plates-formes (y compris Linux), une valeur de 128000 est déjà trop
+ <div class="note">Il est recommandé de ne pas réduire
+ <code class="directive">ThreadStackSize</code>, à moins qu'un grand nombre
+ de threads par processus enfant ne soit nécessaire. Sur certaines
+ plates-formes (y compris Linux), une valeur de 128000 est déjà trop
basse et provoque des crashes avec certains modules courants.</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mpm_common.html" title="Français"> fr </a> |
+<a href="../fr/mod/mpm_common.html" title="Français"> fr </a> |
<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
-<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Apache MPM netware</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mpm_netware.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mpm_netware.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mpm_netware.html" title="Français"> fr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module multi-processus implémentant un serveur web basé
-exclusivement sur les threads et optimisé pour Novell
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module multi-processus implémentant un serveur web basé
+exclusivement sur les threads et optimisé pour Novell
NetWare</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_netware_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mpm_netware.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_netware_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mpm_netware.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module multi-processus (MPM) implémente un serveur web basé
- exclusivement sur les threads et optimisé pour Novell NetWare.</p>
+ <p>Ce module multi-processus (MPM) implémente un serveur web basé
+ exclusivement sur les threads et optimisé pour Novell NetWare.</p>
- <p>Le thread maître est chargé du lancement de threads esclaves qui
- attendent les connexions et les traitent au fur et à mesure de leur
- arrivée. Le serveur HTTP Apache essaie toujours de maintenir
+ <p>Le thread maître est chargé du lancement de threads esclaves qui
+ attendent les connexions et les traitent au fur et à mesure de leur
+ arrivée. Le serveur HTTP Apache essaie toujours de maintenir
plusieurs threads
- esclaves en <dfn>spare</dfn> (en réserve) ou inactifs. De cette
- façon, les clients n'ont pas besoin d'attendre le lancement d'un
- nouveau thread enfant pour que leurs requêtes soient traitées.</p>
+ esclaves en <dfn>spare</dfn> (en réserve) ou inactifs. De cette
+ façon, les clients n'ont pas besoin d'attendre le lancement d'un
+ nouveau thread enfant pour que leurs requêtes soient traitées.</p>
- <p>Les directives <code class="directive"><a href="../mod/mpm_common.html#startthreads">StartThreads</a></code>, <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code>, <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code>, et <code class="directive"><a href="#maxthreads">MaxThreads</a></code> contrôlent
- la manière dont le thread maître crée les threads esclaves afin de
- traiter les requêtes. En général, Apache httpd s'auto-régule correctement,
- et la plupart des sites ne nécessitent aucune modification des
- valeurs par défaut de ces directives. Pour les sites dont le serveur
- est limité en mémoire, il peut s'avérer nécessaire de diminuer la
- valeur de la directive <code class="directive"><a href="#maxthreads">MaxThreads</a></code> afin d'éviter une
- hyper-activité du serveur (arrêts de threads inactifs et lancement incessant
- de nouveau threads). Vous trouverez plus d'informations à
- propos du contrôle de la création de processus dans le document <a href="../misc/perf-tuning.html">conseils en matière de
+ <p>Les directives <code class="directive"><a href="../mod/mpm_common.html#startthreads">StartThreads</a></code>, <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code>, <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code>, et <code class="directive"><a href="#maxthreads">MaxThreads</a></code> contrôlent
+ la manière dont le thread maître crée les threads esclaves afin de
+ traiter les requêtes. En général, Apache httpd s'auto-régule correctement,
+ et la plupart des sites ne nécessitent aucune modification des
+ valeurs par défaut de ces directives. Pour les sites dont le serveur
+ est limité en mémoire, il peut s'avérer nécessaire de diminuer la
+ valeur de la directive <code class="directive"><a href="#maxthreads">MaxThreads</a></code> afin d'éviter une
+ hyper-activité du serveur (arrêts de threads inactifs et lancement incessant
+ de nouveau threads). Vous trouverez plus d'informations à
+ propos du contrôle de la création de processus dans le document <a href="../misc/perf-tuning.html">conseils en matière de
performances</a>.</p>
<p>La directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code>
- contrôle la fréquence à laquelle le serveur recycle ses processus
- en arrêtant les anciens et en en lançant de nouveaux. Sous le
- système d'exploitation NetWare, il est vivement recommandé de
- laisser cette directive à 0, ce qui permet aux threads esclaves de
- continuer à traiter les requêtes indéfiniment.</p>
+ contrôle la fréquence à laquelle le serveur recycle ses processus
+ en arrêtant les anciens et en en lançant de nouveaux. Sous le
+ système d'exploitation NetWare, il est vivement recommandé de
+ laisser cette directive à 0, ce qui permet aux threads esclaves de
+ continuer à traiter les requêtes indéfiniment.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startthreads">StartThreads</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_netware">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_netware">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_netware">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_netware">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
-<li><a href="../bind.html">Définition des adresses et ports
+<li><a href="../bind.html">Définition des adresses et ports
qu'utilise Apache httpd</a>
</li>
<li><a href="#comments_section">Commentaires</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="maxthreads" id="maxthreads">Directive</a> <a name="MaxThreads" id="MaxThreads">MaxThreads</a><a title="Lien permanent" href="#maxthreads" class="permalink">¶</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nombre maximum de threads esclaves</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nombre maximum de threads esclaves</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxThreads <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxThreads 2048</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxThreads 2048</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mpm_netware</td></tr>
</table>
- <p>La directive <code class="directive">MaxThreads</code> définit
- le nombre maximum de threads esclaves que l'on désire autoriser. La
- valeur par défaut correspondant à la valeur codée en dur à la
- compilation, la valeur de cette directive ne peut donc qu'être
- diminuée, comme dans l'exemple suivant :</p>
+ <p>La directive <code class="directive">MaxThreads</code> définit
+ le nombre maximum de threads esclaves que l'on désire autoriser. La
+ valeur par défaut correspondant à la valeur codée en dur à la
+ compilation, la valeur de cette directive ne peut donc qu'être
+ diminuée, comme dans l'exemple suivant :</p>
<div class="example"><p><code>
MaxThreads 512
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mpm_netware.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mpm_netware.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mpm_netware.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../de/mod/mpm_winnt.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/mpm_winnt.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mpm_winnt.html" title="Français"> fr </a> |
+<a href="../fr/mod/mpm_winnt.html" title="Français"> fr </a> |
<a href="../ja/mod/mpm_winnt.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module multi-processus optimisé pour Windows
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module multi-processus optimisé pour Windows
NT.</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_winnt_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mpm_winnt.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_winnt_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mpm_winnt.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module multi-processus (MPM) est le module par défaut pour les
- systèmes d'exploitation de style Windows NT. Il consiste en un
- processus de contrôle unique qui lance un processus enfant unique,
- ce dernier créant à son tour des threads pour traiter les
- requêtes.</p>
+ <p>Ce module multi-processus (MPM) est le module par défaut pour les
+ systèmes d'exploitation de style Windows NT. Il consiste en un
+ processus de contrôle unique qui lance un processus enfant unique,
+ ce dernier créant à son tour des threads pour traiter les
+ requêtes.</p>
- <p>La directive <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> définit le
- nombre maximal de connexions clientes simultanées.</p>
+ <p>La directive <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> définit le
+ nombre maximal de connexions clientes simultanées.</p>
- <p>Ce MPM utilise par défaut les APIs Windows avancées pour accepter
+ <p>Ce MPM utilise par défaut les APIs Windows avancées pour accepter
les nouvelles connexions des clients. Avec certaines configurations,
- des produits tiers peuvent interférer avec cette implémentation, et
+ des produits tiers peuvent interférer avec cette implémentation, et
provoquer l'enregistrement des messages suivants dans les journaux
du serveur :</p>
winnt_mpm: falling back to 'AcceptFilter none'.
</code></p></div>
- <p>Le MPM se rabat sur une implémentation plus sûre, mais certaines
- requêtes n'ont pas été traitées correctement. Pour éviter cette
- erreur, définissez la directive <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> à <code>none</code>.</p>
+ <p>Le MPM se rabat sur une implémentation plus sûre, mais certaines
+ requêtes n'ont pas été traitées correctement. Pour éviter cette
+ erreur, définissez la directive <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> à <code>none</code>.</p>
<pre class="prettyprint lang-config">AcceptFilter http none
AcceptFilter https none</pre>
<p><em>Avec les versions 2.0 et 2.2 d'Apache httpd, c'est la directive
- <code class="directive">Win32DisableAcceptEx</code> qui était utilisée à cet
+ <code class="directive">Win32DisableAcceptEx</code> qui était utilisée à cet
effet.</em></p>
- <p>Le MPM WinNT diffère des autres MPMs Unix comme worker et event
- à bien des égards :</p>
+ <p>Le MPM WinNT diffère des autres MPMs Unix comme worker et event
+ à bien des égards :</p>
<ul>
- <li>Lorsqu'un processus enfant s'arrête suite à un arrêt ou
- redémarrage du serveur, ou lorsque que la limite <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> est
- atteinte, les requêtes en cours de traitement par ce processus en
- cours d'arrêt n'ont que <code class="directive"><a href="../mod/core.html#timeout">TimeOut</a></code> secondes pour s'exécuter avant
- l'arrêt du processus. Les autres types de redémarrage ou arrêt ne
- sont pas implémentés.</li>
+ <li>Lorsqu'un processus enfant s'arrête suite à un arrêt ou
+ redémarrage du serveur, ou lorsque que la limite <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> est
+ atteinte, les requêtes en cours de traitement par ce processus en
+ cours d'arrêt n'ont que <code class="directive"><a href="../mod/core.html#timeout">TimeOut</a></code> secondes pour s'exécuter avant
+ l'arrêt du processus. Les autres types de redémarrage ou arrêt ne
+ sont pas implémentés.</li>
<li>Les nouveau processus enfants relisent les fichiers de
- configuration au lieu d'en hériter du parent. Ce comportement ne
- pose pas de problème si le processus enfant est créé au démarrage
- ou redémarrage, mais dans le cas où un processus enfant est créé
- parce qu'un autre processus enfant s'est arrêté ou a atteint la
+ configuration au lieu d'en hériter du parent. Ce comportement ne
+ pose pas de problème si le processus enfant est créé au démarrage
+ ou redémarrage, mais dans le cas où un processus enfant est créé
+ parce qu'un autre processus enfant s'est arrêté ou a atteint la
limite <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>, tout
changement survenu entre temps dans la configuration sera alors
pris en compte dans le processus enfant, et parent et enfant
- utiliseront une configuration différente. Si des modifications
- planifiées de la configuration ont été partiellement effectuées,
- et si la configuration courante n'est pas interprétable, le
- processus enfant de remplacement ne pourra pas démarrer, et le
- serveur s'arrêtera. En conséquence, toute modification des
- fichiers de configuration doit être accompagnée d'un redémarrage
+ utiliseront une configuration différente. Si des modifications
+ planifiées de la configuration ont été partiellement effectuées,
+ et si la configuration courante n'est pas interprétable, le
+ processus enfant de remplacement ne pourra pas démarrer, et le
+ serveur s'arrêtera. En conséquence, toute modification des
+ fichiers de configuration doit être accompagnée d'un redémarrage
du serveur.</li>
<li>Les hooks <code>monitor</code> et <code>fatal_exception</code>
- ne sont pas encore implémentés.</li>
+ ne sont pas encore implémentés.</li>
<li>La directive <code class="directive">AcceptFilter</code> est
- implémentée par le MPM et fournit un type de contrôle différent
+ implémentée par le MPM et fournit un type de contrôle différent
sur le traitement des nouvelles connexions (Voir la documentation
de la directive <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code>
- pour plus de détails).</li>
+ pour plus de détails).</li>
</ul>
</div>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_winnt">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_winnt">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_winnt">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_winnt">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../platform/windows.html">Utiliser le serveur HTTP
Apache sous Microsoft Windows</a></li>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../de/mod/mpm_winnt.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/mpm_winnt.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mpm_winnt.html" title="Français"> fr </a> |
+<a href="../fr/mod/mpm_winnt.html" title="Français"> fr </a> |
<a href="../ja/mod/mpm_winnt.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div id="preamble"><h1>Apache MPM os2</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mpmt_os2.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mpmt_os2.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mpmt_os2.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>MPM hybride multi-processus, multi-thread pour
OS/2</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_mpmt_os2_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mpmt_os2.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_mpmt_os2_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mpmt_os2.c</td></tr></table>
<h3>Sommaire</h3>
<p>Le serveur se compose d'un processus principal parent, et d'un
petit nombre fixe de processus enfants.</p>
- <p>La tâche du processus parent consiste à gérer les processus
- enfants, c'est à dire lancer ces processus de manière à ce
- qu'il y en ait toujours un nombre égal à la valeur de la directive
+ <p>La tâche du processus parent consiste à gérer les processus
+ enfants, c'est à dire lancer ces processus de manière à ce
+ qu'il y en ait toujours un nombre égal à la valeur de la directive
<code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code> pour traiter
les connexions.</p>
<p>Chaque processus enfant comporte un jeu de threads esclaves et un
- thread maître qui accepte les connexions et les distribue aux
+ thread maître qui accepte les connexions et les distribue aux
esclaves via une file de travail. Le jeu de threads esclaves est
- dynamique et géré par un thread de maintenance de façon à ce que le
+ dynamique et géré par un thread de maintenance de façon à ce que le
nombre de threads inactifs soit maintenu entre <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> et <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code>.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpmt_os2">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpmt_os2">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpmt_os2">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpmt_os2">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
-<li><a href="../bind.html">Définition des adresses et ports
+<li><a href="../bind.html">Définition des adresses et ports
qu'utilise Apache</a></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mpmt_os2.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/mpmt_os2.html" title="Français"> fr </a></p>
+<a href="../fr/mod/mpmt_os2.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/prefork.html" title="Français"> fr </a> |
+<a href="../fr/mod/prefork.html" title="Français"> fr </a> |
<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
-<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Implémente un serveur web avec démarrage anticipé de
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Implémente un serveur web avec démarrage anticipé de
processus, sans thread</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_prefork_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>prefork.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_prefork_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>prefork.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module multi-processus (MPM) implémente un serveur web avec
- démarrage anticipé de processus. Chaque processus du serveur peut
- répondre aux requêtes entrantes, et un processus parent contrôle la
- taille du jeu de processus enfants. Il est particulièrement indiqué pour les
+ <p>Ce module multi-processus (MPM) implémente un serveur web avec
+ démarrage anticipé de processus. Chaque processus du serveur peut
+ répondre aux requêtes entrantes, et un processus parent contrôle la
+ taille du jeu de processus enfants. Il est particulièrement indiqué pour les
sites qui ne doivent pas utiliser les threads afin de maintenir une
- compatibilité avec certaines bibliothèques non sûres du point de vue
- des threads. C'est également le MPM le plus approprié si l'on veut
- isoler les requêtes les unes des autres, de façon à ce qu'un
- problème concernant une requête n'affecte pas les autres.</p>
+ compatibilité avec certaines bibliothèques non sûres du point de vue
+ des threads. C'est également le MPM le plus approprié si l'on veut
+ isoler les requêtes les unes des autres, de façon à ce qu'un
+ problème concernant une requête n'affecte pas les autres.</p>
- <p>Ce MPM s'auto-contrôle de manière efficace, de sorte qu'il est
- rarement nécessaire d'ajuster ses directives de configuration. Le
- plus important est la définition de la directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> ; sa valeur doit être
- assez grande pour pouvoir traiter autant de requêtes simultanées que
+ <p>Ce MPM s'auto-contrôle de manière efficace, de sorte qu'il est
+ rarement nécessaire d'ajuster ses directives de configuration. Le
+ plus important est la définition de la directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> ; sa valeur doit être
+ assez grande pour pouvoir traiter autant de requêtes simultanées que
vous pensez recevoir, mais assez petite pour conserver suffisamment
- de mémoire RAM pour tous les processus.</p>
+ de mémoire RAM pour tous les processus.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Comment ça marche</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Comment ça marche</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_prefork">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_prefork">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_prefork">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_prefork">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
-<li><a href="../bind.html">Définition des adresses et ports
+<li><a href="../bind.html">Définition des adresses et ports
qu'utilise le serveur HTTP Apache</a></li>
<li><a href="#comments_section">Commentaires</a></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="how-it-works" id="how-it-works">Comment ça marche</a><a title="Lien permanent" href="#how-it-works" class="permalink">¶</a></h2>
- <p>Un processus de contrôle unique a pour tâche de lancer les
+<h2><a name="how-it-works" id="how-it-works">Comment ça marche</a><a title="Lien permanent" href="#how-it-works" class="permalink">¶</a></h2>
+ <p>Un processus de contrôle unique a pour tâche de lancer les
processus enfants qui attendent les connexions et les traitent au
- fur et à mesure qu'elles arrivent. Apache httpd essaie toujours de
+ fur et à mesure qu'elles arrivent. Apache httpd essaie toujours de
maintenir plusieurs processus serveurs inactifs ou <dfn>en
- réserve</dfn>, afin de pouvoir traiter les requêtes entrantes. De
- cette façon, les clients n'ont pas besoin d'attendre le démarrage
- d'un nouveau processus enfant pour que leurs requêtes puissent être
- traitées.</p>
+ réserve</dfn>, afin de pouvoir traiter les requêtes entrantes. De
+ cette façon, les clients n'ont pas besoin d'attendre le démarrage
+ d'un nouveau processus enfant pour que leurs requêtes puissent être
+ traitées.</p>
- <p>Les directives <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code>, <code class="directive"><a href="#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code> et <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> permettent de contrôler
- la manière dont le processus parent crée les processus enfants pour
- traiter les requêtes. En général, Apache httpd s'auto-contrôle de manière
+ <p>Les directives <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code>, <code class="directive"><a href="#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code> et <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> permettent de contrôler
+ la manière dont le processus parent crée les processus enfants pour
+ traiter les requêtes. En général, Apache httpd s'auto-contrôle de manière
efficace, de sorte que la plupart des sites peuvent conserver les
- valeurs par défaut des directives. Les sites qui doivent traiter
- plus de 256 requêtes simultanées doivent augmenter la valeur de
+ valeurs par défaut des directives. Les sites qui doivent traiter
+ plus de 256 requêtes simultanées doivent augmenter la valeur de
<code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>, alors que les
- sites dont la ressource mémoire est limitée doivent la diminuer afin
- d'éviter une hyperactivité du serveur (utilisation excessive de la
- mémoire virtuelle sur disque). Vous trouverez plus d'informations à
- propos du contrôle de la création de processus dans le document <a href="../misc/perf-tuning.html">conseils en matière de
+ sites dont la ressource mémoire est limitée doivent la diminuer afin
+ d'éviter une hyperactivité du serveur (utilisation excessive de la
+ mémoire virtuelle sur disque). Vous trouverez plus d'informations à
+ propos du contrôle de la création de processus dans le document <a href="../misc/perf-tuning.html">conseils en matière de
performances</a></p>
- <p>Alors que le processus parent est en général démarré en tant que
- <code>root</code> sous Unix afin de pouvoir se mettre à l'écoute sur le port 80, les
- processus enfants sont lancés par Apache httpd sous un utilisateur avec
- privilèges restreints. On peut contrôler les privilèges accordés aux
- processus enfants d'Apache httpd à l'aide des directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code>. Les processus enfants doivent
- être en mesure de lire tous les contenus destinés à être servis,
- mais leurs privilèges doivent être aussi bas que possible.</p>
+ <p>Alors que le processus parent est en général démarré en tant que
+ <code>root</code> sous Unix afin de pouvoir se mettre à l'écoute sur le port 80, les
+ processus enfants sont lancés par Apache httpd sous un utilisateur avec
+ privilèges restreints. On peut contrôler les privilèges accordés aux
+ processus enfants d'Apache httpd à l'aide des directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code>. Les processus enfants doivent
+ être en mesure de lire tous les contenus destinés à être servis,
+ mais leurs privilèges doivent être aussi bas que possible.</p>
<p>La directive <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> permet de
- contrôler la fréquence à laquelle le serveur recycle ses processus
- en arrêtant les plus anciens et en en lançant de nouveaux.</p>
+ contrôler la fréquence à laquelle le serveur recycle ses processus
+ en arrêtant les plus anciens et en en lançant de nouveaux.</p>
<p>Ce module MPM utilise le mutex <code>mpm-accept</code> pour
- sérialiser l'accès aux connexions entrantes lorsque peut se
- présenter un problème d'afflux de requêtes (en général quand il y a
- plusieurs sockets en écoute). Les aspects de l'implémentation de ce
- mutex peuvent être configurés via la directive <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code>. Vous trouverez des informations
- supplémentaires à propos de ce mutex dans la documentation à propos
- des <a href="../misc/perf-tuning.html">conseils en matière de
+ sérialiser l'accès aux connexions entrantes lorsque peut se
+ présenter un problème d'afflux de requêtes (en général quand il y a
+ plusieurs sockets en écoute). Les aspects de l'implémentation de ce
+ mutex peuvent être configurés via la directive <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code>. Vous trouverez des informations
+ supplémentaires à propos de ce mutex dans la documentation à propos
+ des <a href="../misc/perf-tuning.html">conseils en matière de
performances</a></p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de processus serveurs enfants
inactifs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxSpareServers <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxSpareServers 10</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxSpareServers 10</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>prefork</td></tr>
</table>
<p>La directive <code class="directive">MaxSpareServers</code> permet de
- définir le nombre maximum souhaité de processus serveurs enfants
+ définir le nombre maximum souhaité de processus serveurs enfants
<em>inactifs</em>. Un processus inactif est un processus qui ne
- traite pas de requête. S'il y a plus de
+ traite pas de requête. S'il y a plus de
<code class="directive">MaxSpareServers</code> processus inactifs, le
- processus parent arrêtera les processus excédentaires.</p>
+ processus parent arrêtera les processus excédentaires.</p>
- <p>La modification de ce paramètre n'est nécessaire que
- dans le cas de sites très sollicités. Définir ce paramètre à une
- valeur très grande est cependant dans la plupart des cas une
- mauvaise idée. Si vous essayez d'affecter à ce paramètre une valeur
- égale ou inférieure à la valeur de <code class="directive"><a href="#minspareservers">MinSpareServers</a></code>, le serveur HTTP Apache
- l'ajustera automatiquement à la valeur de <code class="directive">
+ <p>La modification de ce paramètre n'est nécessaire que
+ dans le cas de sites très sollicités. Définir ce paramètre à une
+ valeur très grande est cependant dans la plupart des cas une
+ mauvaise idée. Si vous essayez d'affecter à ce paramètre une valeur
+ égale ou inférieure à la valeur de <code class="directive"><a href="#minspareservers">MinSpareServers</a></code>, le serveur HTTP Apache
+ l'ajustera automatiquement à la valeur de <code class="directive">
MinSpareServers</code><code> + 1</code>.</p>
<h3>Voir aussi</h3>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre minimum de processus serveurs enfants
inactifs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MinSpareServers <var>nombre</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MinSpareServers 5</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MinSpareServers 5</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>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>prefork</td></tr>
</table>
<p>La directive <code class="directive">MinSpareServers</code> permet de
- définir le nombre minimum désiré de processus serveurs enfants
+ définir le nombre minimum désiré de processus serveurs enfants
<em>inactifs</em>. Un processus inactif est un processus qui ne
- traite pas de requête. S'il y a moins de
+ traite pas de requête. S'il y a moins de
<code class="directive">MinSpareServers</code> processus inactifs, le
- processus parent va créer de nouveaux enfants de la manière suivante
- : il en crée un, attend une seconde, il en crée deux, attend une
- seconde, il en crée quatre, puis continue ainsi exponentiellement
- jusu'à ce que son taux de création de processus enfants soit de 32
- par seconde. Il ne s'arrête que lorsque le nombre de processus
- enfants correspond à la définition de la directive
+ processus parent va créer de nouveaux enfants de la manière suivante
+ : il en crée un, attend une seconde, il en crée deux, attend une
+ seconde, il en crée quatre, puis continue ainsi exponentiellement
+ jusu'à ce que son taux de création de processus enfants soit de 32
+ par seconde. Il ne s'arrête que lorsque le nombre de processus
+ enfants correspond à la définition de la directive
<code class="directive">MinSpareServers</code>.</p>
- <p>La modification de ce paramètre n'est nécessaire que
- dans le cas de sites très sollicités. Définir ce paramètre à une
- valeur très grande est dans la plupart des cas une mauvaise
- idée.</p>
+ <p>La modification de ce paramètre n'est nécessaire que
+ dans le cas de sites très sollicités. Définir ce paramètre à une
+ valeur très grande est dans la plupart des cas une mauvaise
+ idée.</p>
<h3>Voir aussi</h3>
<ul>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/prefork.html" title="Français"> fr </a> |
+<a href="../fr/mod/prefork.html" title="Français"> fr </a> |
<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
-<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Document de référence rapide des directives - Serveur Apache HTTP Version 2.5</title>
+<title>Document de référence rapide des directives - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
-<div id="preamble"><h1>Document de référence rapide des directives</h1>
+<div id="preamble"><h1>Document de référence rapide des directives</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/quickreference.html" title="Français"> fr </a> |
+<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/quickreference.html" title="Français"> fr </a> |
<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
- <p>Le document de référence rapide des directives montre l'usage,
- les valeurs par défaut, le statut,
+ <p>Le document de référence rapide des directives montre l'usage,
+ les valeurs par défaut, le statut,
et le contexte de chaque directive de configuration d'Apache. Pour plus
d'informations sur chacun de ces termes, voir le <a href="directive-dict.html">Dictionnaire des directives</a>.</p>
- <p>La première colonne donne le nom de la directive et son usage.
- Si la directive possède une valeur par défaut, elle est indiquée dans la
- deuxième colonne.
- Si la valeur par défaut est trop grande pour pouvoir être affichée,
- elle sera tronquée et suivie d'un "+".</p>
+ <p>La première colonne donne le nom de la directive et son usage.
+ Si la directive possède une valeur par défaut, elle est indiquée dans la
+ deuxième colonne.
+ Si la valeur par défaut est trop grande pour pouvoir être affichée,
+ elle sera tronquée et suivie d'un "+".</p>
- <p>La troisième colonne énumère les contextes dans
- lesquels la directive est applicable, et la quatrième indique son statut en accord avec le
- tableau des légendes ci-dessous.</p>
+ <p>La troisième colonne énumère les contextes dans
+ lesquels la directive est applicable, et la quatrième indique son statut en accord avec le
+ tableau des légendes ci-dessous.</p>
</div>
<div id="directive-ref"><table id="legend">
<tr><td class="letters"><span><a href="#A"> A </a> | <a href="#B"> B </a> | <a href="#C"> C </a> | <a href="#D"> D </a> | <a href="#E"> E </a> | <a href="#F"> F </a> | <a href="#G"> G </a> | <a href="#H"> H </a> | <a href="#I"> I </a> | <a href="#K"> K </a> | <a href="#L"> L </a> | <a href="#M"> M </a> | <a href="#N"> N </a> | <a href="#O"> O </a> | <a href="#P"> P </a> | <a href="#Q"> Q </a> | <a href="#R"> R </a> | <a href="#S"> S </a> | <a href="#T"> T </a> | <a href="#U"> U </a> | <a href="#V"> V </a> | <a href="#W"> W </a> | <a href="#X"> X </a></span></td>
<td><table><tr><th>s</th><td>configuration du serveur</td></tr>
<tr><th>v</th><td>serveur virtuel</td></tr>
-<tr><th>d</th><td>répertoire</td></tr>
+<tr><th>d</th><td>répertoire</td></tr>
<tr><th>h</th><td>.htaccess</td></tr>
<tr><th /><td /></tr>
</table></td>
<tr><th>M</th><td>MPM</td></tr>
<tr><th>B</th><td>Base</td></tr>
<tr><th>E</th><td>Extension</td></tr>
-<tr><th>X</th><td>Expérimental</td></tr>
+<tr><th>X</th><td>Expérimental</td></tr>
<tr><th>T</th><td>Externe</td></tr>
</table></td></tr>
</table>
non fatales pour le processus httpd.</td></tr>
<tr class="odd"><td><a href="core.html#acceptfilter">AcceptFilter <var>protocole</var> <var>filtre
d'acceptation</var></a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Permet d'optimiser la configuration d'une socket pour
-l'écoute d'un protocole</td></tr>
+l'écoute d'un protocole</td></tr>
<tr><td><a href="core.html#acceptpathinfo">AcceptPathInfo On|Off|Default</a></td><td> Default </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Les ressources acceptent des informations sous forme d'un
-nom de chemin en fin de requête.</td></tr>
+nom de chemin en fin de requête.</td></tr>
<tr class="odd"><td><a href="core.html#accessfilename">AccessFileName <var>nom-du-fichier</var>
-[<var>nom-du-fichier</var>] ...</a></td><td> .htaccess </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Nom du fichier de configuration distribué</td></tr>
+[<var>nom-du-fichier</var>] ...</a></td><td> .htaccess </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Nom du fichier de configuration distribué</td></tr>
<tr><td><a href="mod_actions.html#action">Action <var>type d'action</var> <var>script cgi</var>
[virtual]</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Active un script CGI pour un gestionnaire ou un type de
contenu particulier</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#addalt">AddAlt <var>texte</var> <var>fichier</var> [<var>fichier</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Texte optionnel à afficher à la place d'un icône pour un
+<tr class="odd"><td><a href="mod_autoindex.html#addalt">AddAlt <var>texte</var> <var>fichier</var> [<var>fichier</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Texte optionnel à afficher à la place d'un icône pour un
fichier en fonction de son nom</td></tr>
<tr><td><a href="mod_autoindex.html#addaltbyencoding">AddAltByEncoding <var>texte</var> <var>codage MIME</var>
-[<var>codage MIME</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Texte optionnel à afficher à la place d'un icône pour un
+[<var>codage MIME</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Texte optionnel à afficher à la place d'un icône pour un
fichier en fonction de son codage MIME</td></tr>
<tr class="odd"><td><a href="mod_autoindex.html#addaltbytype">AddAltByType <var>texte</var> <var>type MIME</var>
-[<var>type MIME</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Texte optionnel à afficher à la place d'un icône pour un
+[<var>type MIME</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Texte optionnel à afficher à la place d'un icône pour un
fichier en fonction de son type MIME</td></tr>
<tr><td><a href="mod_mime.html#addcharset">AddCharset <var>jeu-car</var> <var>extension</var>
-[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Associe les extensions de noms de fichiers spécifiées au
-jeu de caractères spécifié</td></tr>
-<tr class="odd"><td><a href="core.html#adddefaultcharset">AddDefaultCharset On|Off|<var>jeu de caractères</var></a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Paramètre jeu de caractères par défaut à ajouter quand le
-type de contenu d'une réponse est <code>text/plain</code> ou
+[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Associe les extensions de noms de fichiers spécifiées au
+jeu de caractères spécifié</td></tr>
+<tr class="odd"><td><a href="core.html#adddefaultcharset">AddDefaultCharset On|Off|<var>jeu de caractères</var></a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Paramètre jeu de caractères par défaut à ajouter quand le
+type de contenu d'une réponse est <code>text/plain</code> ou
<code>text/html</code></td></tr>
<tr><td><a href="mod_autoindex.html#adddescription">AddDescription <var>texte</var> [<var>fichier</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Afficher la description d'un fichier</td></tr>
<tr class="odd"><td><a href="mod_mime.html#addencoding">AddEncoding <var>codage</var> <var>extension</var>
-[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Associe les extensions de noms de fichiers données au type
-de codage spécifié</td></tr>
+[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Associe les extensions de noms de fichiers données au type
+de codage spécifié</td></tr>
<tr><td><a href="mod_mime.html#addhandler">AddHandler <var>nom-gestionnaire</var> <var>extension</var>
-[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Associe les extensions de noms de fichiers données au
-gestionnaire spécifié</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#addicon">AddIcon <var>icône</var> <var>nom</var> [<var>nom</var>]
-...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Icône à afficher pour un fichier en fonction de son
+[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Associe les extensions de noms de fichiers données au
+gestionnaire spécifié</td></tr>
+<tr class="odd"><td><a href="mod_autoindex.html#addicon">AddIcon <var>icône</var> <var>nom</var> [<var>nom</var>]
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Icône à afficher pour un fichier en fonction de son
nom</td></tr>
-<tr><td><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding <var>icône</var> <var>codage MIME</var>
-[<var>codage MIME</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icône à afficher à côté d'un fichier en fonction de son
+<tr><td><a href="mod_autoindex.html#addiconbyencoding">AddIconByEncoding <var>icône</var> <var>codage MIME</var>
+[<var>codage MIME</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icône à afficher à côté d'un fichier en fonction de son
codage MIME</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#addiconbytype">AddIconByType <var>icône</var> <var>type MIME</var>
-[<var>type MIME</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Icône à afficher à côté d'un fichier en fonction de son
+<tr class="odd"><td><a href="mod_autoindex.html#addiconbytype">AddIconByType <var>icône</var> <var>type MIME</var>
+[<var>type MIME</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Icône à afficher à côté d'un fichier en fonction de son
type MIME</td></tr>
<tr><td><a href="mod_mime.html#addinputfilter">AddInputFilter <var>filtre</var>[;<var>filtre</var>...]
<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Associe les extensions de noms de fichiers aux
-filtres spécifiés qui traiteront les requêtes clients</td></tr>
+filtres spécifiés qui traiteront les requêtes clients</td></tr>
<tr class="odd"><td><a href="mod_mime.html#addlanguage">AddLanguage <var>symbole-langage</var> <var>extension</var>
-[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Associe l'extension de nom de fichier donnée au langage
-spécifié</td></tr>
-<tr><td><a href="mod_info.html#addmoduleinfo">AddModuleInfo <var>nom-module</var> <var>chaîne</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ajoute des données supplémentaires aux informations de
-module affichées par le gestionnaire server-info</td></tr>
+[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Associe l'extension de nom de fichier donnée au langage
+spécifié</td></tr>
+<tr><td><a href="mod_info.html#addmoduleinfo">AddModuleInfo <var>nom-module</var> <var>chaîne</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ajoute des données supplémentaires aux informations de
+module affichées par le gestionnaire server-info</td></tr>
<tr class="odd"><td><a href="mod_mime.html#addoutputfilter">AddOutputFilter <var>filtre</var>[;<var>filtre</var>...]
<var>extension</var> [<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Associe les extensions de noms de fichiers aux
-filtres spécifiés qui traiteront les réponses en provenance du
+filtres spécifiés qui traiteront les réponses en provenance du
serveur</td></tr>
<tr><td><a href="mod_filter.html#addoutputfilterbytype">AddOutputFilterByType <var>filtre</var>[;<var>filtre</var>...]
-<var>type_de_média</var> [<var>type_de_média</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">assigne un filtre en sortie pour un type de média
+<var>type_de_média</var> [<var>type_de_média</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">assigne un filtre en sortie pour un type de média
particulier</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#addtype">AddType <var>type-médium</var> <var>extension</var>
+<tr class="odd"><td><a href="mod_mime.html#addtype">AddType <var>type-médium</var> <var>extension</var>
[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Associe les extensions de noms de fichiers au type de
-contenu spécifié</td></tr>
+contenu spécifié</td></tr>
<tr><td><a href="mod_alias.html#alias">Alias [<var>chemin URL</var>]
-<var>chemin fichier</var>|<var>chemin répertoire</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Met en correspondance des URLs avec des chemins du système
+<var>chemin fichier</var>|<var>chemin répertoire</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Met en correspondance des URLs avec des chemins du système
de fichiers</td></tr>
<tr class="odd"><td><a href="mod_alias.html#aliasmatch">AliasMatch <var>regex</var>
-<var>chemin fichier</var>|<var>chemin répertoire</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Met en correspondance des URLs avec le système de fichiers
+<var>chemin fichier</var>|<var>chemin répertoire</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Met en correspondance des URLs avec le système de fichiers
en faisant intervenir les expressions rationnelles</td></tr>
-<tr><td><a href="mod_access_compat.html#allow"> Allow from all|<var>hôte</var>|env=[!]<var>variable
+<tr><td><a href="mod_access_compat.html#allow"> Allow from all|<var>hôte</var>|env=[!]<var>variable
d'environnement</var>
-[<var>hôte</var>|env=[!]<var>variable d'environnement</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Spécifie quels hôtes peuvent accéder à une certaine zone du
+[<var>hôte</var>|env=[!]<var>variable d'environnement</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Spécifie quels hôtes peuvent accéder à une certaine zone du
serveur</td></tr>
<tr class="odd"><td><a href="mod_proxy_connect.html#allowconnect">AllowCONNECT <var>port</var>[-<var>port</var>]
-[<var>port</var>[-<var>port</var>]] ...</a></td><td> 443 563 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ports autorisés à se <code>CONNECT</code>er à travers le
+[<var>port</var>[-<var>port</var>]] ...</a></td><td> 443 563 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ports autorisés à se <code>CONNECT</code>er à travers le
mandataire</td></tr>
-<tr><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off|NoDecode</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Détermine si les séparateurs de chemin encodés sont
-autorisés à transiter dans les URLs tels quels</td></tr>
+<tr><td><a href="core.html#allowencodedslashes">AllowEncodedSlashes On|Off|NoDecode</a></td><td> Off </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Détermine si les séparateurs de chemin encodés sont
+autorisés à transiter dans les URLs tels quels</td></tr>
<tr class="odd"><td><a href="mod_allowhandlers.html#allowhandlers">AllowHandlers [not] none|<em>nom-gestionnaire</em>
-[none|<em>nom-gestionnaire</em>]...</a></td><td> all </td><td>d</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Restreint l'accès aux gestionnaires spécifiés</td></tr>
+[none|<em>nom-gestionnaire</em>]...</a></td><td> all </td><td>d</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Restreint l'accès aux gestionnaires spécifiés</td></tr>
<tr><td><a href="mod_allowmethods.html#allowmethods">AllowMethods reset|<em>HTTP-method</em>
-[<em>HTTP-method</em>]...</a></td><td> reset </td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Restreint l'accès aux méthodes HTTP spécifiées</td></tr>
+[<em>HTTP-method</em>]...</a></td><td> reset </td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Restreint l'accès aux méthodes HTTP spécifiées</td></tr>
<tr class="odd"><td><a href="core.html#allowoverride">AllowOverride All|None|<var>directive-type</var>
-[<var>directive-type</var>] ...</a></td><td> None à partir de la +</td><td>d</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Types de directives autorisées dans les fichiers
+[<var>directive-type</var>] ...</a></td><td> None à partir de la +</td><td>d</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Types de directives autorisées dans les fichiers
<code>.htaccess</code></td></tr>
<tr><td><a href="core.html#allowoverridelist">AllowOverrideList None|<var>directive</var>
-[<var>directive-type</var>] ...</a></td><td> None </td><td>d</td><td>C</td></tr><tr><td class="descr" colspan="4">Directives autorisées dans les fichiers <code>.htaccess</code></td></tr>
+[<var>directive-type</var>] ...</a></td><td> None </td><td>d</td><td>C</td></tr><tr><td class="descr" colspan="4">Directives autorisées dans les fichiers <code>.htaccess</code></td></tr>
<tr class="odd"><td><a href="mod_authn_anon.html#anonymous">Anonymous <var>utilisateur</var> [<var>utilisateur</var>]
-...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la liste des identifiants utilisateur autorisés à
-accéder sans vérification du mot de passe</td></tr>
-<tr><td><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine si le mot de passe fourni sera enregistré dans le
+...</a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la liste des identifiants utilisateur autorisés à
+accéder sans vérification du mot de passe</td></tr>
+<tr><td><a href="mod_authn_anon.html#anonymous_logemail">Anonymous_LogEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine si le mot de passe fourni sera enregistré dans le
journal des erreurs</td></tr>
-<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si l'abscence de mot de passe est
-autorisée</td></tr>
-<tr><td><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine si le champ identifiant peut être
+<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_mustgiveemail">Anonymous_MustGiveEmail On|Off</a></td><td> On </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si l'abscence de mot de passe est
+autorisée</td></tr>
+<tr><td><a href="mod_authn_anon.html#anonymous_nouserid">Anonymous_NoUserID On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine si le champ identifiant peut être
vide</td></tr>
-<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine s'il faut vérifier que le format de l'adresse
+<tr class="odd"><td><a href="mod_authn_anon.html#anonymous_verifyemail">Anonymous_VerifyEmail On|Off</a></td><td> Off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine s'il faut vérifier que le format de l'adresse
email fournie comme mot de passe est correct</td></tr>
-<tr><td><a href="core.html#asyncfilter">AsyncFilter request|connection|network</a></td><td> request </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Définit le type de filtrage minimal disponible pour le
+<tr><td><a href="core.html#asyncfilter">AsyncFilter request|connection|network</a></td><td> request </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Définit le type de filtrage minimal disponible pour le
traitement asynchrone</td></tr>
-<tr class="odd"><td><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor <var>facteur</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limite le nombre de connexions simultanées par thread</td></tr>
-<tr><td><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit si les processus d'autorisation et
-d'authentification peuvent être confiés à des modules de plus bas
+<tr class="odd"><td><a href="event.html#asyncrequestworkerfactor">AsyncRequestWorkerFactor <var>facteur</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Limite le nombre de connexions simultanées par thread</td></tr>
+<tr><td><a href="mod_auth_basic.html#authbasicauthoritative">AuthBasicAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit si les processus d'autorisation et
+d'authentification peuvent être confiés à des modules de plus bas
niveau</td></tr>
-<tr class="odd"><td><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake off|<var>username</var> [<var>password</var>]</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Authentification de base simulée à l'aide des nom
+<tr class="odd"><td><a href="mod_auth_basic.html#authbasicfake">AuthBasicFake off|<var>username</var> [<var>password</var>]</a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Authentification de base simulée à l'aide des nom
d'utilisateur et mot de passe fournis</td></tr>
<tr><td><a href="mod_auth_basic.html#authbasicprovider">AuthBasicProvider <var>nom fournisseur</var>
-[<var>nom fournisseur</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit le(les) fournisseur(s) d'authentification pour
+[<var>nom fournisseur</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit le(les) fournisseur(s) d'authentification pour
cette zone du site web</td></tr>
-<tr class="odd"><td><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm MD5|Off</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Vérifie les mots de passe auprès des fournisseurs
-d'authentification à la manière de l'authentification de type Digest.
+<tr class="odd"><td><a href="mod_auth_basic.html#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm MD5|Off</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Vérifie les mots de passe auprès des fournisseurs
+d'authentification à la manière de l'authentification de type Digest.
</td></tr>
-<tr><td><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery <var>requête</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Requête SQL servant à vérifier le mot de passe d'un
+<tr><td><a href="mod_authn_dbd.html#authdbduserpwquery">AuthDBDUserPWQuery <var>requête</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Requête SQL servant à vérifier le mot de passe d'un
utilisateur</td></tr>
-<tr class="odd"><td><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery <var>requête</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Requête SQL servant à vérifier une empreinte de mot de
+<tr class="odd"><td><a href="mod_authn_dbd.html#authdbduserrealmquery">AuthDBDUserRealmQuery <var>requête</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Requête SQL servant à vérifier une empreinte de mot de
passe pour un utilisateur et un identifiant d'authentification.
</td></tr>
-<tr><td><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile <var>chemin-fichier</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le nom du fichier de base de données qui liste
+<tr><td><a href="mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile <var>chemin-fichier</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le nom du fichier de base de données qui liste
les groupes d'utilisateurs.</td></tr>
-<tr class="odd"><td><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le type de fichier de base de données utilisé pour
+<tr class="odd"><td><a href="mod_authn_dbm.html#authdbmtype">AuthDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le type de fichier de base de données utilisé pour
stocker les mots de passe</td></tr>
-<tr><td><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile <var>chemin-fichier</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le nom d'un fichier de base de données pour
+<tr><td><a href="mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile <var>chemin-fichier</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le nom d'un fichier de base de données pour
l'authentification contenant la liste
des utilisateurs et de leurs mots de passe</td></tr>
-<tr class="odd"><td><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm MD5|MD5-sess</a></td><td> MD5 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sélectionne l'algorithme utilisé pour calculer les
-condensés du défit et de sa réponse</td></tr>
-<tr><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Les URIs qui se trouvent dans le même espace de protection
-concernant l'authentification à base de condensés</td></tr>
-<tr class="odd"><td><a href="mod_auth_digest.html#authdigestnccheck">AuthDigestNcCheck On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active ou désactive la vérification du nombre d'envois du
-nombre à valeur unique (nonce) par le serveur</td></tr>
-<tr><td><a href="mod_auth_digest.html#authdigestnonceformat">AuthDigestNonceFormat <var>format</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine la manière dont le nombre à valeur unique du
-serveur (nonce) est généré</td></tr>
-<tr class="odd"><td><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime <var>secondes</var></a></td><td> 300 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Durée de validité du nombre à valeur unique du
+<tr class="odd"><td><a href="mod_auth_digest.html#authdigestalgorithm">AuthDigestAlgorithm MD5|MD5-sess</a></td><td> MD5 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sélectionne l'algorithme utilisé pour calculer les
+condensés du défit et de sa réponse</td></tr>
+<tr><td><a href="mod_auth_digest.html#authdigestdomain">AuthDigestDomain <var>URI</var> [<var>URI</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Les URIs qui se trouvent dans le même espace de protection
+concernant l'authentification à base de condensés</td></tr>
+<tr class="odd"><td><a href="mod_auth_digest.html#authdigestnccheck">AuthDigestNcCheck On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active ou désactive la vérification du nombre d'envois du
+nombre à valeur unique (nonce) par le serveur</td></tr>
+<tr><td><a href="mod_auth_digest.html#authdigestnonceformat">AuthDigestNonceFormat <var>format</var></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine la manière dont le nombre à valeur unique du
+serveur (nonce) est généré</td></tr>
+<tr class="odd"><td><a href="mod_auth_digest.html#authdigestnoncelifetime">AuthDigestNonceLifetime <var>secondes</var></a></td><td> 300 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Durée de validité du nombre à valeur unique du
serveur (nonce)</td></tr>
<tr><td><a href="mod_auth_digest.html#authdigestprovider">AuthDigestProvider <var>nom fournisseur</var>
-[<var>nom fournisseur</var>] ...</a></td><td> file </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le(s) fournisseurs(s) d'authentification pour la
-zone du site web concernée</td></tr>
-<tr class="odd"><td><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop none|auth|auth-int [auth|auth-int]</a></td><td> auth </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine le niveau de protection fourni par
-l'authentification à base de condensé</td></tr>
-<tr><td><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize <var>taille</var></a></td><td> 1000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">La quantité de mémoire partagée à allouer afin de conserver
-les informations à propos des clients</td></tr>
-<tr class="odd"><td><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si l'autorisation et l'authentification sont confiés à
+[<var>nom fournisseur</var>] ...</a></td><td> file </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le(s) fournisseurs(s) d'authentification pour la
+zone du site web concernée</td></tr>
+<tr class="odd"><td><a href="mod_auth_digest.html#authdigestqop">AuthDigestQop none|auth|auth-int [auth|auth-int]</a></td><td> auth </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine le niveau de protection fourni par
+l'authentification à base de condensé</td></tr>
+<tr><td><a href="mod_auth_digest.html#authdigestshmemsize">AuthDigestShmemSize <var>taille</var></a></td><td> 1000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">La quantité de mémoire partagée à allouer afin de conserver
+les informations à propos des clients</td></tr>
+<tr class="odd"><td><a href="mod_auth_form.html#authformauthoritative">AuthFormAuthoritative On|Off</a></td><td> On </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si l'autorisation et l'authentification sont confiés à
des modules de plus bas niveau</td></tr>
<tr><td><a href="mod_auth_form.html#authformbody">AuthFormBody <var>nom du champ</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Le nom du champ de formulaire contenant le corps de la
-requête à effectuer en cas de connexion réussie</td></tr>
-<tr class="odd"><td><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore <var>On|Off</var></a></td><td> Off </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Désactive l'en-tête CacheControl no-store sur la page de
+requête à effectuer en cas de connexion réussie</td></tr>
+<tr class="odd"><td><a href="mod_auth_form.html#authformdisablenostore">AuthFormDisableNoStore <var>On|Off</var></a></td><td> Off </td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Désactive l'en-tête CacheControl no-store sur la page de
connexion</td></tr>
-<tr><td><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth <var>On|Off</var></a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Simule une en-tête d'authentification de base</td></tr>
+<tr><td><a href="mod_auth_form.html#authformfakebasicauth">AuthFormFakeBasicAuth <var>On|Off</var></a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Simule une en-tête d'authentification de base</td></tr>
<tr class="odd"><td><a href="mod_auth_form.html#authformlocation">AuthFormLocation <var>nom du champ</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Le nom du champ de formulaire qui contiendra l'URL vers
-laquelle l'utilisateur sera redirigé en cas de connexion
-réussie</td></tr>
-<tr><td><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">L'URL de la page vers laquelle on doit être redirigé si une
+laquelle l'utilisateur sera redirigé en cas de connexion
+réussie</td></tr>
+<tr><td><a href="mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">L'URL de la page vers laquelle on doit être redirigé si une
authentification est requise</td></tr>
-<tr class="odd"><td><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">L'URL de la page vers laquelle on doit être redirigé en cas
-de connexion réussie</td></tr>
-<tr><td><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation <var>uri</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">L'URL vers laquelle un utilisateur devra être redirigé
-après s'être déconnecté</td></tr>
-<tr class="odd"><td><a href="mod_auth_form.html#authformmethod">AuthFormMethod <var>nom du champ</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Le nom du champ de formulaire contenant la méthode de la
-requête à effectuer en cas de connexion réussie</td></tr>
+<tr class="odd"><td><a href="mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation <var>url</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">L'URL de la page vers laquelle on doit être redirigé en cas
+de connexion réussie</td></tr>
+<tr><td><a href="mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation <var>uri</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">L'URL vers laquelle un utilisateur devra être redirigé
+après s'être déconnecté</td></tr>
+<tr class="odd"><td><a href="mod_auth_form.html#authformmethod">AuthFormMethod <var>nom du champ</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Le nom du champ de formulaire contenant la méthode de la
+requête à effectuer en cas de connexion réussie</td></tr>
<tr><td><a href="mod_auth_form.html#authformmimetype">AuthFormMimetype <var>nom du champ</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Le nom du champ de formulaire contenant le type MIME du
-corps de la requête à effectuer en cas de connexion
-réussie</td></tr>
+corps de la requête à effectuer en cas de connexion
+réussie</td></tr>
<tr class="odd"><td><a href="mod_auth_form.html#authformpassword">AuthFormPassword <var>nom du champ</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Le nom du champ de formulaire qui contient le mot de passe
de connexion</td></tr>
<tr><td><a href="mod_auth_form.html#authformprovider">AuthFormProvider <var>nom fournisseur</var>
-[<var>nom fournisseur</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit le(s) fournisseur(s) d'authentification pour la
-zone concernée</td></tr>
-<tr class="odd"><td><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase <var>secret</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Court-circuite l'authentification pour les sites à fort
+[<var>nom fournisseur</var>] ...</a></td><td> file </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit le(s) fournisseur(s) d'authentification pour la
+zone concernée</td></tr>
+<tr class="odd"><td><a href="mod_auth_form.html#authformsitepassphrase">AuthFormSitePassphrase <var>secret</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Court-circuite l'authentification pour les sites à fort
trafic</td></tr>
<tr><td><a href="mod_auth_form.html#authformsize">AuthFormSize <var>taille</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">La taille maximale en octets du formulaire dont seront
extraites les informations de connexion</td></tr>
<tr class="odd"><td><a href="mod_auth_form.html#authformusername">AuthFormUsername <var>nom du champ</var></a></td><td></td><td>d</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Le nom du champ de formulaire qui contient le nom de
connexion</td></tr>
-<tr><td><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile <var>chemin-fichier</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit le nom d'un fichier texte contenant la liste des
-groupes d'utilisateurs permettant de définir les autorisations des
+<tr><td><a href="mod_authz_groupfile.html#authgroupfile">AuthGroupFile <var>chemin-fichier</var></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit le nom d'un fichier texte contenant la liste des
+groupes d'utilisateurs permettant de définir les autorisations des
utilisateurs</td></tr>
-<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix <em>préfixe</em></a></td><td> AUTHORIZE_ </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie le préfixe ajouté aux variables d'environnement
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapauthorizeprefix">AuthLDAPAuthorizePrefix <em>préfixe</em></a></td><td> AUTHORIZE_ </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie le préfixe ajouté aux variables d'environnement
durant la phase d'autorisation</td></tr>
-<tr><td><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative off|on</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine si l'on doit utiliser d'autres fournisseurs
-d'authentification lorsque le serveur ne peut pas valider les données
-d'authentification de l'utilisateur, alors que ce dernier possède un
+<tr><td><a href="mod_authnz_ldap.html#authldapbindauthoritative">AuthLDAPBindAuthoritative off|on</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine si l'on doit utiliser d'autres fournisseurs
+d'authentification lorsque le serveur ne peut pas valider les données
+d'authentification de l'utilisateur, alors que ce dernier possède un
DN.</td></tr>
<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapbinddn">AuthLDAPBindDN <em>dn</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Un DN optionnel pour se connecter au serveur
LDAP</td></tr>
-<tr><td><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword <em>mot-de-passe</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Mot de passe à utiliser en conjonction avec le DN de
+<tr><td><a href="mod_authnz_ldap.html#authldapbindpassword">AuthLDAPBindPassword <em>mot-de-passe</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Mot de passe à utiliser en conjonction avec le DN de
connexion</td></tr>
<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapcharsetconfig">AuthLDAPCharsetConfig <em>chemin-fichier</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Chemin du fichier de configuration de la correspondance
-langage/jeu de caractères</td></tr>
-<tr><td><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Utilisation des données d'authentification de l'utilisateur
+langage/jeu de caractères</td></tr>
+<tr><td><a href="mod_authnz_ldap.html#authldapcompareasuser">AuthLDAPCompareAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Utilisation des données d'authentification de l'utilisateur
pour effectuer les comparaisons pour l'attribution des autorisations</td></tr>
<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapcomparednonserver">AuthLDAPCompareDNOnServer on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Utilise le serveur LDAP pour comparer les DNs</td></tr>
-<tr><td><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases never|searching|finding|always</a></td><td> always </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">À quel moment le module va déréférencer les
+<tr><td><a href="mod_authnz_ldap.html#authldapdereferencealiases">AuthLDAPDereferenceAliases never|searching|finding|always</a></td><td> always </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">À quel moment le module va déréférencer les
alias</td></tr>
-<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute <em>attribut</em></a></td><td> member uniquemember +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">L'attribut LDAP utilisé pour vérifier l'appartenance d'un
-utilisateur à un groupe.</td></tr>
-<tr><td><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Utilise le DN de l'utilisateur pour vérifier son
-appartenance à un groupe</td></tr>
-<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser off|on</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si le serveur effectue la recherche initiale du
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapgroupattribute">AuthLDAPGroupAttribute <em>attribut</em></a></td><td> member uniquemember +</td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">L'attribut LDAP utilisé pour vérifier l'appartenance d'un
+utilisateur à un groupe.</td></tr>
+<tr><td><a href="mod_authnz_ldap.html#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Utilise le DN de l'utilisateur pour vérifier son
+appartenance à un groupe</td></tr>
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser off|on</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si le serveur effectue la recherche initiale du
DN en utilisant le nom propre de l'utilisateur pour l'authentification
de base
-et non de manière anonyme, ou en utilisant des données d'authentification
-codées en dur pour le serveur</td></tr>
-<tr><td><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern <em><var>regex</var> <var>substitution</var></em></a></td><td> (.*) $1 (nom de l'u +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Spécifie la modification a apporter au nom d'utilisateur
-pour l'authentification de base lors de l'authentification auprès du
+et non de manière anonyme, ou en utilisant des données d'authentification
+codées en dur pour le serveur</td></tr>
+<tr><td><a href="mod_authnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern <em><var>regex</var> <var>substitution</var></em></a></td><td> (.*) $1 (nom de l'u +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Spécifie la modification a apporter au nom d'utilisateur
+pour l'authentification de base lors de l'authentification auprès du
serveur LDAP pour effectuer une recherche de DN</td></tr>
-<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth <var>Nombre</var></a></td><td> 0 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie la profondeur d'imbrication des sous-groupes
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth <var>Nombre</var></a></td><td> 0 </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">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><td><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute uid</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">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
+<tr><td><a href="mod_authnz_ldap.html#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute uid</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">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 class="odd"><td><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Utilise le DN de l'utilisateur pour définir la variable
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Utilise le DN de l'utilisateur pour définir la variable
d'environnement REMOTE_USER</td></tr>
-<tr><td><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Utilise les données d'authentification de l'utilisateur
+<tr><td><a href="mod_authnz_ldap.html#authldapsearchasuser">AuthLDAPSearchAsUser on|off</a></td><td> off </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Utilise les données d'authentification de l'utilisateur
pour la recherche des autorisations</td></tr>
-<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute <em>attribut</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">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
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapsubgroupattribute">AuthLDAPSubGroupAttribute <em>attribut</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">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><td><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass <em>ObjectClass-LDAP</em></a></td><td> groupOfNames groupO +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Spécifie quelles valeurs d'objectClass LDAP identifient les
+<tr><td><a href="mod_authnz_ldap.html#authldapsubgroupclass">AuthLDAPSubGroupClass <em>ObjectClass-LDAP</em></a></td><td> groupOfNames groupO +</td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">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 class="odd"><td><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPUrl <em>url [NONE|SSL|TLS|STARTTLS]</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">L'URL permettant de spécifier les paramètres de la
+<tr class="odd"><td><a href="mod_authnz_ldap.html#authldapurl">AuthLDAPUrl <em>url [NONE|SSL|TLS|STARTTLS]</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">L'URL permettant de spécifier les paramètres de la
recherche LDAP</td></tr>
-<tr><td><a href="mod_authz_core.html#authmerging">AuthMerging Off | And | Or</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit la manière dont chaque logique d'autorisation des
+<tr><td><a href="mod_authz_core.html#authmerging">AuthMerging Off | And | Or</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit la manière dont chaque logique d'autorisation des
sections de configuration se combine avec celles des sections de
-configuration précédentes.</td></tr>
-<tr class="odd"><td><a href="mod_authn_core.html#authname">AuthName <var>identifiant d'autorisation</var></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">L'identifiant de l'autorisation à utiliser avec
+configuration précédentes.</td></tr>
+<tr class="odd"><td><a href="mod_authn_core.html#authname">AuthName <var>identifiant d'autorisation</var></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">L'identifiant de l'autorisation à utiliser avec
l'authentification HTTP</td></tr>
-<tr><td><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext <var>directory|server|chaîne-personnalisée</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Spécifie une chaîne de contexte à utiliser dans la clé du
+<tr><td><a href="mod_authn_socache.html#authncachecontext">AuthnCacheContext <var>directory|server|chaîne-personnalisée</var></a></td><td></td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Spécifie une chaîne de contexte à utiliser dans la clé du
cache</td></tr>
<tr class="odd"><td><a href="mod_authn_socache.html#authncacheenable">AuthnCacheEnable</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Active la mise en cache de l'authentification en tout
endroit</td></tr>
-<tr><td><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor <var>fournisseur-authn</var> [...]</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Spécifie le fournisseur pour lequel on veut effectuer une
+<tr><td><a href="mod_authn_socache.html#authncacheprovidefor">AuthnCacheProvideFor <var>fournisseur-authn</var> [...]</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Spécifie le fournisseur pour lequel on veut effectuer une
mise en cache</td></tr>
-<tr class="odd"><td><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache <var>nom-fournisseur[:arguments-fournisseur]</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sélectionne le fournisseur socache d'arrière-plan à
+<tr class="odd"><td><a href="mod_authn_socache.html#authncachesocache">AuthnCacheSOCache <var>nom-fournisseur[:arguments-fournisseur]</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Sélectionne le fournisseur socache d'arrière-plan à
utiliser</td></tr>
-<tr><td><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout <var>durée-de-vie</var> (secondes)</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit une durée de vie pour les entrées du cache</td></tr>
+<tr><td><a href="mod_authn_socache.html#authncachetimeout">AuthnCacheTimeout <var>durée-de-vie</var> (secondes)</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit une durée de vie pour les entrées du cache</td></tr>
<tr class="odd"><td><a href="mod_authn_core.html#authnprovideralias"><AuthnProviderAlias <var>alias-fournisseur</var>>
... </AuthnProviderAlias></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Regroupe un ensemble de directives qui constituent une
extension d'un fournisseur d'authentification de base et lui attribue
-l'alias spécifié</td></tr>
+l'alias spécifié</td></tr>
<tr><td><a href="mod_authnz_fcgi.html#authnzfcgicheckauthnprovider">AuthnzFcgiCheckAuthnProvider <em>provider-name</em>|<code>None</code>
-<em>option</em> ...</a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Permet à une application FastCGI de gérer l'accroche
+<em>option</em> ...</a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Permet à une application FastCGI de gérer l'accroche
d'authentification check_authn.</td></tr>
<tr class="odd"><td><a href="mod_authnz_fcgi.html#authnzfcgidefineprovider">AuthnzFcgiDefineProvider <em>type</em> <em>provider-name</em>
-<em>backend-address</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une application FastCGI en tant que fournisseur
+<em>backend-address</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une application FastCGI en tant que fournisseur
d'authentification et/ou autorisation</td></tr>
<tr><td><a href="mod_authn_core.html#authtype">AuthType None|Basic|Digest|Form</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Type d'authentification utilisateur</td></tr>
-<tr class="odd"><td><a href="mod_authn_file.html#authuserfile">AuthUserFile <var>chemin-fichier</var></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le nom d'un fichier texte pour l'authentification
+<tr class="odd"><td><a href="mod_authn_file.html#authuserfile">AuthUserFile <var>chemin-fichier</var></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le nom d'un fichier texte pour l'authentification
contenant la liste des utilisateurs et de leurs mots de
passe</td></tr>
-<tr><td><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer On|Off</a></td><td> Off </td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit si le client doit être redirigé vers la page
-d'origine en cas de connexion ou de déconnexion réussie si une en-tête
-de requête <code>Referer</code> est présente</td></tr>
-<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery <var>requête</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la requête SQL pour l'opération
+<tr><td><a href="mod_authz_dbd.html#authzdbdlogintoreferer">AuthzDBDLoginToReferer On|Off</a></td><td> Off </td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit si le client doit être redirigé vers la page
+d'origine en cas de connexion ou de déconnexion réussie si une en-tête
+de requête <code>Referer</code> est présente</td></tr>
+<tr class="odd"><td><a href="mod_authz_dbd.html#authzdbdquery">AuthzDBDQuery <var>requête</var></a></td><td></td><td>d</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la requête SQL pour l'opération
requise</td></tr>
-<tr><td><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery <var>requête</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit une requête pour rechercher une page vers laquelle
-rediriger l'utilisateur après une connexion réussie</td></tr>
-<tr class="odd"><td><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le type de fichier de base de données contenant
+<tr><td><a href="mod_authz_dbd.html#authzdbdredirectquery">AuthzDBDRedirectQuery <var>requête</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit une requête pour rechercher une page vers laquelle
+rediriger l'utilisateur après une connexion réussie</td></tr>
+<tr class="odd"><td><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le type de fichier de base de données contenant
la liste des groupes d'utilisateurs</td></tr>
<tr><td><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias <var>baseProvider Alias Require-Parameters</var>>
... </AuthzProviderAlias>
-</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Regroupe des directives représentant une extension d'un
-fournisseur d'autorisation de base qui pourra être référencée à l'aide
-de l'alias spécifié</td></tr>
+</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Regroupe des directives représentant une extension d'un
+fournisseur d'autorisation de base qui pourra être référencée à l'aide
+de l'alias spécifié</td></tr>
<tr class="odd"><td><a href="mod_authz_core.html#authzsendforbiddenonfailure">AuthzSendForbiddenOnFailure On|Off</a></td><td> Off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Envoie '403 FORBIDDEN' au lieu de '401 UNAUTHORIZED' si
-l'authentification réussit et si l'autorisation a été refusée.
+l'authentification réussit et si l'autorisation a été refusée.
</td></tr>
-<tr><td><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth <var>#</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre de membres supplémentaires pouvant être ajoutés
-après la configuration initiale</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#balancerinherit">BalancerInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Héritage des membres du groupes de répartition de
- charge du mandataire définis au niveau du serveur principal</td></tr>
-<tr><td><a href="mod_proxy.html#balancermember">BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>clé=valeur [clé=valeur ...]]</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Ajoute un membre à un groupe de répartition de
+<tr><td><a href="mod_proxy.html#balancergrowth" id="B" name="B">BalancerGrowth <var>#</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre de membres supplémentaires pouvant être ajoutés
+après la configuration initiale</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#balancerinherit">BalancerInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Héritage des membres du groupes de répartition de
+ charge du mandataire définis au niveau du serveur principal</td></tr>
+<tr><td><a href="mod_proxy.html#balancermember">BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>clé=valeur [clé=valeur ...]]</var></a></td><td></td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Ajoute un membre à un groupe de répartition de
charge</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#balancerpersist">BalancerPersist On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Tente de conserver les changements effectués par le
- gestionnaire de répartition de charge après un redémarrage du
+<tr class="odd"><td><a href="mod_proxy.html#balancerpersist">BalancerPersist On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Tente de conserver les changements effectués par le
+ gestionnaire de répartition de charge après un redémarrage du
serveur.</td></tr>
-<tr><td><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag AddSuffix|NoChange|Remove</a></td><td> AddSuffix </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Comment l'en-tête de réponse ETag doit être modifié au cours de la
+<tr><td><a href="mod_brotli.html#brotlialteretag">BrotliAlterETag AddSuffix|NoChange|Remove</a></td><td> AddSuffix </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Comment l'en-tête de réponse ETag doit être modifié au cours de la
compression</td></tr>
-<tr class="odd"><td><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Taille maximale du bloc de données en entrée</td></tr>
-<tr><td><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality <var>value</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Qualité de la compression</td></tr>
-<tr class="odd"><td><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow <var>value</var></a></td><td> 18 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Taille de la fenêtre de compression glissante brotli</td></tr>
-<tr><td><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enregistre le taux de compression dans une note à des fins de
+<tr class="odd"><td><a href="mod_brotli.html#brotlicompressionmaxinputblock">BrotliCompressionMaxInputBlock <var>value</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Taille maximale du bloc de données en entrée</td></tr>
+<tr><td><a href="mod_brotli.html#brotlicompressionquality">BrotliCompressionQuality <var>value</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Qualité de la compression</td></tr>
+<tr class="odd"><td><a href="mod_brotli.html#brotlicompressionwindow">BrotliCompressionWindow <var>value</var></a></td><td> 18 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Taille de la fenêtre de compression glissante brotli</td></tr>
+<tr><td><a href="mod_brotli.html#brotlifilternote">BrotliFilterNote [<var>type</var>] <var>notename</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enregistre le taux de compression dans une note à des fins de
journalisation</td></tr>
<tr class="odd"><td><a href="mod_setenvif.html#browsermatch">BrowserMatch <em>regex [!]env-variable</em>[=<em>valeur</em>]
-[[!]<em>env-variable</em>[=<em>valeur</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit des variables d'environnement en fonction du
-contenu de l'en-tête HTTP User-Agent</td></tr>
+[[!]<em>env-variable</em>[=<em>valeur</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit des variables d'environnement en fonction du
+contenu de l'en-tête HTTP User-Agent</td></tr>
<tr><td><a href="mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>valeur</em>]
- [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit des variables d'environnement en fonction du
-contenu de l'en-tête HTTP User-Agent sans tenir compte de la
+ [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">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 class="odd"><td><a href="mod_log_config.html#bufferedlogs">BufferedLogs On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enregistre les entrées du journal dans un tampon en mémoire
-avant de les écrire sur disque</td></tr>
+<tr class="odd"><td><a href="mod_log_config.html#bufferedlogs">BufferedLogs On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enregistre les entrées du journal dans un tampon en mémoire
+avant de les écrire sur disque</td></tr>
<tr><td><a href="mod_buffer.html#buffersize">BufferSize entier</a></td><td> 131072 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Taille maximale en octets du filtre par tampon</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>secondes</var></a></td><td> 3600 (une heure) </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La durée par défaut de mise en cache d'un document
-lorsqu'aucune date d'expiration n'a été spécifiée.</td></tr>
-<tr><td><a href="mod_cache.html#cachedetailheader">CacheDetailHeader <var>on|off</var></a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Ajoute un en-tête X-Cache-Detail à la réponse.</td></tr>
-<tr class="odd"><td><a href="mod_cache_disk.html#cachedirlength">CacheDirLength <var>longueur</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Le nombre de caractères des noms des
-sous-répertoires</td></tr>
-<tr><td><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels <var>niveaux</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Le nombre de niveaux de sous-répertoires que comportera le
+<tr class="odd"><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>secondes</var></a></td><td> 3600 (une heure) </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La durée par défaut de mise en cache d'un document
+lorsqu'aucune date d'expiration n'a été spécifiée.</td></tr>
+<tr><td><a href="mod_cache.html#cachedetailheader">CacheDetailHeader <var>on|off</var></a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Ajoute un en-tête X-Cache-Detail à la réponse.</td></tr>
+<tr class="odd"><td><a href="mod_cache_disk.html#cachedirlength">CacheDirLength <var>longueur</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Le nombre de caractères des noms des
+sous-répertoires</td></tr>
+<tr><td><a href="mod_cache_disk.html#cachedirlevels">CacheDirLevels <var>niveaux</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Le nombre de niveaux de sous-répertoires que comportera le
cache.</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cachedisable">CacheDisable <var>chaîne-url</var> | <var>on</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Désactive la mise en cache des URLs
-spécifiées</td></tr>
-<tr><td><a href="mod_cache.html#cacheenable">CacheEnable <var>type de cache</var> [<var>chaîne
-URL</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active la mise en cache des URLs spécifiées en utilisant le
-gestionnaire de stockage précisé</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachedisable">CacheDisable <var>chaîne-url</var> | <var>on</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Désactive la mise en cache des URLs
+spécifiées</td></tr>
+<tr><td><a href="mod_cache.html#cacheenable">CacheEnable <var>type de cache</var> [<var>chaîne
+URL</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active la mise en cache des URLs spécifiées en utilisant le
+gestionnaire de stockage précisé</td></tr>
<tr class="odd"><td><a href="mod_file_cache.html#cachefile">CacheFile <var>chemin_fichier</var> [<var>chemin fichier</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Met en cache une liste de gestionnaires de fichiers au
-démarrage</td></tr>
-<tr><td><a href="mod_cache.html#cacheheader">CacheHeader <var>on|off</var></a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Ajoute un en-tête X-Cache à la réponse.</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore les en-têtes de requête enjoignant de ne pas servir
+démarrage</td></tr>
+<tr><td><a href="mod_cache.html#cacheheader">CacheHeader <var>on|off</var></a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Ajoute un en-tête X-Cache à la réponse.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cacheignorecachecontrol">CacheIgnoreCacheControl On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore les en-têtes de requête enjoignant de ne pas servir
le contenu au client depuis le cache</td></tr>
-<tr><td><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders <var>en-tête</var> [<var>en-tête</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ne pas stocker le(s) en-tête(s) spécifié(s) dans le cache.
+<tr><td><a href="mod_cache.html#cacheignoreheaders">CacheIgnoreHeaders <var>en-tête</var> [<var>en-tête</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ne pas stocker le(s) en-tête(s) spécifié(s) dans le cache.
</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore le fait qu'une réponse ne possède pas d'en-tête Last
+<tr class="odd"><td><a href="mod_cache.html#cacheignorenolastmod">CacheIgnoreNoLastMod On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore le fait qu'une réponse ne possède pas d'en-tête Last
Modified.</td></tr>
-<tr><td><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore la chaîne de paramètres lors de la mise en
+<tr><td><a href="mod_cache.html#cacheignorequerystring">CacheIgnoreQueryString On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Ignore la chaîne de paramètres lors de la mise en
cache</td></tr>
<tr class="odd"><td><a href="mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers <var>identifiant</var>
-[<var>identifiant</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore les identifiants de session définis encodés dans
+[<var>identifiant</var>] ...</a></td><td> None </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore les identifiants de session définis encodés dans
l'URL lors de la mise en cache
</td></tr>
-<tr><td><a href="mod_cache.html#cachekeybaseurl">CacheKeyBaseURL <var>URL</var></a></td><td> http://example.com </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Remplace l'URL de base des clés du cache mandatées en
+<tr><td><a href="mod_cache.html#cachekeybaseurl">CacheKeyBaseURL <var>URL</var></a></td><td> http://example.com </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Remplace l'URL de base des clés du cache mandatées en
inverse</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>flottant</var></a></td><td> 0.1 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Le facteur utilisé pour générer une date d'expiration en
-fonction de la date de dernière modification.</td></tr>
-<tr><td><a href="mod_cache.html#cachelock">CacheLock <var>on|off</var></a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Active la protection contre les tempêtes de requêtes.</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge <var>entier</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la durée de vie maximale d'un verrou de cache.</td></tr>
-<tr><td><a href="mod_cache.html#cachelockpath">CacheLockPath <var>répertoire</var></a></td><td> mod_cache-lock </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le répertoire des verrous.</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire <var>secondes</var></a></td><td> 86400 (une journée) +</td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La durée maximale en secondes de mise en cache d'un
+<tr class="odd"><td><a href="mod_cache.html#cachelastmodifiedfactor">CacheLastModifiedFactor <var>flottant</var></a></td><td> 0.1 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Le facteur utilisé pour générer une date d'expiration en
+fonction de la date de dernière modification.</td></tr>
+<tr><td><a href="mod_cache.html#cachelock">CacheLock <var>on|off</var></a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Active la protection contre les tempêtes de requêtes.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachelockmaxage">CacheLockMaxAge <var>entier</var></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la durée de vie maximale d'un verrou de cache.</td></tr>
+<tr><td><a href="mod_cache.html#cachelockpath">CacheLockPath <var>répertoire</var></a></td><td> mod_cache-lock </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le répertoire des verrous.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachemaxexpire">CacheMaxExpire <var>secondes</var></a></td><td> 86400 (une journée) +</td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La durée maximale en secondes de mise en cache d'un
document</td></tr>
<tr><td><a href="mod_cache_disk.html#cachemaxfilesize">CacheMaxFileSize <var>octets</var></a></td><td> 1000000 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">>La taille maximale (en octets) d'un document pour pouvoir
-être stocké dans le cache</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cacheminexpire">CacheMinExpire <var>secondes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La durée minimale en secondes de mise en cache d'un
+être stocké dans le cache</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cacheminexpire">CacheMinExpire <var>secondes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La durée minimale en secondes de mise en cache d'un
document</td></tr>
<tr><td><a href="mod_cache_disk.html#cacheminfilesize">CacheMinFileSize <var>octets</var></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La taille minimale (en octets) d'un document pour pouvoir
-être stocké dans le cache</td></tr>
+être stocké dans le cache</td></tr>
<tr class="odd"><td><a href="mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs On|Off</a></td><td> Off </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Permet la mise en cache au niveau des serveurs mandataires
-des documents dont le contenu a été négocié</td></tr>
-<tr><td><a href="mod_cache.html#cachequickhandler">CacheQuickHandler <var>on|off</var></a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Exécute le cache à partir d'un gestionnaire rapide.</td></tr>
-<tr class="odd"><td><a href="mod_cache_disk.html#cachereadsize">CacheReadSize <var>octets</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La quantité minimale (en octets) de données à lire et à
+des documents dont le contenu a été négocié</td></tr>
+<tr><td><a href="mod_cache.html#cachequickhandler">CacheQuickHandler <var>on|off</var></a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Exécute le cache à partir d'un gestionnaire rapide.</td></tr>
+<tr class="odd"><td><a href="mod_cache_disk.html#cachereadsize">CacheReadSize <var>octets</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La quantité minimale (en octets) de données à lire et à
mettre en cache avant de les envoyer au client</td></tr>
-<tr><td><a href="mod_cache_disk.html#cachereadtime">CacheReadTime <var>millisecondes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Le temps minimum (en millisecondes) qui doit s'écouler
-avant d'envoyer les données au client</td></tr>
-<tr class="odd"><td><a href="mod_cache_disk.html#cacheroot">CacheRoot <var>répertoire</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La racine du répertoire dans lequel les fichiers du cache
-seront stockés</td></tr>
-<tr><td><a href="mod_cache_socache.html#cachesocache">CacheSocache <var>type[:args]</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Implémentation du cache d'objets partagés à utiliser</td></tr>
-<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize <var>octets</var></a></td><td> 102400 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La taille maximale d'une entrée pouvant être placée dans le
+<tr><td><a href="mod_cache_disk.html#cachereadtime">CacheReadTime <var>millisecondes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Le temps minimum (en millisecondes) qui doit s'écouler
+avant d'envoyer les données au client</td></tr>
+<tr class="odd"><td><a href="mod_cache_disk.html#cacheroot">CacheRoot <var>répertoire</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La racine du répertoire dans lequel les fichiers du cache
+seront stockés</td></tr>
+<tr><td><a href="mod_cache_socache.html#cachesocache">CacheSocache <var>type[:args]</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Implémentation du cache d'objets partagés à utiliser</td></tr>
+<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachemaxsize">CacheSocacheMaxSize <var>octets</var></a></td><td> 102400 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La taille maximale d'une entrée pouvant être placée dans le
cache</td></tr>
-<tr><td><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime <var>secondes</var></a></td><td> 86400 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La durée maximale de stockage d'un document dans le cache
-avant péremption</td></tr>
-<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime <var>seconds</var></a></td><td> 600 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La durée minimale de stockage d'un document dans le cache</td></tr>
-<tr><td><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize <var>octets</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La quantité minimale de données du document à lire et
+<tr><td><a href="mod_cache_socache.html#cachesocachemaxtime">CacheSocacheMaxTime <var>secondes</var></a></td><td> 86400 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La durée maximale de stockage d'un document dans le cache
+avant péremption</td></tr>
+<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachemintime">CacheSocacheMinTime <var>seconds</var></a></td><td> 600 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La durée minimale de stockage d'un document dans le cache</td></tr>
+<tr><td><a href="mod_cache_socache.html#cachesocachereadsize">CacheSocacheReadSize <var>octets</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La quantité minimale de données du document à lire et
mettre en cache avant envoi au client</td></tr>
-<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime <var>millisecondes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La durée minimale de lecture avant l'envoi des données</td></tr>
-<tr><td><a href="mod_cache.html#cachestaleonerror">CacheStaleOnError <var>on|off</var></a></td><td> on </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sert du contenu non à jour à la place de réponses 5xx.</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cachestoreexpired">CacheStoreExpired On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Tente de mettre en cache les réponses que le serveur
-considère comme arrivées à expiration</td></tr>
-<tr><td><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Tente de mettre en cache les requêtes ou réponses dont
-l'entête Cache-Control: a pour valeur no-store.</td></tr>
-<tr class="odd"><td><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Tente de mettre en cache des réponses que le serveur a
-marquées comme privées</td></tr>
-<tr><td><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout <var>time</var>[s|ms]</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Durée maximale d'attente de la prochaine sortie du
+<tr class="odd"><td><a href="mod_cache_socache.html#cachesocachereadtime">CacheSocacheReadTime <var>millisecondes</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La durée minimale de lecture avant l'envoi des données</td></tr>
+<tr><td><a href="mod_cache.html#cachestaleonerror">CacheStaleOnError <var>on|off</var></a></td><td> on </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Sert du contenu non à jour à la place de réponses 5xx.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachestoreexpired">CacheStoreExpired On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Tente de mettre en cache les réponses que le serveur
+considère comme arrivées à expiration</td></tr>
+<tr><td><a href="mod_cache.html#cachestorenostore">CacheStoreNoStore On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Tente de mettre en cache les requêtes ou réponses dont
+l'entête Cache-Control: a pour valeur no-store.</td></tr>
+<tr class="odd"><td><a href="mod_cache.html#cachestoreprivate">CacheStorePrivate On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Tente de mettre en cache des réponses que le serveur a
+marquées comme privées</td></tr>
+<tr><td><a href="mod_cgid.html#cgidscripttimeout">CGIDScriptTimeout <var>time</var>[s|ms]</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Durée maximale d'attente de la prochaine sortie du
programme CGI</td></tr>
-<tr class="odd"><td><a href="core.html#cgimapextension">CGIMapExtension <var>chemin CGI</var> <var>.extension</var></a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Technique permettant de localiser l'interpréteur des
+<tr class="odd"><td><a href="core.html#cgimapextension">CGIMapExtension <var>chemin CGI</var> <var>.extension</var></a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Technique permettant de localiser l'interpréteur des
scripts CGI</td></tr>
-<tr><td><a href="core.html#cgipassauth">CGIPassAuth On|Off</a></td><td> Off </td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Active la transmission d'en-têtes d'autorisation HTTP aux scripts en
+<tr><td><a href="core.html#cgipassauth">CGIPassAuth On|Off</a></td><td> Off </td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Active la transmission d'en-têtes d'autorisation HTTP aux scripts en
tant que variables CGI</td></tr>
<tr class="odd"><td><a href="mod_cgi.html#cgiscripttimeout">CGIScriptTimeout <var>time</var>[s|ms]</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Le temps d'attente maximum pour une sortie du programme CGI</td></tr>
-<tr><td><a href="core.html#cgivar">CGIVar <var>variable</var> <var>rule</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contrôle la manière dont certaines variables CGI sont définies</td></tr>
-<tr class="odd"><td><a href="mod_charset_lite.html#charsetdefault">CharsetDefault <var>jeu de caractères</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Jeu de caractère vers lequel la traduction doit
+<tr><td><a href="core.html#cgivar">CGIVar <var>variable</var> <var>rule</var></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contrôle la manière dont certaines variables CGI sont définies</td></tr>
+<tr class="odd"><td><a href="mod_charset_lite.html#charsetdefault">CharsetDefault <var>jeu de caractères</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Jeu de caractère vers lequel la traduction doit
s'effectuer</td></tr>
-<tr><td><a href="mod_charset_lite.html#charsetoptions">CharsetOptions <var>option</var> [<var>option</var>] ...</a></td><td> ImplicitAdd </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Précise les détails de la traduction du jeu de
-caractères</td></tr>
-<tr class="odd"><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc <var>jeu de caractères</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Jeu de caractères source des fichiers</td></tr>
-<tr><td><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Vérifie aussi la correspondance des fichiers, même avec des
-extensions différentes</td></tr>
+<tr><td><a href="mod_charset_lite.html#charsetoptions">CharsetOptions <var>option</var> [<var>option</var>] ...</a></td><td> ImplicitAdd </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Précise les détails de la traduction du jeu de
+caractères</td></tr>
+<tr class="odd"><td><a href="mod_charset_lite.html#charsetsourceenc">CharsetSourceEnc <var>jeu de caractères</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Jeu de caractères source des fichiers</td></tr>
+<tr><td><a href="mod_speling.html#checkbasenamematch">CheckBasenameMatch on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Vérifie aussi la correspondance des fichiers, même avec des
+extensions différentes</td></tr>
<tr class="odd"><td><a href="mod_speling.html#checkcaseonly">CheckCaseOnly on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Limite l'action du module aux corrections de
majuscules</td></tr>
<tr><td><a href="mod_speling.html#checkspelling">CheckSpelling on|off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Active le module de correction</td></tr>
-<tr class="odd"><td><a href="mod_unixd.html#chrootdir">ChrootDir <var>chemin-répertoire</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Répertoire dans lequel Apache doit se positionner au
-démarrage après avoir effectué un chroot(8).</td></tr>
-<tr><td><a href="core.html#contentdigest">ContentDigest On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Active la génération d'un en-tête <code>Content-MD5</code>
-dans la réponse HTTP</td></tr>
+<tr class="odd"><td><a href="mod_unixd.html#chrootdir">ChrootDir <var>chemin-répertoire</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Répertoire dans lequel Apache doit se positionner au
+démarrage après avoir effectué un chroot(8).</td></tr>
+<tr><td><a href="core.html#contentdigest">ContentDigest On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Active la génération d'un en-tête <code>Content-MD5</code>
+dans la réponse HTTP</td></tr>
<tr class="odd"><td><a href="mod_usertrack.html#cookiedomain">CookieDomain <em>domaine</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Le domaine auquel le cookie traceur
s'applique</td></tr>
-<tr><td><a href="mod_usertrack.html#cookieexpires">CookieExpires <em>durée</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée avant expiration du cookie traceur</td></tr>
+<tr><td><a href="mod_usertrack.html#cookieexpires">CookieExpires <em>durée</em></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée avant expiration du cookie traceur</td></tr>
<tr class="odd"><td><a href="mod_usertrack.html#cookiename">CookieName <em>symbole</em></a></td><td> Apache </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nom du cookie traceur</td></tr>
<tr><td><a href="mod_usertrack.html#cookiestyle">CookieStyle
- Netscape|Cookie|Cookie2|RFC2109|RFC2965</a></td><td> Netscape </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Format du champ d'en-tête cookie</td></tr>
+ Netscape|Cookie|Cookie2|RFC2109|RFC2965</a></td><td> Netscape </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Format du champ d'en-tête cookie</td></tr>
<tr class="odd"><td><a href="mod_usertrack.html#cookietracking">CookieTracking on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active le cookie traceur</td></tr>
-<tr><td><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory <var>répertoire</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Le répertoire dans lequel le serveur HTTP Apache va tenter de se
-positionner avant d'effectuer un vidage mémoire</td></tr>
+<tr><td><a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory <var>répertoire</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Le répertoire dans lequel le serveur HTTP Apache va tenter de se
+positionner avant d'effectuer un vidage mémoire</td></tr>
<tr class="odd"><td><a href="mod_crypto.html#cryptocipher">CryptoCipher name</a></td><td> aes256 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">L'algorithme de chiffrement que le filtre crypto doit utiliser</td></tr>
-<tr><td><a href="mod_crypto.html#cryptodriver">CryptoDriver name</a></td><td> openssl </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Nom du pilote crypto à utiliser</td></tr>
+<tr><td><a href="mod_crypto.html#cryptodriver">CryptoDriver name</a></td><td> openssl </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Nom du pilote crypto à utiliser</td></tr>
<tr class="odd"><td><a href="mod_crypto.html#cryptoiv">CryptoIV value</a></td><td> none </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Le Vecteur d'Initialisation IV (Initialisation Vector) que le
filtre crypto doit utiliser</td></tr>
-<tr><td><a href="mod_crypto.html#cryptokey">CryptoKey value</a></td><td> none </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Clé que le filtre crypto doit utiliser</td></tr>
-<tr class="odd"><td><a href="mod_crypto.html#cryptosize">CryptoSize integer</a></td><td> 131072 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Taille maximale en octets du tampon utilisé par le filtre crypto</td></tr>
-<tr><td><a href="mod_ssl_ct.html#ctauditstorage">CTAuditStorage <em>directory</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Répertoire de stockage des données pour l'audit hors ligne</td></tr>
+<tr><td><a href="mod_crypto.html#cryptokey">CryptoKey value</a></td><td> none </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Clé que le filtre crypto doit utiliser</td></tr>
+<tr class="odd"><td><a href="mod_crypto.html#cryptosize">CryptoSize integer</a></td><td> 131072 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Taille maximale en octets du tampon utilisé par le filtre crypto</td></tr>
+<tr><td><a href="mod_ssl_ct.html#ctauditstorage">CTAuditStorage <em>directory</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Répertoire de stockage des données pour l'audit hors ligne</td></tr>
<tr class="odd"><td><a href="mod_ssl_ct.html#ctlogclient">CTLogClient <em>executable</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Chemin de l'utilitaire client du log certificate-transparency</td></tr>
-<tr><td><a href="mod_ssl_ct.html#ctlogconfigdb">CTLogConfigDB <em>filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Base de données pour la configuration des logs avec mises à
+<tr><td><a href="mod_ssl_ct.html#ctlogconfigdb">CTLogConfigDB <em>filename</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Base de données pour la configuration des logs avec mises à
jour dynamiques</td></tr>
<tr class="odd"><td><a href="mod_ssl_ct.html#ctmaxsctage">CTMaxSCTAge <em>num-seconds</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Age maximum d'un SCT obtenu depuis un log avant son
-raffraîchissement</td></tr>
+raffraîchissement</td></tr>
<tr><td><a href="mod_ssl_ct.html#ctproxyawareness">CTProxyAwareness <em>oblivious|aware|require</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Niveau de prise en compte et de mise en oeuvre des CTs pour un
mandataire
</td></tr>
-<tr class="odd"><td><a href="mod_ssl_ct.html#ctsctstorage">CTSCTStorage <em>directory</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Répertoire où les SCTs sont stockés</td></tr>
-<tr><td><a href="mod_ssl_ct.html#ctserverhellosctlimit">CTServerHelloSCTLimit <em>limit</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre maximum de SCTs pouvant être renvoyés au cours de la
+<tr class="odd"><td><a href="mod_ssl_ct.html#ctsctstorage">CTSCTStorage <em>directory</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Répertoire où les SCTs sont stockés</td></tr>
+<tr><td><a href="mod_ssl_ct.html#ctserverhellosctlimit">CTServerHelloSCTLimit <em>limit</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre maximum de SCTs pouvant être renvoyés au cours de la
phase ServerHello</td></tr>
<tr class="odd"><td><a href="mod_ssl_ct.html#ctstaticlogconfig">CTStaticLogConfig <em>log-id|-</em> <em>public-key-file|-</em>
<em>1|0|-</em> <em>min-timestamp|-</em> <em>max-timestamp|-</em>
<tr class="odd"><td><a href="mod_log_config.html#customlog">CustomLog <var>fichier</var>|<var>pipe</var>|<var>provider</var>
<var>format</var>|<var>alias</var>
[env=[!]<var>variable-environnement</var>|
-expr=<var>expression</var>]</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le nom et le format du fichier
+expr=<var>expression</var>]</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le nom et le format du fichier
journal</td></tr>
-<tr><td><a href="mod_dav.html#dav" id="D" name="D">Dav On|Off|<var>nom fournisseur</var></a></td><td> Off </td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Active les méthodes HTTP WebDAV</td></tr>
-<tr class="odd"><td><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity on|off</a></td><td> off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Autorise les requêtes PROPFIND avec en-tête Depth:
+<tr><td><a href="mod_dav.html#dav" id="D" name="D">Dav On|Off|<var>nom fournisseur</var></a></td><td> Off </td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Active les méthodes HTTP WebDAV</td></tr>
+<tr class="odd"><td><a href="mod_dav.html#davdepthinfinity">DavDepthInfinity on|off</a></td><td> off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Autorise les requêtes PROPFIND avec en-tête Depth:
Infinity</td></tr>
-<tr><td><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB <var>chemin fichier</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Chemin de la base de données des verrous DAV</td></tr>
-<tr class="odd"><td><a href="mod_dav_fs.html#davlockdb">DavLockDB <var>chemin fichier</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Chemin de la base de données des verrous DAV</td></tr>
-<tr><td><a href="mod_dav.html#davmintimeout">DavMinTimeout <var>secondes</var></a></td><td> 0 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée minimale pendant laquelle le serveur maintient un
+<tr><td><a href="mod_dav_lock.html#davgenericlockdb">DavGenericLockDB <var>chemin fichier</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Chemin de la base de données des verrous DAV</td></tr>
+<tr class="odd"><td><a href="mod_dav_fs.html#davlockdb">DavLockDB <var>chemin fichier</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Chemin de la base de données des verrous DAV</td></tr>
+<tr><td><a href="mod_dav.html#davmintimeout">DavMinTimeout <var>secondes</var></a></td><td> 0 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée minimale pendant laquelle le serveur maintient un
verrou sur une ressource DAV</td></tr>
-<tr class="odd"><td><a href="mod_dbd.html#dbdexptime">DBDExptime <var>durée en secondes</var></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Durée de vie des connexions inactives</td></tr>
-<tr><td><a href="mod_dbd.html#dbdinitsql">DBDInitSQL <var>"instruction SQL"</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Exécute une instruction SQL après connexion à une base de
-données</td></tr>
+<tr class="odd"><td><a href="mod_dbd.html#dbdexptime">DBDExptime <var>durée en secondes</var></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Durée de vie des connexions inactives</td></tr>
+<tr><td><a href="mod_dbd.html#dbdinitsql">DBDInitSQL <var>"instruction SQL"</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Exécute une instruction SQL après connexion à une base de
+données</td></tr>
<tr class="odd"><td><a href="mod_dbd.html#dbdkeep">DBDKeep <var>nombre</var></a></td><td> 2 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre maximum de connexions maintenues</td></tr>
<tr><td><a href="mod_dbd.html#dbdmax">DBDMax <var>nombre</var></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre maximum de connexions</td></tr>
<tr class="odd"><td><a href="mod_dbd.html#dbdmin">DBDMin <var>nombre</var></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre minimum de connexions</td></tr>
<tr><td><a href="mod_dbd.html#dbdparams">DBDParams
-<var>param1</var>=<var>valeur1</var>[,<var>param2</var>=<var>valeur2</var>]</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Paramètres de la connexion à la base de
-données</td></tr>
+<var>param1</var>=<var>valeur1</var>[,<var>param2</var>=<var>valeur2</var>]</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Paramètres de la connexion à la base de
+données</td></tr>
<tr class="odd"><td><a href="mod_dbd.html#dbdpersist">DBDPersist On|Off</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Utiliser ou non des connexions persistentes</td></tr>
-<tr><td><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL <var>"requête SQL"</var> <var>étiquette</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit une requête SQL préparée</td></tr>
-<tr class="odd"><td><a href="mod_dbd.html#dbdriver">DBDriver <var>nom</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie un pilote SQL</td></tr>
-<tr><td><a href="mod_autoindex.html#defaulticon">DefaultIcon <var>chemin URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icône à afficher par défaut lorsqu'aucun icône spécifique
-n'est précisé</td></tr>
-<tr class="odd"><td><a href="mod_mime.html#defaultlanguage">DefaultLanguage <var>symbole-langage</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Défini un symbole de langage par défaut à affecter au champ
-d'en-tête Content-Language pour toutes les ressources dans le contexte
-courant auxquelles aucun symbole de langage n'a été
-associé.</td></tr>
-<tr><td><a href="core.html#defaultruntimedir">DefaultRuntimeDir <var>chemin-répertoire</var></a></td><td> DEFAULT_REL_RUNTIME +</td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Répertoire de base des fichiers créés au cours de l'exécution du serveur</td></tr>
-<tr class="odd"><td><a href="core.html#defaulttype">DefaultType <var>type média|none</var></a></td><td> none </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Les seuls effets de cette directive sont des émissions
-d'avertissements si sa valeur est différente de <code>none</code>. Dans
-les versions précédentes, DefaultType permettait de spécifier un type de
-média à assigner par défaut au contenu d'une réponse pour lequel aucun
-autre type de média n'avait été trouvé.
+<tr><td><a href="mod_dbd.html#dbdpreparesql">DBDPrepareSQL <var>"requête SQL"</var> <var>étiquette</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit une requête SQL préparée</td></tr>
+<tr class="odd"><td><a href="mod_dbd.html#dbdriver">DBDriver <var>nom</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie un pilote SQL</td></tr>
+<tr><td><a href="mod_autoindex.html#defaulticon">DefaultIcon <var>chemin URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Icône à afficher par défaut lorsqu'aucun icône spécifique
+n'est précisé</td></tr>
+<tr class="odd"><td><a href="mod_mime.html#defaultlanguage">DefaultLanguage <var>symbole-langage</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Défini un symbole de langage par défaut à affecter au champ
+d'en-tête Content-Language pour toutes les ressources dans le contexte
+courant auxquelles aucun symbole de langage n'a été
+associé.</td></tr>
+<tr><td><a href="core.html#defaultruntimedir">DefaultRuntimeDir <var>chemin-répertoire</var></a></td><td> DEFAULT_REL_RUNTIME +</td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Répertoire de base des fichiers créés au cours de l'exécution du serveur</td></tr>
+<tr class="odd"><td><a href="core.html#defaulttype">DefaultType <var>type média|none</var></a></td><td> none </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Les seuls effets de cette directive sont des émissions
+d'avertissements si sa valeur est différente de <code>none</code>. Dans
+les versions précédentes, DefaultType permettait de spécifier un type de
+média à assigner par défaut au contenu d'une réponse pour lequel aucun
+autre type de média n'avait été trouvé.
</td></tr>
-<tr><td><a href="core.html#define">Define <var>nom-paramètre</var> [<var>valeur-paramètre</var>]</a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Permet de définir une variable</td></tr>
-<tr class="odd"><td><a href="mod_deflate.html#deflatealteretag">DeflateAlterETag AddSuffix|NoChange|Remove</a></td><td> AddSuffix </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Comment l'en-tête sortant ETag doit être modifié au cours
+<tr><td><a href="core.html#define">Define <var>nom-paramètre</var> [<var>valeur-paramètre</var>]</a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Permet de définir une variable</td></tr>
+<tr class="odd"><td><a href="mod_deflate.html#deflatealteretag">DeflateAlterETag AddSuffix|NoChange|Remove</a></td><td> AddSuffix </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Comment l'en-tête sortant ETag doit être modifié au cours
de la compression</td></tr>
<tr><td><a href="mod_deflate.html#deflatebuffersize">DeflateBufferSize <var>valeur</var></a></td><td> 8096 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Taille du fragment que zlib devra comprimer en une seule
fois</td></tr>
-<tr class="odd"><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>valeur</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Le niveau de compression que nous appliquons à la
+<tr class="odd"><td><a href="mod_deflate.html#deflatecompressionlevel">DeflateCompressionLevel <var>valeur</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Le niveau de compression que nous appliquons à la
sortie</td></tr>
<tr><td><a href="mod_deflate.html#deflatefilternote">DeflateFilterNote [<var>type</var>] <var>nom de la note</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Enregistre le taux de compression sous la forme d'une note
-à des fins de journalisation</td></tr>
-<tr class="odd"><td><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody<var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Taille maximale des corps de requête décompressés</td></tr>
-<tr><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre maximal de fois que le ratio de décompression d'un
-corps de requête peut être dépassé</td></tr>
-<tr class="odd"><td><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ratio de décompression maximum pour les corps de requêtes</td></tr>
-<tr><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>valeur</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">La quantité de mémoire utilisable par zlib pour la
+à des fins de journalisation</td></tr>
+<tr class="odd"><td><a href="mod_deflate.html#deflateinflatelimitrequestbody">DeflateInflateLimitRequestBody<var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Taille maximale des corps de requête décompressés</td></tr>
+<tr><td><a href="mod_deflate.html#deflateinflateratioburst">DeflateInflateRatioBurst <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre maximal de fois que le ratio de décompression d'un
+corps de requête peut être dépassé</td></tr>
+<tr class="odd"><td><a href="mod_deflate.html#deflateinflateratiolimit">DeflateInflateRatioLimit <var>value</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ratio de décompression maximum pour les corps de requêtes</td></tr>
+<tr><td><a href="mod_deflate.html#deflatememlevel">DeflateMemLevel <var>valeur</var></a></td><td> 9 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">La quantité de mémoire utilisable par zlib pour la
compression</td></tr>
-<tr class="odd"><td><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize <var>valeur</var></a></td><td> 15 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Taille de la fenêtre de compression zlib</td></tr>
-<tr><td><a href="mod_access_compat.html#deny"> Deny from all|<var>hôte</var>|env=[!]<var>variable
+<tr class="odd"><td><a href="mod_deflate.html#deflatewindowsize">DeflateWindowSize <var>valeur</var></a></td><td> 15 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Taille de la fenêtre de compression zlib</td></tr>
+<tr><td><a href="mod_access_compat.html#deny"> Deny from all|<var>hôte</var>|env=[!]<var>variable
d'environnement</var>
-[<var>hôte</var>|env=[!]<var>variable d'environnement</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit quels hôtes ne sont pas autorisés à accéder au
+[<var>hôte</var>|env=[!]<var>variable d'environnement</var>] ...</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit quels hôtes ne sont pas autorisés à accéder au
serveur</td></tr>
-<tr class="odd"><td><a href="core.html#directory"><Directory <var>chemin répertoire</var>>
+<tr class="odd"><td><a href="core.html#directory"><Directory <var>chemin répertoire</var>>
... </Directory></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Regroupe un ensemble de directives qui ne s'appliquent
-qu'au répertoire concerné du système de fichiers, à ses
-sous-répertoires, et à leur contenu.</td></tr>
-<tr><td><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler On|Off</a></td><td> Off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit la réponse de ce module lorsqu'un autre
-gestionnaire est utilisé</td></tr>
+qu'au répertoire concerné du système de fichiers, à ses
+sous-répertoires, et à leur contenu.</td></tr>
+<tr><td><a href="mod_dir.html#directorycheckhandler">DirectoryCheckHandler On|Off</a></td><td> Off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit la réponse de ce module lorsqu'un autre
+gestionnaire est utilisé</td></tr>
<tr class="odd"><td><a href="mod_dir.html#directoryindex">DirectoryIndex
- disabled | <var>url locale</var> [<var>url locale</var>] ...</a></td><td> index.html </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Liste des fichiers ressources à rechercher lorsque le
-client envoie une requête pour un répertoire</td></tr>
+ disabled | <var>url locale</var> [<var>url locale</var>] ...</a></td><td> index.html </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Liste des fichiers ressources à rechercher lorsque le
+client envoie une requête pour un répertoire</td></tr>
<tr><td><a href="mod_dir.html#directoryindexredirect">DirectoryIndexRedirect on | off | permanent | temp | seeother |
<var>3xx-code</var>
-</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit une redirection externe pour les index de
-répertoires.
+</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit une redirection externe pour les index de
+répertoires.
</td></tr>
<tr class="odd"><td><a href="core.html#directorymatch"><DirectoryMatch <var>regex</var>>
-... </DirectoryMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Regroupe des directives qui s'appliquent au contenu de répertoires
-du système de fichiers correspondant à une expression rationnelle</td></tr>
-<tr><td><a href="mod_dir.html#directoryslash">DirectorySlash On|Off</a></td><td> On </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Activation/Désactivation de la redirection "slash de
+... </DirectoryMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Regroupe des directives qui s'appliquent au contenu de répertoires
+du système de fichiers correspondant à une expression rationnelle</td></tr>
+<tr><td><a href="mod_dir.html#directoryslash">DirectorySlash On|Off</a></td><td> On </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Activation/Désactivation de la redirection "slash de
fin"</td></tr>
-<tr class="odd"><td><a href="core.html#documentroot">DocumentRoot <var>chemin répertoire</var></a></td><td> "/usr/local/apache/ +</td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Racine principale de l'arborescence des documents visible
+<tr class="odd"><td><a href="core.html#documentroot">DocumentRoot <var>chemin répertoire</var></a></td><td> "/usr/local/apache/ +</td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Racine principale de l'arborescence des documents visible
depuis Internet</td></tr>
-<tr><td><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges On|Off</a></td><td> Off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Détermine si les privilèges requis par dtrace sont
-activés.</td></tr>
-<tr class="odd"><td><a href="mod_dumpio.html#dumpioinput">DumpIOInput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enregistre toutes les entrées dans le journal des
+<tr><td><a href="mod_privileges.html#dtraceprivileges">DTracePrivileges On|Off</a></td><td> Off </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Détermine si les privilèges requis par dtrace sont
+activés.</td></tr>
+<tr class="odd"><td><a href="mod_dumpio.html#dumpioinput">DumpIOInput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enregistre toutes les entrées dans le journal des
erreurs</td></tr>
<tr><td><a href="mod_dumpio.html#dumpiooutput">DumpIOOutput On|Off</a></td><td> Off </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Enregistre toutes les sorties dans le journal des
erreurs</td></tr>
<tr class="odd"><td><a href="core.html#else" id="E" name="E"><Else> ... </Else></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contient des directives qui ne s'appliquent que si la
-condition correspondant à la section <code class="directive"><a href="../mod/core.html#if"><If></a></code> ou <code class="directive"><a href="../mod/core.html#elseif"><ElseIf></a></code> précédente n'est pas satisfaite par la
-requête à l'exécution</td></tr>
+condition correspondant à la section <code class="directive"><a href="../mod/core.html#if"><If></a></code> ou <code class="directive"><a href="../mod/core.html#elseif"><ElseIf></a></code> précédente n'est pas satisfaite par la
+requête à l'exécution</td></tr>
<tr><td><a href="core.html#elseif"><ElseIf <var>expression</var>> ... </ElseIf></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contient des directives qui ne s'appliquent que si la
-condition correspondante est satisfaite par une requête à l'exécution,
-alors que la condition correspondant à la section <code class="directive"><a href="../mod/core.html#if"><If></a></code> ou <code class="directive"><ElseIf></code> précédente ne l'était pas.</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook On|Off</a></td><td> Off </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Active un hook ("point d'accrochage logiciel") qui exécute des
-gestionnaires d'exception après un crash</td></tr>
-<tr><td><a href="core.html#enablemmap">EnableMMAP On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Utilise la projection en mémoire (Memory-Mapping) pour
+condition correspondante est satisfaite par une requête à l'exécution,
+alors que la condition correspondant à la section <code class="directive"><a href="../mod/core.html#if"><If></a></code> ou <code class="directive"><ElseIf></code> précédente ne l'était pas.</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#enableexceptionhook">EnableExceptionHook On|Off</a></td><td> Off </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Active un hook ("point d'accrochage logiciel") qui exécute des
+gestionnaires d'exception après un crash</td></tr>
+<tr><td><a href="core.html#enablemmap">EnableMMAP On|Off</a></td><td> On </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Utilise la projection en mémoire (Memory-Mapping) pour
lire les fichiers pendant qu'ils sont servis</td></tr>
<tr class="odd"><td><a href="core.html#enablesendfile">EnableSendfile On|Off</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Utilise le support sendfile du noyau pour servir les
fichiers aux clients</td></tr>
<tr><td><a href="core.html#error">Error <var>message</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Interrompt la lecture de la configuration avec un message
-d'erreur personnalisé</td></tr>
+d'erreur personnalisé</td></tr>
<tr class="odd"><td><a href="core.html#errordocument">ErrorDocument <var>code erreur</var> <var>document</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Document que le serveur renvoie au client en cas
d'erreur</td></tr>
-<tr><td><a href="core.html#errorlog"> ErrorLog <var>file-path</var>|syslog[:[<var>facility</var>][:<var>tag</var>]]</a></td><td> logs/error_log (Uni +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Définition du chemin du journal des erreurs</td></tr>
-<tr class="odd"><td><a href="core.html#errorlogformat"> ErrorLogFormat [connection|request] <var>format</var></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Spécification du format des entrées du journal des erreurs</td></tr>
-<tr><td><a href="mod_example_hooks.html#example">Example</a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Directive de démonstration pour illustrer l'API des modules
+<tr><td><a href="core.html#errorlog"> ErrorLog <var>file-path</var>|syslog[:[<var>facility</var>][:<var>tag</var>]]</a></td><td> logs/error_log (Uni +</td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Définition du chemin du journal des erreurs</td></tr>
+<tr class="odd"><td><a href="core.html#errorlogformat"> ErrorLogFormat [connection|request] <var>format</var></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Spécification du format des entrées du journal des erreurs</td></tr>
+<tr><td><a href="mod_example_hooks.html#example">Example</a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Directive de démonstration pour illustrer l'API des modules
Apache</td></tr>
-<tr class="odd"><td><a href="mod_expires.html#expiresactive">ExpiresActive On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la génération d'en-têtes
+<tr class="odd"><td><a href="mod_expires.html#expiresactive">ExpiresActive On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la génération d'en-têtes
<code>Expires</code></td></tr>
<tr><td><a href="mod_expires.html#expiresbytype">ExpiresByType <var>type MIME</var>
-<var><code>secondes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définition de la valeur de l'en-tête <code>Expires</code>
+<var><code>secondes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définition de la valeur de l'en-tête <code>Expires</code>
en fonction du type MIME</td></tr>
-<tr class="odd"><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var><code>secondes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Mode de calcul par défaut de la date
+<tr class="odd"><td><a href="mod_expires.html#expiresdefault">ExpiresDefault <var><code>secondes</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Mode de calcul par défaut de la date
d'expiration</td></tr>
-<tr><td><a href="core.html#extendedstatus">ExtendedStatus On|Off</a></td><td> Off </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Extrait des informations d'état étendues pour chaque
-requête</td></tr>
-<tr class="odd"><td><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine <var>nom_filtre</var> <var>paramètres</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit un filtre externe</td></tr>
+<tr><td><a href="core.html#extendedstatus">ExtendedStatus On|Off</a></td><td> Off </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Extrait des informations d'état étendues pour chaque
+requête</td></tr>
+<tr class="odd"><td><a href="mod_ext_filter.html#extfilterdefine">ExtFilterDefine <var>nom_filtre</var> <var>paramètres</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit un filtre externe</td></tr>
<tr><td><a href="mod_ext_filter.html#extfilteroptions">ExtFilterOptions <var>option</var> [<var>option</var>] ...</a></td><td> NoLogStderr </td><td>d</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure les options de
<code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code></td></tr>
-<tr class="odd"><td><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource disabled | <var>url-locale</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une URL par défaut pour les requêtes qui ne ciblent
+<tr class="odd"><td><a href="mod_dir.html#fallbackresource" id="F" name="F">FallbackResource disabled | <var>url-locale</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une URL par défaut pour les requêtes qui ne ciblent
aucun fichier</td></tr>
-<tr><td><a href="core.html#fileetag">FileETag <var>composant</var> ...</a></td><td> MTime Size </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Caractéristiques de fichier utilisées lors de la génération
-de l'en-tête de réponse HTTP ETag pour les fichiers statiques</td></tr>
+<tr><td><a href="core.html#fileetag">FileETag <var>composant</var> ...</a></td><td> MTime Size </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Caractéristiques de fichier utilisées lors de la génération
+de l'en-tête de réponse HTTP ETag pour les fichiers statiques</td></tr>
<tr class="odd"><td><a href="core.html#files"><Files <var>nom fichier</var>> ... </Files></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contient des directives qui s'appliquent aux fichiers
-précisés</td></tr>
+précisés</td></tr>
<tr><td><a href="core.html#filesmatch"><FilesMatch <var>expression rationnelle</var>> ...
-</FilesMatch></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contient des directives qui s'appliquent à des fichiers
-spécifiés sous la forme d'expressions rationnelles</td></tr>
-<tr class="odd"><td><a href="mod_filter.html#filterchain">FilterChain [+=-@!]<var>smart-filter-name</var> <var>...</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Configure la chaîne de filtrage</td></tr>
-<tr><td><a href="mod_filter.html#filterdeclare">FilterDeclare <var>smart-filter-name</var> <var>[type]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Déclare un filtre intelligent</td></tr>
+</FilesMatch></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contient des directives qui s'appliquent à des fichiers
+spécifiés sous la forme d'expressions rationnelles</td></tr>
+<tr class="odd"><td><a href="mod_filter.html#filterchain">FilterChain [+=-@!]<var>smart-filter-name</var> <var>...</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Configure la chaîne de filtrage</td></tr>
+<tr><td><a href="mod_filter.html#filterdeclare">FilterDeclare <var>smart-filter-name</var> <var>[type]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Déclare un filtre intelligent</td></tr>
<tr class="odd"><td><a href="mod_filter.html#filterprotocol">FilterProtocol <var>smart-filter-name</var> [<var>provider-name</var>]
- <var>proto-flags</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Vérifie le respect du protocole HTTP</td></tr>
+ <var>proto-flags</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Vérifie le respect du protocole HTTP</td></tr>
<tr><td><a href="mod_filter.html#filterprovider">FilterProvider <var>smart-filter-name</var> <var>provider-name</var>
<var>expression</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Enregistre un filtre de contenu</td></tr>
-<tr class="odd"><td><a href="mod_filter.html#filtertrace">FilterTrace <var>smart-filter-name</var> <var>level</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Obtention d'informations de débogage/diagnostique en
+<tr class="odd"><td><a href="mod_filter.html#filtertrace">FilterTrace <var>smart-filter-name</var> <var>level</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Obtention d'informations de débogage/diagnostique en
provenance de <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></td></tr>
-<tr><td><a href="mod_firehose.html#firehoseconnectioninput">FirehoseConnectionInput <var>[ block | nonblock ]</var> <var>filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Capture le trafic entrant dans le serveur à chaque
+<tr><td><a href="mod_firehose.html#firehoseconnectioninput">FirehoseConnectionInput <var>[ block | nonblock ]</var> <var>filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Capture le trafic entrant dans le serveur à chaque
connexion.</td></tr>
-<tr class="odd"><td><a href="mod_firehose.html#firehoseconnectionoutput">FirehoseConnectionOutput <var>[ block | nonblock ]</var> <var>filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Capture le trafic sortant du serveur à chaque connexion</td></tr>
+<tr class="odd"><td><a href="mod_firehose.html#firehoseconnectionoutput">FirehoseConnectionOutput <var>[ block | nonblock ]</var> <var>filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Capture le trafic sortant du serveur à chaque connexion</td></tr>
<tr><td><a href="mod_firehose.html#firehoseproxyconnectioninput">FirehoseProxyConnectionInput <var>[ block | nonblock ]</var> <var>filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Capture le trafic entrant dans mod_proxy</td></tr>
-<tr class="odd"><td><a href="mod_firehose.html#firehoseproxyconnectionoutput">FirehoseProxyConnectionOutput <var>[ block | nonblock ]</var> <var>filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Capture le trafic envoyé par mod_proxy</td></tr>
-<tr><td><a href="mod_firehose.html#firehoserequestinput">FirehoseRequestInput <var>[ block | nonblock ]</var> <var>filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Capture le trafic entrant dans le serveur à chaque requête</td></tr>
-<tr class="odd"><td><a href="mod_firehose.html#firehoserequestoutput">FirehoseRequestOutput <var>[ block | nonblock ]</var> <var>filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Capture le trafic sortant du serveur à chaque requête</td></tr>
-<tr><td><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</a></td><td> Prefer </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Action à entreprendre si un document acceptable unique
-n'est pas trouvé</td></tr>
-<tr class="odd"><td><a href="core.html#forcetype">ForceType <var>type médium</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Force le type de médium spécifié dans le champ d'en-tête
+<tr class="odd"><td><a href="mod_firehose.html#firehoseproxyconnectionoutput">FirehoseProxyConnectionOutput <var>[ block | nonblock ]</var> <var>filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Capture le trafic envoyé par mod_proxy</td></tr>
+<tr><td><a href="mod_firehose.html#firehoserequestinput">FirehoseRequestInput <var>[ block | nonblock ]</var> <var>filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Capture le trafic entrant dans le serveur à chaque requête</td></tr>
+<tr class="odd"><td><a href="mod_firehose.html#firehoserequestoutput">FirehoseRequestOutput <var>[ block | nonblock ]</var> <var>filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Capture le trafic sortant du serveur à chaque requête</td></tr>
+<tr><td><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</a></td><td> Prefer </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Action à entreprendre si un document acceptable unique
+n'est pas trouvé</td></tr>
+<tr class="odd"><td><a href="core.html#forcetype">ForceType <var>type médium</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Force le type de médium spécifié dans le champ d'en-tête
HTTP Content-Type pour les fichiers correspondants</td></tr>
-<tr><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>nom-fichier</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le nom de fichier du journal légal</td></tr>
+<tr><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>nom-fichier</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le nom de fichier du journal légal</td></tr>
<tr class="odd"><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog <var>file</var>|<var>pipe</var>|<var>provider</var>
<var>format</var>|<var>nickname</var>
[env=[!]<var>environment-variable</var>|
-expr=<var>expression</var>]</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le nom et le format du fichier journal</td></tr>
-<tr><td><a href="core.html#gprofdir">GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Répertoire dans lequel écrire les données de profiling
+expr=<var>expression</var>]</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le nom et le format du fichier journal</td></tr>
+<tr><td><a href="core.html#gprofdir">GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Répertoire dans lequel écrire les données de profiling
gmon.out.</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout <var>seconds</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie le délai maximum après lequel le serveur va
-s'arrêter dans le cas d'un arrêt "en douceur"</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout <var>seconds</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie le délai maximum après lequel le serveur va
+s'arrêter dans le cas d'un arrêt "en douceur"</td></tr>
<tr><td><a href="mod_unixd.html#group">Group <var>groupe unix</var></a></td><td> #-1 </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Groupe sous lequel le serveur va traiter les
-requêtes</td></tr>
-<tr class="odd"><td><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Contrôle la gestion des fichiers dans les réponses</td></tr>
+requêtes</td></tr>
+<tr class="odd"><td><a href="mod_http2.html#h2copyfiles" id="H" name="H">H2CopyFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Contrôle la gestion des fichiers dans les réponses</td></tr>
<tr><td><a href="mod_http2.html#h2direct">H2Direct on|off</a></td><td> on pour h2c, off po +</td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Activation du protocole H2 Direct</td></tr>
-<tr class="odd"><td><a href="mod_http2.html#h2earlyhints">H2EarlyHints on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Contrôle l'envoi de codes d'état 103</td></tr>
+<tr class="odd"><td><a href="mod_http2.html#h2earlyhints">H2EarlyHints on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Contrôle l'envoi de codes d'état 103</td></tr>
<tr><td><a href="mod_http2.html#h2maxsessionstreams">H2MaxSessionStreams <em>n</em></a></td><td> 100 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre maximal de flux actifs par session HTTP/2.</td></tr>
-<tr class="odd"><td><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds <em>n</em></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre maximal de secondes pendant lequel une unité de
- traitement h2 pourra rester inactive sans être arrêtée.</td></tr>
-<tr><td><a href="mod_http2.html#h2maxworkers">H2MaxWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre maximal de threads à utiliser pour chaque processus
+<tr class="odd"><td><a href="mod_http2.html#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds <em>n</em></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre maximal de secondes pendant lequel une unité de
+ traitement h2 pourra rester inactive sans être arrêtée.</td></tr>
+<tr><td><a href="mod_http2.html#h2maxworkers">H2MaxWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre maximal de threads à utiliser pour chaque processus
enfant.</td></tr>
-<tr class="odd"><td><a href="mod_http2.html#h2minworkers">H2MinWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre minimal de threads à utiliser pour chaque processus
+<tr class="odd"><td><a href="mod_http2.html#h2minworkers">H2MinWorkers <em>n</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre minimal de threads à utiliser pour chaque processus
enfant.</td></tr>
<tr><td><a href="mod_http2.html#h2moderntlsonly">H2ModernTLSOnly on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Impose les connexions HTTP/2 en mode "TLS moderne"
seulement</td></tr>
-<tr class="odd"><td><a href="mod_http2.html#h2push">H2Push on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Activation/désactivation du server push H2</td></tr>
+<tr class="odd"><td><a href="mod_http2.html#h2push">H2Push on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Activation/désactivation du server push H2</td></tr>
<tr><td><a href="mod_http2.html#h2pushdiarysize">H2PushDiarySize n</a></td><td> 256 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Taille du journal des Pushes H2</td></tr>
-<tr class="odd"><td><a href="mod_http2.html#h2pushpriority">H2PushPriority mime-type [after|before|interleaved] [weight]</a></td><td> * After 16 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Priorité des pushes H2</td></tr>
-<tr><td><a href="mod_http2.html#h2pushresource">H2PushResource [add] path [critical]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Déclare des ressources à proposer ("pusher") au client</td></tr>
-<tr class="odd"><td><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active/désactive la sérialisation du traitement des
- requêtes/réponses</td></tr>
-<tr><td><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize <em>bytes</em></a></td><td> 65536 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Quantité maximale de données en sortie mises en tampon par
+<tr class="odd"><td><a href="mod_http2.html#h2pushpriority">H2PushPriority mime-type [after|before|interleaved] [weight]</a></td><td> * After 16 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Priorité des pushes H2</td></tr>
+<tr><td><a href="mod_http2.html#h2pushresource">H2PushResource [add] path [critical]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Déclare des ressources à proposer ("pusher") au client</td></tr>
+<tr class="odd"><td><a href="mod_http2.html#h2serializeheaders">H2SerializeHeaders on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active/désactive la sérialisation du traitement des
+ requêtes/réponses</td></tr>
+<tr><td><a href="mod_http2.html#h2streammaxmemsize">H2StreamMaxMemSize <em>bytes</em></a></td><td> 65536 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Quantité maximale de données en sortie mises en tampon par
flux.</td></tr>
<tr class="odd"><td><a href="mod_http2.html#h2tlscooldownsecs">H2TLSCoolDownSecs <em>seconds</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">-</td></tr>
<tr><td><a href="mod_http2.html#h2tlswarmupsize">H2TLSWarmUpSize <em>amount</em></a></td><td> 1048576 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">-</td></tr>
-<tr class="odd"><td><a href="mod_http2.html#h2upgrade">H2Upgrade on|off</a></td><td> on pour h2c, off po +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Activation/Désactivation du protocole de mise à jour H2</td></tr>
-<tr><td><a href="mod_http2.html#h2windowsize">H2WindowSize <em>bytes</em></a></td><td> 65535 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Taille maximale des paquets de données pour les transmissions client
+<tr class="odd"><td><a href="mod_http2.html#h2upgrade">H2Upgrade on|off</a></td><td> on pour h2c, off po +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Activation/Désactivation du protocole de mise à jour H2</td></tr>
+<tr><td><a href="mod_http2.html#h2windowsize">H2WindowSize <em>bytes</em></a></td><td> 65535 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Taille maximale des paquets de données pour les transmissions client
vers serveur.</td></tr>
<tr class="odd"><td><a href="mod_headers.html#header">Header [<var>condition</var>] add|append|echo|edit|edit*|merge|set|setifempty|unset|note
-<var>en-tête</var> [[expr=]<var>valeur</var>
+<var>en-tête</var> [[expr=]<var>valeur</var>
[<var>remplacement</var>]
[early|env=[!]<var>variable</var>|expr=<var>expression</var>]]
-</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure les en-têtes d'une réponse HTTP</td></tr>
-<tr><td><a href="mod_autoindex.html#headername">HeaderName <var>nom fichier</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Nom du fichier qui sera inséré au début de la page
+</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure les en-têtes d'une réponse HTTP</td></tr>
+<tr><td><a href="mod_autoindex.html#headername">HeaderName <var>nom fichier</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Nom du fichier qui sera inséré au début de la page
contenant l'index</td></tr>
-<tr class="odd"><td><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress <var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Adresse multicast à laquelle envoyer les requêtes
+<tr class="odd"><td><a href="mod_heartbeat.html#heartbeataddress">HeartbeatAddress <var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Adresse multicast à laquelle envoyer les requêtes
heartbeat</td></tr>
-<tr><td><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen<var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Adresse multicast d'écoute des requêtes entrantes heartbeat</td></tr>
-<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers <var>nombre-de-serveurs</var></a></td><td> 10 </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie le nombre maximal de serveurs qui pourront envoyer
-des requêtes heartbeat à ce serveur.</td></tr>
-<tr><td><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage <var>chemin fichier</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Chemin vers le stockage des données heartbeat</td></tr>
-<tr class="odd"><td><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage <var>chemin-fichier</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Indique le chemin permettant de lire les données
+<tr><td><a href="mod_heartmonitor.html#heartbeatlisten">HeartbeatListen<var>addr:port</var></a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Adresse multicast d'écoute des requêtes entrantes heartbeat</td></tr>
+<tr class="odd"><td><a href="mod_heartmonitor.html#heartbeatmaxservers">HeartbeatMaxServers <var>nombre-de-serveurs</var></a></td><td> 10 </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie le nombre maximal de serveurs qui pourront envoyer
+des requêtes heartbeat à ce serveur.</td></tr>
+<tr><td><a href="mod_heartmonitor.html#heartbeatstorage">HeartbeatStorage <var>chemin fichier</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Chemin vers le stockage des données heartbeat</td></tr>
+<tr class="odd"><td><a href="mod_lbmethod_heartbeat.html#heartbeatstorage">HeartbeatStorage <var>chemin-fichier</var></a></td><td> logs/hb.dat </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Indique le chemin permettant de lire les données
heartbeat</td></tr>
<tr><td><a href="core.html#hostnamelookups">HostnameLookups On|Off|Double</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Active la recherche DNS sur les adresses IP des
clients</td></tr>
<tr class="odd"><td><a href="core.html#httpprotocoloptions">HttpProtocolOptions [Strict|Unsafe] [RegisteredMethods|LenientMethods]
- [Allow0.9|Require1.0]</a></td><td> Strict LenientMetho +</td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Modifie les contraintes sur le format des requêtes HTTP</td></tr>
-<tr><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active la journalisation de l'identité RFC 1413 de
+ [Allow0.9|Require1.0]</a></td><td> Strict LenientMetho +</td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Modifie les contraintes sur le format des requêtes HTTP</td></tr>
+<tr><td><a href="mod_ident.html#identitycheck" id="I" name="I">IdentityCheck On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active la journalisation de l'identité RFC 1413 de
l'utilisateur distant</td></tr>
-<tr class="odd"><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>secondes</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine le délai d'attente pour les requêtes
+<tr class="odd"><td><a href="mod_ident.html#identitychecktimeout">IdentityCheckTimeout <var>secondes</var></a></td><td> 30 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine le délai d'attente pour les requêtes
ident</td></tr>
-<tr><td><a href="mod_systemd.html#idleshutdown">IdleShutdown seconds</a></td><td> 0 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Permet d'arrêter httpd lorsque qu'il est inactif pendant un
+<tr><td><a href="mod_systemd.html#idleshutdown">IdleShutdown seconds</a></td><td> 0 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Permet d'arrêter httpd lorsque qu'il est inactif pendant un
certain temps.</td></tr>
<tr class="odd"><td><a href="core.html#if"><If <var>expression</var>> ... </If></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contient des directives qui ne s'appliquent que si une
condition est satisfaite au cours du traitement d'une
-requête</td></tr>
-<tr><td><a href="core.html#ifdefine"><IfDefine [!]<var>paramètre</var>> ...
+requête</td></tr>
+<tr><td><a href="core.html#ifdefine"><IfDefine [!]<var>paramètre</var>> ...
</IfDefine></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Contient des directives qui ne s'appliqueront que si un
-test retourne "vrai" au démarrage du serveur</td></tr>
+test retourne "vrai" au démarrage du serveur</td></tr>
<tr class="odd"><td><a href="core.html#ifdirective"><IfDirective [!]<var>directive-name</var>> ...
- </IfDirective></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Regroupe des directives dont le traitement est conditionné par la
-présence ou l'absence d'une directive particulière</td></tr>
+ </IfDirective></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Regroupe des directives dont le traitement est conditionné par la
+présence ou l'absence d'une directive particulière</td></tr>
<tr><td><a href="core.html#iffile"><IfFile [!]<var>parameter-name</var>> ...
- </IfFile></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Regroupe des directives qui ne seront traitées que si un fichier
-existe au démarrage</td></tr>
+ </IfFile></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Regroupe des directives qui ne seront traitées que si un fichier
+existe au démarrage</td></tr>
<tr class="odd"><td><a href="core.html#ifmodule"><IfModule [!]<var>fichier module</var>|<var>identificateur
module</var>> ... </IfModule></a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contient des directives qui ne s'appliquent qu'en fonction
-de la présence ou de l'absence d'un module spécifique</td></tr>
+de la présence ou de l'absence d'un module spécifique</td></tr>
<tr><td><a href="core.html#ifsection"><IfSection [!]<var>section-name</var>> ...
- </IfSection></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Regroupe des directives dont le traitement est conditionné par la
-présence ou l'absence d'une section particulière</td></tr>
-<tr class="odd"><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>opérateur</var>] <var>version</var>> ...
-</IfVersion></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Contient des portions de configuration dépendantes de la
+ </IfSection></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Regroupe des directives dont le traitement est conditionné par la
+présence ou l'absence d'une section particulière</td></tr>
+<tr class="odd"><td><a href="mod_version.html#ifversion"><IfVersion [[!]<var>opérateur</var>] <var>version</var>> ...
+</IfVersion></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Contient des portions de configuration dépendantes de la
version</td></tr>
-<tr><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://nom_serveur/ +</td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Valeur par défaut de la directive <code>base</code> des
+<tr><td><a href="mod_imagemap.html#imapbase">ImapBase map|referer|<var>URL</var></a></td><td> http://nom_serveur/ +</td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Valeur par défaut de la directive <code>base</code> des
fichiers imagemap</td></tr>
-<tr class="odd"><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Action à entreprendre par défaut lorsqu'un fichier imagemap
-est invoqué avec des coordonnées qui ne correspondent à aucune
+<tr class="odd"><td><a href="mod_imagemap.html#imapdefault">ImapDefault error|nocontent|map|referer|<var>URL</var></a></td><td> nocontent </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Action à entreprendre par défaut lorsqu'un fichier imagemap
+est invoqué avec des coordonnées qui ne correspondent à aucune
cible</td></tr>
-<tr><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td> formatted </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Action à entreprendre si aucune coordonnée n'est fournie
+<tr><td><a href="mod_imagemap.html#imapmenu">ImapMenu none|formatted|semiformatted|unformatted</a></td><td> formatted </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Action à entreprendre si aucune coordonnée n'est fournie
lorsqu'on invoque un fichier imagemap</td></tr>
-<tr class="odd"><td><a href="core.html#include">Include <var>chemin-fichier</var>|<var>chemin-répertoire</var>|<var>wildcard</var></a></td><td></td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Inclut d'autres fichiers de configuration dans un des
+<tr class="odd"><td><a href="core.html#include">Include <var>chemin-fichier</var>|<var>chemin-répertoire</var>|<var>wildcard</var></a></td><td></td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Inclut d'autres fichiers de configuration dans un des
fichiers de configuration du serveur</td></tr>
<tr><td><a href="core.html#includeoptional">IncludeOptional
-<var>chemin-fichier</var>|<var>chemin-répertoire</var>|<var>wildcard</var></a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Inclusion de fichiers dans le fichier de configuration</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"marque ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Insère du texte dans la section HEAD de la page
+<var>chemin-fichier</var>|<var>chemin-répertoire</var>|<var>wildcard</var></a></td><td></td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Inclusion de fichiers dans le fichier de configuration</td></tr>
+<tr class="odd"><td><a href="mod_autoindex.html#indexheadinsert">IndexHeadInsert <var>"marque ..."</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Insère du texte dans la section HEAD de la page
d'index.</td></tr>
-<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>fichier</var> [<var>fichier</var>] ...</a></td><td> "." </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Ajouts à la liste des fichiers à cacher lors de l'affichage
-de l'index d'un répertoire</td></tr>
-<tr class="odd"><td><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset ON|OFF</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Vide la liste des fichiers à cacher lors de l'affichage du
-contenu d'un répertoire</td></tr>
+<tr><td><a href="mod_autoindex.html#indexignore">IndexIgnore <var>fichier</var> [<var>fichier</var>] ...</a></td><td> "." </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Ajouts à la liste des fichiers à cacher lors de l'affichage
+de l'index d'un répertoire</td></tr>
+<tr class="odd"><td><a href="mod_autoindex.html#indexignorereset">IndexIgnoreReset ON|OFF</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Vide la liste des fichiers à cacher lors de l'affichage du
+contenu d'un répertoire</td></tr>
<tr><td><a href="mod_autoindex.html#indexoptions">IndexOptions [+|-]<var>option</var> [[+|-]<var>option</var>]
...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Diverses options de configuration pour l'indexation d'un
-répertoire</td></tr>
+répertoire</td></tr>
<tr class="odd"><td><a href="mod_autoindex.html#indexorderdefault">IndexOrderDefault Ascending|Descending
-Name|Date|Size|Description</a></td><td> Ascending Name </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit l'ordre d'affichage par défaut d'un index de
-répertoire</td></tr>
-<tr><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>chemin-url</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Ajoute une feuille de style CSS à l'index du
-répertoire</td></tr>
-<tr class="odd"><td><a href="mod_sed.html#inputsed">InputSed <var>commande-sed</var></a></td><td></td><td>dh</td><td /></tr><tr class="odd"><td class="descr" colspan="4">Commande sed à exécuter pour le filtrage des données d'une
-requête (en général des données <code>POST</code>)</td></tr>
-<tr><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Enregistrement des requêtes
+Name|Date|Size|Description</a></td><td> Ascending Name </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit l'ordre d'affichage par défaut d'un index de
+répertoire</td></tr>
+<tr><td><a href="mod_autoindex.html#indexstylesheet">IndexStyleSheet <var>chemin-url</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Ajoute une feuille de style CSS à l'index du
+répertoire</td></tr>
+<tr class="odd"><td><a href="mod_sed.html#inputsed">InputSed <var>commande-sed</var></a></td><td></td><td>dh</td><td /></tr><tr class="odd"><td class="descr" colspan="4">Commande sed à exécuter pour le filtrage des données d'une
+requête (en général des données <code>POST</code>)</td></tr>
+<tr><td><a href="mod_isapi.html#isapiappendlogtoerrors">ISAPIAppendLogToErrors on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Enregistrement des requêtes
<code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions ISAPI
dans le journal des erreurs</td></tr>
-<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enregistre les requêtes
+<tr class="odd"><td><a href="mod_isapi.html#isapiappendlogtoquery">ISAPIAppendLogToQuery on|off</a></td><td> on </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enregistre les requêtes
<code>HSE_APPEND_LOG_PARAMETER</code> de la part des extensions ISAPI
-dans la partie arguments de la requête</td></tr>
+dans la partie arguments de la requête</td></tr>
<tr><td><a href="mod_isapi.html#isapicachefile">ISAPICacheFile <var>chemin-fichier</var>
[<var>chemin-fichier</var>]
-...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Fichiers .dll ISAPI devant être chargés au
-démarrage</td></tr>
-<tr class="odd"><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Emulation du support des entrées/sorties asynchrones pour
+...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Fichiers .dll ISAPI devant être chargés au
+démarrage</td></tr>
+<tr class="odd"><td><a href="mod_isapi.html#isapifakeasync">ISAPIFakeAsync on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Emulation du support des entrées/sorties asynchrones pour
les appels ISAPI</td></tr>
-<tr><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Journalisation des demandes de fonctionnalités non
-supportées de la part des extensions ISAPI</td></tr>
-<tr class="odd"><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>taille</var></a></td><td> 49152 </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Taille du tampon de lecture anticipée envoyé aux extensions
+<tr><td><a href="mod_isapi.html#isapilognotsupported">ISAPILogNotSupported on|off</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Journalisation des demandes de fonctionnalités non
+supportées de la part des extensions ISAPI</td></tr>
+<tr class="odd"><td><a href="mod_isapi.html#isapireadaheadbuffer">ISAPIReadAheadBuffer <var>taille</var></a></td><td> 49152 </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Taille du tampon de lecture anticipée envoyé aux extensions
ISAPI</td></tr>
<tr><td><a href="core.html#keepalive" id="K" name="K">KeepAlive On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Active les connexions HTTP persistantes</td></tr>
-<tr class="odd"><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>num</var>[ms]</a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Durée pendant laquelle le serveur va attendre une requête
+<tr class="odd"><td><a href="core.html#keepalivetimeout">KeepAliveTimeout <var>num</var>[ms]</a></td><td> 5 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Durée pendant laquelle le serveur va attendre une requête
avant de fermer une connexion persistante</td></tr>
-<tr><td><a href="mod_request.html#keptbodysize">KeptBodySize <var>taille maximale en octets</var></a></td><td> 0 </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Conserve le corps de la requête à concurrence de la taille
-maximale spécifiée, pour une utilisation éventuelle par des filtres
+<tr><td><a href="mod_request.html#keptbodysize">KeptBodySize <var>taille maximale en octets</var></a></td><td> 0 </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Conserve le corps de la requête à concurrence de la taille
+maximale spécifiée, pour une utilisation éventuelle par des filtres
comme mod_include.</td></tr>
<tr class="odd"><td><a href="mod_negotiation.html#languagepriority" id="L" name="L">LanguagePriority <var>langage-MIME</var> [<var>langage-MIME</var>]
-...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">L'ordre de priorité des variantes de langages pour les
-cas où le client n'a pas formulé de préférences</td></tr>
-<tr><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>nombre</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre maximum d'entrées dans le cache LDAP
+...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">L'ordre de priorité des variantes de langages pour les
+cas où le client n'a pas formulé de préférences</td></tr>
+<tr><td><a href="mod_ldap.html#ldapcacheentries">LDAPCacheEntries <var>nombre</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre maximum d'entrées dans le cache LDAP
primaire</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>secondes</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Durée pendant laquelle les entrées du cache restent
+<tr class="odd"><td><a href="mod_ldap.html#ldapcachettl">LDAPCacheTTL <var>secondes</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Durée pendant laquelle les entrées du cache restent
valides.</td></tr>
-<tr><td><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL <var>n</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Désactive les connexions d'arrière-plan qui sont restées
+<tr><td><a href="mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL <var>n</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Désactive les connexions d'arrière-plan qui sont restées
inactives trop longtemps au sein du jeu de connexions.</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>secondes</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie le délai d'attente en secondes de la socket de
+<tr class="odd"><td><a href="mod_ldap.html#ldapconnectiontimeout">LDAPConnectionTimeout <var>secondes</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie le délai d'attente en secondes de la socket de
connexion</td></tr>
-<tr><td><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug <var>7</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Active le débogage dans le SDK LDAP</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>nombre</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre d'entrées utilisées pour mettre en cache les
-opérations de comparaison LDAP</td></tr>
-<tr><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>secondes</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée pendant laquelle les entrées du cache d'opérations
+<tr><td><a href="mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug <var>7</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Active le débogage dans le SDK LDAP</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapopcacheentries">LDAPOpCacheEntries <var>nombre</var></a></td><td> 1024 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre d'entrées utilisées pour mettre en cache les
+opérations de comparaison LDAP</td></tr>
+<tr><td><a href="mod_ldap.html#ldapopcachettl">LDAPOpCacheTTL <var>secondes</var></a></td><td> 600 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée pendant laquelle les entrées du cache d'opérations
restent valides</td></tr>
<tr class="odd"><td><a href="mod_ldap.html#ldapreferralhoplimit">LDAPReferralHopLimit <var>nombre</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Le nombre maximum de redirections vers des serveurs
-alternatifs (referrals) avant l'abandon de la requête
+alternatifs (referrals) avant l'abandon de la requête
LDAP.</td></tr>
<tr><td><a href="mod_ldap.html#ldapreferrals">LDAPReferrals <var>On|Off|default</var></a></td><td> On </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Active la redirection vers des serveurs alternatifs au
-cours des requêtes vers le serveur LDAP.</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapretries">LDAPRetries <var>nombre d'essais</var></a></td><td> 3 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le nombre maximum de tentatives de connexions au
+cours des requêtes vers le serveur LDAP.</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapretries">LDAPRetries <var>nombre d'essais</var></a></td><td> 3 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le nombre maximum de tentatives de connexions au
serveur LDAP.</td></tr>
-<tr><td><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay <var>secondes</var></a></td><td> 0 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le temps d'attente avant un autre essai de connexion au
+<tr><td><a href="mod_ldap.html#ldapretrydelay">LDAPRetryDelay <var>secondes</var></a></td><td> 0 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le temps d'attente avant un autre essai de connexion au
serveur LDAP.</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>chemin-fichier</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le fichier du cache en mémoire
-partagée</td></tr>
-<tr><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>octets</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Taille en octets du cache en mémoire partagée</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldaptimeout">LDAPTimeout <var>secondes</var></a></td><td> 60 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie le délai d'attente pour les opérations de
+<tr class="odd"><td><a href="mod_ldap.html#ldapsharedcachefile">LDAPSharedCacheFile <var>chemin-fichier</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le fichier du cache en mémoire
+partagée</td></tr>
+<tr><td><a href="mod_ldap.html#ldapsharedcachesize">LDAPSharedCacheSize <var>octets</var></a></td><td> 500000 </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Taille en octets du cache en mémoire partagée</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldaptimeout">LDAPTimeout <var>secondes</var></a></td><td> 60 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie le délai d'attente pour les opérations de
recherche et d'identification LDAP en secondes</td></tr>
<tr><td><a href="mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert <var>type</var>
-<var>chemin/nom-fichier/alias</var> <var>[mot de passe]</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le nom de fichier contenant un certificat client ou
-un alias renvoyant vers un certificat client spécifique à une connexion.
+<var>chemin/nom-fichier/alias</var> <var>[mot de passe]</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">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.</td></tr>
<tr class="odd"><td><a href="mod_ldap.html#ldaptrustedglobalcert">LDAPTrustedGlobalCert <var>type</var>
-<var>chemin/nom-fichier</var> <var>[mot de passe]</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le nom de fichier ou la base de données contenant
-les Autorités de Certification de confiance globales ou les certificats
+<var>chemin/nom-fichier</var> <var>[mot de passe]</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">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</td></tr>
-<tr><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Spécifie le mode (SSL ou TLS) à utiliser lors de la
-connexion à un serveur LDAP.</td></tr>
-<tr class="odd"><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert <var>On|Off</var></a></td><td> On </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force la vérification du certificat du
+<tr><td><a href="mod_ldap.html#ldaptrustedmode">LDAPTrustedMode <var>type</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Spécifie le mode (SSL ou TLS) à utiliser lors de la
+connexion à un serveur LDAP.</td></tr>
+<tr class="odd"><td><a href="mod_ldap.html#ldapverifyservercert">LDAPVerifyServerCert <var>On|Off</var></a></td><td> On </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force la vérification du certificat du
serveur</td></tr>
-<tr><td><a href="core.html#limit"><Limit <var>méthode</var> [<var>méthode</var>] ... > ...
- </Limit></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limite les contrôles d'accès que la section contient à
-certaines méthodes HTTP</td></tr>
-<tr class="odd"><td><a href="core.html#limitexcept"><LimitExcept <var>méthode</var> [<var>méthode</var>] ... > ...
- </LimitExcept></a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Applique les contrôles d'accès à toutes les méthodes HTTP,
-sauf celles qui sont spécifiées</td></tr>
-<tr><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>nombre</var> [<var>nombre</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Détermine le nombre maximal de redirections internes et de
-sous-requêtes imbriquées</td></tr>
-<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody <var>octets</var></a></td><td> 0 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">limite la taille maximale du corps de la requête HTTP
-envoyée par le client</td></tr>
-<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <var>nombre</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limite le nombre de champs d'en-tête autorisés dans une
-requête HTTP</td></tr>
-<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>octets</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Dédinit la taille maximale autorisée d'un en-tête de
-requête HTTP</td></tr>
-<tr><td><a href="core.html#limitrequestline">LimitRequestLine <var>octets</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Définit la taille maximale d'une ligne de requête
+<tr><td><a href="core.html#limit"><Limit <var>méthode</var> [<var>méthode</var>] ... > ...
+ </Limit></a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limite les contrôles d'accès que la section contient à
+certaines méthodes HTTP</td></tr>
+<tr class="odd"><td><a href="core.html#limitexcept"><LimitExcept <var>méthode</var> [<var>méthode</var>] ... > ...
+ </LimitExcept></a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Applique les contrôles d'accès à toutes les méthodes HTTP,
+sauf celles qui sont spécifiées</td></tr>
+<tr><td><a href="core.html#limitinternalrecursion">LimitInternalRecursion <var>nombre</var> [<var>nombre</var>]</a></td><td> 10 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Détermine le nombre maximal de redirections internes et de
+sous-requêtes imbriquées</td></tr>
+<tr class="odd"><td><a href="core.html#limitrequestbody">LimitRequestBody <var>octets</var></a></td><td> 0 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">limite la taille maximale du corps de la requête HTTP
+envoyée par le client</td></tr>
+<tr><td><a href="core.html#limitrequestfields">LimitRequestFields <var>nombre</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Limite le nombre de champs d'en-tête autorisés dans une
+requête HTTP</td></tr>
+<tr class="odd"><td><a href="core.html#limitrequestfieldsize">LimitRequestFieldSize <var>octets</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Dédinit la taille maximale autorisée d'un en-tête de
+requête HTTP</td></tr>
+<tr><td><a href="core.html#limitrequestline">LimitRequestLine <var>octets</var></a></td><td> 8190 </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Définit la taille maximale d'une ligne de requête
HTTP</td></tr>
-<tr class="odd"><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>octets</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la taille maximale du corps d'une requête au format
+<tr class="odd"><td><a href="core.html#limitxmlrequestbody">LimitXMLRequestBody <var>octets</var></a></td><td> 1000000 </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la taille maximale du corps d'une requête au format
XML</td></tr>
-<tr><td><a href="mpm_common.html#listen">Listen [<var>adresse IP</var>:]<var>numéro port</var>
-[<var>protocole</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Les adresses IP et ports sur lesquels le serveur écoute</td></tr>
+<tr><td><a href="mpm_common.html#listen">Listen [<var>adresse IP</var>:]<var>numéro port</var>
+[<var>protocole</var>]</a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Les adresses IP et ports sur lesquels le serveur écoute</td></tr>
<tr class="odd"><td><a href="mpm_common.html#listenbacklog">ListenBacklog <var>backlog</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Longueur maximale de la liste d'attente des
connexions</td></tr>
-<tr><td><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio <var>ratio</var></a></td><td> 0 (disabled) </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Rapport entre le nombre de coeurs de processeur activés et
-le nombre de segments d'écoute</td></tr>
-<tr class="odd"><td><a href="mod_so.html#loadfile">LoadFile <em>nom-fichier</em> [<em>nom-fichier</em>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Liaison du fichier objet ou de la bibliothèque
-spécifié</td></tr>
+<tr><td><a href="mpm_common.html#listencoresbucketsratio">ListenCoresBucketsRatio <var>ratio</var></a></td><td> 0 (disabled) </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Rapport entre le nombre de coeurs de processeur activés et
+le nombre de segments d'écoute</td></tr>
+<tr class="odd"><td><a href="mod_so.html#loadfile">LoadFile <em>nom-fichier</em> [<em>nom-fichier</em>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Liaison du fichier objet ou de la bibliothèque
+spécifié</td></tr>
<tr><td><a href="mod_so.html#loadmodule">LoadModule <em>module nom-fichier</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Liaison avec le serveur du fichier objet ou de la
-bibliothèque spécifié, et ajout de ce dernier à la liste des modules
+bibliothèque spécifié, et ajout de ce dernier à la liste des modules
actifs</td></tr>
<tr class="odd"><td><a href="core.html#location"><Location
<var>chemin URL</var>|<var>URL</var>> ... </Location></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">N'applique les directives contenues qu'aux URLs
-spécifiées</td></tr>
+spécifiées</td></tr>
<tr><td><a href="core.html#locationmatch"><LocationMatch
<var>regex</var>> ... </LocationMatch></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">N'applique les directives contenues qu'aux URLs
-correspondant à une expression rationnelle</td></tr>
+correspondant à une expression rationnelle</td></tr>
<tr class="odd"><td><a href="mod_log_config.html#logformat">LogFormat <var>format</var>|<var>alias</var>
-[<var>alias</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Décrit un format utilisable dans un fichier
+[<var>alias</var>]</a></td><td> "%h %l %u %t \"%r\" +</td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Décrit un format utilisable dans un fichier
journal</td></tr>
-<tr><td><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB ON|OFF</a></td><td> OFF </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Permet d'enregistrer le délai avant le premier octet (TTFB = time
+<tr><td><a href="mod_logio.html#logiotrackttfb">LogIOTrackTTFB ON|OFF</a></td><td> OFF </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Permet d'enregistrer le délai avant le premier octet (TTFB = time
to first byte)</td></tr>
-<tr class="odd"><td><a href="mod_logio.html#logiotrackttfu">LogIOTrackTTFU ON|OFF</a></td><td> OFF </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la mesure du temps jusqu'à l'arrivée du dernier octet de la
-requête (TTFU = time to finish upload)</td></tr>
+<tr class="odd"><td><a href="mod_logio.html#logiotrackttfu">LogIOTrackTTFU ON|OFF</a></td><td> OFF </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la mesure du temps jusqu'à l'arrivée du dernier octet de la
+requête (TTFU = time to finish upload)</td></tr>
<tr><td><a href="core.html#loglevel">LogLevel [<var>module</var>:]<var>niveau</var>
[<var>module</var>:<var>niveau</var>] ...
-</a></td><td> warn </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Contrôle la verbosité du journal des erreurs</td></tr>
+</a></td><td> warn </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Contrôle la verbosité du journal des erreurs</td></tr>
<tr class="odd"><td><a href="core.html#logleveloverride">LogLevel <var>ipaddress</var>[/<var>prefixlen</var>]
[<var>module</var>:]<var>level</var> [<var>module</var>:<var>level</var>] ...
-</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Surcharge la verbosité du journal des erreurs pour certains
+</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Surcharge la verbosité du journal des erreurs pour certains
clients</td></tr>
<tr><td><a href="mod_log_debug.html#logmessage">LogMessage <var>message</var>
[hook=<var>hook</var>] [expr=<var>expression</var>]
-</a></td><td></td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Enregistre des messages personnalisés dans le journal des
+</a></td><td></td><td>d</td><td>X</td></tr><tr><td class="descr" colspan="4">Enregistre des messages personnalisés dans le journal des
erreurs</td></tr>
<tr class="odd"><td><a href="mod_lua.html#luaauthzprovider">LuaAuthzProvider provider_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Branche une fonction fournisseur d'autorisation dans <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code>
</td></tr>
-<tr><td><a href="mod_lua.html#luacodecache">LuaCodeCache stat|forever|never</a></td><td> stat </td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Configure le cache de code compilé.</td></tr>
-<tr class="odd"><td><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker /chemin/vers/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un point d'entrée pour la phase access_checker du
-traitement de la requête</td></tr>
-<tr><td><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker /chemin/vers/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Fournit un point d'entrée pour la phase auth_checker du
-traitement de la requête</td></tr>
-<tr class="odd"><td><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un point d'entrée pour la phase check_user_id du
-traitement de la requête</td></tr>
-<tr><td><a href="mod_lua.html#luahookfixups">LuaHookFixups /chemin/vers/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Fournit un point d'entrée pour la phase de correction du
-traitement de la requête</td></tr>
-<tr class="odd"><td><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter /chemin/vers/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un point d'entrée pour la phase insert_filter du
-traitement de la requête</td></tr>
+<tr><td><a href="mod_lua.html#luacodecache">LuaCodeCache stat|forever|never</a></td><td> stat </td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Configure le cache de code compilé.</td></tr>
+<tr class="odd"><td><a href="mod_lua.html#luahookaccesschecker">LuaHookAccessChecker /chemin/vers/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un point d'entrée pour la phase access_checker du
+traitement de la requête</td></tr>
+<tr><td><a href="mod_lua.html#luahookauthchecker">LuaHookAuthChecker /chemin/vers/lua/script.lua hook_function_name [early|late]</a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Fournit un point d'entrée pour la phase auth_checker du
+traitement de la requête</td></tr>
+<tr class="odd"><td><a href="mod_lua.html#luahookcheckuserid">LuaHookCheckUserID /path/to/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un point d'entrée pour la phase check_user_id du
+traitement de la requête</td></tr>
+<tr><td><a href="mod_lua.html#luahookfixups">LuaHookFixups /chemin/vers/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Fournit un point d'entrée pour la phase de correction du
+traitement de la requête</td></tr>
+<tr class="odd"><td><a href="mod_lua.html#luahookinsertfilter">LuaHookInsertFilter /chemin/vers/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un point d'entrée pour la phase insert_filter du
+traitement de la requête</td></tr>
<tr><td><a href="mod_lua.html#luahooklog">LuaHookLog /path/to/lua/script.lua log_function_name</a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Permet une insertion dans la phase de journalisation du
-traitement d'une requête</td></tr>
-<tr class="odd"><td><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage /chemin/vers/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un point d'entrée pour la phase map_to_storage du
-traitement de la requête</td></tr>
-<tr><td><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName /chemin/vers/lua/script.lua nom_fonction_hook [early|late]</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Fournit un point d'entrée à la phase du nom de
-traduction du traitement de la requête</td></tr>
-<tr class="odd"><td><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker /chemin/vers/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un point d'entrée pour la phase type_checker du
-traitement de la requête</td></tr>
-<tr><td><a href="mod_lua.html#luainherit">LuaInherit none|parent-first|parent-last</a></td><td> parent-first </td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Contrôle la manière dont les sections de configuration
-parentes sont fusionnées dans les enfants</td></tr>
-<tr class="odd"><td><a href="mod_lua.html#luainputfilter">LuaInputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit une fonction Lua pour le filtrage en entrée</td></tr>
+traitement d'une requête</td></tr>
+<tr class="odd"><td><a href="mod_lua.html#luahookmaptostorage">LuaHookMapToStorage /chemin/vers/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un point d'entrée pour la phase map_to_storage du
+traitement de la requête</td></tr>
+<tr><td><a href="mod_lua.html#luahooktranslatename">LuaHookTranslateName /chemin/vers/lua/script.lua nom_fonction_hook [early|late]</a></td><td></td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Fournit un point d'entrée à la phase du nom de
+traduction du traitement de la requête</td></tr>
+<tr class="odd"><td><a href="mod_lua.html#luahooktypechecker">LuaHookTypeChecker /chemin/vers/lua/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un point d'entrée pour la phase type_checker du
+traitement de la requête</td></tr>
+<tr><td><a href="mod_lua.html#luainherit">LuaInherit none|parent-first|parent-last</a></td><td> parent-first </td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Contrôle la manière dont les sections de configuration
+parentes sont fusionnées dans les enfants</td></tr>
+<tr class="odd"><td><a href="mod_lua.html#luainputfilter">LuaInputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit une fonction Lua pour le filtrage en entrée</td></tr>
<tr><td><a href="mod_lua.html#luamaphandler">LuaMapHandler modele-uri /chemin/vers/lua/script.lua
[nom-fonction]</a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Met en correspondance un chemin avec un gestionnaire lua</td></tr>
<tr class="odd"><td><a href="mod_lua.html#luaoutputfilter">LuaOutputFilter filter_name /path/to/lua/script.lua function_name</a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit une fonction Lua pour le filtrage de contenu en
sortie</td></tr>
-<tr><td><a href="mod_lua.html#luapackagecpath">LuaPackageCPath /chemin/vers/include/?.soa</a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Ajoute un répertoire au package.cpath de lua</td></tr>
-<tr class="odd"><td><a href="mod_lua.html#luapackagepath">LuaPackagePath /chemin/vers/include/?.lua</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Ajoute un répertoire au package.path de lua</td></tr>
-<tr><td><a href="mod_lua.html#luaquickhandler">LuaQuickHandler /path/to/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Fournit un point d'entrée pour la gestion rapide du
-traitement de la requête</td></tr>
-<tr class="odd"><td><a href="mod_lua.html#luaroot">LuaRoot /chemin/vers/un/répertoire</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie le chemin de base pour la résolution des chemins
+<tr><td><a href="mod_lua.html#luapackagecpath">LuaPackageCPath /chemin/vers/include/?.soa</a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Ajoute un répertoire au package.cpath de lua</td></tr>
+<tr class="odd"><td><a href="mod_lua.html#luapackagepath">LuaPackagePath /chemin/vers/include/?.lua</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Ajoute un répertoire au package.path de lua</td></tr>
+<tr><td><a href="mod_lua.html#luaquickhandler">LuaQuickHandler /path/to/script.lua hook_function_name</a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Fournit un point d'entrée pour la gestion rapide du
+traitement de la requête</td></tr>
+<tr class="odd"><td><a href="mod_lua.html#luaroot">LuaRoot /chemin/vers/un/répertoire</a></td><td></td><td>svdh</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie le chemin de base pour la résolution des chemins
relatifs dans les directives de mod_lua</td></tr>
-<tr><td><a href="mod_lua.html#luascope">LuaScope once|request|conn|thread|server [min] [max]</a></td><td> once </td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Une valeur parmi once, request, conn, thread -- la valeur par défaut est once</td></tr>
+<tr><td><a href="mod_lua.html#luascope">LuaScope once|request|conn|thread|server [min] [max]</a></td><td> once </td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">Une valeur parmi once, request, conn, thread -- la valeur par défaut est once</td></tr>
<tr class="odd"><td><a href="mod_macro.html#macro" id="M" name="M">
<Macro <var>nom</var> [<var>par1</var> .. <var>parN</var>]>
-... </Macro></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définition d'une macro dans un fichier de configuration</td></tr>
-<tr><td><a href="mod_macro.html#macroignorebadnesting">MacroIgnoreBadNesting</a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Ignore les avertissements et n'inscrit rien dans le journal à
+... </Macro></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définition d'une macro dans un fichier de configuration</td></tr>
+<tr><td><a href="mod_macro.html#macroignorebadnesting">MacroIgnoreBadNesting</a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Ignore les avertissements et n'inscrit rien dans le journal à
propos d'une imbrication de Macros non conforme</td></tr>
-<tr class="odd"><td><a href="mod_macro.html#macroignoreemptyargs">MacroIgnoreEmptyArgs</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore les avertissements et n'inscrit rien dans le journal à
+<tr class="odd"><td><a href="mod_macro.html#macroignoreemptyargs">MacroIgnoreEmptyArgs</a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Ignore les avertissements et n'inscrit rien dans le journal à
propos des arguments de Macro vides</td></tr>
<tr><td><a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild <var>number</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limite le nombre de connexions qu'un processus enfant va
traiter au cours de son fonctionnement</td></tr>
-<tr class="odd"><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>nombre</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre de requêtes permises pour une connexion
+<tr class="odd"><td><a href="core.html#maxkeepaliverequests">MaxKeepAliveRequests <var>nombre</var></a></td><td> 100 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre de requêtes permises pour une connexion
persistante</td></tr>
-<tr><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>KOctets</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Quantité maximale de mémoire que l'allocateur principal est
-autorisé à conserver sans appeler <code>free()</code></td></tr>
+<tr><td><a href="mpm_common.html#maxmemfree">MaxMemFree <var>KOctets</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Quantité maximale de mémoire que l'allocateur principal est
+autorisé à conserver sans appeler <code>free()</code></td></tr>
<tr class="odd"><td><a href="core.html#maxrangeoverlaps">MaxRangeOverlaps default | unlimited | none | <var>nombre de
- chevauchements</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre de chevauchements de segments de données autorisé
+ chevauchements</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre de chevauchements de segments de données autorisé
(par exemple <code>100-200,150-300</code>) avant le renvoi de la
- ressource complète</td></tr>
+ ressource complète</td></tr>
<tr><td><a href="core.html#maxrangereversals">MaxRangeReversals default | unlimited | none | <var>nombre
- d'inversions</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Nombre d'inversions d'ordre autorisé dans la spécification des
- segments de données (par exemple <code>100-200,50-70</code>) avant le renvoi de la
- ressource complète</td></tr>
-<tr class="odd"><td><a href="core.html#maxranges">MaxRanges default | unlimited | none | <var>nombre de segments</var></a></td><td> 200 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre de segments de données autorisé avant le renvoi de
-l'intégralité de la ressource</td></tr>
-<tr><td><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Nombre maximum de connexions pouvant être traitées
-simultanément</td></tr>
+ d'inversions</var></a></td><td> 20 </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Nombre d'inversions d'ordre autorisé dans la spécification des
+ segments de données (par exemple <code>100-200,50-70</code>) avant le renvoi de la
+ ressource complète</td></tr>
+<tr class="odd"><td><a href="core.html#maxranges">MaxRanges default | unlimited | none | <var>nombre de segments</var></a></td><td> 200 </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre de segments de données autorisé avant le renvoi de
+l'intégralité de la ressource</td></tr>
+<tr><td><a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Nombre maximum de connexions pouvant être traitées
+simultanément</td></tr>
<tr class="odd"><td><a href="prefork.html#maxspareservers">MaxSpareServers <var>nombre</var></a></td><td> 10 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre maximum de processus serveurs enfants
inactifs</td></tr>
<tr><td><a href="mpm_common.html#maxsparethreads">MaxSpareThreads <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Nombre maximum de threads inactifs</td></tr>
-<tr class="odd"><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>nombre</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le nombre maximum de threads esclaves</td></tr>
+<tr class="odd"><td><a href="mpm_netware.html#maxthreads">MaxThreads <var>nombre</var></a></td><td> 2048 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le nombre maximum de threads esclaves</td></tr>
<tr><td><a href="mod_md.html#mdbaseserver">MDBaseServer on|off</a></td><td> off </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Control if base server may be managed or only virtual hosts.</td></tr>
<tr class="odd"><td><a href="mod_md.html#mdcachallenges">MDCAChallenges <var>name</var> [ <var>name</var> ... ]</a></td><td> tls-sni-01 http-01 </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type of ACME challenge used to prove domain ownership.</td></tr>
<tr><td><a href="mod_md.html#mdcertificateagreement">MDCertificateAgreement <var>url-of-terms-of-service</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">The URL of the Terms-of-Service document, that the CA server requires you to accept.</td></tr>
<tr class="odd"><td><a href="mod_md.html#mdrenewwindow">MDRenewWindow <var>duration</var></a></td><td> 33% </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Control when a certificate will be renewed.</td></tr>
<tr><td><a href="mod_md.html#mdrequirehttps">MDRequireHttps off|temporary|permanent</a></td><td> off </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Redirects http: traffic to https: for Managed Domains.</td></tr>
<tr class="odd"><td><a href="mod_md.html#mdstoredir">MDStoreDir path</a></td><td> md </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Path on the local file system to store the Managed Domains data.</td></tr>
-<tr><td><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL <em>num[units]</em></a></td><td> 15s </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée de conservation des connexions inactives</td></tr>
-<tr class="odd"><td><a href="core.html#mergetrailers">MergeTrailers [on|off]</a></td><td> off </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si les données supplémentaires (trailers) sont
-fusionnées avec les en-têtes</td></tr>
-<tr><td><a href="mod_cern_meta.html#metadir">MetaDir <var>répertoire</var></a></td><td> .web </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Le nom du répertoire où trouver les fichiers de
-métainformations dans le style du CERN</td></tr>
-<tr class="odd"><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active le traitement des métafichiers du CERN</td></tr>
-<tr><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffixe</var></a></td><td> .meta </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Suffixe du fichier contenant les métainformations dans le
+<tr><td><a href="mod_socache_memcache.html#memcacheconnttl">MemcacheConnTTL <em>num[units]</em></a></td><td> 15s </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée de conservation des connexions inactives</td></tr>
+<tr class="odd"><td><a href="core.html#mergetrailers">MergeTrailers [on|off]</a></td><td> off </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si les données supplémentaires (trailers) sont
+fusionnées avec les en-têtes</td></tr>
+<tr><td><a href="mod_cern_meta.html#metadir">MetaDir <var>répertoire</var></a></td><td> .web </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Le nom du répertoire où trouver les fichiers de
+métainformations dans le style du CERN</td></tr>
+<tr class="odd"><td><a href="mod_cern_meta.html#metafiles">MetaFiles on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active le traitement des métafichiers du CERN</td></tr>
+<tr><td><a href="mod_cern_meta.html#metasuffix">MetaSuffix <var>suffixe</var></a></td><td> .meta </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Suffixe du fichier contenant les métainformations dans le
style du CERN</td></tr>
-<tr class="odd"><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>chemin-fichier</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la détermination du type MIME en se basant sur le
+<tr class="odd"><td><a href="mod_mime_magic.html#mimemagicfile">MimeMagicFile <var>chemin-fichier</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la détermination du type MIME en se basant sur le
contenu du fichier et en utilisant le fichier magique
-spécifié</td></tr>
+spécifié</td></tr>
<tr><td><a href="prefork.html#minspareservers">MinSpareServers <var>nombre</var></a></td><td> 5 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Nombre minimum de processus serveurs enfants
inactifs</td></tr>
<tr class="odd"><td><a href="mpm_common.html#minsparethreads">MinSpareThreads <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre minimum de threads inactifs qui seront disponibles
-pour pouvoir traiter les pics de requêtes</td></tr>
-<tr><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>chemin fichier</var> [<var>chemin_fichier</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Charge au démarrage une liste de fichiers en
-mémoire</td></tr>
-<tr class="odd"><td><a href="mod_dialup.html#modemstandard">ModemStandard V.21|V.26bis|V.32|V.34|V.92</a></td><td></td><td>d</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Standard de modem à simuler</td></tr>
-<tr><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Indique à <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> de traiter les éléments
+pour pouvoir traiter les pics de requêtes</td></tr>
+<tr><td><a href="mod_file_cache.html#mmapfile">MMapFile <var>chemin fichier</var> [<var>chemin_fichier</var>] ...</a></td><td></td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Charge au démarrage une liste de fichiers en
+mémoire</td></tr>
+<tr class="odd"><td><a href="mod_dialup.html#modemstandard">ModemStandard V.21|V.26bis|V.32|V.34|V.92</a></td><td></td><td>d</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Standard de modem à simuler</td></tr>
+<tr><td><a href="mod_mime.html#modmimeusepathinfo">ModMimeUsePathInfo On|Off</a></td><td> Off </td><td>d</td><td>B</td></tr><tr><td class="descr" colspan="4">Indique à <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> de traiter les éléments
de <code>path_info</code> en tant que parties du nom de
fichier</td></tr>
<tr class="odd"><td><a href="mod_mime.html#multiviewsmatch">MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers
[Handlers|Filters]</a></td><td> NegotiatedOnly </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Les types de fichiers qui seront inclus lors d'une
recherche de correspondance de fichier avec les vues multiples
(MultiViews)</td></tr>
-<tr><td><a href="core.html#mutex">Mutex <var>mécanisme</var> [default|<var>nom-mutex</var>] ... [OmitPID]</a></td><td> default </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Définit les mécanismes de mutex et le repertoire du fichier
-verrou pour tous les mutex ou seulement les mutex spécifiés</td></tr>
-<tr class="odd"><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>adresse</var>[:<var>port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">OBSOLETE : Définit une adresse IP pour les serveurs virtuels à base de
+<tr><td><a href="core.html#mutex">Mutex <var>mécanisme</var> [default|<var>nom-mutex</var>] ... [OmitPID]</a></td><td> default </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Définit les mécanismes de mutex et le repertoire du fichier
+verrou pour tous les mutex ou seulement les mutex spécifiés</td></tr>
+<tr class="odd"><td><a href="core.html#namevirtualhost" id="N" name="N">NameVirtualHost <var>adresse</var>[:<var>port</var>]</a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">OBSOLETE : Définit une adresse IP pour les serveurs virtuels à base de
nom</td></tr>
-<tr><td><a href="mod_proxy.html#noproxy">NoProxy <var>domaine</var> [<var>domaine</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Serveurs, domaines ou réseaux auquels on se connectera
+<tr><td><a href="mod_proxy.html#noproxy">NoProxy <var>domaine</var> [<var>domaine</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Serveurs, domaines ou réseaux auquels on se connectera
directement</td></tr>
<tr class="odd"><td><a href="mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts <var>nom-fichier</var>
-[<var>nom-fichier</var>] ...</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Liste de certificats clients supplémentaires</td></tr>
+[<var>nom-fichier</var>] ...</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Liste de certificats clients supplémentaires</td></tr>
<tr><td><a href="mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable [<var>adresse-IP</var>:]<var>num-port</var></a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Permet de promouvoir une connexion non SSL au statut de
-connexion SSL à la demande</td></tr>
+connexion SSL à la demande</td></tr>
<tr class="odd"><td><a href="core.html#options" id="O" name="O">Options
- [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> FollowSymlinks </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Définit les fonctionnalités disponibles pour un répertoire
+ [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> FollowSymlinks </td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Définit les fonctionnalités disponibles pour un répertoire
particulier</td></tr>
-<tr><td><a href="mod_access_compat.html#order"> Order <var>ordre</var></a></td><td> Deny,Allow </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le statut d'accès par défaut et l'ordre dans lequel
+<tr><td><a href="mod_access_compat.html#order"> Order <var>ordre</var></a></td><td> Deny,Allow </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le statut d'accès par défaut et l'ordre dans lequel
les directives <code class="directive">Allow</code> et
-<code class="directive">Deny</code> sont évaluées.</td></tr>
+<code class="directive">Deny</code> sont évaluées.</td></tr>
<tr class="odd"><td><a href="mod_sed.html#outputsed">OutputSed <var>commande-sed</var></a></td><td></td><td>dh</td><td /></tr><tr class="odd"><td class="descr" colspan="4">Commande sed pour le filtrage des contenus de type
-réponse</td></tr>
+réponse</td></tr>
<tr><td><a href="mod_env.html#passenv" id="P" name="P">PassEnv <var>var-env</var> [<var>var-env</var>]
...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Transmet des variables d'environnement depuis le
shell</td></tr>
<tr class="odd"><td><a href="mpm_common.html#pidfile">PidFile <var>nom fichier</var></a></td><td> httpd.pid </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Ficher dans lequel le serveur enregistre l'identificateur
-de processus du démon</td></tr>
-<tr><td><a href="mod_policy.html#policyconditional">PolicyConditional <var>ignore|log|enforce</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active le filtrage des requêtes conditionnelles.</td></tr>
+de processus du démon</td></tr>
+<tr><td><a href="mod_policy.html#policyconditional">PolicyConditional <var>ignore|log|enforce</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active le filtrage des requêtes conditionnelles.</td></tr>
<tr class="odd"><td><a href="mod_policy.html#policyconditionalurl">PolicyConditionalURL <var>url</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">URL contenant la description de la politique de filtrage
-des requêtes conditionnelles.</td></tr>
-<tr><td><a href="mod_policy.html#policyenvironment">PolicyEnvironment <var>variable</var> <var>log-value</var> <var>ignore-value</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Modification des règles de filtrage en fonction d'une
+des requêtes conditionnelles.</td></tr>
+<tr><td><a href="mod_policy.html#policyenvironment">PolicyEnvironment <var>variable</var> <var>log-value</var> <var>ignore-value</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Modification des règles de filtrage en fonction d'une
variable d'environnement.</td></tr>
-<tr class="odd"><td><a href="mod_policy.html#policyfilter">PolicyFilter <var>on|off</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active ou désactive le filtrage pour un espace d'URL donné.</td></tr>
+<tr class="odd"><td><a href="mod_policy.html#policyfilter">PolicyFilter <var>on|off</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active ou désactive le filtrage pour un espace d'URL donné.</td></tr>
<tr><td><a href="mod_policy.html#policykeepalive">PolicyKeepalive <var>ignore|log|enforce</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active la politique de persistance.</td></tr>
<tr class="odd"><td><a href="mod_policy.html#policykeepaliveurl">PolicyKeepaliveURL <var>url</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">URL contenant la description de la politique de persistance.</td></tr>
-<tr><td><a href="mod_policy.html#policylength">PolicyLength <var>ignore|log|enforce</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active le filtrage de la spécification de la longueur du
+<tr><td><a href="mod_policy.html#policylength">PolicyLength <var>ignore|log|enforce</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active le filtrage de la spécification de la longueur du
contenu.</td></tr>
<tr class="odd"><td><a href="mod_policy.html#policylengthurl">PolicyLengthURL <var>url</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">URL contenant la description de la politique de filtrage de
-la spécification de la longueur du contenu.</td></tr>
-<tr><td><a href="mod_policy.html#policymaxage">PolicyMaxage <var>ignore|log|enforce</var> <var>age</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active le filtrage de la durée de vie des réponses.</td></tr>
+la spécification de la longueur du contenu.</td></tr>
+<tr><td><a href="mod_policy.html#policymaxage">PolicyMaxage <var>ignore|log|enforce</var> <var>age</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active le filtrage de la durée de vie des réponses.</td></tr>
<tr class="odd"><td><a href="mod_policy.html#policymaxageurl">PolicyMaxageURL <var>url</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">URL contenant la description de la politique de filtrage
-des réponses en fonction de leur durée de vie.</td></tr>
-<tr><td><a href="mod_policy.html#policynocache">PolicyNocache <var>ignore|log|enforce</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active le filtrage des réponses qui se définissent
-elles-mêmes comme impossibles à mettre en cache.</td></tr>
+des réponses en fonction de leur durée de vie.</td></tr>
+<tr><td><a href="mod_policy.html#policynocache">PolicyNocache <var>ignore|log|enforce</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active le filtrage des réponses qui se définissent
+elles-mêmes comme impossibles à mettre en cache.</td></tr>
<tr class="odd"><td><a href="mod_policy.html#policynocacheurl">PolicyNocacheURL <var>url</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">URL contenant la description de la politique de filtrage
-des réponses qui se définissent elles-mêmes comme impossibles à mettre
+des réponses qui se définissent elles-mêmes comme impossibles à mettre
en cache.</td></tr>
<tr><td><a href="mod_policy.html#policytype">PolicyType <var>ignore|log|enforce</var> <var>type</var> [ <var>type</var> [ ... ]]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active la politique des types de contenus.</td></tr>
<tr class="odd"><td><a href="mod_policy.html#policytypeurl">PolicyTypeURL <var>url</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">URL contenant la description de la politique des types de
<tr><td><a href="mod_policy.html#policyvalidation">PolicyValidation <var>ignore|log|enforce</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active le filtrage de la validation du contenu.</td></tr>
<tr class="odd"><td><a href="mod_policy.html#policyvalidationurl">PolicyValidationURL <var>url</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">URL contenant la description de la politique de filtrage de
la validation du contenu.</td></tr>
-<tr><td><a href="mod_policy.html#policyvary">PolicyVary <var>ignore|log|enforce</var> <var>header</var> [ <var>header</var> [ ... ]]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active la politique de filtrage de l'en-tête Vary.</td></tr>
+<tr><td><a href="mod_policy.html#policyvary">PolicyVary <var>ignore|log|enforce</var> <var>header</var> [ <var>header</var> [ ... ]]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active la politique de filtrage de l'en-tête Vary.</td></tr>
<tr class="odd"><td><a href="mod_policy.html#policyvaryurl">PolicyVaryURL <var>url</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">URL contenant la description de la politique de filtrage de
-l'en-tête Vary.</td></tr>
-<tr><td><a href="mod_policy.html#policyversion">PolicyVersion <var>ignore|log|enforce</var> <var>HTTP/0.9|HTTP/1.0|HTTP/1.1</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active le filtrage des requêtes en fonction du numéro de
+l'en-tête Vary.</td></tr>
+<tr><td><a href="mod_policy.html#policyversion">PolicyVersion <var>ignore|log|enforce</var> <var>HTTP/0.9|HTTP/1.0|HTTP/1.1</var></a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active le filtrage des requêtes en fonction du numéro de
version HTTP.</td></tr>
<tr class="odd"><td><a href="mod_policy.html#policyversionurl">PolicyVersionURL <var>url</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">URL contenant la description de la politique de filtrage
-des requêtes en fonction du numéro de version HTTP.</td></tr>
-<tr><td><a href="mod_privileges.html#privilegesmode">PrivilegesMode FAST|SECURE|SELECTIVE</a></td><td> FAST </td><td>svd</td><td>X</td></tr><tr><td class="descr" colspan="4">Fait un compromis entre d'une part l'efficacité et la
-vitesse de traitement et d'autre part la sécurité à l'encontre des codes
-malicieux supportant les privilèges.</td></tr>
-<tr class="odd"><td><a href="core.html#protocol">Protocol <var>protocole</var></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Protocole pour une socket d'écoute</td></tr>
-<tr><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Active ou désactive le serveur d'écho</td></tr>
+des requêtes en fonction du numéro de version HTTP.</td></tr>
+<tr><td><a href="mod_privileges.html#privilegesmode">PrivilegesMode FAST|SECURE|SELECTIVE</a></td><td> FAST </td><td>svd</td><td>X</td></tr><tr><td class="descr" colspan="4">Fait un compromis entre d'une part l'efficacité et la
+vitesse de traitement et d'autre part la sécurité à l'encontre des codes
+malicieux supportant les privilèges.</td></tr>
+<tr class="odd"><td><a href="core.html#protocol">Protocol <var>protocole</var></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Protocole pour une socket d'écoute</td></tr>
+<tr><td><a href="mod_echo.html#protocolecho">ProtocolEcho On|Off</a></td><td> Off </td><td>sv</td><td>X</td></tr><tr><td class="descr" colspan="4">Active ou désactive le serveur d'écho</td></tr>
<tr class="odd"><td><a href="core.html#protocols">Protocols <var>protocole</var> ...</a></td><td> http/1.1 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Protocoles disponibles pour un serveur virtuel ou non</td></tr>
-<tr><td><a href="core.html#protocolshonororder">ProtocolsHonorOrder On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Détermine qui du client ou du serveur détermine l'ordre
- des protocoles au cours de la négociation de la connexion</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxy"><Proxy <var>url-avec-jokers</var>> ...</Proxy></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Conteneur de directives s'appliquant à des ressources
-mandatées</td></tr>
-<tr><td><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders Off|On</a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Ajoute des informations à propos du mandataire aux
-en-têtes X-Forwarded-*</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine la manière de traiter les lignes d'en-tête
-incorrectes d'une réponse</td></tr>
-<tr><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>nom d'hôte</var>|<var>nom d'hôte partiel</var>
-[<var>nom d'hôte</var>|<var>nom d'hôte partiel</var>]...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Interdit les requêtes mandatées vers certains hôtes</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domaine</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nom de domaine par défaut pour les requêtes
-mandatées</td></tr>
+<tr><td><a href="core.html#protocolshonororder">ProtocolsHonorOrder On|Off</a></td><td> On </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Détermine qui du client ou du serveur détermine l'ordre
+ des protocoles au cours de la négociation de la connexion</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxy"><Proxy <var>url-avec-jokers</var>> ...</Proxy></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Conteneur de directives s'appliquant à des ressources
+mandatées</td></tr>
+<tr><td><a href="mod_proxy.html#proxyaddheaders">ProxyAddHeaders Off|On</a></td><td> On </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Ajoute des informations à propos du mandataire aux
+en-têtes X-Forwarded-*</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine la manière de traiter les lignes d'en-tête
+incorrectes d'une réponse</td></tr>
+<tr><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>nom d'hôte</var>|<var>nom d'hôte partiel</var>
+[<var>nom d'hôte</var>|<var>nom d'hôte partiel</var>]...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Interdit les requêtes mandatées vers certains hôtes</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domaine</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nom de domaine par défaut pour les requêtes
+mandatées</td></tr>
<tr><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Outrepasser les pages d'erreur pour les contenus
-mandatés</td></tr>
+mandatés</td></tr>
<tr class="odd"><td><a href="mod_proxy_express.html#proxyexpressdbmfile">ProxyExpressDBMFile <chemin></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Chemin du fichier DBM.</td></tr>
<tr><td><a href="mod_proxy_express.html#proxyexpressdbmtype">ProxyExpressDBMFile <type></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Type de fichier DBM.</td></tr>
-<tr class="odd"><td><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable [on|off]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la fonctionnalité du module.</td></tr>
-<tr><td><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType FPM|GENERIC</a></td><td> FPM </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Spécifie le type de l'application FastCGI d'arrière-plan</td></tr>
+<tr class="odd"><td><a href="mod_proxy_express.html#proxyexpressenable">ProxyExpressEnable [on|off]</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la fonctionnalité du module.</td></tr>
+<tr><td><a href="mod_proxy_fcgi.html#proxyfcgibackendtype">ProxyFCGIBackendType FPM|GENERIC</a></td><td> FPM </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Spécifie le type de l'application FastCGI d'arrière-plan</td></tr>
<tr class="odd"><td><a href="mod_proxy_fcgi.html#proxyfcgisetenvif">ProxyFCGISetEnvIf <var>conditional-expression</var>
[!]<var>environment-variable-name</var>
- [<var>value-expression</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Permet d'adapter la valeur des variables envoyées aux serveurs
+ [<var>value-expression</var>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Permet d'adapter la valeur des variables envoyées aux serveurs
FastCGI</td></tr>
-<tr><td><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset <var>jeu-caractères</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le jeu de caractères des listings FTP
-mandatés</td></tr>
-<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards [on|off]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Les caractères génériques dans les noms de fichiers
-doivent-ils être échappés lorsqu'ils sont envoyés au serveur FTP ?</td></tr>
-<tr><td><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard [on|off]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Les caractères génériques dans les noms de fichiers
-demandés doivent-ils déclencher l'affichage d'un listing ?</td></tr>
-<tr class="odd"><td><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr <em>name</em> {<em>ap_expr expression</em>}</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Crée et nomme une expression conditionnelle à utiliser pour
-déterminer la santé d'un serveur d'arrière-plan en fonction de sa valeur</td></tr>
-<tr><td><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate <em>name</em> <em>parameter</em>=<em>setting</em> [...]</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Crée et nomme un modèle permettant de définir différents
-paramètres de check up</td></tr>
-<tr class="odd"><td><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize <em>size</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la taille totale, pour l'ensemble du
-serveur, du jeu de threads utilisé pour le check up des
-équipiers</td></tr>
-<tr><td><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize <var>nb-octets</var></a></td><td> 8192 </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit l'incrément de la taille du tampon, ainsi que sa
+<tr><td><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset <var>jeu-caractères</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le jeu de caractères des listings FTP
+mandatés</td></tr>
+<tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards [on|off]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Les caractères génériques dans les noms de fichiers
+doivent-ils être échappés lorsqu'ils sont envoyés au serveur FTP ?</td></tr>
+<tr><td><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard [on|off]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Les caractères génériques dans les noms de fichiers
+demandés doivent-ils déclencher l'affichage d'un listing ?</td></tr>
+<tr class="odd"><td><a href="mod_proxy_hcheck.html#proxyhcexpr">ProxyHCExpr <em>name</em> {<em>ap_expr expression</em>}</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Crée et nomme une expression conditionnelle à utiliser pour
+déterminer la santé d'un serveur d'arrière-plan en fonction de sa valeur</td></tr>
+<tr><td><a href="mod_proxy_hcheck.html#proxyhctemplate">ProxyHCTemplate <em>name</em> <em>parameter</em>=<em>setting</em> [...]</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Crée et nomme un modèle permettant de définir différents
+paramètres de check up</td></tr>
+<tr class="odd"><td><a href="mod_proxy_hcheck.html#proxyhctpsize">ProxyHCTPsize <em>size</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la taille totale, pour l'ensemble du
+serveur, du jeu de threads utilisé pour le check up des
+équipiers</td></tr>
+<tr><td><a href="mod_proxy_html.html#proxyhtmlbufsize">ProxyHTMLBufSize <var>nb-octets</var></a></td><td> 8192 </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit l'incrément de la taille du tampon, ainsi que sa
taille initiale, pour la mise en
tampon des scripts en ligne et des feuilles de style.</td></tr>
-<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut <var>jeu-de-caractères | *</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie un jeu de caractères pour la sortie de
+<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlcharsetout">ProxyHTMLCharsetOut <var>jeu-de-caractères | *</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie un jeu de caractères pour la sortie de
mod_proxy_html.</td></tr>
<tr><td><a href="mod_proxy_html.html#proxyhtmldoctype">ProxyHTMLDocType HTML|XHTML [Legacy]<br /><strong>OR</strong>
<br />ProxyHTMLDocType <var>fpi</var> [SGML|XML]<br /><strong>OR</strong>
<br />ProxyHTMLDocType html5<br /><strong>OR</strong>
-<br />ProxyHTMLDocType auto</a></td><td> auto (2.5/trunk ver +</td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit une déclaration de type de document HTML ou XHTML.</td></tr>
-<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Permet d'activer/désactiver le filtre proxy_html.</td></tr>
-<tr><td><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents <var>attribut [attribut ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Spécifie les attributs à traiter comme des évènements de
+<br />ProxyHTMLDocType auto</a></td><td> auto (2.5/trunk ver +</td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit une déclaration de type de document HTML ou XHTML.</td></tr>
+<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlenable">ProxyHTMLEnable On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Permet d'activer/désactiver le filtre proxy_html.</td></tr>
+<tr><td><a href="mod_proxy_html.html#proxyhtmlevents">ProxyHTMLEvents <var>attribut [attribut ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Spécifie les attributs à traiter comme des évènements de
type scripting.</td></tr>
-<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si l'on doit corriger les liens dans les scripts
-en ligne, les feuilles de style et les évènements de type scripting.</td></tr>
+<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlextended">ProxyHTMLExtended On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si l'on doit corriger les liens dans les scripts
+en ligne, les feuilles de style et les évènements de type scripting.</td></tr>
<tr><td><a href="mod_proxy_html.html#proxyhtmlfixups">ProxyHTMLFixups [lowercase] [dospath] [reset]</a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Corrige les erreurs HTML simples.</td></tr>
-<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Active la réinterprétation des règles
-<code class="directive">ProxyHTMLURLMap</code> pour chaque requête.</td></tr>
-<tr><td><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks <var>élément attribut [attribut2 ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Spécifie les éléments HTML dont les attributs d'URL doivent
-être réécrits.</td></tr>
-<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Active ou désactive une préinterprétation supplémentaire
-des métadonnées dans les sections HTML <code><head></code>.</td></tr>
-<tr><td><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Détermine si les commentaires HTML doivent être supprimés.</td></tr>
-<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap <var>modèle-source modèle-cible [drapeaux] [cond]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une règle de réécriture des liens HTML</td></tr>
-<tr><td><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize <var>octets</var></a></td><td> 8192 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine la taille du tampon interne de transfert de
-données</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxymatch"><ProxyMatch <var>regex</var>> ...</ProxyMatch></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Conteneur de directives s'appliquant à des ressources
-mandatées correspondant à une expression rationnelle</td></tr>
-<tr><td><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards <var>nombre</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre maximum de mandataires à travers lesquelles une
-requête peut être redirigée</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxypass">ProxyPass [<var>chemin</var>] !|<var>url</var> [<var>clé=valeur</var>
- <var>[clé=valeur</var> ...]] [nocanon] [interpolate] [noquery]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Référencer des serveurs distants depuis
+<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlinterp">ProxyHTMLInterp On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Active la réinterprétation des règles
+<code class="directive">ProxyHTMLURLMap</code> pour chaque requête.</td></tr>
+<tr><td><a href="mod_proxy_html.html#proxyhtmllinks">ProxyHTMLLinks <var>élément attribut [attribut2 ...]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Spécifie les éléments HTML dont les attributs d'URL doivent
+être réécrits.</td></tr>
+<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlmeta">ProxyHTMLMeta On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Active ou désactive une préinterprétation supplémentaire
+des métadonnées dans les sections HTML <code><head></code>.</td></tr>
+<tr><td><a href="mod_proxy_html.html#proxyhtmlstripcomments">ProxyHTMLStripComments On|Off</a></td><td> Off </td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Détermine si les commentaires HTML doivent être supprimés.</td></tr>
+<tr class="odd"><td><a href="mod_proxy_html.html#proxyhtmlurlmap">ProxyHTMLURLMap <var>modèle-source modèle-cible [drapeaux] [cond]</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une règle de réécriture des liens HTML</td></tr>
+<tr><td><a href="mod_proxy.html#proxyiobuffersize">ProxyIOBufferSize <var>octets</var></a></td><td> 8192 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine la taille du tampon interne de transfert de
+données</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxymatch"><ProxyMatch <var>regex</var>> ...</ProxyMatch></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Conteneur de directives s'appliquant à des ressources
+mandatées correspondant à une expression rationnelle</td></tr>
+<tr><td><a href="mod_proxy.html#proxymaxforwards">ProxyMaxForwards <var>nombre</var></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre maximum de mandataires à travers lesquelles une
+requête peut être redirigée</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxypass">ProxyPass [<var>chemin</var>] !|<var>url</var> [<var>clé=valeur</var>
+ <var>[clé=valeur</var> ...]] [nocanon] [interpolate] [noquery]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Référencer des serveurs distants depuis
l'espace d'URLs du serveur local</td></tr>
-<tr><td><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Héritage des directives ProxyPass définies au niveau du
+<tr><td><a href="mod_proxy.html#proxypassinherit">ProxyPassInherit On|Off</a></td><td> On </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Héritage des directives ProxyPass définies au niveau du
serveur principal</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#proxypassinterpolateenv">ProxyPassInterpolateEnv On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active l'interpolation des variables d'environnement dans
les configurations de mandataires inverses</td></tr>
<tr><td><a href="mod_proxy.html#proxypassmatch">ProxyPassMatch [<var>regex</var>] !|<var>url</var>
-[<var>clé=valeur</var>
- <var>[clé=valeur</var> ...]]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Fait correspondre des serveurs distants dans l'espace d'URL
+[<var>clé=valeur</var>
+ <var>[clé=valeur</var> ...]]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Fait correspondre des serveurs distants dans l'espace d'URL
du serveur local en utilisant des expressions rationnelles</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#proxypassreverse">ProxyPassReverse [<var>chemin</var>] <var>url</var>
-[<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ajuste l'URL dans les en-têtes de la réponse HTTP envoyée
-par un serveur mandaté en inverse</td></tr>
+[<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ajuste l'URL dans les en-têtes de la réponse HTTP envoyée
+par un serveur mandaté en inverse</td></tr>
<tr><td><a href="mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain <var>domaine-interne</var>
-<var>domaine-public</var> [<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Ajuste la chaîne correspondant au domaine dans les en-têtes
-Set-Cookie en provenance d'un serveur mandaté</td></tr>
+<var>domaine-public</var> [<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Ajuste la chaîne correspondant au domaine dans les en-têtes
+Set-Cookie en provenance d'un serveur mandaté</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath <var>chemin-interne</var>
-<var>chemin-public</var> [<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ajuste la chaîne correspondant au chemin dans les en-têtes
-Set-Cookie en provenance d'un serveur mandaté</td></tr>
-<tr><td><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Utilise l'en-tête de requête entrante Host pour la requête
+<var>chemin-public</var> [<var>interpolate</var>]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Ajuste la chaîne correspondant au chemin dans les en-têtes
+Set-Cookie en provenance d'un serveur mandaté</td></tr>
+<tr><td><a href="mod_proxy.html#proxypreservehost">ProxyPreserveHost On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Utilise l'en-tête de requête entrante Host pour la requête
du mandataire</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize <var>octets</var></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Taille du tampon réseau pour les connexions mandatées HTTP
+<tr class="odd"><td><a href="mod_proxy.html#proxyreceivebuffersize">ProxyReceiveBufferSize <var>octets</var></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Taille du tampon réseau pour les connexions mandatées HTTP
et FTP</td></tr>
-<tr><td><a href="mod_proxy.html#proxyremote">ProxyRemote <var>comparaison</var> <var>serveur-distant</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Mandataire distant à utiliser pour traiter certaines
-requêtes</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch <var>regex</var> <var>serveur-distant</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Le mandataire distant à utiliser pour traiter les requêtes
-correspondant à une expression rationnelle</td></tr>
-<tr><td><a href="mod_proxy.html#proxyrequests">ProxyRequests On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Active la fonctionnalité (standard) de mandataire
+<tr><td><a href="mod_proxy.html#proxyremote">ProxyRemote <var>comparaison</var> <var>serveur-distant</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Mandataire distant à utiliser pour traiter certaines
+requêtes</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxyremotematch">ProxyRemoteMatch <var>regex</var> <var>serveur-distant</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Le mandataire distant à utiliser pour traiter les requêtes
+correspondant à une expression rationnelle</td></tr>
+<tr><td><a href="mod_proxy.html#proxyrequests">ProxyRequests On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Active la fonctionnalité (standard) de mandataire
direct</td></tr>
-<tr class="odd"><td><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect On|Off|<var>Headername</var></a></td><td> On </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active ou désactive les réponses de redirection interne en
+<tr class="odd"><td><a href="mod_proxy_scgi.html#proxyscgiinternalredirect">ProxySCGIInternalRedirect On|Off|<var>Headername</var></a></td><td> On </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active ou désactive les réponses de redirection interne en
provenance du serveur cible.</td></tr>
-<tr><td><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile On|Off|<var>nom-en-tête</var></a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active l'évaluation du pseudo en-tête de réponse
+<tr><td><a href="mod_proxy_scgi.html#proxyscgisendfile">ProxySCGISendfile On|Off|<var>nom-en-tête</var></a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Active l'évaluation du pseudo en-tête de réponse
<var>X-Sendfile</var></td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyset">ProxySet <var>url</var> <var>clé=valeur [clé=valeur ...]</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit différents paramètres relatifs à la répartition de
-charge des mandataires et aux membres des groupes de répartition de
+<tr class="odd"><td><a href="mod_proxy.html#proxyset">ProxySet <var>url</var> <var>clé=valeur [clé=valeur ...]</var></a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit différents paramètres relatifs à la répartition de
+charge des mandataires et aux membres des groupes de répartition de
charge</td></tr>
-<tr><td><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress <var>adresse</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit l'adresse IP locale pour les connexions mandatées
+<tr><td><a href="mod_proxy.html#proxysourceaddress">ProxySourceAddress <var>adresse</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit l'adresse IP locale pour les connexions mandatées
sortantes</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxystatus">ProxyStatus Off|On|Full</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Affiche l'état du répartiteur de charge du mandataire dans
+<tr class="odd"><td><a href="mod_proxy.html#proxystatus">ProxyStatus Off|On|Full</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Affiche l'état du répartiteur de charge du mandataire dans
mod_status</td></tr>
-<tr><td><a href="mod_proxy.html#proxytimeout">ProxyTimeout <var>time-interval</var>[s]</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Délai d'attente réseau pour les requêtes
-mandatées</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyvia">ProxyVia On|Off|Full|Block</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Information fournie dans l'en-tête de réponse HTTP
-<code>Via</code> pour les requêtes mandatées</td></tr>
-<tr><td><a href="mod_proxy_wstunnel.html#proxywebsocketasync">ProxyWebsocketAsync ON|OFF</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Création d'un tunnel asynchrone</td></tr>
-<tr class="odd"><td><a href="mod_proxy_wstunnel.html#proxywebsocketasyncdelay">ProxyWebsocketAsyncDelay <var>num</var>[ms]</a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Temps d'attente synchrone maximum pour des données</td></tr>
-<tr><td><a href="mod_proxy_wstunnel.html#proxywebsocketidletimeout">ProxyWebsocketIdleTimeout <var>num</var>[ms]</a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Temps d'attente maximum pour des données sur le tunnel websockets</td></tr>
-<tr class="odd"><td><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL ON|OFF</a></td><td> OFF </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Vérifie si la variable d'environnement REDIRECT_URL est
-pleinement qualifiée</td></tr>
-<tr><td><a href="mod_autoindex.html#readmename" id="R" name="R">ReadmeName <var>nom-fichier</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Nom du fichier dont le contenu sera inséré à la fin de
+<tr><td><a href="mod_proxy.html#proxytimeout">ProxyTimeout <var>time-interval</var>[s]</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Délai d'attente réseau pour les requêtes
+mandatées</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxyvia">ProxyVia On|Off|Full|Block</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Information fournie dans l'en-tête de réponse HTTP
+<code>Via</code> pour les requêtes mandatées</td></tr>
+<tr><td><a href="mod_proxy_wstunnel.html#proxywebsocketasync">ProxyWebsocketAsync ON|OFF</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Création d'un tunnel asynchrone</td></tr>
+<tr class="odd"><td><a href="mod_proxy_wstunnel.html#proxywebsocketasyncdelay">ProxyWebsocketAsyncDelay <var>num</var>[ms]</a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Temps d'attente synchrone maximum pour des données</td></tr>
+<tr><td><a href="mod_proxy_wstunnel.html#proxywebsocketidletimeout">ProxyWebsocketIdleTimeout <var>num</var>[ms]</a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Temps d'attente maximum pour des données sur le tunnel websockets</td></tr>
+<tr class="odd"><td><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL ON|OFF</a></td><td> OFF </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Vérifie si la variable d'environnement REDIRECT_URL est
+pleinement qualifiée</td></tr>
+<tr><td><a href="mod_autoindex.html#readmename" id="R" name="R">ReadmeName <var>nom-fichier</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Nom du fichier dont le contenu sera inséré à la fin de
l'index</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize <var>octets</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Taille du tampon TCP en entrée</td></tr>
-<tr><td><a href="mod_alias.html#redirect">Redirect [<var>état</var>] [<var>URL-path</var>]
+<tr class="odd"><td><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize <var>octets</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Taille du tampon TCP en entrée</td></tr>
+<tr><td><a href="mod_alias.html#redirect">Redirect [<var>état</var>] [<var>URL-path</var>]
<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Envoie une redirection externe demandant au client
-d'effectuer une autre requête avec une URL différente</td></tr>
-<tr class="odd"><td><a href="mod_alias.html#redirectmatch">RedirectMatch [<var>état</var>] <var>regex</var>
+d'effectuer une autre requête avec une URL différente</td></tr>
+<tr class="odd"><td><a href="mod_alias.html#redirectmatch">RedirectMatch [<var>état</var>] <var>regex</var>
<var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Envoie une redirection externe faisant appel aux
expressions rationnelles pour la mise en correspondance de l'URL
courante</td></tr>
<tr><td><a href="mod_alias.html#redirectpermanent">RedirectPermanent <var>chemin URL</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Envoie une redirection externe permanente demandant au
-client d'effectuer une nouvelle requête avec une URL
-différente</td></tr>
+client d'effectuer une nouvelle requête avec une URL
+différente</td></tr>
<tr class="odd"><td><a href="mod_alias.html#redirecttemp">RedirectTemp <var>chemin URL</var> <var>URL</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Envoie une redirection externe temporaire demandant au
-client d'effectuer une nouvelle requête avec une URL
-différente</td></tr>
+client d'effectuer une nouvelle requête avec une URL
+différente</td></tr>
<tr><td><a href="mod_socache_redis.html#redisconnpoolttl">RedisConnPoolTTL <em>num</em>[<em>units</em>]</a></td><td> 15s </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">TTL used for the connection pool with the Redis server(s)</td></tr>
<tr class="odd"><td><a href="mod_socache_redis.html#redistimeout">RedisTimeout <em>num</em>[<em>units</em>]</a></td><td> 5s </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">R/W timeout used for the connection with the Redis server(s)</td></tr>
-<tr><td><a href="mod_reflector.html#reflectorheader">ReflectorHeader <var>en-tête-entrée</var> <var>[en-tête-sortie]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Renvoie un en-tête d'entrée dans les en-têtes de sortie</td></tr>
-<tr class="odd"><td><a href="core.html#regexdefaultoptions">RegexDefaultOptions [none] [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> DOLLAR_ENDONLY </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configuration des options globales par défaut pour les
+<tr><td><a href="mod_reflector.html#reflectorheader">ReflectorHeader <var>en-tête-entrée</var> <var>[en-tête-sortie]</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Renvoie un en-tête d'entrée dans les en-têtes de sortie</td></tr>
+<tr class="odd"><td><a href="core.html#regexdefaultoptions">RegexDefaultOptions [none] [+|-]<var>option</var> [[+|-]<var>option</var>] ...</a></td><td> DOLLAR_ENDONLY </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configuration des options globales par défaut pour les
expressions rationnelles</td></tr>
-<tr><td><a href="core.html#registerhttpmethod">RegisterHttpMethod <var>method</var> [<var>method</var> [...]]</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Enregistrement de méthodes HTTP non standards</td></tr>
-<tr class="odd"><td><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader <var>en-tête</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le champ d'en-tête qui contiendra les adresses IP
+<tr><td><a href="core.html#registerhttpmethod">RegisterHttpMethod <var>method</var> [<var>method</var> [...]]</a></td><td></td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Enregistrement de méthodes HTTP non standards</td></tr>
+<tr class="odd"><td><a href="mod_remoteip.html#remoteipheader">RemoteIPHeader <var>en-tête</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le champ d'en-tête qui contiendra les adresses IP
du client</td></tr>
<tr><td><a href="mod_remoteip.html#remoteipinternalproxy">RemoteIPInternalProxy
-<var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Déclare les adresses IP intranet clients comme dignes de
-confiance pour présenter la valeur RemoteIPHeader</td></tr>
-<tr class="odd"><td><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList <var>nom-fichier</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Déclare les adresses IP intranet clients comme dignes de
-confiance pour présenter la valeur RemoteIPHeader</td></tr>
-<tr><td><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader <var>Nom_en-tête</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Déclare le champ d'en-tête qui contiendra toutes les
-adresses IP intermédiaires</td></tr>
-<tr class="odd"><td><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol On|Off</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Active ou désactive la gestion du protocole PROXY</td></tr>
-<tr><td><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Désactive la prise en compte de l'en-tête PROXY pour certains hôtes
-ou réseaux</td></tr>
+<var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Déclare les adresses IP intranet clients comme dignes de
+confiance pour présenter la valeur RemoteIPHeader</td></tr>
+<tr class="odd"><td><a href="mod_remoteip.html#remoteipinternalproxylist">RemoteIPInternalProxyList <var>nom-fichier</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Déclare les adresses IP intranet clients comme dignes de
+confiance pour présenter la valeur RemoteIPHeader</td></tr>
+<tr><td><a href="mod_remoteip.html#remoteipproxiesheader">RemoteIPProxiesHeader <var>Nom_en-tête</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Déclare le champ d'en-tête qui contiendra toutes les
+adresses IP intermédiaires</td></tr>
+<tr class="odd"><td><a href="mod_remoteip.html#remoteipproxyprotocol">RemoteIPProxyProtocol On|Off</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Active ou désactive la gestion du protocole PROXY</td></tr>
+<tr><td><a href="mod_remoteip.html#remoteipproxyprotocolexceptions">RemoteIPProxyProtocolExceptions host|range [host|range] [host|range]</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Désactive la prise en compte de l'en-tête PROXY pour certains hôtes
+ou réseaux</td></tr>
<tr class="odd"><td><a href="mod_remoteip.html#remoteiptrustedproxy">RemoteIPTrustedProxy
-<var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Restreint les adresses IP clients dignes de
-confiance pour présenter la valeur RemoteIPHeader</td></tr>
+<var>ip-mandataire</var>|<var>ip-mandataire/sous-réseau</var>|<var>nom-hôte</var> ...</a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Restreint les adresses IP clients dignes de
+confiance pour présenter la valeur RemoteIPHeader</td></tr>
<tr><td><a href="mod_remoteip.html#remoteiptrustedproxylist">RemoteIPTrustedProxyList <var>nom-fichier</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Restreint les adresses IP clients dignes de
-confiance pour présenter la valeur RemoteIPHeader</td></tr>
+confiance pour présenter la valeur RemoteIPHeader</td></tr>
<tr class="odd"><td><a href="mod_mime.html#removecharset">RemoveCharset <var>extension</var> [<var>extension</var>]
-...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Supprime toute association de jeu de caractères pour un
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Supprime toute association de jeu de caractères pour un
ensemble d'extensions de noms de fichiers</td></tr>
<tr><td><a href="mod_mime.html#removeencoding">RemoveEncoding <var>extension</var> [<var>extension</var>]
...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Supprime toute association de codage de contenu pour un
ensemble d'extensions de noms de fichiers</td></tr>
<tr class="odd"><td><a href="mod_mime.html#removehandler">RemoveHandler <var>extension</var> [<var>extension</var>]
-...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Supprime toute association de gestionnaire à un ensemble
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Supprime toute association de gestionnaire à un ensemble
d'extensions de noms de fichiers</td></tr>
<tr><td><a href="mod_mime.html#removeinputfilter">RemoveInputFilter <var>extension</var> [<var>extension</var>]
-...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Supprime toute association de filtre en entrée à un
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Supprime toute association de filtre en entrée à un
ensemble d'extensions de noms de fichiers</td></tr>
<tr class="odd"><td><a href="mod_mime.html#removelanguage">RemoveLanguage <var>extension</var> [<var>extension</var>]
-...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Supprime toute association de langage à un ensemble
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Supprime toute association de langage à un ensemble
d'extensions de noms de fichiers</td></tr>
<tr><td><a href="mod_mime.html#removeoutputfilter">RemoveOutputFilter <var>extension</var> [<var>extension</var>]
-...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Supprime toute association de filtre en sortie à un
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Supprime toute association de filtre en sortie à un
ensemble d'extensions de noms de fichiers</td></tr>
<tr class="odd"><td><a href="mod_mime.html#removetype">RemoveType <var>extension</var> [<var>extension</var>]
-...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Supprime toute association de type de contenu à un ensemble
+...</a></td><td></td><td>vdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Supprime toute association de type de contenu à un ensemble
d'extensions de noms de fichiers</td></tr>
<tr><td><a href="mod_headers.html#requestheader">RequestHeader add|append|edit|edit*|merge|set|setifempty|unset
-<var>en-tête</var> [[expr=]<var>valeur</var>
+<var>en-tête</var> [[expr=]<var>valeur</var>
[<var>remplacement</var>]
[early|env=[!]<var>variable</var>|expr=<var>expression</var>]]
-</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure les en-têtes d'une requête HTTP</td></tr>
+</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure les en-têtes d'une requête HTTP</td></tr>
<tr class="odd"><td><a href="mod_reqtimeout.html#requestreadtimeout">RequestReadTimeout
-[header=<var>délai</var>[-<var>délai-maxi</var>][,MinRate=<var>taux-mini</var>]
-[body=<var>délai</var>[-<var>délai-maxi</var>][,MinRate=<var>taux-mini</var>]
-</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit des délais maximums pour la réception des en-têtes
-et corps des requêtes en provenance du client.
+[header=<var>délai</var>[-<var>délai-maxi</var>][,MinRate=<var>taux-mini</var>]
+[body=<var>délai</var>[-<var>délai-maxi</var>][,MinRate=<var>taux-mini</var>]
+</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit des délais maximums pour la réception des en-têtes
+et corps des requêtes en provenance du client.
</td></tr>
-<tr><td><a href="mod_authz_core.html#require">Require [not] <var>nom-entité</var> [<var>nom-entité</var>]
-...</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Vérifie si un utilisateur authentifié a une
-autorisation d'accès accordée par un fournisseur
+<tr><td><a href="mod_authz_core.html#require">Require [not] <var>nom-entité</var> [<var>nom-entité</var>]
+...</a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Vérifie si un utilisateur authentifié a une
+autorisation d'accès accordée par un fournisseur
d'autorisation.</td></tr>
<tr class="odd"><td><a href="mod_authz_core.html#requireall"><RequireAll> ... </RequireAll></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Regroupe plusieurs directives d'autorisation dont aucune ne
-doit échouer et dont au moins une doit retourner un résultat positif
-pour que la directive globale retourne elle-même un résultat
+doit échouer et dont au moins une doit retourner un résultat positif
+pour que la directive globale retourne elle-même un résultat
positif.</td></tr>
<tr><td><a href="mod_authz_core.html#requireany"><RequireAny> ... </RequireAny></a></td><td></td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Regroupe des directives d'autorisation dont au moins une
-doit retourner un résultat positif pour que la directive globale
-retourne elle-même un résultat positif.</td></tr>
+doit retourner un résultat positif pour que la directive globale
+retourne elle-même un résultat positif.</td></tr>
<tr class="odd"><td><a href="mod_authz_core.html#requirenone"><RequireNone> ... </RequireNone></a></td><td></td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Regroupe des directives d'autorisation dont aucune ne doit
-retourner un résultat positif pour que la directive globale n'échoue
+retourner un résultat positif pour que la directive globale n'échoue
pas.</td></tr>
-<tr><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>chemin_URL</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit l'URL de base pour les réécritures au niveau
-répertoire</td></tr>
+<tr><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>chemin_URL</em></a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit l'URL de base pour les réécritures au niveau
+répertoire</td></tr>
<tr class="odd"><td><a href="mod_rewrite.html#rewritecond"> RewriteCond
- <em>chaîne_de_test</em> <em>expression_de_comparaison</em> [<em>drapeaux</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une condition qui devra être satisfaite pour que
-la réécriture soit effectuée
+ <em>chaîne_de_test</em> <em>expression_de_comparaison</em> [<em>drapeaux</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une condition qui devra être satisfaite pour que
+la réécriture soit effectuée
</td></tr>
-<tr><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Active ou désactive l'exécution du
-moteur de réécriture</td></tr>
+<tr><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Active ou désactive l'exécution du
+moteur de réécriture</td></tr>
<tr class="odd"><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em> [<em>MapTypeOptions</em>]
-</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une fonction de mise en correspondance pour la
-recherche de mots-clés</td></tr>
-<tr><td><a href="mod_rewrite.html#rewriteoptions">RewriteOptions <var>Options</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure certaines options spéciales
-pour le moteur de réécriture</td></tr>
+</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une fonction de mise en correspondance pour la
+recherche de mots-clés</td></tr>
+<tr><td><a href="mod_rewrite.html#rewriteoptions">RewriteOptions <var>Options</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure certaines options spéciales
+pour le moteur de réécriture</td></tr>
<tr class="odd"><td><a href="mod_rewrite.html#rewriterule">RewriteRule
- <em>Modèle</em> <em>Substitution</em> [<em>drapeaux</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit les règles pour le moteur de réécriture</td></tr>
-<tr><td><a href="core.html#rlimitcpu">RLimitCPU <var>secondes</var>|max [<var>secondes</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limite le temps CPU alloué aux processus initiés par les
+ <em>Modèle</em> <em>Substitution</em> [<em>drapeaux</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit les règles pour le moteur de réécriture</td></tr>
+<tr><td><a href="core.html#rlimitcpu">RLimitCPU <var>secondes</var>|max [<var>secondes</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limite le temps CPU alloué aux processus initiés par les
processus enfants d'Apache httpd</td></tr>
-<tr class="odd"><td><a href="core.html#rlimitmem">RLimitMEM <var>octets</var>|max [<var>octets</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limite la mémoire allouée aux processus initiés par les
+<tr class="odd"><td><a href="core.html#rlimitmem">RLimitMEM <var>octets</var>|max [<var>octets</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Limite la mémoire allouée aux processus initiés par les
processus enfants d'Apache httpd</td></tr>
-<tr><td><a href="core.html#rlimitnproc">RLimitNPROC <var>nombre</var>|max [<var>nombre</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limite le nombre de processus qui peuvent être initiés par
-les processus initiés par les processus enfants d'Apache httpd</td></tr>
-<tr class="odd"><td><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy Any|All</a></td><td> All </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Interaction entre le contrôle d'accès en fonction de l'hôte
+<tr><td><a href="core.html#rlimitnproc">RLimitNPROC <var>nombre</var>|max [<var>nombre</var>|max]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Limite le nombre de processus qui peuvent être initiés par
+les processus initiés par les processus enfants d'Apache httpd</td></tr>
+<tr class="odd"><td><a href="mod_access_compat.html#satisfy" id="S" name="S">Satisfy Any|All</a></td><td> All </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Interaction entre le contrôle d'accès en fonction de l'hôte
et l'authentification utilisateur</td></tr>
-<tr><td><a href="mpm_common.html#scoreboardfile">ScoreBoardFile <var>file-path</var></a></td><td> apache_runtime_stat +</td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Chemin du fichier où sont stockées les données concernant
+<tr><td><a href="mpm_common.html#scoreboardfile">ScoreBoardFile <var>file-path</var></a></td><td> apache_runtime_stat +</td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Chemin du fichier où sont stockées les données concernant
la coordination des processus enfants</td></tr>
-<tr class="odd"><td><a href="mod_actions.html#script">Script <var>méthode</var> <var>script cgi</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Active un script CGI dans le cas d'une méthode de requête
-particulière.</td></tr>
+<tr class="odd"><td><a href="mod_actions.html#script">Script <var>méthode</var> <var>script cgi</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Active un script CGI dans le cas d'une méthode de requête
+particulière.</td></tr>
<tr><td><a href="mod_alias.html#scriptalias">ScriptAlias [<var>chemin URL</var>]
-<var>chemin fichier</var>|<var>chemin répertoire</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Fait correspondre une URL à une zone du système de fichiers
-et désigne la cible comme script CGI</td></tr>
+<var>chemin fichier</var>|<var>chemin répertoire</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Fait correspondre une URL à une zone du système de fichiers
+et désigne la cible comme script CGI</td></tr>
<tr class="odd"><td><a href="mod_alias.html#scriptaliasmatch">ScriptAliasMatch <var>regex</var>
-<var>chemin fichier</var>|<var>chemin répertoire</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fait correspondre une URL à une zone du système de fichiers
-en faisant appel aux expressions rationnelles et en désignant la cible
+<var>chemin fichier</var>|<var>chemin répertoire</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Fait correspondre une URL à une zone du système de fichiers
+en faisant appel aux expressions rationnelles et en désignant la cible
comme un script CGI</td></tr>
-<tr><td><a href="core.html#scriptinterpretersource">ScriptInterpreterSource Registry|Registry-Strict|Script</a></td><td> Script </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Permet de localiser l'interpréteur des scripts
+<tr><td><a href="core.html#scriptinterpretersource">ScriptInterpreterSource Registry|Registry-Strict|Script</a></td><td> Script </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Permet de localiser l'interpréteur des scripts
CGI</td></tr>
<tr class="odd"><td><a href="mod_cgi.html#scriptlog">ScriptLog <var>chemin fichier</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Chemin du fichier journal des erreurs du script
CGI</td></tr>
-<tr><td><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer <var>octets</var></a></td><td> 1024 </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Taille maximale des requêtes PUT ou POST qui seront
-enregistrées dans le journal du script</td></tr>
+<tr><td><a href="mod_cgi.html#scriptlogbuffer">ScriptLogBuffer <var>octets</var></a></td><td> 1024 </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Taille maximale des requêtes PUT ou POST qui seront
+enregistrées dans le journal du script</td></tr>
<tr class="odd"><td><a href="mod_cgi.html#scriptloglength">ScriptLogLength <var>octets</var></a></td><td> 10385760 </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Taille maximale du fichier journal des scripts
CGI</td></tr>
-<tr><td><a href="mod_cgid.html#scriptsock">ScriptSock <var>chemin fichier</var></a></td><td> cgisock </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Le préfixe du nom de fichier du socket à utiliser pour
-communiquer avec le démon CGI</td></tr>
+<tr><td><a href="mod_cgid.html#scriptsock">ScriptSock <var>chemin fichier</var></a></td><td> cgisock </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Le préfixe du nom de fichier du socket à utiliser pour
+communiquer avec le démon CGI</td></tr>
<tr class="odd"><td><a href="mod_nw_ssl.html#securelisten">SecureListen [<var>adresse-IP</var>:]<var>num-port</var>
<var>nom-certificat</var> [MUTUAL]</a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Active le chiffrement SSL pour le port
-spécifié</td></tr>
-<tr><td><a href="core.html#seerequesttail">SeeRequestTail On|Off</a></td><td> Off </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Détermine si mod_status affiche les 63 premiers caractères
-d'une requête ou les 63 derniers, en supposant que la requête
-elle-même possède plus de 63 caractères.</td></tr>
+spécifié</td></tr>
+<tr><td><a href="core.html#seerequesttail">SeeRequestTail On|Off</a></td><td> Off </td><td>s</td><td>C</td></tr><tr><td class="descr" colspan="4">Détermine si mod_status affiche les 63 premiers caractères
+d'une requête ou les 63 derniers, en supposant que la requête
+elle-même possède plus de 63 caractères.</td></tr>
<tr class="odd"><td><a href="mpm_common.html#sendbuffersize">SendBufferSize <var>octets</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Taille du tampon TCP en sortie</td></tr>
-<tr><td><a href="core.html#serveradmin">ServerAdmin <var>adresse électronique</var>|<var>URL</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">L'adresse électronique que le serveur inclut dans les
-messages d'erreur envoyés au client</td></tr>
+<tr><td><a href="core.html#serveradmin">ServerAdmin <var>adresse électronique</var>|<var>URL</var></a></td><td></td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">L'adresse électronique que le serveur inclut dans les
+messages d'erreur envoyés au client</td></tr>
<tr class="odd"><td><a href="core.html#serveralias">ServerAlias <var>nom serveur</var> [<var>nom serveur</var>]
...</a></td><td></td><td>v</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Autres noms d'un serveur utilisables pour atteindre des
-serveurs virtuels à base de nom</td></tr>
-<tr><td><a href="mpm_common.html#serverlimit">ServerLimit <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limite supérieure de la définition du nombre de
+serveurs virtuels à base de nom</td></tr>
+<tr><td><a href="mpm_common.html#serverlimit">ServerLimit <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Limite supérieure de la définition du nombre de
processus</td></tr>
<tr class="odd"><td><a href="core.html#servername">ServerName
-[<var>protocole</var>://]<var>nom-de-domaine</var>|<var>adresse-ip</var>[:<var>port</var>]</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Nom d'hôte et port que le serveur utilise pour
-s'authentifier lui-même</td></tr>
-<tr><td><a href="core.html#serverpath">ServerPath <var>chemin d'URL</var></a></td><td></td><td>v</td><td>C</td></tr><tr><td class="descr" colspan="4">Nom de chemin d'URL hérité pour un serveur virtuel à base
-de nom accédé par un navigateur incompatible</td></tr>
-<tr class="odd"><td><a href="core.html#serverroot">ServerRoot <var>chemin de répertoire</var></a></td><td> /usr/local/apache </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Racine du répertoire d'installation du
+[<var>protocole</var>://]<var>nom-de-domaine</var>|<var>adresse-ip</var>[:<var>port</var>]</a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Nom d'hôte et port que le serveur utilise pour
+s'authentifier lui-même</td></tr>
+<tr><td><a href="core.html#serverpath">ServerPath <var>chemin d'URL</var></a></td><td></td><td>v</td><td>C</td></tr><tr><td class="descr" colspan="4">Nom de chemin d'URL hérité pour un serveur virtuel à base
+de nom accédé par un navigateur incompatible</td></tr>
+<tr class="odd"><td><a href="core.html#serverroot">ServerRoot <var>chemin de répertoire</var></a></td><td> /usr/local/apache </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Racine du répertoire d'installation du
serveur</td></tr>
-<tr><td><a href="core.html#serversignature">ServerSignature On|Off|EMail</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Définit un pied de page pour les documents générés par le
+<tr><td><a href="core.html#serversignature">ServerSignature On|Off|EMail</a></td><td> Off </td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Définit un pied de page pour les documents générés par le
serveur</td></tr>
-<tr class="odd"><td><a href="core.html#servertokens">ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</a></td><td> Full </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configure l'en-tête <code>Server</code> de la réponse
+<tr class="odd"><td><a href="core.html#servertokens">ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</a></td><td> Full </td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Configure l'en-tête <code>Server</code> de la réponse
HTTP</td></tr>
<tr><td><a href="mod_session.html#session">Session On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Ouvre une session pour le contexte courant</td></tr>
<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookiename">SessionCookieName <var>nom</var> <var>attributs</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nom et attributs du cookie RFC2109 dans lequel la session
-est stockée</td></tr>
+est stockée</td></tr>
<tr><td><a href="mod_session_cookie.html#sessioncookiename2">SessionCookieName2 <var>nom</var> <var>attributs</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Nom et attributs pour le cookie RFC2965 dans lequel est
-stockée la session</td></tr>
-<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si les cookies de session doivent être supprimés
-des en-têtes HTTP entrants</td></tr>
-<tr><td><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher <var>algorithme</var></a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">L'algorithme à utiliser pour le chiffrement de la session</td></tr>
-<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver <var>nom</var> <var>[param[=valeur]]</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Le pilote de chiffrement à utiliser pour chiffrer les
+stockée la session</td></tr>
+<tr class="odd"><td><a href="mod_session_cookie.html#sessioncookieremove">SessionCookieRemove On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si les cookies de session doivent être supprimés
+des en-têtes HTTP entrants</td></tr>
+<tr><td><a href="mod_session_crypto.html#sessioncryptocipher">SessionCryptoCipher <var>algorithme</var></a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">L'algorithme à utiliser pour le chiffrement de la session</td></tr>
+<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver <var>nom</var> <var>[param[=valeur]]</var></a></td><td></td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Le pilote de chiffrement à utiliser pour chiffrer les
sessions</td></tr>
-<tr><td><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase <var>secret</var> [ <var>secret</var> ... ] </a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">La clé utilisée pour chiffrer la session</td></tr>
-<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile <var>nom-fichier</var></a></td><td></td><td>svd</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Le fichier contenant les clés utilisées pour chiffrer la
+<tr><td><a href="mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase <var>secret</var> [ <var>secret</var> ... ] </a></td><td></td><td>svdh</td><td>X</td></tr><tr><td class="descr" colspan="4">La clé utilisée pour chiffrer la session</td></tr>
+<tr class="odd"><td><a href="mod_session_crypto.html#sessioncryptopassphrasefile">SessionCryptoPassphraseFile <var>nom-fichier</var></a></td><td></td><td>svd</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Le fichier contenant les clés utilisées pour chiffrer la
session</td></tr>
<tr><td><a href="mod_session_dbd.html#sessiondbdcookiename">SessionDBDCookieName <var>nom</var> <var>attributs</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Nom et attributs du cookie RFC2109 qui contient
l'identifiant de session</td></tr>
<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdcookiename2">SessionDBDCookieName2 <var>nom</var> <var>attributs</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nom et attributs du cookie RFC2965 qui contient
l'identifiant de session</td></tr>
-<tr><td><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove On|Off</a></td><td> On </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine si les cookies de session doivent être supprimés
-des en-têtes HTTP entrants</td></tr>
-<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel <var>étiquette</var></a></td><td> deletesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La requête SQL à utiliser pour supprimer des sessions de la
-base de données</td></tr>
-<tr><td><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel <var>étiquette</var></a></td><td> insertsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La requête SQL à utiliser pour insérer des sessions dans la
-base de données</td></tr>
-<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active une session propre à un utilisateur</td></tr>
-<tr><td><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel <var>étiquette</var></a></td><td> selectsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La requête SQL à utiliser pour sélectionner des sessions
-dans la base de données</td></tr>
-<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel <var>étiquette</var></a></td><td> updatesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La requête SQL à utiliser pour mettre à jour des sessions
-préexistantes dans la base de données</td></tr>
-<tr><td><a href="mod_session.html#sessionenv">SessionEnv On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit si le contenu de la session doit être enregistré
+<tr><td><a href="mod_session_dbd.html#sessiondbdcookieremove">SessionDBDCookieRemove On|Off</a></td><td> On </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Détermine si les cookies de session doivent être supprimés
+des en-têtes HTTP entrants</td></tr>
+<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbddeletelabel">SessionDBDDeleteLabel <var>étiquette</var></a></td><td> deletesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La requête SQL à utiliser pour supprimer des sessions de la
+base de données</td></tr>
+<tr><td><a href="mod_session_dbd.html#sessiondbdinsertlabel">SessionDBDInsertLabel <var>étiquette</var></a></td><td> insertsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La requête SQL à utiliser pour insérer des sessions dans la
+base de données</td></tr>
+<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdperuser">SessionDBDPerUser On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active une session propre à un utilisateur</td></tr>
+<tr><td><a href="mod_session_dbd.html#sessiondbdselectlabel">SessionDBDSelectLabel <var>étiquette</var></a></td><td> selectsession </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">La requête SQL à utiliser pour sélectionner des sessions
+dans la base de données</td></tr>
+<tr class="odd"><td><a href="mod_session_dbd.html#sessiondbdupdatelabel">SessionDBDUpdateLabel <var>étiquette</var></a></td><td> updatesession </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La requête SQL à utiliser pour mettre à jour des sessions
+préexistantes dans la base de données</td></tr>
+<tr><td><a href="mod_session.html#sessionenv">SessionEnv On|Off</a></td><td> Off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit si le contenu de la session doit être enregistré
dans la variable d'environnement <var>HTTP_SESSION</var></td></tr>
-<tr class="odd"><td><a href="mod_session.html#sessionexclude">SessionExclude <var>chemin</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit les préfixes d'URLs pour lesquels une session sera
-ignorée</td></tr>
-<tr><td><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval <var>interval</var></a></td><td> 0 (mise à jour syst +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le nombre de secondes dont la durée d'expiration d'une
-session peut changer sans que cette session soit mise à jour</td></tr>
-<tr class="odd"><td><a href="mod_session.html#sessionheader">SessionHeader <var>en-tête</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Importation des mises à jour de session depuis l'en-tête de
-réponse HTTP spécifié</td></tr>
-<tr><td><a href="mod_session.html#sessioninclude">SessionInclude <var>chemin</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit les préfixes d'URL pour lesquels une session est
+<tr class="odd"><td><a href="mod_session.html#sessionexclude">SessionExclude <var>chemin</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit les préfixes d'URLs pour lesquels une session sera
+ignorée</td></tr>
+<tr><td><a href="mod_session.html#sessionexpiryupdateinterval">SessionExpiryUpdateInterval <var>interval</var></a></td><td> 0 (mise à jour syst +</td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit le nombre de secondes dont la durée d'expiration d'une
+session peut changer sans que cette session soit mise à jour</td></tr>
+<tr class="odd"><td><a href="mod_session.html#sessionheader">SessionHeader <var>en-tête</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Importation des mises à jour de session depuis l'en-tête de
+réponse HTTP spécifié</td></tr>
+<tr><td><a href="mod_session.html#sessioninclude">SessionInclude <var>chemin</var></a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit les préfixes d'URL pour lesquels une session est
valide</td></tr>
-<tr class="odd"><td><a href="mod_session.html#sessionmaxage">SessionMaxAge <var>durée de vie maximale</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une durée de vie maximale pour la session en
+<tr class="odd"><td><a href="mod_session.html#sessionmaxage">SessionMaxAge <var>durée de vie maximale</var></a></td><td> 0 </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit une durée de vie maximale pour la session en
secondes</td></tr>
-<tr><td><a href="mod_env.html#setenv">SetEnv <var>var-env</var> [<var>valeur</var>]</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit des variables d'environnement</td></tr>
+<tr><td><a href="mod_env.html#setenv">SetEnv <var>var-env</var> [<var>valeur</var>]</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit des variables d'environnement</td></tr>
<tr class="odd"><td><a href="mod_setenvif.html#setenvif">SetEnvIf <em>attribut
regex [!]env-variable</em>[=<em>valeur</em>]
- [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit des variables d'environnement en fonction des
-attributs de la requête</td></tr>
+ [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit des variables d'environnement en fonction des
+attributs de la requête</td></tr>
<tr><td><a href="mod_setenvif.html#setenvifexpr">SetEnvIfExpr <em>expr
[!]env-variable</em>[=<em>valeur</em>]
- [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit des variables d'environnement en fonction d'une expression ap_expr</td></tr>
+ [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit des variables d'environnement en fonction d'une expression ap_expr</td></tr>
<tr class="odd"><td><a href="mod_setenvif.html#setenvifnocase">SetEnvIfNoCase <em>attribut regex
[!]env-variable</em>[=<em>valeur</em>]
- [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit des variables d'environnement en fonction des
-attributs de la requête sans tenir compte de la casse</td></tr>
-<tr><td><a href="core.html#sethandler">SetHandler <var>handler-name</var>|none|<var>expression</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Force le traitement des fichiers spécifiés par un
+ [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit des variables d'environnement en fonction des
+attributs de la requête sans tenir compte de la casse</td></tr>
+<tr><td><a href="core.html#sethandler">SetHandler <var>handler-name</var>|none|<var>expression</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Force le traitement des fichiers spécifiés par un
gestionnaire particulier</td></tr>
-<tr class="odd"><td><a href="core.html#setinputfilter">SetInputFilter <var>filtre</var>[;<var>filtre</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Définit les filtres par lesquels vont passer les requêtes
-client et les données POST</td></tr>
-<tr><td><a href="core.html#setoutputfilter">SetOutputFilter <var>filtre</var>[;<var>filtre</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Définit les filtres par lesquels vont passer les réponses
+<tr class="odd"><td><a href="core.html#setinputfilter">SetInputFilter <var>filtre</var>[;<var>filtre</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Définit les filtres par lesquels vont passer les requêtes
+client et les données POST</td></tr>
+<tr><td><a href="core.html#setoutputfilter">SetOutputFilter <var>filtre</var>[;<var>filtre</var>...]</a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Définit les filtres par lesquels vont passer les réponses
du serveur</td></tr>
-<tr class="odd"><td><a href="mod_include.html#ssiendtag">SSIEndTag <var>tag</var></a></td><td> "-->" </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Chaîne qui termine l'élément include</td></tr>
-<tr><td><a href="mod_include.html#ssierrormsg">SSIErrorMsg <var>message</var></a></td><td> "[an error occurred +</td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Message d'erreur affiché lorsqu'une erreur SSI
+<tr class="odd"><td><a href="mod_include.html#ssiendtag">SSIEndTag <var>tag</var></a></td><td> "-->" </td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Chaîne qui termine l'élément include</td></tr>
+<tr><td><a href="mod_include.html#ssierrormsg">SSIErrorMsg <var>message</var></a></td><td> "[an error occurred +</td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Message d'erreur affiché lorsqu'une erreur SSI
survient</td></tr>
-<tr class="odd"><td><a href="mod_include.html#ssietag">SSIETag on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit si des en-têtes ETags sont générés par le serveur.</td></tr>
-<tr><td><a href="mod_include.html#ssilastmodified">SSILastModified on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit si des en-têtes <code>Last-Modified</code> sont
-générés par le serveur.</td></tr>
-<tr class="odd"><td><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Active le mode de compatibilité pour les expressions
+<tr class="odd"><td><a href="mod_include.html#ssietag">SSIETag on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Définit si des en-têtes ETags sont générés par le serveur.</td></tr>
+<tr><td><a href="mod_include.html#ssilastmodified">SSILastModified on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr><td class="descr" colspan="4">Définit si des en-têtes <code>Last-Modified</code> sont
+générés par le serveur.</td></tr>
+<tr class="odd"><td><a href="mod_include.html#ssilegacyexprparser">SSILegacyExprParser on|off</a></td><td> off </td><td>dh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Active le mode de compatibilité pour les expressions
conditionnelles.</td></tr>
-<tr><td><a href="mod_include.html#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "<!--#" </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Chaîne qui marque le début d'un élément
+<tr><td><a href="mod_include.html#ssistarttag">SSIStartTag <var>tag</var></a></td><td> "<!--#" </td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Chaîne qui marque le début d'un élément
include</td></tr>
-<tr class="odd"><td><a href="mod_include.html#ssitimeformat">SSITimeFormat <var>chaîne de formatage</var></a></td><td> "%A, %d-%b-%Y %H:%M +</td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Configuration du format d'affichage des dates</td></tr>
-<tr><td><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho <var>chaîne</var></a></td><td> "(none)" </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Chaîne à afficher lorsqu'on tente d'extraire le contenu
-d'une variable non définie</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fichier contenant une concaténation des certificats de CA
-codés en PEM pour l'authentification des clients</td></tr>
-<tr><td><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath <em>chemin-répertoire</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Répertoire des certificats de CA codés en PEM pour
+<tr class="odd"><td><a href="mod_include.html#ssitimeformat">SSITimeFormat <var>chaîne de formatage</var></a></td><td> "%A, %d-%b-%Y %H:%M +</td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Configuration du format d'affichage des dates</td></tr>
+<tr><td><a href="mod_include.html#ssiundefinedecho">SSIUndefinedEcho <var>chaîne</var></a></td><td> "(none)" </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Chaîne à afficher lorsqu'on tente d'extraire le contenu
+d'une variable non définie</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslcacertificatefile">SSLCACertificateFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fichier contenant une concaténation des certificats de CA
+codés en PEM pour l'authentification des clients</td></tr>
+<tr><td><a href="mod_ssl.html#sslcacertificatepath">SSLCACertificatePath <em>chemin-répertoire</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Répertoire des certificats de CA codés en PEM pour
l'authentification des clients</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fichier contenant la concaténation des certificats de CA
-codés en PEM pour la définition de noms de CA acceptables</td></tr>
-<tr><td><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath <em>chemin-répertoire</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Répertoire contenant des fichiers de certificats de CA
-codés en PEM pour la définition de noms de CA acceptables</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck chain|leaf|none <em>flag</em>s</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la vérification des révocations basée sur les CRL</td></tr>
-<tr><td><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Fichier contenant la concaténation des CRLs des CA codés en
+<tr class="odd"><td><a href="mod_ssl.html#sslcadnrequestfile">SSLCADNRequestFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fichier contenant la concaténation des certificats de CA
+codés en PEM pour la définition de noms de CA acceptables</td></tr>
+<tr><td><a href="mod_ssl.html#sslcadnrequestpath">SSLCADNRequestPath <em>chemin-répertoire</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Répertoire contenant des fichiers de certificats de CA
+codés en PEM pour la définition de noms de CA acceptables</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck chain|leaf|none <em>flag</em>s</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la vérification des révocations basée sur les CRL</td></tr>
+<tr><td><a href="mod_ssl.html#sslcarevocationfile">SSLCARevocationFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Fichier contenant la concaténation des CRLs des CA codés en
PEM pour l'authentification des clients</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath <em>chemin-répertoire</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Répertoire des CRLs de CA codés en PEM pour
+<tr class="odd"><td><a href="mod_ssl.html#sslcarevocationpath">SSLCARevocationPath <em>chemin-répertoire</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Répertoire des CRLs de CA codés en PEM pour
l'authentification des clients</td></tr>
-<tr><td><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Fichier contenant les certificats de CA du serveur codés en
+<tr><td><a href="mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Fichier contenant les certificats de CA du serveur codés en
PEM</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile <var>file-path</var>|<var>certid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fichier de données contenant les informations de certificat X.509 du serveur
-codées au format PEM ou identificateur de jeton</td></tr>
-<tr><td><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile <var>file-path</var>|<var>keyid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Fichier contenant la clé privée du serveur codée en
+<tr class="odd"><td><a href="mod_ssl.html#sslcertificatefile">SSLCertificateFile <var>file-path</var>|<var>certid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fichier de données contenant les informations de certificat X.509 du serveur
+codées au format PEM ou identificateur de jeton</td></tr>
+<tr><td><a href="mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile <var>file-path</var>|<var>keyid</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Fichier contenant la clé privée du serveur codée en
PEM</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> DEFAULT (dépend de +</td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Algorithmes de chiffrement disponibles pour la négociation
+<tr class="odd"><td><a href="mod_ssl.html#sslciphersuite">SSLCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> DEFAULT (dépend de +</td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Algorithmes de chiffrement disponibles pour la négociation
au cours de l'initialisation de la connexion SSL</td></tr>
<tr><td><a href="mod_ssl.html#sslcompression">SSLCompression on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Permet d'activer la compression au niveau SSL</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice <em>moteur</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active l'utilisation d'un accélérateur matériel de
+<tr class="odd"><td><a href="mod_ssl.html#sslcryptodevice">SSLCryptoDevice <em>moteur</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active l'utilisation d'un accélérateur matériel de
chiffrement</td></tr>
-<tr><td><a href="mod_ssl.html#sslengine">SSLEngine on|off|optional</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Interrupteur marche/arrêt du moteur SSL</td></tr>
+<tr><td><a href="mod_ssl.html#sslengine">SSLEngine on|off|optional</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Interrupteur marche/arrêt du moteur SSL</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslfips">SSLFIPS on|off</a></td><td> off </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Coimmutateur du mode SSL FIPS</td></tr>
<tr><td><a href="mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Option permettant de classer les algorithmes de chiffrement
-du serveur par ordre de préférence</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Option permettant d'activer le support de la renégociation
-non sécurisée</td></tr>
-<tr><td><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSDefaultResponder <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit l'URI du répondeur par défaut pour la validation
+du serveur par ordre de préférence</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslinsecurerenegotiation">SSLInsecureRenegotiation on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Option permettant d'activer le support de la renégociation
+non sécurisée</td></tr>
+<tr><td><a href="mod_ssl.html#sslocspdefaultresponder">SSLOCSDefaultResponder <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit l'URI du répondeur par défaut pour la validation
OCSP</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable on|leaf|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la validation OCSP de la chaîne de certificats du
+<tr class="odd"><td><a href="mod_ssl.html#sslocspenable">SSLOCSPEnable on|leaf|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la validation OCSP de la chaîne de certificats du
client</td></tr>
-<tr><td><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Evite la vérification des certificats des répondeurs OCSP</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force l'utilisation de l'URI du répondeur par défaut pour
+<tr><td><a href="mod_ssl.html#sslocspnoverify">SSLOCSPNoverify on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Evite la vérification des certificats des répondeurs OCSP</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslocspoverrideresponder">SSLOCSPOverrideResponder on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Force l'utilisation de l'URI du répondeur par défaut pour
la validation OCSP</td></tr>
-<tr><td><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL <em>url</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Adresse de mandataire à utiliser pour les requêtes OCSP</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile <em>file</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un jeu de certificats de confiance du répondeur OCSP avec
+<tr><td><a href="mod_ssl.html#sslocspproxyurl">SSLOCSPProxyURL <em>url</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Adresse de mandataire à utiliser pour les requêtes OCSP</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslocsprespondercertificatefile">SSLOCSPResponderCertificateFile <em>file</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fournit un jeu de certificats de confiance du répondeur OCSP avec
encodage PEM</td></tr>
-<tr><td><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout <em>secondes</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Délai d'attente pour les requêtes OCSP</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge <em>secondes</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Age maximum autorisé pour les réponses OCSP</td></tr>
-<tr><td><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew <em>secondes</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dérive temporelle maximale autorisée pour la validation des
-réponses OCSP</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Utilisation d'un nombre à usage unique au sein des requêtes
+<tr><td><a href="mod_ssl.html#sslocsprespondertimeout">SSLOCSPResponderTimeout <em>secondes</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Délai d'attente pour les requêtes OCSP</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslocspresponsemaxage">SSLOCSPResponseMaxAge <em>secondes</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Age maximum autorisé pour les réponses OCSP</td></tr>
+<tr><td><a href="mod_ssl.html#sslocspresponsetimeskew">SSLOCSPResponseTimeSkew <em>secondes</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dérive temporelle maximale autorisée pour la validation des
+réponses OCSP</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslocspuserequestnonce">SSLOCSPUseRequestNonce on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Utilisation d'un nombre à usage unique au sein des requêtes
OCSP</td></tr>
-<tr><td><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd <em>commande</em> <em>valeur</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configuration des paramètres d'OpenSSL via son API <em>SSL_CONF</em></td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#ssloptions">SSLOptions [+|-]<em>option</em> ...</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure différentes options d'exécution du moteur
+<tr><td><a href="mod_ssl.html#sslopensslconfcmd">SSLOpenSSLConfCmd <em>commande</em> <em>valeur</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configuration des paramètres d'OpenSSL via son API <em>SSL_CONF</em></td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#ssloptions">SSLOptions [+|-]<em>option</em> ...</a></td><td></td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configure différentes options d'exécution du moteur
SSL</td></tr>
-<tr><td><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog <em>type</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Méthode utilisée pour entrer le mot de passe pour les clés
-privées chiffrées</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslpolicy">SSLPolicy <em>name</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Applique une politique SSL en la référençant par son nom</td></tr>
+<tr><td><a href="mod_ssl.html#sslpassphrasedialog">SSLPassPhraseDialog <em>type</em></a></td><td> builtin </td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Méthode utilisée pour entrer le mot de passe pour les clés
+privées chiffrées</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslpolicy">SSLPolicy <em>name</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Applique une politique SSL en la référençant par son nom</td></tr>
<tr><td><a href="mod_ssl.html#sslprotocol">SSLProtocol [+|-]<em>protocole</em> ...</a></td><td> all -SSLv3 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Indique les versions du protocole SSL/TLS
disponibles</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fichier contenant la concaténation des certificats de CA
-codés en PEM pour l'authentification des serveurs distants</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath <em>chemin-répertoire</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Répertoire des certificats de CA codés en PEM pour
+<tr class="odd"><td><a href="mod_ssl.html#sslproxycacertificatefile">SSLProxyCACertificateFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fichier contenant la concaténation des certificats de CA
+codés en PEM pour l'authentification des serveurs distants</td></tr>
+<tr><td><a href="mod_ssl.html#sslproxycacertificatepath">SSLProxyCACertificatePath <em>chemin-répertoire</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Répertoire des certificats de CA codés en PEM pour
l'authentification des serveurs distants</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck chain|leaf|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la vérification des révocations basée sur les CRLs
+<tr class="odd"><td><a href="mod_ssl.html#sslproxycarevocationcheck">SSLProxyCARevocationCheck chain|leaf|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Active la vérification des révocations basée sur les CRLs
pour l'authentification du serveur distant</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Fichier contenant la concaténation des CRLs de CA codés en
+<tr><td><a href="mod_ssl.html#sslproxycarevocationfile">SSLProxyCARevocationFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Fichier contenant la concaténation des CRLs de CA codés en
PEM pour l'authentification des serveurs distants</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath <em>chemin-répertoire</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Répertoire des CRLs de CA codés en PEM pour
+<tr class="odd"><td><a href="mod_ssl.html#sslproxycarevocationpath">SSLProxyCARevocationPath <em>chemin-répertoire</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Répertoire des CRLs de CA codés en PEM pour
l'authentification des serveurs distants</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configuration de la vérification du champ CN du certificat
+<tr><td><a href="mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configuration de la vérification du champ CN du certificat
du serveur distant
</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configuration de la vérification de l'expiration du
+<tr class="odd"><td><a href="mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configuration de la vérification de l'expiration du
certificat du serveur distant
</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure la vérification du nom d'hôte pour les
+<tr><td><a href="mod_ssl.html#sslproxycheckpeername">SSLProxyCheckPeerName on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configure la vérification du nom d'hôte pour les
certificats serveur distant
</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> ALL:!ADH:RC4+RSA:+H +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Algorithmes de chiffrement disponibles pour la négociation
+<tr class="odd"><td><a href="mod_ssl.html#sslproxyciphersuite">SSLProxyCipherSuite [<em>protocol</em>] <em>cipher-spec</em></a></td><td> ALL:!ADH:RC4+RSA:+H +</td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Algorithmes de chiffrement disponibles pour la négociation
lors de l'initialisation d'une connexion SSL de mandataire</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Interrupteur marche/arrêt du moteur de mandataire
+<tr><td><a href="mod_ssl.html#sslproxyengine">SSLProxyEngine on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Interrupteur marche/arrêt du moteur de mandataire
SSL</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile <em>nom-fichier</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fichier de certificats de CA encodés PEM concaténés permettant au
+<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatechainfile">SSLProxyMachineCertificateChainFile <em>nom-fichier</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Fichier de certificats de CA encodés PEM concaténés permettant au
mandataire de choisir un certificat</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Fichier contenant la concaténation des clés et certificats
-clients codés en PEM que le mandataire doit utiliser</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>chemin-répertoire</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Répertoire des clés et certificats clients codés en PEM que
+<tr><td><a href="mod_ssl.html#sslproxymachinecertificatefile">SSLProxyMachineCertificateFile <em>file-path</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Fichier contenant la concaténation des clés et certificats
+clients codés en PEM que le mandataire doit utiliser</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslproxymachinecertificatepath">SSLProxyMachineCertificatePath <em>chemin-répertoire</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Répertoire des clés et certificats clients codés en PEM que
le mandataire doit utiliser</td></tr>
-<tr><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocole</em> ...</a></td><td> all -SSLv3 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit les protocoles SSL disponibles pour la fonction de
+<tr><td><a href="mod_ssl.html#sslproxyprotocol">SSLProxyProtocol [+|-]<em>protocole</em> ...</a></td><td> all -SSLv3 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit les protocoles SSL disponibles pour la fonction de
mandataire</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>niveau</em></a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Niveau de vérification du certificat du serveur
+<tr class="odd"><td><a href="mod_ssl.html#sslproxyverify">SSLProxyVerify <em>niveau</em></a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Niveau de vérification du certificat du serveur
distant</td></tr>
<tr><td><a href="mod_ssl.html#sslproxyverifydepth">SSLProxyVerifyDepth <em>niveau</em></a></td><td> 1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Niveau de profondeur maximum dans les certificats de CA
-lors de la vérification du certificat du serveur distant</td></tr>
+lors de la vérification du certificat du serveur distant</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslrandomseed">SSLRandomSeed <em>contexte</em> <em>source</em>
-[<em>nombre</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Source de déclenchement du Générateur de Nombres
-Pseudo-Aléatoires (PRNG)</td></tr>
-<tr><td><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize <var>taille</var></a></td><td> 131072 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit la taille du tampon de renégociation
+[<em>nombre</em>]</a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Source de déclenchement du Générateur de Nombres
+Pseudo-Aléatoires (PRNG)</td></tr>
+<tr><td><a href="mod_ssl.html#sslrenegbuffersize">SSLRenegBufferSize <var>taille</var></a></td><td> 131072 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit la taille du tampon de renégociation
SSL</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslrequire">SSLRequire <em>expression</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">N'autorise l'accès que lorsqu'une expression booléenne
+<tr class="odd"><td><a href="mod_ssl.html#sslrequire">SSLRequire <em>expression</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">N'autorise l'accès que lorsqu'une expression booléenne
complexe et arbitraire est vraie</td></tr>
-<tr><td><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Interdit l'accès lorsque la requête HTTP n'utilise pas
+<tr><td><a href="mod_ssl.html#sslrequiressl">SSLRequireSSL</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Interdit l'accès lorsque la requête HTTP n'utilise pas
SSL</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslsessioncache">SSLSessionCache <em>type</em></a></td><td> none </td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Type du cache de session SSL global et
inter-processus</td></tr>
<tr><td><a href="mod_ssl.html#sslsessioncachetimeout">SSLSessionCacheTimeout <em>secondes</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Nombre de secondes avant l'expiration d'une session SSL
dans le cache de sessions</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Clé de chiffrement/déchiffrement permanente pour les
+<tr class="odd"><td><a href="mod_ssl.html#sslsessionticketkeyfile">SSLSessionTicketKeyFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Clé de chiffrement/déchiffrement permanente pour les
tickets de session TLS</td></tr>
-<tr><td><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Active ou désactive les tickets de session TLS</td></tr>
+<tr><td><a href="mod_ssl.html#sslsessiontickets">SSLSessionTickets on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Active ou désactive les tickets de session TLS</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslsrpunknownuserseed">SSLSRPUnknownUserSeed <em>secret-string</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Source de randomisation pour utilisateur SRP inconnu</td></tr>
-<tr><td><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Chemin du fichier de vérification SRP</td></tr>
+<tr><td><a href="mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile <var>file-path</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Chemin du fichier de vérification SRP</td></tr>
<tr class="odd"><td><a href="mod_ssl.html#sslstaplingcache">SSLStaplingCache <em>type</em></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configuration du cache pour l'agrafage OCSP</td></tr>
-<tr><td><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout <em>secondes</em></a></td><td> 600 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée de vie des réponses invalides dans le cache pour
+<tr><td><a href="mod_ssl.html#sslstaplingerrorcachetimeout">SSLStaplingErrorCacheTimeout <em>secondes</em></a></td><td> 600 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Durée de vie des réponses invalides dans le cache pour
agrafage OCSP</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Génère une réponse "tryLater" pour les requêtes OCSP échouées</td></tr>
-<tr><td><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Remplace l'URI du serveur OCSP spécifié dans l'extension
+<tr class="odd"><td><a href="mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Génère une réponse "tryLater" pour les requêtes OCSP échouées</td></tr>
+<tr><td><a href="mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL <em>uri</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Remplace l'URI du serveur OCSP spécifié dans l'extension
AIA du certificat</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout <em>secondes</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Temps d'attente maximum pour les requêtes vers les serveurs
+<tr class="odd"><td><a href="mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout <em>secondes</em></a></td><td> 10 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Temps d'attente maximum pour les requêtes vers les serveurs
OCSP</td></tr>
-<tr><td><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge <em>secondes</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Age maximum autorisé des réponses OCSP incluses dans la
-négociation TLS</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew <em>secondes</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Durée de vie maximale autorisée des réponses OCSP incluses dans la
-négociation TLS</td></tr>
-<tr><td><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Transmet au client les erreurs survenues lors des requêtes
+<tr><td><a href="mod_ssl.html#sslstaplingresponsemaxage">SSLStaplingResponseMaxAge <em>secondes</em></a></td><td> -1 </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Age maximum autorisé des réponses OCSP incluses dans la
+négociation TLS</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslstaplingresponsetimeskew">SSLStaplingResponseTimeSkew <em>secondes</em></a></td><td> 300 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Durée de vie maximale autorisée des réponses OCSP incluses dans la
+négociation TLS</td></tr>
+<tr><td><a href="mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors on|off</a></td><td> on </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Transmet au client les erreurs survenues lors des requêtes
OCSP</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout <em>secondes</em></a></td><td> 3600 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Durée de vie des réponses OCSP dans le cache</td></tr>
-<tr><td><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Contrôle de l'accès des clients non-SNI à un serveur virtuel à
+<tr class="odd"><td><a href="mod_ssl.html#sslstaplingstandardcachetimeout">SSLStaplingStandardCacheTimeout <em>secondes</em></a></td><td> 3600 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Durée de vie des réponses OCSP dans le cache</td></tr>
+<tr><td><a href="mod_ssl.html#sslstrictsnivhostcheck">SSLStrictSNIVHostCheck on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Contrôle de l'accès des clients non-SNI à un serveur virtuel à
base de nom.
</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslusername">SSLUserName <em>nom-var</em></a></td><td></td><td>sdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nom de la variable servant à déterminer le nom de
+<tr class="odd"><td><a href="mod_ssl.html#sslusername">SSLUserName <em>nom-var</em></a></td><td></td><td>sdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nom de la variable servant à déterminer le nom de
l'utilisateur</td></tr>
-<tr><td><a href="mod_ssl.html#sslusestapling">SSLUseStapling on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Active l'ajout des réponses OCSP à la négociation TLS</td></tr>
-<tr class="odd"><td><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient <em>niveau</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Niveau de vérification du certificat client</td></tr>
+<tr><td><a href="mod_ssl.html#sslusestapling">SSLUseStapling on|off</a></td><td> off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Active l'ajout des réponses OCSP à la négociation TLS</td></tr>
+<tr class="odd"><td><a href="mod_ssl.html#sslverifyclient">SSLVerifyClient <em>niveau</em></a></td><td> none </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Niveau de vérification du certificat client</td></tr>
<tr><td><a href="mod_ssl.html#sslverifydepth">SSLVerifyDepth <em>nombre</em></a></td><td> 1 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Profondeur maximale des certificats de CA pour la
-vérification des certificats clients</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#startservers">StartServers <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre de processus enfants du serveur créés au
-démarrage</td></tr>
-<tr><td><a href="mpm_common.html#startthreads">StartThreads <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Nombre de threads créés au démarrage</td></tr>
-<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/modèle/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Modèle de substition dans le contenu de la
-réponse</td></tr>
-<tr><td><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Modifie l'ordre de fusion des modèles hérités</td></tr>
-<tr class="odd"><td><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength <var>octets</var>(b|B|k|K|m|M|g|G)</a></td><td> 1m </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la longueur de ligne maximale</td></tr>
-<tr><td><a href="mod_unixd.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Active ou désactive la fonctionnalité suEXEC</td></tr>
+vérification des certificats clients</td></tr>
+<tr class="odd"><td><a href="mpm_common.html#startservers">StartServers <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre de processus enfants du serveur créés au
+démarrage</td></tr>
+<tr><td><a href="mpm_common.html#startthreads">StartThreads <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Nombre de threads créés au démarrage</td></tr>
+<tr class="odd"><td><a href="mod_substitute.html#substitute">Substitute <var>s/modèle/substitution/[infq]</var></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Modèle de substition dans le contenu de la
+réponse</td></tr>
+<tr><td><a href="mod_substitute.html#substituteinheritbefore">SubstituteInheritBefore on|off</a></td><td> on </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Modifie l'ordre de fusion des modèles hérités</td></tr>
+<tr class="odd"><td><a href="mod_substitute.html#substitutemaxlinelength">SubstituteMaxLineLength <var>octets</var>(b|B|k|K|m|M|g|G)</a></td><td> 1m </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la longueur de ligne maximale</td></tr>
+<tr><td><a href="mod_unixd.html#suexec">Suexec On|Off</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Active ou désactive la fonctionnalité suEXEC</td></tr>
<tr class="odd"><td><a href="mod_suexec.html#suexecusergroup">SuexecUserGroup <em>Utilisateur Groupe</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">L'utilisateur et le groupe sous lesquels les programmes CGI
-doivent s'exécuter</td></tr>
-<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Le nombre de threads maximum que l'on peut définir par
+doivent s'exécuter</td></tr>
+<tr><td><a href="mpm_common.html#threadlimit" id="T" name="T">ThreadLimit <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Le nombre de threads maximum que l'on peut définir par
processus enfant</td></tr>
-<tr class="odd"><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre de threads créés par chaque processus
+<tr class="odd"><td><a href="mpm_common.html#threadsperchild">ThreadsPerChild <var>nombre</var></a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Nombre de threads créés par chaque processus
enfant</td></tr>
<tr><td><a href="mpm_common.html#threadstacksize">ThreadStackSize <var>taille</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">La taille en octets de la pile qu'utilisent les threads qui
traitent les connexions clients</td></tr>
<tr class="odd"><td><a href="core.html#timeout">TimeOut <var>time-interval</var>[s]</a></td><td> 60 </td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Temps pendant lequel le serveur va attendre certains
-évènements avant de considérer qu'une requête a échoué</td></tr>
-<tr><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Détermine le comportement des requêtes
+évènements avant de considérer qu'une requête a échoué</td></tr>
+<tr><td><a href="core.html#traceenable">TraceEnable <var>[on|off|extended]</var></a></td><td> on </td><td>sv</td><td>C</td></tr><tr><td class="descr" colspan="4">Détermine le comportement des requêtes
<code>TRACE</code></td></tr>
-<tr class="odd"><td><a href="mod_log_config.html#transferlog">TransferLog <var>fichier</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie l'emplacement d'un fichier journal</td></tr>
+<tr class="odd"><td><a href="mod_log_config.html#transferlog">TransferLog <var>fichier</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Spécifie l'emplacement d'un fichier journal</td></tr>
<tr><td><a href="mod_mime.html#typesconfig">TypesConfig <var>chemin-fichier</var></a></td><td> conf/mime.types </td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Le chemin du fichier <code>mime.types</code></td></tr>
-<tr class="odd"><td><a href="core.html#undefine" id="U" name="U">UnDefine <var>nom-variable</var></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Invalide la définition d'une variable</td></tr>
+<tr class="odd"><td><a href="core.html#undefine" id="U" name="U">UnDefine <var>nom-variable</var></a></td><td></td><td>sv</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Invalide la définition d'une variable</td></tr>
<tr><td><a href="mod_macro.html#undefmacro">UndefMacro <var>nom</var></a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Supprime une macro</td></tr>
<tr class="odd"><td><a href="mod_env.html#unsetenv">UnsetEnv <var>var-env</var> [<var>var-env</var>]
...</a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Supprime des variables de l'environnement</td></tr>
<tr><td><a href="mod_macro.html#use">Use <var>nom</var> [<var>valeur1</var> ... <var>valeurN</var>]
</a></td><td></td><td>svd</td><td>B</td></tr><tr><td class="descr" colspan="4">Utilisation d'une macro</td></tr>
-<tr class="odd"><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la manière dont le serveur détermine son propre nom
+<tr class="odd"><td><a href="core.html#usecanonicalname">UseCanonicalName On|Off|DNS</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Définit la manière dont le serveur détermine son propre nom
et son port</td></tr>
-<tr><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Définit la manière dont le serveur
-détermine son propre port</td></tr>
+<tr><td><a href="core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort On|Off</a></td><td> Off </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Définit la manière dont le serveur
+détermine son propre port</td></tr>
<tr class="odd"><td><a href="mod_unixd.html#user">User <var>utilisateur unix</var></a></td><td> #-1 </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">L'utilisateur sous lequel le serveur va traiter les
-requêtes</td></tr>
-<tr><td><a href="mod_userdir.html#userdir">UserDir <em>nom-répertoire</em> [<em>nom-répertoire</em>] ...
-</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Chemin des répertoires propres à un
+requêtes</td></tr>
+<tr><td><a href="mod_userdir.html#userdir">UserDir <em>nom-répertoire</em> [<em>nom-répertoire</em>] ...
+</a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Chemin des répertoires propres à un
utilisateur</td></tr>
-<tr class="odd"><td><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode On|Off|Secure</a></td><td> On </td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si le serveur virtuel peut exécuter des
-sous-processus, et définit les privilèges disponibles pour ces
+<tr class="odd"><td><a href="mod_privileges.html#vhostcgimode" id="V" name="V">VHostCGIMode On|Off|Secure</a></td><td> On </td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si le serveur virtuel peut exécuter des
+sous-processus, et définit les privilèges disponibles pour ces
dernier.</td></tr>
-<tr><td><a href="mod_privileges.html#vhostcgiprivs">VHostPrivs [+-]?<var>nom-privilège</var> [[+-]?nom-privilège] ...</a></td><td></td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Assigne des privilèges au choix aux sous-processus créés
+<tr><td><a href="mod_privileges.html#vhostcgiprivs">VHostPrivs [+-]?<var>nom-privilège</var> [[+-]?nom-privilège] ...</a></td><td></td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Assigne des privilèges au choix aux sous-processus créés
par un serveur virtuel.</td></tr>
-<tr class="odd"><td><a href="mod_privileges.html#vhostgroup">VHostGroup <var>identifiant-groupe-unix</var></a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Définit l'identifiant du groupe sous lequel s'exécute un
+<tr class="odd"><td><a href="mod_privileges.html#vhostgroup">VHostGroup <var>identifiant-groupe-unix</var></a></td><td></td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Définit l'identifiant du groupe sous lequel s'exécute un
serveur virtuel.</td></tr>
-<tr><td><a href="mod_privileges.html#vhostprivs">VHostPrivs [+-]?<var>nom-privilège</var> [[+-]?nom-privilège] ...</a></td><td></td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Assigne des privilèges à un serveur virtuel.</td></tr>
-<tr class="odd"><td><a href="mod_privileges.html#vhostsecure">VHostSecure On|Off</a></td><td> On </td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si le serveur s'exécute avec une sécurité avancée
+<tr><td><a href="mod_privileges.html#vhostprivs">VHostPrivs [+-]?<var>nom-privilège</var> [[+-]?nom-privilège] ...</a></td><td></td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Assigne des privilèges à un serveur virtuel.</td></tr>
+<tr class="odd"><td><a href="mod_privileges.html#vhostsecure">VHostSecure On|Off</a></td><td> On </td><td>v</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine si le serveur s'exécute avec une sécurité avancée
pour les serveurs virtuels.</td></tr>
-<tr><td><a href="mod_privileges.html#vhostuser">VHostUser <var>identifiant-utilisateur-unix</var></a></td><td></td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Définit l'identifiant utilisateur sous lequel s'exécute un
+<tr><td><a href="mod_privileges.html#vhostuser">VHostUser <var>identifiant-utilisateur-unix</var></a></td><td></td><td>v</td><td>X</td></tr><tr><td class="descr" colspan="4">Définit l'identifiant utilisateur sous lequel s'exécute un
serveur virtuel.</td></tr>
-<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot <em>répertoire-interpolé</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Permet une configuration dynamique de la racine des
-documents d'un serveur virtuel donné</td></tr>
-<tr><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>répertoire-interpolé</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configuration dynamique de la racine des documents pour un
-serveur virtuel donné</td></tr>
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualdocumentroot">VirtualDocumentRoot <em>répertoire-interpolé</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Permet une configuration dynamique de la racine des
+documents d'un serveur virtuel donné</td></tr>
+<tr><td><a href="mod_vhost_alias.html#virtualdocumentrootip">VirtualDocumentRootIP <em>répertoire-interpolé</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configuration dynamique de la racine des documents pour un
+serveur virtuel donné</td></tr>
<tr class="odd"><td><a href="core.html#virtualhost"><VirtualHost
<var>adresse IP</var>[:<var>port</var>] [<var>adresse
IP</var>[:<var>port</var>]] ...> ...
- </VirtualHost></a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contient des directives qui ne s'appliquent qu'à un nom
-d'hôte spécifique ou à une adresse IP</td></tr>
-<tr><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>répertoire-interpolé</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configuration dynamique du répertoire des scripts CGI pour
-un serveur virtuel donné</td></tr>
-<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>répertoire-interpolé</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configuration dynamique du répertoire des scripts CGI pour
-un serveur virtuel donné</td></tr>
+ </VirtualHost></a></td><td></td><td>s</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Contient des directives qui ne s'appliquent qu'à un nom
+d'hôte spécifique ou à une adresse IP</td></tr>
+<tr><td><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias <em>répertoire-interpolé</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Configuration dynamique du répertoire des scripts CGI pour
+un serveur virtuel donné</td></tr>
+<tr class="odd"><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>répertoire-interpolé</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Configuration dynamique du répertoire des scripts CGI pour
+un serveur virtuel donné</td></tr>
<tr><td><a href="core.html#warning" id="W" name="W">Warning <var>message</var></a></td><td></td><td>svdh</td><td>C</td></tr><tr><td class="descr" colspan="4">Message d'avertissement personnalisable en provenance de
-l'interprétation du fichier de configuration</td></tr>
+l'interprétation du fichier de configuration</td></tr>
<tr class="odd"><td><a href="mod_watchdog.html#watchdoginterval">WatchdogInterval <var>time-interval</var>[s]</a></td><td> 1 </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Intervalle Watchdog en secondes</td></tr>
-<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Interprète les directives SSI dans les fichiers dont le bit
-d'exécution est positionné</td></tr>
+<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Interprète les directives SSI dans les fichiers dont le bit
+d'exécution est positionné</td></tr>
<tr class="odd"><td><a href="mod_xml2enc.html#xml2encalias">xml2EncAlias <var>charset alias [alias ...]</var></a></td><td></td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Recognise Aliases for encoding values</td></tr>
<tr><td><a href="mod_xml2enc.html#xml2encdefault">xml2EncDefault <var>name</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets a default encoding to assume when absolutely no information
can be <a href="#sniffing">automatically detected</a></td></tr>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../de/mod/quickreference.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/quickreference.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/mod/quickreference.html" title="Français"> fr </a> |
+<a href="../es/mod/quickreference.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/mod/quickreference.html" title="Français"> fr </a> |
<a href="../ja/mod/quickreference.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/quickreference.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../tr/mod/quickreference.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/mod/quickreference.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/worker.html" title="Français"> fr </a> |
+<a href="../fr/mod/worker.html" title="Français"> fr </a> |
<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
-<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module multi-processus implémentant un serveur web hybride
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module multi-processus implémentant un serveur web hybride
multi-processus multi-thread</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
-<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_worker_module</td></tr>
-<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>worker.c</td></tr></table>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>mpm_worker_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>worker.c</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module multi-processus (MPM) implémente un serveur hybride
+ <p>Ce module multi-processus (MPM) implémente un serveur hybride
multi-processus multi-thread. En utilisant les threads pour servir
- les requêtes, il peut en traiter un grand nombre tout en consommant
- moins de ressources qu'un serveur à base de processus. Cependant, il
- conserve une grande partie de la stabilité d'un serveur à base de
+ les requêtes, il peut en traiter un grand nombre tout en consommant
+ moins de ressources qu'un serveur à base de processus. Cependant, il
+ conserve une grande partie de la stabilité d'un serveur à base de
processus en maintenant plusieurs processus disponibles, chacun de
- ces derniers possédant de nombreux threads.</p>
+ ces derniers possédant de nombreux threads.</p>
- <p>Les directives les plus importantes qui permettent de contrôler
- ce MPM sont <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>, qui définit le
- nombre de threads lancés par chaque processus enfant et <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>, qui définit le nombre
- global maximum de threads qui peuvent être lancés.</p>
+ <p>Les directives les plus importantes qui permettent de contrôler
+ ce MPM sont <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>, qui définit le
+ nombre de threads lancés par chaque processus enfant et <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>, qui définit le nombre
+ global maximum de threads qui peuvent être lancés.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
-<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Comment ça marche</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Comment ça marche</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li>
</ul>
-<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_worker">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_worker">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
+<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_worker">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_worker">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
-<li><a href="../bind.html">Définition des adresses et ports
+<li><a href="../bind.html">Définition des adresses et ports
qu'utilise le serveur HTTP Apache</a></li>
<li><a href="#comments_section">Commentaires</a></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="how-it-works" id="how-it-works">Comment ça marche</a><a title="Lien permanent" href="#how-it-works" class="permalink">¶</a></h2>
- <p>Un processus de contrôle unique (le parent) a pour tâche de
- lancer les processus enfants. Chaque processus enfant crée un nombre
+<h2><a name="how-it-works" id="how-it-works">Comment ça marche</a><a title="Lien permanent" href="#how-it-works" class="permalink">¶</a></h2>
+ <p>Un processus de contrôle unique (le parent) a pour tâche de
+ lancer les processus enfants. Chaque processus enfant crée un nombre
fixe de threads serveurs selon la valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>, ainsi
- qu'un thread chargé d'attendre les connexions et de les passer à un
- thread serveur pour traitement au fur et à mesure de leur arrivée.</p>
+ qu'un thread chargé d'attendre les connexions et de les passer à un
+ thread serveur pour traitement au fur et à mesure de leur arrivée.</p>
<p>Le serveur HTTP Apache essaie toujours de maintenir un jeu de
threads serveurs
- inactifs ou <dfn>en réserve</dfn>, qui se tiennent prêts à traiter
- les requêtes entrantes. De cette façon, les clients n'ont pas besoin
- d'attendre la création d'un nouveau thread ou d'un nouveau processus
- pour que leurs requêtes puissent être traitées. Le nombre de
- processus lancés initialement est défini par la directive <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code>. En cours de
- fonctionnement, le serveur évalue le nombre total de threads inactifs
- dans tous les processus, et en crée ou en arrête de façon à
- maintenir ce nombre à l'intérieur des limites définies par les
+ inactifs ou <dfn>en réserve</dfn>, qui se tiennent prêts à traiter
+ les requêtes entrantes. De cette façon, les clients n'ont pas besoin
+ d'attendre la création d'un nouveau thread ou d'un nouveau processus
+ pour que leurs requêtes puissent être traitées. Le nombre de
+ processus lancés initialement est défini par la directive <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code>. En cours de
+ fonctionnement, le serveur évalue le nombre total de threads inactifs
+ dans tous les processus, et en crée ou en arrête de façon à
+ maintenir ce nombre à l'intérieur des limites définies par les
directives <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> et <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code>. Comme ce module
- s'auto-contrôle de manière efficace, on peut en général conserver
- les valeurs par défaut. Le nombre maximum de clients pouvant être
- servis simultanément (c'est à dire le nombre global maximum de
- threads pour tous les processus) est défini par la directive
+ s'auto-contrôle de manière efficace, on peut en général conserver
+ les valeurs par défaut. Le nombre maximum de clients pouvant être
+ servis simultanément (c'est à dire le nombre global maximum de
+ threads pour tous les processus) est défini par la directive
<code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>. Le nombre
- maximum de processus enfants actifs est défini par la valeur de la
+ maximum de processus enfants actifs est défini par la valeur de la
directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>
- divisée par la valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">
+ divisée par la valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">
ThreadsPerChild</a></code>.</p>
<p>Deux directives permettent de fixer des limites absolues pour le
nombre de processus enfants actifs et le nombre de threads serveurs
- par processus enfant, et ne peuvent être modifiées qu'en
- arrêtant complètement le serveur et en le démarrant à nouveau.
+ par processus enfant, et ne peuvent être modifiées qu'en
+ arrêtant complètement le serveur et en le démarrant à nouveau.
La valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> constitue une limite
- absolue pour le nombre de processus enfants actifs, et doit être
- supérieure ou égale à la valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> divisée par la valeur de
+ absolue pour le nombre de processus enfants actifs, et doit être
+ supérieure ou égale à la valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> divisée par la valeur de
la directive <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">
ThreadsPerChild</a></code>. La valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#threadlimit">ThreadLimit</a></code> constitue une limite
- absolue pour le nombre de threads par processus enfant, et doit être
- supérieure ou égale à la valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>.</p>
+ absolue pour le nombre de threads par processus enfant, et doit être
+ supérieure ou égale à la valeur de la directive <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>.</p>
<p>En plus du jeu de processus enfants actifs, il peut exister
- quelques processus enfants en cours d'arrêt, mais dont au moins un
+ quelques processus enfants en cours d'arrêt, mais dont au moins un
thread serveur est encore en train de traiter une connexion client
- existante. Il peut subsister en théorie jusqu'à <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> processus en cours
- d'arrêt, bien qu'en réalité, ce nombre sera en général beaucoup plus
- petit. Ce comportement peut être évité en désactivant l'arrêt de
- processus enfants individuels de la manière suivante :</p>
+ existante. Il peut subsister en théorie jusqu'à <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> processus en cours
+ d'arrêt, bien qu'en réalité, ce nombre sera en général beaucoup plus
+ petit. Ce comportement peut être évité en désactivant l'arrêt de
+ processus enfants individuels de la manière suivante :</p>
<ul>
- <li>définir la valeur de <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">
- MaxConnectionsPerChild</a></code> à zéro</li>
+ <li>définir la valeur de <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">
+ MaxConnectionsPerChild</a></code> à zéro</li>
- <li>Définir la valeur de <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">
- MaxSpareThreads</a></code> à la même valeur que <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code></li>
+ <li>Définir la valeur de <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">
+ MaxSpareThreads</a></code> à la même valeur que <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code></li>
</ul>
- <p>Voici un exemple typique de configuration du contrôle
+ <p>Voici un exemple typique de configuration du contrôle
processus-thread pour le MPM <code class="module"><a href="../mod/worker.html">worker</a></code> :</p>
<pre class="prettyprint lang-config">ServerLimit 16
ThreadsPerChild 25</pre>
- <p>Alors que le processus parent est en général démarré en tant que
- <code>root</code> sous Unix afin de se mettre en écoute du port 80,
- les processus enfants et les threads sont lancés par le serveur sous un
- utilisateur avec privilèges restreints. On peut utiliser les
- directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> pour définir les privilèges
- des processus enfants. Les processus enfants doivent pouvoir être en
- mesure de lire tous les contenus destinés à être servis, mais
- doivent avoir des privilèges aussi bas que possible. De plus, ces
- directives définissent également les privilèges dont vont hériter les
+ <p>Alors que le processus parent est en général démarré en tant que
+ <code>root</code> sous Unix afin de se mettre en écoute du port 80,
+ les processus enfants et les threads sont lancés par le serveur sous un
+ utilisateur avec privilèges restreints. On peut utiliser les
+ directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> pour définir les privilèges
+ des processus enfants. Les processus enfants doivent pouvoir être en
+ mesure de lire tous les contenus destinés à être servis, mais
+ doivent avoir des privilèges aussi bas que possible. De plus, ces
+ directives définissent également les privilèges dont vont hériter les
scripts CGI (sauf si on utilise <code class="program"><a href="../programs/suexec.html">suexec</a></code>).</p>
<p>La directive <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> permet de
- définir la fréquence à laquelle le serveur recycle ses processus en
- arrêtant les plus anciens et en en lançant de nouveaux.</p>
+ définir la fréquence à laquelle le serveur recycle ses processus en
+ arrêtant les plus anciens et en en lançant de nouveaux.</p>
<p>Ce module MPM utilise le mutex <code>mpm-accept</code> pour
- sérialiser l'accès aux connexions entrantes lorsqu'un problème
- d'afflux de requêtes peut survenir (en général, lorsqu'il y a
- plusieurs sockets en écoute). Les différents aspects de
- l'implémentation de ce mutex peuvent être configurés via la
+ sérialiser l'accès aux connexions entrantes lorsqu'un problème
+ d'afflux de requêtes peut survenir (en général, lorsqu'il y a
+ plusieurs sockets en écoute). Les différents aspects de
+ l'implémentation de ce mutex peuvent être configurés via la
directive <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code>. Vous
- trouverez des informations plus détaillées à propos de ce mutex dans
- la documentation sur les <a href="../misc/perf-tuning.html">conseils en matière de
+ trouverez des informations plus détaillées à propos de ce mutex dans
+ la documentation sur les <a href="../misc/perf-tuning.html">conseils en matière de
performances</a>.</p>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../de/mod/worker.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/mod/worker.html" title="Français"> fr </a> |
+<a href="../fr/mod/worker.html" title="Français"> fr </a> |
<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
-<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/mod/worker.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./de/mpm.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/mpm.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/mpm.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/mpm.html" title="Français"> fr </a> |
+<a href="./es/mpm.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/mpm.html" title="Français"> fr </a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
-<p>Ce document décrit ce qu'est un Module Multi-Processus, ainsi
-que la manière dont ces modules sont utilisés par le serveur HTTP Apache.</p>
+<p>Ce document décrit ce qu'est un Module Multi-Processus, ainsi
+que la manière dont ces modules sont utilisés par le serveur HTTP Apache.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#introduction">Introduction</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#defaults">MPM par défaut</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#defaults">MPM par défaut</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#static">Compiler un module MPM en tant que module
statique</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#dynamic">Compiler un module MPM en tant que module
<h2><a name="introduction" id="introduction">Introduction</a><a title="Lien permanent" href="#introduction" class="permalink">¶</a></h2>
<p>La conception du serveur HTTP Apache en fait un serveur web puissant et
- flexible pouvant fonctionner sur une très grande variété de
- plateformes et toute une gamme d'environnements différents. Plateformes
- différentes et environnements différents signifient souvent fonctionnalités
- différentes, ou utilisation de différentes méthodes pour
- implémenter la même fonctionnalité le plus efficacement possible.
- Apache httpd s'est toujours accomodé d'une grande variété d'environnements
- grâce à sa conception modulaire. Cette conception autorise le webmaster
- à choisir quelles fonctionnalités seront incluses
- dans le serveur en sélectionnant les modules à charger soit à la
- compilation, soit à l'exécution.</p>
-
- <p>Le serveur HTTP Apache 2.0 a étendu cette conception modulaire aux
+ flexible pouvant fonctionner sur une très grande variété de
+ plateformes et toute une gamme d'environnements différents. Plateformes
+ différentes et environnements différents signifient souvent fonctionnalités
+ différentes, ou utilisation de différentes méthodes pour
+ implémenter la même fonctionnalité le plus efficacement possible.
+ Apache httpd s'est toujours accomodé d'une grande variété d'environnements
+ grâce à sa conception modulaire. Cette conception autorise le webmaster
+ à choisir quelles fonctionnalités seront incluses
+ dans le serveur en sélectionnant les modules à charger soit à la
+ compilation, soit à l'exécution.</p>
+
+ <p>Le serveur HTTP Apache 2.0 a étendu cette conception modulaire aux
fonctions les plus
- élémentaires d'un serveur web. Le serveur est fourni avec une variété de
+ élémentaires d'un serveur web. Le serveur est fourni avec une variété de
Modules Multi-Processus (MPMs) qui
- sont responsables de l'association aux ports réseau de la machine,
- acceptent les requêtes, et se chargent de répartir ces dernières
- entre les différents processus enfants.</p>
+ sont responsables de l'association aux ports réseau de la machine,
+ acceptent les requêtes, et se chargent de répartir ces dernières
+ entre les différents processus enfants.</p>
- <p>L'extension de la conception modulaire à ce niveau du serveur
+ <p>L'extension de la conception modulaire à ce niveau du serveur
comporte deux avantages importants :</p>
<ul>
<li>Apache httpd peut supporter plus proprement et efficacement une grande
- variété de systèmes d'exploitation. En particulier, la version Windows
+ variété de systèmes d'exploitation. En particulier, la version Windows
du serveur est maintenant beaucoup plus efficace, depuis que
- <code class="module"><a href="./mod/mpm_winnt.html">mpm_winnt</a></code> peut utiliser les fonctionnalités réseau
- natives à la place de la couche POSIX utilisée par
- Apache httpd 1.3. Cet avantage s'étend aussi aux systèmes d'exploitation
- qui implémentent des MPMs spécialisés.</li>
-
- <li>le serveur est plus à même de répondre aux besoins d'un site
- particulier. Par exemple, les sites qui sont très sollicités peuvent
- utiliser un MPM threadé comme
+ <code class="module"><a href="./mod/mpm_winnt.html">mpm_winnt</a></code> peut utiliser les fonctionnalités réseau
+ natives à la place de la couche POSIX utilisée par
+ Apache httpd 1.3. Cet avantage s'étend aussi aux systèmes d'exploitation
+ qui implémentent des MPMs spécialisés.</li>
+
+ <li>le serveur est plus à même de répondre aux besoins d'un site
+ particulier. Par exemple, les sites qui sont très sollicités peuvent
+ utiliser un MPM threadé comme
<code class="module"><a href="./mod/worker.html">worker</a></code> ou <code class="module"><a href="./mod/event.html">event</a></code>, tandis que les sites
- qui privilégient la stabilité ou la compatibilité avec des logiciels
+ qui privilégient la stabilité ou la compatibilité avec des logiciels
plus anciens peuvent utiliser un module comme
<code class="module"><a href="./mod/prefork.html">prefork</a></code>.</li>
</ul>
- <p>Du point de vue de l'utilisateur, les MPMs ne sont pas différents des
- autres modules Apache httpd. La principale différence réside dans le fait qu'un
- et un seul MPM à la fois doit être chargé
- lorsque le serveur s'exécute. La liste des
+ <p>Du point de vue de l'utilisateur, les MPMs ne sont pas différents des
+ autres modules Apache httpd. La principale différence réside dans le fait qu'un
+ et un seul MPM à la fois doit être chargé
+ lorsque le serveur s'exécute. La liste des
MPMs disponibles est fournie dans <a href="mod/">l'index des
modules</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="defaults" id="defaults">MPM par défaut</a><a title="Lien permanent" href="#defaults" class="permalink">¶</a></h2>
+<h2><a name="defaults" id="defaults">MPM par défaut</a><a title="Lien permanent" href="#defaults" class="permalink">¶</a></h2>
-<p>La table suivante fournit la liste des MPMs par défaut pour divers
-systèmes d'exploitation. Il s'agit du MPM qui sera utilisé si
-vous n'en spécifiez pas un autre à la compilation.</p>
+<p>La table suivante fournit la liste des MPMs par défaut pour divers
+systèmes d'exploitation. Il s'agit du MPM qui sera utilisé si
+vous n'en spécifiez pas un autre à la compilation.</p>
<table class="bordered"><tr><td>Netware</td><td><code class="module"><a href="./mod/mpm_netware.html">mpm_netware</a></code></td></tr>
<tr class="odd"><td>OS/2</td><td><code class="module"><a href="./mod/mpmt_os2.html">mpmt_os2</a></code></td></tr>
<tr><td>Unix</td><td><code class="module"><a href="./mod/prefork.html">prefork</a></code>, <code class="module"><a href="./mod/worker.html">worker</a></code>,
-ou <code class="module"><a href="./mod/event.html">event</a></code>, selon les possibilités de la plate-forme</td></tr>
+ou <code class="module"><a href="./mod/event.html">event</a></code>, selon les possibilités de la plate-forme</td></tr>
<tr class="odd"><td>Windows</td><td><code class="module"><a href="./mod/mpm_winnt.html">mpm_winnt</a></code></td></tr>
</table>
-<div class="note"><p>Ici, 'Unix' sous-entend les systèmes d'exploitation de type
+<div class="note"><p>Ici, 'Unix' sous-entend les systèmes d'exploitation de type
Unix, comme Linux, BSD, Solaris, Mac OS X, etc...</p></div>
-<p>Dans le cas des systèmes d'exploitation de type Unix, le choix du MPM
-à installer est orienté par deux questions :</p>
-<p>1. Est-ce que le système supporte les threads ?</p>
-<p>2. Est-ce que le système supporte le polling thread-safe (et en
+<p>Dans le cas des systèmes d'exploitation de type Unix, le choix du MPM
+à installer est orienté par deux questions :</p>
+<p>1. Est-ce que le système supporte les threads ?</p>
+<p>2. Est-ce que le système supporte le polling thread-safe (et en
particulier les fonctions kqueue et epoll) ?</p>
-<p>Si la réponse aux deux questions est 'oui', le MPM par défaut sera
+<p>Si la réponse aux deux questions est 'oui', le MPM par défaut sera
<code class="module"><a href="./mod/event.html">event</a></code>.</p>
-<p>Si la réponse à la première question est 'oui', et la réponse à la
-deuxième 'non', le MPM par défaut sera <code class="module"><a href="./mod/worker.html">worker</a></code>.</p>
+<p>Si la réponse à la première question est 'oui', et la réponse à la
+deuxième 'non', le MPM par défaut sera <code class="module"><a href="./mod/worker.html">worker</a></code>.</p>
-<p>Si la réponse aux deux questions est 'non', le MPM par défaut sera
+<p>Si la réponse aux deux questions est 'non', le MPM par défaut sera
<code class="module"><a href="./mod/prefork.html">prefork</a></code>.</p>
-<p>En pratique, cela signifie que le MPM par défaut sera presque
-toujours <code class="module"><a href="./mod/event.html">event</a></code> car tous les systèmes d'exploitation
+<p>En pratique, cela signifie que le MPM par défaut sera presque
+toujours <code class="module"><a href="./mod/event.html">event</a></code> car tous les systèmes d'exploitation
modernes satisfont aux deux conditions.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<h2><a name="static" id="static">Compiler un module MPM en tant que module
statique</a><a title="Lien permanent" href="#static" class="permalink">¶</a></h2>
- <p>Les modules MPM peuvent être compilés en tant que modules
+ <p>Les modules MPM peuvent être compilés en tant que modules
statiques sur toutes les plates-formes. A la compilation d'Apache, un
-seul module MPM doit être choisi pour être compilé et lié avec le
-serveur. La recompilation du serveur sera donc nécessaire si vous
+seul module MPM doit être choisi pour être compilé et lié avec le
+serveur. La recompilation du serveur sera donc nécessaire si vous
souhaitez changer de module MPM.</p>
- <p>Pour choisir un module MPM autre que le MPM par défaut,
+ <p>Pour choisir un module MPM autre que le MPM par défaut,
utiliser l'argument
<code>--with-mpm=<em>NOM</em></code> du script
<code class="program"><a href="./programs/configure.html">configure</a></code>. <em>NOM</em> est le nom
- du MPM désiré.</p>
+ du MPM désiré.</p>
- <p>Une fois le serveur compilé, il est possible de savoir quel MPM
- a été choisi à l'aide de la commande <code>./httpd -l</code>.
- Cette commande fournit la liste de tous les modules compilés
+ <p>Une fois le serveur compilé, il est possible de savoir quel MPM
+ a été choisi à l'aide de la commande <code>./httpd -l</code>.
+ Cette commande fournit la liste de tous les modules compilés
avec le serveur, y compris le MPM.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
DSO (Dynamic Shared Object)</a><a title="Lien permanent" href="#dynamic" class="permalink">¶</a></h2>
<p>Sous Unix et les plates-formes similaires, les modules MPM
- peuvent être compilés en tant que modules DSO et chargés
+ peuvent être compilés en tant que modules DSO et chargés
dynamiquement dans le serveur comme tout module DSO. Compiler les
modules MPM en tant que modules DSO permet de changer de MPM en
- modifiant la directive <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> concernée, sans avoir à
+ modifiant la directive <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> concernée, sans avoir à
recompiler le serveur.</p>
<pre class="prettyprint lang-config">LoadModule mpm_prefork_module modules/mod_mpm_prefork.so</pre>
<p>Toute tentative de charger plusieurs modules MPM via la directive
- <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> empêchera le
- serveur de démarrer et affichera l'erreur suivante :</p>
+ <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> empêchera le
+ serveur de démarrer et affichera l'erreur suivante :</p>
<div class="example"><p><code>AH00534: httpd: Configuration error: More than one MPM
loaded.</code></p></div>
- <p>Cette fonctionnalité est activée via l'option
+ <p>Cette fonctionnalité est activée via l'option
<code>--enable-mpms-shared</code> du script
<code class="program"><a href="./programs/configure.html">configure</a></code>. Si on ajoute l'argument
<code><em>all</em></code>, tous les modules MPM disponibles sur la
- plate-forme considérée seront installés. Cet argument peut aussi
- contenir une liste de modules MPM à installer.</p>
+ plate-forme considérée seront installés. Cet argument peut aussi
+ contenir une liste de modules MPM à installer.</p>
- <p>Le module MPM par défaut, sélectionné automatiquement ou spécifié
+ <p>Le module MPM par défaut, sélectionné automatiquement ou spécifié
via l'option <code>--with-mpm</code> du script
- <code class="program"><a href="./programs/configure.html">configure</a></code>, sera chargé via une directive
+ <code class="program"><a href="./programs/configure.html">configure</a></code>, sera chargé via une directive
<code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> du fichier de
- configuration du serveur généré. Pour choisir un autre module MPM,
+ configuration du serveur généré. Pour choisir un autre module MPM,
vous devrez donc modifier cette directive</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./de/mpm.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/mpm.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/mpm.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/mpm.html" title="Français"> fr </a> |
+<a href="./es/mpm.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/mpm.html" title="Français"> fr </a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Vue d'ensemble des nouvelles fonctionnalités de la
+<title>Vue d'ensemble des nouvelles fonctionnalités de la
version 2.0 du serveur HTTP Apache - Serveur Apache HTTP Version 2.5</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" />
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Vue d'ensemble des nouvelles fonctionnalités de la
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Vue d'ensemble des nouvelles fonctionnalités de la
version 2.0 du serveur HTTP Apache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./de/new_features_2_0.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/new_features_2_0.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/new_features_2_0.html" title="Français"> fr </a> |
+<a href="./fr/new_features_2_0.html" title="Français"> fr </a> |
<a href="./ja/new_features_2_0.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/new_features_2_0.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> |
+<a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> |
<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> |
-<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Ce document décrit les changements majeurs apportés entre les
+ <p>Ce document décrit les changements majeurs apportés entre les
versions 1.3 et 2.0 du serveur HTTP Apache.</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#core">Améliorations du Système de Base</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#module">Amélioration des Modules</a></li>
-</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="upgrading.html">Migrer à 2.0 depuis la version 1.3</a></li><li><a href="#comments_section">Commentaires</a></li></ul></div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#core">Améliorations du Système de Base</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#module">Amélioration des Modules</a></li>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="upgrading.html">Migrer à 2.0 depuis la version 1.3</a></li><li><a href="#comments_section">Commentaires</a></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="core" id="core">Améliorations du Système de Base</a><a title="Lien permanent" href="#core" class="permalink">¶</a></h2>
+<h2><a name="core" id="core">Améliorations du Système de Base</a><a title="Lien permanent" href="#core" class="permalink">¶</a></h2>
<dl>
<dt>Threading Unix</dt>
- <dd>Sur les systèmes Unix qui supportent les threads
+ <dd>Sur les systèmes Unix qui supportent les threads
POSIX, Apache httpd
- peut à présent tourner en mode hybride multi-processus et
- multi-threadé, ce qui augmente l'extensibilité et la performance
+ peut à présent tourner en mode hybride multi-processus et
+ multi-threadé, ce qui augmente l'extensibilité et la performance
du serveur pour la plupart des configurations.</dd>
- <dt>Nouveau Système de Compilation</dt>
+ <dt>Nouveau Système de Compilation</dt>
- <dd>Le processus de compilation a été refait de A à Z;
- il utilise à présent <code>autoconf</code> et <code>libtool</code>,
- ce qui rend la compilation d'Apache httpd plus familière aux utilisateurs
- d'autre logiciels de mème type.</dd>
+ <dd>Le processus de compilation a été refait de A à Z;
+ il utilise à présent <code>autoconf</code> et <code>libtool</code>,
+ ce qui rend la compilation d'Apache httpd plus familière aux utilisateurs
+ d'autre logiciels de mème type.</dd>
<dt>Support Multiprotocole</dt>
- <dd>Le serveur HTTP Apache dispose désormais de
- l'infrastructure nécessaire pour supporter
+ <dd>Le serveur HTTP Apache dispose désormais de
+ l'infrastructure nécessaire pour supporter
d'autres protocoles. Le module <code class="module"><a href="./mod/mod_echo.html">mod_echo</a></code> illustre ces
- possibilités.</dd>
+ possibilités.</dd>
- <dt>Support amélioré des Plate-formes non-Unix</dt>
+ <dt>Support amélioré des Plate-formes non-Unix</dt>
<dd>Le serveur HTTP Apache 2.0 se montre plus rapide et plus stable sur les plate-formes
non Unix, telles BeOS, OS/2, NetWare et Windows. L'apparition des
<a href="mpm.html">Modules Multi-Processus</a> (MPMs), ainsi que de
- la bibliothèque "Apache Portable Runtime" (APR) permet à Apache de
+ la bibliothèque "Apache Portable Runtime" (APR) permet à Apache de
tirer parti des API natives de ces plate-formes, sans s'appuyer sur leurs
- couches POSIX souvent boguées et peu optimisées.</dd>
+ couches POSIX souvent boguées et peu optimisées.</dd>
<dt>Nouvelle API d'Apache httpd</dt>
- <dd>L'Interface de Programmation (API) des modules a beaucoup changé
- avec le passage à la version 2.0.
- Les problèmes d'ordre et de priorité des modules, rencontrés
- avec la version 1.3, devraient maintenant être résolus. Apache 2.0
- gère ces problèmes de façon automatique. L'ordre des modules
- est géré au moyen de "crochets" (hooks), ce qui rend la gestion
- flexible. De nouveaux appels ont été également créés
- afin de permettre l'implémentation d'autres fonctions dans les modules,
+ <dd>L'Interface de Programmation (API) des modules a beaucoup changé
+ avec le passage à la version 2.0.
+ Les problèmes d'ordre et de priorité des modules, rencontrés
+ avec la version 1.3, devraient maintenant être résolus. Apache 2.0
+ gère ces problèmes de façon automatique. L'ordre des modules
+ est géré au moyen de "crochets" (hooks), ce qui rend la gestion
+ flexible. De nouveaux appels ont été également créés
+ afin de permettre l'implémentation d'autres fonctions dans les modules,
sans devoir corriger le noyau du serveur HTTP Apache.</dd>
<dt>Support IPv6</dt>
- <dd>Sur les systèmes où la bibliothèque Apache Portable Runtime
- supporte IPv6, Apache peut par défaut écouter sur des interfaces
+ <dd>Sur les systèmes où la bibliothèque Apache Portable Runtime
+ supporte IPv6, Apache peut par défaut écouter sur des interfaces
de connexions IPv6. Les directives <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>,
<code class="directive"><a href="./mod/core.html#namevirtualhost">NameVirtualHost</a></code> et
- <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code> supportent également
+ <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code> supportent également
les adresses IPv6 (comme par exemple, dans "<code>Listen[2001:db8::1]:8080</code>").</dd>
<dt>Filtering</dt>
- <dd>Il est maintenant possible d'écrire des modules
+ <dd>Il est maintenant possible d'écrire des modules
pour Apache httpd pour filtrer
- les flux de données entrant ou sortant du serveur. A titre d'exemple,
+ les flux de données entrant ou sortant du serveur. A titre d'exemple,
il est possible de filtrer des directives Server Side Include de la sortie
standard d'un script CGI, au moyen du filtre <code>INCLUDES</code> fourni
par le module <code class="module"><a href="./mod/mod_include.html">mod_include</a></code>. Le module
- <code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code> permet quant à lui l'utilisation comme
- filtres de programmes externes à Apache, de la même manière
+ <code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code> permet quant à lui l'utilisation comme
+ filtres de programmes externes à Apache, de la même manière
qu'on peut utiliser des programmes CGI comme Handlers.</dd>
- <dt>Réponses d'Erreurs Multilangues</dt>
+ <dt>Réponses d'Erreurs Multilangues</dt>
- <dd>Les messages d'erreur envoyés au navigateur existent à présent en
- plusieurs langues avec des documents SSI. Ces messages peuvent être
- personnalisés par l'administrateur afin de s'intégrer avec le site web.</dd>
+ <dd>Les messages d'erreur envoyés au navigateur existent à présent en
+ plusieurs langues avec des documents SSI. Ces messages peuvent être
+ personnalisés par l'administrateur afin de s'intégrer avec le site web.</dd>
<dt>Simplification de la Configuration</dt>
- <dd>Beaucoup de directives, auparavant peu claires, ont été simplifiées.
+ <dd>Beaucoup de directives, auparavant peu claires, ont été simplifiées.
Les directives <code>Port</code> et <code>BindAddress</code>, souvent
- sources d'incompréhension, ont disparus. Désormais seule la directive
+ sources d'incompréhension, ont disparus. Désormais seule la directive
<code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> sert de liaison pour les
adresses IP; la directive <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code> ne
- précise le nom du serveur et son port que pour les redirections et la
- gestion des hôtes virtuels.</dd>
+ précise le nom du serveur et son port que pour les redirections et la
+ gestion des hôtes virtuels.</dd>
<dt>Support natif de l'Unicode sous Windows NT</dt>
- <dd>Apache httpd 2.0 sur Windows NT utilise à présent l'utf-8 pour tous les
+ <dd>Apache httpd 2.0 sur Windows NT utilise à présent l'utf-8 pour tous les
noms de fichiers. Ces noms de fichiers sont directement traduits vers
- l'encodage Unicode du système de fichiers, ce qui permet le support
+ l'encodage Unicode du système de fichiers, ce qui permet le support
multilangue pour toutes les installations sur la famille NT de Windows, y
compris Windows 2000 et Windows XP.<em>Ce support n'est pas fonctionnel
pour Windows 95, 98 ni ME, qui utilisent les pages de code locales pour
- les accès au système de fichiers, comme auparavant.</em></dd>
+ les accès au système de fichiers, comme auparavant.</em></dd>
- <dt>Mise à jour de la Bibliothèque d'Expressions Rationnelles</dt>
+ <dt>Mise à jour de la Bibliothèque d'Expressions Rationnelles</dt>
- <dd>Apache httpd 2.0 contient la <a href="http://www.pcre.org/">bibliothèque
+ <dd>Apache httpd 2.0 contient la <a href="http://www.pcre.org/">bibliothèque
d'expressions rationnelles compatible Perl </a>(Perl Compatible Regular
Expression Library - PCRE). Toutes les expressions rationnelles sont dont
- gérées avec la syntaxe de Perl 5, plus puissante.</dd>
+ gérées avec la syntaxe de Perl 5, plus puissante.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="module" id="module">Amélioration des Modules</a><a title="Lien permanent" href="#module" class="permalink">¶</a></h2>
+<h2><a name="module" id="module">Amélioration des Modules</a><a title="Lien permanent" href="#module" class="permalink">¶</a></h2>
<dl>
<dt><code class="module"><a href="./mod/mod_dav.html">mod_dav</a></code></dt>
- <dd>Apparu dans Apache httpd 2.0, ce module implémente les spécifications HTTP de
- gestion distribuée de versions et de rédaction (Distributed Authoring and
- Versioning - DAV), destinées à la mise en ligne et à la maintenance des
+ <dd>Apparu dans Apache httpd 2.0, ce module implémente les spécifications HTTP de
+ gestion distribuée de versions et de rédaction (Distributed Authoring and
+ Versioning - DAV), destinées à la mise en ligne et à la maintenance des
contenus Web.</dd>
<dt><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code></dt>
<dd>Module apparu dans Apache httpd 2.0, mod_deflate permet aux navigateurs qui
- le supportent de demander la compression des contenus envoyés par le serveur.
- Cela a l'avantage de réduite l'occupation de la bande passante.</dd>
+ le supportent de demander la compression des contenus envoyés par le serveur.
+ Cela a l'avantage de réduite l'occupation de la bande passante.</dd>
<dt><code class="module">mod_auth_ldap</code></dt>
<dd>Apparu dans Apache httpd 2.0.41, ce module permet aux administrateurs
- d'utiliser un arbre LDAP pour gérer la base d'utilisateurs pour les
+ d'utiliser un arbre LDAP pour gérer la base d'utilisateurs pour les
Authentifications Basiques HTTP. Un module voisin,
- <code class="module"><a href="./mod/mod_ldap.html">mod_ldap</a></code>, permet de globaliser les connexions à l'arbre LDAP
- et de garder en mémoire cache ces accès.</dd>
+ <code class="module"><a href="./mod/mod_ldap.html">mod_ldap</a></code>, permet de globaliser les connexions à l'arbre LDAP
+ et de garder en mémoire cache ces accès.</dd>
<dt><code class="module"><a href="./mod/mod_auth_digest.html">mod_auth_digest</a></code></dt>
- <dd>Améliore les fonctions de cache sur une session entre les différents
- processus, en utilisant de la mémoire partagée.</dd>
+ <dd>Améliore les fonctions de cache sur une session entre les différents
+ processus, en utilisant de la mémoire partagée.</dd>
<dt><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code></dt>
- <dd>Apparu dans Apache httpd 2.0, ce module expérimental permet la conversion
- et l'enregistrement entre jeux de caractères.</dd>
+ <dd>Apparu dans Apache httpd 2.0, ce module expérimental permet la conversion
+ et l'enregistrement entre jeux de caractères.</dd>
<dt><code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code></dt>
- <dd>Apparu dans Apache httpd 2.0, ce module implémente les fonctionnalités du
- module <code>mod_mmap_static</code> présent du serveur
+ <dd>Apparu dans Apache httpd 2.0, ce module implémente les fonctionnalités du
+ module <code>mod_mmap_static</code> présent du serveur
HTTP Apache 1.3, et offre des
- fonctions plus avancées pour la gestion du cache.</dd>
+ fonctions plus avancées pour la gestion du cache.</dd>
<dt><code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code></dt>
- <dd>Ce module gagne beaucoup de flexibilité avec Apache
+ <dd>Ce module gagne beaucoup de flexibilité avec Apache
httpd 2.0 : on peut
- désormais l'utiliser pour modifier les en-têtes des requêtes
- utilisés par <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>, et pour positionner les
- en-têtes des réponses de manière conditionnelle.</dd>
+ désormais l'utiliser pour modifier les en-têtes des requêtes
+ utilisés par <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>, et pour positionner les
+ en-têtes des réponses de manière conditionnelle.</dd>
<dt><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></dt>
- <dd>Le module proxy a été réécrit de A à Z. Il tire
- maintenant avantage de la nouvelle infrastructure de filtrage, et implémente
+ <dd>Le module proxy a été réécrit de A à Z. Il tire
+ maintenant avantage de la nouvelle infrastructure de filtrage, et implémente
un mandataire plus fiable, et conforme aux normes HTTP/1.1. De nouvelles
- sections de configuration ajoutées à
+ sections de configuration ajoutées à
<code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code>
- donnent un contrôle plus lisible et un traitement plus rapide des requêtes
- mandatées ; les configurations surchargées <code><Directory
- "proxy:..."></code> ne sont pas supportées. Le module a aussi été
- fragmenté en plusieurs modules qui gèrent chacun leur protocole :
+ donnent un contrôle plus lisible et un traitement plus rapide des requêtes
+ mandatées ; les configurations surchargées <code><Directory
+ "proxy:..."></code> ne sont pas supportées. Le module a aussi été
+ fragmenté en plusieurs modules qui gèrent chacun leur protocole :
<code>proxy_connect</code>, <code>proxy_ftp</code> et
<code>proxy_http</code>.</dd>
<dt><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code></dt>
- <dd>Une nouvelle directive, <code class="directive"><a href="./mod/mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></code> a été ajoutée,
- elle permet de garantir que le client reçoit un seul document dans tous les
- cas, au lieu de réponses NOT ACCEPTABLE ou MULTIPLE CHOICES. Les
- algorithmes gérant la négociation et les vues multiples (MultiViews) ont
- été nettoyés et donnent des réponses plus logiques. Un nouveau format de
- carte de types (map type) qui peut gérer le contenu de documents a
- aussi été ajouté.</dd>
+ <dd>Une nouvelle directive, <code class="directive"><a href="./mod/mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></code> a été ajoutée,
+ elle permet de garantir que le client reçoit un seul document dans tous les
+ cas, au lieu de réponses NOT ACCEPTABLE ou MULTIPLE CHOICES. Les
+ algorithmes gérant la négociation et les vues multiples (MultiViews) ont
+ été nettoyés et donnent des réponses plus logiques. Un nouveau format de
+ carte de types (map type) qui peut gérer le contenu de documents a
+ aussi été ajouté.</dd>
<dt><code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code></dt>
- <dd>Les listes auto-générées par Autoindex sont à présent
+ <dd>Les listes auto-générées par Autoindex sont à présent
configurables, et peuvent utiliser des tables HTML pour une mise en forme plus propre.
- L'ordre d'affichage des fichiers est également finement paramètrable,
- comme pour le tri par version, et le filtrage par caractères jokers du
- listage du répertoire.</dd>
+ L'ordre d'affichage des fichiers est également finement paramètrable,
+ comme pour le tri par version, et le filtrage par caractères jokers du
+ listage du répertoire.</dd>
<dt><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></dt>
- <dd>De nouvelles directives permettent de modifier la valeur par défaut
- des drapeaux <em>start</em> et <em>end</em> des éléments SSI. Ces directives
- permettent à la configuration d'affichage de dates et heures d'être
- effectuée dans le fichier de configuration principal, plutôt que dans le
- document SSI. Les réponses données par des recherches par expressions
- rationnelles (qui gèrent à présent les regex Perl) sont
- recupérées au moyen des variables <code>$0</code> à <code>$9</code>.</dd>
+ <dd>De nouvelles directives permettent de modifier la valeur par défaut
+ des drapeaux <em>start</em> et <em>end</em> des éléments SSI. Ces directives
+ permettent à la configuration d'affichage de dates et heures d'être
+ effectuée dans le fichier de configuration principal, plutôt que dans le
+ document SSI. Les réponses données par des recherches par expressions
+ rationnelles (qui gèrent à présent les regex Perl) sont
+ recupérées au moyen des variables <code>$0</code> à <code>$9</code>.</dd>
<dt><code class="module">mod_auth_dbm</code></dt>
- <dd>Plusieurs bases de données DBM sont supportées, et sélectionnables
+ <dd>Plusieurs bases de données DBM sont supportées, et sélectionnables
via la directive <code class="directive">AuthDBMType</code>.</dd>
</dl>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./de/new_features_2_0.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/new_features_2_0.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/new_features_2_0.html" title="Français"> fr </a> |
+<a href="./fr/new_features_2_0.html" title="Français"> fr </a> |
<a href="./ja/new_features_2_0.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/new_features_2_0.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> |
+<a href="./pt-br/new_features_2_0.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> |
<a href="./ru/new_features_2_0.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> |
-<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/new_features_2_0.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Aperçu des nouvelles fonctionnalités de la version
+<title>Aperçu des nouvelles fonctionnalités de la version
2.2 du serveur HTTP Apache - Serveur Apache HTTP Version 2.5</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" />
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Aperçu des nouvelles fonctionnalités de la version
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Aperçu des nouvelles fonctionnalités de la version
2.2 du serveur HTTP Apache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/new_features_2_2.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/new_features_2_2.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/new_features_2_2.html" title="Français"> fr </a> |
+<a href="./es/new_features_2_2.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/new_features_2_2.html" title="Français"> fr </a> |
<a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> |
-<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> |
+<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Ce document décrit quelques uns des changements principaux entre
+ <p>Ce document décrit quelques uns des changements principaux entre
les versions 2.0 et 2.2 du serveur HTTP Apache. Pour les
- nouvelles fonctionnalités ajoutées depuis la version 1.3, se
- référer au document
+ nouvelles fonctionnalités ajoutées depuis la version 1.3, se
+ référer au document
<a href="new_features_2_0.html">2.0 new features</a>.</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#core">Améliorations du système de base</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#module">Améliorations des modules</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#programs">Améliorations des programmes</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#developer">Changements pour le développeur de module</a></li>
+<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#core">Améliorations du système de base</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#module">Améliorations des modules</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#programs">Améliorations des programmes</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#developer">Changements pour le développeur de module</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="core" id="core">Améliorations du système de base</a><a title="Lien permanent" href="#core" class="permalink">¶</a></h2>
+<h2><a name="core" id="core">Améliorations du système de base</a><a title="Lien permanent" href="#core" class="permalink">¶</a></h2>
<dl>
<dt>Authn/Authz</dt>
- <dd>Les modules d'authentification et d'autorisation intégrés
- ont été refondus. Le nouveau module
- mod_authn_alias (supprimé dans la version 2.3/2.4) permet de
- simplifier considérablement certaines configurations d'authentification.
+ <dd>Les modules d'authentification et d'autorisation intégrés
+ ont été refondus. Le nouveau module
+ mod_authn_alias (supprimé dans la version 2.3/2.4) permet de
+ simplifier considérablement certaines configurations d'authentification.
Voir <a href="#module">modification des noms de modules</a>,
et
- <a href="#developer">les changements pour le développeur</a>
- pour plus d'informations sur les conséquences de ces
- changements pour les utilisateurs et les développeurs de
+ <a href="#developer">les changements pour le développeur</a>
+ pour plus d'informations sur les conséquences de ces
+ changements pour les utilisateurs et les développeurs de
modules.</dd>
<dt>Mise en cache</dt>
<dd><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>, <code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code>, et
- mod_mem_cache (supprimés dans la version 2.3/2.4) ont subi de nombreuses
- modifications, et l'on considère qu'ils ont maintenant atteint
- un degré de qualité suffisant pour leur mise en production. Le programme
- <code class="program"><a href="./programs/htcacheclean.html">htcacheclean</a></code> a été ajouté afin de rendre
+ mod_mem_cache (supprimés dans la version 2.3/2.4) ont subi de nombreuses
+ modifications, et l'on considère qu'ils ont maintenant atteint
+ un degré de qualité suffisant pour leur mise en production. Le programme
+ <code class="program"><a href="./programs/htcacheclean.html">htcacheclean</a></code> a été ajouté afin de rendre
plus propre la configuration du module
<code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code>.</dd>
<dt>Configuration</dt>
- <dd>L'agencement de la configuration par défaut a été simplifié
- et modularisé. Les portions de configuration qui peuvent être
- utilisées pour activer des fonctionnalités courantes sont
- maintenant intégrées à Apache, et peuvent être facilement
- ajoutées à la configuration principale du serveur.</dd>
+ <dd>L'agencement de la configuration par défaut a été simplifié
+ et modularisé. Les portions de configuration qui peuvent être
+ utilisées pour activer des fonctionnalités courantes sont
+ maintenant intégrées à Apache, et peuvent être facilement
+ ajoutées à la configuration principale du serveur.</dd>
- <dt>Arrêt en douceur</dt>
+ <dt>Arrêt en douceur</dt>
<dd>Les modules MPM <code class="module"><a href="./mod/prefork.html">prefork</a></code>,
<code class="module"><a href="./mod/worker.html">worker</a></code> et <code class="module"><a href="./mod/event.html">event</a></code> permettent
- maintenant l'arrêt en douceur de <code class="program"><a href="./programs/httpd.html">httpd</a></code>
+ maintenant l'arrêt en douceur de <code class="program"><a href="./programs/httpd.html">httpd</a></code>
au moyen du signal
<a href="stopping.html#gracefulstop"><code>graceful-stop</code></a>.
- La directive <code class="directive"><a href="./mod/mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></code> a été ajoutée dans le but
- de spécifier un délai optionnel, après lequel
- <code class="program"><a href="./programs/httpd.html">httpd</a></code> s'arrêtera quel que soit le statut
- des requêtes en cours.</dd>
+ La directive <code class="directive"><a href="./mod/mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></code> a été ajoutée dans le but
+ de spécifier un délai optionnel, après lequel
+ <code class="program"><a href="./programs/httpd.html">httpd</a></code> s'arrêtera quel que soit le statut
+ des requêtes en cours.</dd>
<dt>Mise en oeuvre du proxy</dt>
<dd>Le nouveau module <code class="module"><a href="./mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> fournit
- des services de répartition de charge (load balancing) pour le
+ des services de répartition de charge (load balancing) pour le
module <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>.
Le nouveau module <code class="module"><a href="./mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> ajoute le
support pour le
<code>Protocole JServ de Apache version 1.3</code> qu'utilise
<a href="http://tomcat.apache.org/">Apache Tomcat</a>.</dd>
- <dt>Mise à jour de la bibliothèque des expressions rationnelles</dt>
+ <dt>Mise à jour de la bibliothèque des expressions rationnelles</dt>
<dd>La version 5.0 de la
<a href="http://www.pcre.org/">Perl Compatible Regular Expression
Library</a> (PCRE) est maintenant disponible.
- <code class="program"><a href="./programs/httpd.html">httpd</a></code> peut être configuré pour utiliser une
+ <code class="program"><a href="./programs/httpd.html">httpd</a></code> peut être configuré pour utiliser une
PCRE choisie en passant l'option <code>--with-pcre</code> au
script configure.</dd>
<dt>Filtrage intelligent</dt>
<dd>Le module <code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code> permet la configuration
- dynamique de la chaîne de filtrage en sortie. Il permet
- d'insérer des filtres conditionnels basés sur toute
- requête, en-tête de réponse ou variable
- d'environnement, et fait table rase des problèmes de dépendances
- et d'ordonnancement rencontrés avec l'architecture 2.0.</dd>
+ dynamique de la chaîne de filtrage en sortie. Il permet
+ d'insérer des filtres conditionnels basés sur toute
+ requête, en-tête de réponse ou variable
+ d'environnement, et fait table rase des problèmes de dépendances
+ et d'ordonnancement rencontrés avec l'architecture 2.0.</dd>
<dt>Support des gros fichiers</dt>
- <dd><code class="program"><a href="./programs/httpd.html">httpd</a></code> supporte maintenant les fichiers d'une taille supérieure
- à 2GB sur les systèmes 32 bits UNIX modernes. Le support des
- corps de requête d'une taille supérieure à 2GB a aussi été
- ajouté.</dd>
+ <dd><code class="program"><a href="./programs/httpd.html">httpd</a></code> supporte maintenant les fichiers d'une taille supérieure
+ à 2GB sur les systèmes 32 bits UNIX modernes. Le support des
+ corps de requête d'une taille supérieure à 2GB a aussi été
+ ajouté.</dd>
<dt>Module MPM Event</dt>
- <dd>Le module MPM <code class="module"><a href="./mod/event.html">event</a></code> utilise un thread séparé
- pour gérer les requêtes "Keep alive" et accepter des connexions.
- Les requêtes "Keep alive" requéraient traditionnellement un
- processus httpd dédié pour leur gestion. Ce processus dédié
- ne pouvait plus être réutilisé jusqu'à ce que le délai "Keep Alive"
- soit écoulé.</dd>
-
- <dt>Support des bases de données SQL</dt>
- <dd>Le module <code class="module"><a href="./mod/mod_dbd.html">mod_dbd</a></code>, associé à l'environnement
+ <dd>Le module MPM <code class="module"><a href="./mod/event.html">event</a></code> utilise un thread séparé
+ pour gérer les requêtes "Keep alive" et accepter des connexions.
+ Les requêtes "Keep alive" requéraient traditionnellement un
+ processus httpd dédié pour leur gestion. Ce processus dédié
+ ne pouvait plus être réutilisé jusqu'à ce que le délai "Keep Alive"
+ soit écoulé.</dd>
+
+ <dt>Support des bases de données SQL</dt>
+ <dd>Le module <code class="module"><a href="./mod/mod_dbd.html">mod_dbd</a></code>, associé à l'environnement
<code>apr_dbd</code>, fournit le support SQL direct aux modules
qui en ont besoin. Supporte la mise en commun des connexions
- dans les modules MPM threadés.</dd>
+ dans les modules MPM threadés.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="module" id="module">Améliorations des modules</a><a title="Lien permanent" href="#module" class="permalink">¶</a></h2>
+<h2><a name="module" id="module">Améliorations des modules</a><a title="Lien permanent" href="#module" class="permalink">¶</a></h2>
<dl>
<dt>Authn/Authz</dt>
- <dd>Les modules du répertoire aaa ont été renommés et fournissent
- un support amélioré pour la méthode d'authentification <strong>digest</strong>. Par exemple, <code>mod_auth</code>
- est maintenant scindé en deux modules : <code class="module"><a href="./mod/mod_auth_basic.html">mod_auth_basic</a></code> et
+ <dd>Les modules du répertoire aaa ont été renommés et fournissent
+ un support amélioré pour la méthode d'authentification <strong>digest</strong>. Par exemple, <code>mod_auth</code>
+ est maintenant scindé en deux modules : <code class="module"><a href="./mod/mod_auth_basic.html">mod_auth_basic</a></code> et
<code class="module"><a href="./mod/mod_authn_file.html">mod_authn_file</a></code>; <code>mod_auth_dbm</code> s'appelle maintenant
- <code class="module"><a href="./mod/mod_authn_dbm.html">mod_authn_dbm</a></code>; <code>mod_access</code> a été renommé en
- <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>. Est également apparu le nouveau module
- mod_authn_alias (supprimé dans la version 2.3/2.4) qui simplifie
+ <code class="module"><a href="./mod/mod_authn_dbm.html">mod_authn_dbm</a></code>; <code>mod_access</code> a été renommé en
+ <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>. Est également apparu le nouveau module
+ mod_authn_alias (supprimé dans la version 2.3/2.4) qui simplifie
certaines configurations d'authentification.
</dd>
<dd>Ce module est un portage de la version 2.0 du module
<code>mod_auth_ldap</code> vers la version 2.2 du framework
<code>Authn/Authz</code>.
- Les nouvelles fonctionnalités comprennent l'utilisation des valeurs
- d'attributs LDAP et des filtres de recherche avancés dans la
+ Les nouvelles fonctionnalités comprennent l'utilisation des valeurs
+ d'attributs LDAP et des filtres de recherche avancés dans la
directive <code class="directive"><a href="./mod/mod_authz_core.html#require">Require</a></code>.</dd>
<dt><code class="module"><a href="./mod/mod_authz_owner.html">mod_authz_owner</a></code></dt>
- <dd>Un nouveau module qui autorise l'accès à un fichier
- en fonction de son propriétaire dans le système de
+ <dd>Un nouveau module qui autorise l'accès à un fichier
+ en fonction de son propriétaire dans le système de
fichiers</dd>
<dt><code class="module"><a href="./mod/mod_version.html">mod_version</a></code></dt>
<dd>Un nouveau module qui permet d'activer des blocs de
configuration en fonction de la version du serveur en cours
- d'exécution.</dd>
+ d'exécution.</dd>
<dt><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></dt>
- <dd>Un nouvel argument <code>?config</code> a été ajouté, qui permettra d'afficher
- les directives de configuration telles qu'elles sont interprétées
- par Apache, y compris le nom de fichier et le numéro de ligne.
- Le module montre aussi l'ordre des points d'entrée de traitement d'une
- requête (request hooks) ainsi que des informations de construction
- supplémentaires, d'une manière similaire à <code>httpd -V</code>.</dd>
+ <dd>Un nouvel argument <code>?config</code> a été ajouté, qui permettra d'afficher
+ les directives de configuration telles qu'elles sont interprétées
+ par Apache, y compris le nom de fichier et le numéro de ligne.
+ Le module montre aussi l'ordre des points d'entrée de traitement d'une
+ requête (request hooks) ainsi que des informations de construction
+ supplémentaires, d'une manière similaire à <code>httpd -V</code>.</dd>
<dt><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code></dt>
- <dd>Le support de la <a href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a> a été ajouté, ce qui permet de passer d'une
+ <dd>Le support de la <a href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a> a été ajouté, ce qui permet de passer d'une
connexion en clair au chiffrement TLS.</dd>
<dt><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></dt>
- <dd><code>mod_imap</code> a été renommé en <code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> afin
- d'éviter une confusion pour les utilisateurs.</dd>
+ <dd><code>mod_imap</code> a été renommé en <code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> afin
+ d'éviter une confusion pour les utilisateurs.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="programs" id="programs">Améliorations des programmes</a><a title="Lien permanent" href="#programs" class="permalink">¶</a></h2>
+<h2><a name="programs" id="programs">Améliorations des programmes</a><a title="Lien permanent" href="#programs" class="permalink">¶</a></h2>
<dl>
<dt><code class="program"><a href="./programs/httpd.html">httpd</a></code></dt>
<dd>Une nouvelle option de ligne de commande <code>-M</code>
- a été ajoutée, qui fournit la liste de tous les modules chargés
- en fonction de la configuration réelle. À la différence de l'option
- <code>-l</code>, cette liste inclut les Objets Dynamiques Partagés
- (DSOs) chargés par l'intermédiaire du module
+ a été ajoutée, qui fournit la liste de tous les modules chargés
+ en fonction de la configuration réelle. À la différence de l'option
+ <code>-l</code>, cette liste inclut les Objets Dynamiques Partagés
+ (DSOs) chargés par l'intermédiaire du module
<code class="module"><a href="./mod/mod_so.html">mod_so</a></code>.</dd>
<dt><code class="program"><a href="./programs/httxt2dbm.html">httxt2dbm</a></code></dt>
- <dd>Un nouveau programme servant à générer des fichiers dbm à partir
- d'une source au format texte, à utiliser avec la directive
+ <dd>Un nouveau programme servant à générer des fichiers dbm à partir
+ d'une source au format texte, à utiliser avec la directive
<code class="directive"><a href="./mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
et le type de mise en correspondance <code>dbm</code>.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="developer" id="developer">Changements pour le développeur de module</a><a title="Lien permanent" href="#developer" class="permalink">¶</a></h2>
+<h2><a name="developer" id="developer">Changements pour le développeur de module</a><a title="Lien permanent" href="#developer" class="permalink">¶</a></h2>
<dl>
<dt><a class="glossarylink" href="./glossary.html#apr" title="voir glossaire">APR</a> 1.0 API</dt>
<dd>Apache 2.2 utilise l'API APR 1.0. Toutes les fonctions et
- symboles obsolètes ont été supprimés du code de <code>APR</code> et
- <code>APR-Util</code>. Pour plus de détails, consultez le
+ symboles obsolètes ont été supprimés du code de <code>APR</code> et
+ <code>APR-Util</code>. Pour plus de détails, consultez le
<a href="http://apr.apache.org/">site web d'APR</a>.</dd>
<dt>Authn/Authz</dt>
- <dd>Les modules d'authentification et d'autorisation intégrés ont
- été renommés de la manière suivante:
+ <dd>Les modules d'authentification et d'autorisation intégrés ont
+ été renommés de la manière suivante:
<ul>
- <li><code>mod_auth_*</code> -> Modules qui implémentent un mécanisme
+ <li><code>mod_auth_*</code> -> Modules qui implémentent un mécanisme
d'authentification HTTP</li>
<li><code>mod_authn_*</code> -> Modules qui fournissent un dispositif
- d'authentification en arrière-plan</li>
- <li><code>mod_authz_*</code> -> Modules qui implémentent l'autorisation (ou l'accès)</li>
- <li><code>mod_authnz_*</code> -> Modules qui implémentent à la fois
+ d'authentification en arrière-plan</li>
+ <li><code>mod_authz_*</code> -> Modules qui implémentent l'autorisation (ou l'accès)</li>
+ <li><code>mod_authnz_*</code> -> Modules qui implémentent à la fois
l'authentification & l'autorisation</li>
</ul>
- L'organisation des méthodes d'authentification a également été revue, ce qui va simplifier
- grandement l'ajout de nouvelles méthodes d'authentification.</dd>
+ L'organisation des méthodes d'authentification a également été revue, ce qui va simplifier
+ grandement l'ajout de nouvelles méthodes d'authentification.</dd>
<dt>Journalisation des erreurs de connexion</dt>
- <dd>Une nouvelle fonction a été ajoutée, <code>ap_log_cerror</code>,
+ <dd>Une nouvelle fonction a été ajoutée, <code>ap_log_cerror</code>,
afin de pouvoir enregistrer les erreurs qui surviennent au cours de
- la connexion du client. Une fois enregistré, le message inclut l'adresse IP du client.</dd>
+ la connexion du client. Une fois enregistré, le message inclut l'adresse IP du client.</dd>
- <dt>Ajout d'une portion de code pour la vérification de la configuration</dt>
+ <dt>Ajout d'une portion de code pour la vérification de la configuration</dt>
- <dd>Un nouvel élément de traitement a été ajouté, <code>test_config</code>,
- afin d'aider les modules qui ne veulent exécuter un code spécial
- que si l'utilisateur passe le paramètre <code>-t</code> à
+ <dd>Un nouvel élément de traitement a été ajouté, <code>test_config</code>,
+ afin d'aider les modules qui ne veulent exécuter un code spécial
+ que si l'utilisateur passe le paramètre <code>-t</code> à
<code class="program"><a href="./programs/httpd.html">httpd</a></code>.</dd>
- <dt>Définition de la taille de la pile pour les modules MPM en processus légers</dt>
+ <dt>Définition de la taille de la pile pour les modules MPM en processus légers</dt>
- <dd>Une nouvelle directive a été ajoutée, <code class="directive"><a href="./mod/mpm_common.html#threadstacksize">ThreadStackSize</a></code>
- afin de définir la taille de la pile pour tous les modules MPM en processus légers (modules threadés).
- Ceci s'avère nécessaire pour certains modules tiers sur des plateformes
- dont la taille de la pile des threads par défaut est
+ <dd>Une nouvelle directive a été ajoutée, <code class="directive"><a href="./mod/mpm_common.html#threadstacksize">ThreadStackSize</a></code>
+ afin de définir la taille de la pile pour tous les modules MPM en processus légers (modules threadés).
+ Ceci s'avère nécessaire pour certains modules tiers sur des plateformes
+ dont la taille de la pile des threads par défaut est
trop petite.</dd>
<dt>Gestion de protocole pour les filtres en sortie</dt>
- <dd>Par le passé, chaque filtre devait s'assurer que les en-têtes de
- réponse corrects étaient générés dans la mesure où il les affectait.
- Les filtres peuvent maintenant déléguer la gestion courante du
+ <dd>Par le passé, chaque filtre devait s'assurer que les en-têtes de
+ réponse corrects étaient générés dans la mesure où il les affectait.
+ Les filtres peuvent maintenant déléguer la gestion courante du
protocole au module
- <code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>, à l'aide des appels
+ <code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>, à l'aide des appels
<code>ap_register_output_filter_protocol</code> ou
<code>ap_filter_protocol</code>.</dd>
- <dt>Ajout d'un élément de traitement pour le processus père (monitor hook)</dt>
- <dd>Ce nouvel élément de traitement permet aux modules de lancer
- des jobs réguliers/planifiés au niveau du processus père
+ <dt>Ajout d'un élément de traitement pour le processus père (monitor hook)</dt>
+ <dd>Ce nouvel élément de traitement permet aux modules de lancer
+ des jobs réguliers/planifiés au niveau du processus père
(root).</dd>
<dt>Modifications de l'API de traitement des expressions rationnelles</dt>
- <dd>Le fichier d'en-tête <code>pcreposix.h</code> n'est plus disponible ;
- il a été remplacé par le nouveau fichier
- d'en-tête <code>ap_regex.h</code>. L'implémentation
- POSIX.2 <code>regex.h</code> exposée dans l'ancien fichier d'en-tête
+ <dd>Le fichier d'en-tête <code>pcreposix.h</code> n'est plus disponible ;
+ il a été remplacé par le nouveau fichier
+ d'en-tête <code>ap_regex.h</code>. L'implémentation
+ POSIX.2 <code>regex.h</code> exposée dans l'ancien fichier d'en-tête
est maintenant disponible dans l'espace de nommage <code>ap_</code>
- depuis <code>ap_regex.h</code>. Les appels à <code>regcomp</code>,
- <code>regexec</code>, etc... peuvent être remplacés par des appels à
+ depuis <code>ap_regex.h</code>. Les appels à <code>regcomp</code>,
+ <code>regexec</code>, etc... peuvent être remplacés par des appels à
<code>ap_regcomp</code>, <code>ap_regexec</code>.</dd>
- <dt>Cadre d'application DBD (API pour base de données SQL)</dt>
+ <dt>Cadre d'application DBD (API pour base de données SQL)</dt>
- <dd><p>Avec Apache 1.x et 2.0, les modules nécessitant un processus
- SQL d'arrière-plan devaient s'en charger eux-mêmes. En dehors du fait
- de réinventer la roue, ceci peut s'avérer très inefficace, par
+ <dd><p>Avec Apache 1.x et 2.0, les modules nécessitant un processus
+ SQL d'arrière-plan devaient s'en charger eux-mêmes. En dehors du fait
+ de réinventer la roue, ceci peut s'avérer très inefficace, par
exemple lorsque plusieurs modules maintiennent chacun leurs
propres connexions.</p>
- <p>Apache 2.1 et supérieur fournissent l'API <code>ap_dbd</code> qui
- permet la gestion des connexions à la base de données (y compris
- les stratégies optimisées pour les modules MPM threadés
- et non threadés), tandis que APR 1.2 et supérieur fournissent
+ <p>Apache 2.1 et supérieur fournissent l'API <code>ap_dbd</code> qui
+ permet la gestion des connexions à la base de données (y compris
+ les stratégies optimisées pour les modules MPM threadés
+ et non threadés), tandis que APR 1.2 et supérieur fournissent
l'API <code>apr_dbd</code> qui permet l'interaction avec la
- base de données.</p>
- <p>Les nouveaux modules DEVRAIENT désormais utiliser ces APIs pour
- toutes les opérations liées aux bases de données SQL.
- De même, les applications existantes DEVRAIENT être mises à jour
- lorsque c'est possible, que ce soit de manière transparente ou sous forme
- d'une option recommandée à leurs utilisateurs.</p></dd>
+ base de données.</p>
+ <p>Les nouveaux modules DEVRAIENT désormais utiliser ces APIs pour
+ toutes les opérations liées aux bases de données SQL.
+ De même, les applications existantes DEVRAIENT être mises à jour
+ lorsque c'est possible, que ce soit de manière transparente ou sous forme
+ d'une option recommandée à leurs utilisateurs.</p></dd>
</dl>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/new_features_2_2.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/new_features_2_2.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/new_features_2_2.html" title="Français"> fr </a> |
+<a href="./es/new_features_2_2.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/new_features_2_2.html" title="Français"> fr </a> |
<a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> |
-<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> |
+<a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Vue d'ensemble des nouvelles fonctionnalités de la version 2.4 du
+<title>Vue d'ensemble des nouvelles fonctionnalités de la version 2.4 du
serveur HTTP Apache - Serveur Apache HTTP Version 2.5</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" />
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Vue d'ensemble des nouvelles fonctionnalités de la version 2.4 du
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Vue d'ensemble des nouvelles fonctionnalités de la version 2.4 du
serveur HTTP Apache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/new_features_2_4.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/new_features_2_4.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/new_features_2_4.html" title="Français"> fr </a> |
-<a href="./tr/new_features_2_4.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./es/new_features_2_4.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/new_features_2_4.html" title="Français"> fr </a> |
+<a href="./tr/new_features_2_4.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Ce document décrit les modifications majeures apportées par
- la version 2.4 du serveur HTTP Apache. Pour les nouvelles fonctionnalités
- ajoutées par la version 2.2, se référer au document
- <a href="new_features_2_2.html">Nouvelles fonctionnalités
+ <p>Ce document décrit les modifications majeures apportées par
+ la version 2.4 du serveur HTTP Apache. Pour les nouvelles fonctionnalités
+ ajoutées par la version 2.2, se référer au document
+ <a href="new_features_2_2.html">Nouvelles fonctionnalités
de la version 2.2</a>.</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#core">Améliorations du noyau</a></li>
+<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#core">Améliorations du noyau</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#newmods">Nouveau modules</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#module">Améliorations des modules</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#programs">Améliorations des programmes</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#module">Améliorations des modules</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#programs">Améliorations des programmes</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#documentation">Documentation</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#developer">Modifications concernant les développeur de modules</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#developer">Modifications concernant les développeur de modules</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="core" id="core">Améliorations du noyau</a><a title="Lien permanent" href="#core" class="permalink">¶</a></h2>
+<h2><a name="core" id="core">Améliorations du noyau</a><a title="Lien permanent" href="#core" class="permalink">¶</a></h2>
<dl>
- <dt>Modules multiprocessus (MPMs) chargeables à l'exécution</dt>
- <dd>Plusieurs MPMs peuvent maintenant être <a href="mpm.html#dynamic">compilés en tant que modules
- chargeables</a>. Le choix du MPM à utiliser s'effectue
- à l'exécution via la directive <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code>.</dd>
+ <dt>Modules multiprocessus (MPMs) chargeables à l'exécution</dt>
+ <dd>Plusieurs MPMs peuvent maintenant être <a href="mpm.html#dynamic">compilés en tant que modules
+ chargeables</a>. Le choix du MPM à utiliser s'effectue
+ à l'exécution via la directive <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code>.</dd>
<dt>MPM Event</dt>
- <dd>Le <a href="mod/event.html">MPM Event</a> n'en est plus au stade expérimental et est
- maintenant pleinement supporté.</dd>
+ <dd>Le <a href="mod/event.html">MPM Event</a> n'en est plus au stade expérimental et est
+ maintenant pleinement supporté.</dd>
<dt>Support du mode asynchrone</dt>
- <dd>Le support des lectures/écritures asynchrones pour les MPMs et
- les plateformes qui l'implémentent a été amélioré.</dd>
+ <dd>Le support des lectures/écritures asynchrones pour les MPMs et
+ les plateformes qui l'implémentent a été amélioré.</dd>
<dt>Configuration du niveau de journalisation (LogLevel) par
- module et par répertoire</dt>
+ module et par répertoire</dt>
<dd>La directive <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code>
- peut maintenant être définie par module et par répertoire. Les
- nouveaux niveaux <code>trace1</code> à <code>trace8</code> ont été
- ajoutés au dessus du niveau de journalisation <code>debug</code>.</dd>
+ peut maintenant être définie par module et par répertoire. Les
+ nouveaux niveaux <code>trace1</code> à <code>trace8</code> ont été
+ ajoutés au dessus du niveau de journalisation <code>debug</code>.</dd>
- <dt>Sections de configuration au niveau requête</dt>
+ <dt>Sections de configuration au niveau requête</dt>
<dd>Les sections <code class="directive"><a href="./mod/core.html#if">If</a></code>,
<code class="directive"><a href="./mod/core.html#elseif"><ElseIf></a></code> et
<code class="directive"><a href="./mod/core.html#else"><Else></a></code>
- permettent de définir une configuration en fonction de critères
- liés à la requête.</dd>
+ permettent de définir une configuration en fonction de critères
+ liés à la requête.</dd>
- <dt>Interpréteur d'expressions à usage général</dt>
- <dd>Un nouvel interpréteur d'expressions permet de spécifier des
- <a href="expr.html">conditions complexes</a> via des directives à
+ <dt>Interpréteur d'expressions à usage général</dt>
+ <dd>Un nouvel interpréteur d'expressions permet de spécifier des
+ <a href="expr.html">conditions complexes</a> via des directives à
syntaxe commune comme <code class="directive"><a href="./mod/mod_setenvif.html#setenvifexpr">SetEnvIfExpr</a></code>, <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code>,
<code class="directive"><a href="./mod/core.html#if"><If></a></code>, etc...
</dd>
<dt>KeepAliveTimeout en millisecondes</dt>
- <dd>Il est maintenant possible de définir la directive <code class="directive"><a href="./mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code> en millisecondes.
+ <dd>Il est maintenant possible de définir la directive <code class="directive"><a href="./mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code> en millisecondes.
</dd>
<dt>Directive NameVirtualHost</dt>
- <dd>Cette directive n'est plus nécessaire et est maintenant obsolète.</dd>
+ <dd>Cette directive n'est plus nécessaire et est maintenant obsolète.</dd>
- <dt>Directives autorisées dans les fichiers <code>.htaccess</code></dt>
- <dd>La nouvelle directive <code class="directive"><a href="./mod/core.html#allowoverridelist">AllowOverrideList</a></code> permet de contrôler de
- manière plus précise la liste des directives autorisées dans les
+ <dt>Directives autorisées dans les fichiers <code>.htaccess</code></dt>
+ <dd>La nouvelle directive <code class="directive"><a href="./mod/core.html#allowoverridelist">AllowOverrideList</a></code> permet de contrôler de
+ manière plus précise la liste des directives autorisées dans les
fichiers <code>.htaccess</code>.</dd>
<dt>Variables dans les fichiers de configuration</dt>
<dd>La directive <code class="directive"><a href="./mod/core.html#define">Define</a></code>
- permet de définir des variables dans les fichiers de
- configuration, améliorant ainsi la clareté de la présentation si
- la même valeur est utilisée en plusieurs points de la
+ permet de définir des variables dans les fichiers de
+ configuration, améliorant ainsi la clareté de la présentation si
+ la même valeur est utilisée en plusieurs points de la
configuration.
</dd>
- <dt>Diminution de la mémoire utilisée</dt>
- <dd>Bien qu'elle propose de nombreuses nouvelles fonctionnalités,
- la version 2.4.x tend à utiliser moins de mémoire que la version
+ <dt>Diminution de la mémoire utilisée</dt>
+ <dd>Bien qu'elle propose de nombreuses nouvelles fonctionnalités,
+ la version 2.4.x tend à utiliser moins de mémoire que la version
2.2.x.</dd>
</dl>
<dl>
<dt><code class="module"><a href="./mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></dt>
- <dd>Support des serveur FastCGI d'arrière-plan pour
+ <dd>Support des serveur FastCGI d'arrière-plan pour
<code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>.</dd>
<dt><code class="module"><a href="./mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code></dt>
- <dd>Support des serveurs SCGI d'arrière-plan pour
+ <dd>Support des serveurs SCGI d'arrière-plan pour
<code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>.</dd>
<dt><code class="module"><a href="./mod/mod_proxy_express.html">mod_proxy_express</a></code></dt>
- <dd>Ajoute à <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> la configuration dynamique
+ <dd>Ajoute à <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> la configuration dynamique
de mandataires inverses en masse.</dd>
<dt><code class="module"><a href="./mod/mod_remoteip.html">mod_remoteip</a></code></dt>
- <dd>Remplace l'adresse IP distante et le nom d'hôte apparents du
- client pour la requête courante par la liste d'adresses IP
- présentée par un mandataire ou un répartiteur de charge via les
- en-têtes de la requête.</dd>
+ <dd>Remplace l'adresse IP distante et le nom d'hôte apparents du
+ client pour la requête courante par la liste d'adresses IP
+ présentée par un mandataire ou un répartiteur de charge via les
+ en-têtes de la requête.</dd>
<dt><code class="module"><a href="./mod/mod_heartmonitor.html">mod_heartmonitor</a></code>,
<code class="module"><a href="./mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code></dt>
- <dd>Permet à <code class="module"><a href="./mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> de répartir la
+ <dd>Permet à <code class="module"><a href="./mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> de répartir la
charge en fonction du nombre de connexions actives sur les
- serveurs d'arrière-plan.</dd>
+ serveurs d'arrière-plan.</dd>
<dt><code class="module"><a href="./mod/mod_proxy_html.html">mod_proxy_html</a></code></dt>
<dd>Anciennement module tiers, il supporte la correction des liens
- HTML dans une situation de mandat inverse, où le serveur
- d'arrière-plan génère des URLs qui ne sont pas valides du point de
+ HTML dans une situation de mandat inverse, où le serveur
+ d'arrière-plan génère des URLs qui ne sont pas valides du point de
vue des clients du mandataire.</dd>
<dt><code class="module"><a href="./mod/mod_sed.html">mod_sed</a></code></dt>
- <dd>Une amélioration de <code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code> qui permet
- d'éditer le corps de la réponse avec toute la puissance de la
+ <dd>Une amélioration de <code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code> qui permet
+ d'éditer le corps de la réponse avec toute la puissance de la
commande sed.</dd>
<dt><code class="module"><a href="./mod/mod_auth_form.html">mod_auth_form</a></code></dt>
- <dd>Implémente une authentification à base de formulaire.</dd>
+ <dd>Implémente une authentification à base de formulaire.</dd>
<dt><code class="module"><a href="./mod/mod_session.html">mod_session</a></code></dt>
- <dd>Permet de conserver les données de sessions des clients sous
- forme de cookies ou dans une base de données.</dd>
+ <dd>Permet de conserver les données de sessions des clients sous
+ forme de cookies ou dans une base de données.</dd>
<dt><code class="module"><a href="./mod/mod_allowmethods.html">mod_allowmethods</a></code></dt>
<dd>Permet de restreindre l'utilisation de
- certaines méthodes HTTP sans interférer avec l'authentification et
+ certaines méthodes HTTP sans interférer avec l'authentification et
l'autorisation.</dd>
<dt><code class="module"><a href="./mod/mod_lua.html">mod_lua</a></code></dt>
<dd>Embarque le langage <a href="http://www.lua.org/">Lua</a> dans
httpd pour la configuration et les fonctions logiques courantes
- (Expérimental).</dd>
+ (Expérimental).</dd>
<dt><code class="module"><a href="./mod/mod_log_debug.html">mod_log_debug</a></code></dt>
- <dd>Permet d'introduire une journalisation personnalisée à
- différentes phases du traitement de la requête.</dd>
+ <dd>Permet d'introduire une journalisation personnalisée à
+ différentes phases du traitement de la requête.</dd>
<dt><code class="module"><a href="./mod/mod_buffer.html">mod_buffer</a></code></dt>
- <dd>Fournit un tampon pour les piles des filtres en entrée et en
+ <dd>Fournit un tampon pour les piles des filtres en entrée et en
sortie.</dd>
<dt><code class="module"><a href="./mod/mod_data.html">mod_data</a></code></dt>
- <dd>Convertit un corps de réponse en URL de type données RFC2397.</dd>
+ <dd>Convertit un corps de réponse en URL de type données RFC2397.</dd>
<dt><code class="module"><a href="./mod/mod_ratelimit.html">mod_ratelimit</a></code></dt>
<dd>Permet de limiter la bande passante pour certains
clients.</dd>
<dt><code class="module"><a href="./mod/mod_request.html">mod_request</a></code></dt>
- <dd>Fournit des filtres permettant de gérer et de mettre à
- disposition les corps des requêtes HTTP.</dd>
+ <dd>Fournit des filtres permettant de gérer et de mettre à
+ disposition les corps des requêtes HTTP.</dd>
<dt><code class="module"><a href="./mod/mod_reflector.html">mod_reflector</a></code></dt>
- <dd>Permet de renvoyer comme réponse le corps de la requête via la
+ <dd>Permet de renvoyer comme réponse le corps de la requête via la
pile du filtre de sortie.</dd>
<dt><code class="module"><a href="./mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code></dt>
- <dd>Met à disposition un fournisseur de mémoire partagée à base de
+ <dd>Met à disposition un fournisseur de mémoire partagée à base de
slots (du style tableau de bord).</dd>
<dt><code class="module"><a href="./mod/mod_xml2enc.html">mod_xml2enc</a></code></dt>
<dd>Anciennement module tiers, il supporte l'internationalisation
- dans les modules de filtrage basés sur libxml2 (support du
+ dans les modules de filtrage basés sur libxml2 (support du
markup)</dd>
- <dt><code class="module"><a href="./mod/mod_macro.html">mod_macro</a></code> (disponible à partir de la version 2.4.5)</dt>
+ <dt><code class="module"><a href="./mod/mod_macro.html">mod_macro</a></code> (disponible à partir de la version 2.4.5)</dt>
<dd>Permet d'utiliser des macros au sein des fichiers de
configuration.</dd>
- <dt><code class="module"><a href="./mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> (disponible à partir de la version 2.4.5)</dt>
+ <dt><code class="module"><a href="./mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> (disponible à partir de la version 2.4.5)</dt>
<dd>Support des tunnels web-socket.</dd>
- <dt><code class="module"><a href="./mod/mod_authnz_fcgi.html">mod_authnz_fcgi</a></code> (disponible à partir de la version 2.4.10)</dt>
+ <dt><code class="module"><a href="./mod/mod_authnz_fcgi.html">mod_authnz_fcgi</a></code> (disponible à partir de la version 2.4.10)</dt>
<dd>Permet aux applications d'autorisation FastCGI d'authentifier
et/ou autoriser les clients.</dd>
- <dt><code class="module"><a href="./mod/mod_http2.html">mod_http2</a></code> (disponible à partir de la
+ <dt><code class="module"><a href="./mod/mod_http2.html">mod_http2</a></code> (disponible à partir de la
version 2.4.17)</dt>
<dd>Support de la couche transport HTTP/2.</dd>
- <dt><code class="module"><a href="./mod/mod_proxy_hcheck.html">mod_proxy_hcheck</a></code> (disponible à partir de la version 2.4.21)</dt>
- <dd>Support d'un bilan de santé dynamique indépendant pour les serveurs
- d'arrière-plan mandatés distants.</dd>
+ <dt><code class="module"><a href="./mod/mod_proxy_hcheck.html">mod_proxy_hcheck</a></code> (disponible à partir de la version 2.4.21)</dt>
+ <dd>Support d'un bilan de santé dynamique indépendant pour les serveurs
+ d'arrière-plan mandatés distants.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="module" id="module">Améliorations des modules</a><a title="Lien permanent" href="#module" class="permalink">¶</a></h2>
+<h2><a name="module" id="module">Améliorations des modules</a><a title="Lien permanent" href="#module" class="permalink">¶</a></h2>
<dl>
<dt><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code></dt>
- <dd><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> peut maintenant vérifier la
- validité des certificats clients en se connectant à
- un serveur OCSP. Il est possible de définir un
- répondeur par défaut, et de choisir si l'on
- préfère le répondeur désigné
+ <dd><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> peut maintenant vérifier la
+ validité des certificats clients en se connectant à
+ un serveur OCSP. Il est possible de définir un
+ répondeur par défaut, et de choisir si l'on
+ préfère le répondeur désigné
dans le certificat client.</dd>
<dd>En outre, <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> supporte maintenant
l'estampillage OCSP (OCSP stapling), qui permet au serveur
- d'attester la validité de son certificat auprès du client au
- cours de la phase de négociation de la connexion.</dd>
+ d'attester la validité de son certificat auprès du client au
+ cours de la phase de négociation de la connexion.</dd>
- <dd>Enfin, <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> peut maintenant être configuré pour
- que celui-ci partage les données de session SSL entre les serveurs
+ <dd>Enfin, <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> peut maintenant être configuré pour
+ que celui-ci partage les données de session SSL entre les serveurs
via memcached.</dd>
- <dd>Le support des clés EC a été ajouté à celui des clés RSA et
+ <dd>Le support des clés EC a été ajouté à celui des clés RSA et
DSA.</dd>
- <dd>Support de TLS-SRP (disponible à partir de la version 2.4.4).</dd>
+ <dd>Support de TLS-SRP (disponible à partir de la version 2.4.4).</dd>
<dt><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></dt>
- <dd>La directive <code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code> est maintenant configurée
- de manière optimale dans les sections <code class="directive"><a href="./mod/core.html#location">Location</a></code> ou <code class="directive"><a href="./mod/core.html#locationmatch">LocationMatch</a></code>, et offre un gain de
- performances important par rapport à la syntaxe traditionnelle à
- deux paramètres lorsqu'elle est présente en grand nombre.</dd>
+ <dd>La directive <code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code> est maintenant configurée
+ de manière optimale dans les sections <code class="directive"><a href="./mod/core.html#location">Location</a></code> ou <code class="directive"><a href="./mod/core.html#locationmatch">LocationMatch</a></code>, et offre un gain de
+ performances important par rapport à la syntaxe traditionnelle à
+ deux paramètres lorsqu'elle est présente en grand nombre.</dd>
<dd>Il est maintenant possible de configurer l'adresse source dans
- les requêtes mandatées.</dd>
+ les requêtes mandatées.</dd>
<dd>Support des sockets de type Unix vers le serveur
- d'arrière-plan (disponible à partir de la version 2.4.7).</dd>
+ d'arrière-plan (disponible à partir de la version 2.4.7).</dd>
<dt><code class="module"><a href="./mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dt>
- <dd>Le gestionnaire de répartition de charge propose de nouvelles
- fonctionnalités. Ainsi, les possibilités de configuration des
- membres du groupe de répartition de charge pendant l'exécution ont
- été améliorées (possibilité d'ajout d'un membre supplémentaire).</dd>
+ <dd>Le gestionnaire de répartition de charge propose de nouvelles
+ fonctionnalités. Ainsi, les possibilités de configuration des
+ membres du groupe de répartition de charge pendant l'exécution ont
+ été améliorées (possibilité d'ajout d'un membre supplémentaire).</dd>
- <dd>Configuration à l'exécution d'un sous-ensemble de paramètres
- de répartition de charge.</dd>
+ <dd>Configuration à l'exécution d'un sous-ensemble de paramètres
+ de répartition de charge.</dd>
- <dd>Les membres du groupe de répartition peuvent être définis à
- 'Drain' de façon à ce qu'ils ne répondent qu'aux sessions
+ <dd>Les membres du groupe de répartition peuvent être définis à
+ 'Drain' de façon à ce qu'ils ne répondent qu'aux sessions
persistantes existantes, ce qui permet de les mettre hors ligne en
douceur.</dd>
- <dd>Les règlages du répartiteur de charge peuvent être rendus
- persistants après redémarrage.</dd>
+ <dd>Les règlages du répartiteur de charge peuvent être rendus
+ persistants après redémarrage.</dd>
<dt><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code></dt>
- <dd>Le filtre CACHE du module <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> peut être
- inséré à un certain point de la chaîne de filtrage pour contrôler
+ <dd>Le filtre CACHE du module <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> peut être
+ inséré à un certain point de la chaîne de filtrage pour contrôler
plus finement la mise en cache.
</dd>
<dd><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> peut maintenant mettre en cache des
- requêtes HEAD.</dd>
+ requêtes HEAD.</dd>
<dd>Chaque fois que cela est possible, les directives de
- <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> peuvent maintenant être définies au
- niveau du répertoire, et non plus seulement au niveau du serveur
+ <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> peuvent maintenant être définies au
+ niveau du répertoire, et non plus seulement au niveau du serveur
principal.</dd>
- <dd>L'URL de base des URLs en cache peut être personnalisée de
- façon à ce qu'un cluster de caches puisse partager le même préfixe
+ <dd>L'URL de base des URLs en cache peut être personnalisée de
+ façon à ce qu'un cluster de caches puisse partager le même préfixe
d'URL.</dd>
<dd><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> peut maintenant servir du contenu
- non mis à jour lorsqu'un serveur d'arrière-plan n'est pas
+ non mis à jour lorsqu'un serveur d'arrière-plan n'est pas
disponible (erreur 5xx).</dd>
- <dd><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> peut maintenant insérer
- HIT/MISS/REVALIDATE dans un en-tête X-Cache.</dd>
+ <dd><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> peut maintenant insérer
+ HIT/MISS/REVALIDATE dans un en-tête X-Cache.</dd>
<dt><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></dt>
- <dd>Support de l'attribut 'onerror' dans un élément 'include',
- permettant de renvoyer un message d'erreur personnalisé à la place
- du message d'erreur par défaut.</dd>
+ <dd>Support de l'attribut 'onerror' dans un élément 'include',
+ permettant de renvoyer un message d'erreur personnalisé à la place
+ du message d'erreur par défaut.</dd>
<dt><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="./mod/mod_include.html">mod_include</a></code>,
<code class="module"><a href="./mod/mod_isapi.html">mod_isapi</a></code>, ...</dt>
- <dd>La traduction des en-têtes en variables d'environnement est
+ <dd>La traduction des en-têtes en variables d'environnement est
plus stricte qu'avant, ce qui permet de diminuer l'exposition aux attaques
- de type cross-site-scripting via injection d'en-têtes. Les
- en-têtes contenant des caractères invalides (comme les caractères
- de soulignement) sont maintenant ignorés. Le document <a href="env.html">Les variables d'environnement dans Apache</a>
- présente quelques pistes pour contourner ce problème avec les
- clients anciens qui nécessitent de tels en-têtes (Ceci affecte
+ de type cross-site-scripting via injection d'en-têtes. Les
+ en-têtes contenant des caractères invalides (comme les caractères
+ de soulignement) sont maintenant ignorés. Le document <a href="env.html">Les variables d'environnement dans Apache</a>
+ présente quelques pistes pour contourner ce problème avec les
+ clients anciens qui nécessitent de tels en-têtes (Ceci affecte
tous les modules qui utilisent ces variables d'environnement).</dd>
<dt><code class="module"><a href="./mod/mod_authz_core.html">mod_authz_core</a></code> Conteneurs de logique d'autorisation</dt>
<dd>La directive <code class="directive"><a href="./mod/mod_authz_core.html#require">Require</a></code> et les directives de
- conteneurs associées, comme <code class="directive"><a href="./mod/mod_authz_core.html#requireall"><RequireAll></a></code>, permettent de définir une
- logique d'autorisation avancée.</dd>
+ conteneurs associées, comme <code class="directive"><a href="./mod/mod_authz_core.html#requireall"><RequireAll></a></code>, permettent de définir une
+ logique d'autorisation avancée.</dd>
<dt><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></dt>
<dd>La directive <code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> dispose maintenant
des drapeaux <code>[QSD]</code> (Query String Discard) et
- <code>[END]</code> qui permettent de simplifier les scénarios de
- réécriture courants.</dd>
- <dd>Possibilité d'utiliser des expressions booléennes complexes
+ <code>[END]</code> qui permettent de simplifier les scénarios de
+ réécriture courants.</dd>
+ <dd>Possibilité d'utiliser des expressions booléennes complexes
dans la directive <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>.</dd>
- <dd>Possibilité d'utiliser des requêtes SQL en tant que fonctions
+ <dd>Possibilité d'utiliser des requêtes SQL en tant que fonctions
dans la directive <code class="directive"><a href="./mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>.</dd>
<dt><code class="module"><a href="./mod/mod_ldap.html">mod_ldap</a></code>, <code class="module"><a href="./mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></dt>
<dd><code class="module"><a href="./mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> ajoute le support des
- groupes imbriqués.</dd>
+ groupes imbriqués.</dd>
<dd><code class="module"><a href="./mod/mod_ldap.html">mod_ldap</a></code> apporte les directives <code class="directive"><a href="./mod/mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL</a></code> et <code class="directive"><a href="./mod/mod_ldap.html#ldaptimeout">LDAPTimeout</a></code>, ainsi que d'autres
- améliorations dans le traitement des délais. Ceci s'avère utile
- pour les configurations où un pare-feu à mémoire d'état (stateful)
- rejète les connexions inactives vers le serveur LDAP.</dd>
+ améliorations dans le traitement des délais. Ceci s'avère utile
+ pour les configurations où un pare-feu à mémoire d'état (stateful)
+ rejète les connexions inactives vers le serveur LDAP.</dd>
<dd><code class="module"><a href="./mod/mod_ldap.html">mod_ldap</a></code> propose la directive <code class="directive"><a href="./mod/mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug</a></code> qui permet de
- journaliser les informations de débogage fournies par la boîte à
- outils LDAP utilisée.</dd>
+ journaliser les informations de débogage fournies par la boîte à
+ outils LDAP utilisée.</dd>
<dt><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></dt>
<dd><code class="module"><a href="./mod/mod_info.html">mod_info</a></code> est maintenant capable d'afficher la
- configuration préinterprétée sur stdout au cours du démarrage du
+ configuration préinterprétée sur stdout au cours du démarrage du
serveur.</dd>
<dt><code class="module"><a href="./mod/mod_auth_basic.html">mod_auth_basic</a></code></dt>
- <dd>Nouveau mécanisme générique permettant d'effectuer une
- authentification basique (disponible à partir de la version 2.4.5).</dd>
+ <dd>Nouveau mécanisme générique permettant d'effectuer une
+ authentification basique (disponible à partir de la version 2.4.5).</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="programs" id="programs">Améliorations des programmes</a><a title="Lien permanent" href="#programs" class="permalink">¶</a></h2>
+<h2><a name="programs" id="programs">Améliorations des programmes</a><a title="Lien permanent" href="#programs" class="permalink">¶</a></h2>
<dl>
<dt><code class="program"><a href="./programs/fcgistarter.html">fcgistarter</a></code></dt>
- <dd>Nouvel utilitaire pour le démarrage des démons
+ <dd>Nouvel utilitaire pour le démarrage des démons
FastCGI.</dd>
<dt><code class="program"><a href="./programs/htcacheclean.html">htcacheclean</a></code></dt>
- <dd>Les URLs présentes dans le cache peuvent maintenant être
- affichées, accompagnées éventuellement de leurs métadonnées.</dd>
- <dd>Possibilité de supprimer explicitement des URLs individuelles
- présentes dans le cache.</dd>
- <dd>Les tailles de fichiers peuvent maintenant être arrondies au
- multiple de la taille de bloc donnée, les limites de taille
- collant de ce fait d'avantage à la taille réelle sur disque.</dd>
- <dd>La taille du cache peut maintenant être limitée par le
- nombre d'inodes, en plus de la possibilité de limitation par la
+ <dd>Les URLs présentes dans le cache peuvent maintenant être
+ affichées, accompagnées éventuellement de leurs métadonnées.</dd>
+ <dd>Possibilité de supprimer explicitement des URLs individuelles
+ présentes dans le cache.</dd>
+ <dd>Les tailles de fichiers peuvent maintenant être arrondies au
+ multiple de la taille de bloc donnée, les limites de taille
+ collant de ce fait d'avantage à la taille réelle sur disque.</dd>
+ <dd>La taille du cache peut maintenant être limitée par le
+ nombre d'inodes, en plus de la possibilité de limitation par la
taille des fichiers.</dd>
<dt><code class="program"><a href="./programs/rotatelogs.html">rotatelogs</a></code></dt>
- <dd>Possibilité de créer un lien vers le fichier journal
+ <dd>Possibilité de créer un lien vers le fichier journal
courant.</dd>
- <dd>Possibilité d'invoquer un script personnalisé après la
+ <dd>Possibilité d'invoquer un script personnalisé après la
rotation.</dd>
<dt><code class="program"><a href="./programs/htpasswd.html">htpasswd</a></code>, <code class="program"><a href="./programs/htdbm.html">htdbm</a></code></dt>
- <dd>Support de l'algorithme bcrypt (disponible à partir de la
+ <dd>Support de l'algorithme bcrypt (disponible à partir de la
version 2.4.4).
</dd>
</dl>
<dl>
<dt>mod_rewrite</dt>
<dd>La documentation du module <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> a
- été réorganisée et presque entièrement réécrite en mettant
+ été réorganisée et presque entièrement réécrite en mettant
l'accent sur les exemples et l'utilisation courante, ainsi que
- sur l'incitation à utiliser d'autres solutions lorsque cela
- s'avère plus approprié. Le document <a href="rewrite/">Rewrite
+ sur l'incitation à utiliser d'autres solutions lorsque cela
+ s'avère plus approprié. Le document <a href="rewrite/">Rewrite
Guide</a> constitue maintenant une section de premier niveau ;
- il est mieux organisé et contient beaucoup plus de détails.</dd>
+ il est mieux organisé et contient beaucoup plus de détails.</dd>
<dt>mod_ssl</dt>
- <dd>La documentation du module <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> a été
- grandement améliorée, avec plus d'exemples et un niveau "Bien
- démarrer" qui s'ajoutent aux détails techniques déjà présents
- dans la précédente documentation.</dd>
+ <dd>La documentation du module <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> a été
+ grandement améliorée, avec plus d'exemples et un niveau "Bien
+ démarrer" qui s'ajoutent aux détails techniques déjà présents
+ dans la précédente documentation.</dd>
<dt>Caching Guide</dt>
<dd>Le <a href="caching.html">Guide de la mise en cache</a> a
- été réécrit afin de bien faire la différence entre les
- fonctionnalités de mise en cache de la RFC2616 HTTP/1.1 fournies
+ été réécrit afin de bien faire la différence entre les
+ fonctionnalités de mise en cache de la RFC2616 HTTP/1.1 fournies
par le module <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>, et la mise en cache
- générique de type clé/valeur fournie par l'interface <a href="socache.html">socache</a>, mais aussi pour couvrir la mise
- en cache spécialisée fournie par des mécanismes tels que ceux du
+ générique de type clé/valeur fournie par l'interface <a href="socache.html">socache</a>, mais aussi pour couvrir la mise
+ en cache spécialisée fournie par des mécanismes tels que ceux du
module <code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code>.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="developer" id="developer">Modifications concernant les développeur de modules</a><a title="Lien permanent" href="#developer" class="permalink">¶</a></h2>
+<h2><a name="developer" id="developer">Modifications concernant les développeur de modules</a><a title="Lien permanent" href="#developer" class="permalink">¶</a></h2>
<dl>
- <dt>Ajout de code pour la vérification de la configuration</dt>
-
- <dd>Une nouvelle fonction, <code>check_config</code>, a été ajoutée et
- s'exécute entre les fonctions <code>pre_config</code> et
- <code>open_logs</code>. Elle s'exécute aussi avant la fonction
- <code>test_config</code> si l'option <code>-t</code> est passée au
- démon <code class="program"><a href="./programs/httpd.html">httpd</a></code>. La fonction <code>check_config</code>
- permet aux modules de vérifier l'interdépendance des valeurs des
+ <dt>Ajout de code pour la vérification de la configuration</dt>
+
+ <dd>Une nouvelle fonction, <code>check_config</code>, a été ajoutée et
+ s'exécute entre les fonctions <code>pre_config</code> et
+ <code>open_logs</code>. Elle s'exécute aussi avant la fonction
+ <code>test_config</code> si l'option <code>-t</code> est passée au
+ démon <code class="program"><a href="./programs/httpd.html">httpd</a></code>. La fonction <code>check_config</code>
+ permet aux modules de vérifier l'interdépendance des valeurs des
directives de configuration et d'ajuster ces valeurs, alors que les
- messages du serveur peuvent encore être affichés sur la console.
+ messages du serveur peuvent encore être affichés sur la console.
L'utilisateur est ainsi averti des erreurs de configuration avant que la
fonction du noyau <code>open_logs</code> ne redirige les sorties de la
console vers le journal des erreurs.</dd>
<dt>Ajout d'un analyseur syntaxique d'expressions</dt>
- <dd>Nous disposons à présent d'un analyseur générique d'expressions, dont l'API
- est décrite dans <var>ap_expr.h</var>. Il s'agit d'une adaptation de
+ <dd>Nous disposons à présent d'un analyseur générique d'expressions, dont l'API
+ est décrite dans <var>ap_expr.h</var>. Il s'agit d'une adaptation de
l'analyseur qu'on trouvait auparavant dans <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>.</dd>
<dt>Conteneurs de logique d'autorisation</dt>
- <dd>Afin de fournir une logique d'autorisation avancée via des
+ <dd>Afin de fournir une logique d'autorisation avancée via des
directives telles que <code class="directive"><a href="./mod/mod_authz_core.html#requireall"><RequireAll></a></code>, les modules d'autorisation
s'enregistrent maintenant en tant
que fournisseur par le biais de ap_register_auth_provider().</dd>
<dt>Interface de mise en cache des petits objets</dt>
- <dd>Le fichier d'en-têtes <var>ap_socache.h</var> fournit une
- interface à base de fournisseur pour la mise en cache des petits
- objets de données, en s'inspirant de
- l'implémentation précédente
- du cache de session par <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>. Sont supportés
+ <dd>Le fichier d'en-têtes <var>ap_socache.h</var> fournit une
+ interface à base de fournisseur pour la mise en cache des petits
+ objets de données, en s'inspirant de
+ l'implémentation précédente
+ du cache de session par <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>. Sont supportés
actuellement : les fournisseurs utilisant un tampon cyclique en
- mémoire partagée, les fichiers dbm sur disque, et les caches
- distribués de type memcache.</dd>
+ mémoire partagée, les fichiers dbm sur disque, et les caches
+ distribués de type memcache.</dd>
<dt>Ajout du point d'ancrage Cache Status</dt>
<dd>Le module <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> inclut maintenant un
- nouveau point d'ancrage, <code>cache_status</code>, qui est appelé
- lorsque la décision à propos de la mise en cache est connue. Il en
- existe une implémentation par défaut qui ajoute les en-têtes
- optionnels <code>X-Cache</code> et <code>X-Cache-Detail</code> à
- la réponse.</dd>
+ nouveau point d'ancrage, <code>cache_status</code>, qui est appelé
+ lorsque la décision à propos de la mise en cache est connue. Il en
+ existe une implémentation par défaut qui ajoute les en-têtes
+ optionnels <code>X-Cache</code> et <code>X-Cache-Detail</code> à
+ la réponse.</dd>
</dl>
- <p>La documentation du développeur contient une <a href="developer/new_api_2_4.html">liste détaillée des modifications
+ <p>La documentation du développeur contient une <a href="developer/new_api_2_4.html">liste détaillée des modifications
de l'API</a>.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/new_features_2_4.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/new_features_2_4.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/new_features_2_4.html" title="Français"> fr </a> |
-<a href="./tr/new_features_2_4.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./es/new_features_2_4.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/new_features_2_4.html" title="Français"> fr </a> |
+<a href="./tr/new_features_2_4.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
transparence des certificats</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/programs/ctlogconfig.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/programs/ctlogconfig.html" title="Français"> fr </a></p>
+<a href="../fr/programs/ctlogconfig.html" title="Français"> fr </a></p>
</div>
- <p><code>ctlogconfig</code> est un utilitaire permettant de créer et
- maintenir une base de données pour la configuration du service de
+ <p><code>ctlogconfig</code> est un utilitaire permettant de créer et
+ maintenir une base de données pour la configuration du service de
transparence des certificats utilisable par le module
- <code class="module"><a href="../mod/mod_ssl_ct.html">mod_ssl_ct</a></code> ; nous nous référerons à ce service
+ <code class="module"><a href="../mod/mod_ssl_ct.html">mod_ssl_ct</a></code> ; nous nous référerons à ce service
sous le terme "log" dans la suite de cette documentation.</p>
- <p>Avant d'aller plus loin, et si ce n'est déjà fait, veuillez
+ <p>Avant d'aller plus loin, et si ce n'est déjà fait, veuillez
consulter le document <a href="../mod/mod_ssl_ct.html#logconf">Configuration des logs</a>
dans la documentation du module <code class="module"><a href="../mod/mod_ssl_ct.html">mod_ssl_ct</a></code>.</p>
ci-dessous</a> pour une utilisation typique.</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Exemples et définitions</a></li>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Exemples et définitions</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#subcommands">Commandes</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><code class="module"><a href="../mod/mod_ssl_ct.html">mod_ssl_ct</a></code></li><li><a href="#comments_section">Commentaires</a></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="synopsis" id="synopsis">Exemples et définitions</a><a title="Lien permanent" href="#synopsis" class="permalink">¶</a></h2>
+<h2><a name="synopsis" id="synopsis">Exemples et définitions</a><a title="Lien permanent" href="#synopsis" class="permalink">¶</a></h2>
<p><code>
<strong>ctlogconfig</strong> <em>/path/to/db</em> <strong>dump</strong>
<dl>
<dt><em>log-id</em></dt>
- <dd>Il s'agit de l'identifiant du log qui est généré en effectuant
- un hash SHA-256 au format hexadécimal de la clé publique du log.
- La taille de cette chaîne est de 64 caractères. </dd>
+ <dd>Il s'agit de l'identifiant du log qui est généré en effectuant
+ un hash SHA-256 au format hexadécimal de la clé publique du log.
+ La taille de cette chaîne est de 64 caractères. </dd>
<dt><em>record-id</em></dt>
- <dd>Il s'agit du numéro d'enregistrement dans la base de données,
+ <dd>Il s'agit du numéro d'enregistrement dans la base de données,
tel qu'il s'affiche avec la sous-commande <strong>dump</strong>,
- préfixé par le caractère <strong>#</strong>. Par exemple,
- <strong>#4</strong> renvoie au quatrième enregistrement de la base
- de données (utilisez le mécanisme d'échappement du shell si
- nécessaire).</dd>
+ préfixé par le caractère <strong>#</strong>. Par exemple,
+ <strong>#4</strong> renvoie au quatrième enregistrement de la base
+ de données (utilisez le mécanisme d'échappement du shell si
+ nécessaire).</dd>
<dt><em>/path/to/public-key.pem</em></dt>
- <dd>Il s'agit du chemin vers le fichier contenant la clé publique du
- log au format PEM. En effet, la clé publique n'est pas stockée dans la base de
- données, et le fichier ne peut donc pas être supprimé jusqu'à ce que
- la donnée qui y fait référence dans la base de données soit
- supprimée ou modifiée.</dd>
+ <dd>Il s'agit du chemin vers le fichier contenant la clé publique du
+ log au format PEM. En effet, la clé publique n'est pas stockée dans la base de
+ données, et le fichier ne peut donc pas être supprimé jusqu'à ce que
+ la donnée qui y fait référence dans la base de données soit
+ supprimée ou modifiée.</dd>
<dt><em>min-timestamp</em>, <em>max-timestamp</em></dt>
- <dd>Un repère de temps (timestamp) est un temps exprimé en
+ <dd>Un repère de temps (timestamp) est un temps exprimé en
millisecondes depuis le temps epoch, sans tenir compte des secondes
- sautées. C'est le format de temps utilisé dans les SCTs. Le repère
- de temps doit être fourni sous la forme d'un nombre décimal.
+ sautées. C'est le format de temps utilisé dans les SCTs. Le repère
+ de temps doit être fourni sous la forme d'un nombre décimal.
<br />
- Spécifiez <strong><code>-</code></strong> pour un des repères de
- temps s'il n'est pas connu. Par exemple, lorsque vous définissez le
- repère de temps minimum valide pour un log qui reste valide,
- spécifiez <strong><code>-</code></strong> pour
+ Spécifiez <strong><code>-</code></strong> pour un des repères de
+ temps s'il n'est pas connu. Par exemple, lorsque vous définissez le
+ repère de temps minimum valide pour un log qui reste valide,
+ spécifiez <strong><code>-</code></strong> pour
<em>max-timestamp</em>.
<br />
- Les SCTs reçu par le mandataire depuis ce log seront invalides si le
- repère de temps est plus ancien que <em>min-timestamp</em> ou plus
- récent que <em>max-timestamp</em>.</dd>
+ Les SCTs reçu par le mandataire depuis ce log seront invalides si le
+ repère de temps est plus ancien que <em>min-timestamp</em> ou plus
+ récent que <em>max-timestamp</em>.</dd>
</dl>
<dl>
<dt>dump</dt>
- <dd>Affiche les éléments de configuration de la base de données.
+ <dd>Affiche les éléments de configuration de la base de données.
L'identifiant des enregistrements que cette commande affiche peut
- servir de référence pour les enregistrements devant être affectés
+ servir de référence pour les enregistrements devant être affectés
par les autres commandes.</dd>
<dt>configure-public-key</dt>
- <dd>Ajoute une clé publique pour un log de la base de données ou
- modifie la clé publique d'un log existant. La clé publique d'un log
+ <dd>Ajoute une clé publique pour un log de la base de données ou
+ modifie la clé publique d'un log existant. La clé publique d'un log
permet de valider la signature des SCTs (Signed certificate
- Timestamp) reçus par un mandataire depuis un serveur d'arrière-plan
- (La base de données sera créée si elle n'existe pas encore).</dd>
+ Timestamp) reçus par un mandataire depuis un serveur d'arrière-plan
+ (La base de données sera créée si elle n'existe pas encore).</dd>
<dt>configure-url</dt>
- <dd>Ajoute une URL pour un log de la base de données ou modifie
+ <dd>Ajoute une URL pour un log de la base de données ou modifie
l'URL d'un log existant. L'URL d'un log permet de soumettre des
- certificats de serveur à ce dernier afin d'obtenir des SCTs qui
- pourront être envoyés aux clients (La base de données sera créée si
+ certificats de serveur à ce dernier afin d'obtenir des SCTs qui
+ pourront être envoyés aux clients (La base de données sera créée si
elle n'existe pas encore).</dd>
<dt>valid-time-range</dt>
- <dd>Cette commande permet de définir le temps de validation minimum
- et/ou maximum pour un log. Les SCTs en provenance du log possédant
- un repère de temps en dehors de la plage définie seront rejetés.
- Utilisez <code>-</code> pour un temps non défini (La base de données
- sera créée si elle n'existe pas encore).</dd>
+ <dd>Cette commande permet de définir le temps de validation minimum
+ et/ou maximum pour un log. Les SCTs en provenance du log possédant
+ un repère de temps en dehors de la plage définie seront rejetés.
+ Utilisez <code>-</code> pour un temps non défini (La base de données
+ sera créée si elle n'existe pas encore).</dd>
<dt>trust</dt>
<dd>Marque un log comme digne de confiance, ce qui est la situation
- par défaut. Cette command permet de marquer un log comme digne de
- confiance, alors que ce n'était pas le cas auparavant (La base de
- données sera créée si elle n'existe pas encore).</dd>
+ par défaut. Cette command permet de marquer un log comme digne de
+ confiance, alors que ce n'était pas le cas auparavant (La base de
+ données sera créée si elle n'existe pas encore).</dd>
<dt>distrust</dt>
<dd>Marque un log comme non digne de confiance (La base de
- données sera créée si elle n'existe pas encore).</dd>
+ données sera créée si elle n'existe pas encore).</dd>
<dt>forget</dt>
- <dd>Supprime de la base de données les informations relatives
- à un log.</dd>
+ <dd>Supprime de la base de données les informations relatives
+ à un log.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
serveur TLS et mandataire. Le serveur TLS doit obtenir des SCTs de la
part de certains logs connus afin de pouvoir les transmettre aux
clients, et le mandataire doit pouvoir valider la signature des SCTs
- en provenance des serveurs d'arrière-plan.</p>
+ en provenance des serveurs d'arrière-plan.</p>
- <p>Nous allons tout d'abord définir les URLs des logs où les
- certificats sont enregistrés :</p>
+ <p>Nous allons tout d'abord définir les URLs des logs où les
+ certificats sont enregistrés :</p>
<div class="example"><p><code>
$ ctlogconfig /path/to/conf/log-config configure-url http://log1.example.com/<br />
Time range : -INF to +INF<br />
</code></p></div>
- <p>Nous pouvons maintenant attribuer une clé publique à un log où le
- certificat de notre seul serveur d'arrière-plan est publié. Dans notre
+ <p>Nous pouvons maintenant attribuer une clé publique à un log où le
+ certificat de notre seul serveur d'arrière-plan est publié. Dans notre
cas, il s'agit du log dont l'URL est http://log2.example.com/, et qui
- a déjà été configuré.</p>
+ a déjà été configuré.</p>
<div class="example"><p><code>
$ ctlogconfig /path/to/conf/log-config configure-public-key \#2 /path/to/conf/log2-pub.pem<br />
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/programs/ctlogconfig.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/programs/ctlogconfig.html" title="Français"> fr </a></p>
+<a href="../fr/programs/ctlogconfig.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>firehose - Démultiplexe un flux firehose - Serveur Apache HTTP Version 2.5</title>
+<title>firehose - Démultiplexe un flux firehose - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>firehose - Démultiplexe un flux firehose</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>firehose - Démultiplexe un flux firehose</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/programs/firehose.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/programs/firehose.html" title="Français"> fr </a></p>
+<a href="../fr/programs/firehose.html" title="Français"> fr </a></p>
</div>
- <p><code>firehose</code> démultiplexe le flux de connexions
- multiplexées donné, et enregistre chacune d'entre elles dans un
+ <p><code>firehose</code> démultiplexe le flux de connexions
+ multiplexées donné, et enregistre chacune d'entre elles dans un
fichier individuel.</p>
- <p>Lors de son enregistrement, chaque connexion est placée dans un
- fichier dédié dont le nom est généré à partir de l'UUID de la
- connexion dans le flux. Si le flux comporte des requêtes et des
- réponses, ces dernières feront l'objet de fichiers séparés.</p>
+ <p>Lors de son enregistrement, chaque connexion est placée dans un
+ fichier dédié dont le nom est généré à partir de l'UUID de la
+ connexion dans le flux. Si le flux comporte des requêtes et des
+ réponses, ces dernières feront l'objet de fichiers séparés.</p>
- <p>Si le paramètre optionnel prefix est spécifié, les connexions qui
- commencent par le préfixe donné seront incluses. Le préfixe doit
- correspondre exactement au premier fragment pour un résultat de
+ <p>Si le paramètre optionnel prefix est spécifié, les connexions qui
+ commencent par le préfixe donné seront incluses. Le préfixe doit
+ correspondre exactement au premier fragment pour un résultat de
comparaison positif.</p>
</div>
<div class="section">
<h2><a name="synopsis" id="synopsis">Syntaxe</a><a title="Lien permanent" href="#synopsis" class="permalink">¶</a></h2>
<p><code><strong>firehose</strong>
- [ -<strong>f</strong> <var>entrée</var> ]
- [ -<strong>o</strong> <var>répertoire-sortie</var> ]
+ [ -<strong>f</strong> <var>entrée</var> ]
+ [ -<strong>o</strong> <var>répertoire-sortie</var> ]
[ -<strong>u</strong> <var>uuid</var> ]
[ -<strong>h</strong> ]
[ --<strong>version</strong> ]
- [<var>préfixe1</var> [...]]</code></p>
+ [<var>préfixe1</var> [...]]</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="options" id="options">Options</a><a title="Lien permanent" href="#options" class="permalink">¶</a></h2>
<dl>
<dt><code>--file, -f <var>nom-fichier</var></code></dt>
- <dd>Fichier depuis lequel doit être lu le flux firehose. La valeur
- par défaut est stdin.</dd>
+ <dd>Fichier depuis lequel doit être lu le flux firehose. La valeur
+ par défaut est stdin.</dd>
- <dt><code>--output-directory, -o </code> <var>répertoire-sortie</var></dt>
- <dd>Répertoire dans lequel les connexions démultiplexées doivent
- être enregistrées.</dd>
+ <dt><code>--output-directory, -o </code> <var>répertoire-sortie</var></dt>
+ <dd>Répertoire dans lequel les connexions démultiplexées doivent
+ être enregistrées.</dd>
<dt><code>--uuid, -u</code> <var>uuid</var></dt>
- <dd>L'UUID de la connexion à démultiplexer. Plusieurs UUID peuvent
- être spécifiés. Par défaut, tout les UUID seront démultiplexés.</dd>
+ <dd>L'UUID de la connexion à démultiplexer. Plusieurs UUID peuvent
+ être spécifiés. Par défaut, tout les UUID seront démultiplexés.</dd>
<dt><code>--help, -h</code></dt>
<dd>Ce texte d'aide.</dd>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/programs/firehose.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/programs/firehose.html" title="Français"> fr </a></p>
+<a href="../fr/programs/firehose.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>log_server_status - Enregistrement périodique de l'état du serveur - Serveur Apache HTTP Version 2.5</title>
+<title>log_server_status - Enregistrement périodique de l'état du serveur - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>log_server_status - Enregistrement périodique de l'état du serveur</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>log_server_status - Enregistrement périodique de l'état du serveur</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/programs/log_server_status.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/programs/log_server_status.html" title="Français"> fr </a></p>
+<a href="../fr/programs/log_server_status.html" title="Français"> fr </a></p>
</div>
- <p>Ce script perl a été conçu pour être exécuté à intervalles
- réguliers via un déclencheur de type cron. Il se connecte au serveur
- pour en extraire des informations quant à son état. Il formate ces
+ <p>Ce script perl a été conçu pour être exécuté à intervalles
+ réguliers via un déclencheur de type cron. Il se connecte au serveur
+ pour en extraire des informations quant à son état. Il formate ces
informations sous la forme d'une seule ligne qu'il enregistre dans
- un fichier. Vous devez éditer la valeur des variables en tête de
- script afin de définir le chemin du fichier de sortie. Pour que ce
+ un fichier. Vous devez éditer la valeur des variables en tête de
+ script afin de définir le chemin du fichier de sortie. Pour que ce
script puisse fonctionner, <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> doit au
- préalable être chargé et configuré.</p>
+ préalable être chargé et configuré.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<pre class="prettyprint lang-perl">my $wherelog = "/usr/local/apache2/logs/"; # Le fichier de sortie sera
# du style "/usr/local/apache2/logs/19960312"
my $server = "localhost"; # Nom du serveur, par exemple "www.foo.com"
-my $port = "80"; # Port d'écoute du serveur
-my $request = "/server-status/?auto"; # Requête à soumettre</pre>
+my $port = "80"; # Port d'écoute du serveur
+my $request = "/server-status/?auto"; # Requête à soumettre</pre>
<p>Ces variables doivent contenir des valeurs correctes, et le
-gestionnaire <code>/server-status</code> doit être configuré pour le
-répertoire considéré. En outre, l'utilisateur qui exécute le script doit
-avoir les droits d'écriture sur le chemin du fichier de sortie.</p>
+gestionnaire <code>/server-status</code> doit être configuré pour le
+répertoire considéré. En outre, l'utilisateur qui exécute le script doit
+avoir les droits d'écriture sur le chemin du fichier de sortie.</p>
-<p>L'exécution périodique du script via cron permet d'obtenir un jeu de
-rapports d'état qui pourra être utilisé à des fins d'analyse
+<p>L'exécution périodique du script via cron permet d'obtenir un jeu de
+rapports d'état qui pourra être utilisé à des fins d'analyse
statistique.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/programs/log_server_status.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/programs/log_server_status.html" title="Français"> fr </a></p>
+<a href="../fr/programs/log_server_status.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Programmes</a></div><div id="page-content"><div id="preamble"><h1>Autres programmes</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/programs/other.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/programs/other.html" title="Français"> fr </a> |
+<a href="../fr/programs/other.html" title="Français"> fr </a> |
<a href="../ko/programs/other.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/programs/other.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/programs/other.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Cette page contenait la documentation de programmes qui possèdent
+ <p>Cette page contenait la documentation de programmes qui possèdent
maintenant leurs propres pages de documentation. Merci de bien
- vouloir mettre à jour vos liens.</p>
+ vouloir mettre à jour vos liens.</p>
<p><code class="program"><a href="../programs/log_server_status.html">log_server_status</a></code></p>
<p><code class="program"><a href="../programs/split-logfile.html">split-logfile</a></code></p>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/programs/other.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/programs/other.html" title="Français"> fr </a> |
+<a href="../fr/programs/other.html" title="Français"> fr </a> |
<a href="../ko/programs/other.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/programs/other.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/programs/other.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
virtuels</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/programs/split-logfile.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/programs/split-logfile.html" title="Français"> fr </a></p>
+<a href="../fr/programs/split-logfile.html" title="Français"> fr </a></p>
</div>
<p>Ce script perl permet d'extraire un journal pour chaque serveur
- virtuel à partir d'un journal d'accès global du serveur web. Pour
+ virtuel à partir d'un journal d'accès global du serveur web. Pour
que ce script fonctionne, le premier champ de chaque ligne du
- journal global doit contenir l'identité du serveur virtuel ; ce
- champ aura été ajouté à la directive <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> via la variable
+ journal global doit contenir l'identité du serveur virtuel ; ce
+ champ aura été ajouté à la directive <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> via la variable
"<code>%v</code>".
</p>
</div>
<div class="section">
<h2><a name="split-logfile" id="split-logfile">Mode d'emploi</a><a title="Lien permanent" href="#split-logfile" class="permalink">¶</a></h2>
- <p>Création d'un fichier journal comportant l'identité du serveur
- virtuel considéré :</p>
+ <p>Création d'un fichier journal comportant l'identité du serveur
+ virtuel considéré :</p>
<pre class="prettyprint lang-config">LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined_plus_vhost
CustomLog "logs/access_log" combined_plus_vhost</pre>
- <p>Un fichier journal sera créé dans le répertoire à partir duquel
- vous exécutez le script pour chaque serveur virtuel qui apparaît
- dans le journal global. Ces fichiers journaux seront nommés à partir
- du nom du serveur virtuel considéré, avec l'extension
+ <p>Un fichier journal sera créé dans le répertoire à partir duquel
+ vous exécutez le script pour chaque serveur virtuel qui apparaît
+ dans le journal global. Ces fichiers journaux seront nommés à partir
+ du nom du serveur virtuel considéré, avec l'extension
<code>.log</code>.</p>
- <p>Le fichier journal global est lu depuis l'entrée standard stdin.
- Les entrées de ce journal sont alors ajoutées au journal du serveur
+ <p>Le fichier journal global est lu depuis l'entrée standard stdin.
+ Les entrées de ce journal sont alors ajoutées au journal du serveur
virtuel correspondant.</p>
<div class="example"><p><code>split-logfile < access_log</code></p></div>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/programs/split-logfile.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/programs/split-logfile.html" title="Français"> fr </a></p>
+<a href="../fr/programs/split-logfile.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>suexec - Change d'utilisateur avant l'exécution d'un programme
+<title>suexec - Change d'utilisateur avant l'exécution d'un programme
externe - Serveur Apache HTTP Version 2.5</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" />
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>suexec - Change d'utilisateur avant l'exécution d'un programme
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>suexec - Change d'utilisateur avant l'exécution d'un programme
externe</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/programs/suexec.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/programs/suexec.html" title="Français"> fr </a> |
+<a href="../fr/programs/suexec.html" title="Français"> fr </a> |
<a href="../ko/programs/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/programs/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/programs/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
<p><code>suexec</code> permet au serveur HTTP Apache de changer
- d'utilisateur avant d'exécuter un programme CGI. Pour ce faire, il
- doit être exécuté par <code>root</code>. A cet effet, comme le
- démon HTTP ne s'exécute en général pas en tant que
- <code>root</code>, l'exécutable <code>suexec</code> doit posséder
- le bit setuid et avoir comme propriétaire <code>root</code>. Seul
- <code>root</code> doit en posséder les droits en écriture.</p>
+ d'utilisateur avant d'exécuter un programme CGI. Pour ce faire, il
+ doit être exécuté par <code>root</code>. A cet effet, comme le
+ démon HTTP ne s'exécute en général pas en tant que
+ <code>root</code>, l'exécutable <code>suexec</code> doit posséder
+ le bit setuid et avoir comme propriétaire <code>root</code>. Seul
+ <code>root</code> doit en posséder les droits en écriture.</p>
- <p>Pour plus d'informations à propos des concepts et du modèle de
- sécurité du programme suexec, veuillez vous reporter à sa
+ <p>Pour plus d'informations à propos des concepts et du modèle de
+ sécurité du programme suexec, veuillez vous reporter à sa
documentation : <a href="http://httpd.apache.org/docs/trunk/suexec.html">http://httpd.apache.org/docs/trunk/suexec.html</a>.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Synopsis</a></li>
<dl>
<dt><code>-V</code></dt>
-<dd>Si vous êtes <code>root</code>, cette option permet d'afficher les
+<dd>Si vous êtes <code>root</code>, cette option permet d'afficher les
options de compilation du programme <code>suexec</code>. Pour des
-raisons de sécurité, toutes les options de configuration ne sont
-modifiables qu'à la compilation.</dd>
+raisons de sécurité, toutes les options de configuration ne sont
+modifiables qu'à la compilation.</dd>
</dl>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/programs/suexec.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/programs/suexec.html" title="Français"> fr </a> |
+<a href="../fr/programs/suexec.html" title="Français"> fr </a> |
<a href="../ko/programs/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/programs/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/programs/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Les drapeaux de réécriture - Serveur Apache HTTP Version 2.5</title>
+<title>Les drapeaux de réécriture - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Les drapeaux de réécriture</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Les drapeaux de réécriture</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/flags.html" title="Français"> fr </a></p>
+<a href="../fr/rewrite/flags.html" title="Français"> fr </a></p>
</div>
-<p>Ce document décrit les drapeaux disponibles dans la directive
+<p>Ce document décrit les drapeaux disponibles dans la directive
<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>, en fournissant
-des explications détaillées et des exemples.</p>
+des explications détaillées et des exemples.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introduction</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#flag_b">B (échappement dans les références arrières)</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#flag_bnp">BNP|backrefnoplus (ne pas échapper
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_b">B (échappement dans les références arrières)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_bnp">BNP|backrefnoplus (ne pas échapper
l'espace en +)</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#flag_c">C|chain</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#flag_co">CO|cookie</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#flag_r">R|redirect</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#flag_s">S|skip</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#flag_t">T|type</a></li>
-</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentation du module</a></li><li><a href="intro.html">Introduction à mod_rewrite</a></li><li><a href="remapping.html">Redirection and remise en
-correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a href="vhosts.html">Serveurs virtuels</a></li><li><a href="proxy.html">Mise en cache</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li><li><a href="#comments_section">Commentaires</a></li></ul></div>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentation du module</a></li><li><a href="intro.html">Introduction à mod_rewrite</a></li><li><a href="remapping.html">Redirection and remise en
+correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a href="vhosts.html">Serveurs virtuels</a></li><li><a href="proxy.html">Mise en cache</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li><li><a href="#comments_section">Commentaires</a></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="introduction" id="introduction">Introduction</a><a title="Lien permanent" href="#introduction" class="permalink">¶</a></h2>
-<p>Le comportement d'une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> peut être modifié par un ou
-plusieurs drapeaux. Les drapeaux sont situés en fin de règle, entourés
-de crochets, et séparés le cas échéant par des virgules.</p>
+<p>Le comportement d'une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> peut être modifié par un ou
+plusieurs drapeaux. Les drapeaux sont situés en fin de règle, entourés
+de crochets, et séparés le cas échéant par des virgules.</p>
<pre class="prettyprint lang-config">RewriteRule pattern target [Flag1,Flag2,Flag3]</pre>
-<p>Chaque drapeau (à quelques exceptions près)
-possède une forme courte, comme <code>CO</code>, ainsi qu'une forme longue,
+<p>Chaque drapeau (à quelques exceptions près)
+possède une forme courte, comme <code>CO</code>, ainsi qu'une forme longue,
comme <code>cookie</code>. Bien que
-la forme courte soit la plus couramment utilisée, nous vous recommandons
+la forme courte soit la plus couramment utilisée, nous vous recommandons
de vous familiariser avec les drapeaux sous leur forme longue, afin de
-bien mémoriser ce que chaque drapeau est supposé faire.
+bien mémoriser ce que chaque drapeau est supposé faire.
Certains drapeaux acceptent un ou plusieurs arguments. Les drapeaux ne
-sont pas sensibles à la casse.</p>
+sont pas sensibles à la casse.</p>
-<p>Les drapeaux qui modifient les métadonnées associées à la requête
-(T=, H=, E=) n'ont aucun effet dans un contexte de répertoire ou de
-fichier htaccess, lorsqu'une substitution (autre que '-') est effectuée
-au cours de la même passe du processus de réécriture.
+<p>Les drapeaux qui modifient les métadonnées associées à la requête
+(T=, H=, E=) n'ont aucun effet dans un contexte de répertoire ou de
+fichier htaccess, lorsqu'une substitution (autre que '-') est effectuée
+au cours de la même passe du processus de réécriture.
</p>
-<p>Chaque drapeau disponible est présenté ici, avec un exemple
+<p>Chaque drapeau disponible est présenté ici, avec un exemple
d'utilisation.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="flag_b" id="flag_b">B (échappement dans les références arrières)</a><a title="Lien permanent" href="#flag_b" class="permalink">¶</a></h2>
-<p>Avec le drapeau [B], la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> échappe les caractères
-non-alphanumériques avant d'appliquer la transformation. A partir
-de la version 2.4.26, vous pouvez limiter l'échappement dans les
-références arrières à une liste de caractères que vous pouvez spécifiez comme
+<h2><a name="flag_b" id="flag_b">B (échappement dans les références arrières)</a><a title="Lien permanent" href="#flag_b" class="permalink">¶</a></h2>
+<p>Avec le drapeau [B], la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> échappe les caractères
+non-alphanumériques avant d'appliquer la transformation. A partir
+de la version 2.4.26, vous pouvez limiter l'échappement dans les
+références arrières à une liste de caractères que vous pouvez spécifiez comme
dans cet exemple : <code>[B=#?;]</code>. Notez que l'espace peut faire
-partie de la liste des caractères à échapper, mais qu'il ne doit pas
-être le dernier caractère de cette liste.
+partie de la liste des caractères à échapper, mais qu'il ne doit pas
+être le dernier caractère de cette liste.
</p>
-<p><code>mod_rewrite</code> doit supprimer les séquences d'échappement
+<p><code>mod_rewrite</code> doit supprimer les séquences d'échappement
des URLs avant leur
-mise en correspondance avec le système de fichiers ; les séquences
-d'échappement sont donc supprimées des références arrières au moment où
-ces dernières sont appliquées. Avec le drapeau B, les caractères
-non-alphanumériques des références arrières seront échappés. Considérons
-par exemple cette règle :</p>
+mise en correspondance avec le système de fichiers ; les séquences
+d'échappement sont donc supprimées des références arrières au moment où
+ces dernières sont appliquées. Avec le drapeau B, les caractères
+non-alphanumériques des références arrières seront échappés. Considérons
+par exemple cette règle :</p>
<pre class="prettyprint lang-config">RewriteRule "^search/(.*)$" "/search.php?term=$1"</pre>
<p>Soit le terme de recherche 'x & y/z' ; un navigateur va le coder
-en 'x%20%26%20y%2Fz', transformant la requête en
-'search/x%20%26%20y%2Fz'. Sans le drapeau B, cette règle de réécriture
-va réécrire la requête en 'search.php?term=x & y/z', ce qui ne
-correspond pas à une URL valide et cette dernière sera encodée en
-<code>search.php?term=x%20&y%2Fz=</code>, ce qui ne correspond pas à
+en 'x%20%26%20y%2Fz', transformant la requête en
+'search/x%20%26%20y%2Fz'. Sans le drapeau B, cette règle de réécriture
+va réécrire la requête en 'search.php?term=x & y/z', ce qui ne
+correspond pas à une URL valide et cette dernière sera encodée en
+<code>search.php?term=x%20&y%2Fz=</code>, ce qui ne correspond pas à
ce que l'on souhaitait.</p>
-<p>Avec le drapeau B, les paramètres sont réencodés avant d'être passés
-à l'URL résultante, ce qui fournit une réécriture correcte en
+<p>Avec le drapeau B, les paramètres sont réencodés avant d'être passés
+à l'URL résultante, ce qui fournit une réécriture correcte en
<code>/search.php?term=x%20%26%20y%2Fz</code>.</p>
<pre class="prettyprint lang-config">RewriteRule "^search/(.*)$" "/search.php?term=$1" [B,PT]</pre>
-<p>Notez que vous devrez peut-être aussi définir la
+<p>Notez que vous devrez peut-être aussi définir la
directive <code class="directive"><a href="../mod/core.html#allowencodedslashes">AllowEncodedSlashes</a></code>
-à <code>On</code> pour
+à <code>On</code> pour
que cet exemple particulier fonctionne, car httpd ne permet pas les
-slashes encodés dans les URLs, et renvoie une erreur 404 s'il en
+slashes encodés dans les URLs, et renvoie une erreur 404 s'il en
rencontre un.</p>
-<p>Ce processus d'échappement est en particulier nécessaire dans le
-contexte d'un mandataire, où l'accès au serveur d'arrière-plan échouera
-si on présente à ce dernier une URL non échappée.</p>
+<p>Ce processus d'échappement est en particulier nécessaire dans le
+contexte d'un mandataire, où l'accès au serveur d'arrière-plan échouera
+si on présente à ce dernier une URL non échappée.</p>
-<p>Une alternative à ce drapeau consiste à utiliser une directive
+<p>Une alternative à ce drapeau consiste à utiliser une directive
<code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> pour capturer
-%{THE_REQUEST}, les chaînes capturées se présentant
-alors sous la forme codée.</p>
+%{THE_REQUEST}, les chaînes capturées se présentant
+alors sous la forme codée.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="flag_bnp" id="flag_bnp">BNP|backrefnoplus (ne pas échapper
+<h2><a name="flag_bnp" id="flag_bnp">BNP|backrefnoplus (ne pas échapper
l'espace en +)</a><a title="Lien permanent" href="#flag_bnp" class="permalink">¶</a></h2>
-<p>Si le drapeau [BNP] est spécifié, la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> échappera le caractère
-espace en %20 au lieu de '+' dans les références arrières. Ceci s'avère
-utile lorsque la référence arrière est utilisée dans la partie chemin,
-et non dans les paramètres de la requête.</p>
+<p>Si le drapeau [BNP] est spécifié, la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> échappera le caractère
+espace en %20 au lieu de '+' dans les références arrières. Ceci s'avère
+utile lorsque la référence arrière est utilisée dans la partie chemin,
+et non dans les paramètres de la requête.</p>
-<p>Ce drapeau est disponible à partir de la version 2.4.26 du serveur HTTP
+<p>Ce drapeau est disponible à partir de la version 2.4.26 du serveur HTTP
Apache.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="flag_c" id="flag_c">C|chain</a><a title="Lien permanent" href="#flag_c" class="permalink">¶</a></h2>
-<p>Le drapeau [C] ou [chain] indique que la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est chaînée avec la
-suivante. Autrement dit, si la règle s'applique, elle est traitée
-normalement et passe le contrôle à la règle suivante. Par contre, si
-elle ne s'applique pas, la règle suivante, ainsi que toutes les règles
-chaînées qui suivent, seront sautées.</p>
+<p>Le drapeau [C] ou [chain] indique que la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est chaînée avec la
+suivante. Autrement dit, si la règle s'applique, elle est traitée
+normalement et passe le contrôle à la règle suivante. Par contre, si
+elle ne s'applique pas, la règle suivante, ainsi que toutes les règles
+chaînées qui suivent, seront sautées.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="flag_co" id="flag_co">CO|cookie</a><a title="Lien permanent" href="#flag_co" class="permalink">¶</a></h2>
-<p>Le drapeau [CO], ou [cookie], vous permet de définir un cookie
-lorsqu'une règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
-s'applique. Il possède trois arguments obligatoires et
+<p>Le drapeau [CO], ou [cookie], vous permet de définir un cookie
+lorsqu'une règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
+s'applique. Il possède trois arguments obligatoires et
quatre arguments optionnels.</p>
-<p>La syntaxe complète de ce drapeau, avec tous ses attributs, est la
+<p>La syntaxe complète de ce drapeau, avec tous ses attributs, est la
suivante :</p>
<div class="example"><p><code>
[CO=NAME:VALUE:DOMAIN:lifetime:path:secure:httponly]
</code></p></div>
-<p>Si un caractère littéral ':' doit être insérer dans un des champs du
+<p>Si un caractère littéral ':' doit être insérer dans un des champs du
cookie, une autre syntaxe est disponible. Pour utiliser cette syntaxe
-alternative, le contenu du champ "Name" doit être précédé du caractère
-';', et les sépateurs de champs deviendront des ';'.</p>
+alternative, le contenu du champ "Name" doit être précédé du caractère
+';', et les sépateurs de champs deviendront des ';'.</p>
<div class="example"><p><code>
[CO=;NAME;VALUE:MOREVALUE;DOMAIN;lifetime;path;secure;httponly]
</code></p></div>
-<p>Vous devez déclarer un nom, une valeur et un domaine pour que
-le cookie puisse être défini.</p>
+<p>Vous devez déclarer un nom, une valeur et un domaine pour que
+le cookie puisse être défini.</p>
<dl>
<dt>Domain</dt>
<dd>Le domaine pour lequel vous souhaitez que le cookie soit valide. Ce
-peut être un nom de serveur, comme <code>www.example.com</code>, ou un
+peut être un nom de serveur, comme <code>www.example.com</code>, ou un
domaine, comme <code>.example.com</code>. Il doit comporter au moins
-deux parties séparées par un point. C'est à dire que vous ne pouvez pas
+deux parties séparées par un point. C'est à dire que vous ne pouvez pas
utiliser les valeurs <code>.com</code> ou <code>.net</code>. En effet,
-ce style de cookie est interdit par le modèle de sécurité des cookies.</dd>
+ce style de cookie est interdit par le modèle de sécurité des cookies.</dd>
</dl>
-<p>Vous pouvez aussi définir les valeurs suivantes :</p>
+<p>Vous pouvez aussi définir les valeurs suivantes :</p>
<dl>
<dt>Lifetime</dt>
-<dd>La durée de vie du cookie, en minutes.</dd>
-<dd>Une valeur de 0 indique une durée de vie correspondant à la session
-courante du navigateur. Il s'agit de la valeur par défaut.</dd>
+<dd>La durée de vie du cookie, en minutes.</dd>
+<dd>Une valeur de 0 indique une durée de vie correspondant à la session
+courante du navigateur. Il s'agit de la valeur par défaut.</dd>
<dt>Path</dt>
-<dd>Le chemin, sur le site web concerné, pour lequel le cookie est
+<dd>Le chemin, sur le site web concerné, pour lequel le cookie est
valide, du style <code>/clients/</code> or
<code>/fichiers/telechargement/</code>.</dd>
-<dd>La valeur par défaut est <code>/</code> - c'est à dire l'ensemble du
+<dd>La valeur par défaut est <code>/</code> - c'est à dire l'ensemble du
site web.</dd>
<dt>Secure</dt>
<dd>Si cet argument a pour valeur <code>secure</code>,
-<code>true</code>, ou <code>1</code>, le cookie ne pourra être transmis
-que dans le cadre d'une connexion sécurisée (https).</dd>
+<code>true</code>, ou <code>1</code>, le cookie ne pourra être transmis
+que dans le cadre d'une connexion sécurisée (https).</dd>
<dt>httponly</dt>
<dd>Si cet argument a pour valeur <code>HttpOnly</code>,
<code>true</code>, ou <code>1</code>, le cookie aura son drapeau
-<code>HttpOnly</code> activé, ce qui signifie qu'il sera inaccessible au
+<code>HttpOnly</code> activé, ce qui signifie qu'il sera inaccessible au
code JavaScript pour les navigateurs qui supportent cette
-fonctionnalité.</dd>
+fonctionnalité.</dd>
</dl>
<p>Voici un exemple :</p>
RewriteRule "^/index\.html" "-" [CO=frontdoor:yes:.example.org:1440:/]</pre>
-<p>Dans l'exemple ci-dessus, la règle ne réécrit
-pas la requête. La cible de réécriture "-"
-indique à mod_rewrite de transmettre la requête sans
+<p>Dans l'exemple ci-dessus, la règle ne réécrit
+pas la requête. La cible de réécriture "-"
+indique à mod_rewrite de transmettre la requête sans
modification. Par contre, il
-définit un cookie nommé 'frontdoor' avec une valeur 'yes'. Le cookie est
-valide pour tout hôte situé dans le domaine <code>.example.org</code>. Sa
-durée de vie est limitée à 1440 minutes (24 heures), et il sera renvoyé
+définit un cookie nommé 'frontdoor' avec une valeur 'yes'. Le cookie est
+valide pour tout hôte situé dans le domaine <code>.example.org</code>. Sa
+durée de vie est limitée à 1440 minutes (24 heures), et il sera renvoyé
pour tous les URIs.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="flag_dpi" id="flag_dpi">DPI|discardpath</a><a title="Lien permanent" href="#flag_dpi" class="permalink">¶</a></h2>
<p>Avec le drapeau DPI, la partie PATH_INFO de l'URI
-réécrit est supprimée.</p>
-<p>Ce drapeau est disponible dans les versions 2.2.12 et supérieures.</p>
-<p>Dans un contexte de répertoire, l'URI mis en comparaison par chaque
-règle <code class="directive">RewriteRule</code> est la concaténation des
+réécrit est supprimée.</p>
+<p>Ce drapeau est disponible dans les versions 2.2.12 et supérieures.</p>
+<p>Dans un contexte de répertoire, l'URI mis en comparaison par chaque
+règle <code class="directive">RewriteRule</code> est la concaténation des
valeurs courantes de l'URI et de PATH_INFO.</p>
-<p>L'URI courant peut être l'URI initial tel qu'il a été fourni par le
-client, le résultat d'une passe précédente du processus de réécriture,
-ou le résultat de la règle précédente dans le processus courant de
-réécriture.</p>
+<p>L'URI courant peut être l'URI initial tel qu'il a été fourni par le
+client, le résultat d'une passe précédente du processus de réécriture,
+ou le résultat de la règle précédente dans le processus courant de
+réécriture.</p>
-<p>Par contre, la partie PATH_INFO ajoutée à l'URI avant chaque règle ne
-reflète que la valeur de PATH_INFO avant la passe courante du processus
-de réécriture. En conséquence, si de larges portions de l'URI
+<p>Par contre, la partie PATH_INFO ajoutée à l'URI avant chaque règle ne
+reflète que la valeur de PATH_INFO avant la passe courante du processus
+de réécriture. En conséquence, si de larges portions de l'URI
correspondent et sont traduites via plusieurs directives
<code class="directive">RewriteRule</code>, sans prendre en compte
quelles parties de l'URI provenaient du PATH_INFO courant, l'URI final
pourra se voir ajouter plusieurs copies de PATH_INFO.</p>
-<p>Utilisez ce drapeau pour toute substitution où la présence du PATH_INFO qui
-résultait de la mise en correspondance précédente de cette requête avec
-le système de fichier n'est pas nécessaire. Avec ce drapeau, le
-PATH_INFO établi avant que cette passe du processus de réécriture ne
-débute est oublié. PATH_INFO ne sera pas recalculé tant que la passe
-courante du processus de réécriture ne sera pas achevée. Les règles
-suivantes de cette passe ne verront que le résultat direct des
-substitutions, sans aucun PATH_INFO ajouté.</p>
+<p>Utilisez ce drapeau pour toute substitution où la présence du PATH_INFO qui
+résultait de la mise en correspondance précédente de cette requête avec
+le système de fichier n'est pas nécessaire. Avec ce drapeau, le
+PATH_INFO établi avant que cette passe du processus de réécriture ne
+débute est oublié. PATH_INFO ne sera pas recalculé tant que la passe
+courante du processus de réécriture ne sera pas achevée. Les règles
+suivantes de cette passe ne verront que le résultat direct des
+substitutions, sans aucun PATH_INFO ajouté.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="flag_e" id="flag_e">E|env</a><a title="Lien permanent" href="#flag_e" class="permalink">¶</a></h2>
-<p>Avec le drapeau [E], ou [env], vous pouvez définir la valeur d'une
+<p>Avec le drapeau [E], ou [env], vous pouvez définir la valeur d'une
variable d'environnement. Notez que certaines variables d'environnement
-peuvent être définies après le traitement de la règle, annulant par
-la-même ce que vous avez défini. Voir le <a href="../env.html">document
-sur les variables d'environnement</a> pour plus de détails sur le
+peuvent être définies après le traitement de la règle, annulant par
+la-même ce que vous avez défini. Voir le <a href="../env.html">document
+sur les variables d'environnement</a> pour plus de détails sur le
fonctionnement des variables d'environnement.</p>
-<p>La syntaxe complète pour ce drapeau est :</p>
+<p>La syntaxe complète pour ce drapeau est :</p>
<pre class="prettyprint lang-config">[E=!VAR]</pre>
-<p><code>VAL</code> peut comporter des références arrières
-(<code>$N</code> ou <code>%N</code>) qui seront développées.</p>
+<p><code>VAL</code> peut comporter des références arrières
+(<code>$N</code> ou <code>%N</code>) qui seront développées.</p>
<p>En utilisant la version courte</p>
[E=VAR]
</code></p></div>
-<p>vous pouvez définir la variable d'environnement nommée
+<p>vous pouvez définir la variable d'environnement nommée
<code>VAR</code> avec une valeur vide.</p>
<p>La forme</p>
[E=!VAR]
</code></p></div>
-<p>permet d'annuler la définition de la variable <code>VAR</code>.</p>
+<p>permet d'annuler la définition de la variable <code>VAR</code>.</p>
-<p>Les variables d'environnement s'emploient dans différents contextes,
+<p>Les variables d'environnement s'emploient dans différents contextes,
comme les programmes CGI, d'autres directives RewriteRule, ou des
directives CustomLog.</p>
-<p>L'exemple suivant définit une variable d'environnement nommée 'image'
-avec une valeur de '1' si l'URI de la requête correspond à un fichier
-image. Cette variable d'environnement est ensuite utilisée pour exclure
-une telle requête du journal des accès.</p>
+<p>L'exemple suivant définit une variable d'environnement nommée 'image'
+avec une valeur de '1' si l'URI de la requête correspond à un fichier
+image. Cette variable d'environnement est ensuite utilisée pour exclure
+une telle requête du journal des accès.</p>
<pre class="prettyprint lang-config">RewriteRule "\.(png|gif|jpg)" "-" [E=image:1]<br />
CustomLog "logs/access_log" combined env=!image</pre>
-<p>Notez que le même effet peut être obtenu à l'aide de la directive
+<p>Notez que le même effet peut être obtenu à l'aide de la directive
<code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>. Cette technique
-est présentée à titre d'exemple et non de recommandation.</p>
+est présentée à titre d'exemple et non de recommandation.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="flag_end" id="flag_end">END</a><a title="Lien permanent" href="#flag_end" class="permalink">¶</a></h2>
<p>L'utilisation du drapeau [END] permet non seulement de terminer le
-processus de réécriture en cours (comme [L]), mais aussi d'empêcher tout
-processus de réécriture ultérieur dans un contexte de répertoire
+processus de réécriture en cours (comme [L]), mais aussi d'empêcher tout
+processus de réécriture ultérieur dans un contexte de répertoire
(htaccess).</p>
-<p>Ceci ne s'applique pas aux nouvelles requêtes résultant d'une
+<p>Ceci ne s'applique pas aux nouvelles requêtes résultant d'une
redirection externe.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="flag_f" id="flag_f">F|forbidden</a><a title="Lien permanent" href="#flag_f" class="permalink">¶</a></h2>
<p>L'utilisation du drapeau [F] permet de faire envoyer par le serveur au
-client un code de statut "403 Forbidden". Le même effet peut être obtenu à
+client un code de statut "403 Forbidden". Le même effet peut être obtenu à
l'aide de la directive <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code>,
mais ce drapeau offre plus de souplesse dans l'attribution d'un statut
Forbidden.</p>
-<p>La règle suivante va interdire la téléchargement de fichiers
+<p>La règle suivante va interdire la téléchargement de fichiers
<code>.exe</code> depuis votre serveur.</p>
<pre class="prettyprint lang-config">RewriteRule "\.exe" "-" [F]</pre>
-<p>Cet exemple utilise la syntaxe "-" pour la cible de réécriture, ce
-qui signifie que l'URI de la requête n'est pas modifié. Il n'y a aucune
-raison de réécrire un URI, si vous avez l'intention d'interdire la
-requête.</p>
+<p>Cet exemple utilise la syntaxe "-" pour la cible de réécriture, ce
+qui signifie que l'URI de la requête n'est pas modifié. Il n'y a aucune
+raison de réécrire un URI, si vous avez l'intention d'interdire la
+requête.</p>
-<p>Lorsqu'on utilise [F], [L] est implicite - c'est à dire que la
-réponse est renvoyée immédiatement, et aucune autre règle n'est évaluée.</p>
+<p>Lorsqu'on utilise [F], [L] est implicite - c'est à dire que la
+réponse est renvoyée immédiatement, et aucune autre règle n'est évaluée.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="flag_g" id="flag_g">G|gone</a><a title="Lien permanent" href="#flag_g" class="permalink">¶</a></h2>
<p>Le drapeau [G] permet de faire envoyer par le serveur un code de statut
-"410 Gone" avec la réponse. Ce code indique qu'une ressource qui était
+"410 Gone" avec la réponse. Ce code indique qu'une ressource qui était
disponible auparavant ne l'est plus actuellement.</p>
-<p>Comme dans le cas du drapeau [F], on utilise en général la syntaxe
-"-" pour la cible de réécriture lorsqu'on utilise le drapeau [G] :</p>
+<p>Comme dans le cas du drapeau [F], on utilise en général la syntaxe
+"-" pour la cible de réécriture lorsqu'on utilise le drapeau [G] :</p>
<pre class="prettyprint lang-config">RewriteRule "oldproduct" "-" [G,NC]</pre>
-<p>Lorsqu'on utilise [G], [L] est implicite - c'est à dire que la
-réponse est renvoyée immédiatement, et aucune autre règle n'est évaluée.</p>
+<p>Lorsqu'on utilise [G], [L] est implicite - c'est à dire que la
+réponse est renvoyée immédiatement, et aucune autre règle n'est évaluée.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="flag_h" id="flag_h">H|handler</a><a title="Lien permanent" href="#flag_h" class="permalink">¶</a></h2>
-<p>Force le traitement de la requête résultante par le gestionnaire
-spécifié. Par exemple, on peut utiliser ce drapeau pour forcer
-l'interprétation de tous les fichiers sans extension par le gestionnaire
+<p>Force le traitement de la requête résultante par le gestionnaire
+spécifié. Par exemple, on peut utiliser ce drapeau pour forcer
+l'interprétation de tous les fichiers sans extension par le gestionnaire
php :</p>
<pre class="prettyprint lang-config">RewriteRule "!\." "-" [H=application/x-httpd-php]</pre>
<p>
-L'expression rationnelle ci-dessus - <code>!\.</code> - correspond à
-toute requête qui ne contient pas le caractère <code>.</code>.
+L'expression rationnelle ci-dessus - <code>!\.</code> - correspond à
+toute requête qui ne contient pas le caractère <code>.</code>.
</p>
<p>On peut aussi utiliser ce drapeau pour forcer l'utilisation d'un
certain gestionnaire en fonction de certaines conditions. Par exemple,
-l'extrait suivant utilisé dans un contexte de niveau serveur permet de
+l'extrait suivant utilisé dans un contexte de niveau serveur permet de
faire en sorte que les fichiers <code>.php</code> soient
-<em>affichés</em> par <code>mod_php</code> dans le cas où ils font
-l'objet d'une requête avec l'extension <code>.phps</code> :</p>
+<em>affichés</em> par <code>mod_php</code> dans le cas où ils font
+l'objet d'une requête avec l'extension <code>.phps</code> :</p>
<pre class="prettyprint lang-config">RewriteRule "^(/source/.+\.php)s$" "$1" [H=application/x-httpd-php-source]</pre>
<p>L'expression rationnelle ci-dessus -
-<code>^(/source/.+\.php)s$</code> - va correspondre à toute requête qui
-débutera par <code>/source/</code>, continuera par 1 ou n caractères
-puis par <code>.phps</code>. La référence arrière $1 fait référence à la
-correspondance capturée entre parenthèses de l'expression
+<code>^(/source/.+\.php)s$</code> - va correspondre à toute requête qui
+débutera par <code>/source/</code>, continuera par 1 ou n caractères
+puis par <code>.phps</code>. La référence arrière $1 fait référence à la
+correspondance capturée entre parenthèses de l'expression
rationnelle.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="flag_l" id="flag_l">L|last</a><a title="Lien permanent" href="#flag_l" class="permalink">¶</a></h2>
-<p>Lorsque le drapeau [L] est présent, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
-arrête le traitement du jeu de règles. Cela signifie dans la plupart des
-situations que si la règle s'applique, aucune autre règle ne sera
-traitée. Ce drapeau correspond à la commande Perl <code>last</code>, ou
-à la commande <code>break</code> en C. Utilisez ce drapeau pour indiquer
-que la règle courante doit être appliquée immédiatement, sans tenir
-compte des règles ultérieures.</p>
-
-<p>Si vous utilisez des règles <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> dans des fichiers
+<p>Lorsque le drapeau [L] est présent, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+arrête le traitement du jeu de règles. Cela signifie dans la plupart des
+situations que si la règle s'applique, aucune autre règle ne sera
+traitée. Ce drapeau correspond à la commande Perl <code>last</code>, ou
+à la commande <code>break</code> en C. Utilisez ce drapeau pour indiquer
+que la règle courante doit être appliquée immédiatement, sans tenir
+compte des règles ultérieures.</p>
+
+<p>Si vous utilisez des règles <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> dans des fichiers
<code>.htaccess</code> ou des sections <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, il est important d'avoir quelques
-notions sur la manière dont les règles sont traitées. Pour simplifier,
-une fois les règles traitées, la requête réécrite est passée à nouveau
-au moteur d'interprétation des URLs afin que ce dernier puisse la
-traiter. Il est possible qu'au cours du traitement de la requête
-réécrite, le fichier <code>.htaccess</code> ou la section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> soient à nouveau
-rencontrés, entraînant un nouveau traitement du jeu de règles depuis le
-début. Cette situation se présente le plus souvent lorsqu'une des règles
-provoque une redirection - interne ou externe - ce qui réinitialise le
-traitement de la requête.</p>
+notions sur la manière dont les règles sont traitées. Pour simplifier,
+une fois les règles traitées, la requête réécrite est passée à nouveau
+au moteur d'interprétation des URLs afin que ce dernier puisse la
+traiter. Il est possible qu'au cours du traitement de la requête
+réécrite, le fichier <code>.htaccess</code> ou la section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> soient à nouveau
+rencontrés, entraînant un nouveau traitement du jeu de règles depuis le
+début. Cette situation se présente le plus souvent lorsqu'une des règles
+provoque une redirection - interne ou externe - ce qui réinitialise le
+traitement de la requête.</p>
<p>Si vous utilisez des directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> dans un de ces contextes,
-il importe par conséquent de prévoir explicitement des étapes permettant
-d'éviter un bouclage infini sur les règles,
+il importe par conséquent de prévoir explicitement des étapes permettant
+d'éviter un bouclage infini sur les règles,
et de ne pas compter seulement sur
-le drapeau [L] pour terminer l'exécution d'une série de règles, comme
-décrit ci-dessous.</p>
+le drapeau [L] pour terminer l'exécution d'une série de règles, comme
+décrit ci-dessous.</p>
<p>Un autre drapeau, [END], permet non seulement d'interrompre le cycle
-courant du processus de réécriture, mais aussi d'empêcher toute
-réécriture ultérieure dans le contexte de répertoire (htaccess). Ceci ne
-s'applique pas aux nouvelles requêtes résultant de redirections
+courant du processus de réécriture, mais aussi d'empêcher toute
+réécriture ultérieure dans le contexte de répertoire (htaccess). Ceci ne
+s'applique pas aux nouvelles requêtes résultant de redirections
externes.</p>
-<p>Dans l'exemple donné ici, toute requête est réécrite en
-<code>index.php</code>, la requête originale étant ajoutée comme chaîne
-de requête en argument à <code>index.php</code> ; cependant, la
+<p>Dans l'exemple donné ici, toute requête est réécrite en
+<code>index.php</code>, la requête originale étant ajoutée comme chaîne
+de requête en argument à <code>index.php</code> ; cependant, la
directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> permet de s'assurer que si
-la requête concerne déjà <code>index.php</code>, la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> sera sautée.</p>
+la requête concerne déjà <code>index.php</code>, la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> sera sautée.</p>
<pre class="prettyprint lang-config">RewriteBase "/"
RewriteCond "%{REQUEST_URI}" !=/index.php
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="flag_n" id="flag_n">N|next</a><a title="Lien permanent" href="#flag_n" class="permalink">¶</a></h2>
-<p>Le drapeau [N] provoque un redémarrage du traitement des règles
-depuis le début, en utilisant le résultat du jeu de règles, sous
-réserve qu'il existe un point de démarrage ; à utiliser avec précautions
+<p>Le drapeau [N] provoque un redémarrage du traitement des règles
+depuis le début, en utilisant le résultat du jeu de règles, sous
+réserve qu'il existe un point de démarrage ; à utiliser avec précautions
car il peut provoquer un bouclage infini.
</p>
<p>
Le drapeau [Next] peut servir, par exemple,
-à remplacer de manière répétitive
-une chaîne de caractère ou une lettre dans une requête. Dans l'exemple
-suivant, chaque occurence de A sera remplacée par B dans la requête, et
-ceci jusqu'il n'y ait plus de A à remplacer.
+à remplacer de manière répétitive
+une chaîne de caractère ou une lettre dans une requête. Dans l'exemple
+suivant, chaque occurence de A sera remplacée par B dans la requête, et
+ceci jusqu'il n'y ait plus de A à remplacer.
</p>
<pre class="prettyprint lang-config">RewriteRule "(.*)A(.*)" "$1B$2" [N]</pre>
-<p>Vous pouvez vous représenter ce traitement comme une boucle
-<code>while</code> : tant que le modèle de la règle correspond (c'est à
+<p>Vous pouvez vous représenter ce traitement comme une boucle
+<code>while</code> : tant que le modèle de la règle correspond (c'est à
dire, tant que l'URI contient un <code>A</code>),
-effectuer la substitution (c'est à dire, remplacer le <code>A</code> par
+effectuer la substitution (c'est à dire, remplacer le <code>A</code> par
un <code>B</code>).</p>
-<p>A partir de la version 2.5.0, ce module renvoie une erreur après
-10000 itérations afin d'éviter les boucles infinies. Ce nombre maximum
-d'itération peut être modifié via le drapeau N.</p>
-<pre class="prettyprint lang-config"># On veut remplacer 1 caractère à chaque itération de la boucle
+<p>A partir de la version 2.5.0, ce module renvoie une erreur après
+10000 itérations afin d'éviter les boucles infinies. Ce nombre maximum
+d'itération peut être modifié via le drapeau N.</p>
+<pre class="prettyprint lang-config"># On veut remplacer 1 caractère à chaque itération de la boucle
RewriteRule "(.+)[><;]$" "$1" [N=32000]
-# ... ou s'arrêter après 10 itérations
+# ... ou s'arrêter après 10 itérations
RewriteRule "(.+)[><;]$" "$1" [N=10]</pre>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="flag_nc" id="flag_nc">NC|nocase</a><a title="Lien permanent" href="#flag_nc" class="permalink">¶</a></h2>
-<p>Avec le drapeau [NC], le modèle de la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est comparé à la requête de
-manière insensible à la casse. C'est à dire que cette comparaison
+<p>Avec le drapeau [NC], le modèle de la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est comparé à la requête de
+manière insensible à la casse. C'est à dire que cette comparaison
s'effectue sans tenir compte des majuscules/minuscules dans l'URI
-comparé.</p>
+comparé.</p>
-<p>Dans l'exemple suivant, toute requête pour un fichier image sera
-transmise par Apache à votre serveur d'images dédié. La correspondance est
-insensible à la casse, si bien que par exemple, <code>.jpg</code> aussi
-bien que <code>.JPG</code> seront acceptés.</p>
+<p>Dans l'exemple suivant, toute requête pour un fichier image sera
+transmise par Apache à votre serveur d'images dédié. La correspondance est
+insensible à la casse, si bien que par exemple, <code>.jpg</code> aussi
+bien que <code>.JPG</code> seront acceptés.</p>
<pre class="prettyprint lang-config">RewriteRule "(.*\.(jpg|gif|png))$" "http://images.example.com$1" [P,NC]</pre>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="flag_ne" id="flag_ne">NE|noescape</a><a title="Lien permanent" href="#flag_ne" class="permalink">¶</a></h2>
-<p>Par défaut, les caractères spéciaux, comme <code>&</code> et
-<code>?</code>, sont convertis en leur équivalent
-hexadécimal. Le drapeau [NE] permet d'éviter cette conversion.
+<p>Par défaut, les caractères spéciaux, comme <code>&</code> et
+<code>?</code>, sont convertis en leur équivalent
+hexadécimal. Le drapeau [NE] permet d'éviter cette conversion.
</p>
<pre class="prettyprint lang-config">RewriteRule "^/anchor/(.+)" "/bigpage.html#$1" [NE,R]</pre>
<p>
-Dans l'exemple ci-dessus, <code>/anchor/xyz</code> est réécrit en
+Dans l'exemple ci-dessus, <code>/anchor/xyz</code> est réécrit en
<code>/bigpage.html#xyz</code>. En l'absence du drapeau [NE], le #
-aurait été converti en son équivalent hexadécimal, <code>%23</code>, ce
-qui aurait provoqué un code d'erreur "404 Not Found".
+aurait été converti en son équivalent hexadécimal, <code>%23</code>, ce
+qui aurait provoqué un code d'erreur "404 Not Found".
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="flag_ns" id="flag_ns">NS|nosubreq</a><a title="Lien permanent" href="#flag_ns" class="permalink">¶</a></h2>
-<p>Le drapeau [NS] empêche la règle de s'appliquer aux sous-requêtes.
+<p>Le drapeau [NS] empêche la règle de s'appliquer aux sous-requêtes.
Par exemple, une page incluse au moyen d'une SSI (Server
-Side Include) est une sous-requête, et vous ne voudrez probablement pas que
-la réécriture s'applique à ces sous-requêtes. Ainsi, lorsque
-<code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> recherche des informations à propos des
-fichiers par défaut du répertoire (comme les fichiers
-<code>index.html</code>), il s'agit d'une sous-requête interne, et vous
-ne désirez en général pas que ces sous-requêtes soient réécrites. Cette
-réécriture
-n'est pas toujours utile pour les sous-requêtes, et peut même causer des
-erreurs si l'ensemble du jeu de règles est appliqué. L'utilisation de
-ce drapeau permet d'exclure les règles qui peuvent poser problème.</p>
-
-<p>Comment déterminer si vous devez utiliser cette règle ou non : si
-vous préfixez les URLs avec des scripts CGI, afin de forcer leur
-traitement par le script CGI, vous vous exposez à des problèmes (ou du
-moins à une surcharge significative) avec les sous-requêtes. Dans ces
+Side Include) est une sous-requête, et vous ne voudrez probablement pas que
+la réécriture s'applique à ces sous-requêtes. Ainsi, lorsque
+<code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> recherche des informations à propos des
+fichiers par défaut du répertoire (comme les fichiers
+<code>index.html</code>), il s'agit d'une sous-requête interne, et vous
+ne désirez en général pas que ces sous-requêtes soient réécrites. Cette
+réécriture
+n'est pas toujours utile pour les sous-requêtes, et peut même causer des
+erreurs si l'ensemble du jeu de règles est appliqué. L'utilisation de
+ce drapeau permet d'exclure les règles qui peuvent poser problème.</p>
+
+<p>Comment déterminer si vous devez utiliser cette règle ou non : si
+vous préfixez les URLs avec des scripts CGI, afin de forcer leur
+traitement par le script CGI, vous vous exposez à des problèmes (ou du
+moins à une surcharge significative) avec les sous-requêtes. Dans ces
cas, vous devez utiliser ce drapeau.</p>
<p>
-Les images, scripts java, ou fichiers css, chargés en tant que partie
-d'une page html, ne sont pas des sous-requêtes - le navigateur les
-appelle sous forme de requêtes HTTP à part entière.
+Les images, scripts java, ou fichiers css, chargés en tant que partie
+d'une page html, ne sont pas des sous-requêtes - le navigateur les
+appelle sous forme de requêtes HTTP à part entière.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="flag_p" id="flag_p">P|proxy</a><a title="Lien permanent" href="#flag_p" class="permalink">¶</a></h2>
-<p>L'utilisation du drapeau [P] entraîne le traitement de la requête par
-le module <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, et ceci via une requête de
-mandataire. Par exemple, si vous voulez que toutes les requêtes d'images
-soient traitées par un serveur d'images annexe, vous pouvez utiliser
-une règle de ce style :</p>
+<p>L'utilisation du drapeau [P] entraîne le traitement de la requête par
+le module <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, et ceci via une requête de
+mandataire. Par exemple, si vous voulez que toutes les requêtes d'images
+soient traitées par un serveur d'images annexe, vous pouvez utiliser
+une règle de ce style :</p>
<pre class="prettyprint lang-config">RewriteRule "/(.*)\.(jpg|gif|png)$" "http://images.example.com/$1.$2" [P]</pre>
<p>L'utilisation du drapeau [P] provoque aussi l'effet du drapeau [L] -
-autrement dit, la requête est immédiatement envoyée au mandataire, et
-toute règle ultérieure sera ignorée.</p>
+autrement dit, la requête est immédiatement envoyée au mandataire, et
+toute règle ultérieure sera ignorée.</p>
<p>
-Vous devez vous assurer que la chaîne de substitution soit un URI valide
-(commençant typiquement par <code>http://</code><em>nom-serveur</em>)
-qui puisse être traitée par le module <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Dans
+Vous devez vous assurer que la chaîne de substitution soit un URI valide
+(commençant typiquement par <code>http://</code><em>nom-serveur</em>)
+qui puisse être traitée par le module <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Dans
le cas contraire, le module mandataire vous renverra une erreur.
-L'utilisation de ce drapeau implémente de manière plus puissante la
+L'utilisation de ce drapeau implémente de manière plus puissante la
directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>, pour
-faire correspondre le contenu distant à l'espace de nommage du serveur
+faire correspondre le contenu distant à l'espace de nommage du serveur
local.</p>
<div class="warning">
- <h3>Avertissement à propos de la sécurité</h3>
- <p>Lors de la construction de l'URL cible de la règle, il convient
- de prendre en compte l'impact en matière de sécurité qu'aura le
+ <h3>Avertissement à propos de la sécurité</h3>
+ <p>Lors de la construction de l'URL cible de la règle, il convient
+ de prendre en compte l'impact en matière de sécurité qu'aura le
fait de permettre au client d'influencer le jeu d'URLs pour
lesquelles votre serveur agira en tant que mandataire.
Assurez-vous que la partie protocole://nom-serveur de l'URL soit
<p>Utiliser ce drapeau fait intervenir <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> sans la gestion des connexions
persistantes, ce qui signifie que vous obtiendrez des performances meilleurs si vous utilisez
<code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#proxypassmatch">ProxyPassMatch</a></code>.</p>
- <p>Ceci est du au fait que ce drapeau induit l'utilisation du worker par défaut, qui
- ne gère pas la mise en commun et la réutilisation des connexions.</p>
- <p>Partout où cela est possible, préférez l'utilisation de ces directives.</p>
+ <p>Ceci est du au fait que ce drapeau induit l'utilisation du worker par défaut, qui
+ ne gère pas la mise en commun et la réutilisation des connexions.</p>
+ <p>Partout où cela est possible, préférez l'utilisation de ces directives.</p>
</div>
-<p>Note: <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> doit être activé pour pouvoir
+<p>Note: <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> doit être activé pour pouvoir
utiliser ce drapeau.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<h2><a name="flag_pt" id="flag_pt">PT|passthrough</a><a title="Lien permanent" href="#flag_pt" class="permalink">¶</a></h2>
<p>
-Par défaut, la cible (ou chaîne de substitution) d'une règle
-RewriteRule est sensée être un chemin de fichier. Avec le drapeau [PT],
-par contre, elle est traitée comme un URI. Autrement dit, avec le
-drapeau [PT], le résultat de la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est passé à nouveau au
-système de mise en correspondance des URLs avec le système de fichiers,
-de façon à ce que les systèmes de mise en correspondance basés sur les
+Par défaut, la cible (ou chaîne de substitution) d'une règle
+RewriteRule est sensée être un chemin de fichier. Avec le drapeau [PT],
+par contre, elle est traitée comme un URI. Autrement dit, avec le
+drapeau [PT], le résultat de la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est passé à nouveau au
+système de mise en correspondance des URLs avec le système de fichiers,
+de façon à ce que les systèmes de mise en correspondance basés sur les
chemins de fichiers, comme la directive <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code>, ou <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>, par exemple, puissent avoir une
-chance d'accomplir leur tâche.
+chance d'accomplir leur tâche.
</p>
<p>
-Si par exemple, vous avez un <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> pour /icons, et une règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> qui renvoie vers /icons,
-vous devez utiliser le drapeau [PT] pour être sûr que l'<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> sera bien évalué.
+Si par exemple, vous avez un <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> pour /icons, et une règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> qui renvoie vers /icons,
+vous devez utiliser le drapeau [PT] pour être sûr que l'<code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> sera bien évalué.
</p>
<pre class="prettyprint lang-config">Alias "/icons" "/usr/local/apache/icons"
<p>
-Dans l'exemple précédent, en l'absence du drapeau [PT], l'Alias aurait
-été ignoré, ce qui aurait provoqué une erreur 'File not found'.
+Dans l'exemple précédent, en l'absence du drapeau [PT], l'Alias aurait
+été ignoré, ce qui aurait provoqué une erreur 'File not found'.
</p>
<p>Avec le drapeau <code>PT</code>, le drapeau <code>L</code> est
-implicite : la réécriture s'arrêtera afin de transmettre la requête à la
+implicite : la réécriture s'arrêtera afin de transmettre la requête à la
phase suivante du traitement.</p>
<p>Notez que le drapeau <code>PT</code> est implicite dans des contextes
-de répertoire comme les sections <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou les fichiers
-<code>.htaccess</code>. Le seul moyen de contourner ceci consiste à
-réécrire vers <code>-</code>.</p>
+de répertoire comme les sections <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou les fichiers
+<code>.htaccess</code>. Le seul moyen de contourner ceci consiste à
+réécrire vers <code>-</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="flag_qsa" id="flag_qsa">QSA|qsappend</a><a title="Lien permanent" href="#flag_qsa" class="permalink">¶</a></h2>
<p>
-Quand l'URI de remplacement contient une chaîne de requête, le
-comportement par défaut de la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est de supprimer la <code>
-query string</code> (il s'agit des paramètres éventuellement passés dans l'URL après le
-caractère <code>?</code>, usuellement pour les formulaires traités par la
-méthode HTTP <code>GET</code>) existante, et de la remplacer par celle nouvellement créée.
-Avec le drapeau [QSA], les chaînes de requête peuvent être combinées.
+Quand l'URI de remplacement contient une chaîne de requête, le
+comportement par défaut de la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est de supprimer la <code>
+query string</code> (il s'agit des paramètres éventuellement passés dans l'URL après le
+caractère <code>?</code>, usuellement pour les formulaires traités par la
+méthode HTTP <code>GET</code>) existante, et de la remplacer par celle nouvellement créée.
+Avec le drapeau [QSA], les chaînes de requête peuvent être combinées.
</p>
-<p>Considérons la règle suivante :</p>
+<p>Considérons la règle suivante :</p>
<pre class="prettyprint lang-config">RewriteRule "/pages/(.+)" "/page.php?page=$1" [QSA]</pre>
-<p>Avec le drapeau [QSA], une requête pour
-<code>/pages/123?one=two</code> sera réécrite en
+<p>Avec le drapeau [QSA], une requête pour
+<code>/pages/123?one=two</code> sera réécrite en
<code>/page.php?page=123&one=two</code>. Sans le drapeau [QSA], la
-même requête sera réécrite en <code>/page.php?page=123</code> -
-autrement dit, la chaîne de requête (<code>query string</code>) existante sera supprimée.
+même requête sera réécrite en <code>/page.php?page=123</code> -
+autrement dit, la chaîne de requête (<code>query string</code>) existante sera supprimée.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="flag_qsd" id="flag_qsd">QSD|qsdiscard</a><a title="Lien permanent" href="#flag_qsd" class="permalink">¶</a></h2>
<p>
-Lorsque l'URI de la requête contient une chaîne de paramètres, et si
-l'URI cible n'en contient pas, le comportement par défaut de la
-directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> consiste à copier cette
-chaîne de paramètres dans l'URI cible. Avec le drapeau [QSD], la chaîne
-de paramètres est supprimée.
+Lorsque l'URI de la requête contient une chaîne de paramètres, et si
+l'URI cible n'en contient pas, le comportement par défaut de la
+directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> consiste à copier cette
+chaîne de paramètres dans l'URI cible. Avec le drapeau [QSD], la chaîne
+de paramètres est supprimée.
</p>
-<p>Ce drapeau est disponible dans les versions 2.4.0 et supérieures.</p>
+<p>Ce drapeau est disponible dans les versions 2.4.0 et supérieures.</p>
<p>
-Lorsque les drapeaux [QSD] et [QSA] sont utilisés ensemble, c'est le
+Lorsque les drapeaux [QSD] et [QSA] sont utilisés ensemble, c'est le
drapeau [QSD] qui l'emporte.
</p>
<p>
-Si l'URI cible possède une chaîne de paramètres, le comportement par
-défaut sera respecté - c'est à dire que la chaîne de paramètres
-originale sera supprimée et remplacée par la chaîne de paramètres de
+Si l'URI cible possède une chaîne de paramètres, le comportement par
+défaut sera respecté - c'est à dire que la chaîne de paramètres
+originale sera supprimée et remplacée par la chaîne de paramètres de
l'URI cible.
</p>
<div class="section">
<h2><a name="flag_qsl" id="flag_qsl">QSL|qslast</a><a title="Lien permanent" href="#flag_qsl" class="permalink">¶</a></h2>
<p>
-Par défaut, le premier (le plus à gauche) point d'interrogation de la
-substitution sépare le chemin de la requête de sa chaîne de paramètres. Avec le
-drapeau [QSL] au contraire, les deux composants seront séparés en utilisant le
-dernier (le plus à droite) point d'interrogation.</p>
+Par défaut, le premier (le plus à gauche) point d'interrogation de la
+substitution sépare le chemin de la requête de sa chaîne de paramètres. Avec le
+drapeau [QSL] au contraire, les deux composants seront séparés en utilisant le
+dernier (le plus à droite) point d'interrogation.</p>
<p>
-Cela peut s'avérer utile lorsqu'on recherche un fichier dont le nom contient des
-points d'interrogation. Si aucune chaîne de paramètre n'est présente dans la
-substitution, il est alors possible d'ajouter un point d'interrogation à la fin
+Cela peut s'avérer utile lorsqu'on recherche un fichier dont le nom contient des
+points d'interrogation. Si aucune chaîne de paramètre n'est présente dans la
+substitution, il est alors possible d'ajouter un point d'interrogation à la fin
et d'utiliser ce drapeau.</p>
-<p>Ce drapeau est disponible à partir de la version 2.4.19 du serveur HTTP
+<p>Ce drapeau est disponible à partir de la version 2.4.19 du serveur HTTP
Apache.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<h2><a name="flag_r" id="flag_r">R|redirect</a><a title="Lien permanent" href="#flag_r" class="permalink">¶</a></h2>
<p>
L'utilisation du drapeau [R] provoque l'envoi d'une redirection au
-navigateur. Si une URL pleinement qualifiée (FQDN - fully qualified domain name)
- est spécifiée (c'est à dire incluant <code>http://nom-du-serveur/</code>),
- une redirection sera effectuée vers cette adresse. Dans le cas contraire,
- le protocole courant, le nom du serveur et le numéro de port seront
- utilisés pour générer l'URL envoyée avec la redirection.
+navigateur. Si une URL pleinement qualifiée (FQDN - fully qualified domain name)
+ est spécifiée (c'est à dire incluant <code>http://nom-du-serveur/</code>),
+ une redirection sera effectuée vers cette adresse. Dans le cas contraire,
+ le protocole courant, le nom du serveur et le numéro de port seront
+ utilisés pour générer l'URL envoyée avec la redirection.
</p>
-<p><em>Tout</em> code de statut de réponse HTTP valide peut être
-spécifié, en utilisant la syntaxe [R=305], le code de statut 302 étant
-utilisé par défaut si aucun code n'est spécifié. Le code de statut
-spécifié n'est pas nécessairement un code de statut
+<p><em>Tout</em> code de statut de réponse HTTP valide peut être
+spécifié, en utilisant la syntaxe [R=305], le code de statut 302 étant
+utilisé par défaut si aucun code n'est spécifié. Le code de statut
+spécifié n'est pas nécessairement un code de statut
de redirection (3xx). Cependant, si le code de statut est en dehors de la plage des codes de
-redirection (300-399), la chaîne de substitution est entièrement
-supprimée, et la réécriture s'arrête comme si le drapeau <code>L</code>
-était utilisé.</p>
+redirection (300-399), la chaîne de substitution est entièrement
+supprimée, et la réécriture s'arrête comme si le drapeau <code>L</code>
+était utilisé.</p>
-<p>En plus des codes de statut de réponse, vous pouvez spécifier les
+<p>En plus des codes de statut de réponse, vous pouvez spécifier les
codes de redirection en utilisant leurs noms symboliques :
-<code>temp</code> (défaut), <code>permanent</code>, ou
+<code>temp</code> (défaut), <code>permanent</code>, ou
<code>seeother</code>.</p>
<p>
-Vous utiliserez presque toujours [R] en conjonction avec [L] (c'est à
-dire [R,L]), car employé seul, le drapeau [R] préfixe l'URI avec
-<code>http://cet-hôte[:ce-port]</code>, mais passe ensuite cette adresse
-à la règle suivante, ce qui provoquera le plus souvent des
+Vous utiliserez presque toujours [R] en conjonction avec [L] (c'est à
+dire [R,L]), car employé seul, le drapeau [R] préfixe l'URI avec
+<code>http://cet-hôte[:ce-port]</code>, mais passe ensuite cette adresse
+à la règle suivante, ce qui provoquera le plus souvent des
avertissements 'Invalid URI in request'.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="flag_s" id="flag_s">S|skip</a><a title="Lien permanent" href="#flag_s" class="permalink">¶</a></h2>
-<p>Le drapeau [S] sert à sauter des règles que vous ne voulez pas voir
-exécuter. La syntaxe du drapeau [S] est [S=<em>N</em>], où
-<em>N</em> correspond au nombre de règles à sauter (sous
-réserve que la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> corresponde et qu'au moins
+<p>Le drapeau [S] sert à sauter des règles que vous ne voulez pas voir
+exécuter. La syntaxe du drapeau [S] est [S=<em>N</em>], où
+<em>N</em> correspond au nombre de règles à sauter (sous
+réserve que la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> corresponde et qu'au moins
une condition <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
-préalable soit vérifiée).
-Ceci peut s'interpréter comme une instruction
-<code>goto</code> dans votre jeu de règles de réécriture. Dans
-l'exemple suivant, nous ne voulons exécuter la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> que si l'URI demandé ne
-correspond pas à un fichier existant.</p>
-<pre class="prettyprint lang-config"># La requête concerne-t-elle un fichier qui n'existe pas ?
+préalable soit vérifiée).
+Ceci peut s'interpréter comme une instruction
+<code>goto</code> dans votre jeu de règles de réécriture. Dans
+l'exemple suivant, nous ne voulons exécuter la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> que si l'URI demandé ne
+correspond pas à un fichier existant.</p>
+<pre class="prettyprint lang-config"># La requête concerne-t-elle un fichier qui n'existe pas ?
RewriteCond "%{REQUEST_FILENAME}" !-f
RewriteCond "%{REQUEST_FILENAME}" !-d
-# Si c'est la cas, on saute les deux règles de réécriture suivantes
+# Si c'est la cas, on saute les deux règles de réécriture suivantes
RewriteRule ".?" "-" [S=2]
RewriteRule "(.*\.gif)" "images.php?$1"
-<p>Cette technique trouve son utilité dans le fait qu'une directive
+<p>Cette technique trouve son utilité dans le fait qu'une directive
<code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> ne s'applique
-qu'à la règle qui la suit immédiatement. Ainsi, si vous voulez
-qu'une directive <code>RewriteCond</code> s'applique à plusieurs règles
-<code>RewriteRule</code>, une technique possible consiste à inverser ces
+qu'à la règle qui la suit immédiatement. Ainsi, si vous voulez
+qu'une directive <code>RewriteCond</code> s'applique à plusieurs règles
+<code>RewriteRule</code>, une technique possible consiste à inverser ces
conditions et ajouter une <code>RewriteRule</code> avec le drapeau [Skip]. Cette technique permet
-d'élaborer des pseudo-constructions if-then-else : la dernière règle du
-bloc then contiendra <code>skip=N</code>, où N est le nombre de règles
+d'élaborer des pseudo-constructions if-then-else : la dernière règle du
+bloc then contiendra <code>skip=N</code>, où N est le nombre de règles
contenues dans le bloc else :</p>
<pre class="prettyprint lang-config"># Est-ce que le fichier existe ?
RewriteCond "%{REQUEST_FILENAME}" !-f
# END</pre>
-<p>Il est probablement plus aisé de définir ce genre de configuration
+<p>Il est probablement plus aisé de définir ce genre de configuration
via les directives <code class="directive"><If></code>, <code class="directive"><ElseIf></code>, et <code class="directive"><Else></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="flag_t" id="flag_t">T|type</a><a title="Lien permanent" href="#flag_t" class="permalink">¶</a></h2>
-<p>Définit le type MIME de la réponse résultante renvoyée. L'effet est
-identique à celui de la directive <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code>.</p>
+<p>Définit le type MIME de la réponse résultante renvoyée. L'effet est
+identique à celui de la directive <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code>.</p>
<p>Par exemple, vous pouvez utiliser la technique suivante pour servir
du code source Perl en tant que plein texte, s'il est requis d'une
-certaine manière :</p>
+certaine manière :</p>
<pre class="prettyprint lang-config"># Sert les fichier .pl en tant que plein texte
RewriteRule "\.pl$" "-" [T=text/plain]</pre>
-<p>Ou encore, si vous possédez une caméra qui produit des fichiers
+<p>Ou encore, si vous possédez une caméra qui produit des fichiers
images jpeg sans extension, vous pouvez forcer le renvoi de ces images
avec le type MIME correct en se basant sur le nom du fichier :</p>
RewriteRule "IMG" "-" [T=image/jpg]</pre>
-<p>Notez cependant qu'il s'agit d'un exemple trivial, et que le problème
-aurait pu être résolu en utilisant à la place la directive <code class="directive"><a href="../mod/core.html#filesmatch"><FilesMatch></a></code>. Il faut toujours
-envisager la possibilité d'une solution alternative à un problème avant
-d'avoir recours à la réécriture, qui sera toujours moins efficace qu'une
+<p>Notez cependant qu'il s'agit d'un exemple trivial, et que le problème
+aurait pu être résolu en utilisant à la place la directive <code class="directive"><a href="../mod/core.html#filesmatch"><FilesMatch></a></code>. Il faut toujours
+envisager la possibilité d'une solution alternative à un problème avant
+d'avoir recours à la réécriture, qui sera toujours moins efficace qu'une
solution alternative.</p>
<p>
-Dans un contexte de niveau répertoire, n'utilisez que <code>-</code>
-(tiret) comme substitution, <em>dans toute la séquence de réécriture de
-mod_rewrite</em>, sinon le type MIME défini avec ce drapeau
-sera perdu suite à un retraitement interne (y compris les séquences de
-réécriture suivantes de mod_rewrite). Dans ce contexte, vous pouvez
-utiliser le drapeau <code>L</code> pour terminer la séquence
-<em>courante</em> de réécriture de mod_rewrite.</p>
+Dans un contexte de niveau répertoire, n'utilisez que <code>-</code>
+(tiret) comme substitution, <em>dans toute la séquence de réécriture de
+mod_rewrite</em>, sinon le type MIME défini avec ce drapeau
+sera perdu suite à un retraitement interne (y compris les séquences de
+réécriture suivantes de mod_rewrite). Dans ce contexte, vous pouvez
+utiliser le drapeau <code>L</code> pour terminer la séquence
+<em>courante</em> de réécriture de mod_rewrite.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/flags.html" title="Français"> fr </a></p>
+<a href="../fr/rewrite/flags.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Le module Apache mod_rewrite</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/" title="Français"> fr </a> |
-<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../fr/rewrite/" title="Français"> fr </a> |
+<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/rewrite/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
- <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> permet de modifier les requêtes
- entrantes dynamiquement, en fonction de règles manipulant des <a href="intro.html#regex">expressions rationnelles</a>. Vous pouvez
- ainsi relier des URLs arbitraires à votre propre structure d'URLs
+ <p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> permet de modifier les requêtes
+ entrantes dynamiquement, en fonction de règles manipulant des <a href="intro.html#regex">expressions rationnelles</a>. Vous pouvez
+ ainsi relier des URLs arbitraires à votre propre structure d'URLs
interne comme vous le souhaitez.</p>
<p>Il fournit un
- mécanisme de manipulation d'URL particulièrement souple et
- puissant en supportant un nombre illimité de règles et de
- conditions attachées à chaque règle. Les manipulations d'URLs
- peuvent dépendre de tests variés : les URLs peuvent
- être finement caractérisées en fonction de variables du serveur,
- de variables d'environnement, d'en-têtes HTTP, de repères
- temporels, de recherches dans des bases de données
- externes, ou même de requêtes vers des bases de données externes
- et de différents gestionnaires ou programmes externes.</p>
+ mécanisme de manipulation d'URL particulièrement souple et
+ puissant en supportant un nombre illimité de règles et de
+ conditions attachées à chaque règle. Les manipulations d'URLs
+ peuvent dépendre de tests variés : les URLs peuvent
+ être finement caractérisées en fonction de variables du serveur,
+ de variables d'environnement, d'en-têtes HTTP, de repères
+ temporels, de recherches dans des bases de données
+ externes, ou même de requêtes vers des bases de données externes
+ et de différents gestionnaires ou programmes externes.</p>
- <p>Les règles de réécriture peuvent agir sur l'ensemble des URLs (la partie chemin
- et la chaîne de paramètres) et peuvent être utilisées dans le contexte du serveur principal
+ <p>Les règles de réécriture peuvent agir sur l'ensemble des URLs (la partie chemin
+ et la chaîne de paramètres) et peuvent être utilisées dans le contexte du serveur principal
(<code>httpd.conf</code>), mais aussi dans le contexte des
serveurs virtuels (sections <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>), ou dans le
contexte des
- répertoires (fichiers <code>.htaccess</code> et blocs
- <code><Directory></code>. Le résultat
- réécrit peut conduire vers d'autres règles à un
- traitement secondaire interne, une redirection vers une requête
- externe ou même l'envoi vers un serveur mandataire, en fonction
+ répertoires (fichiers <code>.htaccess</code> et blocs
+ <code><Directory></code>. Le résultat
+ réécrit peut conduire vers d'autres règles à un
+ traitement secondaire interne, une redirection vers une requête
+ externe ou même l'envoi vers un serveur mandataire, en fonction
des <a href="flags.html">drapeaux</a> que vous attachez aux
- règles</p>
+ règles</p>
- <p>mod_rewrite étant très puissant, il peut par
- conséquent être très complexe. Ce document
- complète la <a href="../mod/mod_rewrite.html">documentation de
- référence du module mod_rewrite</a>, et est sensé alléger un
- peu cette complexité, et présenter des exemples largement
- commentés, ainsi que des situations courantes que vous
+ <p>mod_rewrite étant très puissant, il peut par
+ conséquent être très complexe. Ce document
+ complète la <a href="../mod/mod_rewrite.html">documentation de
+ référence du module mod_rewrite</a>, et est sensé alléger un
+ peu cette complexité, et présenter des exemples largement
+ commentés, ainsi que des situations courantes que vous
pourrez traiter avec mod_rewrite. Mais nous voulons aussi vous
- montrer des situations où vous ne devrez pas utiliser
- mod_rewrite, et lui préférer d'autres
- fonctionnalités standard d'Apache, évitant ainsi
- d'entrer dans une complexité inutile.</p>
+ montrer des situations où vous ne devrez pas utiliser
+ mod_rewrite, et lui préférer d'autres
+ fonctionnalités standard d'Apache, évitant ainsi
+ d'entrer dans une complexité inutile.</p>
<ul>
<li><a href="../mod/mod_rewrite.html">documentation de
-référence de mod_rewrite</a></li>
-<li><a href="intro.html">Introduction aux expressions rationnelles et à
+référence de mod_rewrite</a></li>
+<li><a href="intro.html">Introduction aux expressions rationnelles et à
mod_rewrite</a></li>
-<li><a href="flags.html">Drapeaux de réécriture</a></li>
+<li><a href="flags.html">Drapeaux de réécriture</a></li>
<li><a href="rewritemap.html">Utilisation de RewriteMap</a></li>
<li><a href="avoid.html">Quand <strong>NE PAS</strong> utiliser mod_rewrite</a></li>
<li><a href="remapping.html">Utilisation de mod_rewrite pour la
-redirection et la remise en correspondance avec le système de
+redirection et la remise en correspondance avec le système de
fichiers des URLs</a></li>
<li><a href="access.html">Utilisation de mod_rewrite pour le
-contrôle d'accès</a></li>
+contrôle d'accès</a></li>
<li><a href="vhosts.html">Les serveurs virtuels dynamiques avec mod_rewrite</a></li>
<li><a href="proxy.html">Les serveurs mandataires dynamiques avec mod_rewrite</a></li>
-<li><a href="advanced.html">Techniques avancées</a></li>
-<li><a href="tech.html">Détails techniques</a></li>
+<li><a href="advanced.html">Techniques avancées</a></li>
+<li><a href="tech.html">Détails techniques</a></li>
</ul>
</div>
<div id="quickview"><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentation de
-référence de mod_rewrite</a></li><li><a href="../urlmapping.html">Mise en correspondance des URLs
-avec le système de fichiers</a></li><li><a href="http://wiki.apache.org/httpd/Rewrite">wiki mod_rewrite
+référence de mod_rewrite</a></li><li><a href="../urlmapping.html">Mise en correspondance des URLs
+avec le système de fichiers</a></li><li><a href="http://wiki.apache.org/httpd/Rewrite">wiki mod_rewrite
</a></li><li><a href="../glossary.html">Glossaire</a></li></ul></div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/rewrite/" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/" title="Français"> fr </a> |
-<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../fr/rewrite/" title="Français"> fr </a> |
+<a href="../tr/rewrite/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/rewrite/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Introduction au module Apache mod_rewrite</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/rewrite/intro.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/intro.html" title="Français"> fr </a></p>
+<a href="../fr/rewrite/intro.html" title="Français"> fr </a></p>
</div>
-<p>Ce document est un complément à la <a href="../mod/mod_rewrite.html">documentation de référence</a> du module
-<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Il décrit les concepts de base dont la
-connaissance est nécessaire pour l'utilisation de
+<p>Ce document est un complément à la <a href="../mod/mod_rewrite.html">documentation de référence</a> du module
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Il décrit les concepts de base dont la
+connaissance est nécessaire pour l'utilisation de
<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. D'autres documents entrent d'avantage dans
-les détails, mais celui-ci devrait aider le débutant à se mouiller les
+les détails, mais celui-ci devrait aider le débutant à se mouiller les
pieds.
</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introduction</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#regex">Expressions rationnelles</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#rewriterule">Les bases des règles de réécriture</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#flags">Drapeaux de réécriture</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#rewritecond">Conditions de réécriture</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#rewritemap">Tables de réécriture</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewriterule">Les bases des règles de réécriture</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flags">Drapeaux de réécriture</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritecond">Conditions de réécriture</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rewritemap">Tables de réécriture</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#htaccess">Fichiers .htaccess</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentation du
module mod_rewrite</a></li><li><a href="remapping.html">Redirection and remise en
-correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a href="vhosts.html">Serveurs virtuels</a></li><li><a href="proxy.html">Mise en cache</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li><li><a href="#comments_section">Commentaires</a></li></ul></div>
+correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a href="vhosts.html">Serveurs virtuels</a></li><li><a href="proxy.html">Mise en cache</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li><li><a href="#comments_section">Commentaires</a></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="introduction" id="introduction">Introduction</a><a title="Lien permanent" href="#introduction" class="permalink">¶</a></h2>
<p>Le module Apache <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> est un module puissant
-et sophistiqué qui permet la réécriture des URLs. Grâce à lui, vous
-pouvez effectuer quasiment tous les types de réécriture d'URLs dont vous
-avez besoin. Il est cependant assez complexe, et peut paraître
-intimidant au débutant. Certains ont aussi tendance à traiter les
-règles de réécriture comme des incantations magiques, et à les utiliser
-sans vraiment comprendre leur manière d'agir.</p>
-
-<p>Ce document a pour ambition d'être suffisamment explicite pour
-permettre la compréhension, et non la copie en aveugle, de ce qui suit.
+et sophistiqué qui permet la réécriture des URLs. Grâce à lui, vous
+pouvez effectuer quasiment tous les types de réécriture d'URLs dont vous
+avez besoin. Il est cependant assez complexe, et peut paraître
+intimidant au débutant. Certains ont aussi tendance à traiter les
+règles de réécriture comme des incantations magiques, et à les utiliser
+sans vraiment comprendre leur manière d'agir.</p>
+
+<p>Ce document a pour ambition d'être suffisamment explicite pour
+permettre la compréhension, et non la copie en aveugle, de ce qui suit.
</p>
-<p>Gardez à l'esprit que de nombreuses tâches de manipulation d'URLs
-courantes n'ont pas besoin de la puissance et de la complexité de
-<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pour les tâches simples, voir
+<p>Gardez à l'esprit que de nombreuses tâches de manipulation d'URLs
+courantes n'ont pas besoin de la puissance et de la complexité de
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pour les tâches simples, voir
<code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> et la documentation sur la <a href="../urlmapping.html">Mise en correspondance des URLs avec le
-système de fichiers</a>.</p>
+système de fichiers</a>.</p>
-<p>Enfin, avant de procéder, assurez-vous d'avoir configuré le niveau de
-journalisation de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> à un des niveaux de trace
+<p>Enfin, avant de procéder, assurez-vous d'avoir configuré le niveau de
+journalisation de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> à un des niveaux de trace
via la directive <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code>. Bien que
-ceci risque de vous submerger sous une énorme quantité d'informations,
-le débogage des problèmes avec la configuration de
-<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> est à ce prix car vous verrez alors
-exactement comment chaque règle est traitée.</p>
+ceci risque de vous submerger sous une énorme quantité d'informations,
+le débogage des problèmes avec la configuration de
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> est à ce prix car vous verrez alors
+exactement comment chaque règle est traitée.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="regex" id="regex">Expressions rationnelles</a><a title="Lien permanent" href="#regex" class="permalink">¶</a></h2>
<p>mod_rewrite utilise le vocabulaire des <a href="http://pcre.org/">Expressions rationnelles compatibles Perl</a>.
-Ce document n'a pas pour prétention d'être une référence détaillée des
+Ce document n'a pas pour prétention d'être une référence détaillée des
expressions rationnelles. A cet effet, nous recommandons les <a href="http://pcre.org/pcre.txt">pages de manuel de PCRE</a>, la <a href="http://perldoc.perl.org/perlre.html">page de manuel des
expressions rationnelles Perl</a>, et l'ouvrage <a href="http://shop.oreilly.com/product/9780596528126.do">Mastering
Regular Expressions, by Jeffrey Friedl</a>.</p>
<p>Dans ce document, nous avons pour but de vous fournir suffisamment de
-vocabulaire des expressions rationnelles pour vous mettre le pied à
-l'étrier, sans être dépassé, en espérant que les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> vous apparaîtront comme des
-formules scientifiques, plutôt que comme des incantations magiques.</p>
+vocabulaire des expressions rationnelles pour vous mettre le pied à
+l'étrier, sans être dépassé, en espérant que les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> vous apparaîtront comme des
+formules scientifiques, plutôt que comme des incantations magiques.</p>
<h3><a name="regexvocab" id="regexvocab">Vocabulaire des expressions rationnelles</a></h3>
-<p>Vous trouverez dans ce qui suit le minimum à connaître pour être en
-mesure d'écrire des expressions rationnelles et des règles <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>. Ceci ne représente
+<p>Vous trouverez dans ce qui suit le minimum à connaître pour être en
+mesure d'écrire des expressions rationnelles et des règles <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>. Ceci ne représente
certainement pas un vocabulaire des expressions rationnelles complet,
-mais constitue un bon point de départ, et devrait vous aider à
-déchiffrer les expressions rationnelles simples, et à écrire vos propres
+mais constitue un bon point de départ, et devrait vous aider à
+déchiffrer les expressions rationnelles simples, et à écrire vos propres
expressions.</p>
<table>
<th>Exemple</th>
</tr>
-<tr><td><code>.</code></td><td>Correspond à tout caractère unique
-</td><td><code>c.t</code> correspondra à <code>cat</code>,
+<tr><td><code>.</code></td><td>Correspond à tout caractère unique
+</td><td><code>c.t</code> correspondra à <code>cat</code>,
<code>cot</code>, <code>cut</code>, etc.</td></tr>
-<tr><td><code>+</code></td><td>Répète le caractère de correspondance
-précédent une ou plusieurs fois</td>
-<td><code>a+</code> correspond à <code>a</code>, <code>aa</code>,
+<tr><td><code>+</code></td><td>Répète le caractère de correspondance
+précédent une ou plusieurs fois</td>
+<td><code>a+</code> correspond à <code>a</code>, <code>aa</code>,
<code>aaa</code>, etc.</td></tr>
-<tr><td><code>*</code></td><td>Répète le caractère de correspondance
-précédent zéro ou plusieurs fois</td>
-<td><code>a*</code> correspond à tout ce à quoi correspond
-<code>a+</code>, mais correspond aussi à la chaîne vide.</td></tr>
+<tr><td><code>*</code></td><td>Répète le caractère de correspondance
+précédent zéro ou plusieurs fois</td>
+<td><code>a*</code> correspond à tout ce à quoi correspond
+<code>a+</code>, mais correspond aussi à la chaîne vide.</td></tr>
<tr><td><code>?</code></td><td>Rend la correspondance optionnelle.</td><td>
-<code>colou?r</code> correspondra à <code>color</code> et <code>colour</code>.</td>
+<code>colou?r</code> correspondra à <code>color</code> et <code>colour</code>.</td>
</tr>
-<tr><td><code>^</code></td><td>Appelé ancrage, correspond au début de la
-chaîne</td>
-<td><code>^a</code> correspond à une chaîne qui commence par
+<tr><td><code>^</code></td><td>Appelé ancrage, correspond au début de la
+chaîne</td>
+<td><code>^a</code> correspond à une chaîne qui commence par
<code>a</code></td></tr>
-<tr><td><code>$</code></td><td>L'autre ancrage, correspond à la fin de
-la chaîne.</td>
-<td><code>a$</code> correspond à une chaîne qui se termine par
+<tr><td><code>$</code></td><td>L'autre ancrage, correspond à la fin de
+la chaîne.</td>
+<td><code>a$</code> correspond à une chaîne qui se termine par
<code>a</code>.</td></tr>
-<tr><td><code>( )</code></td><td>Regroupe plusieurs caractères en une
-seule entité, et conserve une correspondance à des fins d'utilisation
-dans une référence arrière.</td>
+<tr><td><code>( )</code></td><td>Regroupe plusieurs caractères en une
+seule entité, et conserve une correspondance à des fins d'utilisation
+dans une référence arrière.</td>
<td><code>(ab)+</code>
-correspond à <code>ababab</code> - à savoir, le <code>+</code>
+correspond à <code>ababab</code> - à savoir, le <code>+</code>
s'applique au groupe.
-Pour plus de détails sur les références arrières, voir <a href="#InternalBackRefs">ci-dessous</a>.</td></tr>
-<tr><td><code>[ ]</code></td><td>Une classe de caractères - correspond à
-un des caractères de la classe</td>
-<td><code>c[uoa]t</code> correspond à <code>cut</code>,
+Pour plus de détails sur les références arrières, voir <a href="#InternalBackRefs">ci-dessous</a>.</td></tr>
+<tr><td><code>[ ]</code></td><td>Une classe de caractères - correspond à
+un des caractères de la classe</td>
+<td><code>c[uoa]t</code> correspond à <code>cut</code>,
<code>cot</code> ou <code>cat</code>.</td></tr>
-<tr><td><code>[^ ]</code></td><td>Négation de la classe de caractères -
-correspond à tout caractère ne faisant pas partie de la classe</td>
-<td><code>c[^/]t</code> correspond à <code>cat</code> ou
-<code>c=t</code> mais pas à <code>c/t</code></td></tr>
+<tr><td><code>[^ ]</code></td><td>Négation de la classe de caractères -
+correspond à tout caractère ne faisant pas partie de la classe</td>
+<td><code>c[^/]t</code> correspond à <code>cat</code> ou
+<code>c=t</code> mais pas à <code>c/t</code></td></tr>
</table>
-<p>Avec <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, le caractère <code>!</code> peut
-préfixer une expression rationnelle afin d'en exprimer la négation.
-Autrement dit, une chaîne ne correspondra que si elle ne correspond pas
-à l'expression située après le <code>!</code>.</p>
+<p>Avec <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, le caractère <code>!</code> peut
+préfixer une expression rationnelle afin d'en exprimer la négation.
+Autrement dit, une chaîne ne correspondra que si elle ne correspond pas
+à l'expression située après le <code>!</code>.</p>
-<h3><a name="InternalBackRefs" id="InternalBackRefs">Disponibilité des références
-arrières dans les expressions rationnelles</a></h3>
+<h3><a name="InternalBackRefs" id="InternalBackRefs">Disponibilité des références
+arrières dans les expressions rationnelles</a></h3>
<p>Vous devez vous souvenir d'une chose importante : chaque fois
- que vous utilisez des parenthèses dans un <em>Modèle</em> ou dans
- un des <em>modèles de conditions</em>, des références arrières
- sont créées en interne et peuvent être rappelées via les chaînes
+ que vous utilisez des parenthèses dans un <em>Modèle</em> ou dans
+ un des <em>modèles de conditions</em>, des références arrières
+ sont créées en interne et peuvent être rappelées via les chaînes
<code>$N</code> et <code>%N</code> (voir ci-dessous). Ces
- références sont disponibles lors de la
- création de la chaîne de substitution d'une directive
+ références sont disponibles lors de la
+ création de la chaîne de substitution d'une directive
<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ou de la
- chaîne de test d'une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>.</p>
- <p>Les captures dans les modèles de directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> sont paradoxalement
- disponibles dans toutes les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> qui précèdent, car
- les expressions des directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> sont évaluées avant
+ chaîne de test d'une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>.</p>
+ <p>Les captures dans les modèles de directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> sont paradoxalement
+ disponibles dans toutes les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> qui précèdent, car
+ les expressions des directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> sont évaluées avant
les conditions individuelles.</p>
- <p>La figure 1 montre à quels endroits les
- références arrières sont suceptibles
- d'être développées, et illustre le flux des comparaisons
- effectuées par les règles RewriteRule et
+ <p>La figure 1 montre à quels endroits les
+ références arrières sont suceptibles
+ d'être développées, et illustre le flux des comparaisons
+ effectuées par les règles RewriteRule et
RewriteCond. Dans les chapitres suivants, nous examinerons comment
- utiliser ces références arrières, donc ne vous affolez pas si
+ utiliser ces références arrières, donc ne vous affolez pas si
elles vous paraissent un peu exotiques au premier abord.</p>
<p class="figure">
- <img src="../images/rewrite_backreferences.png" alt="Flux des comparaisons effectuées par les règles RewriteRule et RewriteCond" /><br />
- <dfn>Figure 1 :</dfn> Le cheminement d'une référence arrière à
- travers une règle.<br />
- Dans cet exemple, une requête pour <code>/test/1234</code> serait
- transformée en
+ <img src="../images/rewrite_backreferences.png" alt="Flux des comparaisons effectuées par les règles RewriteRule et RewriteCond" /><br />
+ <dfn>Figure 1 :</dfn> Le cheminement d'une référence arrière à
+ travers une règle.<br />
+ Dans cet exemple, une requête pour <code>/test/1234</code> serait
+ transformée en
<code>/admin.foo?page=test&id=1234&host=admin.example.com</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="rewriterule" id="rewriterule">Les bases des règles de réécriture</a><a title="Lien permanent" href="#rewriterule" class="permalink">¶</a></h2>
-<p>Une règle de réécriture <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est constituée de trois
-arguments séparés par des espaces. Les arguments sont :</p>
+<h2><a name="rewriterule" id="rewriterule">Les bases des règles de réécriture</a><a title="Lien permanent" href="#rewriterule" class="permalink">¶</a></h2>
+<p>Une règle de réécriture <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est constituée de trois
+arguments séparés par des espaces. Les arguments sont :</p>
<ol>
-<li><var>Modèle</var>: le modèle des URLs auxquelles la règle doit
+<li><var>Modèle</var>: le modèle des URLs auxquelles la règle doit
s'appliquer;</li>
-<li><var>Substitution</var>: vers quoi la requête correspondante doit être
-transformée;</li>
-<li><var>[drapeaux]</var>: options affectant la requête réécrite.</li>
+<li><var>Substitution</var>: vers quoi la requête correspondante doit être
+transformée;</li>
+<li><var>[drapeaux]</var>: options affectant la requête réécrite.</li>
</ol>
-<p>Le <var>Modèle</var> est une <a href="#regex">expression
-rationnelle</a>. Au sein de la première règle de réécriture, ou jusqu'à
-ce qu'une substitution survienne, elle est comparée au chemin de
-l'URL de la requête entrante (la
-partie située après le nom d'hôte mais avant tout point d'interrogation
-qui indique le début d'une chaîne de paramètres de
-requête) ou, dans un contexte de répertoire, au chemin de la
-requête relativement au répertoire pour lequel la
-règle est définie. Lorsqu'une substitution a eu lieu, les
-règles suivantes effectuent leurs comparaisons par rapport à la valeur
-substituée.</p>
+<p>Le <var>Modèle</var> est une <a href="#regex">expression
+rationnelle</a>. Au sein de la première règle de réécriture, ou jusqu'à
+ce qu'une substitution survienne, elle est comparée au chemin de
+l'URL de la requête entrante (la
+partie située après le nom d'hôte mais avant tout point d'interrogation
+qui indique le début d'une chaîne de paramètres de
+requête) ou, dans un contexte de répertoire, au chemin de la
+requête relativement au répertoire pour lequel la
+règle est définie. Lorsqu'une substitution a eu lieu, les
+règles suivantes effectuent leurs comparaisons par rapport à la valeur
+substituée.</p>
<p class="figure">
<img src="../images/syntax_rewriterule.png" alt="Syntaxe de la directive RewriteRule" /><br />
<dfn>Figure 2 :</dfn> Syntaxe de la directive RewriteRule.
</p>
-<p>La chaîne de <var>Substitution</var> peut, quant à elle, être de
+<p>La chaîne de <var>Substitution</var> peut, quant à elle, être de
trois types :</p>
<dl>
-<dt>Un chemin complet du système de fichiers vers une ressource</dt>
+<dt>Un chemin complet du système de fichiers vers une ressource</dt>
<dd>
<pre class="prettyprint lang-config">RewriteRule "^/jeux" "/usr/local/jeux/web"</pre>
-<p>Ceci peut faire correspondre une requête à toute localisation voulue de
-votre système de fichiers, un peu comme la directive <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>.</p>
+<p>Ceci peut faire correspondre une requête à toute localisation voulue de
+votre système de fichiers, un peu comme la directive <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>.</p>
</dd>
<dt>Un chemin web vers une ressource</dt>
<pre class="prettyprint lang-config">RewriteRule "^/foo$" "/bar"</pre>
<p>Si la directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> a
-pour valeur <code>/usr/local/apache2/htdocs</code>, cette règle va faire
-correspondre les requêtes pour <code>http://example.com/foo</code> au
+pour valeur <code>/usr/local/apache2/htdocs</code>, cette règle va faire
+correspondre les requêtes pour <code>http://example.com/foo</code> au
chemin <code>/usr/local/apache2/htdocs/bar</code>.</p>
</dd>
<dd>
<pre class="prettyprint lang-config">RewriteRule "^/produits/vues$" "http://site2.example.com/voirproduits.html" [R]</pre>
-<p>Ceci informe le client qu'il doit effectuer une nouvelle requête vers
-l'URL spécifiée.</p>
+<p>Ceci informe le client qu'il doit effectuer une nouvelle requête vers
+l'URL spécifiée.</p>
</dd>
</dl>
-<p>La chaîne de <var>Substitution</var> peut aussi contenir des
-<em>références arrières</em> vers des parties du chemin d'URL entrant
-correspondant au <var>Modèle</var>. Considérons ce qui suit :</p>
+<p>La chaîne de <var>Substitution</var> peut aussi contenir des
+<em>références arrières</em> vers des parties du chemin d'URL entrant
+correspondant au <var>Modèle</var>. Considérons ce qui suit :</p>
<pre class="prettyprint lang-config">RewriteRule "^/produits/(.*)/view$" "/var/web/produitsdb/$1"</pre>
-<p>La variable <code>$1</code> sera remplacée par tout texte
-correspondant à l'expression située entre les parenthèses dans le
-<var>Modèle</var>. Par exemple, une requête pour
+<p>La variable <code>$1</code> sera remplacée par tout texte
+correspondant à l'expression située entre les parenthèses dans le
+<var>Modèle</var>. Par exemple, une requête pour
<code>http://example.com/produits/r14df/vue</code> correspondra au
chemin <code>/var/web/produitsdb/r14df</code>.</p>
-<p>S'il y a plus d'une expression entre parenthèses, elle seront
+<p>S'il y a plus d'une expression entre parenthèses, elle seront
accessibles selon leur ordre d'apparition via les variables
<code>$1</code>, <code>$2</code>, <code>$3</code>, etc...</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="flags" id="flags">Drapeaux de réécriture</a><a title="Lien permanent" href="#flags" class="permalink">¶</a></h2>
-<p>Le comportement d'une règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> peut être modifié par la
-présence d'un ou plusieurs drapeaux en fin de règle. Par exemple, les
-conditions de correspondance d'une règle peuvent être rendues
-insensibles à la casse par la présence du drapeau <code>[NC]</code> :
+<h2><a name="flags" id="flags">Drapeaux de réécriture</a><a title="Lien permanent" href="#flags" class="permalink">¶</a></h2>
+<p>Le comportement d'une règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> peut être modifié par la
+présence d'un ou plusieurs drapeaux en fin de règle. Par exemple, les
+conditions de correspondance d'une règle peuvent être rendues
+insensibles à la casse par la présence du drapeau <code>[NC]</code> :
</p>
<pre class="prettyprint lang-config">RewriteRule "^puppy.html" "petitchien.html" [NC]</pre>
<p>Pour une liste des drapeaux disponibles, leurs significations, et des
exemples, voir le document <a href="flags.html">Drapeaux de
-réécriture</a>.</p>
+réécriture</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="rewritecond" id="rewritecond">Conditions de réécriture</a><a title="Lien permanent" href="#rewritecond" class="permalink">¶</a></h2>
+<h2><a name="rewritecond" id="rewritecond">Conditions de réécriture</a><a title="Lien permanent" href="#rewritecond" class="permalink">¶</a></h2>
<p>Il est possible d'utiliser une ou plusieurs directives <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> pour restreindre les types
-de requêtes auxquelles devra s'appliquer la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> suivante. Le premier
-argument est une variable décrivant une caractéristique de la requête,
+de requêtes auxquelles devra s'appliquer la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> suivante. Le premier
+argument est une variable décrivant une caractéristique de la requête,
le second argument est une <a href="#regex">expression rationnelle</a>
-qui doit correspondre à la variable, et un troisième argument optionnel
-est une liste de drapeaux qui modifient la manière dont la
-correspondance est évaluée.</p>
+qui doit correspondre à la variable, et un troisième argument optionnel
+est une liste de drapeaux qui modifient la manière dont la
+correspondance est évaluée.</p>
<p class="figure">
<img src="../images/syntax_rewritecond.png" alt="Syntaxe de la directive RewriteCond" /><br />
</p>
-<p>Par exemple, pour renvoyer toutes les requêtes en provenance d'une
+<p>Par exemple, pour renvoyer toutes les requêtes en provenance d'une
certaine tranche d'adresses IP vers un autre serveur, vous pouvez
utiliser :</p>
<pre class="prettyprint lang-config">RewriteCond "%{REMOTE_ADDR}" "^10\.2\."
RewriteRule "(.*)" "http://intranet.example.com$1"</pre>
-<p>Si vous spécifiez plus d'une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, ces directives
-doivent toutes être satisfaites pour que la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> suivante s'applique. Par exemple,
-pour interdire les requêtes qui contiennent le mot "hack" dans la chaîne
-de requête, sauf si elles contiennent aussi un cookie contenant le mot
+<p>Si vous spécifiez plus d'une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, ces directives
+doivent toutes être satisfaites pour que la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> suivante s'applique. Par exemple,
+pour interdire les requêtes qui contiennent le mot "hack" dans la chaîne
+de requête, sauf si elles contiennent aussi un cookie contenant le mot
"go", vous pouvez utiliser :</p>
<pre class="prettyprint lang-config">RewriteCond "%{QUERY_STRING}" "hack"
RewriteCond "%{HTTP_COOKIE}" "!go"
RewriteRule "." "-" [F]</pre>
-<p>Notez que le point d'exclamation indique une correspondance négative
-; ainsi, la règle n'est appliquée que si le cookie ne contient pas "go"</p>
+<p>Notez que le point d'exclamation indique une correspondance négative
+; ainsi, la règle n'est appliquée que si le cookie ne contient pas "go"</p>
<p>Les correspondances dans les expressions rationnelles contenues dans
les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
-peuvent constituer des parties de la chaîne de <var>Substitution</var>
-de la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> via
+peuvent constituer des parties de la chaîne de <var>Substitution</var>
+de la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> via
les variables <code>%1</code>, <code>%2</code>, etc... Par
-exemple, ce qui suit va diriger la requête vers un répertoire différent
-en fonction du nom d'hôte utilisé pour accéder au site :</p>
+exemple, ce qui suit va diriger la requête vers un répertoire différent
+en fonction du nom d'hôte utilisé pour accéder au site :</p>
<pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "(.*)"
RewriteRule "^/(.*)" "/sites/%1/$1"</pre>
-<p>Si la requête concernait <code>http://example.com/foo/bar</code>,
+<p>Si la requête concernait <code>http://example.com/foo/bar</code>,
alors <code>%1</code> contiendrait <code>example.com</code> et
<code>$1</code> contiendrait <code>foo/bar</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="rewritemap" id="rewritemap">Tables de réécriture</a><a title="Lien permanent" href="#rewritemap" class="permalink">¶</a></h2>
+<h2><a name="rewritemap" id="rewritemap">Tables de réécriture</a><a title="Lien permanent" href="#rewritemap" class="permalink">¶</a></h2>
<p>La directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
-permet en quelque sorte de faire appel à une fonction externe pour
-effectuer la réécriture à votre place. Tout ceci est décrit plus en
-détails dans la <a href="rewritemap.html">Documentation
-supplémentaire sur RewriteMap</a>.</p>
+permet en quelque sorte de faire appel à une fonction externe pour
+effectuer la réécriture à votre place. Tout ceci est décrit plus en
+détails dans la <a href="rewritemap.html">Documentation
+supplémentaire sur RewriteMap</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="htaccess" id="htaccess">Fichiers .htaccess</a><a title="Lien permanent" href="#htaccess" class="permalink">¶</a></h2>
-<p>La réécriture est en général définie au niveau de la configuration du
-serveur principal (en dehors de toute section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>) ou dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>. Il s'agit là de la
-manière la plus simple de mettre en oeuvre la réécriture et nous la
+<p>La réécriture est en général définie au niveau de la configuration du
+serveur principal (en dehors de toute section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>) ou dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>. Il s'agit là de la
+manière la plus simple de mettre en oeuvre la réécriture et nous la
recommandons. Il est possible, cependant, de mettre en oeuvre la
-réécriture au sein d'une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou d'un fichier <a href="../howto/htaccess.html"><code>.htaccess</code></a> ; ce type de
-configuration est cependant plus complexe. Cette technique est appelée
-réécriture par répertoire.</p>
-
-<p>La principale différence avec les réécritures au niveau du serveur réside
-dans le fait que le préfixe du chemin du répertoire contenant le fichier
-<code>.htaccess</code> est supprimé avant la mise en correspondance dans
-la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>. De
+réécriture au sein d'une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> ou d'un fichier <a href="../howto/htaccess.html"><code>.htaccess</code></a> ; ce type de
+configuration est cependant plus complexe. Cette technique est appelée
+réécriture par répertoire.</p>
+
+<p>La principale différence avec les réécritures au niveau du serveur réside
+dans le fait que le préfixe du chemin du répertoire contenant le fichier
+<code>.htaccess</code> est supprimé avant la mise en correspondance dans
+la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>. De
plus, on doit utiliser la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code> pour s'assurer que la
-requête est correctement mise en correspondance.</p>
+requête est correctement mise en correspondance.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/rewrite/intro.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/intro.html" title="Français"> fr </a></p>
+<a href="../fr/rewrite/intro.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Détails techniques sur le module Apache mod_rewrite - Serveur Apache HTTP Version 2.5</title>
+<title>Détails techniques sur le module Apache mod_rewrite - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Détails techniques sur le module Apache mod_rewrite</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Détails techniques sur le module Apache mod_rewrite</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/tech.html" title="Français"> fr </a></p>
+<a href="../fr/rewrite/tech.html" title="Français"> fr </a></p>
</div>
-<p>Ce document passe en revue certains détails techniques à propos du
+<p>Ce document passe en revue certains détails techniques à propos du
module mod_rewrite et de la mise en correspondance des URLs</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#InternalAPI">Phases de l'API</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#InternalRuleset">Traitement du jeu de règles</a></li>
-</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentation du module mod_rewrite</a></li><li><a href="intro.html">Introduction à mod_rewrite</a></li><li><a href="remapping.html">Redirection et remise en
-correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a href="vhosts.html">Serveurs virtuels</a></li><li><a href="proxy.html">Mise en cache</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li><li><a href="#comments_section">Commentaires</a></li></ul></div>
+<li><img alt="" src="../images/down.gif" /> <a href="#InternalRuleset">Traitement du jeu de règles</a></li>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentation du module mod_rewrite</a></li><li><a href="intro.html">Introduction à mod_rewrite</a></li><li><a href="remapping.html">Redirection et remise en
+correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a href="vhosts.html">Serveurs virtuels</a></li><li><a href="proxy.html">Mise en cache</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li><li><a href="#comments_section">Commentaires</a></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="InternalAPI" id="InternalAPI">Phases de l'API</a><a title="Lien permanent" href="#InternalAPI" class="permalink">¶</a></h2>
- <p>Le traitement des requêtes par le serveur HTTP Apache se
- déroule en plusieurs phases. Au cours de chaque phase, un ou
- plusieurs modules peuvent être appelés pour traiter la partie
- concernée du cycle de vie de la requête. Les différentes phases
+ <p>Le traitement des requêtes par le serveur HTTP Apache se
+ déroule en plusieurs phases. Au cours de chaque phase, un ou
+ plusieurs modules peuvent être appelés pour traiter la partie
+ concernée du cycle de vie de la requête. Les différentes phases
peuvent consister en traduction d'URL en nom de fichier,
authentification, autorisation, gestion de contenu ou journalisation (la
liste n'est pas exhaustive).</p>
<p>mod_rewrite agit dans deux de ces phases (ou accroches - hooks -
- comme on les nomme souvent) pour la réécriture des URLs.</p>
+ comme on les nomme souvent) pour la réécriture des URLs.</p>
<p>Tout d'abord, il utilise le hook traduction URL vers nom de
- fichier qui intervient après la lecture de la requête HTTP, mais
+ fichier qui intervient après la lecture de la requête HTTP, mais
avant le processus d'autorisation. Ensuite, il utilise le hook
- Fixup, qui intervient après les phases d'autorisation, après la
- lecture des fichiers de configuration de niveau répertoire (fichiers
+ Fixup, qui intervient après les phases d'autorisation, après la
+ lecture des fichiers de configuration de niveau répertoire (fichiers
<code>.htaccess</code>), mais avant l'appel du gestionnaire de
contenu.</p>
- <p>Lorsqu'une requête arrive et une fois le serveur
- correspondant ou le serveur virtuel déterminé, le moteur de
- réécriture commence à traiter toute directive apparaissant dans la
+ <p>Lorsqu'une requête arrive et une fois le serveur
+ correspondant ou le serveur virtuel déterminé, le moteur de
+ réécriture commence à traiter toute directive apparaissant dans la
configuration de niveau serveur (autrement dit dans le
fichier de configuration principal du serveur et les sections
<code class="directive"><a href="../mod/core.html#virtualhost"><Virtualhost></a></code>).
- Tout ce processus s'exécute au cours de la phase de traduction URL
+ Tout ce processus s'exécute au cours de la phase de traduction URL
vers nom de fichier.</p>
- <p>Quelques étapes plus loin, une fois les répertoires de données
- finaux trouvés, les directives de configuration de niveau répertoire
- (fichiers <code>.htaccess</code> et sections <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>) sont appliquées. Ce processus
- s'exécute au cours de la phase Fixup.</p>
+ <p>Quelques étapes plus loin, une fois les répertoires de données
+ finaux trouvés, les directives de configuration de niveau répertoire
+ (fichiers <code>.htaccess</code> et sections <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>) sont appliquées. Ce processus
+ s'exécute au cours de la phase Fixup.</p>
- <p>Dans tous ces cas, mod_rewrite réécrit le
+ <p>Dans tous ces cas, mod_rewrite réécrit le
<code>REQUEST_URI</code> soit vers une nouvelle URL, soit vers un
nom de fichier.</p>
- <p>Dans un contexte de niveau répertoire (autrement dit dans les
+ <p>Dans un contexte de niveau répertoire (autrement dit dans les
fichiers <code>.htaccess</code> et les sections
- <code>Directory</code>), les règles de réécriture s'appliquent après
+ <code>Directory</code>), les règles de réécriture s'appliquent après
la traduction de l'URL en nom de fichier. C'est pourquoi le chemin
URL auquel mod_rewrite compare initialement les directives
<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est le
- chemin complet vers le nom de fichier traduit amputé de la partie
- répertoires (y compris le dernier slash).</p>
-
- <p>Un exemple : si les règles se trouvent dans
- /var/www/foo/.htaccess et si une requête pour /foo/bar/baz est
- traité, une expression comme ^bar/baz$ correspondra.</p>
-
- <p>Si une substitution intervient dans un contexte de répertoire,
- une nouvelle sous-requête interne est générée avec la nouvelle URL,
- ce qui relance le traitement des phases de la requête. Si la
- substitution est un chemin relatif, la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code> détermine le chemin URL
- devant préfixer cette substitution. Dans un contexte de répertoire,
- il faut s'assurer de créer des règles qui
+ chemin complet vers le nom de fichier traduit amputé de la partie
+ répertoires (y compris le dernier slash).</p>
+
+ <p>Un exemple : si les règles se trouvent dans
+ /var/www/foo/.htaccess et si une requête pour /foo/bar/baz est
+ traité, une expression comme ^bar/baz$ correspondra.</p>
+
+ <p>Si une substitution intervient dans un contexte de répertoire,
+ une nouvelle sous-requête interne est générée avec la nouvelle URL,
+ ce qui relance le traitement des phases de la requête. Si la
+ substitution est un chemin relatif, la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code> détermine le chemin URL
+ devant préfixer cette substitution. Dans un contexte de répertoire,
+ il faut s'assurer de créer des règles qui
n'effectueront pas de substitution au
- cours d'une passe ultérieure du processus de réécriture au niveau
- répertoire afin d'éviter les bouclages . Voir <a href="http://wiki.apache.org/httpd/RewriteLooping">Bouclage dans le
- processus de réécriture</a> pour une discussion plus détaillée à
- propos de ce problème.</p>
-
- <p>En conséquence de cette manipulation de l'URL , vous devrez
- pensez à confectionner différemment vos règles de réécriture dans un
- contexte de niveau répertoire. En particulier, rappelez-vous que le
- chemin de répertoire sera absent de l'URL que vos règles de
- réécriture verront. Voici quelques exemples qui permettront de
+ cours d'une passe ultérieure du processus de réécriture au niveau
+ répertoire afin d'éviter les bouclages . Voir <a href="http://wiki.apache.org/httpd/RewriteLooping">Bouclage dans le
+ processus de réécriture</a> pour une discussion plus détaillée à
+ propos de ce problème.</p>
+
+ <p>En conséquence de cette manipulation de l'URL , vous devrez
+ pensez à confectionner différemment vos règles de réécriture dans un
+ contexte de niveau répertoire. En particulier, rappelez-vous que le
+ chemin de répertoire sera absent de l'URL que vos règles de
+ réécriture verront. Voici quelques exemples qui permettront de
clarifier les choses :</p>
<table class="bordered">
<tr>
- <th>Position de la règle</th>
- <th>Règle</th>
+ <th>Position de la règle</th>
+ <th>Règle</th>
</tr>
<tr>
</tr>
<tr>
- <td>Fichier .htaccess à la racine des documents</td>
+ <td>Fichier .htaccess à la racine des documents</td>
<td>RewriteRule "^images/(.+)\.jpg" "images/$1.gif"</td>
</tr>
<tr>
- <td>Fichier .htaccess dans le répertoire images</td>
+ <td>Fichier .htaccess dans le répertoire images</td>
<td>RewriteRule "^(.+)\.jpg" "$1.gif"</td>
</tr>
</table>
- <p>Pour une étude plus approfondie de la manière dont mod_rewrite
- manipule les URLs dans les différents contextes, vous pouvez
- consulter les <a href="../mod/mod_rewrite.html#logging">entrées du
- journal</a> générées au cours du processus de réécriture.</p>
+ <p>Pour une étude plus approfondie de la manière dont mod_rewrite
+ manipule les URLs dans les différents contextes, vous pouvez
+ consulter les <a href="../mod/mod_rewrite.html#logging">entrées du
+ journal</a> générées au cours du processus de réécriture.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="InternalRuleset" id="InternalRuleset">Traitement du jeu de règles</a><a title="Lien permanent" href="#InternalRuleset" class="permalink">¶</a></h2>
+<h2><a name="InternalRuleset" id="InternalRuleset">Traitement du jeu de règles</a><a title="Lien permanent" href="#InternalRuleset" class="permalink">¶</a></h2>
<p>Maintenant, quand mod_rewrite se lance dans ces deux phases de
- l'API, il lit le jeu de règles configurées depuis la structure
- contenant sa configuration (qui a été elle-même créée soit au
- démarrage d'Apache pour le contexte du serveur, soit lors du
- parcours des répertoires par le noyau d'Apache pour le contexte de
- répertoire). Puis le moteur de réécriture est démarré avec le jeu
- de règles contenu (une ou plusieurs règles associées à leurs
- conditions). En lui-même, le mode opératoire du moteur de
- réécriture d'URLs est exactement le même dans les deux contextes
- de configuration. Seul le traitement du résultat final diffère.</p>
-
- <p>L'ordre dans lequel les règles sont définies est important car
- le moteur de réécriture les traite selon une chronologie
- particulière (et pas très évidente). Le principe est le suivant :
- le moteur de réécriture traite les règles (les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>) les unes
- à la suite des autres, et lorsqu'une règle s'applique, il parcourt
- les éventuelles conditions (directives
- <code>RewriteCond</code>directives) associées.
+ l'API, il lit le jeu de règles configurées depuis la structure
+ contenant sa configuration (qui a été elle-même créée soit au
+ démarrage d'Apache pour le contexte du serveur, soit lors du
+ parcours des répertoires par le noyau d'Apache pour le contexte de
+ répertoire). Puis le moteur de réécriture est démarré avec le jeu
+ de règles contenu (une ou plusieurs règles associées à leurs
+ conditions). En lui-même, le mode opératoire du moteur de
+ réécriture d'URLs est exactement le même dans les deux contextes
+ de configuration. Seul le traitement du résultat final diffère.</p>
+
+ <p>L'ordre dans lequel les règles sont définies est important car
+ le moteur de réécriture les traite selon une chronologie
+ particulière (et pas très évidente). Le principe est le suivant :
+ le moteur de réécriture traite les règles (les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>) les unes
+ à la suite des autres, et lorsqu'une règle s'applique, il parcourt
+ les éventuelles conditions (directives
+ <code>RewriteCond</code>directives) associées.
Pour des raisons historiques, les
- conditions précèdent les règles, si bien que le déroulement du
- contrôle est un peu compliqué. Voir la figure 1 pour plus de
- détails.</p>
+ conditions précèdent les règles, si bien que le déroulement du
+ contrôle est un peu compliqué. Voir la figure 1 pour plus de
+ détails.</p>
<p class="figure">
<img src="../images/rewrite_process_uri.png" alt="Flux des comparaisons des directives RewriteRule et RewriteCond" /><br />
- <dfn>Figure 1:</dfn>Déroulement du contrôle à travers le jeu de
- règles de réécriture
+ <dfn>Figure 1:</dfn>Déroulement du contrôle à travers le jeu de
+ règles de réécriture
</p>
- <p>L'URL est tout d'abord comparée au
- <em>Modèle</em> de chaque règle. Lorsqu'une règle ne s'applique
- pas, mod_rewrite stoppe immédiatement le traitement de cette règle
- et passe à la règle suivante. Si l'URL correspond au
- <em>Modèle</em>, mod_rewrite recherche la présence de conditions
+ <p>L'URL est tout d'abord comparée au
+ <em>Modèle</em> de chaque règle. Lorsqu'une règle ne s'applique
+ pas, mod_rewrite stoppe immédiatement le traitement de cette règle
+ et passe à la règle suivante. Si l'URL correspond au
+ <em>Modèle</em>, mod_rewrite recherche la présence de conditions
correspondantes (les directives Rewritecond apparaissant dans la
configuration juste
- avant les règles de réécriture). S'il n'y en a pas, mod_rewrite remplace
- l'URL par une chaîne élaborée à partir de la chaîne de
- <em>Substitution</em>, puis passe à la règle suivante. Si des
- conditions sont présentes, mod_rewrite lance un bouclage
+ avant les règles de réécriture). S'il n'y en a pas, mod_rewrite remplace
+ l'URL par une chaîne élaborée à partir de la chaîne de
+ <em>Substitution</em>, puis passe à la règle suivante. Si des
+ conditions sont présentes, mod_rewrite lance un bouclage
secondaire afin de les traiter selon l'ordre dans lequel elles
- sont définies. La logique de traitement des conditions est
- différente : on ne compare pas l'URL à un modèle. Une chaîne de
- test <em>TestString</em> est tout d'abord élaborée en développant
- des variables, des références arrières, des recherches dans des
- tables de correspondances, etc..., puis cette chaîne de test est
- comparée au modèle de condition <em>CondPattern</em>. Si le modèle
+ sont définies. La logique de traitement des conditions est
+ différente : on ne compare pas l'URL à un modèle. Une chaîne de
+ test <em>TestString</em> est tout d'abord élaborée en développant
+ des variables, des références arrières, des recherches dans des
+ tables de correspondances, etc..., puis cette chaîne de test est
+ comparée au modèle de condition <em>CondPattern</em>. Si le modèle
ne correspond pas, les autres conditions du jeu ne sont pas
- examinées et la règle correspondante ne s'applique pas. Si le
- modèle correspond, la condition suivante est examinée et ainsi de
- suite jusqu'à la dernière condition. Si toutes les conditions sont
- satisfaites, le traitement de la règle en cours se poursuit avec
- le remplacement de l'URL par la chaîne de <em>Substitution</em>.</p>
+ examinées et la règle correspondante ne s'applique pas. Si le
+ modèle correspond, la condition suivante est examinée et ainsi de
+ suite jusqu'à la dernière condition. Si toutes les conditions sont
+ satisfaites, le traitement de la règle en cours se poursuit avec
+ le remplacement de l'URL par la chaîne de <em>Substitution</em>.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/rewrite/tech.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/rewrite/tech.html" title="Français"> fr </a></p>
+<a href="../fr/rewrite/tech.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Sections de configuration</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/sections.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/sections.html" title="Français"> fr </a> |
+<a href="./fr/sections.html" title="Français"> fr </a> |
<a href="./ja/sections.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/sections.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/sections.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
<p>Les directives des <a href="configuring.html">fichiers de configuration</a> peuvent s'appliquer
-au serveur dans son ensemble, ou seulement à des répertoires, fichiers, hôtes,
-ou URLs particuliers. Ce document décrit comment utiliser les conteneurs de
+au serveur dans son ensemble, ou seulement à des répertoires, fichiers, hôtes,
+ou URLs particuliers. Ce document décrit comment utiliser les conteneurs de
sections de configuration ou les fichiers <code>.htaccess</code> pour
-modifier la portée des directives de configuration.</p>
+modifier la portée des directives de configuration.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#types">Types de conteneurs de sections de
configuration</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#file-and-web">Système de fichiers,
-arborescence du site web et expressions booléennes</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#virtualhost">Hôtes virtuels</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#file-and-web">Système de fichiers,
+arborescence du site web et expressions booléennes</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#virtualhost">Hôtes virtuels</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#proxy">Mandataire</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#whatwhere">Quelles sont les directives autorisées ?</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#merging">Comment les sections sont combinées entre elles</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#whatwhere">Quelles sont les directives autorisées ?</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#merging">Comment les sections sont combinées entre elles</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="types" id="types">Types de conteneurs de sections de
configuration</a><a title="Lien permanent" href="#types" class="permalink">¶</a></h2>
-<table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/core.html">core</a></code></li><li><code class="module"><a href="./mod/mod_version.html">mod_version</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#directory"><Directory></a></code></li><li><code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#files"><Files></a></code></li><li><code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#if"><If></a></code></li><li><code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code></li><li><code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code></li><li><code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code></li><li><code class="directive"><a href="./mod/core.html#location"><Location></a></code></li><li><code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code></li><li><code class="directive"><a href="./mod/mod_md.html#mdomainsetsection"><MDomainSet></a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxymatch"><ProxyMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code></li></ul></td></tr></table>
+<table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/core.html">core</a></code></li><li><code class="module"><a href="./mod/mod_version.html">mod_version</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#directory"><Directory></a></code></li><li><code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#files"><Files></a></code></li><li><code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#if"><If></a></code></li><li><code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code></li><li><code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code></li><li><code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code></li><li><code class="directive"><a href="./mod/core.html#location"><Location></a></code></li><li><code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code></li><li><code class="directive"><a href="./mod/mod_md.html#mdomainsetsection"><MDomainSet></a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxymatch"><ProxyMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code></li></ul></td></tr></table>
<p>Il existe deux grands types de conteneurs. La plupart des conteneurs sont
-évalués pour chaque requête. Les directives qu'ils contiennent s'appliquent
-seulement aux requêtes qui sont concernées par le conteneur. En revanche,
+évalués pour chaque requête. Les directives qu'ils contiennent s'appliquent
+seulement aux requêtes qui sont concernées par le conteneur. En revanche,
les conteneurs
<code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code>, <code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code>, et
<code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code> sont
-évalués seulement au démarrage et au redémarrage du serveur.
-Si leurs conditions sont vérifiées au démarrage, les directives qu'ils contiennent
-s'appliqueront à toutes les requêtes. Si leurs conditions ne sont pas vérifiées, les
-directives qu'ils contiennent seront ignorées.</p>
+évalués seulement au démarrage et au redémarrage du serveur.
+Si leurs conditions sont vérifiées au démarrage, les directives qu'ils contiennent
+s'appliqueront à toutes les requêtes. Si leurs conditions ne sont pas vérifiées, les
+directives qu'ils contiennent seront ignorées.</p>
<p>Le conteneur <code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code>
-contient des directives qui ne seront appliquées que si un paramètre
-approprié a été défini dans la ligne de commande de <code class="program"><a href="./programs/httpd.html">httpd</a></code>.
+contient des directives qui ne seront appliquées que si un paramètre
+approprié a été défini dans la ligne de commande de <code class="program"><a href="./programs/httpd.html">httpd</a></code>.
Par exemple,
-avec la configuration suivante, toutes les requêtes seront redirigées vers
-un autre site si le serveur est démarré en utilisant la ligne de commande :
+avec la configuration suivante, toutes les requêtes seront redirigées vers
+un autre site si le serveur est démarré en utilisant la ligne de commande :
<code>httpd -DClosedForNow</code>:</p>
<pre class="prettyprint lang-config"><IfDefine ClosedForNow>
<p>Le conteneur <code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code>
est similaire; les directives qu'il contient ne s'appliqueront que si
un module particulier est disponible au niveau du serveur.
-Le module doit être soit compilé statiquement dans le serveur, soit
-dynamiquement et dans ce cas, la ligne <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> correspondante doit apparaître
-plus haut dans le fichier de configuration. Ce conteneur ne doit être
-utilisé que dans le cas où votre fichier de configuration doit fonctionner
-indépendamment de la présence ou de l'absence de certains modules.
+Le module doit être soit compilé statiquement dans le serveur, soit
+dynamiquement et dans ce cas, la ligne <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> correspondante doit apparaître
+plus haut dans le fichier de configuration. Ce conteneur ne doit être
+utilisé que dans le cas où votre fichier de configuration doit fonctionner
+indépendamment de la présence ou de l'absence de certains modules.
Il ne doit pas contenir de directives que vous souhaitez voir s'appliquer
-systématiquement, car vous pouvez perdre ainsi de précieux messages d'erreur
-à propos de modules manquants.</p>
+systématiquement, car vous pouvez perdre ainsi de précieux messages d'erreur
+à propos de modules manquants.</p>
<p>Dans l'exemple suivant, la directive <code class="directive"><a href="./mod/mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></code> ne s'appliquera que si le
module <code class="module"><a href="./mod/mod_mime_magic.html">mod_mime_magic</a></code> est disponible.</p>
<p>Le conteneur
<code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code>
est similaire aux conteneurs <code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code> et <code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code>; les directives qu'il contient ne
-s'appliqueront que si une version particulière du serveur s'exécute. Ce
-conteneur a été conçu pour une utilisation dans les suites de tests
-et les grands réseaux qui doivent prendre en compte différentes versions
+s'appliqueront que si une version particulière du serveur s'exécute. Ce
+conteneur a été conçu pour une utilisation dans les suites de tests
+et les grands réseaux qui doivent prendre en compte différentes versions
et configurations de httpd.</p>
<pre class="prettyprint lang-config"><IfVersion >= 2.4>
- # les directives situées ici ne s'appliquent que si la version <br />
- # est supérieure ou égale à 2.4.0.
+ # les directives situées ici ne s'appliquent que si la version <br />
+ # est supérieure ou égale à 2.4.0.
</IfVersion></pre>
<p><code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code>,
<code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code>, et
<code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code>
-peuvent inverser leur test conditionnel en le faisant précéder d'un "!".
-De plus, ces sections peuvent être imbriquées afin de définir des restrictions
+peuvent inverser leur test conditionnel en le faisant précéder d'un "!".
+De plus, ces sections peuvent être imbriquées afin de définir des restrictions
plus complexes.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="file-and-web" id="file-and-web">Système de fichiers,
-arborescence du site web et expressions booléennes</a><a title="Lien permanent" href="#file-and-web" class="permalink">¶</a></h2>
+<h2><a name="file-and-web" id="file-and-web">Système de fichiers,
+arborescence du site web et expressions booléennes</a><a title="Lien permanent" href="#file-and-web" class="permalink">¶</a></h2>
-<p>Les conteneurs de sections de configuration les plus couramment utilisés
-sont ceux qui modifient la configuration de points particuliers du système de
+<p>Les conteneurs de sections de configuration les plus couramment utilisés
+sont ceux qui modifient la configuration de points particuliers du système de
fichiers ou de l'arborescence du site web. Tout d'abord, il est important de
-comprendre la différence entre les deux. Le système de fichiers est une vue
-de vos disques tels qu'ils sont perçus par votre système d'exploitation.
-Par exemple, avec une installation par défaut,
-Apache httpd est situé dans <code>/usr/local/apache2</code> pour le système de
+comprendre la différence entre les deux. Le système de fichiers est une vue
+de vos disques tels qu'ils sont perçus par votre système d'exploitation.
+Par exemple, avec une installation par défaut,
+Apache httpd est situé dans <code>/usr/local/apache2</code> pour le système de
fichiers UNIX, ou <code>"c:/Program Files/Apache Group/Apache2"</code> pour
-le système de fichiers Windows. (Notez que des slashes directs doivent
-toujours être utilisés comme séparateur de chemin
-dans les fichiers de configuration d'Apache httpd, même sous
-Windows.) Quant à
+le système de fichiers Windows. (Notez que des slashes directs doivent
+toujours être utilisés comme séparateur de chemin
+dans les fichiers de configuration d'Apache httpd, même sous
+Windows.) Quant à
l'arborescence du site web, il s'agit d'une vue de votre site
-tel que présenté par le
-serveur web et perçue par le client. Ainsi le chemin <code>/dir/</code> dans
+tel que présenté par le
+serveur web et perçue par le client. Ainsi le chemin <code>/dir/</code> dans
l'arborescence du site web correspond au chemin
-<code>/usr/local/apache2/htdocs/dir/</code> dans le système de fichiers pour
-une installation d'Apache httpd par défaut sous UNIX.
+<code>/usr/local/apache2/htdocs/dir/</code> dans le système de fichiers pour
+une installation d'Apache httpd par défaut sous UNIX.
En outre, l'arborescence du site web n'a pas besoin de correspondre en permanence au
-système de fichiers, car les pages web peuvent être générées dynamiquement
-à partir de bases de données ou d'autres emplacements.</p>
+système de fichiers, car les pages web peuvent être générées dynamiquement
+à partir de bases de données ou d'autres emplacements.</p>
-<h3><a name="filesystem" id="filesystem">Conteneurs de système de fichiers</a></h3>
+<h3><a name="filesystem" id="filesystem">Conteneurs de système de fichiers</a></h3>
<p>Les conteneurs <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>
et <code class="directive"><a href="./mod/core.html#files"><Files></a></code>,
-ainsi que leurs équivalents acceptant les
+ainsi que leurs équivalents acceptant les
<a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>,
-appliquent des directives à certaines parties du système de fichiers.
-Les directives contenues dans une section <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> s'appliquent au répertoire
-précisé, ainsi qu'à tous ses sous-répertoires et aux fichiers que ces
+appliquent des directives à certaines parties du système de fichiers.
+Les directives contenues dans une section <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> s'appliquent au répertoire
+précisé, ainsi qu'à tous ses sous-répertoires et aux fichiers que ces
derniers contiennent.
-Le même effet peut être obtenu en utilisant les <a href="howto/htaccess.html">fichiers .htaccess</a>. Par exemple, avec la
-configuration suivante, l'indexation sera activée pour le répertoire
-<code>/var/web/dir1</code> et tous ses sous-répertoires.</p>
+Le même effet peut être obtenu en utilisant les <a href="howto/htaccess.html">fichiers .htaccess</a>. Par exemple, avec la
+configuration suivante, l'indexation sera activée pour le répertoire
+<code>/var/web/dir1</code> et tous ses sous-répertoires.</p>
<pre class="prettyprint lang-config"><Directory "/var/web/dir1">
Options +Indexes
</Directory></pre>
-<p>Les directives contenues dans une section <code class="directive"><a href="./mod/core.html#files"><Files></a></code> s'appliquent à tout fichier
-avec le nom spécifié, quel que soit le répertoire dans lequel il se trouve.
+<p>Les directives contenues dans une section <code class="directive"><a href="./mod/core.html#files"><Files></a></code> s'appliquent à tout fichier
+avec le nom spécifié, quel que soit le répertoire dans lequel il se trouve.
Ainsi par exemple, les directives de configuration suivantes, si elles sont
-placées dans la section principale du fichier de configuration, vont interdire
-l'accès à tout fichier nommé <code>private.html</code> quel que soit
-l'endroit où il se trouve.</p>
+placées dans la section principale du fichier de configuration, vont interdire
+l'accès à tout fichier nommé <code>private.html</code> quel que soit
+l'endroit où il se trouve.</p>
<pre class="prettyprint lang-config"><Files "private.html">
Require all denied
</Files></pre>
-<p>Pour faire référence à des fichiers qui se trouvent en des points
-particuliers du système de fichiers, les sections
+<p>Pour faire référence à des fichiers qui se trouvent en des points
+particuliers du système de fichiers, les sections
<code class="directive"><a href="./mod/core.html#files"><Files></a></code> et
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>
-peuvent être combinées. Par exemple, la configuration suivante va interdire
-l'accès à <code>/var/web/dir1/private.html</code>,
+peuvent être combinées. Par exemple, la configuration suivante va interdire
+l'accès à <code>/var/web/dir1/private.html</code>,
<code>/var/web/dir1/subdir2/private.html</code>,
<code>/var/web/dir1/subdir3/private.html</code>, ainsi que toute instance de
<code>private.html</code> qui se trouve dans l'arborescence
<h3><a name="webspace" id="webspace">Conteneurs de l'arborescence du site web</a></h3>
<p>le conteneur <code class="directive"><a href="./mod/core.html#location"><Location></a></code>
-et son équivalent acceptant les
-<a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, modifient quant à eux la
+et son équivalent acceptant les
+<a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, modifient quant à eux la
configuration de parties de l'arborescence du site web. Par exemple, la
-configuration suivante interdit l'accès à toute URL dont la partie chemin
+configuration suivante interdit l'accès à toute URL dont la partie chemin
commence par /private.
-En particulier, l'interdiction s'appliquera aux requêtes pour :
+En particulier, l'interdiction s'appliquera aux requêtes pour :
<code>http://yoursite.example.com/private</code>,
<code>http://yoursite.example.com/private123</code>, et
-<code>http://yoursite.example.com/private/dir/file.html</code> ainsi qu'à
-toute requête commençant par la chaîne de caractères <code>/private</code>.</p>
+<code>http://yoursite.example.com/private/dir/file.html</code> ainsi qu'à
+toute requête commençant par la chaîne de caractères <code>/private</code>.</p>
<pre class="prettyprint lang-config"><LocationMatch "^/private">
Require all denied
<p>Le conteneur <code class="directive"><a href="./mod/core.html#location"><Location></a></code>
-n'a pas besoin de faire référence à un élément du système de fichiers.
-Par exemple, l'exemple suivant montre comment faire référence à une URL
-particulière vers un gestionnaire interne du serveur HTTP Apache fourni par le module
+n'a pas besoin de faire référence à un élément du système de fichiers.
+Par exemple, l'exemple suivant montre comment faire référence à une URL
+particulière vers un gestionnaire interne du serveur HTTP Apache fourni par le module
<code class="module"><a href="./mod/mod_status.html">mod_status</a></code>.
-Il n'est pas nécessaire de trouver un fichier nommé <code>server-status</code>
-dans le système de fichiers.</p>
+Il n'est pas nécessaire de trouver un fichier nommé <code>server-status</code>
+dans le système de fichiers.</p>
<pre class="prettyprint lang-config"><Location "/server-status">
SetHandler server-status
-<h3><a name="overlapping-webspace" id="overlapping-webspace">Espace web imbriqué</a></h3>
-<p>Pour contrôler deux URLs imbriquées, on doit tenir compte de l'ordre
-dans lequel certaines sections ou directives sont évaluées. Pour
+<h3><a name="overlapping-webspace" id="overlapping-webspace">Espace web imbriqué</a></h3>
+<p>Pour contrôler deux URLs imbriquées, on doit tenir compte de l'ordre
+dans lequel certaines sections ou directives sont évaluées. Pour
<code class="directive"><a href="./mod/core.html#location"><Location></a></code>, on doit
avoir :</p>
<pre class="prettyprint lang-config"><Location "/foo">
<Location "/foo/bar">
</Location></pre>
-<p>Les directives <code class="directive"><a href="./mod/mod_alias.html#alias"><Alias></a></code>, quant à elles, sont évaluées vice-versa :</p>
+<p>Les directives <code class="directive"><a href="./mod/mod_alias.html#alias"><Alias></a></code>, quant à elles, sont évaluées vice-versa :</p>
<pre class="prettyprint lang-config">Alias "/foo/bar" "/srv/www/uncommon/bar"
Alias "/foo" "/srv/www/common/foo"</pre>
-<h3><a name="wildcards" id="wildcards">Caractères de remplacement
+<h3><a name="wildcards" id="wildcards">Caractères de remplacement
et expressions rationnelles</a></h3>
<p>Les conteneurs
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>,
<code class="directive"><a href="./mod/core.html#files"><Files></a></code>, et
<code class="directive"><a href="./mod/core.html#location"><Location></a></code>
-peuvent utiliser des caractères de remplacement de style shell comme dans
-la fonction <code>fnmatch</code> de la bibliothèque C standard.
-Le caractère "*"
-correspond à toute séquence de caractères, "?" à un caractère seul,
-et "[<em>seq</em>]" à tout caractère contenu dans <em>seq</em>.
-Le caractère "/"
+peuvent utiliser des caractères de remplacement de style shell comme dans
+la fonction <code>fnmatch</code> de la bibliothèque C standard.
+Le caractère "*"
+correspond à toute séquence de caractères, "?" à un caractère seul,
+et "[<em>seq</em>]" à tout caractère contenu dans <em>seq</em>.
+Le caractère "/"
ne peut pas faire l'objet d'un remplacement;
-il doit être spécifié explicitement.</p>
+il doit être spécifié explicitement.</p>
-<p>Si une définition des critères de correspondance
-encore plus souple est nécessaire, chaque conteneur
-possède son équivalent acceptant les expressions rationnelles : <code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code>, <code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code>, et <code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code> acceptent les
+<p>Si une définition des critères de correspondance
+encore plus souple est nécessaire, chaque conteneur
+possède son équivalent acceptant les expressions rationnelles : <code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code>, <code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code>, et <code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code> acceptent les
<a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a> compatibles Perl
-pour définir les critères de correspondance. Mais voyez plus loin la section
-à propos de la combinaison des sections de configuration
+pour définir les critères de correspondance. Mais voyez plus loin la section
+à propos de la combinaison des sections de configuration
pour comprendre comment l'utilisation de
-conteneurs avec des expressions rationnelles va modifier la manière
-dont les directives sont appliquées.</p>
+conteneurs avec des expressions rationnelles va modifier la manière
+dont les directives sont appliquées.</p>
<p>Un conteneur qui modifie la configuration de tous les
-répertoires utilisateurs à l'aide de caractères de remplacement
+répertoires utilisateurs à l'aide de caractères de remplacement
mais sans utiliser
-les expressions rationnelles pourrait ressembler à ceci :</p>
+les expressions rationnelles pourrait ressembler à ceci :</p>
<pre class="prettyprint lang-config"><Directory "/home/*/public_html">
Options Indexes
<p>Avec les conteneurs utilisant les expressions rationnelles,
-on peut interdire l'accès à de nombreux types de fichiers d'images
-simultanément :</p>
+on peut interdire l'accès à de nombreux types de fichiers d'images
+simultanément :</p>
<pre class="prettyprint lang-config">+<FilesMatch "\.(?i:gif|jpe?g|png)$">
Require all denied
</FilesMatch></pre>
-<p>Les expressions rationnelles contenant des <strong>groupes nommés et
-des références arrières</strong> sont ajoutées à l'environnement avec
-leur nom en majuscules. Ceci permet de référencer des éléments de
+<p>Les expressions rationnelles contenant des <strong>groupes nommés et
+des références arrières</strong> sont ajoutées à l'environnement avec
+leur nom en majuscules. Ceci permet de référencer des éléments de
chemins de fichiers et d'URLs depuis une <a href="expr.html">expression</a> et au sein de modules comme
<code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
-<h3><a name="expressions" id="expressions">Expressions booléennes</a></h3>
+<h3><a name="expressions" id="expressions">Expressions booléennes</a></h3>
<p>La directive <code class="directive"><a href="./mod/core.html#if"><If></a></code>
permet de modifier la configuration en fonction d'une condition qui peut
-être définie sous la forme d'une expression booléenne. Dans l'exemple
-suivant, l'accès est interdit si l'en-tête HTTP Referer ne commence pas
+être définie sous la forme d'une expression booléenne. Dans l'exemple
+suivant, l'accès est interdit si l'en-tête HTTP Referer ne commence pas
par "http://www.example.com/".</p>
<pre class="prettyprint lang-config"><If "!(%{HTTP_REFERER} -strmatch 'http://www.example.com/*')">
Require all denied
<h3><a name="whichwhen" id="whichwhen">Que faut-il utiliser et quand ?</a></h3>
-<p>Choisir entre des conteneurs de système de fichiers et des conteneurs
-d'arborescence du site web est vraiment très simple.
-Pour appliquer des directives à des objets qui résident dans le système de
-fichiers, utilisez toujours un conteneur <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="./mod/core.html#files"><Files></a></code>. Pour appliquer des directives à des objets
-qui ne résident pas dans le système de fichiers (comme une page web générée
-par une base de données), utilisez un conteneur <code class="directive"><a href="./mod/core.html#location"><Location></a></code>.</p>
-
-<p>Il ne faut jamais utiliser un conteneur <code class="directive"><a href="./mod/core.html#location"><Location></a></code> pour restreindre l'accès à des
-objets du système de fichiers, car plusieurs localisations de
-l'arborescence du site web (URLs) peuvent correspondre à la même localisation
-du système de fichier, ce qui peut permettre de contourner vos restrictions.
+<p>Choisir entre des conteneurs de système de fichiers et des conteneurs
+d'arborescence du site web est vraiment très simple.
+Pour appliquer des directives à des objets qui résident dans le système de
+fichiers, utilisez toujours un conteneur <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="./mod/core.html#files"><Files></a></code>. Pour appliquer des directives à des objets
+qui ne résident pas dans le système de fichiers (comme une page web générée
+par une base de données), utilisez un conteneur <code class="directive"><a href="./mod/core.html#location"><Location></a></code>.</p>
+
+<p>Il ne faut jamais utiliser un conteneur <code class="directive"><a href="./mod/core.html#location"><Location></a></code> pour restreindre l'accès à des
+objets du système de fichiers, car plusieurs localisations de
+l'arborescence du site web (URLs) peuvent correspondre à la même localisation
+du système de fichier, ce qui peut permettre de contourner vos restrictions.
Par exemple, imaginez la configuration suivante :</p>
<pre class="prettyprint lang-config"><Location "/dir/">
</Location></pre>
-<p>Elle fonctionne correctement si la requête appelle
+<p>Elle fonctionne correctement si la requête appelle
<code>http://yoursite.example.com/dir/</code>. Mais que va-t-il se passer si
-votre système de fichiers est insensible à la casse ?
-Votre restriction va pouvoir être tout simplement contournée en envoyant une
-requête sur
-<code>http://yoursite.example.com/DIR/</code>. Le conteneur <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, quant à lui, s'appliquera
-à tout contenu servi à partir de cette localisation,
-sans tenir compte de la manière dont il est appelé.
-(Les liens du système de fichiers constituent une exception.
-Le même répertoire peut être placé dans plusieurs parties du système de
+votre système de fichiers est insensible à la casse ?
+Votre restriction va pouvoir être tout simplement contournée en envoyant une
+requête sur
+<code>http://yoursite.example.com/DIR/</code>. Le conteneur <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, quant à lui, s'appliquera
+à tout contenu servi à partir de cette localisation,
+sans tenir compte de la manière dont il est appelé.
+(Les liens du système de fichiers constituent une exception.
+Le même répertoire peut être placé dans plusieurs parties du système de
fichiers en utilisant des liens symboliques. Le conteneur
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> va suivre le
-lien symbolique sans modifier le nom du chemin. Par conséquent, pour plus de
-sécurité, les liens symboliques doivent être désactivés à l'aide de la
+lien symbolique sans modifier le nom du chemin. Par conséquent, pour plus de
+sécurité, les liens symboliques doivent être désactivés à l'aide de la
directive
-<code class="directive"><a href="./mod/core.html#options">Options</a></code> appropriée.)</p>
-
-<p>Si vous pensez que vous n'êtes pas concerné par ce problème
-parceque vous utilisez un système de fichiers sensible à la casse,
-gardez à l'esprit qu'il y a de nombreuses autres manières pour faire
-correspondre plusieurs localisations de l'arborescence du site web à la même
-localisation du système de fichiers. C'est pourquoi vous devez autant que
-possible toujours utiliser les conteneurs de système de fichiers.
-Il y a cependant une exception à cette règle. Placer des restrictions de
+<code class="directive"><a href="./mod/core.html#options">Options</a></code> appropriée.)</p>
+
+<p>Si vous pensez que vous n'êtes pas concerné par ce problème
+parceque vous utilisez un système de fichiers sensible à la casse,
+gardez à l'esprit qu'il y a de nombreuses autres manières pour faire
+correspondre plusieurs localisations de l'arborescence du site web à la même
+localisation du système de fichiers. C'est pourquoi vous devez autant que
+possible toujours utiliser les conteneurs de système de fichiers.
+Il y a cependant une exception à cette règle. Placer des restrictions de
configuration dans un conteneur <code><Location
-"/"></code> est tout à fait sans rique car ce conteneur va s'appliquer à
-toutes les requêtes sans tenir compte de l'URL spécifique.</p>
+"/"></code> est tout à fait sans rique car ce conteneur va s'appliquer à
+toutes les requêtes sans tenir compte de l'URL spécifique.</p>
<h3><a name="nesting" id="nesting">Imbrication des sections</a></h3>
-<p>Certains types de sections peuvent être imbriqués : d'une part, on peut
+<p>Certains types de sections peuvent être imbriqués : d'une part, on peut
utiliser les sections <code class="directive"><a href="./mod/core.html#files"><Files></a></code>
-à l'intérieur des sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, d'autre part, on peut utiliser les
-directives <code class="directive"><a href="./mod/core.html#if"><If></a></code> à l'intérieur
+à l'intérieur des sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, d'autre part, on peut utiliser les
+directives <code class="directive"><a href="./mod/core.html#if"><If></a></code> à l'intérieur
des sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>,
-<code class="directive"><a href="./mod/core.html#location"><Location></a></code> et <code class="directive"><a href="./mod/core.html#files"><Files></a></code> (mais pas à l'intérieur d'une
+<code class="directive"><a href="./mod/core.html#location"><Location></a></code> et <code class="directive"><a href="./mod/core.html#files"><Files></a></code> (mais pas à l'intérieur d'une
autre section <code class="directive"><a href="./mod/core.html#if"><If></a></code>). Les
-valeurs des expressions rationnelles correspondant aux sections nommées se
-comportent de manière identique.</p>
+valeurs des expressions rationnelles correspondant aux sections nommées se
+comportent de manière identique.</p>
-<p>Les sections imbriquées sont fusionnées après les sections
-non-imbriquées de même type.</p>
+<p>Les sections imbriquées sont fusionnées après les sections
+non-imbriquées de même type.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="virtualhost" id="virtualhost">Hôtes virtuels</a><a title="Lien permanent" href="#virtualhost" class="permalink">¶</a></h2>
+<h2><a name="virtualhost" id="virtualhost">Hôtes virtuels</a><a title="Lien permanent" href="#virtualhost" class="permalink">¶</a></h2>
<p>Le conteneur <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>
-contient des directives qui s'appliquent à des hôtes spécifiques.
-Ceci s'avère utile pour servir des hôtes multiples à partir de la même machine,
-chacun d'entre eux possédant une configuration différente. Pour de plus amples
+contient des directives qui s'appliquent à des hôtes spécifiques.
+Ceci s'avère utile pour servir des hôtes multiples à partir de la même machine,
+chacun d'entre eux possédant une configuration différente. Pour de plus amples
informations,
-voir la <a href="vhosts/">Documentation sur les hôtes virtuels</a>.</p>
+voir la <a href="vhosts/">Documentation sur les hôtes virtuels</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="proxy" id="proxy">Mandataire</a><a title="Lien permanent" href="#proxy" class="permalink">¶</a></h2>
<code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code>
et <code class="directive"><a href="./mod/mod_proxy.html#proxymatch"><ProxyMatch></a></code>
appliquent les directives de configuration qu'ils contiennent uniquement aux
-sites qui correspondent à l'URL spécifiée et auxquels on a
-accédé via le serveur mandataire du module <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>.
+sites qui correspondent à l'URL spécifiée et auxquels on a
+accédé via le serveur mandataire du module <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>.
Par exemple, la configuration suivante n'autorisera qu'un sous-ensemble de
-clients à accéder au site <code>www.example.com</code> en passant par le serveur
+clients à accéder au site <code>www.example.com</code> en passant par le serveur
mandataire :.</p>
<pre class="prettyprint lang-config"><Proxy http://www.example.com/*>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="whatwhere" id="whatwhere">Quelles sont les directives autorisées ?</a><a title="Lien permanent" href="#whatwhere" class="permalink">¶</a></h2>
+<h2><a name="whatwhere" id="whatwhere">Quelles sont les directives autorisées ?</a><a title="Lien permanent" href="#whatwhere" class="permalink">¶</a></h2>
-<p>Pour déterminer quelles sont les directives autorisées pour tel type de
-section de configuration, vérifiez le <a href="mod/directive-dict.html#Context">Contexte</a> de la directive.
-Tout ce qui est autorisé dans les sections
+<p>Pour déterminer quelles sont les directives autorisées pour tel type de
+section de configuration, vérifiez le <a href="mod/directive-dict.html#Context">Contexte</a> de la directive.
+Tout ce qui est autorisé dans les sections
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>
l'est aussi d'un point de vue syntaxique dans les sections
<code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code>,
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> ou les fichiers
<code>.htaccess</code>.</li>
-<li>La directive <code class="directive"><a href="./mod/core.html#options">Options</a></code> ne peut pas être
-utilisée dans les sections
+<li>La directive <code class="directive"><a href="./mod/core.html#options">Options</a></code> ne peut pas être
+utilisée dans les sections
<code class="directive"><a href="./mod/core.html#files"><Files></a></code>
et <code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></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="merging" id="merging">Comment les sections sont combinées entre elles</a><a title="Lien permanent" href="#merging" class="permalink">¶</a></h2>
+<h2><a name="merging" id="merging">Comment les sections sont combinées entre elles</a><a title="Lien permanent" href="#merging" class="permalink">¶</a></h2>
-<p>Les sections de configuration sont appliquées dans un ordre très particulier.
-Il est important de savoir comment cet ordre est défini car il peut avoir
-des effets importants sur la manière dont les directives de configuration
-sont interprétées.</p>
+<p>Les sections de configuration sont appliquées dans un ordre très particulier.
+Il est important de savoir comment cet ordre est défini car il peut avoir
+des effets importants sur la manière dont les directives de configuration
+sont interprétées.</p>
- <p>L'ordre dans lequel les sections sont combinées est :</p>
+ <p>L'ordre dans lequel les sections sont combinées est :</p>
<ol>
- <li> Les sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> (à l'exception des
+ <li> Les sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> (à l'exception des
expressions rationnelles)
- et les fichiers <code>.htaccess</code> sont appliqués simultanément (avec
- la possibilité pour <code>.htaccess</code>, s'il y est autorisé, de
- prévaloir sur
+ et les fichiers <code>.htaccess</code> sont appliqués simultanément (avec
+ la possibilité pour <code>.htaccess</code>, s'il y est autorisé, de
+ prévaloir sur
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>)</li>
<li>Les sections
<code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code>
(et <code><Directory ~></code>)</li>
- <li>Les sections <code class="directive"><a href="./mod/core.html#files"><Files></a></code> et <code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code> sont appliquées
- simultanément</li>
+ <li>Les sections <code class="directive"><a href="./mod/core.html#files"><Files></a></code> et <code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code> sont appliquées
+ simultanément</li>
<li>Les sections
<code class="directive"><a href="./mod/core.html#location"><Location></a></code>
- et <code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code> sont appliquées
- simultanément</li>
+ et <code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code> sont appliquées
+ simultanément</li>
<li>Les directives <code class="directive"><a href="./mod/core.html#if"><If></a></code>
</li>
<p>Quelques remarques importantes :</p>
<ul>
- <li>Mises à part les sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, dans chaque groupe, les sections sont
- traitées selon
+ <li>Mises à part les sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, dans chaque groupe, les sections sont
+ traitées selon
l'ordre dans lequel elles apparaissent dans les fichiers de configuration.
- Par exemple, une requête pour <em>/foo</em> correspondra à
+ Par exemple, une requête pour <em>/foo</em> correspondra à
<code><Location "/foo/bar"></code> et <code><Location
"/foo"></code> (dans ce cas le groupe 4) : les deux sections seront
- évaluées mais selon l'ordre dans lequel elles apparaissent dans le fichier
+ évaluées mais selon l'ordre dans lequel elles apparaissent dans le fichier
de configuration..</li>
<li>Les sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> (groupe 1 ci-dessus)
- sont traitées dans l'ordre du répertoire le plus court vers le plus long.
+ sont traitées dans l'ordre du répertoire le plus court vers le plus long.
Par exemple, <code><Directory "/var/web/dir"></code> sera
- traité avant <code><Directory
+ traité avant <code><Directory
"/var/web/dir/subdir"></code>.</li>
- <li>Si plusieurs sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> s'appliquent au même
- répertoire, elles sont traitées selon l'ordre dans lequel elles
+ <li>Si plusieurs sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> s'appliquent au même
+ répertoire, elles sont traitées selon l'ordre dans lequel elles
apparaissent dans le fichier de configuration.</li>
- <li>Les sections de configuration incluses via la directive <code class="directive"><a href="./mod/core.html#include">Include</a></code> sont traitées comme si elles se
- trouvaient réellement dans le fichier qui les inclut à la position de la
+ <li>Les sections de configuration incluses via la directive <code class="directive"><a href="./mod/core.html#include">Include</a></code> sont traitées comme si elles se
+ trouvaient réellement dans le fichier qui les inclut à la position de la
directive
<code class="directive"><a href="./mod/core.html#include">Include</a></code>.</li>
- <li>Les sections situées à l'intérieur de sections <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>
- sont appliquées <em>après</em> les sections correspondantes situées en
- dehors de la définition de l'hôte virtuel, ce qui permet à l'hôte virtuel
- de prévaloir sur la configuration du serveur principal.</li>
- <li>Quand la requête est servie par le module <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>,
+ <li>Les sections situées à l'intérieur de sections <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>
+ sont appliquées <em>après</em> les sections correspondantes situées en
+ dehors de la définition de l'hôte virtuel, ce qui permet à l'hôte virtuel
+ de prévaloir sur la configuration du serveur principal.</li>
+ <li>Quand la requête est servie par le module <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>,
le conteneur <code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code>
prend la place du conteneur <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> dans l'ordre de traitement.</li>
</ul>
<div class="note"><h3>Note technique</h3>
- Une séquence <code><Location></code>/<code><LocationMatch></code>
- est réellement traitée juste avant la phase de traduction du nom
- (où <code>Aliases</code> et <code>DocumentRoots</code>
- sont utilisés pour faire correspondre les URLs aux noms de fichiers).
- Les effets de cette séquence disparaissent totalement lorsque
- la traduction est terminée.
+ Une séquence <code><Location></code>/<code><LocationMatch></code>
+ est réellement traitée juste avant la phase de traduction du nom
+ (où <code>Aliases</code> et <code>DocumentRoots</code>
+ sont utilisés pour faire correspondre les URLs aux noms de fichiers).
+ Les effets de cette séquence disparaissent totalement lorsque
+ la traduction est terminée.
</div>
<h3><a name="relationship-module-configuration" id="relationship-module-configuration">Interactions entre
modules et sections de configuration</a></h3>
- <p>Une question se pose souvent après avoir lu comment les sections de
- configuration sont fusionnées : comment et quand les directives de modules
- particuliers comme <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> sont-elles interprétées ? La
- réponse n'est pas triviale et nécessite un approfondissement. Chaque module
- httpd gère sa propre configuration, et chacune de ses directives dans
- httpd.conf définit un élément de configuration dans un contexte particulier.
- httpd n'exécute pas un commande au moment où elle est lue.</p>
- <p>A l'exécution, le noyau de httpd parcours les sections de configuration
- dans l'ordre décrit ci-dessus afin de déterminer lesquelles s'appliquent à
- la requête courante. Lorsqu'une première section s'applique, elle est
- considérée comme la configuration courante pour cette requête. Si une
- section suivante s'applique aussi, chaque module qui possède des directives
- dans chacune de ces sections a la possibilité de fusionner sa configuration
- entre ces deux sections. Il en résulte une troisième configuration et le
- processus de fusion se poursuit jusqu'à ce que toutes les sections de
- configuration aient été évaluées.</p>
- <p>Après l'étape précédente, le traitement proprement dit de la requête HTTP
- peut commencer : chaque module peut effectuer toute tâche qui lui incombe,
- et pour déterminer de quelle manière dont il doit agir, il peut s'appuyer
+ <p>Une question se pose souvent après avoir lu comment les sections de
+ configuration sont fusionnées : comment et quand les directives de modules
+ particuliers comme <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> sont-elles interprétées ? La
+ réponse n'est pas triviale et nécessite un approfondissement. Chaque module
+ httpd gère sa propre configuration, et chacune de ses directives dans
+ httpd.conf définit un élément de configuration dans un contexte particulier.
+ httpd n'exécute pas un commande au moment où elle est lue.</p>
+ <p>A l'exécution, le noyau de httpd parcours les sections de configuration
+ dans l'ordre décrit ci-dessus afin de déterminer lesquelles s'appliquent à
+ la requête courante. Lorsqu'une première section s'applique, elle est
+ considérée comme la configuration courante pour cette requête. Si une
+ section suivante s'applique aussi, chaque module qui possède des directives
+ dans chacune de ces sections a la possibilité de fusionner sa configuration
+ entre ces deux sections. Il en résulte une troisième configuration et le
+ processus de fusion se poursuit jusqu'à ce que toutes les sections de
+ configuration aient été évaluées.</p>
+ <p>Après l'étape précédente, le traitement proprement dit de la requête HTTP
+ peut commencer : chaque module peut effectuer toute tâche qui lui incombe,
+ et pour déterminer de quelle manière dont il doit agir, il peut s'appuyer
sur le noyau de httpd pour retrouver sa configuration globale issue de la
- fusion précédente.</p>
+ fusion précédente.</p>
<p>Un exemple permet de mieux visualiser l'ensemble du processus. la
configuration suivante utilise la directive <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code> du module
- <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> pour définir un en-tête HTTP spécifique. Quelle
- valeur httpd va-t-il affecter à l'en-tête <code>CustomHeaderName</code> pour
- une requête vers <code>/example/index.html</code> ?
+ <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> pour définir un en-tête HTTP spécifique. Quelle
+ valeur httpd va-t-il affecter à l'en-tête <code>CustomHeaderName</code> pour
+ une requête vers <code>/example/index.html</code> ?
</p>
<pre class="prettyprint lang-config"><Directory "/">
Header set CustomHeaderName one
<ul>
<li><code class="directive">Directory</code> "/" s'applique, et une configuration
- initiale est créée qui définit l'en-tête <code>CustomHeaderName</code>
+ initiale est créée qui définit l'en-tête <code>CustomHeaderName</code>
avec la valeur <code>one</code>.</li>
<li><code class="directive">Directory</code> "/example" s'applique, et comme
- <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> spécifie dans son code que
- la valeur d'un en-tête doit être écrasée si ce dernier est défini à
- nouveau, une nouvelle configuration est créée qui définit l'en-tête
+ <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> spécifie dans son code que
+ la valeur d'un en-tête doit être écrasée si ce dernier est défini à
+ nouveau, une nouvelle configuration est créée qui définit l'en-tête
<code>CustomHeaderName</code> avec la valeur <code>two</code>.</li>
<li><code class="directive">FilesMatch</code> ".*" s'applique, une nouvelle
- opportunité de fusion surgit, et l'en-tête <code>CustomHeaderName</code>
- est défini à la valeur <code>three</code>.</li>
- <li>Finalement, au cours des étapes suivantes du traitement de la
- requête HTTP, <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> sera sollicité, et il se
- basera sur la configuration qui a défini l'en-tête
- <code>CustomHeaderName</code> à la valeur <code>three</code>.
+ opportunité de fusion surgit, et l'en-tête <code>CustomHeaderName</code>
+ est défini à la valeur <code>three</code>.</li>
+ <li>Finalement, au cours des étapes suivantes du traitement de la
+ requête HTTP, <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> sera sollicité, et il se
+ basera sur la configuration qui a défini l'en-tête
+ <code>CustomHeaderName</code> à la valeur <code>three</code>.
<code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> utilise normalement cette configuration pour
- accomplir sa tâche, à savoir définir des en-têtes HTTP. Cela ne veut
+ accomplir sa tâche, à savoir définir des en-têtes HTTP. Cela ne veut
cependant pas dire qu'un module ne peut pas effectuer des actions plus
- complexes comme désactiver des directives car elle ne sont pas
- nécessaires ou obsolètes, etc...</li>
+ complexes comme désactiver des directives car elle ne sont pas
+ nécessaires ou obsolètes, etc...</li>
</ul>
- <p>Ceci est aussi vrai pour les fichiers .htaccess car ils possèdent la même
- priorité que les sections <code class="directive">Directory</code> dans l'ordre de
+ <p>Ceci est aussi vrai pour les fichiers .htaccess car ils possèdent la même
+ priorité que les sections <code class="directive">Directory</code> dans l'ordre de
fusion. Il faut bien comprendre que les sections de configuration comme
<code class="directive">Directory</code> et <code class="directive">FilesMatch</code> ne
- sont pas comparables avec les directives spécifiques de modules comme
- <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code> ou <code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> car elles agissent à des
- niveaux différents.
+ sont pas comparables avec les directives spécifiques de modules comme
+ <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code> ou <code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> car elles agissent à des
+ niveaux différents.
</p>
<h3><a name="merge-examples" id="merge-examples">Quelques exemples utiles</a></h3>
<p>Voici un exemple imaginaire qui montre l'ordre de combinaison des sections.
-En supposant qu'elles s'appliquent toutes à la requête, les directives de
-cet exemple seront appliquées dans l'ordre suivant : A > B > C > D >
+En supposant qu'elles s'appliquent toutes à la requête, les directives de
+cet exemple seront appliquées dans l'ordre suivant : A > B > C > D >
E.</p>
<pre class="prettyprint lang-config"><Location "/">
</Directory></pre>
-<p>Pour un exemple plus concret, considérez ce qui suit. Sans tenir compte
-de toute restriction d'accès placée dans les sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, la section <code class="directive"><a href="./mod/core.html#location"><Location></a></code> sera
-évaluée en dernier et permettra un accès au serveur sans aucune restriction.
+<p>Pour un exemple plus concret, considérez ce qui suit. Sans tenir compte
+de toute restriction d'accès placée dans les sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, la section <code class="directive"><a href="./mod/core.html#location"><Location></a></code> sera
+évaluée en dernier et permettra un accès au serveur sans aucune restriction.
En d'autres termes, l'ordre de la combinaison des sections est important,
soyez donc prudent !</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/sections.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/sections.html" title="Français"> fr </a> |
+<a href="./fr/sections.html" title="Français"> fr </a> |
<a href="./ja/sections.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/sections.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/sections.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Configuration à l'échelle du serveur - Serveur Apache HTTP Version 2.5</title>
+<title>Configuration à l'échelle du serveur - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Configuration à l'échelle du serveur</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Configuration à l'échelle du serveur</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/server-wide.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/server-wide.html" title="Français"> fr </a> |
+<a href="./fr/server-wide.html" title="Français"> fr </a> |
<a href="./ja/server-wide.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/server-wide.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/server-wide.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/server-wide.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
<p>Ce document explique le fonctionnement de certaines directives du serveur
-de base qui sont utilisées pour configurer les opérations élémentaires du
+de base qui sont utilisées pour configurer les opérations élémentaires du
serveur.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#identification">Identification du serveur</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#locations">Localisation des fichiers</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#resource">Limitation de l'utilisation des ressources</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#implementation">Choix d'implémentation</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#implementation">Choix d'implémentation</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="identification" id="identification">Identification du serveur</a><a title="Lien permanent" href="#identification" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#servername">ServerName</a></code></li><li><code class="directive"><a href="./mod/core.html#serveradmin">ServerAdmin</a></code></li><li><code class="directive"><a href="./mod/core.html#serversignature">ServerSignature</a></code></li><li><code class="directive"><a href="./mod/core.html#servertokens">ServerTokens</a></code></li><li><code class="directive"><a href="./mod/core.html#usecanonicalname">UseCanonicalName</a></code></li><li><code class="directive"><a href="./mod/core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#servername">ServerName</a></code></li><li><code class="directive"><a href="./mod/core.html#serveradmin">ServerAdmin</a></code></li><li><code class="directive"><a href="./mod/core.html#serversignature">ServerSignature</a></code></li><li><code class="directive"><a href="./mod/core.html#servertokens">ServerTokens</a></code></li><li><code class="directive"><a href="./mod/core.html#usecanonicalname">UseCanonicalName</a></code></li><li><code class="directive"><a href="./mod/core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li></ul></td></tr></table>
<p>Les directives <code class="directive"><a href="./mod/core.html#serveradmin">ServerAdmin</a></code> et
- <code class="directive"><a href="./mod/core.html#servertokens">ServerTokens</a></code> contrôlent la nature des
- informations à propos du serveur qui seront affichées dans les documents
- générés par le serveur comme les messages d'erreur. La directive
- <code class="directive"><a href="./mod/core.html#servertokens">ServerTokens</a></code> définit la valeur du
- champ d'en-tête de la réponse du serveur HTTP.</p>
+ <code class="directive"><a href="./mod/core.html#servertokens">ServerTokens</a></code> contrôlent la nature des
+ informations à propos du serveur qui seront affichées dans les documents
+ générés par le serveur comme les messages d'erreur. La directive
+ <code class="directive"><a href="./mod/core.html#servertokens">ServerTokens</a></code> définit la valeur du
+ champ d'en-tête de la réponse du serveur HTTP.</p>
<p>Le serveur utilise les directives
<code class="directive"><a href="./mod/core.html#servername">ServerName</a></code>,
<code class="directive"><a href="./mod/core.html#usecanonicalname">UseCanonicalName</a></code> et
<code class="directive"><a href="./mod/core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code> pour
- déterminer la manière de construire des URLs vers ses propres ressources.
- Par exemple, quand un client émet une requête vers un répertoire, mais
- n'ajoute pas le slash final au nom du répertoire, httpd doit rediriger le
+ déterminer la manière de construire des URLs vers ses propres ressources.
+ Par exemple, quand un client émet une requête vers un répertoire, mais
+ n'ajoute pas le slash final au nom du répertoire, httpd doit rediriger le
client vers le nom complet incluant le slash final afin que le client
- puisse résoudre correctement les références relatives présentes dans
+ puisse résoudre correctement les références relatives présentes dans
le document.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="locations" id="locations">Localisation des fichiers</a><a title="Lien permanent" href="#locations" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></code></li><li><code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code></li><li><code class="directive"><a href="./mod/core.html#mutex">Mutex</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#scoreboardfile">ScoreBoardFile</a></code></li><li><code class="directive"><a href="./mod/core.html#serverroot">ServerRoot</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></code></li><li><code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code></li><li><code class="directive"><a href="./mod/core.html#mutex">Mutex</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#scoreboardfile">ScoreBoardFile</a></code></li><li><code class="directive"><a href="./mod/core.html#serverroot">ServerRoot</a></code></li></ul></td></tr></table>
- <p>Ces directives contrôlent la localisation des différents fichiers
- nécessaires au bon fonctionnement de httpd. Quand le chemin utilisé ne
+ <p>Ces directives contrôlent la localisation des différents fichiers
+ nécessaires au bon fonctionnement de httpd. Quand le chemin utilisé ne
commence pas par un slash (/), la localisation des fichiers est relative
- à la valeur de la directive
+ à la valeur de la directive
<code class="directive"><a href="./mod/core.html#serverroot">ServerRoot</a></code>. Soyez prudent avec la
- localisation de fichiers dans des répertoires où les utilisateurs non root
- ont les droits en écriture. Voir la documention sur les
- <a href="misc/security_tips.html#serverroot">Conseils à propos
- de la sécurité</a> pour plus de détails.</p>
+ localisation de fichiers dans des répertoires où les utilisateurs non root
+ ont les droits en écriture. Voir la documention sur les
+ <a href="misc/security_tips.html#serverroot">Conseils à propos
+ de la sécurité</a> pour plus de détails.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="resource" id="resource">Limitation de l'utilisation des ressources</a><a title="Lien permanent" href="#resource" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#limitrequestbody">LimitRequestBody</a></code></li><li><code class="directive"><a href="./mod/core.html#limitrequestfields">LimitRequestFields</a></code></li><li><code class="directive"><a href="./mod/core.html#limitrequestfieldsize">LimitRequestFieldsize</a></code></li><li><code class="directive"><a href="./mod/core.html#limitrequestline">LimitRequestLine</a></code></li><li><code class="directive"><a href="./mod/core.html#rlimitcpu">RLimitCPU</a></code></li><li><code class="directive"><a href="./mod/core.html#rlimitmem">RLimitMEM</a></code></li><li><code class="directive"><a href="./mod/core.html#rlimitnproc">RLimitNPROC</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#threadstacksize">ThreadStackSize</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#limitrequestbody">LimitRequestBody</a></code></li><li><code class="directive"><a href="./mod/core.html#limitrequestfields">LimitRequestFields</a></code></li><li><code class="directive"><a href="./mod/core.html#limitrequestfieldsize">LimitRequestFieldsize</a></code></li><li><code class="directive"><a href="./mod/core.html#limitrequestline">LimitRequestLine</a></code></li><li><code class="directive"><a href="./mod/core.html#rlimitcpu">RLimitCPU</a></code></li><li><code class="directive"><a href="./mod/core.html#rlimitmem">RLimitMEM</a></code></li><li><code class="directive"><a href="./mod/core.html#rlimitnproc">RLimitNPROC</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#threadstacksize">ThreadStackSize</a></code></li></ul></td></tr></table>
<p>Les directives <code class="directive">LimitRequest</code>* permettent de
- limiter la quantité de ressources consommées par httpd pour le traitement
- des requêtes des clients. Cette limitation permet de minimiser les effets
- de certains types d'attaques par déni de service.</p>
+ limiter la quantité de ressources consommées par httpd pour le traitement
+ des requêtes des clients. Cette limitation permet de minimiser les effets
+ de certains types d'attaques par déni de service.</p>
<p>Les directives <code class="directive">RLimit</code>* permettent de limiter la
- quantité de ressources utilisable par les processus initiés (forked) par
- les processus enfants httpd. Elles permettent en particulier de contrôler
- les ressources utilisées par les scripts CGI et les commandes exec des
- "Inclusions côté serveur" (Server Side Includes ou SSI).</p>
+ quantité de ressources utilisable par les processus initiés (forked) par
+ les processus enfants httpd. Elles permettent en particulier de contrôler
+ les ressources utilisées par les scripts CGI et les commandes exec des
+ "Inclusions côté serveur" (Server Side Includes ou SSI).</p>
<p>La directive <code class="directive"><a href="./mod/mpm_common.html#threadstacksize">ThreadStackSize</a></code>
- permet sur certaines plates-formes de contrôler la taille de la pile.</p>
+ permet sur certaines plates-formes de contrôler la taille de la pile.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="implementation" id="implementation">Choix d'implémentation</a><a title="Lien permanent" href="#implementation" class="permalink">¶</a></h2>
+<h2><a name="implementation" id="implementation">Choix d'implémentation</a><a title="Lien permanent" href="#implementation" class="permalink">¶</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#mutex">Mutex</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#mutex">Mutex</a></code></li></ul></td></tr></table>
<p>La directive <code class="directive">Mutex</code> permet de modifier
- l'implémentation sous-jacente des mutex, afin de résoudre les
- problèmes de fonctionnement ou de performance dus au choix par
- défaut d'<a class="glossarylink" href="./glossary.html#apr" title="voir glossaire">APR</a>.</p>
+ l'implémentation sous-jacente des mutex, afin de résoudre les
+ problèmes de fonctionnement ou de performance dus au choix par
+ défaut d'<a class="glossarylink" href="./glossary.html#apr" title="voir glossaire">APR</a>.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/server-wide.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/server-wide.html" title="Français"> fr </a> |
+<a href="./fr/server-wide.html" title="Français"> fr </a> |
<a href="./ja/server-wide.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/server-wide.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/server-wide.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/server-wide.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./de/sitemap.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/sitemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/sitemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/sitemap.html" title="Français"> fr </a> |
+<a href="./es/sitemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/sitemap.html" title="Français"> fr </a> |
<a href="./ja/sitemap.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/sitemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="./zh-cn/sitemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
-<p>Cette page contient la liste des éléments actuellement disponibles de
+<p>Cette page contient la liste des éléments actuellement disponibles de
la <a href="./">Documentation du serveur HTTP Apache Version
2.5</a>.</p>
</div>
<li><img alt="" src="./images/down.gif" /> <a href="#release">Notes de version</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#using">Utilisation du serveur HTTP Apache</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#vhosts">Documentation des serveurs virtuels Apache</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">Guide de réécriture d'URLs</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">Guide de réécriture d'URLs</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#ssl">Chiffrement SSL/TLS avec Apache</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#howto">Guides, Tutoriels, and Recettes</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#platform">Notes spécifiques à certains systèmes</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#programs">Le serveur HTTP Apache et ses programmes associés</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#platform">Notes spécifiques à certains systèmes</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#programs">Le serveur HTTP Apache et ses programmes associés</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#misc">Documentations diverses sur Apache</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#modules">Modules Apache</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#developer">Documentation du développeur</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#developer">Documentation du développeur</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#index">Glossaire et Index</a></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="release" id="release">Notes de version</a></h2>
-<ul><li><a href="upgrading.html">Mise à jour vers 2.4 depuis 2.2</a></li>
-<li><a href="new_features_2_4.html">Nouvelles fonctionnalités d'Apache 2.3/2.4</a></li>
-<li><a href="new_features_2_2.html">Nouvelles fonctionnalités d'Apache 2.1/2.2</a></li>
-<li><a href="new_features_2_0.html">Nouvelles fonctionnalités d'Apache 2.0</a></li>
+<ul><li><a href="upgrading.html">Mise à jour vers 2.4 depuis 2.2</a></li>
+<li><a href="new_features_2_4.html">Nouvelles fonctionnalités d'Apache 2.3/2.4</a></li>
+<li><a href="new_features_2_2.html">Nouvelles fonctionnalités d'Apache 2.1/2.2</a></li>
+<li><a href="new_features_2_0.html">Nouvelles fonctionnalités d'Apache 2.0</a></li>
<li><a href="license.html">License Apache</a></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="using" id="using">Utilisation du serveur HTTP Apache</a></h2>
<ul><li><a href="install.html">Compilation et installation</a></li>
-<li><a href="invoking.html">Démarrage</a></li>
-<li><a href="stopping.html">Arrêt ou redémarrage</a></li>
+<li><a href="invoking.html">Démarrage</a></li>
+<li><a href="stopping.html">Arrêt ou redémarrage</a></li>
<li><a href="configuring.html">Fichiers de configuration</a></li>
<li><a href="sections.html">Comment fonctionnent les sections Directory,
Location et Files</a></li>
<li><a href="caching.html">Mise en cache du contenu</a></li>
<li><a href="server-wide.html">Configuration niveau serveur</a></li>
<li><a href="logs.html">Fichiers de traces</a></li>
-<li><a href="urlmapping.html">Mise en correspondance des URLs avec le système de fichiers</a></li>
-<li><a href="dso.html">Objets Dynamiques Partagés (DSO)</a></li>
-<li><a href="compliance.html">Compatibilité avec le protocole HTTP</a></li>
-<li><a href="content-negotiation.html">Négociation sur le contenu</a></li>
-<li><a href="custom-error.html">Messages d'erreur personnalisés</a></li>
-<li><a href="bind.html">Définition des adresses et ports qu'utilise
+<li><a href="urlmapping.html">Mise en correspondance des URLs avec le système de fichiers</a></li>
+<li><a href="dso.html">Objets Dynamiques Partagés (DSO)</a></li>
+<li><a href="compliance.html">Compatibilité avec le protocole HTTP</a></li>
+<li><a href="content-negotiation.html">Négociation sur le contenu</a></li>
+<li><a href="custom-error.html">Messages d'erreur personnalisés</a></li>
+<li><a href="bind.html">Définition des adresses et ports qu'utilise
Apache</a></li>
<li><a href="mpm.html">Modules multi-processus (MPMs)</a></li>
<li><a href="env.html">Les variables d'environnement d'Apache</a></li>
-<li><a href="expr.html">L'interprétation des expressions dans Apache</a></li>
+<li><a href="expr.html">L'interprétation des expressions dans Apache</a></li>
<li><a href="handler.html">Utilisation des gestionnaires d'Apache</a></li>
<li><a href="filter.html">Filtres</a></li>
-<li><a href="socache.html">Support du cache des objets partagés</a></li>
+<li><a href="socache.html">Support du cache des objets partagés</a></li>
<li><a href="suexec.html">Support de suEXEC</a></li>
-<li><a href="dns-caveats.html">Considérations à propos de DNS et Apache</a></li>
+<li><a href="dns-caveats.html">Considérations à propos de DNS et Apache</a></li>
<li><a href="http://wiki.apache.org/httpd/FAQ">Foire aux Questions</a></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="vhosts" id="vhosts">Documentation des serveurs virtuels Apache</a></h2>
-<ul><li class="separate"><a href="vhosts/">Aperçu</a></li>
-<li><a href="vhosts/name-based.html">Serveurs virtuels basés sur le nom</a></li>
-<li><a href="vhosts/ip-based.html">Support des serveurs virtuels basés
+<ul><li class="separate"><a href="vhosts/">Aperçu</a></li>
+<li><a href="vhosts/name-based.html">Serveurs virtuels basés sur le nom</a></li>
+<li><a href="vhosts/ip-based.html">Support des serveurs virtuels basés
sur l'adresse IP</a></li>
-<li><a href="vhosts/mass.html">Configuration dynamique de l'hébergement
+<li><a href="vhosts/mass.html">Configuration dynamique de l'hébergement
virtuel de masse</a></li>
<li><a href="vhosts/examples.html">Exemples de serveurs virtuels</a></li>
-<li><a href="vhosts/details.html">Discussion approfondie à propos de la
-sélection d'un serveur virtuel</a></li>
-<li><a href="vhosts/fd-limits.html">Limitations inhérentes aux
+<li><a href="vhosts/details.html">Discussion approfondie à propos de la
+sélection d'un serveur virtuel</a></li>
+<li><a href="vhosts/fd-limits.html">Limitations inhérentes aux
descripteurs de fichiers</a></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="rewrite" id="rewrite">Guide de réécriture d'URLs</a></h2>
+<div class="section"><h2><a name="rewrite" id="rewrite">Guide de réécriture d'URLs</a></h2>
<ul><li class="separate"><a href="rewrite/">Survol</a></li>
-<li><a href="mod/mod_rewrite.html">Documentation de référence de mod_rewrite</a></li>
-<li><a href="rewrite/intro.html">Introduction à l'utilisation des expressions
+<li><a href="mod/mod_rewrite.html">Documentation de référence de mod_rewrite</a></li>
+<li><a href="rewrite/intro.html">Introduction à l'utilisation des expressions
rationnelles avec mod_rewrite</a></li>
<li><a href="rewrite/remapping.html">Utilisation de mod_rewrite pour les
redirections et la traduction des URLs</a></li>
-<li><a href="rewrite/access.html">Utilisation de mod_rewrite pour le contrôle d'accès</a></li>
+<li><a href="rewrite/access.html">Utilisation de mod_rewrite pour le contrôle d'accès</a></li>
<li><a href="rewrite/vhosts.html">Les serveurs virtuels dynamique avec mod_rewrite</a></li>
<li><a href="rewrite/proxy.html">Le mandat dynamique avec mod_rewrite</a></li>
<li><a href="rewrite/rewritemap.html">Utilisation d'une table de
-réécriture</a></li>
-<li><a href="rewrite/advanced.html">Techniques avancées</a></li>
+réécriture</a></li>
+<li><a href="rewrite/advanced.html">Techniques avancées</a></li>
<li><a href="rewrite/avoid.html">Quand ne pas utiliser mod_rewrite</a></li>
-<li><a href="rewrite/flags.html">Drapeaux de réécriture</a></li>
-<li><a href="rewrite/tech.html">Détails techniques</a></li>
+<li><a href="rewrite/flags.html">Drapeaux de réécriture</a></li>
+<li><a href="rewrite/tech.html">Détails techniques</a></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="ssl" id="ssl">Chiffrement SSL/TLS avec Apache</a></h2>
-<ul><li class="separate"><a href="ssl/">Aperçu</a></li>
+<ul><li class="separate"><a href="ssl/">Aperçu</a></li>
<li><a href="ssl/ssl_intro.html">Chiffrement SSL/TLS :
Introduction</a></li>
<li><a href="ssl/ssl_compat.html">Chiffrement SSL/TLS :
-Compatibilité</a></li>
+Compatibilité</a></li>
<li><a href="ssl/ssl_howto.html">Chiffrement SSL/TLS : Recettes</a></li>
<li><a href="ssl/ssl_faq.html">Chiffrement SSL/TLS : FAQ</a></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="howto" id="howto">Guides, Tutoriels, and Recettes</a></h2>
-<ul><li class="separate"><a href="howto/">Aperçu</a></li>
+<ul><li class="separate"><a href="howto/">Aperçu</a></li>
<li><a href="howto/auth.html">Authentification et autorisation</a></li>
-<li><a href="howto/access.html">Contrôle d'accès</a></li>
+<li><a href="howto/access.html">Contrôle d'accès</a></li>
<li><a href="howto/cgi.html">Contenu dynamique avec CGI</a></li>
-<li><a href="howto/ssi.html">Introduction aux Inclusions côté serveur
+<li><a href="howto/ssi.html">Introduction aux Inclusions côté serveur
(Server Side Includes - SSI)</a></li>
<li><a href="howto/htaccess.html">Fichiers .htaccess</a></li>
-<li><a href="howto/public_html.html">Répertoires web des
+<li><a href="howto/public_html.html">Répertoires web des
utilisateurs</a></li>
<li><a href="howto/reverse_proxy.html">Guide de configuration des mandataires
inverses</a></li>
<li><a href="howto/http2.html">Guide HTTP/2</a></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="platform" id="platform">Notes spécifiques à certains systèmes</a></h2>
-<ul><li class="separate"><a href="platform/">Aperçu</a></li>
+<div class="section"><h2><a name="platform" id="platform">Notes spécifiques à certains systèmes</a></h2>
+<ul><li class="separate"><a href="platform/">Aperçu</a></li>
<li><a href="platform/windows.html">Utiliser Apache avec Microsoft
Windows</a></li>
<li><a href="platform/win_compiling.html">Compiler Apache pour
Microsoft Windows</a></li>
-<li><a href="platform/rpm.html">Utilisation d'Apache avec les systèmes à
+<li><a href="platform/rpm.html">Utilisation d'Apache avec les systèmes à
base de paquets RPM</a></li>
<li><a href="platform/netware.html">Utiliser Apache avec Novell
NetWare</a></li>
hautes performances sous HPUX</a></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="programs" id="programs">Le serveur HTTP Apache et ses programmes associés</a></h2>
-<ul><li class="separate"><a href="programs/">Aperçu</a></li>
+<div class="section"><h2><a name="programs" id="programs">Le serveur HTTP Apache et ses programmes associés</a></h2>
+<ul><li class="separate"><a href="programs/">Aperçu</a></li>
<li><a href="programs/httpd.html">Page de manuel : httpd</a></li>
<li><a href="programs/ab.html">Page de manuel : ab</a></li>
<li><a href="programs/apachectl.html">Page de manuel : apachectl</a></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="misc" id="misc">Documentations diverses sur Apache</a></h2>
-<ul><li class="separate"><a href="misc/">Aperçu</a></li>
-<li><a href="misc/perf-tuning.html">Considérations à propos des
+<ul><li class="separate"><a href="misc/">Aperçu</a></li>
+<li><a href="misc/perf-tuning.html">Considérations à propos des
performances - Configuration fine d'Apache</a></li>
-<li><a href="misc/perf-scaling.html">Amélioration des performances</a></li>
-<li><a href="misc/security_tips.html">Conseils en matière de sécurité</a></li>
-<li><a href="misc/relevant_standards.html">Standards concernés</a></li>
+<li><a href="misc/perf-scaling.html">Amélioration des performances</a></li>
+<li><a href="misc/security_tips.html">Conseils en matière de sécurité</a></li>
+<li><a href="misc/relevant_standards.html">Standards concernés</a></li>
<li><a href="misc/password_encryptions.html">Formats de chiffrement des
mots de passe</a></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="modules" id="modules">Modules Apache</a></h2>
-<ul><li><a href="mod/module-dict.html">Définitions des termes utilisés pour
-décrire les modules Apache</a></li>
-<li><a href="mod/directive-dict.html">Définitions des termes utilisés
-pour décrire les directives Apache</a></li>
-</ul><ul><li><a href="mod/core.html">Fonctionalités de Base Apache</a></li>
+<ul><li><a href="mod/module-dict.html">Définitions des termes utilisés pour
+décrire les modules Apache</a></li>
+<li><a href="mod/directive-dict.html">Définitions des termes utilisés
+pour décrire les directives Apache</a></li>
+</ul><ul><li><a href="mod/core.html">Fonctionalités de Base Apache</a></li>
<li><a href="mod/mpm_common.html">Apache MPM : Directives Communes</a></li>
<li><a href="mod/event.html">Apache MPM event</a></li>
<li><a href="mod/mpm_netware.html">Apache MPM netware</a></li>
<li><a href="mod/mod_xml2enc.html">Module Apache mod_xml2enc</a></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="developer" id="developer">Documentation du développeur</a></h2>
-<ul><li class="separate"><a href="developer/">Aperçu</a></li>
+<div class="section"><h2><a name="developer" id="developer">Documentation du développeur</a></h2>
+<ul><li class="separate"><a href="developer/">Aperçu</a></li>
<li><a href="developer/API.html">Notes sur l'API Apache</a></li>
-<li><a href="developer/new_api_2_4.html">Mises à jour de l'API dans Apache HTTPD 2.4</a></li>
-<li><a href="developer/modguide.html">Développement de modules pour Apache HTTPD 2.4</a></li>
+<li><a href="developer/new_api_2_4.html">Mises à jour de l'API dans Apache HTTPD 2.4</a></li>
+<li><a href="developer/modguide.html">Développement de modules pour Apache HTTPD 2.4</a></li>
<li><a href="developer/documenting.html">Documentation d'Apache HTTPD</a></li>
<li><a href="developer/hooks.html">Fonctions d'accroche (Hook Functions)
d'Apache 2.x</a></li>
<li><a href="developer/modules.html">Convertir un module depuis la
version 1.3 vers la version 2.x</a></li>
-<li><a href="developer/request.html">Traitement des requêtes avec
+<li><a href="developer/request.html">Traitement des requêtes avec
la version 2.x</a></li>
<li><a href="developer/filters.html">Fonctionnement des filtres dans la
version 2.x</a></li>
<li><a href="developer/output-filters.html">Guide des filtres en sortie
dans la version 2.x</a></li>
-<li><a href="developer/thread_safety.html">Sécurité des
+<li><a href="developer/thread_safety.html">Sécurité des
threads dans la version 2.x</a></li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<ul><li><a href="glossary.html">Glossaire</a></li>
<li><a href="mod/">Index des modules</a></li>
<li><a href="mod/directives.html">Index des directives</a></li>
-<li><a href="mod/quickreference.html">Référence rapide des directives</a></li>
+<li><a href="mod/quickreference.html">Référence rapide des directives</a></li>
<li><a href="mod/overrides.html">Index de la classe Override pour .htaccess</a></li>
</ul>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./de/sitemap.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/sitemap.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/sitemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/sitemap.html" title="Français"> fr </a> |
+<a href="./es/sitemap.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/sitemap.html" title="Français"> fr </a> |
<a href="./ja/sitemap.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/sitemap.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="./zh-cn/sitemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Le cache des objets partagés du serveur HTTP Apache - Serveur Apache HTTP Version 2.5</title>
+<title>Le cache des objets partagés du serveur HTTP Apache - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Le cache des objets partagés du serveur HTTP Apache</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Le cache des objets partagés du serveur HTTP Apache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/socache.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/socache.html" title="Français"> fr </a></p>
+<a href="./fr/socache.html" title="Français"> fr </a></p>
</div>
- <p>Le cache des objets partagés est un concept de partage de données
- de base entre tous les processus d'un serveur, sans se préoccuper du
- <a href="mpm.html">modèle de threads et de processus</a>. On
- l'utilise lorsque les avantages apportés par le partage de données
- entre processus contrebalance la perte de performances consécutive à
+ <p>Le cache des objets partagés est un concept de partage de données
+ de base entre tous les processus d'un serveur, sans se préoccuper du
+ <a href="mpm.html">modèle de threads et de processus</a>. On
+ l'utilise lorsque les avantages apportés par le partage de données
+ entre processus contrebalance la perte de performances consécutive à
la communication interprocessus.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="providers" id="providers">Fournisseurs du cache d'objets partagés</a><a title="Lien permanent" href="#providers" class="permalink">¶</a></h2>
+<h2><a name="providers" id="providers">Fournisseurs du cache d'objets partagés</a><a title="Lien permanent" href="#providers" class="permalink">¶</a></h2>
- <p>Le cache d'objets partagés en tant que tel est une abstraction.
- Il est implémenté par quatre modules différents. Pour pouvoir
- utiliser le cache, un ou plusieurs de ces modules doivent être
- présents et configurés.</p>
- <p>Le seul élément de configuration consiste à définir le
- fournisseur de cache à utiliser. Ceci est de la responsabilité des
+ <p>Le cache d'objets partagés en tant que tel est une abstraction.
+ Il est implémenté par quatre modules différents. Pour pouvoir
+ utiliser le cache, un ou plusieurs de ces modules doivent être
+ présents et configurés.</p>
+ <p>Le seul élément de configuration consiste à définir le
+ fournisseur de cache à utiliser. Ceci est de la responsabilité des
modules qui utilisent le cache, et pour cela, ils activent la
- sélection via des directives telles que <code class="directive"><a href="./mod/mod_cache_socache.html#cachesocache">CacheSocache</a></code>, <code class="directive"><a href="./mod/mod_authn_socache.html#authncachesocache">AuthnCacheSOCache</a></code>, <code class="directive"><a href="./mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code>, et <code class="directive"><a href="./mod/mod_ssl.html#sslstaplingcache">SSLStaplingCache</a></code>.</p>
+ sélection via des directives telles que <code class="directive"><a href="./mod/mod_cache_socache.html#cachesocache">CacheSocache</a></code>, <code class="directive"><a href="./mod/mod_authn_socache.html#authncachesocache">AuthnCacheSOCache</a></code>, <code class="directive"><a href="./mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code>, et <code class="directive"><a href="./mod/mod_ssl.html#sslstaplingcache">SSLStaplingCache</a></code>.</p>
<p>Les fournisseurs actuellement disponibles sont :</p>
<dl>
<dt>"dbm" (<code class="module"><a href="./mod/mod_socache_dbm.html">mod_socache_dbm</a></code>)</dt>
<dd>Celui-ci utilise un fichier de hashage DBM. Le choix de la
- DBM sous-jacente peut être configurable si la version
- d'APR installée supporte de multiples implémentations de DBM.</dd>
+ DBM sous-jacente peut être configurable si la version
+ d'APR installée supporte de multiples implémentations de DBM.</dd>
<dt>"dc" (<code class="module"><a href="./mod/mod_socache_dc.html">mod_socache_dc</a></code>)</dt>
- <dd>Celui-ci utilise les bibliothèques de mise en cache de sessions
- distribuées <a href="http://distcache.sourceforge.net/">distcache</a>.</dd>
+ <dd>Celui-ci utilise les bibliothèques de mise en cache de sessions
+ distribuées <a href="http://distcache.sourceforge.net/">distcache</a>.</dd>
<dt>"memcache" (<code class="module"><a href="./mod/mod_socache_memcache.html">mod_socache_memcache</a></code>)</dt>
- <dd>Celui-ci utilise le système à hautes performances de mise en
- cache d'objets de mémoire distribuée <a href="http://memcached.org/">memcached</a>.</dd>
+ <dd>Celui-ci utilise le système à hautes performances de mise en
+ cache d'objets de mémoire distribuée <a href="http://memcached.org/">memcached</a>.</dd>
<dt>"redis" (<code class="module"><a href="./mod/mod_socache_redis.html">mod_socache_redis</a></code>)</dt>
- <dd>Celui-ci utilise le système de mise en cache d'objets de mémoire
- distribuée à hautes performances <a href="http://redis.io/">Redis</a>.</dd>
+ <dd>Celui-ci utilise le système de mise en cache d'objets de mémoire
+ distribuée à hautes performances <a href="http://redis.io/">Redis</a>.</dd>
<dt>"shmcb" (<code class="module"><a href="./mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code>)</dt>
- <dd>Celui-ci utilise un tampon cyclique à hautes performances au
- sein d'un segment de mémoire partagée.</dd>
+ <dd>Celui-ci utilise un tampon cyclique à hautes performances au
+ sein d'un segment de mémoire partagée.</dd>
</dl>
<p>L'API fournit les fonctions suivantes :</p>
<dl>
<dt>const char *create(ap_socache_instance_t **instance, const char *arg,
apr_pool_t *tmp, apr_pool_t *p);</dt>
- <dd>Cette fonction permet de créer un cache de session basé sur
- la chaîne de configuration spécifiée. Le pointeur d'instance
- renvoyé dans le paramètre instance sera passé comme premier
- argument des invocations subséquentes.</dd>
+ <dd>Cette fonction permet de créer un cache de session basé sur
+ la chaîne de configuration spécifiée. Le pointeur d'instance
+ renvoyé dans le paramètre instance sera passé comme premier
+ argument des invocations subséquentes.</dd>
<dt>apr_status_t init(ap_socache_instance_t *instance, const char *cname,
const struct ap_socache_hints *hints,
server_rec *s, apr_pool_t *pool)</dt>
<dd>Cette fonction permet d'initialiser le cache. L'argument cname
- doit avoir une longueur maximale de 16 caractères et permet
- d'identifier de manière unique l'utilisateur du cache au sein du
- serveur ; il est recommandé d'utiliser le nom du module, par
- exemple "mod_ssl-sess". Comme cette chaîne peut être utilisée au
- sein d'un système de fichiers, il est conseillé de n'utiliser que
- des caractères alphanumériques [a-z0-9_-]. Si l'argument hints
- n'est pas égal à NULL, il fournit un ensemble d'indications au
- fournisseur. La valeur retournée est le code d'erreur APR.</dd>
+ doit avoir une longueur maximale de 16 caractères et permet
+ d'identifier de manière unique l'utilisateur du cache au sein du
+ serveur ; il est recommandé d'utiliser le nom du module, par
+ exemple "mod_ssl-sess". Comme cette chaîne peut être utilisée au
+ sein d'un système de fichiers, il est conseillé de n'utiliser que
+ des caractères alphanumériques [a-z0-9_-]. Si l'argument hints
+ n'est pas égal à NULL, il fournit un ensemble d'indications au
+ fournisseur. La valeur retournée est le code d'erreur APR.</dd>
<dt>void destroy(ap_socache_instance_t *instance, server_rec *s)</dt>
- <dd>Cette fonction permet de détruire l'instance de cache
- spécifiée.</dd>
+ <dd>Cette fonction permet de détruire l'instance de cache
+ spécifiée.</dd>
<dt>apr_status_t store(ap_socache_instance_t *instance, server_rec *s,
const unsigned char *id, unsigned int idlen,
<dd>Supprime un objet du cache.</dd>
<dt>void status(ap_socache_instance_t *instance, request_rec *r, int flags)</dt>
- <dd>Descend le détail d'une instance de cache à destination de mod_status.</dd>
+ <dd>Descend le détail d'une instance de cache à destination de mod_status.</dd>
<dt>apr_status_t iterate(ap_socache_instance_t *instance, server_rec *s,
void *userctx, ap_socache_iterator_t *iterator,
apr_pool_t *pool)</dt>
- <dd>Descend tous les objets en cache à destination d'une fonction <code>iterator callback</code>.</dd>
+ <dd>Descend tous les objets en cache à destination d'une fonction <code>iterator callback</code>.</dd>
</dl>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/socache.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/socache.html" title="Français"> fr </a></p>
+<a href="./fr/socache.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Apache et le Chiffrement SSL/TLS</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/ssl/" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/ssl/" title="Français"> fr </a> |
+<a href="../es/ssl/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/ssl/" title="Français"> fr </a> |
<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
-<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/ssl/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
<p>Le module <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> du serveur HTTP Apache fournit une
-interface avec la bibliothèque <a href="http://www.openssl.org/">OpenSSL</a>, qui permet d'effectuer un
-chiffrement fort en s'appuyant sur les protocoles "Couche Points d'accès
-Sécurisés" (Secure Sockets Layer - SSL) et "Sécurité de la Couche Transport"
+interface avec la bibliothèque <a href="http://www.openssl.org/">OpenSSL</a>, qui permet d'effectuer un
+chiffrement fort en s'appuyant sur les protocoles "Couche Points d'accès
+Sécurisés" (Secure Sockets Layer - SSL) et "Sécurité de la Couche Transport"
(Transport Layer Security - TLS).</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#documentation">Documentation</a></li>
<h2><a name="documentation" id="documentation">Documentation</a><a title="Lien permanent" href="#documentation" class="permalink">¶</a></h2>
<ul>
<li><a href="ssl_howto.html">Comment configurer SSL ?</a></li>
-<li><a href="ssl_intro.html">Introduction à SSL</a></li>
-<li><a href="ssl_compat.html">Compatibilité</a></li>
+<li><a href="ssl_intro.html">Introduction à SSL</a></li>
+<li><a href="ssl_compat.html">Compatibilité</a></li>
<li><a href="ssl_faq.html">Foire aux questions</a></li>
<li><a href="../glossary.html">Glossaire</a></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="mod-ssl" id="mod-ssl">mod_ssl</a><a title="Lien permanent" href="#mod-ssl" class="permalink">¶</a></h2>
-<p>La documentation complète sur les directives et les variables
+<p>La documentation complète sur les directives et les variables
d'environnement fournies par ce module se trouve dans la
-<a href="../mod/mod_ssl.html">documentation de référence de mod_ssl</a>.
+<a href="../mod/mod_ssl.html">documentation de référence de mod_ssl</a>.
</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/ssl/" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/ssl/" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/ssl/" title="Français"> fr </a> |
+<a href="../es/ssl/" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/ssl/" title="Français"> fr </a> |
<a href="../ja/ssl/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
-<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../tr/ssl/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/ssl/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Chiffrement fort SSL/TLS : Compatibilité - Serveur Apache HTTP Version 2.5</title>
+<title>Chiffrement fort SSL/TLS : Compatibilité - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">SSL/TLS</a></div><div id="page-content"><div id="preamble"><h1>Chiffrement fort SSL/TLS : Compatibilité</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">SSL/TLS</a></div><div id="page-content"><div id="preamble"><h1>Chiffrement fort SSL/TLS : Compatibilité</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/ssl/ssl_compat.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/ssl/ssl_compat.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/ssl/ssl_compat.html" title="Français"> fr </a></p>
+<a href="../es/ssl/ssl_compat.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/ssl/ssl_compat.html" title="Français"> fr </a></p>
</div>
-<p>Ce document couvre la compatibilité ascendante entre mod_ssl et
+<p>Ce document couvre la compatibilité ascendante entre mod_ssl et
d'autres solutions SSL. mod_ssl n'est pas la seule solution SSL pour Apache ;
-quatre autres produits sont (ou ont été) également disponibles :
+quatre autres produits sont (ou ont été) également disponibles :
<a href="http://www.apache-ssl.org/">Apache-SSL</a>, le produit libre de
-Ben Laurie (d'où mod_ssl est issu à l'origine en 1998), Secure
-Web Server, un produit commercial de Red Hat (basé sur mod_ssl),
+Ben Laurie (d'où mod_ssl est issu à l'origine en 1998), Secure
+Web Server, un produit commercial de Red Hat (basé sur mod_ssl),
Raven SSL Module, un produit commercial
-de Covalent (basé lui aussi sur mod_ssl), et enfin <a href="http://www.redhat.com/explore/stronghold/">Stronghold</a>, produit
-commercial de C2Net et maintenant de Red Hat, (basé sur une branche
-d'évolution différente appelée Sioux jusqu'à Stronghold 2.x et basé sur
+de Covalent (basé lui aussi sur mod_ssl), et enfin <a href="http://www.redhat.com/explore/stronghold/">Stronghold</a>, produit
+commercial de C2Net et maintenant de Red Hat, (basé sur une branche
+d'évolution différente appelée Sioux jusqu'à Stronghold 2.x et basé sur
mod_ssl depuis Stronghold 3.x).</p>
-<p>En plus de ses fonctionnalités propres, mod_ssl rassemble la plupart de
-celles des autres solutions SSL, si bien qu'il est très simple de
+<p>En plus de ses fonctionnalités propres, mod_ssl rassemble la plupart de
+celles des autres solutions SSL, si bien qu'il est très simple de
migrer depuis un module plus ancien vers mod_ssl. Les directives de
-configuration et les noms des variables d'environnement utilisés par les
-solutions SSL plus anciennes diffèrent de ceux qu'utilise mod_ssl ;
-les tableaux de correspondance ci-dessous fournissent les équivalences
-de termes utilisés par mod_ssl.</p>
+configuration et les noms des variables d'environnement utilisés par les
+solutions SSL plus anciennes diffèrent de ceux qu'utilise mod_ssl ;
+les tableaux de correspondance ci-dessous fournissent les équivalences
+de termes utilisés par mod_ssl.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configuration">Directives de configuration</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#variables">Variables d'environnement</a></li>
<p>La correspondance entre les directives de configuration qu'utilise
Apache-SSL 1.x et mod_ssl 2.0.x est fournie dans le <a href="#table1">Tableau
1</a>. La correspondance depuis Sioux 1.x et Stronghold 2.x n'est que
-partielle car certaines fonctionnalités de ces interfaces ne sont pas
-supportées par mod_ssl.</p>
+partielle car certaines fonctionnalités de ces interfaces ne sont pas
+supportées par mod_ssl.</p>
<h3><a name="table1" id="table1">Tableau 1: Correspondance entre les directives de configuration</a></h3>
<table><tr class="header"><th>Ancienne directive</th><th>Directive mod_ssl</th><th>Commentaires</th></tr>
-<tr class="header"><th colspan="3">Compatibilité entre Apache-SSL 1.x et mod_ssl 2.0.x :</th></tr>
+<tr class="header"><th colspan="3">Compatibilité entre Apache-SSL 1.x et mod_ssl 2.0.x :</th></tr>
<tr><td><code>SSLEnable</code></td><td><code>SSLEngine on</code></td><td>plus compacte</td></tr>
<tr class="odd"><td><code>SSLDisable</code></td><td><code>SSLEngine off</code></td><td>plus compacte</td></tr>
<tr><td><code>SSLLogFile</code>
-<em>file</em></td><td><code /></td><td>Utilisez plutôt la directive
+<em>file</em></td><td><code /></td><td>Utilisez plutôt la directive
de niveau module <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code>.</td></tr>
-<tr class="odd"><td><code>SSLRequiredCiphers</code> <em>spec</em></td><td><code>SSLCipherSuite</code> <em>spec</em></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSLRequiredCiphers</code> <em>spec</em></td><td><code>SSLCipherSuite</code> <em>spec</em></td><td>renommée</td></tr>
<tr><td><code>SSLRequireCipher</code> <em>c1</em> ...</td><td><code>SSLRequire %{SSL_CIPHER} in {"</code><em>c1</em><code>",
-...}</code></td><td>plus générale</td></tr>
+...}</code></td><td>plus générale</td></tr>
<tr class="odd"><td><code>SSLBanCipher</code> <em>c1</em> ...</td><td><code>SSLRequire not (%{SSL_CIPHER} in {"</code><em>c1</em><code>",
-...})</code></td><td>plus générale</td></tr>
-<tr><td><code>SSLFakeBasicAuth</code></td><td><code>SSLOptions +FakeBasicAuth</code></td><td>rassemblées</td></tr>
-<tr class="odd"><td><code>SSLCacheServerPath</code> <em>dir</em></td><td>-</td><td>fonctionnalité supprimée</td></tr>
-<tr><td><code>SSLCacheServerPort</code> <em>integer</em></td><td>-</td><td>fonctionnalité supprimée</td></tr>
-<tr class="header"><th colspan="3">Compatibilité avec Apache-SSL 1.x :</th></tr>
-<tr class="odd"><td><code>SSLExportClientCertificates</code></td><td><code>SSLOptions +ExportCertData</code></td><td>rassemblées</td></tr>
-<tr><td><code>SSLCacheServerRunDir</code> <em>dir</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
-<tr class="header"><th colspan="3">Compatibilité avec Sioux 1.x :</th></tr>
-<tr class="odd"><td><code>SSL_CertFile</code> <em>file</em></td><td><code>SSLCertificateFile</code> <em>file</em></td><td>renommée</td></tr>
-<tr><td><code>SSL_KeyFile</code> <em>file</em></td><td><code>SSLCertificateKeyFile</code> <em>file</em></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_CipherSuite</code> <em>arg</em></td><td><code>SSLCipherSuite</code> <em>arg</em></td><td>renommée</td></tr>
-<tr><td><code>SSL_X509VerifyDir</code> <em>arg</em></td><td><code>SSLCACertificatePath</code> <em>arg</em></td><td>renommée</td></tr>
+...})</code></td><td>plus générale</td></tr>
+<tr><td><code>SSLFakeBasicAuth</code></td><td><code>SSLOptions +FakeBasicAuth</code></td><td>rassemblées</td></tr>
+<tr class="odd"><td><code>SSLCacheServerPath</code> <em>dir</em></td><td>-</td><td>fonctionnalité supprimée</td></tr>
+<tr><td><code>SSLCacheServerPort</code> <em>integer</em></td><td>-</td><td>fonctionnalité supprimée</td></tr>
+<tr class="header"><th colspan="3">Compatibilité avec Apache-SSL 1.x :</th></tr>
+<tr class="odd"><td><code>SSLExportClientCertificates</code></td><td><code>SSLOptions +ExportCertData</code></td><td>rassemblées</td></tr>
+<tr><td><code>SSLCacheServerRunDir</code> <em>dir</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr class="header"><th colspan="3">Compatibilité avec Sioux 1.x :</th></tr>
+<tr class="odd"><td><code>SSL_CertFile</code> <em>file</em></td><td><code>SSLCertificateFile</code> <em>file</em></td><td>renommée</td></tr>
+<tr><td><code>SSL_KeyFile</code> <em>file</em></td><td><code>SSLCertificateKeyFile</code> <em>file</em></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CipherSuite</code> <em>arg</em></td><td><code>SSLCipherSuite</code> <em>arg</em></td><td>renommée</td></tr>
+<tr><td><code>SSL_X509VerifyDir</code> <em>arg</em></td><td><code>SSLCACertificatePath</code> <em>arg</em></td><td>renommée</td></tr>
<tr class="odd"><td><code>SSL_Log</code>
-<em>file</em></td><td><code>-</code></td><td>Utilisez plutôt la directive
+<em>file</em></td><td><code>-</code></td><td>Utilisez plutôt la directive
de niveau module <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code></td></tr>
-<tr><td><code>SSL_Connect</code> <em>flag</em></td><td><code>SSLEngine</code> <em>flag</em></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_ClientAuth</code> <em>arg</em></td><td><code>SSLVerifyClient</code> <em>arg</em></td><td>renommée</td></tr>
-<tr><td><code>SSL_X509VerifyDepth</code> <em>arg</em></td><td><code>SSLVerifyDepth</code> <em>arg</em></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_FetchKeyPhraseFrom</code> <em>arg</em></td><td>-</td><td>pas de véritable équivalent ; utiliser SSLPassPhraseDialog</td></tr>
-<tr><td><code>SSL_SessionDir</code> <em>dir</em></td><td>-</td><td>pas de véritable équivalent ; utiliser SSLSessionCache</td></tr>
-<tr class="odd"><td><code>SSL_Require</code> <em>expr</em></td><td>-</td><td>pas de véritable équivalent ; utiliser SSLRequire</td></tr>
-<tr><td><code>SSL_CertFileType</code> <em>arg</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
-<tr class="odd"><td><code>SSL_KeyFileType</code> <em>arg</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
-<tr><td><code>SSL_X509VerifyPolicy</code> <em>arg</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
-<tr class="odd"><td><code>SSL_LogX509Attributes</code> <em>arg</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
-<tr class="header"><th colspan="3">Compatibilité avec Stronghold 2.x :</th></tr>
-<tr><td><code>StrongholdAccelerator</code> <em>engine</em></td><td><code>SSLCryptoDevice</code> <em>engine</em></td><td>renommée</td></tr>
+<tr><td><code>SSL_Connect</code> <em>flag</em></td><td><code>SSLEngine</code> <em>flag</em></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_ClientAuth</code> <em>arg</em></td><td><code>SSLVerifyClient</code> <em>arg</em></td><td>renommée</td></tr>
+<tr><td><code>SSL_X509VerifyDepth</code> <em>arg</em></td><td><code>SSLVerifyDepth</code> <em>arg</em></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_FetchKeyPhraseFrom</code> <em>arg</em></td><td>-</td><td>pas de véritable équivalent ; utiliser SSLPassPhraseDialog</td></tr>
+<tr><td><code>SSL_SessionDir</code> <em>dir</em></td><td>-</td><td>pas de véritable équivalent ; utiliser SSLSessionCache</td></tr>
+<tr class="odd"><td><code>SSL_Require</code> <em>expr</em></td><td>-</td><td>pas de véritable équivalent ; utiliser SSLRequire</td></tr>
+<tr><td><code>SSL_CertFileType</code> <em>arg</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr class="odd"><td><code>SSL_KeyFileType</code> <em>arg</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr><td><code>SSL_X509VerifyPolicy</code> <em>arg</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr class="odd"><td><code>SSL_LogX509Attributes</code> <em>arg</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr class="header"><th colspan="3">Compatibilité avec Stronghold 2.x :</th></tr>
+<tr><td><code>StrongholdAccelerator</code> <em>engine</em></td><td><code>SSLCryptoDevice</code> <em>engine</em></td><td>renommée</td></tr>
<tr class="odd"><td><code>StrongholdKey</code> <em>dir</em></td><td>-</td><td>sans objet</td></tr>
<tr><td><code>StrongholdLicenseFile</code> <em>dir</em></td><td>-</td><td>sans objet</td></tr>
-<tr class="odd"><td><code>SSLFlag</code> <em>flag</em></td><td><code>SSLEngine</code> <em>flag</em></td><td>renommée</td></tr>
-<tr><td><code>SSLSessionLockFile</code> <em>file</em></td><td><code>SSLMutex</code> <em>file</em></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSLCipherList</code> <em>spec</em></td><td><code>SSLCipherSuite</code> <em>spec</em></td><td>renommée</td></tr>
-<tr><td><code>RequireSSL</code></td><td><code>SSLRequireSSL</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSLErrorFile</code> <em>file</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
-<tr><td><code>SSLRoot</code> <em>dir</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
-<tr class="odd"><td><code>SSL_CertificateLogDir</code> <em>dir</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
-<tr><td><code>AuthCertDir</code> <em>dir</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
-<tr class="odd"><td><code>SSL_Group</code> <em>name</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
-<tr><td><code>SSLProxyMachineCertPath</code> <em>dir</em></td><td><code>SSLProxyMachineCertificatePath</code> <em>dir</em></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSLProxyMachineCertFile</code> <em>file</em></td><td><code>SSLProxyMachineCertificateFile</code> <em>file</em></td><td>renommée</td></tr>
-<tr><td><code>SSLProxyCipherList</code> <em>spec</em></td><td><code>SSLProxyCipherSpec</code> <em>spec</em></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSLFlag</code> <em>flag</em></td><td><code>SSLEngine</code> <em>flag</em></td><td>renommée</td></tr>
+<tr><td><code>SSLSessionLockFile</code> <em>file</em></td><td><code>SSLMutex</code> <em>file</em></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSLCipherList</code> <em>spec</em></td><td><code>SSLCipherSuite</code> <em>spec</em></td><td>renommée</td></tr>
+<tr><td><code>RequireSSL</code></td><td><code>SSLRequireSSL</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSLErrorFile</code> <em>file</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr><td><code>SSLRoot</code> <em>dir</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr class="odd"><td><code>SSL_CertificateLogDir</code> <em>dir</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr><td><code>AuthCertDir</code> <em>dir</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr class="odd"><td><code>SSL_Group</code> <em>name</em></td><td>-</td><td>fonctionnalité non supportée</td></tr>
+<tr><td><code>SSLProxyMachineCertPath</code> <em>dir</em></td><td><code>SSLProxyMachineCertificatePath</code> <em>dir</em></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSLProxyMachineCertFile</code> <em>file</em></td><td><code>SSLProxyMachineCertificateFile</code> <em>file</em></td><td>renommée</td></tr>
+<tr><td><code>SSLProxyCipherList</code> <em>spec</em></td><td><code>SSLProxyCipherSpec</code> <em>spec</em></td><td>renommée</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="variables" id="variables">Variables d'environnement</a><a title="Lien permanent" href="#variables" class="permalink">¶</a></h2>
-<p>La correspondance entre les noms des variables d'environnement utilisés par
-les solutions SSL plus anciennes et les noms utilisés par mod_ssl est fournie
+<p>La correspondance entre les noms des variables d'environnement utilisés par
+les solutions SSL plus anciennes et les noms utilisés par mod_ssl est fournie
dans le <a href="#table2">Tableau 2</a>.</p>
-<h3><a name="table2" id="table2">Tableau 2: Dérivation des variables d'environnement</a></h3>
+<h3><a name="table2" id="table2">Tableau 2: Dérivation des variables d'environnement</a></h3>
<table><tr class="header"><th>Ancienne variable</th><th>Variable mod_ssl</th><th>Commentaires</th></tr>
-<tr><td><code>SSL_PROTOCOL_VERSION</code></td><td><code>SSL_PROTOCOL</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSLEAY_VERSION</code></td><td><code>SSL_VERSION_LIBRARY</code></td><td>renommée</td></tr>
-<tr><td><code>HTTPS_SECRETKEYSIZE</code></td><td><code>SSL_CIPHER_USEKEYSIZE</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>HTTPS_KEYSIZE</code></td><td><code>SSL_CIPHER_ALGKEYSIZE</code></td><td>renommée</td></tr>
-<tr><td><code>HTTPS_CIPHER</code></td><td><code>SSL_CIPHER</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>HTTPS_EXPORT</code></td><td><code>SSL_CIPHER_EXPORT</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_SERVER_KEY_SIZE</code></td><td><code>SSL_CIPHER_ALGKEYSIZE</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_SERVER_CERTIFICATE</code></td><td><code>SSL_SERVER_CERT</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_SERVER_CERT_START</code></td><td><code>SSL_SERVER_V_START</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_SERVER_CERT_END</code></td><td><code>SSL_SERVER_V_END</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_SERVER_CERT_SERIAL</code></td><td><code>SSL_SERVER_M_SERIAL</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_SERVER_SIGNATURE_ALGORITHM</code></td><td><code>SSL_SERVER_A_SIG</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_SERVER_DN</code></td><td><code>SSL_SERVER_S_DN</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_SERVER_CN</code></td><td><code>SSL_SERVER_S_DN_CN</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_SERVER_EMAIL</code></td><td><code>SSL_SERVER_S_DN_Email</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_SERVER_O</code></td><td><code>SSL_SERVER_S_DN_O</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_SERVER_OU</code></td><td><code>SSL_SERVER_S_DN_OU</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_SERVER_C</code></td><td><code>SSL_SERVER_S_DN_C</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_SERVER_SP</code></td><td><code>SSL_SERVER_S_DN_SP</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_SERVER_L</code></td><td><code>SSL_SERVER_S_DN_L</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_SERVER_IDN</code></td><td><code>SSL_SERVER_I_DN</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_SERVER_ICN</code></td><td><code>SSL_SERVER_I_DN_CN</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_SERVER_IEMAIL</code></td><td><code>SSL_SERVER_I_DN_Email</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_SERVER_IO</code></td><td><code>SSL_SERVER_I_DN_O</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_SERVER_IOU</code></td><td><code>SSL_SERVER_I_DN_OU</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_SERVER_IC</code></td><td><code>SSL_SERVER_I_DN_C</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_SERVER_ISP</code></td><td><code>SSL_SERVER_I_DN_SP</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_SERVER_IL</code></td><td><code>SSL_SERVER_I_DN_L</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_CLIENT_CERTIFICATE</code></td><td><code>SSL_CLIENT_CERT</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_CLIENT_CERT_START</code></td><td><code>SSL_CLIENT_V_START</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_CLIENT_CERT_END</code></td><td><code>SSL_CLIENT_V_END</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_CLIENT_CERT_SERIAL</code></td><td><code>SSL_CLIENT_M_SERIAL</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_CLIENT_SIGNATURE_ALGORITHM</code></td><td><code>SSL_CLIENT_A_SIG</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_CLIENT_DN</code></td><td><code>SSL_CLIENT_S_DN</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_CLIENT_CN</code></td><td><code>SSL_CLIENT_S_DN_CN</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_CLIENT_EMAIL</code></td><td><code>SSL_CLIENT_S_DN_Email</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_CLIENT_O</code></td><td><code>SSL_CLIENT_S_DN_O</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_CLIENT_OU</code></td><td><code>SSL_CLIENT_S_DN_OU</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_CLIENT_C</code></td><td><code>SSL_CLIENT_S_DN_C</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_CLIENT_SP</code></td><td><code>SSL_CLIENT_S_DN_SP</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_CLIENT_L</code></td><td><code>SSL_CLIENT_S_DN_L</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_CLIENT_IDN</code></td><td><code>SSL_CLIENT_I_DN</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_CLIENT_ICN</code></td><td><code>SSL_CLIENT_I_DN_CN</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_CLIENT_IEMAIL</code></td><td><code>SSL_CLIENT_I_DN_Email</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_CLIENT_IO</code></td><td><code>SSL_CLIENT_I_DN_O</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_CLIENT_IOU</code></td><td><code>SSL_CLIENT_I_DN_OU</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_CLIENT_IC</code></td><td><code>SSL_CLIENT_I_DN_C</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_CLIENT_ISP</code></td><td><code>SSL_CLIENT_I_DN_SP</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_CLIENT_IL</code></td><td><code>SSL_CLIENT_I_DN_L</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_EXPORT</code></td><td><code>SSL_CIPHER_EXPORT</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_KEYSIZE</code></td><td><code>SSL_CIPHER_ALGKEYSIZE</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_SECKEYSIZE</code></td><td><code>SSL_CIPHER_USEKEYSIZE</code></td><td>renommée</td></tr>
-<tr><td><code>SSL_SSLEAY_VERSION</code></td><td><code>SSL_VERSION_LIBRARY</code></td><td>renommée</td></tr>
-<tr class="odd"><td><code>SSL_STRONG_CRYPTO</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
-<tr><td><code>SSL_SERVER_KEY_EXP</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
-<tr class="odd"><td><code>SSL_SERVER_KEY_ALGORITHM</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
-<tr><td><code>SSL_SERVER_KEY_SIZE</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
-<tr class="odd"><td><code>SSL_SERVER_SESSIONDIR</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
-<tr><td><code>SSL_SERVER_CERTIFICATELOGDIR</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
-<tr class="odd"><td><code>SSL_SERVER_CERTFILE</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
-<tr><td><code>SSL_SERVER_KEYFILE</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
-<tr class="odd"><td><code>SSL_SERVER_KEYFILETYPE</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
-<tr><td><code>SSL_CLIENT_KEY_EXP</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
-<tr class="odd"><td><code>SSL_CLIENT_KEY_ALGORITHM</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
-<tr><td><code>SSL_CLIENT_KEY_SIZE</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr><td><code>SSL_PROTOCOL_VERSION</code></td><td><code>SSL_PROTOCOL</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSLEAY_VERSION</code></td><td><code>SSL_VERSION_LIBRARY</code></td><td>renommée</td></tr>
+<tr><td><code>HTTPS_SECRETKEYSIZE</code></td><td><code>SSL_CIPHER_USEKEYSIZE</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>HTTPS_KEYSIZE</code></td><td><code>SSL_CIPHER_ALGKEYSIZE</code></td><td>renommée</td></tr>
+<tr><td><code>HTTPS_CIPHER</code></td><td><code>SSL_CIPHER</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>HTTPS_EXPORT</code></td><td><code>SSL_CIPHER_EXPORT</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_KEY_SIZE</code></td><td><code>SSL_CIPHER_ALGKEYSIZE</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_CERTIFICATE</code></td><td><code>SSL_SERVER_CERT</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_CERT_START</code></td><td><code>SSL_SERVER_V_START</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_CERT_END</code></td><td><code>SSL_SERVER_V_END</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_CERT_SERIAL</code></td><td><code>SSL_SERVER_M_SERIAL</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_SIGNATURE_ALGORITHM</code></td><td><code>SSL_SERVER_A_SIG</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_DN</code></td><td><code>SSL_SERVER_S_DN</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_CN</code></td><td><code>SSL_SERVER_S_DN_CN</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_EMAIL</code></td><td><code>SSL_SERVER_S_DN_Email</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_O</code></td><td><code>SSL_SERVER_S_DN_O</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_OU</code></td><td><code>SSL_SERVER_S_DN_OU</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_C</code></td><td><code>SSL_SERVER_S_DN_C</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_SP</code></td><td><code>SSL_SERVER_S_DN_SP</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_L</code></td><td><code>SSL_SERVER_S_DN_L</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_IDN</code></td><td><code>SSL_SERVER_I_DN</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_ICN</code></td><td><code>SSL_SERVER_I_DN_CN</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_IEMAIL</code></td><td><code>SSL_SERVER_I_DN_Email</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_IO</code></td><td><code>SSL_SERVER_I_DN_O</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_IOU</code></td><td><code>SSL_SERVER_I_DN_OU</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_IC</code></td><td><code>SSL_SERVER_I_DN_C</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SERVER_ISP</code></td><td><code>SSL_SERVER_I_DN_SP</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_IL</code></td><td><code>SSL_SERVER_I_DN_L</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_CERTIFICATE</code></td><td><code>SSL_CLIENT_CERT</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_CERT_START</code></td><td><code>SSL_CLIENT_V_START</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_CERT_END</code></td><td><code>SSL_CLIENT_V_END</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_CERT_SERIAL</code></td><td><code>SSL_CLIENT_M_SERIAL</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_SIGNATURE_ALGORITHM</code></td><td><code>SSL_CLIENT_A_SIG</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_DN</code></td><td><code>SSL_CLIENT_S_DN</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_CN</code></td><td><code>SSL_CLIENT_S_DN_CN</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_EMAIL</code></td><td><code>SSL_CLIENT_S_DN_Email</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_O</code></td><td><code>SSL_CLIENT_S_DN_O</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_OU</code></td><td><code>SSL_CLIENT_S_DN_OU</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_C</code></td><td><code>SSL_CLIENT_S_DN_C</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_SP</code></td><td><code>SSL_CLIENT_S_DN_SP</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_L</code></td><td><code>SSL_CLIENT_S_DN_L</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_IDN</code></td><td><code>SSL_CLIENT_I_DN</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_ICN</code></td><td><code>SSL_CLIENT_I_DN_CN</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_IEMAIL</code></td><td><code>SSL_CLIENT_I_DN_Email</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_IO</code></td><td><code>SSL_CLIENT_I_DN_O</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_IOU</code></td><td><code>SSL_CLIENT_I_DN_OU</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_IC</code></td><td><code>SSL_CLIENT_I_DN_C</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_ISP</code></td><td><code>SSL_CLIENT_I_DN_SP</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_CLIENT_IL</code></td><td><code>SSL_CLIENT_I_DN_L</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_EXPORT</code></td><td><code>SSL_CIPHER_EXPORT</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_KEYSIZE</code></td><td><code>SSL_CIPHER_ALGKEYSIZE</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_SECKEYSIZE</code></td><td><code>SSL_CIPHER_USEKEYSIZE</code></td><td>renommée</td></tr>
+<tr><td><code>SSL_SSLEAY_VERSION</code></td><td><code>SSL_VERSION_LIBRARY</code></td><td>renommée</td></tr>
+<tr class="odd"><td><code>SSL_STRONG_CRYPTO</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr><td><code>SSL_SERVER_KEY_EXP</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_KEY_ALGORITHM</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr><td><code>SSL_SERVER_KEY_SIZE</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_SESSIONDIR</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr><td><code>SSL_SERVER_CERTIFICATELOGDIR</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_CERTFILE</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr><td><code>SSL_SERVER_KEYFILE</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr class="odd"><td><code>SSL_SERVER_KEYFILETYPE</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr><td><code>SSL_CLIENT_KEY_EXP</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr class="odd"><td><code>SSL_CLIENT_KEY_ALGORITHM</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</td></tr>
+<tr><td><code>SSL_CLIENT_KEY_SIZE</code></td><td><code>-</code></td><td>Non supportée par mod_ssl</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="customlog" id="customlog">Fonctions de personnalisation des journaux</a><a title="Lien permanent" href="#customlog" class="permalink">¶</a></h2>
-<p>Quand mod_ssl est activé, le <a href="../mod/mod_log_config.html#formats">Format de journal courant
-(Custom Log Format)</a> du module <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> possède
-des fonctions supplémentaires comme indiqué dans le chapitre de référence.
-En plus de la fonction de format étendu
+<p>Quand mod_ssl est activé, le <a href="../mod/mod_log_config.html#formats">Format de journal courant
+(Custom Log Format)</a> du module <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> possède
+des fonctions supplémentaires comme indiqué dans le chapitre de référence.
+En plus de la fonction de format étendu
``<code>%{</code><em>varname</em><code>}x</code>'' que l'on peut utiliser pour
extraire le contenu d'une variable fournie par n'importe quel module,
la fonction
de format cryptographique ``<code>%{</code><em>name</em><code>}c</code>'' a
-été ajoutée à des fins de compatibilité ascendante. Les appels de fonctions
-actuellement implémentés sont énumérés dans le
+été ajoutée à des fins de compatibilité ascendante. Les appels de fonctions
+actuellement implémentés sont énumérés dans le
<a href="#table3">Tableau 3</a>.</p>
<h3><a name="table3" id="table3">Table 3: Fonctions cryptographiques du format de journal courant</a></h3>
<tr><td><code>%...{version}c</code></td> <td>Version du protocole SSL</td></tr>
<tr><td><code>%...{cipher}c</code></td> <td>Chiffrement SSL</td></tr>
<tr><td><code>%...{subjectdn}c</code></td> <td>Nom distinctif du sujet du certificat du client</td></tr>
-<tr><td><code>%...{issuerdn}c</code></td> <td>Nom distinctif de l'émetteur du certificat du client</td></tr>
-<tr><td><code>%...{errcode}c</code></td> <td>Erreur lors de la vérification du certificat (numérique)</td></tr>
+<tr><td><code>%...{issuerdn}c</code></td> <td>Nom distinctif de l'émetteur du certificat du client</td></tr>
+<tr><td><code>%...{errcode}c</code></td> <td>Erreur lors de la vérification du certificat (numérique)</td></tr>
-<tr><td><code>%...{errstr}c</code></td> <td>Erreur lors de la vérification du certificat (chaîne de caractères)</td></tr>
+<tr><td><code>%...{errstr}c</code></td> <td>Erreur lors de la vérification du certificat (chaîne de caractères)</td></tr>
</table>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/ssl/ssl_compat.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../es/ssl/ssl_compat.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="../fr/ssl/ssl_compat.html" title="Français"> fr </a></p>
+<a href="../es/ssl/ssl_compat.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="../fr/ssl/ssl_compat.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">SSL/TLS</a></div><div id="page-content"><div id="preamble"><h1>Chiffrement SSL/TLS fort: foire aux questions</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/ssl/ssl_faq.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/ssl/ssl_faq.html" title="Français"> fr </a></p>
+<a href="../fr/ssl/ssl_faq.html" title="Français"> fr </a></p>
</div>
<blockquote>
-<p>Le sage n'apporte pas de bonnes réponses, il pose les bonnes questions</p>
+<p>Le sage n'apporte pas de bonnes réponses, il pose les bonnes questions</p>
<p class="cite">-- <cite>Claude Levi-Strauss</cite></p>
</blockquote>
<div class="section">
<h2><a name="installation" id="installation">Installation</a><a title="Lien permanent" href="#installation" class="permalink">¶</a></h2>
<ul>
-<li><a href="#mutex">Pourquoi le démarrage d'Apache provoque-t-il des
+<li><a href="#mutex">Pourquoi le démarrage d'Apache provoque-t-il des
erreurs de permission en rapport avec SSLMutex ?</a></li>
-<li><a href="#entropy">Pourquoi mod_ssl s'arrête-t-il avec l'erreur
-"Failed to generate temporary 512 bit RSA private key" au démarrage
+<li><a href="#entropy">Pourquoi mod_ssl s'arrête-t-il avec l'erreur
+"Failed to generate temporary 512 bit RSA private key" au démarrage
d'Apache ?</a></li>
</ul>
-<h3><a name="mutex" id="mutex">Pourquoi le démarrage d'Apache provoque-t-il des
+<h3><a name="mutex" id="mutex">Pourquoi le démarrage d'Apache provoque-t-il des
erreurs de permission en rapport avec SSLMutex ?</a></h3>
<p>Des erreurs telles que ``<code>mod_ssl: Child could not open
SSLMutex lockfile /opt/apache/logs/ssl_mutex.18332 (avec l'erreur
- système qui suit) [...] System: Permission denied (errno: 13)</code>''
- sont souvent provoquées par des permissions trop restrictives sur les
- répertoires <em>parents</em>. Assurez-vous que tous les répertoires
+ système qui suit) [...] System: Permission denied (errno: 13)</code>''
+ sont souvent provoquées par des permissions trop restrictives sur les
+ répertoires <em>parents</em>. Assurez-vous que tous les répertoires
parents (ici <code>/opt</code>, <code>/opt/apache</code> et
- <code>/opt/apache/logs</code>) ont le bit x positionné au moins pour
- l'UID sous lequel les processus enfants d'Apache s'exécutent (voir la
+ <code>/opt/apache/logs</code>) ont le bit x positionné au moins pour
+ l'UID sous lequel les processus enfants d'Apache s'exécutent (voir la
directive <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code>).</p>
-<h3><a name="entropy" id="entropy">Pourquoi mod_ssl s'arrête-t-il avec l'erreur
-"Failed to generate temporary 512 bit RSA private key" au démarrage
+<h3><a name="entropy" id="entropy">Pourquoi mod_ssl s'arrête-t-il avec l'erreur
+"Failed to generate temporary 512 bit RSA private key" au démarrage
d'Apache ?</a></h3>
<p>Pour fonctionner correctement, les logiciels de cryptographie ont
- besoin d'une source de données aléatoires. De nombreux systèmes
- d'exploitation libres proposent un "périphérique source d'entropie"
- qui fournit ce service (il se nomme en général
- <code>/dev/random</code>). Sur d'autres systèmes, les applications
+ besoin d'une source de données aléatoires. De nombreux systèmes
+ d'exploitation libres proposent un "périphérique source d'entropie"
+ qui fournit ce service (il se nomme en général
+ <code>/dev/random</code>). Sur d'autres systèmes, les applications
doivent amorcer manuellement
- le Générateur de Nombres Pseudo-Aléatoires d'OpenSSL
- (Pseudo Random Number Generator -PRNG) à l'aide de données appropriées
- avant de générer des clés ou d'effectuer un chiffrement à clé
- publique. Depuis la version 0.9.5, les fonctions d'OpenSSL qui nécessitent
- des données aléatoires provoquent une erreur si le PRNG n'a pas été amorcé
- avec une source de données aléatoires d'au moins 128 bits.</p>
- <p>Pour éviter cette erreur, <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> doit fournir
+ le Générateur de Nombres Pseudo-Aléatoires d'OpenSSL
+ (Pseudo Random Number Generator -PRNG) à l'aide de données appropriées
+ avant de générer des clés ou d'effectuer un chiffrement à clé
+ publique. Depuis la version 0.9.5, les fonctions d'OpenSSL qui nécessitent
+ des données aléatoires provoquent une erreur si le PRNG n'a pas été amorcé
+ avec une source de données aléatoires d'au moins 128 bits.</p>
+ <p>Pour éviter cette erreur, <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> doit fournir
suffisamment d'entropie au PRNG pour lui permettre de fonctionner
- correctement. Ce niveau d'entropie est défini par la directive
+ correctement. Ce niveau d'entropie est défini par la directive
<code class="directive"><a href="../mod/mod_ssl.html#sslrandomseed">SSLRandomSeed</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="aboutconfig" id="aboutconfig">Configuration</a><a title="Lien permanent" href="#aboutconfig" class="permalink">¶</a></h2>
<ul>
-<li><a href="#parallel">Peut-on faire cohabiter HTTP et HTTPS sur le même
+<li><a href="#parallel">Peut-on faire cohabiter HTTP et HTTPS sur le même
serveur ?</a></li>
<li><a href="#ports">Quel port HTTPS utilise-t-il ?</a></li>
-<li><a href="#httpstest">Comment s'exprimer en langage HTTPS à des fins
+<li><a href="#httpstest">Comment s'exprimer en langage HTTPS à des fins
de test ?</a></li>
<li><a href="#hang">Pourquoi la communication se bloque-t-elle lorsque je
-me connecte à mon serveur Apache configuré pour SSL ?</a></li>
-<li><a href="#refused">Pourquoi, lorsque je tente d'accéder en HTTPS à mon
-serveur Apache+mod_ssl fraîchement installé, l'erreur ``Connection Refused''
+me connecte à mon serveur Apache configuré pour SSL ?</a></li>
+<li><a href="#refused">Pourquoi, lorsque je tente d'accéder en HTTPS à mon
+serveur Apache+mod_ssl fraîchement installé, l'erreur ``Connection Refused''
s'affiche-t-elle ?</a></li>
<li><a href="#envvars">Pourquoi les variables <code>SSL_XXX</code>
ne sont-elles pas disponibles dans mes scripts CGI et SSI ?</a></li>
HTTPS dans les hyperliens relatifs ?</a></li>
</ul>
-<h3><a name="parallel" id="parallel">Peut-on faire cohabiter HTTP et HTTPS sur le même
+<h3><a name="parallel" id="parallel">Peut-on faire cohabiter HTTP et HTTPS sur le même
serveur ?</a></h3>
- <p>Oui. HTTP et HTTPS utilisent des ports différents (HTTP écoute le port
+ <p>Oui. HTTP et HTTPS utilisent des ports différents (HTTP écoute le port
80 et HTTPS le port 443), si bien qu'il n'y a pas de conflit direct entre
- les deux. Vous pouvez soit exécuter deux instances séparées du serveur,
- chacune d'entre elles écoutant l'un de ces ports, soit utiliser l'élégante
- fonctionnalité d'Apache que constituent les hôtes virtuels pour créer
- deux serveurs virtuels gérés par la même instance d'Apache - le
- premier serveur répondant en HTTP aux requêtes sur le port 80,
- le second répondant en HTTPS aux requêtes sur le port
+ les deux. Vous pouvez soit exécuter deux instances séparées du serveur,
+ chacune d'entre elles écoutant l'un de ces ports, soit utiliser l'élégante
+ fonctionnalité d'Apache que constituent les hôtes virtuels pour créer
+ deux serveurs virtuels gérés par la même instance d'Apache - le
+ premier serveur répondant en HTTP aux requêtes sur le port 80,
+ le second répondant en HTTPS aux requêtes sur le port
443.</p>
<h3><a name="ports" id="ports">Quel port HTTPS utilise-t-il ?</a></h3>
-<p>Vous pouvez associer le protocole HTTPS à n'importe quel port, mais le port
+<p>Vous pouvez associer le protocole HTTPS à n'importe quel port, mais le port
standard est le port 443, que tout navigateur compatible HTTPS va utiliser par
-défaut. Vous pouvez forcer votre navigateur à utiliser un port différent en le
-précisant dans l'URL. Par exemple, si votre serveur est configuré pour
-servir des pages en HTTPS sur le port 8080, vous pourrez y accéder par
+défaut. Vous pouvez forcer votre navigateur à utiliser un port différent en le
+précisant dans l'URL. Par exemple, si votre serveur est configuré pour
+servir des pages en HTTPS sur le port 8080, vous pourrez y accéder par
l'adresse <code>https://example.com:8080/</code>.</p>
-<h3><a name="httpstest" id="httpstest">Comment s'exprimer en langage HTTPS à des fins
+<h3><a name="httpstest" id="httpstest">Comment s'exprimer en langage HTTPS à des fins
de test ?</a></h3>
<p>Alors que vous utilisez simplement</p>
GET / HTTP/1.0</code></p></div>
<p>pour tester facilement Apache via HTTP, les choses ne sont pas si
- simples pour HTTPS à cause du protocole SSL situé entre TCP et HTTP.
+ simples pour HTTPS à cause du protocole SSL situé entre TCP et HTTP.
La commande OpenSSL <code>s_client</code> vous permet cependant
d'effectuer un test similaire via HTTPS :</p>
<div class="example"><p><code>$ openssl s_client -connect localhost:443 -state -debug<br />
GET / HTTP/1.0</code></p></div>
- <p>Avant la véritable réponse HTTP, vous recevrez des informations
- détaillées à propos de l'établissement de la connexion SSL. Si vous
- recherchez un client en ligne de commande à usage plus général qui comprend
- directement HTTP et HTTPS, qui peut effectuer des opérations GET et POST,
- peut utiliser un mandataire, supporte les requêtes portant sur une partie
+ <p>Avant la véritable réponse HTTP, vous recevrez des informations
+ détaillées à propos de l'établissement de la connexion SSL. Si vous
+ recherchez un client en ligne de commande à usage plus général qui comprend
+ directement HTTP et HTTPS, qui peut effectuer des opérations GET et POST,
+ peut utiliser un mandataire, supporte les requêtes portant sur une partie
d'un fichier (byte-range), etc..., vous devriez vous tourner vers
- l'excellent outil <a href="http://curl.haxx.se/">cURL</a>. Grâce à lui,
- vous pouvez vérifier si Apache répond correctement aux requêtes via
+ l'excellent outil <a href="http://curl.haxx.se/">cURL</a>. Grâce à lui,
+ vous pouvez vérifier si Apache répond correctement aux requêtes via
HTTP et HTTPS comme suit :</p>
<div class="example"><p><code>$ curl http://localhost/<br />
<h3><a name="hang" id="hang">Pourquoi la communication se bloque-t-elle lorsque je
-me connecte à mon serveur Apache configuré pour SSL ?</a></h3>
-<p>Ceci peut arriver si vous vous connectez à un serveur HTTPS (ou à
+me connecte à mon serveur Apache configuré pour SSL ?</a></h3>
+<p>Ceci peut arriver si vous vous connectez à un serveur HTTPS (ou à
un serveur virtuel) via HTTP (par exemple, en utilisant
<code>http://example.com/</code> au lieu de <code>https://example.com</code>).
-Cela peut aussi arriver en essayant de vous connecter via HTTPS à un
+Cela peut aussi arriver en essayant de vous connecter via HTTPS à un
serveur HTTP (par exemple, en utilisant <code>https://example.com/</code>
avec un serveur qui ne supporte pas HTTPS, ou le supporte, mais sur un
-port non standard). Assurez-vous que vous vous connectez bien à un
+port non standard). Assurez-vous que vous vous connectez bien à un
serveur (virtuel) qui supporte SSL.</p>
-<h3><a name="refused" id="refused">Pourquoi, lorsque je tente d'accéder en HTTPS à mon
-serveur Apache+mod_ssl fraîchement installé, l'erreur ``Connection Refused''
+<h3><a name="refused" id="refused">Pourquoi, lorsque je tente d'accéder en HTTPS à mon
+serveur Apache+mod_ssl fraîchement installé, l'erreur ``Connection Refused''
s'affiche-t-elle ?</a></h3>
<p>Une configuration incorrecte peut provoquer ce type d'erreur.
Assurez-vous que vos directives <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> s'accordent avec vos directives
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>. Si
- l'erreur persiste, recommencez depuis le début en restaurant la
- configuration par défaut fournie par<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>.</p>
+ l'erreur persiste, recommencez depuis le début en restaurant la
+ configuration par défaut fournie par<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>.</p>
<h3><a name="envvars" id="envvars">Pourquoi les variables <code>SSL_XXX</code>
ne sont-elles pas disponibles dans mes scripts CGI et SSI ?</a></h3>
<p>Assurez-vous que la directive ``<code>SSLOptions +StdEnvVars</code>'' est
-bien présente dans le contexte de vos requêtes CGI/SSI.</p>
+bien présente dans le contexte de vos requêtes CGI/SSI.</p>
<h3><a name="relative" id="relative">Comment puis-je basculer entre les protocoles HTTP et
HTTPS dans les hyperliens relatifs ?</a></h3>
<p>Normalement, pour basculer entre HTTP et HTTPS, vous devez utiliser des
-hyperliens pleinement qualifiés (car vous devez modifier le schéma de l'URL).
-Cependant, à l'aide du module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, vous pouvez
-manipuler des hyperliens relatifs, pour obtenir le même effet.</p>
+hyperliens pleinement qualifiés (car vous devez modifier le schéma de l'URL).
+Cependant, à l'aide du module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, vous pouvez
+manipuler des hyperliens relatifs, pour obtenir le même effet.</p>
<pre class="prettyprint lang-config">RewriteEngine on
RewriteRule "^/(.*)_SSL$" "https://%{SERVER_NAME}/$1" [R,L]
RewriteRule "^/(.*)_NOSSL$" "http://%{SERVER_NAME}/$1" [R,L]</pre>
- <p>Ce jeu de règles rewrite vous permet d'utiliser des hyperliens de la
+ <p>Ce jeu de règles rewrite vous permet d'utiliser des hyperliens de la
forme <code><a href="document.html_SSL"></code> pour passer en HTTPS
dans les liens relatifs. (Remplacez SSL par NOSSL pour passer en HTTP.)</p>
<div class="section">
<h2><a name="aboutcerts" id="aboutcerts">Certificats</a><a title="Lien permanent" href="#aboutcerts" class="permalink">¶</a></h2>
<ul>
-<li><a href="#keyscerts">Qu'est-ce qu'un clé privée RSA, un certificat,
+<li><a href="#keyscerts">Qu'est-ce qu'un clé privée RSA, un certificat,
une demande de signature de certificat (CSR) ?</a></li>
-<li><a href="#startup">Y a-t-il une différence au démarrage entre un serveur
+<li><a href="#startup">Y a-t-il une différence au démarrage entre un serveur
Apache non SSL et un serveur Apache supportant SSL ?</a></li>
-<li><a href="#selfcert">Comment créer un certificat auto-signé SSL à des
+<li><a href="#selfcert">Comment créer un certificat auto-signé SSL à des
fins de test ?</a></li>
-<li><a href="#realcert">Comment créer un vrai certificat SSL ?</a></li>
-<li><a href="#ownca">Comment créer et utiliser sa propre Autorité de
+<li><a href="#realcert">Comment créer un vrai certificat SSL ?</a></li>
+<li><a href="#ownca">Comment créer et utiliser sa propre Autorité de
certification (CA) ?</a></li>
<li><a href="#passphrase">Comment modifier le mot de passe
-de ma clé privée ?</a></li>
-<li><a href="#removepassphrase">Comment démarrer Apache sans avoir à entrer de
+de ma clé privée ?</a></li>
+<li><a href="#removepassphrase">Comment démarrer Apache sans avoir à entrer de
mot de passe ?</a></li>
-<li><a href="#verify">Comment vérifier si une clé privée correspond bien
-à son certificat ?</a></li>
+<li><a href="#verify">Comment vérifier si une clé privée correspond bien
+à son certificat ?</a></li>
<li><a href="#pemder">Comment convertir un certificat du format PEM
au format DER ?</a></li>
<li><a href="#gid">Pourquoi les navigateurs se plaignent-ils de ne pas pouvoir
-vérifier mon certificat de serveur ?</a></li>
+vérifier mon certificat de serveur ?</a></li>
</ul>
-<h3><a name="keyscerts" id="keyscerts">Qu'est-ce qu'un clé privée RSA, un certificat,
+<h3><a name="keyscerts" id="keyscerts">Qu'est-ce qu'un clé privée RSA, un certificat,
une demande de signature de certificat (CSR) ?</a></h3>
-<p>Un fichier de clé privée RSA est un fichier numérique que vous pouvez
-utiliser pour déchiffrer des messages que l'on vous a envoyés. Il a son
-pendant à caractère public que vous pouvez distribuer (par le biais de votre
+<p>Un fichier de clé privée RSA est un fichier numérique que vous pouvez
+utiliser pour déchiffrer des messages que l'on vous a envoyés. Il a son
+pendant à caractère public que vous pouvez distribuer (par le biais de votre
certificat), ce qui permet aux utilisateurs de chiffrer les messages qu'ils
vous envoient.</p>
- <p>Une Demande de Signature de Certificat (CSR) est un fichier numérique
- qui contient votre clé publique et votre nom. La CSR doit être envoyée à
- une Autorité de Certification (CA), qui va la convertir en vrai certificat
+ <p>Une Demande de Signature de Certificat (CSR) est un fichier numérique
+ qui contient votre clé publique et votre nom. La CSR doit être envoyée à
+ une Autorité de Certification (CA), qui va la convertir en vrai certificat
en la signant.</p>
- <p>Un certificat contient votre clé publique RSA, votre nom, le nom
- de la CA, et est signé numériquement par cette dernière. Les navigateurs
- qui reconnaissent la CA peuvent vérifier la signature du certificat, et
- ainsi en extraire votre clé publique RSA. Ceci leur permet de vous envoyer
- des messages chiffrés que vous seul pourrez déchiffrer.</p>
- <p>Se référer au chapitre <a href="ssl_intro.html">Introduction</a>
- pour une description générale du protocole SSL.</p>
+ <p>Un certificat contient votre clé publique RSA, votre nom, le nom
+ de la CA, et est signé numériquement par cette dernière. Les navigateurs
+ qui reconnaissent la CA peuvent vérifier la signature du certificat, et
+ ainsi en extraire votre clé publique RSA. Ceci leur permet de vous envoyer
+ des messages chiffrés que vous seul pourrez déchiffrer.</p>
+ <p>Se référer au chapitre <a href="ssl_intro.html">Introduction</a>
+ pour une description générale du protocole SSL.</p>
-<h3><a name="startup" id="startup">Y a-t-il une différence au démarrage entre un serveur
+<h3><a name="startup" id="startup">Y a-t-il une différence au démarrage entre un serveur
Apache non SSL et un serveur Apache supportant SSL ?</a></h3>
-<p>Oui. En général, avec ou sans <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> intégré, le démarrage
-d'Apache ne présente pas de différences. Cependant, si votre fichier de clé
-privée SSL possède un mot de passe, vous devrez le taper au démarrage
+<p>Oui. En général, avec ou sans <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> intégré, le démarrage
+d'Apache ne présente pas de différences. Cependant, si votre fichier de clé
+privée SSL possède un mot de passe, vous devrez le taper au démarrage
d'Apache.</p>
- <p>Devoir entrer manuellement le mot de passe au démarrage du serveur peut
- poser quelques problèmes - par exemple, quand le serveur est démarré au
- moyen de scripts au lancement du système. Dans ce cas, vous pouvez suivre
- les étapes <a href="#removepassphrase">ci-dessous</a> pour supprimer le
- mot de passe de votre clé privée. Gardez à l'esprit qu'agir ainsi augmente
- les risques de sécurité - agissez avec précaution !</p>
+ <p>Devoir entrer manuellement le mot de passe au démarrage du serveur peut
+ poser quelques problèmes - par exemple, quand le serveur est démarré au
+ moyen de scripts au lancement du système. Dans ce cas, vous pouvez suivre
+ les étapes <a href="#removepassphrase">ci-dessous</a> pour supprimer le
+ mot de passe de votre clé privée. Gardez à l'esprit qu'agir ainsi augmente
+ les risques de sécurité - agissez avec précaution !</p>
-<h3><a name="selfcert" id="selfcert">Comment créer un certificat auto-signé SSL à des
+<h3><a name="selfcert" id="selfcert">Comment créer un certificat auto-signé SSL à des
fins de test ?</a></h3>
<ol>
- <li>Vérifiez qu'OpenSSL est installé et l'exécutable openssl dans votre
+ <li>Vérifiez qu'OpenSSL est installé et l'exécutable openssl dans votre
<code>PATH</code>.<br />
<br />
</li>
- <li>Exécuter la commande suivante pour créer les fichiers
+ <li>Exécuter la commande suivante pour créer les fichiers
<code>server.key</code> et <code>server.crt</code> :<br />
<code><strong>$ openssl req -new -x509 -nodes -out server.crt
-keyout server.key</strong></code><br />
- Ces fichiers seront utilisés comme suit dans votre
+ Ces fichiers seront utilisés comme suit dans votre
<code>httpd.conf</code> :
<pre class="prettyprint lang-config">SSLCertificateFile /path/to/this/server.crt
SSLCertificateKeyFile /path/to/this/server.key</pre>
</li>
<li>Il est important de savoir que le fichier <code>server.key</code> n'a
- <em>pas</em> de mot de passe. Pour ajouter un mot de passe à la clé, vous
- devez exécuter la commande suivante et confirmer le mot de passe comme
- demandé.<br />
+ <em>pas</em> de mot de passe. Pour ajouter un mot de passe à la clé, vous
+ devez exécuter la commande suivante et confirmer le mot de passe comme
+ demandé.<br />
<p><code><strong>$ openssl rsa -des3 -in server.key -out
server.key.new</strong></code><br />
<code><strong>$ mv server.key.new server.key</strong></code><br /></p>
Sauvegardez le fichier <code>server.key</code> ainsi que son mot de
- passe en lieu sûr.
+ passe en lieu sûr.
</li>
</ol>
-<h3><a name="realcert" id="realcert">Comment créer un vrai certificat SSL ?</a></h3>
-<p>Voici la marche à suivre pas à pas :</p>
+<h3><a name="realcert" id="realcert">Comment créer un vrai certificat SSL ?</a></h3>
+<p>Voici la marche à suivre pas à pas :</p>
<ol>
- <li>Assurez-vous qu'OpenSSL est bien installé et dans votre <code>PATH</code>.
+ <li>Assurez-vous qu'OpenSSL est bien installé et dans votre <code>PATH</code>.
<br />
<br />
</li>
- <li>Créez une clé privée RSA pour votre serveur Apache
- (elle sera au format PEM et chiffrée en Triple-DES):<br />
+ <li>Créez une clé privée RSA pour votre serveur Apache
+ (elle sera au format PEM et chiffrée en Triple-DES):<br />
<br />
<code><strong>$ openssl genrsa -des3 -out server.key 2048</strong></code><br />
<br />
Enregistrez le fichier <code>server.key</code> et le mot de passe
- éventuellement défini en lieu sûr.
- Vous pouvez afficher les détails de cette clé privée RSA à l'aide de la
+ éventuellement défini en lieu sûr.
+ Vous pouvez afficher les détails de cette clé privée RSA à l'aide de la
commande :<br />
<br />
<code><strong>$ openssl rsa -noout -text -in server.key</strong></code><br />
<br />
- Si nécessaire, vous pouvez aussi créer une version PEM non chiffrée
- (non recommandé) de clé privée RSA avec :<br />
+ Si nécessaire, vous pouvez aussi créer une version PEM non chiffrée
+ (non recommandé) de clé privée RSA avec :<br />
<br />
<code><strong>$ openssl rsa -in server.key -out server.key.unsecure</strong></code><br />
<br />
</li>
- <li>Créez une Demande de signature de Certificat (CSR) à l'aide de la
- clé privée précédemment générée (la sortie sera au format PEM):<br />
+ <li>Créez une Demande de signature de Certificat (CSR) à l'aide de la
+ clé privée précédemment générée (la sortie sera au format PEM):<br />
<br />
<code><strong>$ openssl req -new -key server.key -out server.csr</strong></code><br />
<br />
- Vous devez entrer le Nom de Domaine Pleinement Qualifié
+ Vous devez entrer le Nom de Domaine Pleinement Qualifié
("Fully Qualified Domain Name" ou FQDN) de votre serveur lorsqu'OpenSSL
- vous demande le "CommonName", c'est à dire que si vous générez une CSR
- pour un site web auquel on accèdera par l'URL
+ vous demande le "CommonName", c'est à dire que si vous générez une CSR
+ pour un site web auquel on accèdera par l'URL
<code>https://www.foo.dom/</code>, le FQDN sera "www.foo.dom". Vous
- pouvez afficher les détails de ce CSR avec :<br />
+ pouvez afficher les détails de ce CSR avec :<br />
<br />
<code><strong>$ openssl req -noout -text -in server.csr</strong></code><br />
<br />
</li>
- <li>Vous devez maintenant envoyer la CSR à une Autorité de Certification
- (CA), afin que cette dernière puisse la signer. Une fois la CSR signée,
- vous disposerez d'un véritable certificat que vous pourrez utiliser avec
+ <li>Vous devez maintenant envoyer la CSR à une Autorité de Certification
+ (CA), afin que cette dernière puisse la signer. Une fois la CSR signée,
+ vous disposerez d'un véritable certificat que vous pourrez utiliser avec
Apache. Vous pouvez faire signer votre CSR par une CA commerciale ou par
votre propre CA.<br />
- Les CAs commerciales vous demandent en général de leur envoyer la CSR
- par l'intermédiaire d'un formulaire web, de régler le montant de la
- signature, puis vous envoient un certificat signé que vous pouvez
+ Les CAs commerciales vous demandent en général de leur envoyer la CSR
+ par l'intermédiaire d'un formulaire web, de régler le montant de la
+ signature, puis vous envoient un certificat signé que vous pouvez
enregistrer dans un fichier server.crt.
- Pour plus de détails sur la manière de créer sa propre CA, et de
+ Pour plus de détails sur la manière de créer sa propre CA, et de
l'utiliser pour signer une CSR, voir <a href="#ownca">ci-dessous</a>.<br />
- Une fois la CSR signée, vous pouvez afficher les détails du certificat
+ Une fois la CSR signée, vous pouvez afficher les détails du certificat
comme suit :<br />
<br />
<code><strong>$ openssl x509 -noout -text -in server.crt</strong></code><br />
</li>
<li>Vous devez maintenant disposer de deux fichiers :
- <code>server.key</code> et <code>server.crt</code>. Ils sont précisés dans
+ <code>server.key</code> et <code>server.crt</code>. Ils sont précisés dans
votre fichier <code>httpd.conf</code> comme suit :
<pre class="prettyprint lang-config">SSLCertificateFile /path/to/this/server.crt
SSLCertificateKeyFile /path/to/this/server.key</pre>
- Le fichier <code>server.csr</code> n'est plus nécessaire.
+ Le fichier <code>server.csr</code> n'est plus nécessaire.
</li>
</ol>
-<h3><a name="ownca" id="ownca">Comment créer et utiliser sa propre Autorité de
+<h3><a name="ownca" id="ownca">Comment créer et utiliser sa propre Autorité de
certification (CA) ?</a></h3>
- <p>La solution la plus simple consiste à utiliser les scripts
+ <p>La solution la plus simple consiste à utiliser les scripts
<code>CA.sh</code> ou <code>CA.pl</code> fournis avec OpenSSL. De
- préférence, utilisez cette solution, à moins que vous ayez de bonnes
- raisons de ne pas le faire. Dans ce dernier cas, vous pouvez créer un
- certificat auto-signé comme suit :</p>
+ préférence, utilisez cette solution, à moins que vous ayez de bonnes
+ raisons de ne pas le faire. Dans ce dernier cas, vous pouvez créer un
+ certificat auto-signé comme suit :</p>
<ol>
- <li>Créez une clé privée RSA pour votre serveur
- (elle sera au format PEM et chiffrée en Triple-DES) :<br />
+ <li>Créez une clé privée RSA pour votre serveur
+ (elle sera au format PEM et chiffrée en Triple-DES) :<br />
<br />
<code><strong>$ openssl genrsa -des3 -out server.key 2048</strong></code><br />
<br />
Sauvegardez le fichier <code>server.key</code> et le mot de passe
- éventuellement défini en lieu sûr.
- Vous pouvez afficher les détails de cette clé privée RSA à l'aide de la
+ éventuellement défini en lieu sûr.
+ Vous pouvez afficher les détails de cette clé privée RSA à l'aide de la
commande :<br />
<br />
<code><strong>$ openssl rsa -noout -text -in server.key</strong></code><br />
<br />
- Si nécessaire, vous pouvez aussi créer une version PEM non chiffrée
- (non recommandé) de cette clé privée RSA avec :<br />
+ Si nécessaire, vous pouvez aussi créer une version PEM non chiffrée
+ (non recommandé) de cette clé privée RSA avec :<br />
<br />
<code><strong>$ openssl rsa -in server.key -out server.key.unsecure</strong></code><br />
<br />
</li>
- <li>Créez un certificat auto-signé (structure X509) à l'aide de la clé RSA
- que vous venez de générer (la sortie sera au format PEM) :<br />
+ <li>Créez un certificat auto-signé (structure X509) à l'aide de la clé RSA
+ que vous venez de générer (la sortie sera au format PEM) :<br />
<br />
<code><strong>$ openssl req -new -x509 -nodes -sha1 -days 365
-key server.key -out server.crt -extensions usr_cert</strong></code><br />
<br />
Cette commande signe le certificat du serveur et produit un fichier
- <code>server.crt</code>. Vous pouvez afficher les détails de ce
+ <code>server.crt</code>. Vous pouvez afficher les détails de ce
certificat avec :<br />
<br />
<code><strong>$ openssl x509 -noout -text -in server.crt</strong></code><br />
<h3><a name="passphrase" id="passphrase">Comment modifier le mot de passe
-de ma clé privée ?</a></h3>
-<p>Vous devez simplement lire la clé avec l'ancien mot de passe et la
-réécrire en spécifiant le nouveau mot de passe. Pour cela, vous pouvez
+de ma clé privée ?</a></h3>
+<p>Vous devez simplement lire la clé avec l'ancien mot de passe et la
+réécrire en spécifiant le nouveau mot de passe. Pour cela, vous pouvez
utiliser les commandes suivantes :</p>
<p><code><strong>$ openssl rsa -des3 -in server.key -out server.key.new</strong></code><br />
<code><strong>$ mv server.key.new server.key</strong></code><br /></p>
- <p>La première fois qu'il vous est demandé un mot de passe PEM, vous
+ <p>La première fois qu'il vous est demandé un mot de passe PEM, vous
devez entrer l'ancien mot de passe. Ensuite, on vous demandera d'entrer
encore un mot de passe - cette fois, entrez le nouveau mot de passe. Si on
- vous demande de vérifier le mot de passe, vous devrez entrer le nouveau
+ vous demande de vérifier le mot de passe, vous devrez entrer le nouveau
mot de passe une seconde fois.</p>
-<h3><a name="removepassphrase" id="removepassphrase">Comment démarrer Apache sans avoir à entrer de
+<h3><a name="removepassphrase" id="removepassphrase">Comment démarrer Apache sans avoir à entrer de
mot de passe ?</a></h3>
-<p>L'apparition de ce dialogue au démarrage et à chaque redémarrage provient
-du fait que la clé privée RSA contenue dans votre fichier server.key est
-enregistrée sous forme chiffrée pour des raisons de sécurité. Le
-déchiffrement de ce fichier nécessite un mot de passe, afin de pouvoir être
-lu et interprété. Cependant, La suppression du mot de passe diminue le niveau de
-sécurité du serveur - agissez avec précautions !</p>
+<p>L'apparition de ce dialogue au démarrage et à chaque redémarrage provient
+du fait que la clé privée RSA contenue dans votre fichier server.key est
+enregistrée sous forme chiffrée pour des raisons de sécurité. Le
+déchiffrement de ce fichier nécessite un mot de passe, afin de pouvoir être
+lu et interprété. Cependant, La suppression du mot de passe diminue le niveau de
+sécurité du serveur - agissez avec précautions !</p>
<ol>
- <li>Supprimer le chiffrement de la clé privée RSA (tout en conservant une
+ <li>Supprimer le chiffrement de la clé privée RSA (tout en conservant une
copie de sauvegarde du fichier original) :<br />
<br />
<code><strong>$ cp server.key server.key.org</strong></code><br />
</li>
</ol>
- <p>Maintenant, <code>server.key</code> contient une copie non chiffrée de
- la clé. Si vous utilisez ce fichier pour votre serveur, il ne vous
- demandera plus de mot de passe. CEPENDANT, si quelqu'un arrive à obtenir
- cette clé, il sera en mesure d'usurper votre identité sur le réseau.
- Vous DEVEZ par conséquent vous assurer que seuls root ou le serveur web
- peuvent lire ce fichier (de préférence, démarrez le serveur web sous
- root et faites le s'exécuter sous un autre utilisateur, en n'autorisant
- la lecture de la clé que par root).</p>
+ <p>Maintenant, <code>server.key</code> contient une copie non chiffrée de
+ la clé. Si vous utilisez ce fichier pour votre serveur, il ne vous
+ demandera plus de mot de passe. CEPENDANT, si quelqu'un arrive à obtenir
+ cette clé, il sera en mesure d'usurper votre identité sur le réseau.
+ Vous DEVEZ par conséquent vous assurer que seuls root ou le serveur web
+ peuvent lire ce fichier (de préférence, démarrez le serveur web sous
+ root et faites le s'exécuter sous un autre utilisateur, en n'autorisant
+ la lecture de la clé que par root).</p>
- <p>Une autre alternative consiste à utiliser la directive
+ <p>Une autre alternative consiste à utiliser la directive
``<code>SSLPassPhraseDialog exec:/chemin/vers/programme</code>''. Gardez
- cependant à l'esprit que ce n'est bien entendu ni plus ni moins
- sécurisé.</p>
-
-
-<h3><a name="verify" id="verify">Comment vérifier si une clé privée correspond bien
-à son certificat ?</a></h3>
-<p>Une clé privée contient une série de nombres. Deux de ces nombres forment la
-"clé publique", les autres appartiennent à la "clé privée". Les bits de la
-"clé publique" sont inclus quand vous générez une CSR, et font par
-conséquent partie du certificat associé.</p>
- <p>Pour vérifier que la clé publique contenue dans votre certificat
- correspond bien à la partie publique de votre clé privée, il vous suffit
- de comparer ces nombres. Pour afficher le certificat et la clé,
+ cependant à l'esprit que ce n'est bien entendu ni plus ni moins
+ sécurisé.</p>
+
+
+<h3><a name="verify" id="verify">Comment vérifier si une clé privée correspond bien
+à son certificat ?</a></h3>
+<p>Une clé privée contient une série de nombres. Deux de ces nombres forment la
+"clé publique", les autres appartiennent à la "clé privée". Les bits de la
+"clé publique" sont inclus quand vous générez une CSR, et font par
+conséquent partie du certificat associé.</p>
+ <p>Pour vérifier que la clé publique contenue dans votre certificat
+ correspond bien à la partie publique de votre clé privée, il vous suffit
+ de comparer ces nombres. Pour afficher le certificat et la clé,
utilisez cette commande :</p>
<p><code><strong>$ openssl x509 -noout -text -in server.crt</strong></code><br />
<code><strong>$ openssl rsa -noout -text -in server.key</strong></code></p>
- <p>Les parties `modulus' et `public exponent' doivent être identiques dans
- la clé et le certificat. Comme le `public exponent' est habituellement
- 65537, et comme il est difficile de vérifier visuellement que les nombreux
+ <p>Les parties `modulus' et `public exponent' doivent être identiques dans
+ la clé et le certificat. Comme le `public exponent' est habituellement
+ 65537, et comme il est difficile de vérifier visuellement que les nombreux
nombres du `modulus' sont identiques, vous pouvez utiliser l'approche
suivante :</p>
<p><code><strong>$ openssl x509 -noout -modulus -in server.crt | openssl md5</strong></code><br />
<code><strong>$ openssl rsa -noout -modulus -in server.key | openssl md5</strong></code></p>
- <p>Il ne vous reste ainsi que deux nombres relativement courts à comparer.
- Il est possible, en théorie que ces deux nombres soient les mêmes, sans que
+ <p>Il ne vous reste ainsi que deux nombres relativement courts à comparer.
+ Il est possible, en théorie que ces deux nombres soient les mêmes, sans que
les nombres du modulus soient identiques, mais les chances en sont infimes.</p>
- <p>Si vous souhaitez vérifier à quelle clé ou certificat appartient une CSR
- particulière, vous pouvez effectuer le même calcul
+ <p>Si vous souhaitez vérifier à quelle clé ou certificat appartient une CSR
+ particulière, vous pouvez effectuer le même calcul
sur la CSR comme suit :</p>
<p><code><strong>$ openssl req -noout -modulus -in server.csr | openssl md5</strong></code></p>
<h3><a name="pemder" id="pemder">Comment convertir un certificat du format PEM
au format DER ?</a></h3>
-<p>Le format des certificats par défaut pour OpenSSL est le format PEM,
-qui est tout simplement un format DER codé en Base64, avec des lignes
-d'en-têtes et des annotations. Certaines applications, comme
+<p>Le format des certificats par défaut pour OpenSSL est le format PEM,
+qui est tout simplement un format DER codé en Base64, avec des lignes
+d'en-têtes et des annotations. Certaines applications, comme
Microsoft Internet Explorer, ont besoin d'un certificat au format DER de base.
-Vous pouvez convertir un fichier PEM <code>cert.pem</code> en son équivalent
-au format DER <code>cert.der</code> à l'aide de la commande suivante :
+Vous pouvez convertir un fichier PEM <code>cert.pem</code> en son équivalent
+au format DER <code>cert.der</code> à l'aide de la commande suivante :
<code><strong>$ openssl x509 -in cert.pem -out cert.der
-outform DER</strong></code></p>
<h3><a name="gid" id="gid">Pourquoi les navigateurs se plaignent-ils de ne pas pouvoir
-vérifier mon certificat de serveur ?</a></h3>
-
- <p>Ceci peut se produire si votre certificat de serveur est signé
- par une autorité de certification intermédiaire. Plusieurs CAs,
- comme Verisign ou Thawte, ont commencé à signer les certificats avec
- des certificats intermédiaires au lieu de leur certificat racine.</p>
-
- <p>Les certificats de CA intermédiaires se situe à un niveau
- intermédiaire entre le certificat racine de la CA (qui est installé dans les
- navigateurs) et le certificat du serveur (que vous avez installé sur
- votre serveur). Pour que le navigateur puisse traverser et vérifier
- la chaîne de confiance depuis le certificat du serveur jusqu'au
+vérifier mon certificat de serveur ?</a></h3>
+
+ <p>Ceci peut se produire si votre certificat de serveur est signé
+ par une autorité de certification intermédiaire. Plusieurs CAs,
+ comme Verisign ou Thawte, ont commencé à signer les certificats avec
+ des certificats intermédiaires au lieu de leur certificat racine.</p>
+
+ <p>Les certificats de CA intermédiaires se situe à un niveau
+ intermédiaire entre le certificat racine de la CA (qui est installé dans les
+ navigateurs) et le certificat du serveur (que vous avez installé sur
+ votre serveur). Pour que le navigateur puisse traverser et vérifier
+ la chaîne de confiance depuis le certificat du serveur jusqu'au
certificat racine, il faut lui fournir les certificats
- intermédiaires. Les CAs devraient pouvoir fournir de tels
- paquetages de certificats intermédiaires à installer sur les
+ intermédiaires. Les CAs devraient pouvoir fournir de tels
+ paquetages de certificats intermédiaires à installer sur les
serveurs.</p>
- <p>Vous devez inclure ces certificats intermédiaires via la
+ <p>Vous devez inclure ces certificats intermédiaires via la
directive <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile</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="aboutssl" id="aboutssl">Le protocole SSL</a><a title="Lien permanent" href="#aboutssl" class="permalink">¶</a></h2>
<ul>
-<li><a href="#random">Pourquoi de nombreuses et aléatoires erreurs de
+<li><a href="#random">Pourquoi de nombreuses et aléatoires erreurs de
protocole SSL apparaissent-elles en cas de forte charge du serveur ?</a></li>
<li><a href="#load">Pourquoi la charge de mon serveur est-elle plus
-importante depuis qu'il sert des ressources chiffrées en SSL ?</a></li>
-<li><a href="#establishing">Pourquoi les connexions en HTTPS à mon serveur
-prennent-elles parfois jusqu'à 30 secondes pour s'établir ?</a></li>
+importante depuis qu'il sert des ressources chiffrées en SSL ?</a></li>
+<li><a href="#establishing">Pourquoi les connexions en HTTPS à mon serveur
+prennent-elles parfois jusqu'à 30 secondes pour s'établir ?</a></li>
<li><a href="#ciphers">Quels sont les algorithmes de chiffrement
-supportés par mod_ssl ?</a></li>
-<li><a href="#adh">Pourquoi une erreur ``no shared cipher'' apparaît-elle
+supportés par mod_ssl ?</a></li>
+<li><a href="#adh">Pourquoi une erreur ``no shared cipher'' apparaît-elle
quand j'essaie d'utiliser un algorithme de chiffrement
Diffie-Hellman anonyme (ADH) ?</a></li>
<li><a href="#sharedciphers">Pourquoi une erreur ``no shared cipher''
-apparaît-elle lorsqu'on se connecte à mon serveur
-fraîchement installé ?</a></li>
-<li><a href="#vhosts">Pourquoi ne peut-on pas utiliser SSL avec des hôtes
-virtuels identifiés par un nom et non par une adresse IP ?</a></li>
+apparaît-elle lorsqu'on se connecte à mon serveur
+fraîchement installé ?</a></li>
+<li><a href="#vhosts">Pourquoi ne peut-on pas utiliser SSL avec des hôtes
+virtuels identifiés par un nom et non par une adresse IP ?</a></li>
<li><a href="#vhosts2">Est-il possible d'utiliser
-l'hébergement virtuel basé sur le nom d'hôte
-pour différencier plusieurs hôtes virtuels ?</a></li>
+l'hébergement virtuel basé sur le nom d'hôte
+pour différencier plusieurs hôtes virtuels ?</a></li>
<li><a href="#comp">Comment mettre en oeuvre la compression SSL ?</a></li>
<li><a href="#lockicon">Lorsque j'utilise l'authentification de base sur HTTPS,
-l'icône de verrouillage des navigateurs Netscape reste ouverte quand la boîte
-de dialogue d'authentification apparaît. Cela signifie-t-il que les utilisateur
-et mot de passe sont envoyés en clair ?</a></li>
-<li><a href="#msie">Pourquoi des erreurs d'entrée/sortie apparaissent-elles
-lorsqu'on se connecte à un serveur Apache+mod_ssl avec
+l'icône de verrouillage des navigateurs Netscape reste ouverte quand la boîte
+de dialogue d'authentification apparaît. Cela signifie-t-il que les utilisateur
+et mot de passe sont envoyés en clair ?</a></li>
+<li><a href="#msie">Pourquoi des erreurs d'entrée/sortie apparaissent-elles
+lorsqu'on se connecte à un serveur Apache+mod_ssl avec
Microsoft Internet Explorer (MSIE) ?</a></li>
<li><a href="#srp">Comment activer TLS-SRP ?</a></li>
-<li><a href="#javadh">Pourquoi des erreurs de négociation apparaissent
-avec les clients basés sur Java lorsqu'on utilise un certificat de plus
+<li><a href="#javadh">Pourquoi des erreurs de négociation apparaissent
+avec les clients basés sur Java lorsqu'on utilise un certificat de plus
de 1024 bits ?</a></li>
</ul>
-<h3><a name="random" id="random">Pourquoi de nombreuses et aléatoires erreurs de
+<h3><a name="random" id="random">Pourquoi de nombreuses et aléatoires erreurs de
protocole SSL apparaissent-elles en cas de forte charge du serveur ?</a></h3>
-<p>Ce problème peut avoir plusieurs causes, mais la principale réside dans le
-cache de session SSL défini par la directive
+<p>Ce problème peut avoir plusieurs causes, mais la principale réside dans le
+cache de session SSL défini par la directive
<code class="directive"><a href="../mod/mod_ssl.html#sslsessioncache">SSLSessionCache</a></code>. Le cache de session
-DBM est souvent à la source du problème qui peut être résolu en utilisant le
+DBM est souvent à la source du problème qui peut être résolu en utilisant le
cache de session SHM (ou en n'utilisant tout simplement pas de cache).</p>
<h3><a name="load" id="load">Pourquoi la charge de mon serveur est-elle plus
-importante depuis qu'il sert des ressources chiffrées en SSL ?</a></h3>
-<p>SSL utilise un procédé de chiffrement fort qui nécessite la manipulation
-d'une quantité très importante de nombres. Lorsque vous effectuez une requête
-pour une page web via HTTPS, tout (même les images) est chiffré avant d'être
-transmis. C'est pourquoi un accroissement du traffic HTTPS entraîne une
+importante depuis qu'il sert des ressources chiffrées en SSL ?</a></h3>
+<p>SSL utilise un procédé de chiffrement fort qui nécessite la manipulation
+d'une quantité très importante de nombres. Lorsque vous effectuez une requête
+pour une page web via HTTPS, tout (même les images) est chiffré avant d'être
+transmis. C'est pourquoi un accroissement du traffic HTTPS entraîne une
augmentation de la charge.</p>
-<h3><a name="establishing" id="establishing">Pourquoi les connexions en HTTPS à mon serveur
-prennent-elles parfois jusqu'à 30 secondes pour s'établir ?</a></h3>
-<p>Ce problème provient en général d'un périphérique <code>/dev/random</code>
-qui bloque l'appel système read(2) jusqu'à ce que suffisamment d'entropie
-soit disponible pour servir la requête. Pour plus d'information, se référer au
-manuel de référence de la directive
+<h3><a name="establishing" id="establishing">Pourquoi les connexions en HTTPS à mon serveur
+prennent-elles parfois jusqu'à 30 secondes pour s'établir ?</a></h3>
+<p>Ce problème provient en général d'un périphérique <code>/dev/random</code>
+qui bloque l'appel système read(2) jusqu'à ce que suffisamment d'entropie
+soit disponible pour servir la requête. Pour plus d'information, se référer au
+manuel de référence de la directive
<code class="directive"><a href="../mod/mod_ssl.html#sslrandomseed">SSLRandomSeed</a></code>.</p>
<h3><a name="ciphers" id="ciphers">Quels sont les algorithmes de chiffrement
-supportés par mod_ssl ?</a></h3>
-<p>En général, tous les algorithmes de chiffrement supportés par la version
-d'OpenSSL installée, le sont aussi par <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. La liste des
-algorithmes disponibles peut dépendre de la manière dont vous avez installé
-OpenSSL. Typiquement, au moins les algorithmes suivants sont supportés :</p>
+supportés par mod_ssl ?</a></h3>
+<p>En général, tous les algorithmes de chiffrement supportés par la version
+d'OpenSSL installée, le sont aussi par <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. La liste des
+algorithmes disponibles peut dépendre de la manière dont vous avez installé
+OpenSSL. Typiquement, au moins les algorithmes suivants sont supportés :</p>
<ol>
<li>RC4 avec SHA1</li>
<li>Triple-DES avec SHA1</li>
</ol>
- <p>Pour déterminer la liste réelle des algorithmes disponibles, vous
+ <p>Pour déterminer la liste réelle des algorithmes disponibles, vous
pouvez utiliser la commande suivante :</p>
<div class="example"><p><code>$ openssl ciphers -v</code></p></div>
-<h3><a name="adh" id="adh">Pourquoi une erreur ``no shared cipher'' apparaît-elle
+<h3><a name="adh" id="adh">Pourquoi une erreur ``no shared cipher'' apparaît-elle
quand j'essaie d'utiliser un algorithme de chiffrement
Diffie-Hellman anonyme (ADH) ?</a></h3>
-<p>Par défaut et pour des raisons de sécurité, OpenSSl ne permet <em>pas</em>
+<p>Par défaut et pour des raisons de sécurité, OpenSSl ne permet <em>pas</em>
l'utilisation des algorithmes de chiffrements ADH. Veuillez vous informer
sur les effets pervers potentiels si vous choisissez d'activer le support
de ces algorithmes de chiffrements.</p>
<p>Pour pouvoir utiliser les algorithmes de chiffrements Diffie-Hellman
anonymes (ADH), vous devez compiler OpenSSL avec
-``<code>-DSSL_ALLOW_ADH</code>'', puis ajouter ``<code>ADH</code>'' à votre
+``<code>-DSSL_ALLOW_ADH</code>'', puis ajouter ``<code>ADH</code>'' à votre
directive <code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code>.</p>
<h3><a name="sharedciphers" id="sharedciphers">Pourquoi une erreur ``no shared cipher''
-apparaît-elle lorsqu'on se connecte à mon serveur
-fraîchement installé ?</a></h3>
-<p>Soit vous avez fait une erreur en définissant votre directive
+apparaît-elle lorsqu'on se connecte à mon serveur
+fraîchement installé ?</a></h3>
+<p>Soit vous avez fait une erreur en définissant votre directive
<code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code> (comparez-la avec
-l'exemple préconfiguré dans <code>extra/httpd-ssl.conf</code>), soit vous avez
+l'exemple préconfiguré dans <code>extra/httpd-ssl.conf</code>), soit vous avez
choisi d'utiliser des algorithmes DSA/DH au lieu de RSA lorsque vous avez
-généré votre clé privée, et avez ignoré ou êtes passé outre les
+généré votre clé privée, et avez ignoré ou êtes passé outre les
avertissements. Si vous avez choisi DSA/DH, votre serveur est incapable de
-communiquer en utilisant des algorithmes de chiffrements SSL basés sur RSA
-(du moins tant que vous n'aurez pas configuré une paire clé/certificat RSA
+communiquer en utilisant des algorithmes de chiffrements SSL basés sur RSA
+(du moins tant que vous n'aurez pas configuré une paire clé/certificat RSA
additionnelle). Les navigateurs modernes tels que NS ou IE ne peuvent
communiquer par SSL qu'avec des algorithmes RSA. C'est ce qui provoque l'erreur
-"no shared ciphers". Pour la corriger, générez une nouvelle paire
-clé/certificat pour le serveur en utilisant un algorithme de chiffrement
+"no shared ciphers". Pour la corriger, générez une nouvelle paire
+clé/certificat pour le serveur en utilisant un algorithme de chiffrement
RSA.</p>
-<h3><a name="vhosts" id="vhosts">Pourquoi ne peut-on pas utiliser SSL avec des hôtes
-virtuels identifiés par un nom et non par une adresse IP ?</a></h3>
-<p>La raison est très technique, et s'apparente au problème de la primauté de
+<h3><a name="vhosts" id="vhosts">Pourquoi ne peut-on pas utiliser SSL avec des hôtes
+virtuels identifiés par un nom et non par une adresse IP ?</a></h3>
+<p>La raison est très technique, et s'apparente au problème de la primauté de
l'oeuf ou de la poule. La couche du protocole SSL se trouve en dessous de la
-couche de protocole HTTP qu'elle encapsule. Lors de l'établissement d'une
-connexion SSL (HTTPS), Apache/mod_ssl doit négocier les paramètres du
+couche de protocole HTTP qu'elle encapsule. Lors de l'établissement d'une
+connexion SSL (HTTPS), Apache/mod_ssl doit négocier les paramètres du
protocole SSL avec le client. Pour cela, mod_ssl doit consulter la
-configuration du serveur virtuel (par exemple, il doit accéder à la suite
+configuration du serveur virtuel (par exemple, il doit accéder à la suite
d'algorithmes de chiffrement, au certificat du serveur, etc...). Mais afin de
-sélectionner le bon serveur virtuel, Apache doit connaître le contenu du champ
-d'en-tête HTTP <code>Host</code>. Pour cela, il doit lire l'en-tête de la
-requête HTTP. Mais il ne peut le faire tant que la négociation SSL n'est pas
-terminée, or, la phase de négociation SSL a besoin du nom d'hôte contenu
-dans l'en-tête de la requête. Voir la question suivante pour
-contourner ce problème.</p>
+sélectionner le bon serveur virtuel, Apache doit connaître le contenu du champ
+d'en-tête HTTP <code>Host</code>. Pour cela, il doit lire l'en-tête de la
+requête HTTP. Mais il ne peut le faire tant que la négociation SSL n'est pas
+terminée, or, la phase de négociation SSL a besoin du nom d'hôte contenu
+dans l'en-tête de la requête. Voir la question suivante pour
+contourner ce problème.</p>
<p>Notez que si votre certificat comporte un nom de serveur avec
- caractères génériques, ou des noms de serveurs multiples dans le
+ caractères génériques, ou des noms de serveurs multiples dans le
champ subjectAltName, vous pouvez utiliser SSL avec les serveurs
- virtuels à base de noms sans avoir à contourner ce problème.</p>
+ virtuels à base de noms sans avoir à contourner ce problème.</p>
<h3><a name="vhosts2" id="vhosts2">Est-il possible d'utiliser
-l'hébergement virtuel basé sur le nom d'hôte
-pour différencier plusieurs hôtes virtuels ?</a></h3>
- <p>L'hébergement virtuel basé sur le nom est une méthode très populaire
- d'identification des différents hôtes virtuels. Il permet d'utiliser la
- même adresse IP et le même numéro de port pour de nombreux sites
- différents. Lorsqu'on se tourne vers SSL, il semble tout naturel de penser
- que l'on peut appliquer la même méthode pour gérer plusieurs hôtes
- virtuels SSL sur le même serveur.</p>
+l'hébergement virtuel basé sur le nom d'hôte
+pour différencier plusieurs hôtes virtuels ?</a></h3>
+ <p>L'hébergement virtuel basé sur le nom est une méthode très populaire
+ d'identification des différents hôtes virtuels. Il permet d'utiliser la
+ même adresse IP et le même numéro de port pour de nombreux sites
+ différents. Lorsqu'on se tourne vers SSL, il semble tout naturel de penser
+ que l'on peut appliquer la même méthode pour gérer plusieurs hôtes
+ virtuels SSL sur le même serveur.</p>
<p>C'est possible, mais seulement si on utilise une version 2.2.12
- ou supérieure du serveur web compilée avec OpenSSL
- version 0.9.8j ou supérieure. Ceci est du au fait que
- l'utilisation de l'hébergement virtuel à base de nom
- avec SSL nécessite une fonctionnalité appelée
+ ou supérieure du serveur web compilée avec OpenSSL
+ version 0.9.8j ou supérieure. Ceci est du au fait que
+ l'utilisation de l'hébergement virtuel à base de nom
+ avec SSL nécessite une fonctionnalité appelée
Indication du Nom de Serveur (Server Name Indication - SNI) que
- seules les révisions les plus récentes de la
- spécification SSL supportent.</p>
+ seules les révisions les plus récentes de la
+ spécification SSL supportent.</p>
<p>Notez que si votre certificat comporte un nom de serveur avec
- caractères génériques, ou des noms de serveurs multiples dans le
+ caractères génériques, ou des noms de serveurs multiples dans le
champ subjectAltName, vous pouvez utiliser SSL avec les serveurs
- virtuels à base de noms sans avoir à contourner ce problème.</p>
-
- <p>La raison en est que le protocole SSL constitue une couche séparée qui
- encapsule le protocole HTTP. Aini, la session SSL nécessite une
- transaction séparée qui prend place avant que la session HTTP n'ait débuté.
- Le serveur reçoit une requête SSL sur l'adresse IP X et le port Y
- (habituellement 443). Comme la requête SSL ne contenait aucun
- en-tête Host:, le serveur n'avait aucun moyen de déterminer quel hôte virtuel SSL il
- devait utiliser. En général, il utilisait le premier
+ virtuels à base de noms sans avoir à contourner ce problème.</p>
+
+ <p>La raison en est que le protocole SSL constitue une couche séparée qui
+ encapsule le protocole HTTP. Aini, la session SSL nécessite une
+ transaction séparée qui prend place avant que la session HTTP n'ait débuté.
+ Le serveur reçoit une requête SSL sur l'adresse IP X et le port Y
+ (habituellement 443). Comme la requête SSL ne contenait aucun
+ en-tête Host:, le serveur n'avait aucun moyen de déterminer quel hôte virtuel SSL il
+ devait utiliser. En général, il utilisait le premier
qu'il trouvait et qui
- correspondait à l'adresse IP et au port spécifiés.</p>
+ correspondait à l'adresse IP et au port spécifiés.</p>
<p>Par contre, si vous utilisez des versions du serveur web et
d'OpenSSL qui supportent SNI, et si le navigateur du client le
- supporte aussi, alors le nom d'hôte sera inclus dans la
- requête SSL originale, et le serveur web pourra
- sélectionner le bon serveur virtuel SSL.</p>
+ supporte aussi, alors le nom d'hôte sera inclus dans la
+ requête SSL originale, et le serveur web pourra
+ sélectionner le bon serveur virtuel SSL.</p>
- <p>Bien entendu, vous pouvez utiliser l'hébergement virtuel basé sur le nom
- pour identifier de nombreux hôtes virtuels non-SSL
- (tous sur le port 80 par exemple), et ne gérer qu'un seul hôte virtuel SSL
- (sur le port 443). Mais dans ce cas, vous devez définir le numéro de port
- non-SSL à l'aide de la directive NameVirtualHost dans ce style :</p>
+ <p>Bien entendu, vous pouvez utiliser l'hébergement virtuel basé sur le nom
+ pour identifier de nombreux hôtes virtuels non-SSL
+ (tous sur le port 80 par exemple), et ne gérer qu'un seul hôte virtuel SSL
+ (sur le port 443). Mais dans ce cas, vous devez définir le numéro de port
+ non-SSL à l'aide de la directive NameVirtualHost dans ce style :</p>
<pre class="prettyprint lang-config">NameVirtualHost 192.168.1.1:80</pre>
<p>il existe d'autres solutions alternatives comme :</p>
- <p>Utiliser des adresses IP différentes pour chaque hôte SSL.
- Utiliser des numéros de port différents pour chaque hôte SSL.</p>
+ <p>Utiliser des adresses IP différentes pour chaque hôte SSL.
+ Utiliser des numéros de port différents pour chaque hôte SSL.</p>
<h3><a name="comp" id="comp">Comment mettre en oeuvre la compression SSL ?</a></h3>
-<p>Bien que la négociation pour la compression SSL ait été définie dans la
-spécification de SSLv2 et TLS, ce n'est qu'en mai 2004 que la RFC 3749 a
-défini DEFLATE comme une méthode de compression standard négociable.
+<p>Bien que la négociation pour la compression SSL ait été définie dans la
+spécification de SSLv2 et TLS, ce n'est qu'en mai 2004 que la RFC 3749 a
+défini DEFLATE comme une méthode de compression standard négociable.
</p>
-<p>Depuis la version 0.9.8, OpenSSL supporte cette compression par défaut
-lorsqu'il est compilé avec l'option <code>zlib</code>. Si le client et le
-serveur supportent la compression, elle sera utilisée. Cependant, la
+<p>Depuis la version 0.9.8, OpenSSL supporte cette compression par défaut
+lorsqu'il est compilé avec l'option <code>zlib</code>. Si le client et le
+serveur supportent la compression, elle sera utilisée. Cependant, la
plupart des clients essaient encore de se connecter avec un Hello SSLv2.
-Comme SSLv2 ne comportait pas de table des algorithmes de compression préférés
-dans sa négociation, la compression ne peut pas être négociée avec ces clients.
-Si le client désactive le support SSLv2, un Hello SSLv3 ou TLS peut être
-envoyé, selon la bibliothèque SSL utilisée, et la compression peut être mise
-en oeuvre. Vous pouvez vérifier si un client utilise la compression SSL en
+Comme SSLv2 ne comportait pas de table des algorithmes de compression préférés
+dans sa négociation, la compression ne peut pas être négociée avec ces clients.
+Si le client désactive le support SSLv2, un Hello SSLv3 ou TLS peut être
+envoyé, selon la bibliothèque SSL utilisée, et la compression peut être mise
+en oeuvre. Vous pouvez vérifier si un client utilise la compression SSL en
journalisant la variable <code>%{SSL_COMPRESS_METHOD}x</code>.
</p>
<h3><a name="lockicon" id="lockicon">Lorsque j'utilise l'authentification de base sur HTTPS,
-l'icône de verrouillage des navigateurs Netscape reste ouverte quand la boîte
-de dialogue d'authentification apparaît. Cela signifie-t-il que les utilisateur
-et mot de passe sont envoyés en clair ?</a></h3>
-<p>Non, le couple utilisateur/mot de passe est transmis sous forme chiffrée.
- L'icône de chiffrement dans les navigateurs Netscape n'est pas vraiment
- synchronisé avec la couche SSL/TLS. Il ne passe à l'état verrouillé
- qu'au moment où la première partie des données relatives à la page web
- proprement dite sont transférées, ce qui peut prêter à confusion. Le
- dispositif d'authentification de base appartient à la couche HTTP, qui
- est située au dessus de la couche SSL/TLS dans HTTPS. Avant tout
- transfert de données HTTP sous HTTPS, la couche SSL/TLS a déjà achevé
- sa phase de négociation et basculé dans le mode de communication
- chiffrée. Ne vous laissez donc pas abuser par l'état de cet icône.</p>
-
-
-<h3><a name="msie" id="msie">Pourquoi des erreurs d'entrée/sortie apparaissent-elles
-lorsqu'on se connecte via HTTPS à un serveur Apache+mod_ssl avec des
+l'icône de verrouillage des navigateurs Netscape reste ouverte quand la boîte
+de dialogue d'authentification apparaît. Cela signifie-t-il que les utilisateur
+et mot de passe sont envoyés en clair ?</a></h3>
+<p>Non, le couple utilisateur/mot de passe est transmis sous forme chiffrée.
+ L'icône de chiffrement dans les navigateurs Netscape n'est pas vraiment
+ synchronisé avec la couche SSL/TLS. Il ne passe à l'état verrouillé
+ qu'au moment où la première partie des données relatives à la page web
+ proprement dite sont transférées, ce qui peut prêter à confusion. Le
+ dispositif d'authentification de base appartient à la couche HTTP, qui
+ est située au dessus de la couche SSL/TLS dans HTTPS. Avant tout
+ transfert de données HTTP sous HTTPS, la couche SSL/TLS a déjà achevé
+ sa phase de négociation et basculé dans le mode de communication
+ chiffrée. Ne vous laissez donc pas abuser par l'état de cet icône.</p>
+
+
+<h3><a name="msie" id="msie">Pourquoi des erreurs d'entrée/sortie apparaissent-elles
+lorsqu'on se connecte via HTTPS à un serveur Apache+mod_ssl avec des
versions anciennes de
Microsoft Internet Explorer (MSIE) ?</a></h3>
-<p>La première raison en est la présence dans l'implémentation SSL de
+<p>La première raison en est la présence dans l'implémentation SSL de
certaines versions de MSIE de bogues subtils en rapport avec le
dispositif de "maintien en vie" (keep-alive) HTTP, et les alertes de
notification de fermeture de session SSL en cas de coupure de la
-connexion au point d'entrée (socket). De plus, l'interaction entre
-SSL et les fonctionnalités HTTP/1.1 pose problème avec certaines
-versions de MSIE. Vous pouvez contourner ces problèmes en interdisant
-à Apache l'utilisation de HTTP/1.1, les connexions avec maintien en vie
+connexion au point d'entrée (socket). De plus, l'interaction entre
+SSL et les fonctionnalités HTTP/1.1 pose problème avec certaines
+versions de MSIE. Vous pouvez contourner ces problèmes en interdisant
+à Apache l'utilisation de HTTP/1.1, les connexions avec maintien en vie
ou l'envoi de messages de notification de fermeture de session SSL aux
clients MSIE. Pour cela, vous pouvez utiliser la directive suivante
-dans votre section d'hôte virtuel avec support SSL :</p>
+dans votre section d'hôte virtuel avec support SSL :</p>
<pre class="prettyprint lang-config">SetEnvIf User-Agent "MSIE [2-5]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0</pre>
- <p>En outre, certaines versions de MSIE ont des problèmes avec des
- algorithmes de chiffrement particuliers. Hélas, il n'est pas
- possible d'apporter une solution spécifique à MSIE pour ces
- problèmes, car les algorithmes de chiffrement sont utilisés dès la
- phase de négociation SSL. Ainsi, une directive
- <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> spécifique
- à MSIE ne peut être d'aucun secours. Par contre, vous devrez
- ajuster les paramètres généraux de manière drastique. Avant de
- vous décider, soyez sûr que vos clients rencontrent vraiment des
- problèmes. Dans la négative, n'effectuez pas ces ajustements car
+ <p>En outre, certaines versions de MSIE ont des problèmes avec des
+ algorithmes de chiffrement particuliers. Hélas, il n'est pas
+ possible d'apporter une solution spécifique à MSIE pour ces
+ problèmes, car les algorithmes de chiffrement sont utilisés dès la
+ phase de négociation SSL. Ainsi, une directive
+ <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> spécifique
+ à MSIE ne peut être d'aucun secours. Par contre, vous devrez
+ ajuster les paramètres généraux de manière drastique. Avant de
+ vous décider, soyez sûr que vos clients rencontrent vraiment des
+ problèmes. Dans la négative, n'effectuez pas ces ajustements car
ils affecteront <em>tous</em> vos clients, ceux utilisant MSIE,
mais aussi les autres.</p>
<h3><a name="srp" id="srp">Comment activer TLS-SRP ?</a></h3>
- <p>TLS-SRP (Echange de clés avec mot de passe distant sécurisé,
- défini dans la RFC 5054) peut compléter ou même remplacer les
+ <p>TLS-SRP (Echange de clés avec mot de passe distant sécurisé,
+ défini dans la RFC 5054) peut compléter ou même remplacer les
certificats au cours de l'authentification d'une connexion SSL. Pour
- utiliser TLS-SRP, affectez à la directive <code class="directive"><a href="../mod/mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile</a></code> un fichier de
- vérification OpenSSL SRP. Pour créer ce fichier de vérification,
+ utiliser TLS-SRP, affectez à la directive <code class="directive"><a href="../mod/mod_ssl.html#sslsrpverifierfile">SSLSRPVerifierFile</a></code> un fichier de
+ vérification OpenSSL SRP. Pour créer ce fichier de vérification,
utilisez l'outil <code>openssl</code> :</p>
<div class="example"><p><code>
openssl srp -srpvfile passwd.srpv -add username
</code></p></div>
- <p>Une fois ce fichier créé, spécifiez-le dans la configuration SSL
+ <p>Une fois ce fichier créé, spécifiez-le dans la configuration SSL
du serveur :</p>
<div class="example"><p><code>
SSLSRPVerifierFile /path/to/passwd.srpv
</code></p></div>
- <p>Pour forcer les clients à utiliser des algorithmes de chiffrement
- non basés sur les certificats, utilisez la directive suivante :</p>
+ <p>Pour forcer les clients à utiliser des algorithmes de chiffrement
+ non basés sur les certificats, utilisez la directive suivante :</p>
<div class="example"><p><code>
SSLCipherSuite "!DSS:!aRSA:SRP"
</code></p></div>
-<h3><a name="javadh" id="javadh">Pourquoi des erreurs de négociation apparaissent
-avec les clients basés sur Java lorsqu'on utilise un certificat de plus
+<h3><a name="javadh" id="javadh">Pourquoi des erreurs de négociation apparaissent
+avec les clients basés sur Java lorsqu'on utilise un certificat de plus
de 1024 bits ?</a></h3>
- <p>Depuis la version 2.5.0-dev et à/c du 29/09/2013,
- <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> utilise des paramètres DH qui comportent
+ <p>Depuis la version 2.5.0-dev et à/c du 29/09/2013,
+ <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> utilise des paramètres DH qui comportent
des nombres premiers de plus de 1024 bits. Cependant, java 7 et ses versions
- antérieures ne supportent que les nombres premiers DH d'une longueur
+ antérieures ne supportent que les nombres premiers DH d'une longueur
maximale de 1024 bits.</p>
- <p>Si votre client basé sur Java s'arrête avec une exception telle
+ <p>Si votre client basé sur Java s'arrête avec une exception telle
que <code>java.lang.RuntimeException: Could not generate DH
keypair</code> et
<code>java.security.InvalidAlgorithmParameterException: Prime size
(inclusive)</code>, et si httpd enregistre le message <code>tlsv1
alert internal error (SSL alert number 80)</code> dans son journal
des erreurs (avec un <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code>
- <code>info</code> ou supérieur), vous pouvez soit réarranger la
- liste d'algorithmes de mod_ssl via la directive <code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code> (éventuellement en
+ <code>info</code> ou supérieur), vous pouvez soit réarranger la
+ liste d'algorithmes de mod_ssl via la directive <code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code> (éventuellement en
conjonction avec la directive <code class="directive"><a href="../mod/mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder</a></code>), soit utiliser des
- paramètres DH personnalisés avec un nombre
- premier de 1024 bits, paramètres qui seront toujours prioritaires
- par rapport à tout autre paramètre DH par défaut.</p>
+ paramètres DH personnalisés avec un nombre
+ premier de 1024 bits, paramètres qui seront toujours prioritaires
+ par rapport à tout autre paramètre DH par défaut.</p>
- <p>Pour générer des paramètres DH personnalisés, utilisez la
+ <p>Pour générer des paramètres DH personnalisés, utilisez la
commande <code>openssl dhparam 1024</code>. Vous pouvez aussi
- utiliser les paramètres DH standards issus de la <a href="http://www.ietf.org/rfc/rfc2409.txt">RFC 2409</a>, section 6.2 :</p>
+ utiliser les paramètres DH standards issus de la <a href="http://www.ietf.org/rfc/rfc2409.txt">RFC 2409</a>, section 6.2 :</p>
<div class="example"><pre>-----BEGIN DH PARAMETERS-----
MIGHAoGBAP//////////yQ/aoiFowjTExmKLgNwc0SkCTgiKZ8x0Agu+pjsTmyJR
Sgh5jjQE3e+VGbPNOkMbMCsKbfJfFDdP4TVtbVHCReSFtXZiXn7G9ExC6aY37WsL
/1y29Aa37e44a/taiZ+lrp8kEXxLH+ZJKGZR7OZTgf//////////AgEC
-----END DH PARAMETERS-----</pre></div>
- <p>Ajoute les paramètres personnalisés incluant les lignes "BEGIN DH
- PARAMETERS" et "END DH PARAMETERS" à la fin du premier fichier de
- certificat défini via la directive <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></code>.</p>
+ <p>Ajoute les paramètres personnalisés incluant les lignes "BEGIN DH
+ PARAMETERS" et "END DH PARAMETERS" à la fin du premier fichier de
+ certificat défini via la directive <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></code>.</p>
<h2><a name="support" id="support">Support de mod_ssl</a><a title="Lien permanent" href="#support" class="permalink">¶</a></h2>
<ul>
<li><a href="#resources">Quelles sont les sources d'informations
-disponibles en cas de problème avec mod_ssl ?</a></li>
+disponibles en cas de problème avec mod_ssl ?</a></li>
<li><a href="#contact">Qui peut-on contacter pour un support en cas de
-problème avec mod_ssl ?</a></li>
+problème avec mod_ssl ?</a></li>
<li><a href="#reportdetails">Quelles informations dois-je fournir lors
-de l'écriture d'un rapport de bogue ?</a></li>
-<li><a href="#coredumphelp">Un vidage mémoire s'est produit,
+de l'écriture d'un rapport de bogue ?</a></li>
+<li><a href="#coredumphelp">Un vidage mémoire s'est produit,
pouvez-vous m'aider ?</a></li>
<li><a href="#backtrace">Comment puis-je obtenir une journalisation de
-ce qui s'est passé, pour m'aider à trouver la raison de ce vidage
-mémoire ?</a></li>
+ce qui s'est passé, pour m'aider à trouver la raison de ce vidage
+mémoire ?</a></li>
</ul>
<h3><a name="resources" id="resources">Quelles sont les sources d'informations
-disponibles en cas de problème avec mod_ssl ?</a></h3>
+disponibles en cas de problème avec mod_ssl ?</a></h3>
<p>Voici les sources d'informations disponibles ; vous devez chercher
-ici en cas de problème.</p>
+ici en cas de problème.</p>
<dl>
- <dt>Vous trouverez des réponses dans la Foire Aux Questions du
+ <dt>Vous trouverez des réponses dans la Foire Aux Questions du
manuel utilisateur (ce document)</dt>
<dd><a href="http://httpd.apache.org/docs/trunk/ssl/ssl_faq.html">
http://httpd.apache.org/docs/trunk/ssl/ssl_faq.html</a><br />
Cherchez tout d'abord dans la foire aux questions
- (ce document). Si votre question est courante, on a déjà dû y
- répondre de nombreuses fois, et elle fait probablement partie
+ (ce document). Si votre question est courante, on a déjà dû y
+ répondre de nombreuses fois, et elle fait probablement partie
de ce document.
</dd>
</dl>
<h3><a name="contact" id="contact">Qui peut-on contacter pour un support en cas de
-problème avec mod_ssl ?</a></h3>
- <p>Voici toutes les possibilités de support pour mod_ssl, par ordre
- de préférence. Merci d'utiliser ces possibilités
- <em>dans cet ordre</em> - ne vous précipitez pas sur celle qui vous
- paraît la plus alléchante. </p>
+problème avec mod_ssl ?</a></h3>
+ <p>Voici toutes les possibilités de support pour mod_ssl, par ordre
+ de préférence. Merci d'utiliser ces possibilités
+ <em>dans cet ordre</em> - ne vous précipitez pas sur celle qui vous
+ paraît la plus alléchante. </p>
<ol>
- <li><em>Envoyez un rapport de problème à la liste de diffusion de
+ <li><em>Envoyez un rapport de problème à la liste de diffusion de
support des utilisateurs d'Apache httpd</em><br />
<a href="mailto:users@httpd.apache.org">
users@httpd.apache.org</a><br />
- C'est la deuxième manière de soumettre votre rapport de
- problème. Ici aussi, vous devez d'abord vous abonner à la
+ C'est la deuxième manière de soumettre votre rapport de
+ problème. Ici aussi, vous devez d'abord vous abonner à la
liste, mais vous pourrez ensuite discuter facilement de votre
- problème avec l'ensemble de la communauté d'utilisateurs
+ problème avec l'ensemble de la communauté d'utilisateurs
d'Apache httpd.
</li>
- <li><em>Ecrire un rapport de problème dans la base de données des
+ <li><em>Ecrire un rapport de problème dans la base de données des
bogues</em><br />
<a href="http://httpd.apache.org/bug_report.html">
http://httpd.apache.org/bug_report.html</a><br />
- C'est la dernière manière de soumettre votre rapport de
- problème. Vous ne devez utiliser cette solution que si vous
- avez déjà écrit aux listes de diffusion, et n'avez pas trouvé
+ C'est la dernière manière de soumettre votre rapport de
+ problème. Vous ne devez utiliser cette solution que si vous
+ avez déjà écrit aux listes de diffusion, et n'avez pas trouvé
de solution. Merci de suivre les instructions de la page
- mentionnée ci-dessus <em>avec soin</em>.
+ mentionnée ci-dessus <em>avec soin</em>.
</li>
</ol>
<h3><a name="reportdetails" id="reportdetails">Quelles informations dois-je fournir lors
-de l'écriture d'un rapport de bogue ?</a></h3>
+de l'écriture d'un rapport de bogue ?</a></h3>
<p>Vous devez toujours fournir au moins les informations
suivantes :</p>
<dl>
- <dt>Les versions d'Apache httpd et OpenSSL installées</dt>
- <dd>La version d'Apache peut être déterminée en exécutant
- <code>httpd -v</code>. La version d'OpenSSL peut être déterminée
- en exécutant <code>openssl version</code>. Si Lynx est installé,
- vous pouvez aussi exécuter la commande<code>lynx -mime_header
+ <dt>Les versions d'Apache httpd et OpenSSL installées</dt>
+ <dd>La version d'Apache peut être déterminée en exécutant
+ <code>httpd -v</code>. La version d'OpenSSL peut être déterminée
+ en exécutant <code>openssl version</code>. Si Lynx est installé,
+ vous pouvez aussi exécuter la commande<code>lynx -mime_header
http://localhost/ | grep Server</code> et ainsi obtenir ces
informations en une seule fois.
</dd>
- <dt>Les détails de votre installation d'Apache httpd et OpenSSL</dt>
+ <dt>Les détails de votre installation d'Apache httpd et OpenSSL</dt>
<dd>A cet effet, vous pouvez fournir un fichier journal de votre
- session de terminal qui montre les étapes de la configuration et
- de l'installation. En cas d'impossibilité, vous devez au moins
+ session de terminal qui montre les étapes de la configuration et
+ de l'installation. En cas d'impossibilité, vous devez au moins
fournir la ligne de commande <code class="program"><a href="../programs/configure.html">configure</a></code> que
- vous avez utilisée.
+ vous avez utilisée.
</dd>
- <dt>En cas de vidage mémoire, inclure une trace de ce qui s'est
- passé</dt>
+ <dt>En cas de vidage mémoire, inclure une trace de ce qui s'est
+ passé</dt>
<dd>Si votre serveur Apache httpd fait un vidage de sa
- mémoire, merci de fournir en pièce jointe un fichier contenant
- une trace de la zone dédiée à la pile (voir
- <a href="#backtrace">ci-dessous</a> pour des informations sur la manière
- de l'obtenir). Il est nécessaire de disposer de ces informations
- afin de pouvoir déterminer la raison de votre vidage mémoire.
+ mémoire, merci de fournir en pièce jointe un fichier contenant
+ une trace de la zone dédiée à la pile (voir
+ <a href="#backtrace">ci-dessous</a> pour des informations sur la manière
+ de l'obtenir). Il est nécessaire de disposer de ces informations
+ afin de pouvoir déterminer la raison de votre vidage mémoire.
</dd>
- <dt>Une description détaillée de votre problème</dt>
+ <dt>Une description détaillée de votre problème</dt>
- <dd>Ne riez pas, nous sommes sérieux ! De nombreux rapports
- n'incluent pas de description de la véritable nature du problème.
- Sans ces informations, il est très difficile pour quiconque de
- vous aider. Donc, et c'est votre propre intérêt (vous souhaitez
- que le problème soit résolu, n'est-ce pas ?), fournissez, s'il vous
- plait, le maximum de détails possible. Bien entendu, vous devez
- aussi inclure tout ce qui a été dit précédemment.
+ <dd>Ne riez pas, nous sommes sérieux ! De nombreux rapports
+ n'incluent pas de description de la véritable nature du problème.
+ Sans ces informations, il est très difficile pour quiconque de
+ vous aider. Donc, et c'est votre propre intérêt (vous souhaitez
+ que le problème soit résolu, n'est-ce pas ?), fournissez, s'il vous
+ plait, le maximum de détails possible. Bien entendu, vous devez
+ aussi inclure tout ce qui a été dit précédemment.
</dd>
</dl>
-<h3><a name="coredumphelp" id="coredumphelp">Un vidage mémoire s'est produit,
+<h3><a name="coredumphelp" id="coredumphelp">Un vidage mémoire s'est produit,
pouvez-vous m'aider ?</a></h3>
-<p>En général non, du moins tant que vous n'aurez pas fourni plus de
-détails à propos de la localisation dans le code où Apache a effectué
-son vidage mémoire. Ce dont nous avons en général besoin pour vous
-aider est une trace de ce qui s'est passé (voir la question suivante).
-Sans cette information, il est pratiquement impossible de déterminer
-la nature du problème et de vous aider à le résoudre.</p>
+<p>En général non, du moins tant que vous n'aurez pas fourni plus de
+détails à propos de la localisation dans le code où Apache a effectué
+son vidage mémoire. Ce dont nous avons en général besoin pour vous
+aider est une trace de ce qui s'est passé (voir la question suivante).
+Sans cette information, il est pratiquement impossible de déterminer
+la nature du problème et de vous aider à le résoudre.</p>
<h3><a name="backtrace" id="backtrace">Comment puis-je obtenir une journalisation de
-ce qui s'est passé, pour m'aider à trouver la raison de ce vidage
-mémoire ?</a></h3>
-<p>Vous trouverez ci-dessous les différentes étapes permettant
-d'obtenir une journalisation des évènements (backtrace) :</p>
+ce qui s'est passé, pour m'aider à trouver la raison de ce vidage
+mémoire ?</a></h3>
+<p>Vous trouverez ci-dessous les différentes étapes permettant
+d'obtenir une journalisation des évènements (backtrace) :</p>
<ol>
- <li>Assurez-vous que les symboles de débogage sont disponibles, au
- moins pour Apache. Pour cela, sur les plates-formes où GCC/GDB est
- utilisé, vous devez compiler Apache+mod_ssl avec l'option
+ <li>Assurez-vous que les symboles de débogage sont disponibles, au
+ moins pour Apache. Pour cela, sur les plates-formes où GCC/GDB est
+ utilisé, vous devez compiler Apache+mod_ssl avec l'option
``<code>OPTIM="-g -ggdb3"</code>''. Sur les autres plates-formes,
l'option ``<code>OPTIM="-g"</code>'' est un minimum.
</li>
- <li>Démarrez le serveur et essayez de reproduire le vidage mémoire.
+ <li>Démarrez le serveur et essayez de reproduire le vidage mémoire.
A cet effet, vous pouvez utiliser une directive du style
- ``<code>CoreDumpDirectory /tmp</code>'' pour être sûr que le
- fichier de vidage mémoire puisse bien être écrit. Vous devriez
+ ``<code>CoreDumpDirectory /tmp</code>'' pour être sûr que le
+ fichier de vidage mémoire puisse bien être écrit. Vous devriez
obtenir un fichier <code>/tmp/core</code> ou
<code>/tmp/httpd.core</code>. Si ce n'est pas le cas, essayez de
lancer votre serveur sous un UID autre que root.
- Pour des raisons de sécurité, de nombreux
- noyaux modernes de permettent pas à un processus de vider sa
- mémoire une fois qu'il a accompli un <code>setuid()</code> (à moins
+ Pour des raisons de sécurité, de nombreux
+ noyaux modernes de permettent pas à un processus de vider sa
+ mémoire une fois qu'il a accompli un <code>setuid()</code> (à moins
qu'il effectue un <code>exec()</code>) car des informations d'un
- niveau privilégié pourraient être transmises en mémoire. Si
- nécessaire, vous pouvez exécuter <code>/chemin/vers/httpd -X</code>
- manuellement afin de ne pas permettre à Apache de se clôner (fork).
+ niveau privilégié pourraient être transmises en mémoire. Si
+ nécessaire, vous pouvez exécuter <code>/chemin/vers/httpd -X</code>
+ manuellement afin de ne pas permettre à Apache de se clôner (fork).
</li>
- <li>Analysez le vidage mémoire. Pour cela, exécutez
+ <li>Analysez le vidage mémoire. Pour cela, exécutez
<code>gdb /path/to/httpd /tmp/httpd.core</code> ou une commande
- similaire. Dans GDB, tout ce que vous avez à faire est d'entrer
+ similaire. Dans GDB, tout ce que vous avez à faire est d'entrer
<code>bt</code>, et voila, vous obtenez la backtrace. Pour les
- débogueurs autres que GDB consulter le manuel correspondant.
+ débogueurs autres que GDB consulter le manuel correspondant.
</li>
</ol>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/ssl/ssl_faq.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/ssl/ssl_faq.html" title="Français"> fr </a></p>
+<a href="../fr/ssl/ssl_faq.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">SSL/TLS</a></div><div id="page-content"><div id="preamble"><h1>Chiffrement fort SSL/TLS : Mode d'emploi</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/ssl/ssl_howto.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/ssl/ssl_howto.html" title="Français"> fr </a></p>
+<a href="../fr/ssl/ssl_howto.html" title="Français"> fr </a></p>
</div>
-<p>Ce document doit vous permettre de démarrer et de faire fonctionner
+<p>Ce document doit vous permettre de démarrer et de faire fonctionner
une configuration de base. Avant de vous lancer dans l'application de
-techniques avancées, il est fortement recommandé de lire le reste
+techniques avancées, il est fortement recommandé de lire le reste
de la documentation SSL afin d'en comprendre le fonctionnement de
-manière plus approfondie.</p>
+manière plus approfondie.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configexample">Exemple de configuration basique</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ciphersuites">Suites d'algorithmes de chiffrement et mise en oeuvre du chiffrement fort</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ocspstapling">Agrafage OCSP</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#accesscontrol">Authentification du client et contrôle d'accès</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#accesscontrol">Authentification du client et contrôle d'accès</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#logging">Journalisation</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="warning">
-<p>Le "chiffrement fort est et a toujours été une cible mouvante. En outre, la
-définition du terme "fort" dépend de l'utilisation que vous allez faire de votre
-chiffrement, de vos modèles de menaces, et du niveau de risque que vous
-considérez comme acceptable. L'équipe du serveur HTTP Apache ne peut donc pas
-définir ce chiffrement fort à votre place.</p>
-<p>Dans ce document dont la dernière mise à jour remonte à la mi-2016, une
-"chiffrement fort" fait référence à une implémentation TLS qui fournit, en plus
-d'une protection basique de la confidentialité, de l'intégrité et de
-l'authenticité que tout utilisateur s'attend à trouver, toutes les
-fonctionnalités suivantes :</p>
+<p>Le "chiffrement fort est et a toujours été une cible mouvante. En outre, la
+définition du terme "fort" dépend de l'utilisation que vous allez faire de votre
+chiffrement, de vos modèles de menaces, et du niveau de risque que vous
+considérez comme acceptable. L'équipe du serveur HTTP Apache ne peut donc pas
+définir ce chiffrement fort à votre place.</p>
+<p>Dans ce document dont la dernière mise à jour remonte à la mi-2016, une
+"chiffrement fort" fait référence à une implémentation TLS qui fournit, en plus
+d'une protection basique de la confidentialité, de l'intégrité et de
+l'authenticité que tout utilisateur s'attend à trouver, toutes les
+fonctionnalités suivantes :</p>
<ul>
-<li>Une confidentialité persistante (Forward Secrecy) parfaite qui garantie que
-la découverte de la clé privée d'un serveur ne compromettra pas la
-condidentialité des communications TLS passées.</li>
+<li>Une confidentialité persistante (Forward Secrecy) parfaite qui garantie que
+la découverte de la clé privée d'un serveur ne compromettra pas la
+condidentialité des communications TLS passées.</li>
<li>Une protection contre les types d'attaque connus contre les anciennes
-implémentations SSL et TLS comme <a href="https://en.wikipedia.org/wiki/POODLE">POODLE</a> et <a href="https://en.wikipedia.org/wiki/Transport_Layer_Security#BEAST_attack">BEAST</a>.</li>
+implémentations SSL et TLS comme <a href="https://en.wikipedia.org/wiki/POODLE">POODLE</a> et <a href="https://en.wikipedia.org/wiki/Transport_Layer_Security#BEAST_attack">BEAST</a>.</li>
<li>Le support des algorithmes de chiffrement les plus efficaces disponibles sur
-les navigateurs web modernes (et à jour), ainsi que sur les autres clients HTTP.</li>
+les navigateurs web modernes (et à jour), ainsi que sur les autres clients HTTP.</li>
<li>Le <strong>Rejet</strong> des clients qui ne sont pas en mesure de respecter
-ces prérequis. En d'autres termes, un "chiffrement fort" implique que les
-clients obsolètes ne doivent pas avoir la possibilité de se connecter au serveur
-afin de les empêcher de mettre en danger leurs utilisateurs. Vous seul(e) êtes
-alors à même de décider si ce comportement est approprié à votre situation.</li>
+ces prérequis. En d'autres termes, un "chiffrement fort" implique que les
+clients obsolètes ne doivent pas avoir la possibilité de se connecter au serveur
+afin de les empêcher de mettre en danger leurs utilisateurs. Vous seul(e) êtes
+alors à même de décider si ce comportement est approprié à votre situation.</li>
</ul>
-<p>Notez cependant qu'un <em>chiffrement fort</em> ne suffit pas à lui seul pour
-assurer un niveau de <em>securité</em> fort (A titre d'exemple, les attaques
+<p>Notez cependant qu'un <em>chiffrement fort</em> ne suffit pas à lui seul pour
+assurer un niveau de <em>securité</em> fort (A titre d'exemple, les attaques
oracle sur la compression HTTP comme <a href="https://en.wikipedia.org/wiki/BREACH_(security_exploit)">BREACH</a>
-peuvent nécessiter des actions supplémentaires pour être éradiquées).</p>
+peuvent nécessiter des actions supplémentaires pour être éradiquées).</p>
</div>
<ul>
-<li><a href="#onlystrong">Comment créer un serveur SSL
+<li><a href="#onlystrong">Comment créer un serveur SSL
qui n'accepte que le chiffrement fort ?</a></li>
-<li><a href="#strongurl">Comment créer un serveur qui accepte de nombreux types de
-chiffrement en général, mais exige un chiffrement fort pour pouvoir
-accéder à une URL particulière ?</a></li>
+<li><a href="#strongurl">Comment créer un serveur qui accepte de nombreux types de
+chiffrement en général, mais exige un chiffrement fort pour pouvoir
+accéder à une URL particulière ?</a></li>
</ul>
-<h3><a name="onlystrong" id="onlystrong">Comment créer un serveur SSL qui n'accepte
+<h3><a name="onlystrong" id="onlystrong">Comment créer un serveur SSL qui n'accepte
que le chiffrement fort ?</a></h3>
<p>La configuration suivante active le "chiffrement fort" telle qu'il est
- défini ci-dessus, et s'inspire du document de la Fondation Mozilla sur les
- prérequis de <a href="https://wiki.mozilla.org/Security/Server_Side_TLS">Server Side
+ défini ci-dessus, et s'inspire du document de la Fondation Mozilla sur les
+ prérequis de <a href="https://wiki.mozilla.org/Security/Server_Side_TLS">Server Side
TLS</a> :</p>
- <pre class="prettyprint lang-config"># Configuration "moderne" définie en août 2016 par le générateur de
-# configuration SSL de la Fondation Mozilla. Ce dernier est disponible à
+ <pre class="prettyprint lang-config"># Configuration "moderne" définie en août 2016 par le générateur de
+# configuration SSL de la Fondation Mozilla. Ce dernier est disponible à
# https://mozilla.github.io/server-side-tls/ssl-config-generator/
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
-# De nombreux algorithmes de chiffrement définis ici nécessitent une version
-# récente (1.0.1 ou plus) d'OpenSSL. Certains nécessitent même OpenSSL 1.1.0
-# qui, à l'heure où ces lignes sont écrites, était encore en pre-release.
+# De nombreux algorithmes de chiffrement définis ici nécessitent une version
+# récente (1.0.1 ou plus) d'OpenSSL. Certains nécessitent même OpenSSL 1.1.0
+# qui, à l'heure où ces lignes sont écrites, était encore en pre-release.
SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
SSLHonorCipherOrder on
SSLCompression off
<ul>
- <li>SSL 3.0 et TLS 1.0 étant vulnérables à certaines attaques connues contre
- le protocole, ils ont été entièrement retirés.</li>
- <li>Actuellement (en août 2016), la désactivation de TLS 1.1 est facultative
- ; TLS 1.2 fournit des options de chiffrement plus évoluées, mais la version
- 1.1 n'est pas encore considérée comme obsolète. La désactivation de TLS 1.1
- peut cependant juguler des attaques contre certaines implémentations
- dépassées de TLS.</li>
+ <li>SSL 3.0 et TLS 1.0 étant vulnérables à certaines attaques connues contre
+ le protocole, ils ont été entièrement retirés.</li>
+ <li>Actuellement (en août 2016), la désactivation de TLS 1.1 est facultative
+ ; TLS 1.2 fournit des options de chiffrement plus évoluées, mais la version
+ 1.1 n'est pas encore considérée comme obsolète. La désactivation de TLS 1.1
+ peut cependant juguler des attaques contre certaines implémentations
+ dépassées de TLS.</li>
<li>La directive <code class="directive"><a href="../mod/mod_ssl.html#sslhonorcipherorder">SSLHonorCipherOrder</a></code>
- permet de s'assurer que ce sont les préférences de chiffrement du serveur
+ permet de s'assurer que ce sont les préférences de chiffrement du serveur
qui seront suivies, et non celles du client.</li>
- <li>La désactivation de <code class="directive"><a href="../mod/mod_ssl.html#sslcompression">SSLCompression</a></code> permet de prévenir les attaques
+ <li>La désactivation de <code class="directive"><a href="../mod/mod_ssl.html#sslcompression">SSLCompression</a></code> permet de prévenir les attaques
oracle sur la compression TLS (en autres <a href="https://en.wikipedia.org/wiki/CRIME">CRIME</a>).</li>
- <li>La désactivation de <code class="directive"><a href="../mod/mod_ssl.html#sslsessiontickets">SSLSessionTickets</a></code> permet de s'assurer que la
- qualité de la confidentialité persistante (Forward Secrecy) ne sera pas
- compromise, même si le serveur n'est pas redémarré régulièrement.</li>
+ <li>La désactivation de <code class="directive"><a href="../mod/mod_ssl.html#sslsessiontickets">SSLSessionTickets</a></code> permet de s'assurer que la
+ qualité de la confidentialité persistante (Forward Secrecy) ne sera pas
+ compromise, même si le serveur n'est pas redémarré régulièrement.</li>
</ul>
- <p>C'est votre version d'OpenSSL installée qui détermine la liste des
- algorithmes de chiffrement supportés par la directive <code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code>, et non le serveur. Pour pouvoir
- utiliser certains d'entre eux, vous devrez peut-être mettre à jour votre
+ <p>C'est votre version d'OpenSSL installée qui détermine la liste des
+ algorithmes de chiffrement supportés par la directive <code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code>, et non le serveur. Pour pouvoir
+ utiliser certains d'entre eux, vous devrez peut-être mettre à jour votre
version d'OpenSSL.</p>
-<h3><a name="strongurl" id="strongurl">Comment créer un serveur qui accepte de nombreux types de
-chiffrement en général, mais exige un chiffrement fort pour pouvoir
-accéder à une URL particulière ?</a></h3>
+<h3><a name="strongurl" id="strongurl">Comment créer un serveur qui accepte de nombreux types de
+chiffrement en général, mais exige un chiffrement fort pour pouvoir
+accéder à une URL particulière ?</a></h3>
- <p>Dans ce cas bien évidemment, une directive <code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code> au niveau du serveur principal
+ <p>Dans ce cas bien évidemment, une directive <code class="directive"><a href="../mod/mod_ssl.html#sslciphersuite">SSLCipherSuite</a></code> au niveau du serveur principal
qui restreint le choix des suites de chiffrement aux versions les plus
- fortes ne conviendra pas. <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> peut cependant être
- reconfiguré au sein de blocs <code>Location</code> qui permettent
- d'adapter la configuration générale à un répertoire spécifique ;
+ fortes ne conviendra pas. <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> peut cependant être
+ reconfiguré au sein de blocs <code>Location</code> qui permettent
+ d'adapter la configuration générale à un répertoire spécifique ;
<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> peut alors forcer automatiquement une
- renégociation des paramètres SSL pour parvenir au but recherché.
- Cette configuration peut se présenter comme suit :</p>
- <pre class="prettyprint lang-config"># soyons très tolérant a priori -- utilisons la suite d'algorithmes de
-# chiffrement "intermédiaire" de Mozilla (des suites plus légères peuvent aussi
-# être utilisées mais ne seront pas documentées ici)
+ renégociation des paramètres SSL pour parvenir au but recherché.
+ Cette configuration peut se présenter comme suit :</p>
+ <pre class="prettyprint lang-config"># soyons très tolérant a priori -- utilisons la suite d'algorithmes de
+# chiffrement "intermédiaire" de Mozilla (des suites plus légères peuvent aussi
+# être utilisées mais ne seront pas documentées ici)
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
<Location "/strong/area">
-# sauf pour https://hostname/strong/area/ et ses sous-répertoires qui exigent
+# sauf pour https://hostname/strong/area/ et ses sous-répertoires qui exigent
# des chiffrements forts
SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
</Location></pre>
<h2><a name="ocspstapling" id="ocspstapling">Agrafage OCSP</a><a title="Lien permanent" href="#ocspstapling" class="permalink">¶</a></h2>
-<p>Le protocole de contrôle du statut des certificats en ligne (Online
-Certificate Status Protocol - OCSP) est un mécanisme permettant de
-déterminer si un certificat a été révoqué ou non, et l'agrafage OCSP en
-est une fonctionnalité particulière par laquelle le serveur, par exemple
-httpd et mod_ssl, maintient une liste des réponses OCSP actuelles pour
+<p>Le protocole de contrôle du statut des certificats en ligne (Online
+Certificate Status Protocol - OCSP) est un mécanisme permettant de
+déterminer si un certificat a été révoqué ou non, et l'agrafage OCSP en
+est une fonctionnalité particulière par laquelle le serveur, par exemple
+httpd et mod_ssl, maintient une liste des réponses OCSP actuelles pour
ses certificats et l'envoie aux clients qui communiquent avec lui. La
-plupart des certificats contiennent l'adresse d'un répondeur OCSP maintenu
-par l'Autorité de Certification (CA) spécifiée, et mod_ssl peut requérir
-ce répondeur pour obtenir une réponse signée qui peut être envoyée aux
+plupart des certificats contiennent l'adresse d'un répondeur OCSP maintenu
+par l'Autorité de Certification (CA) spécifiée, et mod_ssl peut requérir
+ce répondeur pour obtenir une réponse signée qui peut être envoyée aux
clients qui communiquent avec le serveur.</p>
-<p>L'agrafage OCSP est la méthode la plus performante pour obtenir le
+<p>L'agrafage OCSP est la méthode la plus performante pour obtenir le
statut d'un certificat car il est disponible au niveau du serveur, et le
client n'a donc pas besoin d'ouvrir une nouvelle connexion vers
-l'autorité de certification. Autres avantages de l'absence de
-communication entre le client et l'autorité de certification :
-l'autorité de certification n'a pas accès à l'historique de navigation
+l'autorité de certification. Autres avantages de l'absence de
+communication entre le client et l'autorité de certification :
+l'autorité de certification n'a pas accès à l'historique de navigation
du client, et l'obtention du statut du certificat est plus efficace car
-elle n'est plus assujettie à une surcharge éventuelle des serveurs de
-l'autorité de certification.</p>
+elle n'est plus assujettie à une surcharge éventuelle des serveurs de
+l'autorité de certification.</p>
-<p>La charge du serveur est moindre car la réponse qu'il a obtenu du
-répondeur OCSP peut être réutilisée par tous les clients qui utilisent
-le même certificat dans la limite du temps de validité de la réponse.</p>
+<p>La charge du serveur est moindre car la réponse qu'il a obtenu du
+répondeur OCSP peut être réutilisée par tous les clients qui utilisent
+le même certificat dans la limite du temps de validité de la réponse.</p>
-<p>Une fois le support général SSL correctement configuré, l'activation
+<p>Une fois le support général SSL correctement configuré, l'activation
de l'agrafage OCSP ne requiert que des modifications mineures
-à la configuration de httpd et il suffit en général de l'ajout de ces
+à la configuration de httpd et il suffit en général de l'ajout de ces
deux directives :</p>
<pre class="prettyprint lang-config">SSLUseStapling On
SSLStaplingCache "shmcb:ssl_stapling(32768)"</pre>
-<p>Ces directives sont placées de façon à ce qu'elles aient une portée
-globale (et particulièrement en dehors de toute section VirtualHost), le
-plus souvent où sont placées les autres directives de configuration
+<p>Ces directives sont placées de façon à ce qu'elles aient une portée
+globale (et particulièrement en dehors de toute section VirtualHost), le
+plus souvent où sont placées les autres directives de configuration
globales SSL, comme <code>conf/extra/httpd-ssl.conf</code> pour les
-installations de httpd à partir des sources, ou
+installations de httpd à partir des sources, ou
<code>/etc/apache2/mods-enabled/ssl.conf</code> pour Ubuntu ou Debian,
etc...</p>
-<p>Cette directive <code class="directive">SSLStaplingCache</code> particulière
-nécessite le chargement du module <code class="module"><a href="../mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code> (à
-cause du préfixe <code>shmcb</code> de son argument). Ce module est en
-général déjà activé pour la directive
+<p>Cette directive <code class="directive">SSLStaplingCache</code> particulière
+nécessite le chargement du module <code class="module"><a href="../mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code> (à
+cause du préfixe <code>shmcb</code> de son argument). Ce module est en
+général déjà activé pour la directive
<code class="directive">SSLSessionCache</code>, ou pour des modules autres que
<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. Si vous activez un cache de session SSL
-utilisant un mécanisme autre que <code class="module"><a href="../mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code>,
-utilisez aussi ce mécanisme alternatif pour la directive
+utilisant un mécanisme autre que <code class="module"><a href="../mod/mod_socache_shmcb.html">mod_socache_shmcb</a></code>,
+utilisez aussi ce mécanisme alternatif pour la directive
<code class="directive">SSLStaplingCache</code>. Par exemple :</p>
<pre class="prettyprint lang-config">SSLSessionCache "dbm:ssl_scache"
SSLStaplingCache "dbm:ssl_stapling"</pre>
-<p>Vous pouvez utiliser la commande openssl pour vérifier que votre
-serveur envoie bien une réponse OCSP :</p>
+<p>Vous pouvez utiliser la commande openssl pour vérifier que votre
+serveur envoie bien une réponse OCSP :</p>
<pre>$ openssl s_client -connect www.example.com:443 -status -servername www.example.com
...
...</pre>
<p>Les sections suivantes explicitent les situations courantes qui
-requièrent des modifications supplémentaires de la configuration. Vous
-pouvez aussi vous référer au manuel de référence de
+requièrent des modifications supplémentaires de la configuration. Vous
+pouvez aussi vous référer au manuel de référence de
<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>.</p>
<h3>Si l'on utilise plus que quelques certificats SSL pour le serveur</h3>
-<p>Les réponses OCSP sont stockées dans le cache d'agrafage SSL. Alors
-que les réponses ont une taille de quelques centaines à quelques
-milliers d'octets, mod_ssl supporte des réponses d'une taille jusqu'à
-environ 10 ko. Dans notre cas, le nombre de certificats est conséquent
-et la taille du cache (32768 octets dans l'exemple ci-dessus) doit être
-augmentée. En cas d'erreur lors du stockage d'une réponse, le
-message AH01929 sera enregistré dans le journal.</p>
+<p>Les réponses OCSP sont stockées dans le cache d'agrafage SSL. Alors
+que les réponses ont une taille de quelques centaines à quelques
+milliers d'octets, mod_ssl supporte des réponses d'une taille jusqu'à
+environ 10 ko. Dans notre cas, le nombre de certificats est conséquent
+et la taille du cache (32768 octets dans l'exemple ci-dessus) doit être
+augmentée. En cas d'erreur lors du stockage d'une réponse, le
+message AH01929 sera enregistré dans le journal.</p>
-<h3>Si le certificat ne spécifie pas de répondeur OCSP, ou si une
-adresse différente doit être utilisée</h3>
+<h3>Si le certificat ne spécifie pas de répondeur OCSP, ou si une
+adresse différente doit être utilisée</h3>
-<p>Veuillez vous référer à la documentation de la directive <code class="directive"><a href="../mod/mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL</a></code>.</p>
+<p>Veuillez vous référer à la documentation de la directive <code class="directive"><a href="../mod/mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL</a></code>.</p>
-<p>Vous pouvez vérifier si un certificat spécifie un répondeur OCSP en
+<p>Vous pouvez vérifier si un certificat spécifie un répondeur OCSP en
utilisant la commande openssl comme suit :</p>
<pre>$ openssl x509 -in ./www.example.com.crt -text | grep 'OCSP.*http'
<p>Si un URI OCSP est fourni et si le serveur web peut communiquer
directement avec lui sans passer par un mandataire, aucune modification
-supplémentaire de la configuration n'est requise. Notez que les règles
-du pare-feu qui contrôlent les connexions sortantes en provenance du
-serveur web devront peut-être subir quelques ajustements.</p>
+supplémentaire de la configuration n'est requise. Notez que les règles
+du pare-feu qui contrôlent les connexions sortantes en provenance du
+serveur web devront peut-être subir quelques ajustements.</p>
-<p>Si aucun URI OCSP n'est fourni, contactez votre autorité de
+<p>Si aucun URI OCSP n'est fourni, contactez votre autorité de
certification pour savoir s'il en existe une ; si c'est le
-cas, utilisez la directive <code class="directive"><a href="../mod/mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL</a></code> pour la spécifier dans
+cas, utilisez la directive <code class="directive"><a href="../mod/mod_ssl.html#sslstaplingforceurl">SSLStaplingForceURL</a></code> pour la spécifier dans
la configuration du serveur virtuel qui utilise le certificat.</p>
-<h3>Si plusieurs serveurs virtuels sont configurés pour utiliser SSL
-et si l'agrafage OCSP doit être désactivé pour certains d'entre eux</h3>
+<h3>Si plusieurs serveurs virtuels sont configurés pour utiliser SSL
+et si l'agrafage OCSP doit être désactivé pour certains d'entre eux</h3>
-<p>Ajoutez la directive <code>SSLUseStapling Off</code> à la
+<p>Ajoutez la directive <code>SSLUseStapling Off</code> à la
configuration des serveurs virtuels pour lesquels l'agrafage OCSP doit
-être désactivé.</p>
+être désactivé.</p>
-<h3>Si le répondeur OCSP est lent ou instable</h3>
+<h3>Si le répondeur OCSP est lent ou instable</h3>
-<p>De nombreuses directives permettent de gérer les temps de réponse et
-les erreurs. Référez-vous à la documentation de <code class="directive"><a href="../mod/mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater</a></code>, <code class="directive"><a href="../mod/mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout</a></code>, et <code class="directive"><a href="../mod/mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></code>.</p>
+<p>De nombreuses directives permettent de gérer les temps de réponse et
+les erreurs. Référez-vous à la documentation de <code class="directive"><a href="../mod/mod_ssl.html#sslstaplingfaketrylater">SSLStaplingFakeTryLater</a></code>, <code class="directive"><a href="../mod/mod_ssl.html#sslstaplingrespondertimeout">SSLStaplingResponderTimeout</a></code>, et <code class="directive"><a href="../mod/mod_ssl.html#sslstaplingreturnrespondererrors">SSLStaplingReturnResponderErrors</a></code>.</p>
<h3>Si mod_ssl enregistre l'erreur AH02217 dans le journal</h3>
<pre>AH02217: ssl_stapling_init_cert: Can't retrieve issuer certificate!</pre>
<p>Afin de pouvoir supporter l'agrafage OCSP lorsqu'un certificat de
-serveur particulier est utilisé, une chaîne de certification pour ce
-certificat doit être spécifiée. Si cela n'a pas été fait lors de
-l'activation de SSL, l'erreur AH02217 sera enregistrée lorsque
-l'agrafage OCSP sera activé, et les clients qui utilisent le certificat
-considéré ne recevront pas de réponse OCSP.</p>
+serveur particulier est utilisé, une chaîne de certification pour ce
+certificat doit être spécifiée. Si cela n'a pas été fait lors de
+l'activation de SSL, l'erreur AH02217 sera enregistrée lorsque
+l'agrafage OCSP sera activé, et les clients qui utilisent le certificat
+considéré ne recevront pas de réponse OCSP.</p>
-<p>Veuillez vous référer à la documentation des directives <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile</a></code> et <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></code> pour spécifier une
-chaîne de certification.</p>
+<p>Veuillez vous référer à la documentation des directives <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatechainfile">SSLCertificateChainFile</a></code> et <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatefile">SSLCertificateFile</a></code> pour spécifier une
+chaîne de certification.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="accesscontrol" id="accesscontrol">Authentification du client et contrôle d'accès</a><a title="Lien permanent" href="#accesscontrol" class="permalink">¶</a></h2>
+<h2><a name="accesscontrol" id="accesscontrol">Authentification du client et contrôle d'accès</a><a title="Lien permanent" href="#accesscontrol" class="permalink">¶</a></h2>
<ul>
<li><a href="#allclients">Comment forcer les clients
-à s'authentifier à l'aide de certificats ?</a></li>
+à s'authentifier à l'aide de certificats ?</a></li>
<li><a href="#arbitraryclients">Comment forcer les clients
-à s'authentifier à l'aide de certificats pour une URL particulière,
-mais autoriser quand-même tout client anonyme
-à accéder au reste du serveur ?</a></li>
-<li><a href="#certauthenticate">Comment n'autoriser l'accès à une URL
-particulière qu'aux clients qui possèdent des certificats, mais autoriser
-l'accès au reste du serveur à tous les clients ?</a></li>
+à s'authentifier à l'aide de certificats pour une URL particulière,
+mais autoriser quand-même tout client anonyme
+à accéder au reste du serveur ?</a></li>
+<li><a href="#certauthenticate">Comment n'autoriser l'accès à une URL
+particulière qu'aux clients qui possèdent des certificats, mais autoriser
+l'accès au reste du serveur à tous les clients ?</a></li>
<li><a href="#intranet">Comment imposer HTTPS avec chiffrements forts,
et soit authentification de base, soit possession de certificats clients,
-pour l'accès à une partie de l'Intranet, pour les clients en
+pour l'accès à une partie de l'Intranet, pour les clients en
provenance de l'Internet ?</a></li>
</ul>
<h3><a name="allclients" id="allclients">Comment forcer les clients
-à s'authentifier à l'aide de certificats ?
+à s'authentifier à l'aide de certificats ?
</a></h3>
- <p>Lorsque vous connaissez tous vos clients (comme c'est en général le cas
+ <p>Lorsque vous connaissez tous vos clients (comme c'est en général le cas
au sein d'un intranet d'entreprise), vous pouvez imposer une
- authentification basée uniquement sur les certificats. Tout ce dont vous
- avez besoin pour y parvenir est de créer des certificats clients signés par
- le certificat de votre propre autorité de certification
- (<code>ca.crt</code>), et d'authentifier les clients à l'aide de ces
+ authentification basée uniquement sur les certificats. Tout ce dont vous
+ avez besoin pour y parvenir est de créer des certificats clients signés par
+ le certificat de votre propre autorité de certification
+ (<code>ca.crt</code>), et d'authentifier les clients à l'aide de ces
certificats.</p>
- <pre class="prettyprint lang-config"># exige un certificat client signé par le certificat de votre CA
+ <pre class="prettyprint lang-config"># exige un certificat client signé par le certificat de votre CA
# contenu dans ca.crt
SSLVerifyClient require
SSLVerifyDepth 1
<h3><a name="arbitraryclients" id="arbitraryclients">Comment forcer les clients
-à s'authentifier à l'aide de certificats pour une URL particulière,
-mais autoriser quand-même tout client anonyme
-à accéder au reste du serveur ?</a></h3>
+à s'authentifier à l'aide de certificats pour une URL particulière,
+mais autoriser quand-même tout client anonyme
+à accéder au reste du serveur ?</a></h3>
-<p>Pour forcer les clients à s'authentifier à l'aide de certificats pour une
-URL particulière, vous pouvez utiliser les fonctionnalités de reconfiguration
-de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> en fonction du répertoire :</p>
+<p>Pour forcer les clients à s'authentifier à l'aide de certificats pour une
+URL particulière, vous pouvez utiliser les fonctionnalités de reconfiguration
+de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> en fonction du répertoire :</p>
<pre class="prettyprint lang-config">SSLVerifyClient none
SSLCACertificateFile "conf/ssl.crt/ca.crt"
-<h3><a name="certauthenticate" id="certauthenticate">Comment n'autoriser l'accès à une URL
-particulière qu'aux clients qui possèdent des certificats, mais autoriser
-l'accès au reste du serveur à tous les clients ?</a></h3>
+<h3><a name="certauthenticate" id="certauthenticate">Comment n'autoriser l'accès à une URL
+particulière qu'aux clients qui possèdent des certificats, mais autoriser
+l'accès au reste du serveur à tous les clients ?</a></h3>
- <p>La clé du problème consiste à vérifier si une partie du certificat
- client correspond à ce que vous attendez. Cela signifie en général
- consulter tout ou partie du nom distinctif (DN), afin de vérifier s'il
- contient une chaîne connue. Il existe deux méthodes pour y parvenir ;
+ <p>La clé du problème consiste à vérifier si une partie du certificat
+ client correspond à ce que vous attendez. Cela signifie en général
+ consulter tout ou partie du nom distinctif (DN), afin de vérifier s'il
+ contient une chaîne connue. Il existe deux méthodes pour y parvenir ;
on utilise soit le module <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, soit la
directive <code class="directive"><a href="../mod/mod_ssl.html#sslrequire">SSLRequire</a></code>.</p>
- <p>La méthode du module <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> est en général
+ <p>La méthode du module <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> est en général
incontournable lorsque les certificats ont un contenu arbitraire, ou
lorsque leur DN ne contient aucun champ connu
(comme l'organisation, etc...). Dans ce cas, vous devez construire une base
- de données de mots de passe contenant <em>tous</em> les clients
- autorisés, comme suit :</p>
+ de données de mots de passe contenant <em>tous</em> les clients
+ autorisés, comme suit :</p>
<pre class="prettyprint lang-config">SSLVerifyClient none
SSLCACertificateFile "conf/ssl.crt/ca.crt"
- <p>Le mot de passe utilisé dans cet exemple correspond à la chaîne de
- caractères "password" chiffrée en DES. Voir la documentation de la
+ <p>Le mot de passe utilisé dans cet exemple correspond à la chaîne de
+ caractères "password" chiffrée en DES. Voir la documentation de la
directive <code class="directive"><a href="../mod/mod_ssl.html#ssloptions">SSLOptions</a></code> pour
- plus de détails.</p>
+ plus de détails.</p>
<div class="example"><h3>httpd.passwd</h3><pre>/C=DE/L=Munich/O=Snake Oil, Ltd./OU=Staff/CN=Foo:xxj31ZMTZzkVA
/C=US/L=S.F./O=Snake Oil, Ltd./OU=CA/CN=Bar:xxj31ZMTZzkVA
/C=US/L=L.A./O=Snake Oil, Ltd./OU=Dev/CN=Quux:xxj31ZMTZzkVA</pre></div>
- <p>Lorsque vos clients font tous partie d'une même hiérarchie, ce qui
- apparaît dans le DN, vous pouvez les authentifier plus facilement en
+ <p>Lorsque vos clients font tous partie d'une même hiérarchie, ce qui
+ apparaît dans le DN, vous pouvez les authentifier plus facilement en
utilisant la directive <code class="directive"><a href="../mod/mod_ssl.html#sslrequire">SSLRequire</a></code>, comme suit :</p>
<h3><a name="intranet" id="intranet">Comment imposer HTTPS avec chiffrements forts,
et soit authentification de base, soit possession de certificats clients,
-pour l'accès à une partie de l'Intranet, pour les clients en
-provenance de l'Internet ? Je souhaite quand-même autoriser l'accès en HTTP
+pour l'accès à une partie de l'Intranet, pour les clients en
+provenance de l'Internet ? Je souhaite quand-même autoriser l'accès en HTTP
aux clients de l'intranet.</a></h3>
<p>On suppose dans ces exemples que les clients de l'intranet ont des
adresses IP dans la gamme 192.168.1.0/24, et que la partie de l'intranet
- à laquelle vous voulez autoriser l'accès depuis l'Internet est
+ à laquelle vous voulez autoriser l'accès depuis l'Internet est
<code>/usr/local/apache2/htdocs/subarea</code>. Ces lignes de configuration
- doivent se trouver en dehors de votre hôte virtuel HTTPS, afin qu'elles
- s'appliquent à la fois à HTTP et HTTPS.</p>
+ doivent se trouver en dehors de votre hôte virtuel HTTPS, afin qu'elles
+ s'appliquent à la fois à HTTP et HTTPS.</p>
<pre class="prettyprint lang-config">SSLCACertificateFile "conf/ssl.crt/company-ca.crt"
<Directory "/usr/local/apache2/htdocs">
-# En dehors de subarea, seul l'accès depuis l'intranet est
-# autorisé
+# En dehors de subarea, seul l'accès depuis l'intranet est
+# autorisé
Require ip 192.168.1.0/24
</Directory>
<Directory "/usr/local/apache2/htdocs/subarea">
-# Dans subarea, tout accès depuis l'intranet est autorisé
-# mais depuis l'Internet, seul l'accès par HTTPS + chiffrement fort + Mot de passe
-# ou HTTPS + chiffrement fort + certificat client n'est autorisé.
+# Dans subarea, tout accès depuis l'intranet est autorisé
+# mais depuis l'Internet, seul l'accès par HTTPS + chiffrement fort + Mot de passe
+# ou HTTPS + chiffrement fort + certificat client n'est autorisé.
-# Si HTTPS est utilisé, on s'assure que le niveau de chiffrement est fort.
-# Autorise en plus les certificats clients comme une alternative à
+# Si HTTPS est utilisé, on s'assure que le niveau de chiffrement est fort.
+# Autorise en plus les certificats clients comme une alternative à
# l'authentification basique.
SSLVerifyClient optional
SSLVerifyDepth 1
SSLOptions +FakeBasicAuth +StrictRequire
SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128
- # ON oblige les clients venant d'Internet à utiliser HTTPS
+ # ON oblige les clients venant d'Internet à utiliser HTTPS
RewriteEngine on
RewriteCond "%{REMOTE_ADDR}" "!^192\.168\.1\.[0-9]+$"
RewriteCond "%{HTTPS}" "!=on"
RewriteRule "." "-" [F]
- # On permet l'accès soit sur les critères réseaux, soit par authentification Basique
+ # On permet l'accès soit sur les critères réseaux, soit par authentification Basique
Satisfy any
- # Contrôle d'accès réseau
+ # Contrôle d'accès réseau
Require ip 192.168.1.0/24
# Configuration de l'authentification HTTP Basique
<p><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> peut enregistrer des informations de
- débogage très verbeuses dans le journal des erreurs, lorsque sa
- directive <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> est définie
- à des niveaux de trace élevés. Par contre, sur un serveur très
- sollicité, le niveau <code>info</code> sera probablement déjà trop
- élevé. Souvenez-vous que vous pouvez configurer la directive
+ débogage très verbeuses dans le journal des erreurs, lorsque sa
+ directive <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> est définie
+ à des niveaux de trace élevés. Par contre, sur un serveur très
+ sollicité, le niveau <code>info</code> sera probablement déjà trop
+ élevé. Souvenez-vous que vous pouvez configurer la directive
<code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> par module afin de
- pourvoir à vos besoins.</p>
+ pourvoir à vos besoins.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/ssl/ssl_howto.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/ssl/ssl_howto.html" title="Français"> fr </a></p>
+<a href="../fr/ssl/ssl_howto.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">SSL/TLS</a></div><div id="page-content"><div id="preamble"><h1>Chiffrement SSL/TLS fort : Introduction</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/ssl/ssl_intro.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/ssl/ssl_intro.html" title="Français"> fr </a> |
+<a href="../fr/ssl/ssl_intro.html" title="Français"> fr </a> |
<a href="../ja/ssl/ssl_intro.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
-<p>Ce chapitre en guise d'introduction est destiné aux lecteurs pour lesquels
-le Web, HTTP et Apache sont familiers, mais ne sont pas des experts en matière
-de sécurité. Il n'a pas la prétention d'être un guide détaillé sur le
-protocole SSL, il ne traitera pas non plus des techniques spécifiques de gestion
-des certificats dans une organisation, ni des importants problèmes légaux de
-brevets ou des restrictions d'importation ou d'exportation. Il se veut plutôt
+<p>Ce chapitre en guise d'introduction est destiné aux lecteurs pour lesquels
+le Web, HTTP et Apache sont familiers, mais ne sont pas des experts en matière
+de sécurité. Il n'a pas la prétention d'être un guide détaillé sur le
+protocole SSL, il ne traitera pas non plus des techniques spécifiques de gestion
+des certificats dans une organisation, ni des importants problèmes légaux de
+brevets ou des restrictions d'importation ou d'exportation. Il se veut plutôt
une base de travail pour les utilisateurs de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> en
-rassemblant différents concepts, définitions et exemples comme point de départ
-pour une exploration plus détaillée.</p>
+rassemblant différents concepts, définitions et exemples comme point de départ
+pour une exploration plus détaillée.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#cryptographictech">Techniques de chiffrement</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#certificates">Certificats</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#ssl">Couche Points d'Accès Sécurisés - Secure Sockets Layer (SSL)</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#references">Références</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ssl">Couche Points d'Accès Sécurisés - Secure Sockets Layer (SSL)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#references">Références</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="cryptographictech" id="cryptographictech">Techniques de chiffrement</a><a title="Lien permanent" href="#cryptographictech" class="permalink">¶</a></h2>
-<p>La maîtrise de SSL nécessite la compréhension des algorithmes de
+<p>La maîtrise de SSL nécessite la compréhension des algorithmes de
chiffrement, des fonctions relatives aux empreintes de messages (comme les
-fonctions de type hash ou non réversibles), et des signatures numériques. Ces
-techniques pourraient faire l'objet d'un ouvrage à elles seules (voir par
+fonctions de type hash ou non réversibles), et des signatures numériques. Ces
+techniques pourraient faire l'objet d'un ouvrage à elles seules (voir par
exemple [<a href="#AC96">AC96</a>]) et constituent les bases de la
-confidentialité, de l'intégrité et de l'authentification.</p>
+confidentialité, de l'intégrité et de l'authentification.</p>
<h3><a name="cryptographicalgo" id="cryptographicalgo">Algorithmes de chiffrement</a></h3>
- <p>Supposons qu'Alice veuille envoyer un message à sa banque pour
- transférer une certaine somme. Alice souhaiterait que le message soit
- privé, car il contient des informations comme son numéro de compte et le
- montant du transfert. Une solution consisterait à utiliser un algorithme de
+ <p>Supposons qu'Alice veuille envoyer un message à sa banque pour
+ transférer une certaine somme. Alice souhaiterait que le message soit
+ privé, car il contient des informations comme son numéro de compte et le
+ montant du transfert. Une solution consisterait à utiliser un algorithme de
chiffrement, technique qui permet de remplacer un message par sa version
- chiffrée, illisible jusqu'à ce qu'elle soit déchiffrée.
- Sous sa forme chiffrée,
- le message ne peut être déchiffré qu'en utilisant une clé secrète. Sans la
- clé, le message est inutilisable : les bons algorithmes de chiffrement
+ chiffrée, illisible jusqu'à ce qu'elle soit déchiffrée.
+ Sous sa forme chiffrée,
+ le message ne peut être déchiffré qu'en utilisant une clé secrète. Sans la
+ clé, le message est inutilisable : les bons algorithmes de chiffrement
rendent si difficile la restitution du texte original par des intrus que
ceux-ci y gaspilleraient leurs efforts.</p>
- <p>Il existe deux catégories d'algorithmes de chiffrement : conventionnel
- ou à clé publique.</p>
+ <p>Il existe deux catégories d'algorithmes de chiffrement : conventionnel
+ ou à clé publique.</p>
<dl>
<dt>Chiffrement conventionnel</dt>
- <dd>aussi connu sous le nom de chiffrement symétrique, il nécessite le
- partage d'une clé entre l'expéditeur et le destinataire : une portion
- d'information secrète permettant de chiffrer et déchiffrer un message.
- Tant que cette clé reste secrète, personne à part l'expéditeur et le
+ <dd>aussi connu sous le nom de chiffrement symétrique, il nécessite le
+ partage d'une clé entre l'expéditeur et le destinataire : une portion
+ d'information secrète permettant de chiffrer et déchiffrer un message.
+ Tant que cette clé reste secrète, personne à part l'expéditeur et le
destinataire ne peut lire le message. Si Alice et sa banque partagent une
- clé secrète, ils peuvent donc s'envoyer l'un à l'autre des messages privés.
- Le fait de partager une clé entre l'expéditeur et le destinataire avant
- de communiquer, tout en la maintenant secrète vis à vis des autres, peut
- toutefois poser des problèmes.</dd>
-
- <dt>Chiffrement à clé publique</dt>
- <dd>aussi connu sous le nom de chiffrement asymétrique, il résoud le
- problème d'échange de clé en définissant un algorithme qui utilise deux
- clés, chacune d'entre elles pouvant être utilisée pour chiffrer un message.
- Si une des clés a été utilisée pour chiffrer le message, on doit utiliser
- l'autre clé pour le déchiffrer. Il est ainsi possible de recevoir des
- messages sécurisés simplement en rendant publique une des clés (la clé
- publique), et en gardant l'autre clé secrète (la clé privée).</dd>
+ clé secrète, ils peuvent donc s'envoyer l'un à l'autre des messages privés.
+ Le fait de partager une clé entre l'expéditeur et le destinataire avant
+ de communiquer, tout en la maintenant secrète vis à vis des autres, peut
+ toutefois poser des problèmes.</dd>
+
+ <dt>Chiffrement à clé publique</dt>
+ <dd>aussi connu sous le nom de chiffrement asymétrique, il résoud le
+ problème d'échange de clé en définissant un algorithme qui utilise deux
+ clés, chacune d'entre elles pouvant être utilisée pour chiffrer un message.
+ Si une des clés a été utilisée pour chiffrer le message, on doit utiliser
+ l'autre clé pour le déchiffrer. Il est ainsi possible de recevoir des
+ messages sécurisés simplement en rendant publique une des clés (la clé
+ publique), et en gardant l'autre clé secrète (la clé privée).</dd>
</dl>
- <p>Tout le monde peut chiffrer un message en utilisant la clé publique,
- mais seul le propriétaire de la clé privée sera en mesure de le lire. De
- cette façon, Alice peut envoyer des messages privés au propriétaire d'une
- paire de clés (sa banque), en les chiffrant à l'aide de la clé publique.
- Seule la banque sera en mesure de les déchiffrer.</p>
+ <p>Tout le monde peut chiffrer un message en utilisant la clé publique,
+ mais seul le propriétaire de la clé privée sera en mesure de le lire. De
+ cette façon, Alice peut envoyer des messages privés au propriétaire d'une
+ paire de clés (sa banque), en les chiffrant à l'aide de la clé publique.
+ Seule la banque sera en mesure de les déchiffrer.</p>
<h3><a name="messagedigests" id="messagedigests">Empreinte d'un message</a></h3>
- <p>Bien qu'Alice puisse chiffrer son message pour le rendre privé, il
+ <p>Bien qu'Alice puisse chiffrer son message pour le rendre privé, il
subsiste toujours le risque que quelqu'un puisse modifier le message
original ou le remplacer par un autre, afin d'effectuer le transfert de
- fonds à son profit, par exemple. Une solution pour garantir l'intégrité du
- message consisterait pour Alice à créer un résumé concentré de son message
- qu'elle enverrait à sa banque avec ce dernier. A la réception du message,
- la banque crée son propre résumé et le compare avec celui qu'Alice a
- envoyé. Si les deux résumés sont identiques, le message reçu n'a pas
- été modifié.</p>
-
- <p>Un résumé tel que celui-ci est appelé
- <dfn>empreinte numérique de message</dfn> (message digest),
- <em>fonction irréversible</em> (one-way function) ou
+ fonds à son profit, par exemple. Une solution pour garantir l'intégrité du
+ message consisterait pour Alice à créer un résumé concentré de son message
+ qu'elle enverrait à sa banque avec ce dernier. A la réception du message,
+ la banque crée son propre résumé et le compare avec celui qu'Alice a
+ envoyé. Si les deux résumés sont identiques, le message reçu n'a pas
+ été modifié.</p>
+
+ <p>Un résumé tel que celui-ci est appelé
+ <dfn>empreinte numérique de message</dfn> (message digest),
+ <em>fonction irréversible</em> (one-way function) ou
<em>fonction de hashage</em> (hash function). Une empreinte de message
- constitue une représentation courte et de longueur fixe, d'un message plus
- long et de longueur variable. Les algorithmes de création d'empreintes sont
- conçus pour produire une empreinte unique pour chaque message. Les
- empreintes de messages sont conçues pour que la restitution du message
- à partir de l'empreinte soit d'une difficulté insurmontable, et qu'il soit
- (en théorie) impossible de trouver deux messages différents qui produisent
- la même empreinte -- ce qui élimine la possibilité de remplacer un message
- par un autre en conservant la même empreinte.</p>
-
- <p>Trouver le moyen d'envoyer l'empreinte de manière sécurisée à la banque
- constitue un autre défit auquel Alice doit faire face ; si l'empreinte
- n'est pas envoyée de manière sécurisée, son intégrité peut être compromise,
- et avec elle, la possibilité pour la banque de vérifier l'intégrité du
- message original. L'intégrité du message ne peut être vérifiée que si
- l'empreinte qui lui est associée est envoyée de manière sécurisée.</p>
-
- <p>Une solution pour envoyer l'empreinte de manière sécurisée consiste à
- l'inclure dans une signature numérique.</p>
-
-
-<h3><a name="digitalsignatures" id="digitalsignatures">Signatures numériques</a></h3>
-<p>Quand Alice envoie un message à sa banque, cette dernière doit s'assurer
-que le message a bien été envoyé par elle, pour éviter qu'un intrus puisse
-effectuer une transaction sur son compte. Une <em>signature numérique</em>,
-créée par Alice et incluse dans le message, permet d'atteindre cet
+ constitue une représentation courte et de longueur fixe, d'un message plus
+ long et de longueur variable. Les algorithmes de création d'empreintes sont
+ conçus pour produire une empreinte unique pour chaque message. Les
+ empreintes de messages sont conçues pour que la restitution du message
+ à partir de l'empreinte soit d'une difficulté insurmontable, et qu'il soit
+ (en théorie) impossible de trouver deux messages différents qui produisent
+ la même empreinte -- ce qui élimine la possibilité de remplacer un message
+ par un autre en conservant la même empreinte.</p>
+
+ <p>Trouver le moyen d'envoyer l'empreinte de manière sécurisée à la banque
+ constitue un autre défit auquel Alice doit faire face ; si l'empreinte
+ n'est pas envoyée de manière sécurisée, son intégrité peut être compromise,
+ et avec elle, la possibilité pour la banque de vérifier l'intégrité du
+ message original. L'intégrité du message ne peut être vérifiée que si
+ l'empreinte qui lui est associée est envoyée de manière sécurisée.</p>
+
+ <p>Une solution pour envoyer l'empreinte de manière sécurisée consiste à
+ l'inclure dans une signature numérique.</p>
+
+
+<h3><a name="digitalsignatures" id="digitalsignatures">Signatures numériques</a></h3>
+<p>Quand Alice envoie un message à sa banque, cette dernière doit s'assurer
+que le message a bien été envoyé par elle, pour éviter qu'un intrus puisse
+effectuer une transaction sur son compte. Une <em>signature numérique</em>,
+créée par Alice et incluse dans le message, permet d'atteindre cet
objectif.</p>
-<p>Les signatures numériques peuvent être créées en chiffrant une empreinte de
-message, ainsi que d'autres informations (comme un numéro d'ordre) avec la clé
-privée de l'expéditeur. Bien que tout le monde puisse <em>déchiffrer</em> la
-signature à l'aide de la clé publique, seul l'expéditeur connait la clé privée.
-Ce qui implique que seul l'expéditeur peut avoir signé le message. Inclure
-l'empreinte dans la signature entraîne que cette dernière n'est valable que
-pour ce message ; ceci assure aussi l'intégrité du message car personne ne
+<p>Les signatures numériques peuvent être créées en chiffrant une empreinte de
+message, ainsi que d'autres informations (comme un numéro d'ordre) avec la clé
+privée de l'expéditeur. Bien que tout le monde puisse <em>déchiffrer</em> la
+signature à l'aide de la clé publique, seul l'expéditeur connait la clé privée.
+Ce qui implique que seul l'expéditeur peut avoir signé le message. Inclure
+l'empreinte dans la signature entraîne que cette dernière n'est valable que
+pour ce message ; ceci assure aussi l'intégrité du message car personne ne
peut modifier l'empreinte et ensuite signer le message.</p>
-<p>Afin de se prémunir contre l'interception et la réutilisation de la
+<p>Afin de se prémunir contre l'interception et la réutilisation de la
signature par un intrus quelques jours plus tard, la signature contient un
-numéro d'ordre unique. Ceci protège la banque contre une plainte frauduleuse
-de la part d'Alice alléguant qu'elle n'a pas envoyé le message --
-elle seule peut l'avoir signé (non-répudiation).</p>
+numéro d'ordre unique. Ceci protège la banque contre une plainte frauduleuse
+de la part d'Alice alléguant qu'elle n'a pas envoyé le message --
+elle seule peut l'avoir signé (non-répudiation).</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="certificates" id="certificates">Certificats</a><a title="Lien permanent" href="#certificates" class="permalink">¶</a></h2>
-<p>Bien qu'Alice soit parvenue à envoyer un message privé à sa banque, après
-l'avoir signé et avoir ainsi assuré l'intégrité du message, elle doit encore vérifier
-qu'elle communique réellement avec la banque. C'est à dire qu'elle doit
-s'assurer que la clé publique qu'elle utilise appartient bien à la paire de
-clés de la banque, et non à celle d'un intrus.
-De même, la banque doit vérifier que la
-signature du message a bien été construite avec la clé privée d'Alice.</p>
-
-<p>Si chaque partie possède un certificat qui valide l'identité de l'autre,
-confirme la clé publique, et est signé par un organisme de confiance, alors
-les deux protagonistes peuvent être sûrs que la personne avec laquelle ils
-communiquent est bien celle avec laquelle ils désirent le faire. Un tel
-organisme de confiance s'appelle une <em>Autorité de Certification</em>, et
-on utilise les certificats à des fins d'authentification.</p>
+<p>Bien qu'Alice soit parvenue à envoyer un message privé à sa banque, après
+l'avoir signé et avoir ainsi assuré l'intégrité du message, elle doit encore vérifier
+qu'elle communique réellement avec la banque. C'est à dire qu'elle doit
+s'assurer que la clé publique qu'elle utilise appartient bien à la paire de
+clés de la banque, et non à celle d'un intrus.
+De même, la banque doit vérifier que la
+signature du message a bien été construite avec la clé privée d'Alice.</p>
+
+<p>Si chaque partie possède un certificat qui valide l'identité de l'autre,
+confirme la clé publique, et est signé par un organisme de confiance, alors
+les deux protagonistes peuvent être sûrs que la personne avec laquelle ils
+communiquent est bien celle avec laquelle ils désirent le faire. Un tel
+organisme de confiance s'appelle une <em>Autorité de Certification</em>, et
+on utilise les certificats à des fins d'authentification.</p>
<h3><a name="certificatecontents" id="certificatecontents">Contenu d'un certificat</a></h3>
- <p>Un certificat associe une clé publique avec l'identité réelle d'un
- individu, d'un serveur, ou d'une autre entité plus connue sous le nom de
+ <p>Un certificat associe une clé publique avec l'identité réelle d'un
+ individu, d'un serveur, ou d'une autre entité plus connue sous le nom de
sujet. Comme on le voit dans le <a href="#table1">Tableau 1</a>, les
information concernant le sujet comprennent des informations
d'identification (le nom distinctif ou distinguished name - dn), ainsi que
- la clé publique. Il comporte aussi l'identification et la signature de
- l'autorité de certification qui a délivré le certificat, ainsi que la
- période de validité de ce dernier. Il peut aussi contenir des informations
- supplémentaires (ou extensions) telles que des informations de gestion
- destinées à l'autorité de certification, comme un numéro de série.</p>
+ la clé publique. Il comporte aussi l'identification et la signature de
+ l'autorité de certification qui a délivré le certificat, ainsi que la
+ période de validité de ce dernier. Il peut aussi contenir des informations
+ supplémentaires (ou extensions) telles que des informations de gestion
+ destinées à l'autorité de certification, comme un numéro de série.</p>
<h4><a name="table1" id="table1">Tableau 1: Information contenues dans un certificat</a></h4>
<table>
<tr><th>Sujet</th>
- <td>Nom distinctif, Clé publique</td></tr>
+ <td>Nom distinctif, Clé publique</td></tr>
<tr><th>Fournisseur</th>
<td>Nom distinctif, Signature</td></tr>
- <tr><th>Période de validité</th>
- <td>Pas avant, Pas après</td></tr>
+ <tr><th>Période de validité</th>
+ <td>Pas avant, Pas après</td></tr>
<tr><th>Informations de gestion</th>
- <td>Version, Numéro de série</td></tr>
+ <td>Version, Numéro de série</td></tr>
<tr><th>Extensions</th>
<td>Contraintes de base, Drapeaux Netscape, etc.</td></tr>
</table>
- <p>Un nom distinctif sert à fournir une identité dans un contexte
- spécifique -- par exemple, un individu peut posséder un certificat
- personnel, et aussi un certificat en tant qu'employé. Les noms distinctifs
- doivent respecter le standard X509 [<a href="#X509">X509</a>], qui définit
- les champs, les noms de champs, et les abréviations utilisées pour faire
- référence aux champs (voir <a href="#table2">Tableau 2</a>).</p>
+ <p>Un nom distinctif sert à fournir une identité dans un contexte
+ spécifique -- par exemple, un individu peut posséder un certificat
+ personnel, et aussi un certificat en tant qu'employé. Les noms distinctifs
+ doivent respecter le standard X509 [<a href="#X509">X509</a>], qui définit
+ les champs, les noms de champs, et les abréviations utilisées pour faire
+ référence aux champs (voir <a href="#table2">Tableau 2</a>).</p>
<h4><a name="table2" id="table2">Tableau 2: Informations contenues dans le nom distinctif</a></h4>
<table class="bordered">
<tr><th>Champ du DN</th>
- <th>Abrév.</th>
+ <th>Abrév.</th>
<th>Description</th>
<th>Exemple</th></tr>
<tr><td>Nom complet (Common Name)</td>
<td>CN</td>
- <td>Nom certifié</td>
+ <td>Nom certifié</td>
<td>CN=Joe Average</td></tr>
<tr><td>Organisation or Entreprise</td>
<td>O</td>
- <td>Nom est associé à cette<br />organisation</td>
+ <td>Nom est associé à cette<br />organisation</td>
<td>O=Snake Oil, Ltd.</td></tr>
- <tr><td>Unité organisationnelle (Organizational Unit)</td>
+ <tr><td>Unité organisationnelle (Organizational Unit)</td>
<td>OU</td>
- <td>Nom est associé avec cette <br />unité organisationnelle,
- par exemple un département</td>
+ <td>Nom est associé avec cette <br />unité organisationnelle,
+ par exemple un département</td>
<td>OU=Research Institute</td></tr>
<tr><td>Ville/Localisation</td>
<td>L</td>
- <td>Nom est localisé dans cette ville</td>
+ <td>Nom est localisé dans cette ville</td>
<td>L=Snake City</td></tr>
<tr><td>Etat/Province</td>
<td>ST</td>
- <td>Nom est localisé dans cet état/province</td>
+ <td>Nom est localisé dans cet état/province</td>
<td>ST=Desert</td></tr>
<tr><td>Pays</td>
<td>C</td>
- <td>Nom est localisé dans ce pays (code ISO)</td>
+ <td>Nom est localisé dans ce pays (code ISO)</td>
<td>C=XZ</td></tr>
</table>
- <p>Une autorité de certification peut définir une contrainte spécifiant
+ <p>Une autorité de certification peut définir une contrainte spécifiant
quels champs du nom distinctif sont optionnels et lesquels sont
obligatoires. Elle peut aussi imposer des contraintes sur le contenu des
champs, ce que peuvent aussi faire les utilisateurs de certificats. Par
exemple, un navigateur Netscape peut exiger, dans le cas d'un certificat
- de serveur, que le nom complet (Common Name) corresponde à un nom générique
+ de serveur, que le nom complet (Common Name) corresponde à un nom générique
contenant le nom de domaine du serveur, comme
<code>*.snakeoil.com</code>.</p>
- <p>Le format binaire d'un certificat est défini en utilisant la
+ <p>Le format binaire d'un certificat est défini en utilisant la
notation ASN.1 [<a href="#ASN1">ASN1</a>] [<a href="#PKCS">PKCS</a>].
- Cette notation definit la manière de spécifier les contenus, et les règles
- d'encodage définissent la manière dont ces information sont converties au
- format binaire. L'encodage binaire du certificat est défini par les Règles
+ Cette notation definit la manière de spécifier les contenus, et les règles
+ d'encodage définissent la manière dont ces information sont converties au
+ format binaire. L'encodage binaire du certificat est défini par les Règles
d'Encodage Distinctives (Distinguished Encoding Rules - DER), qui se basent
- d'une manière plus générale sur les Règles d'Encodage de Base (Basic
+ d'une manière plus générale sur les Règles d'Encodage de Base (Basic
Encoding Rules - BER). Pour les transmissions qui ne supportent pas le
- format binaire, ce dernier peut être converti au format ASCII en utilisant
- le codage Base64 [<a href="#MIME">MIME</a>]. Lorsqu'il est placé entre des
- délimiteurs de début et de fin (comme ci-dessous), on dit que le certificat
- est encodé au format PEM ("Privacy Enhanced Mail").</p>
+ format binaire, ce dernier peut être converti au format ASCII en utilisant
+ le codage Base64 [<a href="#MIME">MIME</a>]. Lorsqu'il est placé entre des
+ délimiteurs de début et de fin (comme ci-dessous), on dit que le certificat
+ est encodé au format PEM ("Privacy Enhanced Mail").</p>
- <div class="example"><h3>Exemple de certificat encodé au format PEM (snakeoil.crt)</h3><pre>-----BEGIN CERTIFICATE-----
+ <div class="example"><h3>Exemple de certificat encodé au format PEM (snakeoil.crt)</h3><pre>-----BEGIN CERTIFICATE-----
MIIC7jCCAlegAwIBAgIBATANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCWFkx
FTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25ha2UgVG93bjEXMBUG
A1UEChMOU25ha2UgT2lsLCBMdGQxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhv
-----END CERTIFICATE-----</pre></div>
-<h3><a name="certificateauthorities" id="certificateauthorities">Autorités de certification</a></h3>
+<h3><a name="certificateauthorities" id="certificateauthorities">Autorités de certification</a></h3>
- <p>En vérifiant les informations contenues dans une demande de certificat
- avant de l'accorder, l'autorité de certification s'assure de l'identité du
- propriétaire de la clé privée issue de sa paire de clés. Par exemple, Si
- Alice demande un certificat personnel, l'autorité de certification doit
- d'abord s'assurer qu'elle correspond vraiment à la personne à laquelle
- la demande de certificat fait référence.</p>
+ <p>En vérifiant les informations contenues dans une demande de certificat
+ avant de l'accorder, l'autorité de certification s'assure de l'identité du
+ propriétaire de la clé privée issue de sa paire de clés. Par exemple, Si
+ Alice demande un certificat personnel, l'autorité de certification doit
+ d'abord s'assurer qu'elle correspond vraiment à la personne à laquelle
+ la demande de certificat fait référence.</p>
- <h4><a name="certificatechains" id="certificatechains">Chaînes de certification</a></h4>
+ <h4><a name="certificatechains" id="certificatechains">Chaînes de certification</a></h4>
- <p>Une autorité de certification peut aussi émettre un certificat à
+ <p>Une autorité de certification peut aussi émettre un certificat à
destination d'une
- autre autorité de certification. Pour vérifier un certificat, Alice
- peut être amenée à vérifier le certificat de l'émetteur pour chaque
- autorité de certification parente, jusqu'à ce qu'elle en atteigne une
+ autre autorité de certification. Pour vérifier un certificat, Alice
+ peut être amenée à vérifier le certificat de l'émetteur pour chaque
+ autorité de certification parente, jusqu'à ce qu'elle en atteigne une
en qui elle a confiance. Elle peut aussi ne faire confiance qu'aux
- certificats faisant l'objet d'une chaîne limitée d'émetteurs, afin
- de réduire le risque de rencontrer un "mauvais" certificat dans la
- chaîne.</p>
+ certificats faisant l'objet d'une chaîne limitée d'émetteurs, afin
+ de réduire le risque de rencontrer un "mauvais" certificat dans la
+ chaîne.</p>
- <h4><a name="rootlevelca" id="rootlevelca">Création d'une autorité de certification racine</a></h4>
+ <h4><a name="rootlevelca" id="rootlevelca">Création d'une autorité de certification racine</a></h4>
- <p>Comme indiqué plus haut, chaque certificat nécessite la validation
- de l'identité du sujet par un émetteur de certificats
- de niveau supérieur, et ceci en
- remontant jusqu'à l'Autorité de Certification (CA) racine. Ceci pose un
- problème : qui va se porter garant du certificat de l'autorité racine
- qui ne possède pas d'émetteur de certificat ? C'est uniquement dans ce
- cas que le certificat est auto-signé, l'émetteur du certificat et son
- sujet étant confondus. Les navigateurs sont préconfigurés avec une
- liste d'autorités de certification de confiance, mais il est important
- d'être extrèmement prudent avant de faire confiance à un certificat
- auto-signé. La large publication d'une clé publique par l'autorité
- racine réduit cependant les risques encourus
- en faisant confiance à cette clé --
- si quelqu'un publiait une clé en se faisant passer pour l'autorité, il
- serait vite démasqué.</p>
+ <p>Comme indiqué plus haut, chaque certificat nécessite la validation
+ de l'identité du sujet par un émetteur de certificats
+ de niveau supérieur, et ceci en
+ remontant jusqu'à l'Autorité de Certification (CA) racine. Ceci pose un
+ problème : qui va se porter garant du certificat de l'autorité racine
+ qui ne possède pas d'émetteur de certificat ? C'est uniquement dans ce
+ cas que le certificat est auto-signé, l'émetteur du certificat et son
+ sujet étant confondus. Les navigateurs sont préconfigurés avec une
+ liste d'autorités de certification de confiance, mais il est important
+ d'être extrèmement prudent avant de faire confiance à un certificat
+ auto-signé. La large publication d'une clé publique par l'autorité
+ racine réduit cependant les risques encourus
+ en faisant confiance à cette clé --
+ si quelqu'un publiait une clé en se faisant passer pour l'autorité, il
+ serait vite démasqué.</p>
<p>Quelques compagnies, comme <a href="http://www.thawte.com/">Thawte</a> et <a href="http://www.verisign.com/">VeriSign</a>,
- se sont proclamées elles-mêmes Autorités de Certification. Ces
+ se sont proclamées elles-mêmes Autorités de Certification. Ces
compagnies proposent les services suivant :</p>
<ul>
- <li>Vérification des demandes de certificats</li>
+ <li>Vérification des demandes de certificats</li>
<li>Traitement des demandes de certificats</li>
<li>Emission et gestion des certificats</li>
</ul>
- <p>Vous pouvez aussi créer votre propre autorité de certification. Bien
- que risqué dans l'environnement de l'Internet, ceci peut s'avérer utile
- dans un Intranet, où l'organisme peut vérifier facilement les identités
+ <p>Vous pouvez aussi créer votre propre autorité de certification. Bien
+ que risqué dans l'environnement de l'Internet, ceci peut s'avérer utile
+ dans un Intranet, où l'organisme peut vérifier facilement les identités
des individus et des serveurs.</p>
<h4><a name="certificatemanagement" id="certificatemanagement">Gestion des certificats</a></h4>
- <p>Constituer une autorité de certification représente une
- responsabilité qui nécessite une solide infrastructure administrative,
- technique et gestionnaire. Les autorités de certification ne se
- contentent pas d'émettre des certificats, elles doivent aussi les gérer
- -- à savoir elles déterminent leur durée de validité, elles les
+ <p>Constituer une autorité de certification représente une
+ responsabilité qui nécessite une solide infrastructure administrative,
+ technique et gestionnaire. Les autorités de certification ne se
+ contentent pas d'émettre des certificats, elles doivent aussi les gérer
+ -- à savoir elles déterminent leur durée de validité, elles les
renouvellent, et elles maintiennent des listes de certificats qui ont
- été émis dans le passé mais ne sont plus valides (Listes de révocations
+ été émis dans le passé mais ne sont plus valides (Listes de révocations
de certificats, ou CRLs).</p>
<p>Par exemple, si Alice est titulaire d'un certificat en tant
- qu'employée d'une compagnie, mais vient de quitter cette compagnie,
- son certificat doit être révoqué. Comme les certificats ne sont émis
- qu'après vérification de l'identité du sujet, et peuvent être envoyés
- à tous ceux avec lesquels le sujet peut communiquer, il est impossible
- de discerner à partir du seul certificat s'il a été révoqué. Pour
- vérifier la validité d'un certificat, il est donc nécessaire de
- contacter l'autorité de certification qui l'a émis afin de pouvoir
- consulter ses listes de révocations de certificats -- ce qui n'est
- en général pas une partie automatique du processus.</p>
+ qu'employée d'une compagnie, mais vient de quitter cette compagnie,
+ son certificat doit être révoqué. Comme les certificats ne sont émis
+ qu'après vérification de l'identité du sujet, et peuvent être envoyés
+ à tous ceux avec lesquels le sujet peut communiquer, il est impossible
+ de discerner à partir du seul certificat s'il a été révoqué. Pour
+ vérifier la validité d'un certificat, il est donc nécessaire de
+ contacter l'autorité de certification qui l'a émis afin de pouvoir
+ consulter ses listes de révocations de certificats -- ce qui n'est
+ en général pas une partie automatique du processus.</p>
<div class="note"><h3>Note</h3>
- <p>Si votre autorité de certification ne fait pas partie de la liste
- des autorités de confiance de votre navigateur, il faut enregistrer le
- certificat de l'autorité de certification dans ce dernier, ce qui lui
- permettra de valider les certificats de serveurs signés par cette
- autorité de certification. Ceci peut être dangereux, car une fois le
- certificat enregistré, le navigateur acceptera tous les certificats
- signés par cette autorité de certification.</p>
+ <p>Si votre autorité de certification ne fait pas partie de la liste
+ des autorités de confiance de votre navigateur, il faut enregistrer le
+ certificat de l'autorité de certification dans ce dernier, ce qui lui
+ permettra de valider les certificats de serveurs signés par cette
+ autorité de certification. Ceci peut être dangereux, car une fois le
+ certificat enregistré, le navigateur acceptera tous les certificats
+ signés par cette autorité de certification.</p>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="ssl" id="ssl">Couche Points d'Accès Sécurisés - Secure Sockets Layer (SSL)</a><a title="Lien permanent" href="#ssl" class="permalink">¶</a></h2>
+<h2><a name="ssl" id="ssl">Couche Points d'Accès Sécurisés - Secure Sockets Layer (SSL)</a><a title="Lien permanent" href="#ssl" class="permalink">¶</a></h2>
-<p>Le protocole Couche Points d'Accès Sécurisés est une couche protocolaire
-qui pourrait s'intercaler entre un protocole d'une couche réseau orientée
+<p>Le protocole Couche Points d'Accès Sécurisés est une couche protocolaire
+qui pourrait s'intercaler entre un protocole d'une couche réseau orientée
connexion (comme TCP/IP) et une couche protocolaire d'application (comme HTTP).
-SSL fournit une communication sécurisée entre client et serveur en permettant
-l'authentification mutuelle, l'utilisation des signatures numériques pour la
-vérification de l'intégrité des données, et le chiffrement pour la
-confidentialité.</p>
-
-<p>Ce protocole est conçu pour supporter un grand choix d'algorithmes
-spécifiques utilisés pour la cryptographie, les empreintes et les signatures.
-Ceci permet la sélection d'un algorithme pour des serveurs spécifiques en
-respectant la légalité, les règles d'exportation ou autres contraintes, et
+SSL fournit une communication sécurisée entre client et serveur en permettant
+l'authentification mutuelle, l'utilisation des signatures numériques pour la
+vérification de l'intégrité des données, et le chiffrement pour la
+confidentialité.</p>
+
+<p>Ce protocole est conçu pour supporter un grand choix d'algorithmes
+spécifiques utilisés pour la cryptographie, les empreintes et les signatures.
+Ceci permet la sélection d'un algorithme pour des serveurs spécifiques en
+respectant la légalité, les règles d'exportation ou autres contraintes, et
permet aussi au protocole de tirer parti des nouveaux algorithmes. Ces choix
-font l'objet d'une négociation entre client et serveur lors de
-l'établissement de la session protocolaire.</p>
+font l'objet d'une négociation entre client et serveur lors de
+l'établissement de la session protocolaire.</p>
<h3><a name="table4" id="table4">Tableau 4: Versions du protocole SSL</a></h3>
</tr>
<tr><td>SSL v2.0</td>
<td>Standard du fournisseur (de Netscape Corp.)</td>
- <td>Premier protocole SSL pour lequel il existe des implémentations</td>
+ <td>Premier protocole SSL pour lequel il existe des implémentations</td>
</tr>
<tr><td>SSL v3.0</td>
- <td>Projet Internet arrivé à expiration (de Netscape Corp.) [<a href="#SSL3">SSL3</a>]</td>
- <td>Comporte des révisions permettant de prévenir certaines attaques de
- sécurité spécifiques, ajout de chiffrements non RSA, et support des
- chaînes de certification</td>
+ <td>Projet Internet arrivé à expiration (de Netscape Corp.) [<a href="#SSL3">SSL3</a>]</td>
+ <td>Comporte des révisions permettant de prévenir certaines attaques de
+ sécurité spécifiques, ajout de chiffrements non RSA, et support des
+ chaînes de certification</td>
</tr>
<tr><td>TLS v1.0</td>
- <td>Standard proposé pour l'Internet (de l'IETF) [<a href="#TLS1">TLS1</a>]</td>
- <td>Révision de SSL 3.0 pour mettre à jour la couche MAC vers HMAC,
+ <td>Standard proposé pour l'Internet (de l'IETF) [<a href="#TLS1">TLS1</a>]</td>
+ <td>Révision de SSL 3.0 pour mettre à jour la couche MAC vers HMAC,
ajout du bourrage de bloc pour le chiffrement de bloc, standardisation
de l'ordonnancement des messages et plus de messages d'alerte.</td>
</tr>
<tr><td>TLS v1.1</td>
- <td>Standard proposé pour l'Internet (de l'IETF) [<a href="#TLS11">TLS11</a>]</td>
- <td>Mise à jour de TLS 1.0 pour la protection contre les
+ <td>Standard proposé pour l'Internet (de l'IETF) [<a href="#TLS11">TLS11</a>]</td>
+ <td>Mise à jour de TLS 1.0 pour la protection contre les
attaques de type Cipher block chaining (CBC).</td>
</tr>
<tr><td>TLS v1.2</td>
- <td>Standard proposé pour l'Internet (de l'IETF) [<a href="#TLS12">TLS12</a>]</td>
- <td>Mise à jour de TLS 1.1 rendant les condensés MD5 obsolètes,
- et introduisant une incompatibilité avec SSL ce qui interdit toute
- négociation en vue d'une utilisation de SSLv2.</td>
+ <td>Standard proposé pour l'Internet (de l'IETF) [<a href="#TLS12">TLS12</a>]</td>
+ <td>Mise à jour de TLS 1.1 rendant les condensés MD5 obsolètes,
+ et introduisant une incompatibilité avec SSL ce qui interdit toute
+ négociation en vue d'une utilisation de SSLv2.</td>
</tr>
</table>
<p>Il existe plusieurs versions du protocole SSL, comme le montre le
-<a href="#table4">Tableau 4</a>. Comme indiqué dans ce dernier, un des apports
-de SSL 3.0 est le support du chargement des chaînes de certification. Cette
-fonctionnalité permet à un serveur de passer au navigateur un certificat de
-serveur accompagné du certificat de l'émetteur. Le chargement de la
-chaîne permet aussi au navigateur de valider le certificat du serveur, même si
-les certificats de l'autorité de certification ne sont pas installés pour les
-émetteurs intermédiaires, car ils sont inclus dans la chaîne de certification.
-SSL 3.0 sert de base au standard du protocole Sécurité de la Couche Transport
+<a href="#table4">Tableau 4</a>. Comme indiqué dans ce dernier, un des apports
+de SSL 3.0 est le support du chargement des chaînes de certification. Cette
+fonctionnalité permet à un serveur de passer au navigateur un certificat de
+serveur accompagné du certificat de l'émetteur. Le chargement de la
+chaîne permet aussi au navigateur de valider le certificat du serveur, même si
+les certificats de l'autorité de certification ne sont pas installés pour les
+émetteurs intermédiaires, car ils sont inclus dans la chaîne de certification.
+SSL 3.0 sert de base au standard du protocole Sécurité de la Couche Transport
ou Transport Layer Security
-[<a href="#TLS1">TLS</a>], actuellement en développement au sein de
+[<a href="#TLS1">TLS</a>], actuellement en développement au sein de
l'Internet Engineering Task Force (IETF).</p>
<h3><a name="session" id="session">Etablissement d'une session</a></h3>
- <p>La session SSL est établie en suivant une séquence d'échanges
+ <p>La session SSL est établie en suivant une séquence d'échanges
d'informations entre client et serveur, comme le montre la
- <a href="#figure1">Figure 1</a>. Cette séquence peut varier, selon que
- le serveur est configuré pour fournir un certificat de serveur ou
- réclame un certificat client. Bien que dans certains cas, des étapes
- d'échanges d'informations supplémentaires soient nécessaires pour la
- gestion des informations de chiffrement, cet article résume un scénario
- courant. Se reporter aux spécifications SSL pour avoir la liste de
- toutes les possibilités.</p>
+ <a href="#figure1">Figure 1</a>. Cette séquence peut varier, selon que
+ le serveur est configuré pour fournir un certificat de serveur ou
+ réclame un certificat client. Bien que dans certains cas, des étapes
+ d'échanges d'informations supplémentaires soient nécessaires pour la
+ gestion des informations de chiffrement, cet article résume un scénario
+ courant. Se reporter aux spécifications SSL pour avoir la liste de
+ toutes les possibilités.</p>
<div class="note"><h3>Note</h3>
- <p>Une fois la session SSL établie, elle peut être réutilisée. Ceci
- permet d'éviter la perte de performances due à la répétition des nombreuses
- étapes nécessaires à l'établissement d'une session. Pour parvenir à ceci,
- le serveur assigne un identifiant de session unique à chaque session SSL ;
+ <p>Une fois la session SSL établie, elle peut être réutilisée. Ceci
+ permet d'éviter la perte de performances due à la répétition des nombreuses
+ étapes nécessaires à l'établissement d'une session. Pour parvenir à ceci,
+ le serveur assigne un identifiant de session unique à chaque session SSL ;
cet identifiant est mis en cache dans le serveur et le client peut
- l'utiliser pour des connexions ultérieures afin de réduire la durée des
- échanges d'informations (et ceci jusqu'à ce que l'identifiant de session
- arrive à expiration dans le cache du serveur).</p>
+ l'utiliser pour des connexions ultérieures afin de réduire la durée des
+ échanges d'informations (et ceci jusqu'à ce que l'identifiant de session
+ arrive à expiration dans le cache du serveur).</p>
</div>
<p class="figure">
<img src="../images/ssl_intro_fig1.gif" alt="" width="423" height="327" /><br />
- <a id="figure1" name="figure1"><dfn>Figure 1</dfn></a> : Séquence
- simplifiée d'échanges d'informations SSL</p>
+ <a id="figure1" name="figure1"><dfn>Figure 1</dfn></a> : Séquence
+ simplifiée d'échanges d'informations SSL</p>
- <p>Les éléments de la séquence d'échanges d'informations, tels qu'ils
- sont utilisés par le client et le serveur, sont énumérés ci-après :</p>
+ <p>Les éléments de la séquence d'échanges d'informations, tels qu'ils
+ sont utilisés par le client et le serveur, sont énumérés ci-après :</p>
<ol>
- <li>Négociation de la suite de chiffrement à utiliser durant le transfert des données</li>
- <li>Elaboration et échange d'une clé de session entre le client et le serveur</li>
- <li>Authentification éventuelle du serveur par le client</li>
- <li>Authentification éventuelle du client par le serveur</li>
+ <li>Négociation de la suite de chiffrement à utiliser durant le transfert des données</li>
+ <li>Elaboration et échange d'une clé de session entre le client et le serveur</li>
+ <li>Authentification éventuelle du serveur par le client</li>
+ <li>Authentification éventuelle du client par le serveur</li>
</ol>
- <p>La première étape, la négociation de la suite de chiffrement, permet au
+ <p>La première étape, la négociation de la suite de chiffrement, permet au
client et au serveur de choisir une suite de chiffrement qu'ils supportent
- tous les deux. La spécification du protocole SSL 3.0 définit 31 suites de
- chiffrement. Une suite de chiffrement se compose des éléments
+ tous les deux. La spécification du protocole SSL 3.0 définit 31 suites de
+ chiffrement. Une suite de chiffrement se compose des éléments
suivants :</p>
<ul>
- <li>Méthode d'échange de la clé</li>
- <li>Chiffrement du transfert des données</li>
- <li>Empreinte du message servant à créer le code d'authentification du
+ <li>Méthode d'échange de la clé</li>
+ <li>Chiffrement du transfert des données</li>
+ <li>Empreinte du message servant à créer le code d'authentification du
message (MAC)</li>
</ul>
- <p>Ces trois éléments sont décrits dans les sections suivantes.</p>
+ <p>Ces trois éléments sont décrits dans les sections suivantes.</p>
-<h3><a name="keyexchange" id="keyexchange">Méthode d'échange de la clé</a></h3>
+<h3><a name="keyexchange" id="keyexchange">Méthode d'échange de la clé</a></h3>
- <p>La méthode d'échange de la clé définit la manière
- dont la clé de chiffrement
- symétrique secrète et partagée utilisée pour le transfert des données de
- l'application sera acceptée par le client et le serveur. SSL 2.0 utilise
- l'échange de clé RSA seulement, tandis que SSL 3.0 supporte tout un choix
- d'algorithmes d'échange de clé incluant l'échange de clé RSA (quand les
- certificats sont utilisés), et l'échange de clés Diffie-Hellman (pour
- échanger des clés sans certificat, ou en l'absence de communication
- préalable entre le client et le serveur).</p>
+ <p>La méthode d'échange de la clé définit la manière
+ dont la clé de chiffrement
+ symétrique secrète et partagée utilisée pour le transfert des données de
+ l'application sera acceptée par le client et le serveur. SSL 2.0 utilise
+ l'échange de clé RSA seulement, tandis que SSL 3.0 supporte tout un choix
+ d'algorithmes d'échange de clé incluant l'échange de clé RSA (quand les
+ certificats sont utilisés), et l'échange de clés Diffie-Hellman (pour
+ échanger des clés sans certificat, ou en l'absence de communication
+ préalable entre le client et le serveur).</p>
- <p>Les signatures numériques constituent une variante dans le choix des
- méthodes d'échange de clé -- utiliser les signatures ou pas, et dans
- l'affirmative, quel genre de signatures utiliser. La signature à l'aide
- d'une clé privée fournit une protection contre une attaque
+ <p>Les signatures numériques constituent une variante dans le choix des
+ méthodes d'échange de clé -- utiliser les signatures ou pas, et dans
+ l'affirmative, quel genre de signatures utiliser. La signature à l'aide
+ d'une clé privée fournit une protection contre une attaque
"man-in-the-middle" au cours de laquelle
- l'échange d'informations destiné à générer la
- clé partagée peut être intercepté [<a href="#AC96">AC96</a>, p516].</p>
+ l'échange d'informations destiné à générer la
+ clé partagée peut être intercepté [<a href="#AC96">AC96</a>, p516].</p>
-<h3><a name="ciphertransfer" id="ciphertransfer">Chiffrement du transfert de données</a></h3>
+<h3><a name="ciphertransfer" id="ciphertransfer">Chiffrement du transfert de données</a></h3>
- <p>Comme décrit plus haut, SSL utilise le chiffrement symétrique
+ <p>Comme décrit plus haut, SSL utilise le chiffrement symétrique
conventionnel pour chiffrer les messages au cours d'une session. Il existe
neuf choix possibles pour le chiffrement, y compris l'option du transfert
- non chiffré :</p>
+ non chiffré :</p>
<ul>
<li>Pas de chiffrement</li>
<li>Chiffrement en continu (Stream Ciphers)
<ul>
- <li>RC4 avec clés de 40 bits</li>
- <li>RC4 avec clés de 128 bits</li>
+ <li>RC4 avec clés de 40 bits</li>
+ <li>RC4 avec clés de 128 bits</li>
</ul></li>
<li>Chiffrement par blocs CBC (CBC Block Ciphers)
- <ul><li>RC2 avec clé de 40 bits</li>
- <li>DES avec clé de 40 bits</li>
- <li>DES avec clé de 56 bits</li>
- <li>Triple-DES avec clé de 168 bits</li>
- <li>Idea (clé de 128 bits)</li>
- <li>Fortezza (clé de 96 bits)</li>
+ <ul><li>RC2 avec clé de 40 bits</li>
+ <li>DES avec clé de 40 bits</li>
+ <li>DES avec clé de 56 bits</li>
+ <li>Triple-DES avec clé de 168 bits</li>
+ <li>Idea (clé de 128 bits)</li>
+ <li>Fortezza (clé de 96 bits)</li>
</ul></li>
</ul>
- <p>"CBC" signifie Cipher Block Chaining (Chaînage de blocs chiffrés),
- c'est à dire qu'une portion du bloc de texte chiffré précédent est utilisée
+ <p>"CBC" signifie Cipher Block Chaining (Chaînage de blocs chiffrés),
+ c'est à dire qu'une portion du bloc de texte chiffré précédent est utilisée
pour le chiffrement du bloc courant. "DES" signifie Data Encryption
- Standard (Standard de Chiffrement des Données)
- [<a href="#AC96">AC96</a>, ch12], et possède de nombreuses variantes
+ Standard (Standard de Chiffrement des Données)
+ [<a href="#AC96">AC96</a>, ch12], et possède de nombreuses variantes
(telles que DES40 et 3DES_EDE). Parmi les algorithmes disponibles, "Idea"
est actuellement un des meilleurs et des plus puissants sur le plan
- cryptographique, et "RC2" est un algorithme propriétaire de RSA DSI
+ cryptographique, et "RC2" est un algorithme propriétaire de RSA DSI
[<a href="#AC96">AC96</a>, ch13].</p>
-<h3><a name="digestfunction" id="digestfunction">Fonction de création d'empreinte</a></h3>
+<h3><a name="digestfunction" id="digestfunction">Fonction de création d'empreinte</a></h3>
- <p>Le choix d'une fonction de création d'empreinte détermine la manière
- dont une empreinte est créée à partir d'une unité de données. SSL supporte
+ <p>Le choix d'une fonction de création d'empreinte détermine la manière
+ dont une empreinte est créée à partir d'une unité de données. SSL supporte
les fonctions suivantes :</p>
<ul>
<li>Pas d'empreinte (choix Null)</li>
<li>MD5, une empreinte de 128 bits</li>
- <li>Algorithme d'Empreinte Sécurisée (Secure Hash Algorithm - SHA-1), une
+ <li>Algorithme d'Empreinte Sécurisée (Secure Hash Algorithm - SHA-1), une
empreinte de 160 bits</li>
</ul>
- <p>On utilise l'empreinte de message pour créer un Code d'Authentification
- de Message (Message Authentication Code - MAC) qui est chiffré avec le
- message afin de vérifier son intégrité et de se protéger contre les
+ <p>On utilise l'empreinte de message pour créer un Code d'Authentification
+ de Message (Message Authentication Code - MAC) qui est chiffré avec le
+ message afin de vérifier son intégrité et de se protéger contre les
attaques de type "rejeu".</p>
-<h3><a name="handshake" id="handshake">Protocole de la séquence d'échanges d'informations</a></h3>
+<h3><a name="handshake" id="handshake">Protocole de la séquence d'échanges d'informations</a></h3>
- <p>La séquence d'échanges d'informations utilise trois protocoles :</p>
+ <p>La séquence d'échanges d'informations utilise trois protocoles :</p>
<ul>
- <li>Le <dfn>Protocole d'échanges d'informations SSL</dfn> pour établir
+ <li>Le <dfn>Protocole d'échanges d'informations SSL</dfn> pour établir
la session SSl entre le client et le serveur.</li>
- <li>Le <dfn>Protocole de spécification du chiffrement SSL</dfn> pour
- l'agrément effectif de la suite de chiffrement à utiliser
+ <li>Le <dfn>Protocole de spécification du chiffrement SSL</dfn> pour
+ l'agrément effectif de la suite de chiffrement à utiliser
pour la session.</li>
<li>Le <dfn>Protocole d'alertes SSL</dfn> pour la transmission de
messages d'erreur SSL entre le client et le serveur.</li>
</ul>
- <p>Ces protocoles, ainsi que les données du protocole de l'application,
- sont encapsulés dans le <dfn>Protocole d'enregistrement SSL
+ <p>Ces protocoles, ainsi que les données du protocole de l'application,
+ sont encapsulés dans le <dfn>Protocole d'enregistrement SSL
(SSL Record Protocol)</dfn>, comme
- le montre la <a href="#figure2">Figure 2</a>. Un protocole encapsulé est
- tranféré en tant que données par le protocole de la couche de niveau
- inférieur, qui ne se préoccupe pas du contenu des données. Le protocole
- encapsulé n'a aucune connaissance du protocole sous-jacent.</p>
+ le montre la <a href="#figure2">Figure 2</a>. Un protocole encapsulé est
+ tranféré en tant que données par le protocole de la couche de niveau
+ inférieur, qui ne se préoccupe pas du contenu des données. Le protocole
+ encapsulé n'a aucune connaissance du protocole sous-jacent.</p>
<p class="figure">
<img src="../images/ssl_intro_fig2.gif" alt="" width="428" height="217" /><br />
<a id="figure2" name="figure2"><dfn>Figure 2</dfn></a>:
Pile du protocole SSL</p>
- <p>L'encapsulation des protocoles de contrôle SSL dans le protocole
- d'enregistrement signifie que si une session active est renégociée, les
- protocoles de contrôle seront transmis de manière sécurisée. S'il n'y
- avait pas de session préalable, la suite de chiffrement Null est utilisée,
- ce qui signifie que les messages ne seront pas chiffrés et ne possèderont
- pas d'empreinte d'intégrité, jusqu'à ce que la session ait été établie.</p>
+ <p>L'encapsulation des protocoles de contrôle SSL dans le protocole
+ d'enregistrement signifie que si une session active est renégociée, les
+ protocoles de contrôle seront transmis de manière sécurisée. S'il n'y
+ avait pas de session préalable, la suite de chiffrement Null est utilisée,
+ ce qui signifie que les messages ne seront pas chiffrés et ne possèderont
+ pas d'empreinte d'intégrité, jusqu'à ce que la session ait été établie.</p>
-<h3><a name="datatransfer" id="datatransfer">Transmission des données</a></h3>
+<h3><a name="datatransfer" id="datatransfer">Transmission des données</a></h3>
<p>Le protocole d'enregistrement SSL, comme le montre la
- <a href="#figure3">Figure 3</a>, est utilisé pour transmettre les données
- de l'application et les données de contrôle SSL entre le client et le
- serveur, les données étant nécessairement fragmentées en éléments plus
- petits, ou plusieurs messages de données avec protocole de niveau
- supérieur pouvant être combinés en un seul élément. Ce protocole peut
- joindre des signatures d'empreintes, compresser et chiffrer ces éléments
+ <a href="#figure3">Figure 3</a>, est utilisé pour transmettre les données
+ de l'application et les données de contrôle SSL entre le client et le
+ serveur, les données étant nécessairement fragmentées en éléments plus
+ petits, ou plusieurs messages de données avec protocole de niveau
+ supérieur pouvant être combinés en un seul élément. Ce protocole peut
+ joindre des signatures d'empreintes, compresser et chiffrer ces éléments
avant de les transmettre en utilisant le protocole fiable de transport
- sous-jacent (Note : actuellement, aucune implémentation majeure de SSL
+ sous-jacent (Note : actuellement, aucune implémentation majeure de SSL
n'inclut le support de la compression).</p>
<p class="figure">
Protocole d'enregistrement SSL</p>
-<h3><a name="securehttp" id="securehttp">Sécurisation des communications HTTP</a></h3>
+<h3><a name="securehttp" id="securehttp">Sécurisation des communications HTTP</a></h3>
- <p>Une des utilisations courantes de SSL est la sécurisation des
+ <p>Une des utilisations courantes de SSL est la sécurisation des
communication HTTP sur le Web entre un navigateur et un serveur web. Ceci
- n'exclut pas l'utilisation de HTTP non sécurisé - la version sécurisée
- (appelée HTTPS) est identique à du vrai HTTP sur SSL,
- mais utilise le préfixe
+ n'exclut pas l'utilisation de HTTP non sécurisé - la version sécurisée
+ (appelée HTTPS) est identique à du vrai HTTP sur SSL,
+ mais utilise le préfixe
d'URL <code>https</code> au lieu de <code>http</code>, et un port
- de serveur différent (par défaut le port 443).
+ de serveur différent (par défaut le port 443).
Ceci constitue pour une large part
ce qu'apporte <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> au serveur web Apache.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="references" id="references">Références</a><a title="Lien permanent" href="#references" class="permalink">¶</a></h2>
+<h2><a name="references" id="references">Références</a><a title="Lien permanent" href="#references" class="permalink">¶</a></h2>
<dl>
<dt><a id="AC96" name="AC96">[AC96]</a></dt>
<dt><a id="ASN1" name="ASN1">[ASN1]</a></dt>
<dd>ITU-T Recommendation X.208, <q>Specification of Abstract Syntax Notation
-One (ASN.1)</q>, dernière mise à jour en 2008. Voir <a href="http://www.itu.int/ITU-T/asn1/">http://www.itu.int/ITU-T/asn1/</a>.
+One (ASN.1)</q>, dernière mise à jour en 2008. Voir <a href="http://www.itu.int/ITU-T/asn1/">http://www.itu.int/ITU-T/asn1/</a>.
</dd>
<dt><a id="X509" name="X509">[X509]</a></dt>
<dd>ITU-T Recommendation X.509, <q>The Directory - Authentication
-Framework</q>. A titre de référence, voir <a href="http://en.wikipedia.org/wiki/X.509">http://en.wikipedia.org/wiki/X.509</a>.
+Framework</q>. A titre de référence, voir <a href="http://en.wikipedia.org/wiki/X.509">http://en.wikipedia.org/wiki/X.509</a>.
</dd>
<dt><a id="PKCS" name="PKCS">[PKCS]</a></dt>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/ssl/ssl_intro.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/ssl/ssl_intro.html" title="Français"> fr </a> |
+<a href="../fr/ssl/ssl_intro.html" title="Français"> fr </a> |
<a href="../ja/ssl/ssl_intro.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Arrêt et redémarrage du serveur HTTP Apache - Serveur Apache HTTP Version 2.5</title>
+<title>Arrêt et redémarrage du serveur HTTP Apache - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Arrêt et redémarrage du serveur HTTP Apache</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Arrêt et redémarrage du serveur HTTP Apache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./de/stopping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/stopping.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/stopping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/stopping.html" title="Français"> fr </a> |
+<a href="./es/stopping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/stopping.html" title="Français"> fr </a> |
<a href="./ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/stopping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/stopping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Ce document couvre l'arrêt et le redémarrage du
+ <p>Ce document couvre l'arrêt et le redémarrage du
serveur HTTP Apache sur
- les systèmes Unix et similaires. Les utilisateurs de Windows NT, 2000
+ les systèmes Unix et similaires. Les utilisateurs de Windows NT, 2000
and XP doivent consulter
- <a href="platform/windows.html#winsvc">Exécuter httpd en tant que
+ <a href="platform/windows.html#winsvc">Exécuter httpd en tant que
service</a> et les utilisateurs de Windows 9x et ME doivent consulter
- <a href="platform/windows.html#wincons">Exécuter httpd comme une
- application de type console</a> pour plus d'informations sur le contrôle
- de httpd à partir de ces plateformes.</p>
+ <a href="platform/windows.html#wincons">Exécuter httpd comme une
+ application de type console</a> pour plus d'informations sur le contrôle
+ de httpd à partir de ces plateformes.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#introduction">Introduction</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#term">Arrêter immédiatement</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#graceful">Redémarrage en douceur</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#hup">Redémarrer immédiatement</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#gracefulstop">Arrêt en douceur</a></li>
-</ul><h3>Voir aussi</h3><ul class="seealso"><li><code class="program"><a href="./programs/httpd.html">httpd</a></code></li><li><code class="program"><a href="./programs/apachectl.html">apachectl</a></code></li><li><a href="invoking.html">Démarrage</a></li><li><a href="#comments_section">Commentaires</a></li></ul></div>
+<li><img alt="" src="./images/down.gif" /> <a href="#term">Arrêter immédiatement</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#graceful">Redémarrage en douceur</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#hup">Redémarrer immédiatement</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#gracefulstop">Arrêt en douceur</a></li>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><code class="program"><a href="./programs/httpd.html">httpd</a></code></li><li><code class="program"><a href="./programs/apachectl.html">apachectl</a></code></li><li><a href="invoking.html">Démarrage</a></li><li><a href="#comments_section">Commentaires</a></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="introduction" id="introduction">Introduction</a><a title="Lien permanent" href="#introduction" class="permalink">¶</a></h2>
- <p>Afin d'arrêter ou redémarrer le serveur HTTP Apache, vous devez envoyer un signal aux
- processus <code class="program"><a href="./programs/httpd.html">httpd</a></code> en cours d'exécution. Les signaux
- peuvent être envoyés de deux manières. La
- première méthode consiste à
+ <p>Afin d'arrêter ou redémarrer le serveur HTTP Apache, vous devez envoyer un signal aux
+ processus <code class="program"><a href="./programs/httpd.html">httpd</a></code> en cours d'exécution. Les signaux
+ peuvent être envoyés de deux manières. La
+ première méthode consiste à
utiliser la commande unix <code>kill</code>
pour envoyer directement des signaux aux processus. Vous pouvez remarquer
- que plusieurs processus <code class="program"><a href="./programs/httpd.html">httpd</a></code> s'exécutent sur votre
- système, mais il vous suffit d'envoyer les signaux au processus parent,
- dont le PID est enregistré dans le fichier précisé par la directive
+ que plusieurs processus <code class="program"><a href="./programs/httpd.html">httpd</a></code> s'exécutent sur votre
+ système, mais il vous suffit d'envoyer les signaux au processus parent,
+ dont le PID est enregistré dans le fichier précisé par la directive
<code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code>. Autrement dit, vous
- n'aurez jamais besoin d'envoyer des signaux à aucun des
+ n'aurez jamais besoin d'envoyer des signaux à aucun des
processus enfants, mais seulement au processus parent. Quatre types
- de signaux peuvent être envoyés au processus parent :
+ de signaux peuvent être envoyés au processus parent :
<code><a href="#term">TERM</a></code>,
<code><a href="#graceful">USR1</a></code>,
<code><a href="#hup">HUP</a></code>, et
<code><a href="#gracefulstop">WINCH</a></code>, qui
- seront décrit plus loin.</p>
+ seront décrit plus loin.</p>
<p>Pour envoyer un signal au processus parent, vous devez entrer une commande
du style :</p>
<div class="example"><p><code>kill -TERM `cat /usr/local/apache2/logs/httpd.pid`</code></p></div>
- <p>La seconde méthode permettant d'envoyer des signaux aux processus
+ <p>La seconde méthode permettant d'envoyer des signaux aux processus
<code class="program"><a href="./programs/httpd.html">httpd</a></code>
- consiste à utiliser les options <code>stop</code>,
+ consiste à utiliser les options <code>stop</code>,
<code>restart</code>, <code>graceful</code> et
<code>graceful-stop</code> du commutateur <code>-k</code> de la ligne
- de commande comme décrit ci-dessous. Ce sont des arguments du binaire
- <code class="program"><a href="./programs/httpd.html">httpd</a></code>, mais il est recommandé de les utiliser
- avec le script de contrôle <code class="program"><a href="./programs/apachectl.html">apachectl</a></code>, qui se
- chargera de les passer à <code class="program"><a href="./programs/httpd.html">httpd</a></code>.</p>
+ de commande comme décrit ci-dessous. Ce sont des arguments du binaire
+ <code class="program"><a href="./programs/httpd.html">httpd</a></code>, mais il est recommandé de les utiliser
+ avec le script de contrôle <code class="program"><a href="./programs/apachectl.html">apachectl</a></code>, qui se
+ chargera de les passer à <code class="program"><a href="./programs/httpd.html">httpd</a></code>.</p>
- <p>Après avoir envoyé un signal à <code class="program"><a href="./programs/httpd.html">httpd</a></code>, vous pouvez
+ <p>Après avoir envoyé un signal à <code class="program"><a href="./programs/httpd.html">httpd</a></code>, vous pouvez
suivre le cours de son action en entrant :</p>
<div class="example"><p><code>tail -f /usr/local/apache2/logs/error_log</code></p></div>
- <p>Adaptez ces exemples en fonction de la définition de vos directives
+ <p>Adaptez ces exemples en fonction de la définition de vos directives
<code class="directive"><a href="./mod/core.html#serverroot">ServerRoot</a></code> et
<code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</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="term" id="term">Arrêter immédiatement</a><a title="Lien permanent" href="#term" class="permalink">¶</a></h2>
+<h2><a name="term" id="term">Arrêter immédiatement</a><a title="Lien permanent" href="#term" class="permalink">¶</a></h2>
<dl><dt>Signal: TERM</dt>
<dd><code>apachectl -k stop</code></dd>
</dl>
- <p>A la réception du signal <code>TERM</code> ou <code>stop</code>,
- le processus parent tente immédiatement
+ <p>A la réception du signal <code>TERM</code> ou <code>stop</code>,
+ le processus parent tente immédiatement
de tuer tous ses processus enfants. Cela peut durer plusieurs secondes.
- Après cela, le processus parent lui-même se termine. Toutes les requêtes
- en cours sont terminées, et plus aucune autre n'est traitée.</p>
+ Après cela, le processus parent lui-même se termine. Toutes les requêtes
+ en cours sont terminées, et plus aucune autre n'est traitée.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="graceful" id="graceful">Redémarrage en douceur</a><a title="Lien permanent" href="#graceful" class="permalink">¶</a></h2>
+<h2><a name="graceful" id="graceful">Redémarrage en douceur</a><a title="Lien permanent" href="#graceful" class="permalink">¶</a></h2>
<dl><dt>Signal: USR1</dt>
<dd><code>apachectl -k graceful</code></dd>
</dl>
- <p>A la réception du signal <code>USR1</code> ou
+ <p>A la réception du signal <code>USR1</code> ou
<code>graceful</code>, le
processus parent envoie aux processus enfants
- <em>l'ordre</em> de se terminer une fois leur requête courante
- traitée (ou de se terminer immédiatement s'ils n'ont plus rien à traiter).
+ <em>l'ordre</em> de se terminer une fois leur requête courante
+ traitée (ou de se terminer immédiatement s'ils n'ont plus rien à traiter).
Le processus parent relit ses fichiers de configuration et
- réouvre ses fichiers de log. Chaque fois qu'un enfant s'éteint, le
+ réouvre ses fichiers de log. Chaque fois qu'un enfant s'éteint, le
processus parent le remplace par un processus
- enfant de la nouvelle <em>génération</em> de la
- configuration, et celui-ci commence immédiatement à traiter les
- nouvelles requêtes.</p>
+ enfant de la nouvelle <em>génération</em> de la
+ configuration, et celui-ci commence immédiatement à traiter les
+ nouvelles requêtes.</p>
- <p>Ce code est conçu pour toujours respecter la directive de contrôle
+ <p>Ce code est conçu pour toujours respecter la directive de contrôle
de processus des modules MPMs, afin que les nombres de processus et de
threads
- disponibles pour traiter les demandes des clients soient maintenus à
- des valeurs appropriées tout au long du processus de démarrage.
+ disponibles pour traiter les demandes des clients soient maintenus à
+ des valeurs appropriées tout au long du processus de démarrage.
En outre, il respecte la directive
- <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code> de la manière
- suivante : si après une seconde au moins <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code> nouveaux processus
- enfants n'ont pas été créés, un nombre suffisant de processus
- supplémentaires est créé pour combler le manque. Ainsi le code
- tente de maintenir à la fois le nombre approprié de processus enfants
- en fonction de la charge du serveur, et le nombre de processus défini par la
+ <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code> de la manière
+ suivante : si après une seconde au moins <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code> nouveaux processus
+ enfants n'ont pas été créés, un nombre suffisant de processus
+ supplémentaires est créé pour combler le manque. Ainsi le code
+ tente de maintenir à la fois le nombre approprié de processus enfants
+ en fonction de la charge du serveur, et le nombre de processus défini par la
directive <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code>.</p>
<p>Les utilisateurs du module <code class="module"><a href="./mod/mod_status.html">mod_status</a></code>
noteront que les statistiques du serveur ne sont <strong>pas</strong>
- remises à zéro quand un signal <code>USR1</code> est envoyé. Le code
- a été conçu à la fois pour minimiser la durée durant laquelle le
- serveur ne peut pas traiter de nouvelles requêtes (elle sont mises en
- file d'attente par le système d'exploitation, et ne sont ainsi jamais
- perdues) et pour respecter vos paramètres de personnalisation.
+ remises à zéro quand un signal <code>USR1</code> est envoyé. Le code
+ a été conçu à la fois pour minimiser la durée durant laquelle le
+ serveur ne peut pas traiter de nouvelles requêtes (elle sont mises en
+ file d'attente par le système d'exploitation, et ne sont ainsi jamais
+ perdues) et pour respecter vos paramètres de personnalisation.
Pour y parvenir, il doit conserver le
- <em>tableau</em> utilisé pour garder la trace de tous les processus
- enfants au cours des différentes générations.</p>
+ <em>tableau</em> utilisé pour garder la trace de tous les processus
+ enfants au cours des différentes générations.</p>
- <p>Dans son état des processus,
- le module status utilise aussi un caractère <code>G</code> afin d'indiquer
- quels processus enfants ont encore des traitements de requêtes en cours
- débutés avant que l'ordre graceful restart ne soit donné.</p>
+ <p>Dans son état des processus,
+ le module status utilise aussi un caractère <code>G</code> afin d'indiquer
+ quels processus enfants ont encore des traitements de requêtes en cours
+ débutés avant que l'ordre graceful restart ne soit donné.</p>
<p>Pour l'instant, il est impossible pour un script de rotation
des logs utilisant
- <code>USR1</code> de savoir de manière certaine si tous les processus
- enfants inscrivant des traces de pré-redémarrage sont terminés.
- Nous vous suggérons d'attendre un délai suffisant après l'envoi du
+ <code>USR1</code> de savoir de manière certaine si tous les processus
+ enfants inscrivant des traces de pré-redémarrage sont terminés.
+ Nous vous suggérons d'attendre un délai suffisant après l'envoi du
signal <code>USR1</code>
avant de faire quoi que ce soit avec les anciens logs. Par exemple,
si la plupart de vos traitements durent moins de 10 minutes pour des
- utilisateurs empruntant des liaisons à faible bande passante, alors vous
+ utilisateurs empruntant des liaisons à faible bande passante, alors vous
devriez attendre 15 minutes avant de faire quoi que ce soit
avec les anciens logs.</p>
<div class="note">
- <p>Lorsque vous initiez un redémarrage, une vérification de
- la syntaxe est tout d'abord effectuée, afin de s'assurer qu'il n'y a
+ <p>Lorsque vous initiez un redémarrage, une vérification de
+ la syntaxe est tout d'abord effectuée, afin de s'assurer qu'il n'y a
pas d'erreurs dans les fichiers de configuration. Si votre fichier de
configuration comporte des erreurs de syntaxe, vous recevrez un message
- d'erreur les concernant, et le serveur refusera de redémarrer. Ceci
- permet d'éviter la situation où un serveur a
- été arrêté et ne peut plus redémarrer,
- et où vous vous retrouvez avec un serveur hors-service.</p>
+ d'erreur les concernant, et le serveur refusera de redémarrer. Ceci
+ permet d'éviter la situation où un serveur a
+ été arrêté et ne peut plus redémarrer,
+ et où vous vous retrouvez avec un serveur hors-service.</p>
- <p>Ceci ne garantit pas encore que le serveur va redémarrer
- correctement. Pour vérifier la sémantique des fichiers de configuration
- en plus de leur syntaxe, vous pouvez essayer de démarrer
+ <p>Ceci ne garantit pas encore que le serveur va redémarrer
+ correctement. Pour vérifier la sémantique des fichiers de configuration
+ en plus de leur syntaxe, vous pouvez essayer de démarrer
<code class="program"><a href="./programs/httpd.html">httpd</a></code> sous un utilisateur non root.
S'il n'y a pas d'erreur, il tentera d'ouvrir ses sockets et ses fichiers
- de log et échouera car il n'a pas les privilèges root (ou parce que
+ de log et échouera car il n'a pas les privilèges root (ou parce que
l'instance actuelle de
- <code class="program"><a href="./programs/httpd.html">httpd</a></code> est déjà associée à ces ports). S'il échoue
+ <code class="program"><a href="./programs/httpd.html">httpd</a></code> est déjà associée à ces ports). S'il échoue
pour toute autre raison, il y a probablement une erreur dans le
- fichier de configuration et celle-ci doit être corrigée avant de lancer
- le redémarrage en douceur.</p></div>
+ fichier de configuration et celle-ci doit être corrigée avant de lancer
+ le redémarrage en douceur.</p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="hup" id="hup">Redémarrer immédiatement</a><a title="Lien permanent" href="#hup" class="permalink">¶</a></h2>
+<h2><a name="hup" id="hup">Redémarrer immédiatement</a><a title="Lien permanent" href="#hup" class="permalink">¶</a></h2>
<dl><dt>Signal: HUP</dt>
<dd><code>apachectl -k restart</code></dd>
</dl>
- <p>A la réception du signal <code>HUP</code> ou
+ <p>A la réception du signal <code>HUP</code> ou
<code>restart</code>, le
processus parent tue ses processus enfants comme pour le signal
<code>TERM</code>, mais le processus parent ne se termine pas.
- Il relit ses fichiers de configuration, et réouvre ses fichiers de log.
- Puis il donne naissance à un nouveau jeu de processus enfants
- et continue de traiter les requêtes.</p>
+ Il relit ses fichiers de configuration, et réouvre ses fichiers de log.
+ Puis il donne naissance à un nouveau jeu de processus enfants
+ et continue de traiter les requêtes.</p>
<p>Les utilisateurs du module <code class="module"><a href="./mod/mod_status.html">mod_status</a></code>
- noteront que les statistiques du serveur sont remises à zéro quand un
- signal <code>HUP</code> est envoyé.</p>
+ noteront que les statistiques du serveur sont remises à zéro quand un
+ signal <code>HUP</code> est envoyé.</p>
-<div class="note">Comme dans le cas d'un redémarrage "graceful", une
-vérification de la syntaxe est effectuée avant que le
-redémarrage ne soit tenté. Si votre fichier de configuration comporte
-des erreurs de syntaxe, le redémarrage ne sera pas effectué, et
+<div class="note">Comme dans le cas d'un redémarrage "graceful", une
+vérification de la syntaxe est effectuée avant que le
+redémarrage ne soit tenté. Si votre fichier de configuration comporte
+des erreurs de syntaxe, le redémarrage ne sera pas effectué, et
vous recevrez un message concernant ces erreurs.</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="gracefulstop" id="gracefulstop">Arrêt en douceur</a><a title="Lien permanent" href="#gracefulstop" class="permalink">¶</a></h2>
+<h2><a name="gracefulstop" id="gracefulstop">Arrêt en douceur</a><a title="Lien permanent" href="#gracefulstop" class="permalink">¶</a></h2>
<dl><dt>Signal : WINCH</dt>
<dd><code>apachectl -k graceful-stop</code></dd>
</dl>
- <p>A la réception du signal <code>WINCH</code> ou
+ <p>A la réception du signal <code>WINCH</code> ou
<code>graceful-stop</code>, le
- processus parent <em>ordonne</em> à ses processus enfants
- de s'arrêter après le traitement de leur requête en cours
- (ou de s'arrêter immédiatement s'ils n'ont plus de requête à traiter).
+ processus parent <em>ordonne</em> à ses processus enfants
+ de s'arrêter après le traitement de leur requête en cours
+ (ou de s'arrêter immédiatement s'ils n'ont plus de requête à traiter).
Le processus parent va alors supprimer son fichier
- <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code> et cesser l'écoute
- de tous ses ports. Le processus parent va continuer à s'exécuter,
+ <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code> et cesser l'écoute
+ de tous ses ports. Le processus parent va continuer à s'exécuter,
et va surveiller les processus enfants
- qui ont encore des requêtes à traiter. Lorsque tous les processus enfants
- ont terminé leurs traitements et se sont arrêtés ou lorsque le délai
- spécifié par la directive <code class="directive"><a href="./mod/mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></code> a été atteint,
- le processus parent s'arrêtera à son tour. Si ce délai est atteint,
- tout processus enfant encore en cours d'exécution se verra envoyer
+ qui ont encore des requêtes à traiter. Lorsque tous les processus enfants
+ ont terminé leurs traitements et se sont arrêtés ou lorsque le délai
+ spécifié par la directive <code class="directive"><a href="./mod/mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></code> a été atteint,
+ le processus parent s'arrêtera à son tour. Si ce délai est atteint,
+ tout processus enfant encore en cours d'exécution se verra envoyer
le signal <code>TERM</code>
- afin de le forcer à s'arrêter.</p>
+ afin de le forcer à s'arrêter.</p>
- <p>L'envoi du signal <code>TERM</code> va arrêter immédiatement
- les processus parent et enfants en état "graceful". Cependant,
+ <p>L'envoi du signal <code>TERM</code> va arrêter immédiatement
+ les processus parent et enfants en état "graceful". Cependant,
comme le fichier <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code>
- aura été supprimé, vous ne pourrez pas utiliser
+ aura été supprimé, vous ne pourrez pas utiliser
<code>apachectl</code> ou <code>httpd</code> pour envoyer ce signal.</p>
- <div class="note"><p>Le signal <code>graceful-stop</code> vous permet d'exécuter
- simultanément plusieurs instances de <code class="program"><a href="./programs/httpd.html">httpd</a></code>
- avec des configurations identiques. Ceci s'avère une fonctionnalité
- puissante quand vous effectuez des mises à jour "en douceur"
+ <div class="note"><p>Le signal <code>graceful-stop</code> vous permet d'exécuter
+ simultanément plusieurs instances de <code class="program"><a href="./programs/httpd.html">httpd</a></code>
+ avec des configurations identiques. Ceci s'avère une fonctionnalité
+ puissante quand vous effectuez des mises à jour "en douceur"
de httpd ; cependant, cela peut aussi causer des blocages fatals et des
- situations de compétition (race conditions)
+ situations de compétition (race conditions)
avec certaines configurations.</p>
<p>On a pris soin de s'assurer que les fichiers sur disque
comme les fichiers verrou (<code class="directive"><a href="./mod/core.html#mutex">Mutex</a></code>) et les fichiers socket Unix
(<code class="directive"><a href="./mod/mod_cgid.html#scriptsock">ScriptSock</a></code>) contiennent le PID
- du serveur, et coexistent sans problème. Cependant, si une directive de
- configuration, un module tiers ou une CGI résidente utilise un autre
- verrou ou fichier d'état sur disque, il faut prendre soin de s'assurer
- que chaque instance de <code class="program"><a href="./programs/httpd.html">httpd</a></code> qui s'exécute
- n'écrase pas les fichiers des autres instances.</p>
+ du serveur, et coexistent sans problème. Cependant, si une directive de
+ configuration, un module tiers ou une CGI résidente utilise un autre
+ verrou ou fichier d'état sur disque, il faut prendre soin de s'assurer
+ que chaque instance de <code class="program"><a href="./programs/httpd.html">httpd</a></code> qui s'exécute
+ n'écrase pas les fichiers des autres instances.</p>
- <p>Vous devez aussi prendre garde aux autres situations de compétition,
+ <p>Vous devez aussi prendre garde aux autres situations de compétition,
comme l'enregistrement des logs avec un transfert de ceux-ci
via un pipe vers le programme <code class="program"><a href="./programs/rotatelogs.html">rotatelogs</a></code>. Plusieurs instances
du programme <code class="program"><a href="./programs/rotatelogs.html">rotatelogs</a></code> qui tentent d'effectuer
- une rotation des mêmes fichiers de log en même temps peuvent détruire
+ une rotation des mêmes fichiers de log en même temps peuvent détruire
mutuellement leurs propres fichiers de log.</p></div>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./de/stopping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/stopping.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./es/stopping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
-<a href="./fr/stopping.html" title="Français"> fr </a> |
+<a href="./es/stopping.html" hreflang="es" rel="alternate" title="Español"> es </a> |
+<a href="./fr/stopping.html" title="Français"> fr </a> |
<a href="./ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/stopping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/stopping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Support suEXEC</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/suexec.html" title="Français"> fr </a> |
+<a href="./fr/suexec.html" title="Français"> fr </a> |
<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>La fonctionnalité <strong>suEXEC</strong> permet
- l'exécution des programmes <strong>CGI</strong> et
+ <p>La fonctionnalité <strong>suEXEC</strong> permet
+ l'exécution des programmes <strong>CGI</strong> et
<strong>SSI</strong> sous un utilisateur autre que celui sous
- lequel s'exécute le serveur web qui appelle ces programmes.
- Normalement, lorsqu'un programme CGI ou SSI est lancé, il
- s'exécute sous le même utilisateur que celui du serveur web qui
+ lequel s'exécute le serveur web qui appelle ces programmes.
+ Normalement, lorsqu'un programme CGI ou SSI est lancé, il
+ s'exécute sous le même utilisateur que celui du serveur web qui
l'appelle.</p>
- <p>Utilisée de manière appropriée, cette fonctionnalité peut
- réduire considérablement les risques de sécurité encourus
- lorsqu'on autorise les utilisateurs à développer et faire
- s'exécuter des programmes CGI ou SSI de leur cru. Cependant, mal
- configuré, suEXEC peut causer de nombreux problèmes et même créer
- de nouvelles failles dans la sécurité de votre ordinateur. Si
- vous n'êtes pas familier avec la gestion des programmes
- <em>setuid root</em> et les risques de sécurité qu'ils comportent,
+ <p>Utilisée de manière appropriée, cette fonctionnalité peut
+ réduire considérablement les risques de sécurité encourus
+ lorsqu'on autorise les utilisateurs à développer et faire
+ s'exécuter des programmes CGI ou SSI de leur cru. Cependant, mal
+ configuré, suEXEC peut causer de nombreux problèmes et même créer
+ de nouvelles failles dans la sécurité de votre ordinateur. Si
+ vous n'êtes pas familier avec la gestion des programmes
+ <em>setuid root</em> et les risques de sécurité qu'ils comportent,
nous vous recommandons vivement de ne pas tenter
d'utiliser suEXEC.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#before">Avant de commencer</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#model">Modèle de sécurité de suEXEC</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#model">Modèle de sécurité de suEXEC</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#install">Configurer et installer suEXEC</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#enable">Activation et désactivation
+<li><img alt="" src="./images/down.gif" /> <a href="#enable">Activation et désactivation
de suEXEC</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#usage">Utilisation de suEXEC</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#debug">Débogage de suEXEC</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">Avis à la population !
+<li><img alt="" src="./images/down.gif" /> <a href="#debug">Débogage de suEXEC</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">Avis à la population !
Avertissements et exemples</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="before" id="before">Avant de commencer</a><a title="Lien permanent" href="#before" class="permalink">¶</a></h2>
- <p>Avant de foncer tête baissée dans la lecture de ce document,
- vous devez tenir compte de certaines hypothèses concernant vous-même
+ <p>Avant de foncer tête baissée dans la lecture de ce document,
+ vous devez tenir compte de certaines hypothèses concernant vous-même
et l'environnement dans lequel vous allez utiliser suexec.</p>
- <p>Premièrement, vous devez utiliser un système d'exploitation
- UNIX ou dérivé, capable d'effectuer des opérations
+ <p>Premièrement, vous devez utiliser un système d'exploitation
+ UNIX ou dérivé, capable d'effectuer des opérations
<strong>setuid</strong> et <strong>setgid</strong>. Tous les
- exemples de commande sont donnés en conséquence. D'autres
- plates-formes, même si elles supportent suEXEC, peuvent
- avoir une configuration différente.</p>
-
- <p>Deuxièmement, vous devez être familier avec les concepts de base
- relatifs à la sécurité de votre ordinateur et son administration.
- Ceci implique la compréhension des opérations
- <strong>setuid/setgid</strong> et des différents effets qu'elles
- peuvent produire sur votre système et son niveau de sécurité.</p>
-
- <p>Troisièmement, vous devez utiliser une version
- <strong>non modifiée</strong> du code de suEXEC. L'ensemble du
- code de suEXEC a été scruté et testé avec soin par les développeurs
- et de nombreux bêta testeurs. Toutes les précautions ont été prises
- pour s'assurer d'une base sûre de code non seulement simple, mais
- aussi solide. La modification de ce code peut causer des problèmes
- inattendus et de nouveaux risques de sécurité. Il est
- <strong>vivement</strong> recommandé de ne pas modifier le code de
- suEXEC, à moins que vous ne soyez un programmeur spécialiste des
- particularités liées à la sécurité, et souhaitez partager votre
- travail avec l'équipe de développement du serveur HTTP Apache afin
+ exemples de commande sont donnés en conséquence. D'autres
+ plates-formes, même si elles supportent suEXEC, peuvent
+ avoir une configuration différente.</p>
+
+ <p>Deuxièmement, vous devez être familier avec les concepts de base
+ relatifs à la sécurité de votre ordinateur et son administration.
+ Ceci implique la compréhension des opérations
+ <strong>setuid/setgid</strong> et des différents effets qu'elles
+ peuvent produire sur votre système et son niveau de sécurité.</p>
+
+ <p>Troisièmement, vous devez utiliser une version
+ <strong>non modifiée</strong> du code de suEXEC. L'ensemble du
+ code de suEXEC a été scruté et testé avec soin par les développeurs
+ et de nombreux bêta testeurs. Toutes les précautions ont été prises
+ pour s'assurer d'une base sûre de code non seulement simple, mais
+ aussi solide. La modification de ce code peut causer des problèmes
+ inattendus et de nouveaux risques de sécurité. Il est
+ <strong>vivement</strong> recommandé de ne pas modifier le code de
+ suEXEC, à moins que vous ne soyez un programmeur spécialiste des
+ particularités liées à la sécurité, et souhaitez partager votre
+ travail avec l'équipe de développement du serveur HTTP Apache afin
de pouvoir en discuter.</p>
- <p>Quatrièmement et dernièrement, l'équipe de développement du
- serveur HTTP Apache a décidé de ne
- <strong>PAS</strong> inclure suEXEC dans l'installation par défaut
+ <p>Quatrièmement et dernièrement, l'équipe de développement du
+ serveur HTTP Apache a décidé de ne
+ <strong>PAS</strong> inclure suEXEC dans l'installation par défaut
d'Apache httpd. Pour pouvoir mettre en oeuvre suEXEC, l'administrateur
- doit porter la plus grande attention aux détails. Après avoir bien
- réfléchi aux différents points de la configuration de suEXEC,
- l'administrateur peut l'installer selon les méthodes classiques.
- Les valeurs des paramètres de configuration doivent être
- déterminées et spécifiées avec soin par l'administrateur, afin de
- maintenir la sécurité du système de manière appropriée lors de
- l'utilisation de la fonctionnalité suEXEC. C'est par le biais de
- ce processus minutieux que nous espérons réserver
+ doit porter la plus grande attention aux détails. Après avoir bien
+ réfléchi aux différents points de la configuration de suEXEC,
+ l'administrateur peut l'installer selon les méthodes classiques.
+ Les valeurs des paramètres de configuration doivent être
+ déterminées et spécifiées avec soin par l'administrateur, afin de
+ maintenir la sécurité du système de manière appropriée lors de
+ l'utilisation de la fonctionnalité suEXEC. C'est par le biais de
+ ce processus minutieux que nous espérons réserver
l'installation de suEXEC aux administrateurs prudents et
- suffisamment déterminés à vouloir l'utiliser.</p>
+ suffisamment déterminés à vouloir l'utiliser.</p>
- <p>Vous êtes encore avec nous ? Oui ? Bien.
+ <p>Vous êtes encore avec nous ? Oui ? Bien.
Alors nous pouvons continuer !</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="model" id="model">Modèle de sécurité de suEXEC</a><a title="Lien permanent" href="#model" class="permalink">¶</a></h2>
+<h2><a name="model" id="model">Modèle de sécurité de suEXEC</a><a title="Lien permanent" href="#model" class="permalink">¶</a></h2>
<p>Avant d'installer et configurer suEXEC, nous allons tout d'abord
- décrire le modèle de sécurité que vous êtes sur le point
- d'implémenter. Vous devriez ainsi mieux comprendre ce qui se passe
- vraiment à l'intérieur de suEXEC et quelles précautions ont été
- prises pour préserver la sécurité de votre système.</p>
-
- <p><strong>suEXEC</strong> est basé sur un programme "conteneur"
- (wrapper) setuid qui est appelé par le serveur HTTP Apache principal.
- Ce conteneur est appelé quand une requête HTTP concerne
+ décrire le modèle de sécurité que vous êtes sur le point
+ d'implémenter. Vous devriez ainsi mieux comprendre ce qui se passe
+ vraiment à l'intérieur de suEXEC et quelles précautions ont été
+ prises pour préserver la sécurité de votre système.</p>
+
+ <p><strong>suEXEC</strong> est basé sur un programme "conteneur"
+ (wrapper) setuid qui est appelé par le serveur HTTP Apache principal.
+ Ce conteneur est appelé quand une requête HTTP concerne
un programme CGI ou SSI que l'administrateur
- a décidé de faire s'exécuter
+ a décidé de faire s'exécuter
sous un utilisateur autre que celui du serveur principal.
- Lorsqu'il reçoit une telle requête, Apache httpd fournit au conteneur
+ Lorsqu'il reçoit une telle requête, Apache httpd fournit au conteneur
suEXEC le nom du programme, ainsi que les identifiants utilisateur
- et groupe sous lesquels le programme doit s'exécuter.</p>
+ et groupe sous lesquels le programme doit s'exécuter.</p>
- <p>Le conteneur effectue ensuite les vérifications suivantes afin
- de déterminer la réussite ou l'échec du processus -- si une seule
- de ces conditions n'est pas vérifiée, le programme journalise
+ <p>Le conteneur effectue ensuite les vérifications suivantes afin
+ de déterminer la réussite ou l'échec du processus -- si une seule
+ de ces conditions n'est pas vérifiée, le programme journalise
l'erreur et se termine en retournant un code d'erreur, sinon il
continue :</p>
<ol>
<li>
- <strong>L'utilisateur qui exécute le conteneur est-il un
- utilisateur valide de ce système ?</strong>
+ <strong>L'utilisateur qui exécute le conteneur est-il un
+ utilisateur valide de ce système ?</strong>
<p class="indent">
- Ceci permet de s'assurer que l'utilisateur qui exécute le
- conteneur est vraiment un utilisateur appartenant au système.
+ Ceci permet de s'assurer que l'utilisateur qui exécute le
+ conteneur est vraiment un utilisateur appartenant au système.
</p>
</li>
<li>
- <strong>Le conteneur a-t-il été appelé avec un nombre
+ <strong>Le conteneur a-t-il été appelé avec un nombre
d'arguments correct ?</strong>
<p class="indent">
- Le conteneur ne s'exécutera que si on lui fournit un nombre
+ Le conteneur ne s'exécutera que si on lui fournit un nombre
d'arguments correct. Le serveur HTTP apache sait quel est le
- bon format des arguments. Si le conteneur ne reçoit pas un
- nombre d'arguments correct, soit il a été modifié,
+ bon format des arguments. Si le conteneur ne reçoit pas un
+ nombre d'arguments correct, soit il a été modifié,
soit quelque chose ne va pas dans la portion suEXEC de
votre binaire Apache httpd.
</p>
</li>
<li>
- <strong>Cet utilisateur valide est-il autorisé à exécuter le
+ <strong>Cet utilisateur valide est-il autorisé à exécuter le
conteneur ?</strong>
<p class="indent">
- Cet utilisateur est-il celui autorisé à exécuter le
+ Cet utilisateur est-il celui autorisé à exécuter le
conteneur ? Un seul utilisateur (celui d'Apache) est
- autorisé à exécuter ce programme.
+ autorisé à exécuter ce programme.
</p>
</li>
<li>
<strong>Le chemin du programme CGI ou SSI cible est-il
- non sûr ?</strong>
+ non sûr ?</strong>
<p class="indent">
- Le chemin du programme CGI ou SSI cible débute-t-il par un
- '/' ou contient-il une référence arrière '..' ? Ceci est
+ Le chemin du programme CGI ou SSI cible débute-t-il par un
+ '/' ou contient-il une référence arrière '..' ? Ceci est
interdit ; le programme CGI ou SSI cible doit se trouver dans
- la hiérarchie de la racine des documents de suEXEC (voir
+ la hiérarchie de la racine des documents de suEXEC (voir
<code>--with-suexec-docroot=<em>DIR</em></code> ci-dessous).
</p>
</li>
<p class="indent">
- suEXEc ne permet pas à
- <code><em>root</em></code> d'exécuter des programmes CGI/SSI.
+ suEXEc ne permet pas à
+ <code><em>root</em></code> d'exécuter des programmes CGI/SSI.
</p>
</li>
<li>
- <strong>Le numéro de l'identifiant de l'utilisateur cible
- est-il <em>SUPERIEUR</em> au numéro d'identifiant
+ <strong>Le numéro de l'identifiant de l'utilisateur cible
+ est-il <em>SUPERIEUR</em> au numéro d'identifiant
minimum ?</strong>
<p class="indent">
- Le numéro d'identifiant utilisateur minimum est défini à
- l'exécution du script configure. Ceci vous permet de définir
- le numéro d'identifiant utilisateur le plus bas qui sera
- autorisé à éxécuter des programmes CGI/SSI. En particulier,
- cela permet d'écarter les comptes système.
+ Le numéro d'identifiant utilisateur minimum est défini à
+ l'exécution du script configure. Ceci vous permet de définir
+ le numéro d'identifiant utilisateur le plus bas qui sera
+ autorisé à éxécuter des programmes CGI/SSI. En particulier,
+ cela permet d'écarter les comptes système.
</p>
</li>
<p class="indent">
Actuellement, suEXEC ne permet pas au groupe
- <code><em>root</em></code> d'exécuter des programmes CGI/SSI.
+ <code><em>root</em></code> d'exécuter des programmes CGI/SSI.
</p>
</li>
<li>
- <strong> Le numéro d'identifiant du groupe cible est-il
- <em>SUPERIEUR</em> au numéro d'identifiant minimum ?</strong>
+ <strong> Le numéro d'identifiant du groupe cible est-il
+ <em>SUPERIEUR</em> au numéro d'identifiant minimum ?</strong>
<p class="indent">
- Le numéro d'identifiant de groupe minimum est spécifié lors
- de l'exécution du script configure. Ceci vous permet de
- définir l'identifiant de groupe le plus bas possible qui sera
- autorisé à exécuter des programmes CGI/SSI, et est
- particulièrement utile pour écarter les groupes "système".
+ Le numéro d'identifiant de groupe minimum est spécifié lors
+ de l'exécution du script configure. Ceci vous permet de
+ définir l'identifiant de groupe le plus bas possible qui sera
+ autorisé à exécuter des programmes CGI/SSI, et est
+ particulièrement utile pour écarter les groupes "système".
</p>
</li>
<li>
- <strong>Le conteneur peut-il obtenir avec succès l'identité
+ <strong>Le conteneur peut-il obtenir avec succès l'identité
des utilisateur et groupe cibles ?</strong>
<p class="indent">
- C'est ici que le programme obtient l'identité des utilisateur
- et groupe cibles via des appels à setuid et setgid. De même,
- la liste des accès groupe est initialisée avec tous les
+ C'est ici que le programme obtient l'identité des utilisateur
+ et groupe cibles via des appels à setuid et setgid. De même,
+ la liste des accès groupe est initialisée avec tous les
groupes auxquels l'utilisateur cible appartient.
</p>
</li>
<li>
- <strong>Peut-on se positionner dans le répertoire dans dequel
- sont situés les programmes CGI/SSI ?</strong>
+ <strong>Peut-on se positionner dans le répertoire dans dequel
+ sont situés les programmes CGI/SSI ?</strong>
<p class="indent">
S'il n'existe pas, il ne peut pas contenir de fichier. Et si
</li>
<li>
- <strong>Le répertoire est-il dans l'espace web
+ <strong>Le répertoire est-il dans l'espace web
de httpd ?</strong>
<p class="indent">
- Si la requête concerne une portion de la racine du serveur,
- le répertoire demandé est-il dans la hiérarchie de la racine
- des documents de suEXEC ? Si la requête concerne un
- <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>, le répertoire demandé est-il dans
- la hiérarchie du répertoire défini comme le répertoire
+ Si la requête concerne une portion de la racine du serveur,
+ le répertoire demandé est-il dans la hiérarchie de la racine
+ des documents de suEXEC ? Si la requête concerne un
+ <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>, le répertoire demandé est-il dans
+ la hiérarchie du répertoire défini comme le répertoire
utilisateur de suEXEC (voir les
<a href="#install">options de configuration de suEXEC</a>) ?
</p>
</li>
<li>
- <strong>L'écriture dans le répertoire est-elle interdite pour
- un utilisateur autre que le propriétaire </strong>
+ <strong>L'écriture dans le répertoire est-elle interdite pour
+ un utilisateur autre que le propriétaire </strong>
<p class="indent">
- Le répertoire ne doit pas être ouvert aux autres
- utilisateurs ; seul l'utilisateur propriétaire doit pouvoir
- modifier le contenu du répertoire.
+ Le répertoire ne doit pas être ouvert aux autres
+ utilisateurs ; seul l'utilisateur propriétaire doit pouvoir
+ modifier le contenu du répertoire.
</p>
</li>
<strong>Le programme CGI/SSI cible existe-t-il ?</strong>
<p class="indent">
- S'il n'existe pas, il ne peut pas être exécuté.
+ S'il n'existe pas, il ne peut pas être exécuté.
</p>
</li>
<li>
- <strong>Les utilisateurs autres que le propriétaire n'ont-ils
- <em>PAS</em> de droits en écriture sur le programme
+ <strong>Les utilisateurs autres que le propriétaire n'ont-ils
+ <em>PAS</em> de droits en écriture sur le programme
CGI/SSI ?</strong>
<p class="indent">
- Les utilisateurs autres que le propriétaire ne doivent pas
+ Les utilisateurs autres que le propriétaire ne doivent pas
pouvoir modifier le programme CGI/SSI.
</p>
</li>
setgid ?</strong>
<p class="indent">
- Les programmes cibles ne doivent pas pouvoir modifier à
+ Les programmes cibles ne doivent pas pouvoir modifier à
nouveau les identifiants utilisateur/groupe.
</p>
</li>
<li>
- <strong>Le couple utilisateur/groupe cible est-il le même que
+ <strong>Le couple utilisateur/groupe cible est-il le même que
celui du programme ?</strong>
<p class="indent">
- L'utilisateur est-il le propriétaire du fichier ?
+ L'utilisateur est-il le propriétaire du fichier ?
</p>
</li>
<li>
- <strong>Peut-on nettoyer avec succès l'environnement des
- processus afin de garantir la sûreté des opérations ?</strong>
+ <strong>Peut-on nettoyer avec succès l'environnement des
+ processus afin de garantir la sûreté des opérations ?</strong>
<p class="indent">
- suExec nettoie l'environnement des processus en établissant
- un chemin d'exécution sûr (défini lors de la configuration),
+ suExec nettoie l'environnement des processus en établissant
+ un chemin d'exécution sûr (défini lors de la configuration),
et en ne passant que les variables dont les noms font partie
- de la liste de l'environnement sûr (créée de même lors de la
+ de la liste de l'environnement sûr (créée de même lors de la
configuration).
</p>
</li>
<li>
- <strong>Le conteneur peut-il avec succès se substituer au
- programme CGI/SSI cible et s'exécuter ?</strong>
+ <strong>Le conteneur peut-il avec succès se substituer au
+ programme CGI/SSI cible et s'exécuter ?</strong>
<p class="indent">
- C'est là où l'exécution de suEXEC s'arrête et où commence
+ C'est là où l'exécution de suEXEC s'arrête et où commence
celle du programme CGI/ssi cible.
</p>
</li>
</ol>
- <p>Ce sont les opérations standards effectuées par le modèle de
- sécurité du conteneur suEXEC. Il peut paraître strict et est
+ <p>Ce sont les opérations standards effectuées par le modèle de
+ sécurité du conteneur suEXEC. Il peut paraître strict et est
susceptible d'imposer de nouvelles limitations et orientations
- dans la conception des programmes CGI/SSI, mais il a été développé
- avec le plus grand soin, étape par étape, en se focalisant sur
- la sécurité.</p>
-
- <p>Pour plus d'informations sur la mesure dans laquelle ce modèle
- de sécurité peut limiter vos possibilités au regard de la
- configuration du serveur, ainsi que les risques de sécurité qui
- peuvent être évités grâce à une configuration appropriée de suEXEC,
- se référer à la section <a href="#jabberwock">"Avis à la population !"</a> de ce document.</p>
+ dans la conception des programmes CGI/SSI, mais il a été développé
+ avec le plus grand soin, étape par étape, en se focalisant sur
+ la sécurité.</p>
+
+ <p>Pour plus d'informations sur la mesure dans laquelle ce modèle
+ de sécurité peut limiter vos possibilités au regard de la
+ configuration du serveur, ainsi que les risques de sécurité qui
+ peuvent être évités grâce à une configuration appropriée de suEXEC,
+ se référer à la section <a href="#jabberwock">"Avis à la population !"</a> de ce document.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="install" id="install">Configurer et installer suEXEC</a><a title="Lien permanent" href="#install" class="permalink">¶</a></h2>
<dl>
<dt><code>--enable-suexec</code></dt>
- <dd>Cette option active la fonctionnalité suEXEC qui n'est
- jamais installée ou activée par défaut. Au moins une option
+ <dd>Cette option active la fonctionnalité suEXEC qui n'est
+ jamais installée ou activée par défaut. Au moins une option
<code>--with-suexec-xxxxx</code> doit accompagner l'option
<code>--enable-suexec</code> pour qu'APACI (l'utilitaire de
configuration de la compilation d'Apache) accepte votre demande
- d'utilisation de la fonctionnalité suEXEC.</dd>
+ d'utilisation de la fonctionnalité suEXEC.</dd>
<dt><code>--enable-suexec-capabilities</code></dt>
- <dd><strong>Spécifique à Linux :</strong> Normalement, le binaire
- <code>suexec</code> est installé en mode "setuid/setgid root", ce
- qui lui permet de s'exécuter avec la totalité des privilèges de
+ <dd><strong>Spécifique à Linux :</strong> Normalement, le binaire
+ <code>suexec</code> est installé en mode "setuid/setgid root", ce
+ qui lui permet de s'exécuter avec la totalité des privilèges de
l'utilisateur root. Avec cette option, le binaire
- <code>suexec</code> sera installé avec seulement les bits
- setuid/setgid "capability" définis, ce qui constitue un
- sous-ensemble des privilèges de root pour les opérations de
+ <code>suexec</code> sera installé avec seulement les bits
+ setuid/setgid "capability" définis, ce qui constitue un
+ sous-ensemble des privilèges de root pour les opérations de
suexec. Notez que dans ce mode, le binaire <code>suexec</code> ne
- sera pas en mesure d'écrire dans un fichier journal ; il est donc
- recommandé dans ce mode d'utiliser les options
+ sera pas en mesure d'écrire dans un fichier journal ; il est donc
+ recommandé dans ce mode d'utiliser les options
<code>--with-suexec-syslog --without-suexec-logfile</code>, afin
d'utiliser la jounalisation syslog.</dd>
<dt><code>--with-suexec-bin=<em>PATH</em></code></dt>
- <dd>Le chemin du binaire <code>suexec</code> doit être codé en
- dur dans le serveur pour des raisons de sécurité. Cette option
- vous permet de modifier le chemin par défaut.
+ <dd>Le chemin du binaire <code>suexec</code> doit être codé en
+ dur dans le serveur pour des raisons de sécurité. Cette option
+ vous permet de modifier le chemin par défaut.
<em>Par exemple</em>
<code>--with-suexec-bin=/usr/sbin/suexec</code></dd>
<dt><code>--with-suexec-caller=<em>UID</em></code></dt>
<dd>L'<a href="mod/mpm_common.html#user">utilisateur</a> sous
- lequel httpd s'exécute habituellement. C'est le seul utilisateur
- autorisé à exécuter le wrapper suEXEC.</dd>
+ lequel httpd s'exécute habituellement. C'est le seul utilisateur
+ autorisé à exécuter le wrapper suEXEC.</dd>
<dt><code>--with-suexec-userdir=<em>DIR</em></code></dt>
- <dd>Cette option définit le sous-répertoire de la hiérarchie des
- répertoires utilisateurs dans lequel l'utilisation
- de suEXEC sera autorisée. Tous les exécutables situés dans ce
- répertoire seront exécutables par suEXEC sous l'utilisateur
- cible ; ces programmes doivent donc être sûrs. Si vous utilisez
+ <dd>Cette option définit le sous-répertoire de la hiérarchie des
+ répertoires utilisateurs dans lequel l'utilisation
+ de suEXEC sera autorisée. Tous les exécutables situés dans ce
+ répertoire seront exécutables par suEXEC sous l'utilisateur
+ cible ; ces programmes doivent donc être sûrs. Si vous utilisez
une directive <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>
- "simple" (c'est à dire ne contenant pas de
+ "simple" (c'est à dire ne contenant pas de
"*"), l'option --with-suexec-userdir
- devra contenir la même valeur. SuEXEC ne fonctionnera pas
+ devra contenir la même valeur. SuEXEC ne fonctionnera pas
correctement si la directive <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> contient une valeur
- différente du répertoire home de l'utilisateur tel qu'il est
- défini dans le fichier <code>passwd</code>. la valeur par défaut
+ différente du répertoire home de l'utilisateur tel qu'il est
+ défini dans le fichier <code>passwd</code>. la valeur par défaut
est "<code>public_html</code>".<br />
- Si vous avez plusieurs hôtes virtuels avec une directive
- <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> différente
+ Si vous avez plusieurs hôtes virtuels avec une directive
+ <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> différente
pour chacun d'entre eux, vous devrez faire en sorte que chaque
- UserDir possède un répertoire parent commun ; donnez alors à
+ UserDir possède un répertoire parent commun ; donnez alors à
l'option --with-suexec-userdir le nom
- de ce répertoire commun. <strong>Si tout ceci n'est pas défini
- correctement, les requêtes CGI "~userdir" ne fonctionneront
+ de ce répertoire commun. <strong>Si tout ceci n'est pas défini
+ correctement, les requêtes CGI "~userdir" ne fonctionneront
pas !</strong></dd>
<dt><code>--with-suexec-docroot=<em>DIR</em></code></dt>
<dd>Cette option fonctionne comme la directive DocumentRoot pour
- httpd. Il s'agit de la seule hiérarchie (en dehors des directives
- <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>) dans laquelle la fonctionnalité suEXEC
- pourra être utilisée. La valeur par défaut est la valeur de
- <code>--datadir</code> accompagnée du suffixe
+ httpd. Il s'agit de la seule hiérarchie (en dehors des directives
+ <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>) dans laquelle la fonctionnalité suEXEC
+ pourra être utilisée. La valeur par défaut est la valeur de
+ <code>--datadir</code> accompagnée du suffixe
"<code>/htdocs</code>" ;
- <em>Par exemple</em>, si vous exécutez configure avec
+ <em>Par exemple</em>, si vous exécutez configure avec
"<code>--datadir=/home/apache</code>", la valeur
- "<code>/home/apache/htdocs</code>" sera utilisée par défaut comme
+ "<code>/home/apache/htdocs</code>" sera utilisée par défaut comme
racine des documents pour le conteneur suEXEC.</dd>
<dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
- <dd>Cette option définit l'identifiant utilisateur le plus bas
- avec lequel un utilisateur pourra être la cible de
+ <dd>Cette option définit l'identifiant utilisateur le plus bas
+ avec lequel un utilisateur pourra être la cible de
suEXEC. 500 ou 100 sont des valeurs courantes sur la plupart des
- systèmes. la valeur par défaut est 100.</dd>
+ systèmes. la valeur par défaut est 100.</dd>
<dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
- <dd>Cette option définit l'identifiant de groupe le plus bas
- avec lequel un utilisateur pourra être la cible de
+ <dd>Cette option définit l'identifiant de groupe le plus bas
+ avec lequel un utilisateur pourra être la cible de
suEXEC. 100 est une valeur courante sur la plupart des
- systèmes et est par conséquent la valeur par défaut.</dd>
+ systèmes et est par conséquent la valeur par défaut.</dd>
<dt><code>--with-suexec-logfile=<em>FILE</em></code></dt>
- <dd>Cette option permet de définir le fichier dans lequel
- toutes les transactions et erreurs de suEXEC seront journalisées
- (à des fins d'analyse ou de débogage). Par défaut, le fichier
+ <dd>Cette option permet de définir le fichier dans lequel
+ toutes les transactions et erreurs de suEXEC seront journalisées
+ (à des fins d'analyse ou de débogage). Par défaut, le fichier
journal se nomme "<code>suexec_log</code>" et se trouve dans votre
- répertoire standard des fichiers journaux défini par
+ répertoire standard des fichiers journaux défini par
<code>--logfiledir</code></dd>
<dt><code>--with-suexec-syslog</code></dt>
<dd>Avec cette option, suexec enregistrera les messages d'erreurs
- et d'informations dans le journal syslog. Cette option doit être
- utilisée conjointement avec l'option
+ et d'informations dans le journal syslog. Cette option doit être
+ utilisée conjointement avec l'option
<code>--without-suexec-logfile</code>.</dd>
<dt><code>--with-suexec-safepath=<em>PATH</em></code></dt>
- <dd>Cette option permet de définir une variable d'environnement
- PATH sûre à passer aux exécutables CGI. La valeur par défaut
+ <dd>Cette option permet de définir une variable d'environnement
+ PATH sûre à passer aux exécutables CGI. La valeur par défaut
est "<code>/usr/local/bin:/usr/bin:/bin</code>".</dd>
</dl>
<h3>Compilation et installation du conteneur suEXEC</h3>
- <p>Si vous avez activé la fonctionnalité suEXEC à l'aide de
+ <p>Si vous avez activé la fonctionnalité suEXEC à l'aide de
l'option <code>--enable-suexec</code>, le binaire
- <code>suexec</code> sera automatiquement construit (en même temps
- que httpd) lorsque vous exécuterez la commande
+ <code>suexec</code> sera automatiquement construit (en même temps
+ que httpd) lorsque vous exécuterez la commande
<code>make</code>.</p>
- <p>Lorsque tous les composants auront été construits, vous pourrez
- exécuter la commande <code>make install</code> afin de les
- installer. Le binaire <code>suexec</code> sera installé dans le
- répertoire défini à l'aide de l'option <code>--sbindir</code>. La
- localisation par défaut est "/usr/local/apache2/bin/suexec".</p>
+ <p>Lorsque tous les composants auront été construits, vous pourrez
+ exécuter la commande <code>make install</code> afin de les
+ installer. Le binaire <code>suexec</code> sera installé dans le
+ répertoire défini à l'aide de l'option <code>--sbindir</code>. La
+ localisation par défaut est "/usr/local/apache2/bin/suexec".</p>
<p>Veuillez noter que vous aurez besoin des
- <strong><em>privilèges root</em></strong> pour passer l'étape de
+ <strong><em>privilèges root</em></strong> pour passer l'étape de
l'installation. Pour que le conteneur puisse changer
- l'identifiant utilisateur, il doit avoir comme propriétaire
+ l'identifiant utilisateur, il doit avoir comme propriétaire
<code><em>root</em></code>, et les droits du fichier doivent
- inclure le bit d'exécution setuserid.</p>
+ inclure le bit d'exécution setuserid.</p>
<h3>>Mise en place de permissions pour
- paranoïaque</h3>
+ paranoïaque</h3>
- <p>Bien que le conteneur suEXEC vérifie que l'utilisateur qui
- l'appelle correspond bien à l'utilisateur spécifié à l'aide de
+ <p>Bien que le conteneur suEXEC vérifie que l'utilisateur qui
+ l'appelle correspond bien à l'utilisateur spécifié à l'aide de
l'option <code>--with-suexec-caller</code> du programme
<code class="program"><a href="./programs/configure.html">configure</a></code>, il subsiste toujours le risque qu'un
- appel système ou une bibliothèque fasse appel à suEXEC avant que
- cette vérification ne soit exploitable sur votre système. Pour
- tenir compte de ceci, et parce que c'est en général la meilleure
- pratique, vous devez utiliser les permissions du système de
+ appel système ou une bibliothèque fasse appel à suEXEC avant que
+ cette vérification ne soit exploitable sur votre système. Pour
+ tenir compte de ceci, et parce que c'est en général la meilleure
+ pratique, vous devez utiliser les permissions du système de
fichiers afin de vous assurer que seul le groupe sous lequel
- s'exécute httpd puisse faire appel à suEXEC.</p>
+ s'exécute httpd puisse faire appel à suEXEC.</p>
- <p>Si, par exemple, votre serveur web est configuré pour
- s'exécuter en tant que :</p>
+ <p>Si, par exemple, votre serveur web est configuré pour
+ s'exécuter en tant que :</p>
<pre class="prettyprint lang-config">User www
Group webgroup</pre>
- <p>et <code class="program"><a href="./programs/suexec.html">suexec</a></code> se trouve à
- "/usr/local/apache2/bin/suexec", vous devez exécuter les
+ <p>et <code class="program"><a href="./programs/suexec.html">suexec</a></code> se trouve à
+ "/usr/local/apache2/bin/suexec", vous devez exécuter les
commandes</p>
<div class="example"><p><code>
</code></p></div>
<p>Ceci permet de s'assurer que seul le groupe sous lequel httpd
- s'exécute (ici webgroup) puisse faire appel au conteneur
+ s'exécute (ici webgroup) puisse faire appel au conteneur
suEXEC.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="enable" id="enable">Activation et désactivation
+<h2><a name="enable" id="enable">Activation et désactivation
de suEXEC</a><a title="Lien permanent" href="#enable" class="permalink">¶</a></h2>
- <p>Au démarrage, httpd vérifie la présence du fichier
- <code class="program"><a href="./programs/suexec.html">suexec</a></code> dans le répertoire défini par
+ <p>Au démarrage, httpd vérifie la présence du fichier
+ <code class="program"><a href="./programs/suexec.html">suexec</a></code> dans le répertoire défini par
l'option <code>--sbindir</code> du script configure (le
- répertoire par défaut est "/usr/local/apache/sbin/suexec"). Si
- httpd trouve un conteneur suEXEC correctement configuré, il
+ répertoire par défaut est "/usr/local/apache/sbin/suexec"). Si
+ httpd trouve un conteneur suEXEC correctement configuré, il
enregistrera le message suivant dans le journal des erreurs :</p>
<div class="example"><p><code>
[notice] suEXEC mechanism enabled (wrapper: <var>/path/to/suexec</var>)
</code></p></div>
- <p>Si ce message n'est pas généré au démarrage du serveur, ce
- dernier ne trouve probablement pas le programme conteneur à
- l'endroit où il est sensé être, ou l'exécutable suexec n'est pas
- installé en <em>setuid root</em>.</p>
-
- <p>Si le serveur HTTP Apache est déjà en cours d'exécution, et si
- vous activez le mécanisme suEXEC pour la première fois, vous
- devez arrêter et redémarrer httpd. Un redémarrage
- à l'aide d'un simple signal HUP ou USR1 suffira. </p>
- <p>Pour désactiver suEXEC, vous devez supprimer le fichier
- <code class="program"><a href="./programs/suexec.html">suexec</a></code>, puis arrêter et redémarrer
+ <p>Si ce message n'est pas généré au démarrage du serveur, ce
+ dernier ne trouve probablement pas le programme conteneur à
+ l'endroit où il est sensé être, ou l'exécutable suexec n'est pas
+ installé en <em>setuid root</em>.</p>
+
+ <p>Si le serveur HTTP Apache est déjà en cours d'exécution, et si
+ vous activez le mécanisme suEXEC pour la première fois, vous
+ devez arrêter et redémarrer httpd. Un redémarrage
+ à l'aide d'un simple signal HUP ou USR1 suffira. </p>
+ <p>Pour désactiver suEXEC, vous devez supprimer le fichier
+ <code class="program"><a href="./programs/suexec.html">suexec</a></code>, puis arrêter et redémarrer
httpd.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="usage" id="usage">Utilisation de suEXEC</a><a title="Lien permanent" href="#usage" class="permalink">¶</a></h2>
- <p>Les requêtes pour des programmes CGI ne feront appel au
- conteneur suEXEC que si elles concernent un hôte virtuel
+ <p>Les requêtes pour des programmes CGI ne feront appel au
+ conteneur suEXEC que si elles concernent un hôte virtuel
contenant une directive <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code>, ou si elles sont
- traitées par <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>.</p>
+ traitées par <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>.</p>
- <p><strong>Hôtes virtuels :</strong><br /> Une des méthodes
- d'utilisation du conteneur suEXEC consiste à insérer une
+ <p><strong>Hôtes virtuels :</strong><br /> Une des méthodes
+ d'utilisation du conteneur suEXEC consiste à insérer une
directive <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> dans une section
- <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code>. En définissant
- des valeurs différentes de celles du serveur principal, toutes les
- requêtes pour des ressources CGI seront exécutées sous
- les <em>User</em> et <em>Group</em> définis pour cette section
+ <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code>. En définissant
+ des valeurs différentes de celles du serveur principal, toutes les
+ requêtes pour des ressources CGI seront exécutées sous
+ les <em>User</em> et <em>Group</em> définis pour cette section
<code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>. Si cette
directive est absente de la section <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>, l'utilisateur du
- serveur principal sera pris par défaut</p>
-
- <p><strong>Répertoires des utilisateurs :</strong><br /> Avec
- cette méthode, les
- requêtes traitées par <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> appelleront le
- conteneur suEXEC pour exécuter le programme CGI sous l'identifiant
- utilisateur du répertoire utilisateur concerné. Seuls prérequis
- pour pouvoir accéder à cette fonctionnalité : l'exécution des CGI
- doit être activée pour l'utilisateur concerné, et le script doit
- passer avec succès le test des <a href="#model">vérifications de
- sécurité</a> décrit plus haut. Voir aussi l'
+ serveur principal sera pris par défaut</p>
+
+ <p><strong>Répertoires des utilisateurs :</strong><br /> Avec
+ cette méthode, les
+ requêtes traitées par <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> appelleront le
+ conteneur suEXEC pour exécuter le programme CGI sous l'identifiant
+ utilisateur du répertoire utilisateur concerné. Seuls prérequis
+ pour pouvoir accéder à cette fonctionnalité : l'exécution des CGI
+ doit être activée pour l'utilisateur concerné, et le script doit
+ passer avec succès le test des <a href="#model">vérifications de
+ sécurité</a> décrit plus haut. Voir aussi l'
<a href="#install">option de compilation</a>
<code>--with-suexec-userdir</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="debug" id="debug">Débogage de suEXEC</a><a title="Lien permanent" href="#debug" class="permalink">¶</a></h2>
+<h2><a name="debug" id="debug">Débogage de suEXEC</a><a title="Lien permanent" href="#debug" class="permalink">¶</a></h2>
- <p>Le conteneur suEXEC va écrire ses informations de journalisation
- dans le fichier défini par l'option de compilation
- <code>--with-suexec-logfile</code> comme indiqué plus haut,
+ <p>Le conteneur suEXEC va écrire ses informations de journalisation
+ dans le fichier défini par l'option de compilation
+ <code>--with-suexec-logfile</code> comme indiqué plus haut,
ou vers syslog si l'option <code>--with-suexec-syslog</code> est
- utilisée. Si vous
- pensez avoir configuré et installé correctement le conteneur,
+ utilisée. Si vous
+ pensez avoir configuré et installé correctement le conteneur,
consultez ce journal, ainsi que le journal des erreurs du serveur
- afin de déterminer l'endroit où vous avez fait fausse
+ afin de déterminer l'endroit où vous avez fait fausse
route. Si vous utilisez une distribution binaire, la commande
- <code>"suexec -V"</code> vous permet de déterminer quelles options
- ont été utilisées pour compiler suexec.</p>
+ <code>"suexec -V"</code> vous permet de déterminer quelles options
+ ont été utilisées pour compiler suexec.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="jabberwock" id="jabberwock">Avis à la population !
+<h2><a name="jabberwock" id="jabberwock">Avis à la population !
Avertissements et exemples</a><a title="Lien permanent" href="#jabberwock" class="permalink">¶</a></h2>
- <p><strong>NOTE !</strong> Cette section est peut-être incomplète.
- Pour en consulter la dernière révision, voir la version de la <a href="http://httpd.apache.org/docs/trunk/suexec.html">Documentation en ligne</a>.</p>
+ <p><strong>NOTE !</strong> Cette section est peut-être incomplète.
+ Pour en consulter la dernière révision, voir la version de la <a href="http://httpd.apache.org/docs/trunk/suexec.html">Documentation en ligne</a>.</p>
<p>Quelques points importants du conteneur peuvent
imposer des contraintes du point de vue de la configuration du
serveur. Veuillez en prendre connaissance avant de soumettre un
- rapport de bogue à propos de suEXEC.</p>
+ rapport de bogue à propos de suEXEC.</p>
<ul>
<li><strong>Points importants de suEXEC</strong></li>
<li>
- Limitations concernant la hiérarchie.
+ Limitations concernant la hiérarchie.
<p class="indent">
- Pour des raisons de sécurité et d'efficacité, toutes les
- requêtes suEXEC ne doivent concerner que des ressources
- situées dans la racine des documents définie pour les
- requêtes concernant un hôte virtuel, ou des ressources
- situées dans la racine des documents définies pour les
- requêtes concernant un répertoire utilisateur. Par exemple,
- si vous avez configuré quatre hôtes virtuels, vous devrez
- définir la structure des racines de documents de vos hôtes
- virtuels en dehors d'une hiérarchie de documents principale
+ Pour des raisons de sécurité et d'efficacité, toutes les
+ requêtes suEXEC ne doivent concerner que des ressources
+ situées dans la racine des documents définie pour les
+ requêtes concernant un hôte virtuel, ou des ressources
+ situées dans la racine des documents définies pour les
+ requêtes concernant un répertoire utilisateur. Par exemple,
+ si vous avez configuré quatre hôtes virtuels, vous devrez
+ définir la structure des racines de documents de vos hôtes
+ virtuels en dehors d'une hiérarchie de documents principale
de httpd, afin de tirer parti de suEXEC dans le contexte des
- hôtes virtuels (Exemple à venir).
+ hôtes virtuels (Exemple à venir).
</p>
</li>
La variable d'environnement PATH de suEXEC
<p class="indent">
- Modifier cette variable peut s'avérer dangereux. Assurez-vous
- que tout chemin que vous ajoutez à cette variable est un
- répertoire <strong>de confiance</strong>. Vous n'avez
- probablement pas l'intention d'ouvrir votre serveur de façon
- à ce que l'on puisse y exécuter un cheval de Troie.
+ Modifier cette variable peut s'avérer dangereux. Assurez-vous
+ que tout chemin que vous ajoutez à cette variable est un
+ répertoire <strong>de confiance</strong>. Vous n'avez
+ probablement pas l'intention d'ouvrir votre serveur de façon
+ à ce que l'on puisse y exécuter un cheval de Troie.
</p>
</li>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/suexec.html" title="Français"> fr </a> |
+<a href="./fr/suexec.html" title="Français"> fr </a> |
<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Mise à jour de la version 2.2 vers la version 2.4 - Serveur Apache HTTP Version 2.5</title>
+<title>Mise à jour de la version 2.2 vers la version 2.4 - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Mise à jour de la version 2.2 vers la version 2.4</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Mise à jour de la version 2.2 vers la version 2.4</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/upgrading.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/upgrading.html" title="Français"> fr </a></p>
+<a href="./fr/upgrading.html" title="Français"> fr </a></p>
</div>
- <p>Afin d'assister les utilisateurs lors de leurs opérations de mise à
+ <p>Afin d'assister les utilisateurs lors de leurs opérations de mise à
jour, nous maintenons un document
- qui comporte des informations critiques à l'attention des personnes qui
- utilisent déjà le serveur HTTP Apache. Ces informations
- ne sont que de brèves notes, et vous
- trouverez plus d'informations dans le document <a href="new_features_2_4.html">Nouvelles fonctionnalités</a>, ou dans
- le fichier <code>src/CHANGES</code>. Les développeurs d'applications
- et de modules trouveront un résumé des modifications de l'API dans la
- vue d'ensemble <a href="developer/new_api_2_4.html">Mises à jour de
+ qui comporte des informations critiques à l'attention des personnes qui
+ utilisent déjà le serveur HTTP Apache. Ces informations
+ ne sont que de brèves notes, et vous
+ trouverez plus d'informations dans le document <a href="new_features_2_4.html">Nouvelles fonctionnalités</a>, ou dans
+ le fichier <code>src/CHANGES</code>. Les développeurs d'applications
+ et de modules trouveront un résumé des modifications de l'API dans la
+ vue d'ensemble <a href="developer/new_api_2_4.html">Mises à jour de
l'API</a>.</p>
- <p>Ce document présente les changements de comportement du serveur qui
- peuvent nécessiter une modification de la configuration, et la manière
- d'utiliser la version 2.4 du serveur en parallèle avec la
- version 2.2. Pour tirer parti des nouvelles fonctionnalités de la
- version 2.4, reportez-vous au document "Nouvelles fonctionnalités".</p>
+ <p>Ce document présente les changements de comportement du serveur qui
+ peuvent nécessiter une modification de la configuration, et la manière
+ d'utiliser la version 2.4 du serveur en parallèle avec la
+ version 2.2. Pour tirer parti des nouvelles fonctionnalités de la
+ version 2.4, reportez-vous au document "Nouvelles fonctionnalités".</p>
- <p>Ce document ne décrit que les modifications intervenues entre les versions
- 2.2 et 2.4. Si vous effectuez une mise à jour depuis la version 2.0, vous
+ <p>Ce document ne décrit que les modifications intervenues entre les versions
+ 2.2 et 2.4. Si vous effectuez une mise à jour depuis la version 2.0, vous
devez aussi consulter le
<a href="http://httpd.apache.org/docs/2.2/upgrading.html">document de mise
- à jour de 2.0 vers 2.2.</a></p>
+ à jour de 2.0 vers 2.2.</a></p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#compile-time">Modifications des paramètres de compilation</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#run-time">Modifications de la configuration à l'exécution</a></li>
+<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#compile-time">Modifications des paramètres de compilation</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#run-time">Modifications de la configuration à l'exécution</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#misc">Changements divers</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#third-party">Modules tiers</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#commonproblems">Problèmes de mise à jour courants</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#commonproblems">Problèmes de mise à jour courants</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="new_features_2_4.html">Vue d'ensemble des nouvelles
-fonctionnalités du serveur HTTP Apache 2.4</a></li><li><a href="#comments_section">Commentaires</a></li></ul></div>
+fonctionnalités du serveur HTTP Apache 2.4</a></li><li><a href="#comments_section">Commentaires</a></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="compile-time" id="compile-time">Modifications des paramètres de compilation</a><a title="Lien permanent" href="#compile-time" class="permalink">¶</a></h2>
+<h2><a name="compile-time" id="compile-time">Modifications des paramètres de compilation</a><a title="Lien permanent" href="#compile-time" class="permalink">¶</a></h2>
- <p>Le processus de compilation est très similaire à celui de la
+ <p>Le processus de compilation est très similaire à celui de la
version 2.2. Dans la plupart des cas, vous pourrez utiliser votre
ancienne ligne de commande <code>configure</code> (telle qu'elle
- est enregistrée dans le fichier <code>build/config.nice</code>
- situé dans le répertoire de compilation du serveur). Voici certains
- changements intervenus dans la configuration par défaut :</p>
+ est enregistrée dans le fichier <code>build/config.nice</code>
+ situé dans le répertoire de compilation du serveur). Voici certains
+ changements intervenus dans la configuration par défaut :</p>
<ul>
- <li>Les modules suivants ont été supprimés : mod_authn_default,
+ <li>Les modules suivants ont été supprimés : mod_authn_default,
mod_authz_default et mod_mem_cache. Si vous utilisiez
mod_mem_cache sous la version 2.2, vous devez maintenant utiliser
<code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code> dans la version 2.4.</li>
- <li>Toutes les implémentations de répartition de charge ont été
- déplacées vers des sous-modules spécifiques de mod_proxy, comme
+ <li>Toutes les implémentations de répartition de charge ont été
+ déplacées vers des sous-modules spécifiques de mod_proxy, comme
<code class="module"><a href="./mod/mod_lbmethod_bybusyness.html">mod_lbmethod_bybusyness</a></code>. Vous devrez compiler et
- chargés tous les modules correspondants que votre configuration
+ chargés tous les modules correspondants que votre configuration
utilise.</li>
<li>Le support de BeOS, TPF, et des anciennes plates-formes telles
- que A/UX, Next, et Tandem a été supprimé, car
- elles ne sont plus considérées comme maintenues.</li>
+ que A/UX, Next, et Tandem a été supprimé, car
+ elles ne sont plus considérées comme maintenues.</li>
- <li>configure: les modules dynamiques (DSO) sont compilés par
- défaut</li>
+ <li>configure: les modules dynamiques (DSO) sont compilés par
+ défaut</li>
- <li>configure: par défaut, seul un jeu de modules de base est
- chargé. Les autres directives <code class="directive">LoadModule</code>
+ <li>configure: par défaut, seul un jeu de modules de base est
+ chargé. Les autres directives <code class="directive">LoadModule</code>
sont mises en commentaires dans le fichier de configuration.</li>
- <li>configure: le jeu de modules "most" est compilé par défaut</li>
+ <li>configure: le jeu de modules "most" est compilé par défaut</li>
<li>configure: le jeu de modules "reallyall" ajoute les modules de
- développeur au jeu "all".</li>
+ développeur au jeu "all".</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="run-time" id="run-time">Modifications de la configuration à l'exécution</a><a title="Lien permanent" href="#run-time" class="permalink">¶</a></h2>
+<h2><a name="run-time" id="run-time">Modifications de la configuration à l'exécution</a><a title="Lien permanent" href="#run-time" class="permalink">¶</a></h2>
<p>Des changements significatifs dans la configuration de
l'autorisation, ainsi que quelques changements mineurs, peuvent
-nécessiter une mise à jour des fichiers de configuration de la version
+nécessiter une mise à jour des fichiers de configuration de la version
2.2 avant de les utiliser sous la version 2.4.</p>
<h3><a name="authz" id="authz">Autorisation</a></h3>
- <p>Tout fichier de configuration qui gère des autorisations devra
- probablement être mis à jour.</p>
+ <p>Tout fichier de configuration qui gère des autorisations devra
+ probablement être mis à jour.</p>
- <p>Vous devez vous reporter au document <a href="howto/auth.html">Authentification, autorisation et contrôle
- d'accès</a>, et plus particulièrement à la section <a href="howto/auth.html#beyond">Plus loin qu'une simple
- autorisation</a> qui explique les nouveaux mécanismes permettant de
- contrôler l'ordre dans lequel les directives d'autorisation sont
- appliquées.</p>
+ <p>Vous devez vous reporter au document <a href="howto/auth.html">Authentification, autorisation et contrôle
+ d'accès</a>, et plus particulièrement à la section <a href="howto/auth.html#beyond">Plus loin qu'une simple
+ autorisation</a> qui explique les nouveaux mécanismes permettant de
+ contrôler l'ordre dans lequel les directives d'autorisation sont
+ appliquées.</p>
- <p>Les directives qui contrôlent la manière dont les modules
- d'autorisation réagissent lorsqu'ils ne reconnaissent pas
- l'utilisateur authentifié ont été supprimées : elles comprennent les
+ <p>Les directives qui contrôlent la manière dont les modules
+ d'autorisation réagissent lorsqu'ils ne reconnaissent pas
+ l'utilisateur authentifié ont été supprimées : elles comprennent les
directives AuthzLDAPAuthoritative, AuthzDBDAuthoritative,
AuthzDBMAuthoritative, AuthzGroupFileAuthoritative,
AuthzUserAuthoritative et AuthzOwnerAuthoritative. Ces directives
- ont été remplacées par les directives plus explicites <code class="directive"><a href="./mod/mod_authz_core.html#requireany">RequireAny</a></code>, <code class="directive"><a href="./mod/mod_authz_core.html#requirenone">RequireNone</a></code>, et <code class="directive"><a href="./mod/mod_authz_core.html#requireall">RequireAll</a></code>.</p>
+ ont été remplacées par les directives plus explicites <code class="directive"><a href="./mod/mod_authz_core.html#requireany">RequireAny</a></code>, <code class="directive"><a href="./mod/mod_authz_core.html#requirenone">RequireNone</a></code>, et <code class="directive"><a href="./mod/mod_authz_core.html#requireall">RequireAll</a></code>.</p>
<p>Si vous utilisez <code class="module"><a href="./mod/mod_authz_dbm.html">mod_authz_dbm</a></code>, vous devez
- mettre à jour votre configuration en remplaçant les directives du
+ mettre à jour votre configuration en remplaçant les directives du
style <code>Require group ...</code> par des directives du style
<code>Require dbm-group ...</code>.</p>
- <h4><a name="access" id="access">Contrôle d'accès</a></h4>
+ <h4><a name="access" id="access">Contrôle d'accès</a></h4>
- <p>Dans la version 2.2, le contrôle d'accès basé sur le nom d'hôte
- du client, son adresse IP, ou d'autres caractéristiques de la
- requête était assuré via les directives <code class="directive"><a href="./mod/mod_access_compat.html#order">Order</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#deny">Deny</a></code>, et <code class="directive"><a href="./mod/mod_access_compat.html#satisfy">Satisfy</a></code>.</p>
+ <p>Dans la version 2.2, le contrôle d'accès basé sur le nom d'hôte
+ du client, son adresse IP, ou d'autres caractéristiques de la
+ requête était assuré via les directives <code class="directive"><a href="./mod/mod_access_compat.html#order">Order</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#deny">Deny</a></code>, et <code class="directive"><a href="./mod/mod_access_compat.html#satisfy">Satisfy</a></code>.</p>
- <p>Dans la version 2.4, ce contrôle d'accès est assuré, comme tout
- contrôle d'autorisation, par le nouveau module
+ <p>Dans la version 2.4, ce contrôle d'accès est assuré, comme tout
+ contrôle d'autorisation, par le nouveau module
<code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>. Bien que le module
<code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code> assure la
- compatibilité avec les anciennes configurations, les anciennes
- directives de contrôle d'accès devront être remplacées par les
- nouveaux mécanismes d'authentification.</p>
+ compatibilité avec les anciennes configurations, les anciennes
+ directives de contrôle d'accès devront être remplacées par les
+ nouveaux mécanismes d'authentification.</p>
- <div class="note"><h3>Mélanger anciennes et nouvelles directives</h3>
- <p>Mélanger d'anciennes directives comme <code class="directive"><a href="./mod/mod_access_compat.html#order">Order</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#allow">Allow</a></code> ou <code class="directive"><a href="./mod/mod_access_compat.html#deny">Deny</a></code> avec des nouvelles comme
+ <div class="note"><h3>Mélanger anciennes et nouvelles directives</h3>
+ <p>Mélanger d'anciennes directives comme <code class="directive"><a href="./mod/mod_access_compat.html#order">Order</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#allow">Allow</a></code> ou <code class="directive"><a href="./mod/mod_access_compat.html#deny">Deny</a></code> avec des nouvelles comme
<code class="directive"><a href="./mod/mod_authz_core.html#require">Require</a></code> est techniquement
- possible mais déconseillé. En effet, <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code> a
- été conçu pour supporter des configurations ne contenant que des anciennes
- directives afin de faciliter le passage à la version 2.4. Les
- exemples ci-dessous vous permettront de vous faire une meilleure idée des
- problèmes qui peuvent survenir.
+ possible mais déconseillé. En effet, <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code> a
+ été conçu pour supporter des configurations ne contenant que des anciennes
+ directives afin de faciliter le passage à la version 2.4. Les
+ exemples ci-dessous vous permettront de vous faire une meilleure idée des
+ problèmes qui peuvent survenir.
</p>
</div>
- <p>Voici quelques exemples de contrôle d'accès avec l'ancienne et
- la nouvelle méthode :</p>
+ <p>Voici quelques exemples de contrôle d'accès avec l'ancienne et
+ la nouvelle méthode :</p>
<p>Dans cet exemple, il n'y a pas d'authentification et toutes les
- requêtes sont rejetées :</p>
+ requêtes sont rejetées :</p>
<div class="example"><h3>version 2.2 :</h3><pre class="prettyprint lang-config">Order deny,allow
Deny from all</pre>
</div>
</div>
<p>Dans cet exemple, il n'y a pas d'authentification et toutes les
- requêtes sont acceptées :</p>
+ requêtes sont acceptées :</p>
<div class="example"><h3>version 2.2 :</h3><pre class="prettyprint lang-config">Order allow,deny
Allow from all</pre>
</div>
</div>
<p>Dans l'exemple suivant, il n'y a pas d'authentification et tous les
- hôtes du domaine example.org
- ont l'autorisation d'accès, tous les autres étant rejetés :</p>
+ hôtes du domaine example.org
+ ont l'autorisation d'accès, tous les autres étant rejetés :</p>
<div class="example"><h3>version 2.2 :</h3><pre class="prettyprint lang-config">Order Deny,Allow
Deny from all
<div class="example"><h3>version 2.4 :</h3><pre class="prettyprint lang-config">Require host example.org</pre>
</div>
- <p>Dans l'exemple suivant, le mélange d'anciennes et de nouvelles
- directives produit des résultats inattendus.</p>
+ <p>Dans l'exemple suivant, le mélange d'anciennes et de nouvelles
+ directives produit des résultats inattendus.</p>
- <div class="example"><h3>Mélange d'anciennes et de nouvelles directives : RESULTAT
+ <div class="example"><h3>Mélange d'anciennes et de nouvelles directives : RESULTAT
INATTENDU</h3><pre class="prettyprint lang-config">DocumentRoot "/var/www/html"
<Directory "/">
access.log - GET /server-status 403 127.0.0.1
error.log - AH01797: client denied by server configuration: /var/www/html/server-status</pre>
</div>
- <p>Pourquoi httpd interdit l'accès à server-status alors que la
- configuration semble l'autoriser ? Parce que dans ce scénario de <a href="sections.html#merging">fusion</a> de configuration, les
+ <p>Pourquoi httpd interdit l'accès à server-status alors que la
+ configuration semble l'autoriser ? Parce que dans ce scénario de <a href="sections.html#merging">fusion</a> de configuration, les
directives de <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code> sont prioritaires par
- rapport à celles de <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>.</p>
+ rapport à celles de <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>.</p>
- <p>L'exemple suivant quant à lui produit un résultat conforme :</p>
+ <p>L'exemple suivant quant à lui produit un résultat conforme :</p>
- <div class="example"><h3>Mélange d'anciennes et de nouvelles directives : RESULTAT
+ <div class="example"><h3>Mélange d'anciennes et de nouvelles directives : RESULTAT
CONFORME</h3><pre class="prettyprint lang-config">DocumentRoot "/var/www/html"
<Directory "/">
access.log - GET /server-status 200 127.0.0.1</pre>
</div>
- <p>En conclusion, même si une configuration hybride peut fonctionner,
- essayez de l'éviter lors de la mise à jour : soit conservez les anciennes
- directives, puis migrez-les vers les nouvelles ultérieurement, soit
- effectuez une migration immédiate de toutes les anciennes directives vers
+ <p>En conclusion, même si une configuration hybride peut fonctionner,
+ essayez de l'éviter lors de la mise à jour : soit conservez les anciennes
+ directives, puis migrez-les vers les nouvelles ultérieurement, soit
+ effectuez une migration immédiate de toutes les anciennes directives vers
les nouvelles.
</p>
- <p>Dans de nombreuses configurations avec authentification où la directive
- <code class="directive">Satisfy</code> était définie à sa valeur par défaut
- <em>ALL</em>, les lignes de configuration qui désactivent le contrôle
- d'accès basé sur l'hôte sont maintenant omises :</p>
+ <p>Dans de nombreuses configurations avec authentification où la directive
+ <code class="directive">Satisfy</code> était définie à sa valeur par défaut
+ <em>ALL</em>, les lignes de configuration qui désactivent le contrôle
+ d'accès basé sur l'hôte sont maintenant omises :</p>
- <div class="example"><h3>Version 2.2 :</h3><pre class="prettyprint lang-config"># configuration en version 2.2 qui désactive le contrôle d'accès basé sur le nom
-# d'hôte pour n'utiliser que l'authentification
+ <div class="example"><h3>Version 2.2 :</h3><pre class="prettyprint lang-config"># configuration en version 2.2 qui désactive le contrôle d'accès basé sur le nom
+# d'hôte pour n'utiliser que l'authentification
Order Deny,Allow
Allow from all
AuthType Basic
AuthName secure
Require valid-user</pre>
</div>
- <div class="example"><h3>Version 2.4 :</h3><pre class="prettyprint lang-config"># Pas besoin de remplacer les directives Order et deny pour les désactiver
+ <div class="example"><h3>Version 2.4 :</h3><pre class="prettyprint lang-config"># Pas besoin de remplacer les directives Order et deny pour les désactiver
AuthType Basic
AuthBasicProvider file
AuthUserFile /example.com/conf/users.passwd
Require valid-user</pre>
</div>
- <p>Dans les configurations où l'authentification et le contrôle d'accès se
- combinaient dans un but précis, les directives de contrôle d'accès doivent
- être migrées. Dans l'exemple suivant, les requêtes qui correspondent aux
- <em>deux</em> critères sont acceptées :</p>
+ <p>Dans les configurations où l'authentification et le contrôle d'accès se
+ combinaient dans un but précis, les directives de contrôle d'accès doivent
+ être migrées. Dans l'exemple suivant, les requêtes qui correspondent aux
+ <em>deux</em> critères sont acceptées :</p>
<div class="example"><h3>Version 2.2 :</h3><pre class="prettyprint lang-config">Order allow,deny
Deny from all
-# ALL est la valeur par défaut de Satisfy
+# ALL est la valeur par défaut de Satisfy
Satisfy ALL
Allow from 127.0.0.1
AuthType Basic
</RequireAll></pre>
</div>
- <p>Dans les configurations où l'authentification et le contrôle d'accès se
- combinaient dans un but précis, les directives de contrôle d'accès doivent
- être migrées. Dans l'exemple suivant, les requêtes qui correspondent à
- <em>au moins un</em> critère sont acceptées :</p>
+ <p>Dans les configurations où l'authentification et le contrôle d'accès se
+ combinaient dans un but précis, les directives de contrôle d'accès doivent
+ être migrées. Dans l'exemple suivant, les requêtes qui correspondent à
+ <em>au moins un</em> critère sont acceptées :</p>
<div class="example"><h3>Version 2.2 :</h3><pre class="prettyprint lang-config">Order allow,deny
Deny from all
Satisfy any
<h3><a name="config" id="config">Autres changements dans la configuration</a></h3>
- <p>D'autres ajustements mineurs peuvent s'avérer nécessaires pour
- certaines configurations particulières, comme décrit ci-dessous.</p>
+ <p>D'autres ajustements mineurs peuvent s'avérer nécessaires pour
+ certaines configurations particulières, comme décrit ci-dessous.</p>
<ul>
- <li><code class="directive">MaxRequestsPerChild</code> a été renommée en
+ <li><code class="directive">MaxRequestsPerChild</code> a été renommée en
<code class="directive"><a href="./mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>;
- ce nouveau nom reflète mieux l'usage de cette directive.
- L'ancien nom est encore supporté.</li>
+ ce nouveau nom reflète mieux l'usage de cette directive.
+ L'ancien nom est encore supporté.</li>
<li>La directive <code class="directive">MaxClients</code> a
- été renommée en <code class="directive"><a href="./mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>; ce nouveau
- nom reflète mieux l'usage de cette directive. Pour les
+ été renommée en <code class="directive"><a href="./mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>; ce nouveau
+ nom reflète mieux l'usage de cette directive. Pour les
modules multiprocessus asynchrones, comme <code class="module"><a href="./mod/event.html">event</a></code>, le nombre
- maximal de clients n'est pas équivalent au nombre de threads du
- worker. L'ancien nom est encore supporté.</li>
+ maximal de clients n'est pas équivalent au nombre de threads du
+ worker. L'ancien nom est encore supporté.</li>
<li>La directive <code class="directive"><a href="./mod/core.html#defaulttype">DefaultType</a></code> ne produit plus aucun
- effet, si ce n'est d'émettre un avertissement si elle est
- définie à une valeur autre que <code>none</code>. D'autres
+ effet, si ce n'est d'émettre un avertissement si elle est
+ définie à une valeur autre que <code>none</code>. D'autres
directives de configuration la remplacent dans la version 2.4.
</li>
- <li>La valeur par défaut de la directive <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> est maintenant
+ <li>La valeur par défaut de la directive <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> est maintenant
<code>None</code>.</li>
- <li>La valeur par défaut de la directive <code class="directive"><a href="./mod/core.html#enablesendfile">EnableSendfile</a></code> est maintenant Off.</li>
+ <li>La valeur par défaut de la directive <code class="directive"><a href="./mod/core.html#enablesendfile">EnableSendfile</a></code> est maintenant Off.</li>
- <li>La valeur par défaut de la directive <code class="directive"><a href="./mod/core.html#fileetag">FileETag</a></code> est maintenant "MTime Size"
+ <li>La valeur par défaut de la directive <code class="directive"><a href="./mod/core.html#fileetag">FileETag</a></code> est maintenant "MTime Size"
(sans INode).</li>
- <li><code class="module"><a href="./mod/mod_dav_fs.html">mod_dav_fs</a></code>: le format du fichier <code class="directive"><a href="./mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> a changé pour les systèmes
- avec inodes. L'ancien fichier <code class="directive"><a href="./mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> doit être supprimé dans le
- cadre de la mise à jour.
+ <li><code class="module"><a href="./mod/mod_dav_fs.html">mod_dav_fs</a></code>: le format du fichier <code class="directive"><a href="./mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> a changé pour les systèmes
+ avec inodes. L'ancien fichier <code class="directive"><a href="./mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> doit être supprimé dans le
+ cadre de la mise à jour.
</li>
<li>La directive <code class="directive"><a href="./mod/core.html#keepalive">KeepAlive</a></code>
n'accepte que les valeurs <code>On</code> ou <code>Off</code>.
- Avant, toute valeur autre que "Off" ou "0" était traitée comme
+ Avant, toute valeur autre que "Off" ou "0" était traitée comme
"On".</li>
<li>Les directives AcceptMutex, LockFile, RewriteLock, SSLMutex,
- SSLStaplingMutex et WatchdogMutexPath ont été remplacées par la
+ SSLStaplingMutex et WatchdogMutexPath ont été remplacées par la
directive unique <code class="directive"><a href="./mod/core.html#mutex">Mutex</a></code>.
- Vous devez évaluer l'impact de ces directives obsolètes dans
- votre configuration version 2.2 afin de déterminer si elles
- peuvent être simplement supprimées, ou si elles doivent être
- remplacées par la directive <code class="directive"><a href="./mod/core.html#mutex">Mutex</a></code>.</li>
+ Vous devez évaluer l'impact de ces directives obsolètes dans
+ votre configuration version 2.2 afin de déterminer si elles
+ peuvent être simplement supprimées, ou si elles doivent être
+ remplacées par la directive <code class="directive"><a href="./mod/core.html#mutex">Mutex</a></code>.</li>
<li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>: la directive <code class="directive"><a href="./mod/mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></code>
- effectue maintenant une correspondance exacte dans la chaîne de
- paramètres au lieu d'une correspondance partielle. Si votre
- configuration mettait en jeu des sous-chaînes comme
- <code>sessionid</code> pour correspondre à
+ effectue maintenant une correspondance exacte dans la chaîne de
+ paramètres au lieu d'une correspondance partielle. Si votre
+ configuration mettait en jeu des sous-chaînes comme
+ <code>sessionid</code> pour correspondre à
<code>/une-application/image.gif;jsessionid=123456789</code>,
- vous devez maintenant utiliser la chaîne de correspondance
- complète <code>jsessionid</code>.
+ vous devez maintenant utiliser la chaîne de correspondance
+ complète <code>jsessionid</code>.
</li>
- <li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>: le second paramètre de la
+ <li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>: le second paramètre de la
directive <code class="directive"><a href="./mod/mod_cache.html#cacheenable">CacheEnable</a></code>
- ne concerne les contenus en mandat direct que s'ils débutent par
- le protocole approprié. Dans les versions 2.2 et antérieures, un
- paramètre tel que '/' concernait tous les contenus.</li>
+ ne concerne les contenus en mandat direct que s'ils débutent par
+ le protocole approprié. Dans les versions 2.2 et antérieures, un
+ paramètre tel que '/' concernait tous les contenus.</li>
<li><code class="module"><a href="./mod/mod_ldap.html">mod_ldap</a></code>: la directive <code class="directive"><a href="./mod/mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></code> s'utilise
maintenant exclusivement au sein d'une configuration de niveau
- répertoire. Si vous utilisez cette directive, passez en revue
- votre configuration pour vous assurer qu'elle est bien présente
- dans tous les contextes de répertoire nécessaires.</li>
+ répertoire. Si vous utilisez cette directive, passez en revue
+ votre configuration pour vous assurer qu'elle est bien présente
+ dans tous les contextes de répertoire nécessaires.</li>
<li><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>: la syntaxe de la directive
<code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code> utilise
- maintenant une expression booléenne pour déterminer si un filtre
+ maintenant une expression booléenne pour déterminer si un filtre
s'applique.
</li>
<li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code>:
<ul>
- <li>L'élément <code>#if expr</code> utilise maintenant le
- nouvel <a href="expr.html">interpréteur d'expressions</a>.
- L'ancienne syntaxe peut être réactivée via la directive
+ <li>L'élément <code>#if expr</code> utilise maintenant le
+ nouvel <a href="expr.html">interpréteur d'expressions</a>.
+ L'ancienne syntaxe peut être réactivée via la directive
<code class="directive"><a href="./mod/mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></code>.
</li>
- <li>Dans la portée du répertoire, une directive de
- configuration SSI* ne provoque plus la réinitialisation à
- leur valeur par défaut de toutes les directives SSI* de
- niveau répertoire.</li>
+ <li>Dans la portée du répertoire, une directive de
+ configuration SSI* ne provoque plus la réinitialisation à
+ leur valeur par défaut de toutes les directives SSI* de
+ niveau répertoire.</li>
</ul>
</li>
<li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code> : l'option
- <code>DebugLevel</code> a été supprimée en faveur d'une
- configuration de la directive <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> au niveau répertoire.
+ <code>DebugLevel</code> a été supprimée en faveur d'une
+ configuration de la directive <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> au niveau répertoire.
</li>
<li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code> : l'option
- <code>DebugLevel</code> a été supprimée en faveur d'une
- configuration de la directive <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> au niveau répertoire.
+ <code>DebugLevel</code> a été supprimée en faveur d'une
+ configuration de la directive <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> au niveau répertoire.
</li>
<li><code class="module"><a href="./mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code>: certaines applications web
ne fonctionneront plus correctement avec la nouvelle
- configuration de <code>PATH_INFO</code> qui est différente de
+ configuration de <code>PATH_INFO</code> qui est différente de
celle de la version 2.2. La configuration
- précédente peut être
- restaurée en définissant la variable
+ précédente peut être
+ restaurée en définissant la variable
<code>proxy-scgi-pathinfo</code>.</li>
- <li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>: le contrôle de révocation des
- certificats basé sur les CRL doit être maintenant explicitement
- configuré via la directive <code class="directive"><a href="./mod/mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck</a></code>.
+ <li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>: le contrôle de révocation des
+ certificats basé sur les CRL doit être maintenant explicitement
+ configuré via la directive <code class="directive"><a href="./mod/mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck</a></code>.
</li>
<li><code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code>: la taille maximale d'une
ligne est maintenant 1Mo.
</li>
- <li><code class="module"><a href="./mod/mod_reqtimeout.html">mod_reqtimeout</a></code>: si ce module est chargé, il
- définit maintenant certains temps d'attente par défaut.</li>
+ <li><code class="module"><a href="./mod/mod_reqtimeout.html">mod_reqtimeout</a></code>: si ce module est chargé, il
+ définit maintenant certains temps d'attente par défaut.</li>
<li><code class="module"><a href="./mod/mod_dumpio.html">mod_dumpio</a></code>: la directive
- <code class="directive">DumpIOLogLevel</code> n'est plus supportée. Les
- données sont toujours enregistrées au niveau <code>trace7</code>
+ <code class="directive">DumpIOLogLevel</code> n'est plus supportée. Les
+ données sont toujours enregistrées au niveau <code>trace7</code>
de <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code></li>
- <li>Jusqu'à la version 2.2, sur les plateformes de style Unix,
- les commandes de redirection des logs définies via <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code> ou <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> étaient invoquées
+ <li>Jusqu'à la version 2.2, sur les plateformes de style Unix,
+ les commandes de redirection des logs définies via <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code> ou <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> étaient invoquées
en utilisant <code>/bin/sh -c</code>. A
partir de la version 2.4, les commandes de redirection des logs
- sont exécutées directement. Pour retrouver l'ancien
+ sont exécutées directement. Pour retrouver l'ancien
comportement, voir la <a href="logs.html#piped">documentation
sur la redirection des logs</a></li>
<ul>
<li><code class="module"><a href="./mod/mod_auto_index.html">mod_auto_index</a></code>: extrait maintenant les titres
- et affiche la description pour les fichiers .xhtml qui étaient
- jusqu'alors ignorés.</li>
+ et affiche la description pour les fichiers .xhtml qui étaient
+ jusqu'alors ignorés.</li>
- <li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> : le format par défaut des variables
- <code>*_DN</code> a changé. Il est cependant encore possible
+ <li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> : le format par défaut des variables
+ <code>*_DN</code> a changé. Il est cependant encore possible
d'utiliser l'ancien format via la nouvelle option
<code>LegacyDNStringFormat</code> de la directive <code class="directive"><a href="./mod/mod_ssl.html#ssloptions">SSLOptions</a></code>. Le protocole SSLv2 n'est
- plus supporté. Les directives <code class="directive"><a href="./mod/mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></code> et
+ plus supporté. Les directives <code class="directive"><a href="./mod/mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></code> et
<code class="directive"><a href="./mod/mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire</a></code>
- sont maintenant définies par défaut à On, et les requêtes mandatées
- vers des serveurs HTTPS possèdant des certificats non conformes ou
- périmés échoueront donc avec un code d'erreur 502 (Bad gateway).</li>
+ sont maintenant définies par défaut à On, et les requêtes mandatées
+ vers des serveurs HTTPS possèdant des certificats non conformes ou
+ périmés échoueront donc avec un code d'erreur 502 (Bad gateway).</li>
- <li><code class="program"><a href="./programs/htpasswd.html">htpasswd</a></code> utilise maintenant par défaut les
- condensés MD5 sur toutes les plates-formes.</li>
+ <li><code class="program"><a href="./programs/htpasswd.html">htpasswd</a></code> utilise maintenant par défaut les
+ condensés MD5 sur toutes les plates-formes.</li>
<li>La directive <code class="directive"><a href="./mod/core.html#namevirtualhost">NameVirtualHost</a></code> n'a plus aucun effet, si
- ce n'est l'émission d'un avertissement. Toute combinaison
+ ce n'est l'émission d'un avertissement. Toute combinaison
adresse/port apparaissant dans plusieurs serveurs virtuels est
- traitée implicitement comme un serveur virtuel basé sur le nom.
+ traitée implicitement comme un serveur virtuel basé sur le nom.
</li>
<li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> n'effectue plus de compression
- s'il s'aperçoit que la quantité de données ajoutée par la
- compression est supérieure à la quantité de données à compresser.
+ s'il s'aperçoit que la quantité de données ajoutée par la
+ compression est supérieure à la quantité de données à compresser.
</li>
<li>Les pages d'erreur multilingues de la version 2.2.x ne
- fonctionneront qu'après avoir été corrigées pour
- respecter la nouvelle syntaxe de l'élément <code>#if expr=</code>
+ fonctionneront qu'après avoir été corrigées pour
+ respecter la nouvelle syntaxe de l'élément <code>#if expr=</code>
du module <code class="module"><a href="./mod/mod_include.html">mod_include</a></code>, ou si la directive
<code class="directive"><a href="./mod/mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></code> a
- été activée pour le répertoire contenant les pages d'erreur.
+ été activée pour le répertoire contenant les pages d'erreur.
</li>
- <li>La fonctionnalité fournie par <code>mod_authn_alias</code>
- dans les précédentes versions (en fait la directive
+ <li>La fonctionnalité fournie par <code>mod_authn_alias</code>
+ dans les précédentes versions (en fait la directive
<code class="directive"><a href="./mod/mod_authn_core.html#authnprovideralias">AuthnProviderAlias</a></code>)
est maintenant fournie par <code class="module"><a href="./mod/mod_authn_core.html">mod_authn_core</a></code>.
</li>
<li><code class="module"><a href="./mod/mod_cgid.html">mod_cgid</a></code> utilise la valeur de la directive
<code class="directive"><a href="./mod/core.html#timeout">Timeout</a></code> du serveur pour
limiter le temps d'attente entre les sorties d'un programme CGI.
- La valeur de ce temps d'attente peut maintenant être modifiée via
+ La valeur de ce temps d'attente peut maintenant être modifiée via
la directive <code class="directive"><a href="./mod/mod_cgid.html#cgidscripttimeout">CGIDScriptTImeout</a></code>.
</li>
<h2><a name="third-party" id="third-party">Modules tiers</a><a title="Lien permanent" href="#third-party" class="permalink">¶</a></h2>
- <p>Tous les modules tiers doivent être recompilés pour la
- version 2.4 avant d'être chargés.</p>
+ <p>Tous les modules tiers doivent être recompilés pour la
+ version 2.4 avant d'être chargés.</p>
- <p>De nombreux modules tiers conçus pour la version 2.2
+ <p>De nombreux modules tiers conçus pour la version 2.2
fonctionneront sans changement avec le serveur HTTP Apache
- version 2.4. Certains nécessiteront cependant des modifications ; se
- reporter à la vue d'ensemble <a href="developer/new_api_2_4.html">Mise à jour de l'API</a>.</p>
+ version 2.4. Certains nécessiteront cependant des modifications ; se
+ reporter à la vue d'ensemble <a href="developer/new_api_2_4.html">Mise à jour de l'API</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="commonproblems" id="commonproblems">Problèmes de mise à jour courants</a><a title="Lien permanent" href="#commonproblems" class="permalink">¶</a></h2>
+<h2><a name="commonproblems" id="commonproblems">Problèmes de mise à jour courants</a><a title="Lien permanent" href="#commonproblems" class="permalink">¶</a></h2>
- <ul><li>Erreurs au démarrage :
+ <ul><li>Erreurs au démarrage :
<ul>
<li><code>Invalid command 'User', perhaps misspelled or defined by
a module not included in the server configuration</code> - chargez
by a module not included in the server configuration</code>, ou
<code>Invalid command 'Order', perhaps misspelled or defined by a
module not included in the server configuration</code> - chargez
- le module <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code>, ou mettez à jour
+ le module <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code>, ou mettez à jour
vers la version 2.4 les directives d'autorisation.</li>
<li><code>Ignoring deprecated use of DefaultType in line NN of
/path/to/httpd.conf</code> - supprimez la directive <code class="directive"><a href="./mod/core.html#defaulttype">DefaultType</a></code> et remplacez-la par les
- directives de configuration appropriées.</li>
+ directives de configuration appropriées.</li>
<li><code>Invalid command 'AddOutputFilterByType', perhaps misspelled
or defined by a module not included in the server configuration
- </code> - la directive <code class="directive"><a href="./mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code> qui était
- jusqu'alors implémentée par le module core, l'est maintenant par
- le module mod_filter, qui doit donc être chargé.</li>
+ </code> - la directive <code class="directive"><a href="./mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code> qui était
+ jusqu'alors implémentée par le module core, l'est maintenant par
+ le module mod_filter, qui doit donc être chargé.</li>
</ul></li>
- <li>Erreurs de traitement des requêtes :
+ <li>Erreurs de traitement des requêtes :
<ul>
<li><code>configuration error: couldn't check user: /path</code> -
chargez le module <code class="module"><a href="./mod/mod_authn_core.html">mod_authn_core</a></code>.</li>
- <li>Les fichiers <code>.htaccess</code> ne sont pas traités -
- Vérifiez la présence d'une directive <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> appropriée ; sa valeur par
- défaut est maintenant <code>None</code>.</li>
+ <li>Les fichiers <code>.htaccess</code> ne sont pas traités -
+ Vérifiez la présence d'une directive <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> appropriée ; sa valeur par
+ défaut est maintenant <code>None</code>.</li>
</ul>
</li>
</ul>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/upgrading.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/upgrading.html" title="Français"> fr </a></p>
+<a href="./fr/upgrading.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title> Mise en correspondance des URLs avec le système de fichiers - Serveur Apache HTTP Version 2.5</title>
+<title> Mise en correspondance des URLs avec le système de fichiers - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1> Mise en correspondance des URLs avec le système de fichiers</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1> Mise en correspondance des URLs avec le système de fichiers</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/urlmapping.html" title="Français"> fr </a> |
+<a href="./fr/urlmapping.html" title="Français"> fr </a> |
<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
<p>Ce document explique comment le serveur HTTP Apache utilise l'URL contenue dans une
- requête pour déterminer le noeud du système de fichier à partir duquel le
- fichier devra être servi.</p>
+ requête pour déterminer le noeud du système de fichier à partir duquel le
+ fichier devra être servi.</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#related">Modules et directives concernés</a></li>
+<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#related">Modules et directives concernés</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#documentroot">Racine des documents (DocumentRoot)</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#outside">Fichiers situés en dehors de
+<li><img alt="" src="./images/down.gif" /> <a href="#outside">Fichiers situés en dehors de
l'arborescence DocumentRoot</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#user">Répertoires des utilisateurs</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#user">Répertoires des utilisateurs</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#redirect">Redirection d'URL</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#proxy">Mandataire inverse (Reverse Proxy)</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">Moteur de réécriture</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#notfound">Fichier non trouvé (File Not Found)</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">Moteur de réécriture</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#notfound">Fichier non trouvé (File Not Found)</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#other">Autres modules de mise en correspondance des
URLs</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="related" id="related">Modules et directives concernés</a><a title="Lien permanent" href="#related" class="permalink">¶</a></h2>
+<h2><a name="related" id="related">Modules et directives concernés</a><a title="Lien permanent" href="#related" class="permalink">¶</a></h2>
-<table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code></li><li><code class="module"><a href="./mod/mod_alias.html">mod_alias</a></code></li><li><code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code></li><li><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code></li><li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></li><li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code></li><li><code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code></li><li><code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_speling.html#checkspelling">CheckSpelling</a></code></li><li><code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code></li><li><code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code></li><li><code class="directive"><a href="./mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code></li></ul></td></tr></table>
+<table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code></li><li><code class="module"><a href="./mod/mod_alias.html">mod_alias</a></code></li><li><code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code></li><li><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code></li><li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></li><li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code></li><li><code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code></li><li><code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_speling.html#checkspelling">CheckSpelling</a></code></li><li><code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code></li><li><code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code></li><li><code class="directive"><a href="./mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code></li></ul></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="documentroot" id="documentroot">Racine des documents (DocumentRoot)</a><a title="Lien permanent" href="#documentroot" class="permalink">¶</a></h2>
- <p>La méthode par défaut de httpd pour déterminer quel fichier servir pour
- une requête donnée, consiste à extraire le chemin du fichier de la requête
- (la partie de l'URL qui suit le nom d'hôte et le port), puis de l'ajouter
- à la fin de la valeur de la directive
- <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> définie dans vos fichiers
+ <p>La méthode par défaut de httpd pour déterminer quel fichier servir pour
+ une requête donnée, consiste à extraire le chemin du fichier de la requête
+ (la partie de l'URL qui suit le nom d'hôte et le port), puis de l'ajouter
+ à la fin de la valeur de la directive
+ <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> définie dans vos fichiers
de configuration.
- Ainsi, les fichiers et répertoires
- situés en dessous de <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
+ Ainsi, les fichiers et répertoires
+ situés en dessous de <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
constituent l'arborescence de base des documents qui seront visibles
depuis le web.</p>
<p>Par exemple, si la directive
<code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> contient
- <code>/var/www/html</code>, une requête pour
+ <code>/var/www/html</code>, une requête pour
<code>http://www.example.com/fish/guppies.html</code> retournera le
fichier <code>/var/www/html/fish/guppies.html</code> au client.</p>
- <p>Si la requête concerne un répertoire (autrement dit un chemin se
+ <p>Si la requête concerne un répertoire (autrement dit un chemin se
terminant par un slash <code>/</code>), le nom du fichier qui sera
- recherché et servi depuis ce répertoire est défini via la directive
+ recherché et servi depuis ce répertoire est défini via la directive
<code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>. Par exemple,
- supposons que <code>DocumentRoot</code> ait été définie comme
- précédemment, et que vous ayez défini <code>DirectoryIndex</code>
+ supposons que <code>DocumentRoot</code> ait été définie comme
+ précédemment, et que vous ayez défini <code>DirectoryIndex</code>
comme suit :</p>
<div class="example"><p><code>DirectoryIndex index.html index.php</code></p></div>
- <p>Si httpd reçoit alors une requête pour
+ <p>Si httpd reçoit alors une requête pour
<code>http://www.example.com/fish/</code>, il tentera de servir le
fichier <code>/var/www/html/fish/index.html</code>. Si ce fichier
n'existe pas, il tentera de servir le fichier
<code>/var/www/html/fish/index.php</code>.</p>
- <p>Si aucun de ces fichiers existe, httpd tentera de générer et
- d'afficher un index du répertoire, à condition que
- <code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code> ait été chargé et configuré pour le
+ <p>Si aucun de ces fichiers existe, httpd tentera de générer et
+ d'afficher un index du répertoire, à condition que
+ <code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code> ait été chargé et configuré pour le
permettre.</p>
- <p>httpd supporte aussi les <a href="vhosts/">Hôtes virtuels</a>,
- ce qui lui permet de traiter des requêtes pour plusieurs hôtes.
+ <p>httpd supporte aussi les <a href="vhosts/">Hôtes virtuels</a>,
+ ce qui lui permet de traiter des requêtes pour plusieurs hôtes.
Dans ce cas, un <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
- différent peut être défini pour chaque hôte virtuel;
+ différent peut être défini pour chaque hôte virtuel;
les directives fournies par le module
- <code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code> peuvent aussi être utilisées afin de
- déterminer dynamiquement le noeud approprié du système de fichiers
- à partir duquel servir un contenu en fonction de l'adresse IP
- ou du nom d'hôte.</p>
+ <code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code> peuvent aussi être utilisées afin de
+ déterminer dynamiquement le noeud approprié du système de fichiers
+ à partir duquel servir un contenu en fonction de l'adresse IP
+ ou du nom d'hôte.</p>
<p>La directive <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> est
- définie dans le fichier de configuration de votre serveur principal
- (<code>httpd.conf</code>), mais peut aussi être redéfinie pour chaque
- <a href="vhosts/">Hôte virtuel</a> supplémentaire que vous avez créé.</p>
+ définie dans le fichier de configuration de votre serveur principal
+ (<code>httpd.conf</code>), mais peut aussi être redéfinie pour chaque
+ <a href="vhosts/">Hôte virtuel</a> supplémentaire que vous avez créé.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="outside" id="outside">Fichiers situés en dehors de
+<h2><a name="outside" id="outside">Fichiers situés en dehors de
l'arborescence DocumentRoot</a><a title="Lien permanent" href="#outside" class="permalink">¶</a></h2>
- <p>Il existe de nombreuses circonstances pour lesquelles il est nécessaire
- d'autoriser l'accès web à des portions du système de fichiers qui ne se
+ <p>Il existe de nombreuses circonstances pour lesquelles il est nécessaire
+ d'autoriser l'accès web à des portions du système de fichiers qui ne se
trouvent pas dans l'arborescence <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>. httpd propose de nombreuses
- solutions pour réaliser cela. Sur les systèmes Unix, les liens
- symboliques permettent de rattacher d'autres portions du système de
- fichiers au <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>. Pour des raisons de sécurité,
- httpd ne suivra les liens symboliques que si les <code class="directive"><a href="./mod/core.html#options">Options</a></code> pour le répertoire concerné contiennent
+ solutions pour réaliser cela. Sur les systèmes Unix, les liens
+ symboliques permettent de rattacher d'autres portions du système de
+ fichiers au <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>. Pour des raisons de sécurité,
+ httpd ne suivra les liens symboliques que si les <code class="directive"><a href="./mod/core.html#options">Options</a></code> pour le répertoire concerné contiennent
<code>FollowSymLinks</code> ou <code>SymLinksIfOwnerMatch</code>.</p>
- <p>Une autre méthode consiste à utiliser la directive <code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code> pour rattacher toute portion
- du système de fichiers à l'arborescence du site web. Par exemple, avec</p>
+ <p>Une autre méthode consiste à utiliser la directive <code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code> pour rattacher toute portion
+ du système de fichiers à l'arborescence du site web. Par exemple, avec</p>
<pre class="prettyprint lang-config">Alias "/docs" "/var/web"</pre>
correspondra au fichier <code>/var/web/dir/file.html</code>. La
directive
<code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code>
- fonctionne de la même manière, excepté que tout contenu localisé dans le
- chemin cible sera traité comme un script <a class="glossarylink" href="./glossary.html#cgi" title="voir glossaire">CGI</a>.</p>
+ fonctionne de la même manière, excepté que tout contenu localisé dans le
+ chemin cible sera traité comme un script <a class="glossarylink" href="./glossary.html#cgi" title="voir glossaire">CGI</a>.</p>
- <p>Pour les situations qui nécessitent plus de flexibilité, vous disposez
+ <p>Pour les situations qui nécessitent plus de flexibilité, vous disposez
des directives <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code>
et <code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code>
- qui permettent des substitutions et comparaisons puissantes basées
+ qui permettent des substitutions et comparaisons puissantes basées
sur les <a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>.
Par exemple,</p>
<pre class="prettyprint lang-config">ScriptAliasMatch "^/~([a-zA-Z0-9]+)/cgi-bin/(.+)" "/home/$1/cgi-bin/$2"</pre>
- <p>fera correspondre une requête du style
+ <p>fera correspondre une requête du style
<code>http://example.com/~user/cgi-bin/script.cgi</code> au chemin
- <code>/home/user/cgi-bin/script.cgi</code>, et traitera le fichier résultant
+ <code>/home/user/cgi-bin/script.cgi</code>, et traitera le fichier résultant
comme un script CGI.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="user" id="user">Répertoires des utilisateurs</a><a title="Lien permanent" href="#user" class="permalink">¶</a></h2>
+<h2><a name="user" id="user">Répertoires des utilisateurs</a><a title="Lien permanent" href="#user" class="permalink">¶</a></h2>
- <p>Sur les systèmes Unix, on peut traditionnellement faire référence
- au répertoire personnel d'un <em>utilisateur</em> particulier à l'aide de
+ <p>Sur les systèmes Unix, on peut traditionnellement faire référence
+ au répertoire personnel d'un <em>utilisateur</em> particulier à l'aide de
l'expression <code>~user/</code>.
Le module <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>
- étend cette idée au web en autorisant l'accès aux fichiers situés dans les
- répertoires home des utilisateurs à l'aide d'URLs
+ étend cette idée au web en autorisant l'accès aux fichiers situés dans les
+ répertoires home des utilisateurs à l'aide d'URLs
comme dans ce qui suit :</p>
<div class="example"><p><code>http://www.example.com/~user/file.html</code></p></div>
- <p>Pour des raisons de sécurité, il est déconseillé de permettre un accès
- direct à un répertoire home d'utilisateur depuis le web. A cet effet, la
+ <p>Pour des raisons de sécurité, il est déconseillé de permettre un accès
+ direct à un répertoire home d'utilisateur depuis le web. A cet effet, la
directive <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>
- spécifie un répertoire où sont situés les fichiers accessibles depuis le web
- dans le répertoire home de l'utilisateur.
- Avec la configuration par défaut
- <code>Userdir public_html</code>, l'URL ci-dessus correspondra à un fichier
+ spécifie un répertoire où sont situés les fichiers accessibles depuis le web
+ dans le répertoire home de l'utilisateur.
+ Avec la configuration par défaut
+ <code>Userdir public_html</code>, l'URL ci-dessus correspondra à un fichier
dont le chemin sera du style
- <code>/home/user/public_html/file.html</code> où
- <code>/home/user/</code> est le répertoire home de l'utilisateur tel qu'il
- est défini dans <code>/etc/passwd</code>.</p>
+ <code>/home/user/public_html/file.html</code> où
+ <code>/home/user/</code> est le répertoire home de l'utilisateur tel qu'il
+ est défini dans <code>/etc/passwd</code>.</p>
- <p>La directive <code>Userdir</code> met à votre disposition de nombreuses
- formes différentes pour les systèmes où <code>/etc/passwd</code> ne
- spécifie pas la localisation du répertoire home.</p>
+ <p>La directive <code>Userdir</code> met à votre disposition de nombreuses
+ formes différentes pour les systèmes où <code>/etc/passwd</code> ne
+ spécifie pas la localisation du répertoire home.</p>
<p>Certains jugent le symbole "~" (dont le code sur le web est souvent
- <code>%7e</code>) inapproprié et préfèrent utiliser une chaîne de
- caractères différente pour représenter les répertoires utilisateurs.
- mod_userdir ne supporte pas cette fonctionnalité. Cependant, si les
- répertoires home des utilisateurs sont structurés de manière rationnelle,
+ <code>%7e</code>) inapproprié et préfèrent utiliser une chaîne de
+ caractères différente pour représenter les répertoires utilisateurs.
+ mod_userdir ne supporte pas cette fonctionnalité. Cependant, si les
+ répertoires home des utilisateurs sont structurés de manière rationnelle,
il est possible d'utiliser la directive
<code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code>
- pour obtenir l'effet désiré. Par exemple, pour faire correspondre
- <code>http://www.example.com/upages/user/file.html</code> à
+ pour obtenir l'effet désiré. Par exemple, pour faire correspondre
+ <code>http://www.example.com/upages/user/file.html</code> à
<code>/home/user/public_html/file.html</code>, utilisez la directive
<code>AliasMatch</code> suivante :</p>
<div class="section">
<h2><a name="redirect" id="redirect">Redirection d'URL</a><a title="Lien permanent" href="#redirect" class="permalink">¶</a></h2>
- <p>Les directives de configuration décrites dans les sections précédentes
- demandent à httpd d'extraire un contenu depuis un emplacement spécifique
- du système de fichiers
+ <p>Les directives de configuration décrites dans les sections précédentes
+ demandent à httpd d'extraire un contenu depuis un emplacement spécifique
+ du système de fichiers
et de la retourner au client. Il est cependant parfois
souhaitable d'informer le
- client que le contenu demandé est localisé à une URL différente, et de
- demander au client d'élaborer une nouvelle requête avec la nouvelle URL.
- Ce processus se nomme <em>redirection</em> et est implémenté par la
+ client que le contenu demandé est localisé à une URL différente, et de
+ demander au client d'élaborer une nouvelle requête avec la nouvelle URL.
+ Ce processus se nomme <em>redirection</em> et est implémenté par la
directive <code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code>.
- Par exemple, si le contenu du répertoire <code>/foo/</code> sous
- <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> est déplacé vers le
- nouveau répertoire <code>/bar/</code>, vous pouvez demander aux clients
- de le requérir à sa nouvelle localisation comme suit :</p>
+ Par exemple, si le contenu du répertoire <code>/foo/</code> sous
+ <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> est déplacé vers le
+ nouveau répertoire <code>/bar/</code>, vous pouvez demander aux clients
+ de le requérir à sa nouvelle localisation comme suit :</p>
<pre class="prettyprint lang-config">Redirect permanent "/foo/" "http://www.example.com/bar/"</pre>
- <p>Ceci aura pour effet de rediriger tout chemin d'URL commençant par
- <code>/foo/</code> vers le même chemin d'URL sur le serveur
- <code>www.example.com</code> en remplaçant <code>/foo/</code> par
+ <p>Ceci aura pour effet de rediriger tout chemin d'URL commençant par
+ <code>/foo/</code> vers le même chemin d'URL sur le serveur
+ <code>www.example.com</code> en remplaçant <code>/foo/</code> par
<code>/bar/</code>. Vous pouvez rediriger les clients non seulement sur le
serveur d'origine, mais aussi vers n'importe quel autre serveur.</p>
- <p>httpd propose aussi la directive <code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> pour traiter les problèmes
- de réécriture d'une plus grande complexité. Par exemple, afin de rediriger
- les requêtes pour la page d'accueil du site vers un site différent, mais
- laisser toutes les autres requêtes inchangées, utilisez la
+ <p>httpd propose aussi la directive <code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> pour traiter les problèmes
+ de réécriture d'une plus grande complexité. Par exemple, afin de rediriger
+ les requêtes pour la page d'accueil du site vers un site différent, mais
+ laisser toutes les autres requêtes inchangées, utilisez la
configuration suivante :</p>
<pre class="prettyprint lang-config">RedirectMatch permanent "^/$" "http://www.example.com/startpage.html"</pre>
- <p>De même, pour rediriger temporairement toutes les pages d'un site
- vers une page particulière d'un autre site, utilisez ce qui suit :</p>
+ <p>De même, pour rediriger temporairement toutes les pages d'un site
+ vers une page particulière d'un autre site, utilisez ce qui suit :</p>
<pre class="prettyprint lang-config">RedirectMatch temp ".*" "http://othersite.example.com/startpage.html"</pre>
<p>httpd vous permet aussi de rapatrier des documents distants
dans l'espace des URL du serveur local.
-Cette technique est appelée <em>mandataire inverse ou reverse
+Cette technique est appelée <em>mandataire inverse ou reverse
proxying</em> car le serveur web agit comme un serveur mandataire en
rapatriant les documents depuis un serveur distant puis les renvoyant
-au client. Ceci diffère d'un service de mandataire usuel (direct) car, pour le client,
+au client. Ceci diffère d'un service de mandataire usuel (direct) car, pour le client,
les documents semblent appartenir au serveur mandataire inverse.</p>
-<p>Dans l'exemple suivant, quand les clients demandent des documents situés
-dans le répertoire
-<code>/foo/</code>, le serveur rapatrie ces documents depuis le répertoire
+<p>Dans l'exemple suivant, quand les clients demandent des documents situés
+dans le répertoire
+<code>/foo/</code>, le serveur rapatrie ces documents depuis le répertoire
<code>/bar/</code> sur <code>internal.example.com</code>
et les renvoie au client comme s'ils appartenaient au serveur local.</p>
<p>La directive <code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code> configure
-le serveur pour rapatrier les documents appropriés, alors que la directive
+le serveur pour rapatrier les documents appropriés, alors que la directive
<code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code>
-réécrit les redirections provenant de
-<code>internal.example.com</code> de telle manière qu'elles ciblent le
-répertoire approprié sur le serveur local. De manière similaire, les directives
+réécrit les redirections provenant de
+<code>internal.example.com</code> de telle manière qu'elles ciblent le
+répertoire approprié sur le serveur local. De manière similaire, les directives
<code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code>
et <code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code>
-réécrivent les cookies élaborés par le serveur d'arrière-plan.</p>
-<p>Il est important de noter cependant, que les liens situés dans les documents
-ne seront pas réécrits. Ainsi, tout lien absolu sur
-<code>internal.example.com</code> fera décrocher le client
-du serveur mandataire et effectuer sa requête directement sur
+réécrivent les cookies élaborés par le serveur d'arrière-plan.</p>
+<p>Il est important de noter cependant, que les liens situés dans les documents
+ne seront pas réécrits. Ainsi, tout lien absolu sur
+<code>internal.example.com</code> fera décrocher le client
+du serveur mandataire et effectuer sa requête directement sur
<code>internal.example.com</code>. Vous pouvez modifier ces liens (et
-d'utres contenus) situés dans la page au moment où elle est envoyée au
+d'utres contenus) situés dans la page au moment où elle est envoyée au
client en utilisant le module <code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code>.</p>
<pre class="prettyprint lang-config">Substitute s/internal\.example\.com/www.example.com/i</pre>
-<p>Le module <code class="module"><a href="./mod/mod_proxy_html.html">mod_proxy_html</a></code> rend possible une réécriture plus
-élaborée des liens en HTML et XHTML. Il permet de créer des listes
-d'URLs et de leurs réécritures, de façon à pouvoir gérer des scénarios
-de réécriture complexes.</p>
+<p>Le module <code class="module"><a href="./mod/mod_proxy_html.html">mod_proxy_html</a></code> rend possible une réécriture plus
+élaborée des liens en HTML et XHTML. Il permet de créer des listes
+d'URLs et de leurs réécritures, de façon à pouvoir gérer des scénarios
+de réécriture complexes.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="rewrite" id="rewrite">Moteur de réécriture</a><a title="Lien permanent" href="#rewrite" class="permalink">¶</a></h2>
-
- <p>Le moteur de réécriture <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> peut s'avérer
- utile lorsqu'une substitution plus puissante est nécessaire.
- Les directives fournies par ce module peuvent utiliser des caractéristiques de la
- requête comme le type de navigateur ou l'adresse IP source afin de décider
- depuis où servir le contenu. En outre, mod_rewrite peut utiliser des
- fichiers ou programmes de bases de données externes pour déterminer comment
- traiter une requête. Le moteur de réécriture peut effectuer les trois types
- de mise en correspondance discutés plus haut :
+<h2><a name="rewrite" id="rewrite">Moteur de réécriture</a><a title="Lien permanent" href="#rewrite" class="permalink">¶</a></h2>
+
+ <p>Le moteur de réécriture <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> peut s'avérer
+ utile lorsqu'une substitution plus puissante est nécessaire.
+ Les directives fournies par ce module peuvent utiliser des caractéristiques de la
+ requête comme le type de navigateur ou l'adresse IP source afin de décider
+ depuis où servir le contenu. En outre, mod_rewrite peut utiliser des
+ fichiers ou programmes de bases de données externes pour déterminer comment
+ traiter une requête. Le moteur de réécriture peut effectuer les trois types
+ de mise en correspondance discutés plus haut :
redirections internes (aliases), redirections externes, et services mandataires.
- De nombreux exemples pratiques utilisant mod_rewrite sont discutés dans la
- <a href="rewrite/">documentation détaillée de mod_rewrite</a>.</p>
+ De nombreux exemples pratiques utilisant mod_rewrite sont discutés dans la
+ <a href="rewrite/">documentation détaillée de mod_rewrite</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="notfound" id="notfound">Fichier non trouvé (File Not Found)</a><a title="Lien permanent" href="#notfound" class="permalink">¶</a></h2>
+<h2><a name="notfound" id="notfound">Fichier non trouvé (File Not Found)</a><a title="Lien permanent" href="#notfound" class="permalink">¶</a></h2>
- <p>Inévitablement, apparaîtront des URLs qui ne correspondront à aucun
- fichier du système de fichiers.
+ <p>Inévitablement, apparaîtront des URLs qui ne correspondront à aucun
+ fichier du système de fichiers.
Ceci peut arriver pour de nombreuses raisons.
- Il peut s'agir du déplacement de documents d'une
+ Il peut s'agir du déplacement de documents d'une
localisation vers une autre. Dans ce cas, le mieux est d'utiliser la
<a href="#redirect">redirection d'URL</a> pour informer les clients de la
- nouvelle localisation de la ressource. De cette façon, vous êtes sur que
- les anciens signets et liens continueront de fonctionner, même si la
- ressource est déplacée.</p>
+ nouvelle localisation de la ressource. De cette façon, vous êtes sur que
+ les anciens signets et liens continueront de fonctionner, même si la
+ ressource est déplacée.</p>
- <p>Une autre cause fréquente d'erreurs "File Not Found" est l'erreur de
+ <p>Une autre cause fréquente d'erreurs "File Not Found" est l'erreur de
frappe accidentelle dans les URLs, soit directement dans le navigateur,
soit dans les liens HTML. httpd propose le module
- <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> (sic) pour tenter de résoudre ce problème.
- Lorsque ce module est activé, il intercepte les erreurs
- "File Not Found" et recherche une ressource possédant un nom de fichier
- similaire. Si un tel fichier est trouvé, mod_speling va envoyer une
+ <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> (sic) pour tenter de résoudre ce problème.
+ Lorsque ce module est activé, il intercepte les erreurs
+ "File Not Found" et recherche une ressource possédant un nom de fichier
+ similaire. Si un tel fichier est trouvé, mod_speling va envoyer une
redirection HTTP au client pour lui communiquer l'URL correcte.
- Si plusieurs fichiers proches sont trouvés, une liste des alternatives
- possibles sera présentée au client.</p>
+ Si plusieurs fichiers proches sont trouvés, une liste des alternatives
+ possibles sera présentée au client.</p>
- <p>mod_speling possède une fonctionnalité particulièrement utile :
+ <p>mod_speling possède une fonctionnalité particulièrement utile :
il compare les noms de fichiers sans tenir compte de la casse.
- Ceci peut aider les systèmes où les utilisateurs ne connaissent pas la
- sensibilité des URLs à la casse et bien sûr les systèmes de fichiers unix.
+ Ceci peut aider les systèmes où les utilisateurs ne connaissent pas la
+ sensibilité des URLs à la casse et bien sûr les systèmes de fichiers unix.
Mais l'utilisation de mod_speling pour toute autre chose que la correction
occasionnelle d'URLs peut augmenter la charge du serveur, car chaque
- requête "incorrecte" entraîne une redirection d'URL et une nouvelle requête
+ requête "incorrecte" entraîne une redirection d'URL et une nouvelle requête
de la part du client.</p>
<p><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code> fournit la directive <code class="directive"><a href="./mod/mod_dir.html#fallbackresource">FallbackResource</a></code> qui permet d'associer
- des URIs virtuels à une ressource réelle qui peut ainsi les servir.
+ des URIs virtuels à une ressource réelle qui peut ainsi les servir.
Cette directive remplace avantageusement
- <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> lors de l'implémentation d'un
- "contrôleur frontal".</p>
+ <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> lors de l'implémentation d'un
+ "contrôleur frontal".</p>
<p>Si toutes les tentatives pour localiser le contenu
- échouent, httpd
+ échouent, httpd
retourne une page d'erreur avec le code de statut HTTP 404
- (file not found). L'apparence de cette page est contrôlée à l'aide de la
+ (file not found). L'apparence de cette page est contrôlée à l'aide de la
directive <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code>
- et peut être personnalisée de manière très flexible comme discuté dans le
+ et peut être personnalisée de manière très flexible comme discuté dans le
document
- <a href="custom-error.html">Réponses personnalisées aux erreurs</a>.</p>
+ <a href="custom-error.html">Réponses personnalisées aux erreurs</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="other" id="other">Autres modules de mise en correspondance des
URLs sont :</p>
<ul>
<li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code> - Met une URL en correspondance
- avec un script CGI en fonction de la méthode de la requête, ou du
+ avec un script CGI en fonction de la méthode de la requête, ou du
type MIME de la ressource.</li>
<li><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code> - Permet une mise en correspondance
basique d'un slash terminal dans un fichier index comme
<code>index.html</code>.</li>
<li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> - Met en correspondance une
- requête avec une URL en fonction de la zone d'une image intégrée à
+ requête avec une URL en fonction de la zone d'une image intégrée à
un document HTML dans laquelle un utilisateur clique.</li>
- <li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> - Sélectionne le document
- approprié en fonction de préférences du client telles que la langue
+ <li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> - Sélectionne le document
+ approprié en fonction de préférences du client telles que la langue
ou la compression du contenu.</li>
</ul>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="./fr/urlmapping.html" title="Français"> fr </a> |
+<a href="./fr/urlmapping.html" title="Français"> fr </a> |
<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Détails sur le fonctionnement des serveurs virtuels - Serveur Apache HTTP Version 2.5</title>
+<title>Détails sur le fonctionnement des serveurs virtuels - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Serveurs virtuels</a></div><div id="page-content"><div id="preamble"><h1>Détails sur le fonctionnement des serveurs virtuels</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Serveurs virtuels</a></div><div id="page-content"><div id="preamble"><h1>Détails sur le fonctionnement des serveurs virtuels</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/vhosts/details.html" title="Français"> fr </a> |
+<a href="../fr/vhosts/details.html" title="Français"> fr </a> |
<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Ce document vise à expliquer dans le détail comment le serveur
- HTTP Apache procède lors du choix de l'utilisation
- d'un serveur virtuel en fonction d'une requête reçue.</p>
+ <p>Ce document vise à expliquer dans le détail comment le serveur
+ HTTP Apache procède lors du choix de l'utilisation
+ d'un serveur virtuel en fonction d'une requête reçue.</p>
- <p>Il est recommandé de lire la documentation<a href="name-based.html#namevip">
- Serveurs virtuels à base de nom et serveurs virtuels à base
- d'adresse IP</a> pour déterminer quel type de serveur virtuel nous
- convient le mieux, puis de lire les documentations <a href="name-based.html">serveurs virtuels à base de nom</a> ou <a href="ip-based.html">serveurs virtuels à base d'adresse IP</a>, et enfin
- d'étudier <a href="examples.html">quelques exemples</a>.</p>
+ <p>Il est recommandé de lire la documentation<a href="name-based.html#namevip">
+ Serveurs virtuels à base de nom et serveurs virtuels à base
+ d'adresse IP</a> pour déterminer quel type de serveur virtuel nous
+ convient le mieux, puis de lire les documentations <a href="name-based.html">serveurs virtuels à base de nom</a> ou <a href="ip-based.html">serveurs virtuels à base d'adresse IP</a>, et enfin
+ d'étudier <a href="examples.html">quelques exemples</a>.</p>
- <p>Si vous voulez entrer dans les détails, vous pouvez revenir vers
+ <p>Si vous voulez entrer dans les détails, vous pouvez revenir vers
cette page.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configparsing">Fichier de configuration</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#hostmatching">Choix du serveur virtuel</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#tips">Trucs et astuces</a></li>
-</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="ip-based.html">Support des serveurs virtuels à base
-d'adresse IP</a></li><li><a href="name-based.html">Support des serveurs virtuels à base
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="ip-based.html">Support des serveurs virtuels à base
+d'adresse IP</a></li><li><a href="name-based.html">Support des serveurs virtuels à base
de nom</a></li><li><a href="examples.html">Exemples de serveurs virtuels pour une
-configuration courante</a></li><li><a href="mass.html">Hébergement virtuel de masse configuré
+configuration courante</a></li><li><a href="mass.html">Hébergement virtuel de masse configuré
dynamiquement</a></li><li><a href="#comments_section">Commentaires</a></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="configparsing" id="configparsing">Fichier de configuration</a><a title="Lien permanent" href="#configparsing" class="permalink">¶</a></h2>
<p>Un <em>serveur principal (main_server)</em> contient toutes
- les définitions qui apparaissent en dehors des sections
+ les définitions qui apparaissent en dehors des sections
<code><VirtualHost></code>.</p>
<p>Les serveurs virtuels, aussi
- appelés <em>vhosts</em> (pour virtual hosts), sont définis par les
+ appelés <em>vhosts</em> (pour virtual hosts), sont définis par les
sections <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.</p>
<p>Chaque directive <code>VirtualHost</code> comporte une ou
plusieurs adresses et des ports optionnels.</p>
- <p>Il est possible d'utiliser des noms d'hôtes dans la définition
- d'un serveur virtuel, mais ils seront résolus en adresses IP au
- démarrage du serveur, et si une résolution de nom échoue, cette
- définition de serveur virtuel sera ignorée. Cette méthode est par
- conséquent déconseillée.</p>
+ <p>Il est possible d'utiliser des noms d'hôtes dans la définition
+ d'un serveur virtuel, mais ils seront résolus en adresses IP au
+ démarrage du serveur, et si une résolution de nom échoue, cette
+ définition de serveur virtuel sera ignorée. Cette méthode est par
+ conséquent déconseillée.</p>
<p>L'adresse peut
- être spécifiée sous la forme <code>*</code>, ce qui conviendra à la
- requête si aucun autre serveur virtuel ne possède l'adresse IP
- explicite correspondant à celle de la requête.</p>
-
- <p>L'adresse qui apparaît dans la directive <code>VirtualHost</code>
- peut être associée à un port optionnel. Si aucun port n'est
- spécifié, il s'agit d'un port générique qui peut aussi être spécifié
- comme <code>*</code>. Le port générique correspond à toutes les
+ être spécifiée sous la forme <code>*</code>, ce qui conviendra à la
+ requête si aucun autre serveur virtuel ne possède l'adresse IP
+ explicite correspondant à celle de la requête.</p>
+
+ <p>L'adresse qui apparaît dans la directive <code>VirtualHost</code>
+ peut être associée à un port optionnel. Si aucun port n'est
+ spécifié, il s'agit d'un port générique qui peut aussi être spécifié
+ comme <code>*</code>. Le port générique correspond à toutes les
valeurs de port.</p>
- <p>(Il ne faut pas confondre les numéros de port sur lesquels Apache
- est en écoute avec les numéros de port spécifiés dans la directive
- <code>VirtualHost</code> ; ces derniers ne servent qu'à définir le
- <code>serveur virtuel</code> qui sera sélectionné pour traiter la
- requête. Pour définir les ports sur lesquels Apache est en écoute,
+ <p>(Il ne faut pas confondre les numéros de port sur lesquels Apache
+ est en écoute avec les numéros de port spécifiés dans la directive
+ <code>VirtualHost</code> ; ces derniers ne servent qu'à définir le
+ <code>serveur virtuel</code> qui sera sélectionné pour traiter la
+ requête. Pour définir les ports sur lesquels Apache est en écoute,
utilisez la directive <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>).
</p>
- <p>L'ensemble des adresses (y compris les résultats multiples
- <code>A</code> issus des requêtes DNS) est appelé <em>jeu
+ <p>L'ensemble des adresses (y compris les résultats multiples
+ <code>A</code> issus des requêtes DNS) est appelé <em>jeu
d'adresses</em> du serveur virtuel.</p>
- <p>Apache fait automatiquement sa sélection à partir de l'en-tête
+ <p>Apache fait automatiquement sa sélection à partir de l'en-tête
HTTP <code>Host</code> fourni par le client, lorsque la
correspondance la plus exacte du point de vue adresse IP/port a lieu
pour plusieurs serveurs virtuels.</p>
<p>La directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> peut
- apparaître en quelque endroit de la définition d'un serveur.
- Cependant, chaque occurrence écrase la précédente (pour ce serveur).
- Si aucune directive <code>ServerName</code> n'est spécifiée, le
- serveur tente de déterminer le nom du serveur à partir de l'adresse
+ apparaître en quelque endroit de la définition d'un serveur.
+ Cependant, chaque occurrence écrase la précédente (pour ce serveur).
+ Si aucune directive <code>ServerName</code> n'est spécifiée, le
+ serveur tente de déterminer le nom du serveur à partir de l'adresse
IP.</p>
- <p>Le premier serveur virtuel à base de nom apparaissant dans le
- fichier de configuration pour une paire IP:port donnée est
- significatif car c'est lui qui sera utilisé pour toutes les requêtes
- reçues sur cette adresse IP/port et pour laquelle aucun autre
- serveur virtuel ne possède un ServerName ou un ServerAlias
- correspondant. Il sera aussi utilisé pour toutes les connexions SSL
+ <p>Le premier serveur virtuel à base de nom apparaissant dans le
+ fichier de configuration pour une paire IP:port donnée est
+ significatif car c'est lui qui sera utilisé pour toutes les requêtes
+ reçues sur cette adresse IP/port et pour laquelle aucun autre
+ serveur virtuel ne possède un ServerName ou un ServerAlias
+ correspondant. Il sera aussi utilisé pour toutes les connexions SSL
si le serveur ne supporte pas l'<a class="glossarylink" href="../glossary.html#servernameindication" title="voir glossaire">Indication du nom du serveur</a>.</p>
- <p>Tous les noms spécifiés au sein d'une section
- <code>VirtualHost</code> sont traités comme un
- <code>ServerAlias</code> (sans caractères génériques), mais ne sont
- écrasés par aucune directive <code>ServerAlias</code>.</p>
+ <p>Tous les noms spécifiés au sein d'une section
+ <code>VirtualHost</code> sont traités comme un
+ <code>ServerAlias</code> (sans caractères génériques), mais ne sont
+ écrasés par aucune directive <code>ServerAlias</code>.</p>
- <p>Pour chaque serveur virtuel, diverses valeurs sont initialisées
- par défaut. En particulier :</p>
+ <p>Pour chaque serveur virtuel, diverses valeurs sont initialisées
+ par défaut. En particulier :</p>
<ol>
- <li>Dans le cas où un serveur virtuel ne contient pas de directives
+ <li>Dans le cas où un serveur virtuel ne contient pas de directives
<code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>,
<code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code>,
<code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code>,
<code class="directive"><a href="../mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></code>,
<code class="directive"><a href="../mod/mpm_common.html#receivebuffersize">ReceiveBufferSize</a></code>,
ou <code class="directive"><a href="../mod/mpm_common.html#sendbuffersize">SendBufferSize</a></code>,
- alors la valeur de chacun de ces paramètres est héritée de celle du
- serveur principal. (C'est à dire, héritée de la valeur finale après
+ alors la valeur de chacun de ces paramètres est héritée de celle du
+ serveur principal. (C'est à dire, héritée de la valeur finale après
lecture de la configuration du serveur principal.)</li>
- <li>Les permissions par défaut sur les répertoires de chaque
- serveur virtuel sont assemblées avec celles du serveur principal.
- Elles concernent également toutes les informations de configuration
- par répertoire pour tous les modules.</li>
+ <li>Les permissions par défaut sur les répertoires de chaque
+ serveur virtuel sont assemblées avec celles du serveur principal.
+ Elles concernent également toutes les informations de configuration
+ par répertoire pour tous les modules.</li>
- <li>Les configurations par serveur pour chaque module sont assemblées
- à partir de celles du serveur principal.</li>
+ <li>Les configurations par serveur pour chaque module sont assemblées
+ à partir de celles du serveur principal.</li>
</ol>
<p>L'essentiel des valeurs de configuration des serveurs virtuels
- provient de valeurs par défaut issues du serveur principal.
+ provient de valeurs par défaut issues du serveur principal.
Mais la position dans le fichier de configuration des directives
du serveur principal n'a pas d'importance -- l'ensemble de la
configuration du serveur principal est lu avant que ces valeurs par
- défaut soient appliquées aux serveur virtuels. Ainsi, même si la
- définition d'une valeur apparaît après celle d'un serveur virtuel,
+ défaut soient appliquées aux serveur virtuels. Ainsi, même si la
+ définition d'une valeur apparaît après celle d'un serveur virtuel,
cette valeur peut affecter la definition du serveur virtuel.</p>
- <p>Dans le cas où le serveur principal n'a pas de <code>ServerName</code>
- à ce stade, le nom de la machine sur laquelle tourne le programme
- <code class="program"><a href="../programs/httpd.html">httpd</a></code> est utilisé à sa place. Nous appellerons
+ <p>Dans le cas où le serveur principal n'a pas de <code>ServerName</code>
+ à ce stade, le nom de la machine sur laquelle tourne le programme
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code> est utilisé à sa place. Nous appellerons
<em>jeu d'adresses du serveur principal</em> les adresses IP
- renvoyées par une résolution DNS sur le <code>ServerName</code>
+ renvoyées par une résolution DNS sur le <code>ServerName</code>
du serveur principal.</p>
- <p>Pour tous les champs <code>ServerName</code> non définis, dans
+ <p>Pour tous les champs <code>ServerName</code> non définis, dans
le cas d'une configuration en serveur virtuel par nom, la valeur
- adoptée par défaut est la première adresse donnée dans la section
- <code>VirtualHost</code> qui définit le serveur virtuel.</p>
+ adoptée par défaut est la première adresse donnée dans la section
+ <code>VirtualHost</code> qui définit le serveur virtuel.</p>
<p>Si un serveur virtuel contient la valeur magique
- <code>_default_</code>, il fonctionne sur le même <code>ServerName</code>
+ <code>_default_</code>, il fonctionne sur le même <code>ServerName</code>
que le serveur principal.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="hostmatching" id="hostmatching">Choix du serveur virtuel</a><a title="Lien permanent" href="#hostmatching" class="permalink">¶</a></h2>
- <p>À la réception d'une requête, le serveur procède comme suit pour
- déterminer quel serveur virtuel utiliser :</p>
+ <p>À la réception d'une requête, le serveur procède comme suit pour
+ déterminer quel serveur virtuel utiliser :</p>
<h3><a name="hashtable" id="hashtable">Recherche de l'adresse IP</a></h3>
- <p>Lors d'une première connexion sur une adresse/port, le serveur
+ <p>Lors d'une première connexion sur une adresse/port, le serveur
recherche toutes les directives <code>VirtualHost</code> qui
- possèdent la même adresse IP/port.</p>
+ possèdent la même adresse IP/port.</p>
<p>S'il n'y a aucune correspondance exacte pour cette adresse/port,
- la recherche s'effectue sur la valeur générique (<code>*</code>).</p>
+ la recherche s'effectue sur la valeur générique (<code>*</code>).</p>
- <p>Si aucune correspondance n'est enfin trouvée, la requête sera
+ <p>Si aucune correspondance n'est enfin trouvée, la requête sera
servie par le serveur principal.</p>
- <p>S'il existe des définitions <code>VirtualHost</code> pour
- l'adresse IP, l'étape suivante consiste à déterminer si nous avons à
- faire à un serveur virtuel à base de nom ou d'adresse IP.</p>
+ <p>S'il existe des définitions <code>VirtualHost</code> pour
+ l'adresse IP, l'étape suivante consiste à déterminer si nous avons à
+ faire à un serveur virtuel à base de nom ou d'adresse IP.</p>
<h3><a name="ipbased" id="ipbased">Serveur virtuel par IP</a></h3>
- <p>Si une seule section <code>VirtualHost</code> présente la
+ <p>Si une seule section <code>VirtualHost</code> présente la
meilleure correspondance avec la paire adresse IP/port, aucune
- action n'est entreprise et la requête est
- traitée par le serveur virtuel qui correspond.</p>
+ action n'est entreprise et la requête est
+ traitée par le serveur virtuel qui correspond.</p>
<h3><a name="namebased" id="namebased">Serveur virtuel par nom</a></h3>
- <p>Si plusieurs sections <code>VirtualHost</code> présentent la
+ <p>Si plusieurs sections <code>VirtualHost</code> présentent la
meilleure correspondance avec la paire adresse IP/port, le terme
- "liste" dans les étapes suivantes fait référence à la liste des
+ "liste" dans les étapes suivantes fait référence à la liste des
serveurs virtuels qui correspondent, selon l'ordre dans lequel ils
apparaissent dans le fichier de configuration.</p>
<p>Si la connexion utilise SSL, si le serveur supporte l'<a class="glossarylink" href="../glossary.html#servernameindication" title="voir glossaire">Indication de nom de serveur</a>,
- et si la négociation du client SSL inclut l'extension TLS dans le
- nom d'hôte requis, alors ce nom d'hôte sera utilisé par la suite, tout
- comme un en-tête <code>Host:</code> aurait été utilisé dans le cas
- d'une connexion non-SSL. Si ces conditions ne sont pas réunies, le
- premier serveur virtuel à base de nom dont l'adresse correspond sera
- utilisé pour les connexions SSL. Ceci est important car c'est le
- serveur virtuel qui détermine quel certificat le serveur va utiliser
+ et si la négociation du client SSL inclut l'extension TLS dans le
+ nom d'hôte requis, alors ce nom d'hôte sera utilisé par la suite, tout
+ comme un en-tête <code>Host:</code> aurait été utilisé dans le cas
+ d'une connexion non-SSL. Si ces conditions ne sont pas réunies, le
+ premier serveur virtuel à base de nom dont l'adresse correspond sera
+ utilisé pour les connexions SSL. Ceci est important car c'est le
+ serveur virtuel qui détermine quel certificat le serveur va utiliser
pour la connexion.</p>
- <p>Si la requête contient un en-tête <code>Host:</code>, on
+ <p>Si la requête contient un en-tête <code>Host:</code>, on
recherche dans la liste le premier serveur virtuel dont le
<code>ServerName</code> ou le <code>ServerAlias</code> correspond,
- et c'est celui-ci qui va traiter la requête. Un en-tête
- <code>Host:</code> peut comporter un numéro de port mais Apache
- l'ignore systématiquement et utilise toujours le
- port sur lequel il a effectivement reçu la requête.</p>
+ et c'est celui-ci qui va traiter la requête. Un en-tête
+ <code>Host:</code> peut comporter un numéro de port mais Apache
+ l'ignore systématiquement et utilise toujours le
+ port sur lequel il a effectivement reçu la requête.</p>
<p>Le premier serveur virtuel du fichier de configuration qui
- possède l'adresse spécifiée est prioritaire et intercepte toutes les
- requêtes à destination d'un nom de serveur inconnu, ou toute requête
- sans en-tête <code>Host:</code> (comme les requêtes HTTP/1.0).</p>
+ possède l'adresse spécifiée est prioritaire et intercepte toutes les
+ requêtes à destination d'un nom de serveur inconnu, ou toute requête
+ sans en-tête <code>Host:</code> (comme les requêtes HTTP/1.0).</p>
<h3><a name="persistent" id="persistent">Connexions persistantes</a></h3>
- <p>La <em>recherche par adresse IP</em> décrite ci-avant n'est faite
+ <p>La <em>recherche par adresse IP</em> décrite ci-avant n'est faite
qu'<em>une fois</em> pour chaque session TCP/IP, alors que la
- <em>recherche par nom</em> est réalisée pour <em>chaque</em> requête au
+ <em>recherche par nom</em> est réalisée pour <em>chaque</em> requête au
cours d'une connexion persistante (KeepAlive). En d'autres termes,
- il est possible pour un client de faire des requêtes sur
- différents serveurs virtuels par nom, au cours d'une unique
+ il est possible pour un client de faire des requêtes sur
+ différents serveurs virtuels par nom, au cours d'une unique
connexion persistante.</p>
<h3><a name="absoluteURI" id="absoluteURI">URI absolu</a></h3>
- <p>Au cas où l'URI de la requête est absolu, et que son nom de
+ <p>Au cas où l'URI de la requête est absolu, et que son nom de
serveur et son port correspondent au serveur principal (ou l'un
- des serveurs virtuels configurés), <em>et</em> qu'ils correspondent
- à l'adresse et au port de la requête, alors l'URI est amputé
- de son préfixe protocole/nom de serveur/port et traité par le
+ des serveurs virtuels configurés), <em>et</em> qu'ils correspondent
+ à l'adresse et au port de la requête, alors l'URI est amputé
+ de son préfixe protocole/nom de serveur/port et traité par le
serveur correspondant (principal ou virtuel). Si cette correspondance
- n'existe pas, l'URI reste inchangé et la requête est considérée
- comme une requête d'un serveur mandataire (proxy).</p>
+ n'existe pas, l'URI reste inchangé et la requête est considérée
+ comme une requête d'un serveur mandataire (proxy).</p>
<h3><a name="observations" id="observations">Observations</a></h3>
<ul>
- <li>La sélection d'un serveur virtuel en fonction de son nom est
- un processus qui intervient après la sélection par le serveur du
+ <li>La sélection d'un serveur virtuel en fonction de son nom est
+ un processus qui intervient après la sélection par le serveur du
serveur virtuel qui correspond le mieux du point de vue adresse
IP/port.</li>
- <li>Si vous ne tenez pas compte de l'adresse IP à laquelle le
- client s'est connecté, indiquez un caractère "*" comme adresse
- pour tous les serveurs virtuels, et la sélection du serveur
- virtuel en fonction du nom s'appliquera alors à tous les serveurs
- virtuels définis.</li>
+ <li>Si vous ne tenez pas compte de l'adresse IP à laquelle le
+ client s'est connecté, indiquez un caractère "*" comme adresse
+ pour tous les serveurs virtuels, et la sélection du serveur
+ virtuel en fonction du nom s'appliquera alors à tous les serveurs
+ virtuels définis.</li>
- <li>Les vérifications sur <code>ServerName</code> et
+ <li>Les vérifications sur <code>ServerName</code> et
<code>ServerAlias</code> ne sont jamais
- réalisées pour les serveurs virtuels par IP.</li>
+ réalisées pour les serveurs virtuels par IP.</li>
<li>Seul l'ordre des serveurs virtuels par nom
- pour une adresse donnée a une importance. Le serveur virtuel
- par nom qui est présent en premier dans la configuration se
- voit attribué la priorité la plus haute pour les requêtes
+ pour une adresse donnée a une importance. Le serveur virtuel
+ par nom qui est présent en premier dans la configuration se
+ voit attribué la priorité la plus haute pour les requêtes
arrivant sur son jeu d'adresses IP.</li>
- <li>Le numéro de port contenu dans l'en-tête <code>Host:</code> n'est jamais utilisé
+ <li>Le numéro de port contenu dans l'en-tête <code>Host:</code> n'est jamais utilisé
pour les tests de correspondances. Apache ne prend en compte
- que le numéro de port sur lequel le client a envoyé la requête.</li>
+ que le numéro de port sur lequel le client a envoyé la requête.</li>
- <li>Si deux serveurs virtuels partagent la même adresse, la
- sélection se fera implicitement sur le nom. Il s'agit d'une
- nouvelle fonctionnalité de la version 2.3.11.</li>
+ <li>Si deux serveurs virtuels partagent la même adresse, la
+ sélection se fera implicitement sur le nom. Il s'agit d'une
+ nouvelle fonctionnalité de la version 2.3.11.</li>
- <li>Le serveur principal ne sert les requêtes que
- lorsque l'adresse IP et le port demandés par le client ne
- correspondent à aucun serveur virtuel (y compris un serveur
+ <li>Le serveur principal ne sert les requêtes que
+ lorsque l'adresse IP et le port demandés par le client ne
+ correspondent à aucun serveur virtuel (y compris un serveur
virtuel <code>*</code>). En d'autres termes, le serveur
principal n'est utile que pour les combinaisons adresse/port
- non spécifiées (sauf quand un serveur virtuel <code>_default_</code>
+ non spécifiées (sauf quand un serveur virtuel <code>_default_</code>
correspond au port).</li>
<li>Il ne faut jamais employer de noms DNS dans des directives
<code>VirtualHost</code>, car cela oblige le serveur a s'appuyer
- sur le DNS au moment du démarrage. De plus, vous vous exposez
- à des problèmes de sécurité si vous n'avez pas la maîtrise du
- DNS pour la totalité de vos domaines. Voir la documentation
+ sur le DNS au moment du démarrage. De plus, vous vous exposez
+ à des problèmes de sécurité si vous n'avez pas la maîtrise du
+ DNS pour la totalité de vos domaines. Voir la documentation
<a href="../dns-caveats.html">disponible ici</a>, ainsi que
- les deux points précisés ci-après.</li>
+ les deux points précisés ci-après.</li>
<li>Un nom de serveur <code>ServerName</code> devrait toujours
- être indiqué pour chaque serveur virtuel. Sans cela, une
- résolution DNS est nécessaire pour chaque serveur virtuel.</li>
+ être indiqué pour chaque serveur virtuel. Sans cela, une
+ résolution DNS est nécessaire pour chaque serveur virtuel.</li>
</ul>
<div class="section">
<h2><a name="tips" id="tips">Trucs et astuces</a><a title="Lien permanent" href="#tips" class="permalink">¶</a></h2>
- <p>En plus des points évoqués sur la page des
- <a href="../dns-caveats.html#tips">problèmes liés au DNS</a>,
- voici quelques points intéressants :</p>
+ <p>En plus des points évoqués sur la page des
+ <a href="../dns-caveats.html#tips">problèmes liés au DNS</a>,
+ voici quelques points intéressants :</p>
<ul>
- <li>Toujours positionner les définitions relatives au serveur
- principal avant toute définition <code>VirtualHost</code>.
- (Ceci améliore grandement la lisibilité de la configuration
- -- la manière dont la configuration est interprétée après la
- lecture des fichiers ne met pas en évidence le fait que les
- définitions positionnées avant et surtout après les serveurs
+ <li>Toujours positionner les définitions relatives au serveur
+ principal avant toute définition <code>VirtualHost</code>.
+ (Ceci améliore grandement la lisibilité de la configuration
+ -- la manière dont la configuration est interprétée après la
+ lecture des fichiers ne met pas en évidence le fait que les
+ définitions positionnées avant et surtout après les serveurs
virtuels peuvent impacter le fonctionnement de tous les
serveurs virtuels.)</li>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/vhosts/details.html" title="Français"> fr </a> |
+<a href="../fr/vhosts/details.html" title="Français"> fr </a> |
<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Serveurs virtuels</a></div><div id="page-content"><div id="preamble"><h1>Exemples d'utilisations de VirtualHost</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/vhosts/examples.html" title="Français"> fr </a> |
+<a href="../fr/vhosts/examples.html" title="Français"> fr </a> |
<a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Le but de ce document est d'essayer de répondre aux questions
- les plus fréquentes sur la configuration des <a href="index.html">serveurs virtuels</a>.
- Les scénarios présentés ici se rencontrent quand plusieurs
- serveurs web doivent tourner sur une seule et même machine au
+ <p>Le but de ce document est d'essayer de répondre aux questions
+ les plus fréquentes sur la configuration des <a href="index.html">serveurs virtuels</a>.
+ Les scénarios présentés ici se rencontrent quand plusieurs
+ serveurs web doivent tourner sur une seule et même machine au
moyen de serveurs virtuels <a href="name-based.html">par nom</a>
ou <a href="ip-based.html">par IP</a>.</p>
- <div class="note"><h3>Note à propos du contexte de configuration</h3><p>Les serveurs virtuels
- doivent être spécifiés au niveau de la configuration globale du serveur.
+ <div class="note"><h3>Note à propos du contexte de configuration</h3><p>Les serveurs virtuels
+ doivent être spécifiés au niveau de la configuration globale du serveur.
Certaines distributions tierces du serveur peuvent cependant utiliser un fichier de
configuration initial alternatif ou des fichiers de configuration multiples
- qui acceptent tous des directives à portée globale. Elles peuvent aussi
- proposer une convention de spécification des serveurs virtuels au sein de
- ces fichiers multiples qui seront eux-mêmes inclus dans le fichier de
- configuration global via la directive <code class="directive"><a href="../mod/core.html#include">Include</a></code>. Vous pourrez trouver plus de détails dans
+ qui acceptent tous des directives à portée globale. Elles peuvent aussi
+ proposer une convention de spécification des serveurs virtuels au sein de
+ ces fichiers multiples qui seront eux-mêmes inclus dans le fichier de
+ configuration global via la directive <code class="directive"><a href="../mod/core.html#include">Include</a></code>. Vous pourrez trouver plus de détails dans
le README de la distribution tierce, tel que
- /usr/share/doc/apache2/README.Debian.gz pour les distributions basées sur
+ /usr/share/doc/apache2/README.Debian.gz pour les distributions basées sur
Debian et Ubuntu.</p>
</div>
virtuels par nom sur une seule adresse IP.</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#twoips">Serveurs virtuels par nom sur plus
d'une seule adresse IP.</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#intraextra">Servir le même contenu sur des
- adresses IP différentes (telle qu'une adresse interne et une
+<li><img alt="" src="../images/down.gif" /> <a href="#intraextra">Servir le même contenu sur des
+ adresses IP différentes (telle qu'une adresse interne et une
externe).</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#port">Servir différents sites sur différents
+<li><img alt="" src="../images/down.gif" /> <a href="#port">Servir différents sites sur différents
ports.</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#ip">Hébergement virtuel basé sur IP</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#ipport">Hébergements virtuels mixtes basés sur
+<li><img alt="" src="../images/down.gif" /> <a href="#ip">Hébergement virtuel basé sur IP</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ipport">Hébergements virtuels mixtes basés sur
les ports et sur les IP</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#mixed">Hébergements virtuels mixtes basé sur
+<li><img alt="" src="../images/down.gif" /> <a href="#mixed">Hébergements virtuels mixtes basé sur
les noms et sur IP</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#proxy">Utilisation simultanée de
+<li><img alt="" src="../images/down.gif" /> <a href="#proxy">Utilisation simultanée de
<code>Virtual_host</code> et de mod_proxy</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#default">Utilisation de serveurs virtuels
<code>_default_</code></a></li>
<h2><a name="purename" id="purename">Fonctionnement de plusieurs serveurs
virtuels par nom sur une seule adresse IP.</a><a title="Lien permanent" href="#purename" class="permalink">¶</a></h2>
- <p>Votre serveur possède plusieurs noms d'hôte qui correspondent à
- une seule adresse IP, ce qui lui permet de répondre différemment si
- une requête est envoyée à <code>www.example.com</code> ou
+ <p>Votre serveur possède plusieurs noms d'hôte qui correspondent à
+ une seule adresse IP, ce qui lui permet de répondre différemment si
+ une requête est envoyée à <code>www.example.com</code> ou
<code>www.example.org</code>.</p>
<div class="note"><h3>Note :</h3><p>La configuration de serveurs virtuels
sous Apache ne provoque pas leur apparition magique dans la
configuration du DNS. Il <em>faut</em> que leurs noms soient
- définis dans le DNS, et qu'ils y soient résolus sur l'adresse IP
+ définis dans le DNS, et qu'ils y soient résolus sur l'adresse IP
du serveur, faute de quoi personne ne pourra visiter votre site Web.
- Il est possible d'ajouter des entrées dans le fichier
+ Il est possible d'ajouter des entrées dans le fichier
<code>hosts</code> pour tests locaux, mais qui ne fonctionneront
- que sur la machine possédant ces entrées.</p>
+ que sur la machine possédant ces entrées.</p>
</div>
- <pre class="prettyprint lang-config"># Apache doit écouter sur le port 80
+ <pre class="prettyprint lang-config"># Apache doit écouter sur le port 80
Listen 80
<VirtualHost *:80>
DocumentRoot "/www/example1"
- <p>Les astérisques correspondent à toutes les adresses, si bien que
- le serveur principal ne répondra jamais à aucune requête. Comme le
+ <p>Les astérisques correspondent à toutes les adresses, si bien que
+ le serveur principal ne répondra jamais à aucune requête. Comme le
serveur virtuel
<code>ServerName www.example.com</code> se trouve en premier dans le fichier
- de configuration, il a la plus grande priorité et peut être vu
- comme serveur <cite>par défaut</cite> ou <cite>primaire</cite> ;
- ce qui signifie que toute requête reçue ne correspondant à aucune
+ de configuration, il a la plus grande priorité et peut être vu
+ comme serveur <cite>par défaut</cite> ou <cite>primaire</cite> ;
+ ce qui signifie que toute requête reçue ne correspondant à aucune
des directives <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> sera servie par ce premier
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.</p>
- <p>La configuration ci-dessus correspond à ce que l'on souhaite pour
- la plupart des serveurs virtuels à base de nom. Il faudra cependant
- utiliser une configuration différente si vous souhaitez servir un
- contenu différent en fonction de l'adresse IP ou du port.</p>
+ <p>La configuration ci-dessus correspond à ce que l'on souhaite pour
+ la plupart des serveurs virtuels à base de nom. Il faudra cependant
+ utiliser une configuration différente si vous souhaitez servir un
+ contenu différent en fonction de l'adresse IP ou du port.</p>
<div class="note">
<h3>Note :</h3>
<p>Vous pouvez remplacer <code>*</code>
- par une adresse IP du système. Le serveur virtuel concerné
- ne sera alors sélectionné que pour les requêtes HTTP vers
+ par une adresse IP du système. Le serveur virtuel concerné
+ ne sera alors sélectionné que pour les requêtes HTTP vers
cette adresse IP.</p>
- <p>En général, il est commode d'utiliser <code>*</code> sur
- les systèmes dont l'adresse IP n'est pas constante - par
- exemple, pour des serveurs dont l'adresse IP est attribuée
- dynamiquement par le FAI, et où le DNS est géré au moyen
+ <p>En général, il est commode d'utiliser <code>*</code> sur
+ les systèmes dont l'adresse IP n'est pas constante - par
+ exemple, pour des serveurs dont l'adresse IP est attribuée
+ dynamiquement par le FAI, et où le DNS est géré au moyen
d'un DNS dynamique quelconque. Comme <code>*</code> signifie
<cite>n'importe quelle adresse</cite>, cette configuration
- fonctionne sans devoir être modifiée quand l'adresse IP du
- système est modifiée.</p>
+ fonctionne sans devoir être modifiée quand l'adresse IP du
+ système est modifiée.</p>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
d'une seule adresse IP.</a><a title="Lien permanent" href="#twoips" class="permalink">¶</a></h2>
<div class="note">
- <h3>Note :</h3><p>Toutes les techniques présentées ici
- peuvent être étendues à un plus grand nombre d'adresses IP.</p>
+ <h3>Note :</h3><p>Toutes les techniques présentées ici
+ peuvent être étendues à un plus grand nombre d'adresses IP.</p>
</div>
<p>Le serveur a deux adresses IP. Sur l'une
(<code>172.20.30.40</code>), le serveur "principal"
- <code>server.example.com</code> doit répondre, et sur l'autre
+ <code>server.example.com</code> doit répondre, et sur l'autre
(<code>172.20.30.50</code>), deux serveurs virtuels (ou plus)
- répondront.</p>
+ répondront.</p>
<pre class="prettyprint lang-config">Listen 80
</VirtualHost></pre>
- <p>Toute requête arrivant sur une autre adresse que
+ <p>Toute requête arrivant sur une autre adresse que
<code>172.20.30.50</code> sera servie par le serveur principal.
- Les requêtes vers <code>172.20.30.50</code> avec un nom de serveur
- inconnu, ou sans en-tête <code>Host:</code>, seront servies par
+ Les requêtes vers <code>172.20.30.50</code> avec un nom de serveur
+ inconnu, ou sans en-tête <code>Host:</code>, seront servies par
<code>www.example.com</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="intraextra" id="intraextra">Servir le même contenu sur des
- adresses IP différentes (telle qu'une adresse interne et une
+<h2><a name="intraextra" id="intraextra">Servir le même contenu sur des
+ adresses IP différentes (telle qu'une adresse interne et une
externe).</a><a title="Lien permanent" href="#intraextra" class="permalink">¶</a></h2>
<p>La machine serveur dispose de deux adresses IP
(<code>192.168.1.1</code> et <code>172.20.30.40</code>). Cette
- machine est placée à la fois sur le réseau interne (l'Intranet)
- et le réseau externe (Internet). Sur Internet, le nom
+ machine est placée à la fois sur le réseau interne (l'Intranet)
+ et le réseau externe (Internet). Sur Internet, le nom
<code>server.example.com</code> pointe vers l'adresse externe
- (<code>172.20.30.40</code>), mais sur le réseau interne, ce même
+ (<code>172.20.30.40</code>), mais sur le réseau interne, ce même
nom pointe vers l'adresse interne (<code>192.168.1.1</code>).</p>
- <p>Le serveur peut être configuré pour répondre de la même manière
- aux requêtes internes et externes, au moyen d'une seule section
+ <p>Le serveur peut être configuré pour répondre de la même manière
+ aux requêtes internes et externes, au moyen d'une seule section
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.</p>
<pre class="prettyprint lang-config"><VirtualHost 192.168.1.1 172.20.30.40>
</VirtualHost></pre>
- <p>Ainsi, les requêtes en provenance de chacun des deux réseaux
- seront servies par le même <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.</p>
+ <p>Ainsi, les requêtes en provenance de chacun des deux réseaux
+ seront servies par le même <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.</p>
<div class="note">
- <h3>Note :</h3><p>Sur le réseau interne, il est possible
+ <h3>Note :</h3><p>Sur le réseau interne, il est possible
d'utiliser le nom raccourci <code>server</code> au lieu du nom
complet <code>server.example.com</code>.</p>
- <p>Notez également que dans l'exemple précédent, vous pouvez
+ <p>Notez également que dans l'exemple précédent, vous pouvez
remplacer la liste des adresses IP par des <code>*</code> afin
- que le serveur réponde de la même manière sur toutes ses
+ que le serveur réponde de la même manière sur toutes ses
adresses.</p>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="port" id="port">Servir différents sites sur différents
+<h2><a name="port" id="port">Servir différents sites sur différents
ports.</a><a title="Lien permanent" href="#port" class="permalink">¶</a></h2>
- <p>Vous disposez de plusieurs domaines pointant sur la même adresse
- IP et vous voulez également servir de multiples ports. L'exemple
- suivant montre que la sélection en fonction du nom intervient après
- la sélection de la meilleure correspondance du point de vue adresse
+ <p>Vous disposez de plusieurs domaines pointant sur la même adresse
+ IP et vous voulez également servir de multiples ports. L'exemple
+ suivant montre que la sélection en fonction du nom intervient après
+ la sélection de la meilleure correspondance du point de vue adresse
IP/port.</p>
<pre class="prettyprint lang-config">Listen 80
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="ip" id="ip">Hébergement virtuel basé sur IP</a><a title="Lien permanent" href="#ip" class="permalink">¶</a></h2>
+<h2><a name="ip" id="ip">Hébergement virtuel basé sur IP</a><a title="Lien permanent" href="#ip" class="permalink">¶</a></h2>
<p>Le serveur dispose de deux adresses IP (<code>172.20.30.40</code>
et <code>172.20.30.50</code>) correspondant respectivement aux noms
</VirtualHost></pre>
- <p>Les requêtes provenant d'adresses non spécifiées dans l'une des
+ <p>Les requêtes provenant d'adresses non spécifiées dans l'une des
directives <code><VirtualHost></code> (comme pour
- <code>localhost</code> par exemple) seront dirigées vers le serveur
+ <code>localhost</code> par exemple) seront dirigées vers le serveur
principal, s'il en existe un.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="ipport" id="ipport">Hébergements virtuels mixtes basés sur
+<h2><a name="ipport" id="ipport">Hébergements virtuels mixtes basés sur
les ports et sur les IP</a><a title="Lien permanent" href="#ipport" class="permalink">¶</a></h2>
<p>Le serveur dispose de deux adresses IP (<code>172.20.30.40</code>
et <code>172.20.30.50</code>) correspondant respectivement aux noms
<code>www.example.com</code> et <code>www.example.org</code>.
- Pour chacun d'eux, nous voulons un hébergement sur les ports 80
+ Pour chacun d'eux, nous voulons un hébergement sur les ports 80
et 8080.</p>
<pre class="prettyprint lang-config">Listen 172.20.30.40:80
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="mixed" id="mixed">Hébergements virtuels mixtes basé sur
+<h2><a name="mixed" id="mixed">Hébergements virtuels mixtes basé sur
les noms et sur IP</a><a title="Lien permanent" href="#mixed" class="permalink">¶</a></h2>
- <p>Toute adresse indiquée comme argument d'une section VirtualHost
+ <p>Toute adresse indiquée comme argument d'une section VirtualHost
et n'apparaissant dans aucun autre serveur virtuel, fait de cette
- section un serveur virtuel sélectionnable uniquement en fonction de
+ section un serveur virtuel sélectionnable uniquement en fonction de
son adresse IP.</p>
<pre class="prettyprint lang-config">Listen 80
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="proxy" id="proxy">Utilisation simultanée de
+<h2><a name="proxy" id="proxy">Utilisation simultanée de
<code>Virtual_host</code> et de mod_proxy</a><a title="Lien permanent" href="#proxy" class="permalink">¶</a></h2>
<p>L'exemple suivant montre comment une machine peut mandater
un serveur virtuel fonctionnant sur le serveur d'une autre machine.
- Dans cet exemple, un serveur virtuel de même nom est configuré sur
- une machine à l'adresse <code>192.168.111.2</code>. La directive
+ Dans cet exemple, un serveur virtuel de même nom est configuré sur
+ une machine à l'adresse <code>192.168.111.2</code>. La directive
<code class="directive"><a href="../mod/mod_proxy.html#proxypreservehost">ProxyPreserveHost On</a></code> est
- employée pour permette au nom de domaine d'être préservé lors du
- transfert, au cas où plusieurs noms de domaines cohabitent sur
- une même machine.</p>
+ employée pour permette au nom de domaine d'être préservé lors du
+ transfert, au cas où plusieurs noms de domaines cohabitent sur
+ une même machine.</p>
<pre class="prettyprint lang-config"><VirtualHost *:*>
ProxyPreserveHost On
<h3><a name="defaultallports" id="defaultallports">Serveurs virtuels
<code>_default_</code> pour tous les ports</a></h3>
- <p>Exemple de capture de <em>toutes</em> les requêtes émanant
- d'adresses IP ou de ports non connus, <em>c'est-à-dire</em>, d'un
- couple adresse/port non traité par aucun autre serveur virtuel.</p>
+ <p>Exemple de capture de <em>toutes</em> les requêtes émanant
+ d'adresses IP ou de ports non connus, <em>c'est-à-dire</em>, d'un
+ couple adresse/port non traité par aucun autre serveur virtuel.</p>
<pre class="prettyprint lang-config"><VirtualHost _default_:*>
DocumentRoot "/www/default"
<p>L'utilisation d'un tel serveur virtuel avec un joker pour le
- port empêche de manière efficace qu'une requête n'atteigne le
+ port empêche de manière efficace qu'une requête n'atteigne le
serveur principal.</p>
- <p>Un serveur virtuel par défaut ne servira jamais une requête
- qui est envoyée vers un couple adresse/port utilisée par un
- serveur virtuel par nom. Si la requête contient un en-tête
+ <p>Un serveur virtuel par défaut ne servira jamais une requête
+ qui est envoyée vers un couple adresse/port utilisée par un
+ serveur virtuel par nom. Si la requête contient un en-tête
<code>Host:</code> inconnu, ou si celui-ci est absent, elle
sera toujours servie par le serveur virtuel primaire par nom
- (celui correspondant à ce couple adresse/port trouvé en premier
+ (celui correspondant à ce couple adresse/port trouvé en premier
dans le fichier de configuration).</p>
<p>Vous pouvez utiliser une directive
<code class="directive"><a href="../mod/mod_alias.html#aliasmatch">AliasMatch</a></code> ou
<code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> afin de
- réécrire une requête pour une unique page d'information (ou pour
+ réécrire une requête pour une unique page d'information (ou pour
un script).</p>
<h3><a name="defaultdifferentports" id="defaultdifferentports">Serveurs virtuels
- <code>_default_</code> pour des ports différents</a></h3>
+ <code>_default_</code> pour des ports différents</a></h3>
- <p>La configuration est similaire à l'exemple précédent, mais
- le serveur écoute sur plusieurs ports et un second serveur virtuel
- <code>_default_</code> pour le port 80 est ajouté.</p>
+ <p>La configuration est similaire à l'exemple précédent, mais
+ le serveur écoute sur plusieurs ports et un second serveur virtuel
+ <code>_default_</code> pour le port 80 est ajouté.</p>
<pre class="prettyprint lang-config"><VirtualHost _default_:80>
DocumentRoot "/www/default80"
</VirtualHost></pre>
- <p>Le serveur virtuel par défaut défini pour le port 80 (il doit
- impérativement être placé avant un autre serveur virtuel par
- défaut traitant tous les ports grâce au joker *) capture toutes
- les requêtes envoyées sur une adresse IP non spécifiée. Le
- serveur principal n'est jamais utilisé pour servir une requête.</p>
+ <p>Le serveur virtuel par défaut défini pour le port 80 (il doit
+ impérativement être placé avant un autre serveur virtuel par
+ défaut traitant tous les ports grâce au joker *) capture toutes
+ les requêtes envoyées sur une adresse IP non spécifiée. Le
+ serveur principal n'est jamais utilisé pour servir une requête.</p>
<h3><a name="defaultoneport" id="defaultoneport">Serveurs virtuels
<code>_default_</code> pour un seul port</a></h3>
- <p>Nous voulons créer un serveur virtuel par défaut seulement
+ <p>Nous voulons créer un serveur virtuel par défaut seulement
pour le port 80.</p>
<pre class="prettyprint lang-config"><VirtualHost _default_:80>
</VirtualHost></pre>
- <p>Une requête vers une adresse non spécifiée sur le port 80
- sera servie par le serveur virtuel par défaut, et toute autre
- requête vers une adresse et un port non spécifiés sera servie
+ <p>Une requête vers une adresse non spécifiée sur le port 80
+ sera servie par le serveur virtuel par défaut, et toute autre
+ requête vers une adresse et un port non spécifiés sera servie
par le serveur principal.</p>
- <p>L'utilisation du caractère générique <code>*</code> dans la
- déclaration d'un serveur virtuel l'emporte sur
+ <p>L'utilisation du caractère générique <code>*</code> dans la
+ déclaration d'un serveur virtuel l'emporte sur
<code>_default_</code>.</p>
<p>Le serveur virtuel par nom avec le nom de domaine
<code>www.example.org</code> (de notre <a href="#name">exemple
par nom</a>) devrait obtenir sa propre adresse IP. Pendant la
- phase de migration, il est possible d'éviter les problèmes avec
- les noms de serveurs et autres serveurs mandataires qui mémorisent
+ phase de migration, il est possible d'éviter les problèmes avec
+ les noms de serveurs et autres serveurs mandataires qui mémorisent
les vielles adresses IP pour les serveurs virtuels par nom.<br />
La solution est simple, car il suffit d'ajouter la nouvelle
adresse IP (<code>172.20.30.50</code>) dans la directive
</VirtualHost></pre>
- <p>Le serveur virtuel peut maintenant être joint par la nouvelle
+ <p>Le serveur virtuel peut maintenant être joint par la nouvelle
adresse (comme un serveur virtuel par IP) et par l'ancienne
adresse (comme un serveur virtuel par nom).</p>
<h2><a name="serverpath" id="serverpath">Utilisation de la directive
<code>ServerPath</code></a><a title="Lien permanent" href="#serverpath" class="permalink">¶</a></h2>
- <p>Dans le cas où vous disposez de deux serveurs virtuels par nom,
- le client doit transmettre un en-tête <code>Host:</code> correct
- pour déterminer le serveur concerné. Les vieux clients HTTP/1.0
- n'envoient pas un tel en-tête et Apache n'a aucun indice pour
- connaître le serveur virtuel devant être joint (il sert la
- requête à partir d'un serveur virtuel primaire). Dans un soucis
- de préserver la compatibilité descendante, il suffit de créer
- un serveur virtuel primaire chargé de retourner une page contenant
- des liens dont les URLs auront un préfixe identifiant les serveurs
+ <p>Dans le cas où vous disposez de deux serveurs virtuels par nom,
+ le client doit transmettre un en-tête <code>Host:</code> correct
+ pour déterminer le serveur concerné. Les vieux clients HTTP/1.0
+ n'envoient pas un tel en-tête et Apache n'a aucun indice pour
+ connaître le serveur virtuel devant être joint (il sert la
+ requête à partir d'un serveur virtuel primaire). Dans un soucis
+ de préserver la compatibilité descendante, il suffit de créer
+ un serveur virtuel primaire chargé de retourner une page contenant
+ des liens dont les URLs auront un préfixe identifiant les serveurs
virtuels par nom.</p>
<pre class="prettyprint lang-config"><VirtualHost 172.20.30.40>
</VirtualHost></pre>
- <p>À cause de la directive
- <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code>, une requête sur
+ <p>À cause de la directive
+ <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code>, une requête sur
une URL <code>http://www.sub1.domain.tld/sub1/</code> est
<em>toujours</em> servie par le serveur sub1-vhost.<br />
- Une requête sur une URL <code>http://www.sub1.domain.tld/</code> n'est
- servie par le serveur sub1-vhost que si le client envoie un en-tête
- <code>Host:</code> correct. Si aucun en-tête <code>Host:</code>
- n'est transmis, le serveur primaire sera utilisé.</p>
- <p>Notez qu'il y a une singularité : une requête sur
- <code>http://www.sub2.domain.tld/sub1/</code> est également servie
- par le serveur sub1-vhost si le client n'envoie pas d'en-tête
+ Une requête sur une URL <code>http://www.sub1.domain.tld/</code> n'est
+ servie par le serveur sub1-vhost que si le client envoie un en-tête
+ <code>Host:</code> correct. Si aucun en-tête <code>Host:</code>
+ n'est transmis, le serveur primaire sera utilisé.</p>
+ <p>Notez qu'il y a une singularité : une requête sur
+ <code>http://www.sub2.domain.tld/sub1/</code> est également servie
+ par le serveur sub1-vhost si le client n'envoie pas d'en-tête
<code>Host:</code>.</p>
<p>Les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
- sont employées pour s'assurer que le client qui envoie un en-tête
+ sont employées pour s'assurer que le client qui envoie un en-tête
<code>Host:</code> correct puisse utiliser d'autres variantes d'URLs,
- <em>c'est-à-dire</em> avec ou sans préfixe d'URL.</p>
+ <em>c'est-à-dire</em> avec ou sans préfixe d'URL.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/vhosts/examples.html" title="Français"> fr </a> |
+<a href="../fr/vhosts/examples.html" title="Français"> fr </a> |
<a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Serveurs Virtuels</a></div><div id="page-content"><div id="preamble"><h1>Limites des descripteurs de fichiers</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/vhosts/fd-limits.html" title="Français"> fr </a> |
+<a href="../fr/vhosts/fd-limits.html" title="Français"> fr </a> |
<a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Quand de nombreux serveurs virtuels sont créés, Apache peut
- dépasser les limites en descripteurs de fichiers ('file descriptors',
- également appelés <cite>gestionnaires de fichiers</cite>) si chacun
+ <p>Quand de nombreux serveurs virtuels sont créés, Apache peut
+ dépasser les limites en descripteurs de fichiers ('file descriptors',
+ également appelés <cite>gestionnaires de fichiers</cite>) si chacun
des serveurs virtuels utilise ses propres fichiers journaux. Le
- nombre total de descripteurs de fichiers utilisés par Apache est
+ nombre total de descripteurs de fichiers utilisés par Apache est
d'un par fichier journal, un pour chacune des autres directives
de fichiers journaux, plus un nombre constant compris entre 10 et 20
- pour son fonctionnement interne. Les systèmes d'exploitation Unix
+ pour son fonctionnement interne. Les systèmes d'exploitation Unix
limitent le nombre de descripteurs de fichiers utilisables par
processus ; une valeur courante pour cette limite est de 64, et
- cette valeur peut le plus souvent être augmentée.</p>
+ cette valeur peut le plus souvent être augmentée.</p>
- <p>Apache tente d'accroître cette valeur limite si nécessaire, mais
+ <p>Apache tente d'accroître cette valeur limite si nécessaire, mais
sans y parvenir dans les cas suivants :</p>
<ol>
- <li>Le système d'exploitation ne permet pas l'utilisation d'appels
- systèmes <code>setrlimit()</code>.</li>
+ <li>Le système d'exploitation ne permet pas l'utilisation d'appels
+ systèmes <code>setrlimit()</code>.</li>
<li>L'appel <code>setrlimit(RLIMIT_NOFILE)</code> ne fonctionne pas
- sur votre système d'exploitation (c'est le cas sous Solaris 2.3).</li>
+ sur votre système d'exploitation (c'est le cas sous Solaris 2.3).</li>
- <li>Le nombre de descripteurs de fichiers nécessaires à Apache
- dépasse la limite physique du matériel.</li>
+ <li>Le nombre de descripteurs de fichiers nécessaires à Apache
+ dépasse la limite physique du matériel.</li>
- <li>Le système impose d'autres limites sur l'utilisation des
+ <li>Le système impose d'autres limites sur l'utilisation des
descripteurs de fichiers, comme par exemple une limite sur les
flux stdio, utilisables uniquement sur les descripteurs de
- fichiers inférieurs à 256. (sous Solaris 2).</li>
+ fichiers inférieurs à 256. (sous Solaris 2).</li>
</ol>
- <p>En cas de problème, Vous pouvez :</p>
+ <p>En cas de problème, Vous pouvez :</p>
<ul>
- <li>Réduire le nombre de fichiers journaux, en ne spécifiant
+ <li>Réduire le nombre de fichiers journaux, en ne spécifiant
aucun fichier journal dans les sections
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>,
en donc en envoyant les informations aux fichiers journaux du
- serveur principal (Voir <a href="#splitlogs">Éclatement des
+ serveur principal (Voir <a href="#splitlogs">Éclatement des
fichiers journaux</a> ci-dessous pour plus d'informations sur
- cette possibilité).</li>
+ cette possibilité).</li>
<li>
- Dans les cas 1 ou 2 (évoqués ci-dessus), augmentez la limite sur
- les descripteurs de fichiers avant le démarrage d'Apache, au
+ Dans les cas 1 ou 2 (évoqués ci-dessus), augmentez la limite sur
+ les descripteurs de fichiers avant le démarrage d'Apache, au
moyen d'un script comme
<div class="example"><p><code>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="splitlogs" id="splitlogs">Éclatement des fichiers journaux</a><a title="Lien permanent" href="#splitlogs" class="permalink">¶</a></h2>
+<h2><a name="splitlogs" id="splitlogs">Éclatement des fichiers journaux</a><a title="Lien permanent" href="#splitlogs" class="permalink">¶</a></h2>
-<p>Lorsque vous choisissez d'enregistrer les informations émanant de
-plusieurs serveurs virtuels dans un même fichier journal, vous voudrez
-ensuite pouvoir scinder ces informations à des fins de statistiques, par
-exemple, sur les différents serveurs virtuels. Il est possible de procéder
-de la manière suivante :</p>
+<p>Lorsque vous choisissez d'enregistrer les informations émanant de
+plusieurs serveurs virtuels dans un même fichier journal, vous voudrez
+ensuite pouvoir scinder ces informations à des fins de statistiques, par
+exemple, sur les différents serveurs virtuels. Il est possible de procéder
+de la manière suivante :</p>
-<p>Tout d'abord, vous devez ajouter le nom du serveur virtuel à chaque
-entrée du journal. Ceci se paramètre au moyen de la directive
+<p>Tout d'abord, vous devez ajouter le nom du serveur virtuel à chaque
+entrée du journal. Ceci se paramètre au moyen de la directive
<code class="directive"><a href="../mod/mod_log_config.html#logformat"> LogFormat</a></code> et de la
-variable <code>%v</code>. Ajoutez cette variable au début de la chaîne
-de définition du format de journalisations :</p>
+variable <code>%v</code>. Ajoutez cette variable au début de la chaîne
+de définition du format de journalisations :</p>
<pre class="prettyprint lang-config">LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost
CustomLog "logs/multiple_vhost_log" vhost</pre>
-<p>Cette configuration va provoquer la création d'un fichier de
+<p>Cette configuration va provoquer la création d'un fichier de
journalisation au format standard (CLF : 'Common Log Format'), mais dont
-chaque ligne débutera par le nom canonique du serveur virtuel (spécifié
+chaque ligne débutera par le nom canonique du serveur virtuel (spécifié
par la directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>).
(Voir <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> pour d'autres informations sur la
personnalisation des fichiers journaux.)</p>
-<p>Au moment de séparer les informations du fichier journal en un fichier
+<p>Au moment de séparer les informations du fichier journal en un fichier
par serveur virtuel, le programme <code>
-<a href="../programs/other.html">split-logfile</a></code> peut être
-utilisé. Ce programme peut être trouvé dans le répertoire
+<a href="../programs/other.html">split-logfile</a></code> peut être
+utilisé. Ce programme peut être trouvé dans le répertoire
<code>support</code> de la distribution d'Apache.</p>
-<p>Exécutez ce programme au moyen de la commande :</p>
+<p>Exécutez ce programme au moyen de la commande :</p>
<div class="example"><p><code>
split-logfile < /logs/multiple_vhost_log
</code></p></div>
-<p>Une fois exécuté avec le nom du fichier contenant tous les journaux,
-ce programme va générer un fichier pour chacun des serveurs virtuels
-qui apparaît dans le fichier d'entrée. Chaque fichier en sortie est
-nommé <code>nomduserveur.log</code>.</p>
+<p>Une fois exécuté avec le nom du fichier contenant tous les journaux,
+ce programme va générer un fichier pour chacun des serveurs virtuels
+qui apparaît dans le fichier d'entrée. Chaque fichier en sortie est
+nommé <code>nomduserveur.log</code>.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/vhosts/fd-limits.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/vhosts/fd-limits.html" title="Français"> fr </a> |
+<a href="../fr/vhosts/fd-limits.html" title="Français"> fr </a> |
<a href="../ja/vhosts/fd-limits.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/vhosts/fd-limits.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/vhosts/fd-limits.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../de/vhosts/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/vhosts/" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/vhosts/" title="Français"> fr </a> |
+<a href="../fr/vhosts/" title="Français"> fr </a> |
<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
- <p>Le principe des <cite>Serveurs Virtuels</cite> consiste à
+ <p>Le principe des <cite>Serveurs Virtuels</cite> consiste à
faire fonctionner un ou plusieurs serveurs Web (comme
<code>www.company1.example.com</code> et <code>www.company2.example.com</code>)
- sur une même machine. Les serveurs virtuels peuvent être soit
- "<a href="ip-based.html">par-IP</a>" où une adresse IP est
- attribuée pour chaque serveur Web, soit "<a href="name-based.html">par-nom</a>" où plusieurs noms de domaine se côtoient sur
- des mêmes adresses IP. L'utilisateur final ne perçoit pas
- qu'en fait il s'agit d'un même serveur physique.</p>
+ sur une même machine. Les serveurs virtuels peuvent être soit
+ "<a href="ip-based.html">par-IP</a>" où une adresse IP est
+ attribuée pour chaque serveur Web, soit "<a href="name-based.html">par-nom</a>" où plusieurs noms de domaine se côtoient sur
+ des mêmes adresses IP. L'utilisateur final ne perçoit pas
+ qu'en fait il s'agit d'un même serveur physique.</p>
- <p>Apache a été le précurseur des serveurs proposant cette
- méthode de serveurs virtuels basés sur les adresses IP. Ses
+ <p>Apache a été le précurseur des serveurs proposant cette
+ méthode de serveurs virtuels basés sur les adresses IP. Ses
versions 1.1 et suivantes proposent les deux
- méthodes de serveurs virtuels : par-IP et par-nom. Cette
- deuxième méthode est parfois également appelée <em>host-based</em>
+ méthodes de serveurs virtuels : par-IP et par-nom. Cette
+ deuxième méthode est parfois également appelée <em>host-based</em>
ou <em>serveur virtuel non-IP</em>.</p>
<p>Vous trouverez ci-dessous une liste documentaire qui vous
- expliquera en détails le fonctionnement du support des serveurs
+ expliquera en détails le fonctionnement du support des serveurs
virtuels par le serveur HTTP Apache.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#support">Support des serveurs virtuels</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#directives">Directives de configuration</a></li>
-</ul><h3>Voir aussi</h3><ul class="seealso"><li><code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li><li><a href="name-based.html">Serveurs virtuels par-nom</a></li><li><a href="ip-based.html">Serveurs virtuels par-IP</a></li><li><a href="examples.html">Exemples de serveurs virtuels</a></li><li><a href="fd-limits.html">Limites des descripteurs de fichiers</a></li><li><a href="mass.html">Hébergement virtuel en masse</a></li><li><a href="details.html">Détails sur les critères de choix du serveur</a></li></ul></div>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li><li><a href="name-based.html">Serveurs virtuels par-nom</a></li><li><a href="ip-based.html">Serveurs virtuels par-IP</a></li><li><a href="examples.html">Exemples de serveurs virtuels</a></li><li><a href="fd-limits.html">Limites des descripteurs de fichiers</a></li><li><a href="mass.html">Hébergement virtuel en masse</a></li><li><a href="details.html">Détails sur les critères de choix du serveur</a></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="support" id="support">Support des serveurs virtuels</a><a title="Lien permanent" href="#support" class="permalink">¶</a></h2>
(ou, <em>trop de fichiers journaux</em>)</li>
<li><a href="mass.html">Configuration dynamique en masse de
Serveurs Virtuels</a></li>
- <li><a href="details.html">Explication approfondie des critères
- de sélection d'un Serveur Virtuel</a></li>
+ <li><a href="details.html">Explication approfondie des critères
+ de sélection d'un Serveur Virtuel</a></li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<li><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code></li>
</ul>
- <p>Pour vérifier et analyser la configuration de vos serveurs
+ <p>Pour vérifier et analyser la configuration de vos serveurs
virtuels, vous pouvez utiliser l'argument <code>-S</code> sur
la ligne de commande.</p>
httpd.exe -S
</code></p></div>
- <p>Cette commande affichera dans le détail comment Apache a
- traité son fichier de configuration. Les erreurs de configuration
- peuvent être corrigées par l'examen attentif des adresses IP et
+ <p>Cette commande affichera dans le détail comment Apache a
+ traité son fichier de configuration. Les erreurs de configuration
+ peuvent être corrigées par l'examen attentif des adresses IP et
des noms de serveurs. (Consultez la documentation du programme
<code class="program"><a href="../programs/httpd.html">httpd</a></code> pour les autres arguments de la ligne de
commande)</p>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../de/vhosts/" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/vhosts/" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/vhosts/" title="Français"> fr </a> |
+<a href="../fr/vhosts/" title="Français"> fr </a> |
<a href="../ja/vhosts/" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/vhosts/" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
+<a href="../tr/vhosts/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/vhosts/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Serveurs virtuels</a></div><div id="page-content"><div id="preamble"><h1>Support Apache des serveurs virtuels par IP</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/vhosts/ip-based.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/vhosts/ip-based.html" title="Français"> fr </a> |
+<a href="../fr/vhosts/ip-based.html" title="Français"> fr </a> |
<a href="../ja/vhosts/ip-based.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#requirements">Système requis</a></li>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#requirements">Système requis</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#howto">Comment configurer Apache</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#multiple">Configuration de processus multiples</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#single">Configuration d'un unique processus
-résident pour des serveurs virtuels</a></li>
+résident pour des serveurs virtuels</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li>
<a href="name-based.html">Support Apache des serveurs virtuels par nom</a>
</li><li><a href="#comments_section">Commentaires</a></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="requirements" id="requirements">Système requis</a><a title="Lien permanent" href="#requirements" class="permalink">¶</a></h2>
+<h2><a name="requirements" id="requirements">Système requis</a><a title="Lien permanent" href="#requirements" class="permalink">¶</a></h2>
<p>Comme l'indique le terme <cite>par IP</cite>, le serveur
- <strong>doit disposer de différentes paires adresses IP/port pour chaque
- serveur virtuel par IP</strong>. La machine peut posséder
- plusieurs connexions physiques au réseau, ou utiliser des
- interfaces virtuelles qui sont supportées par la plupart des
- systèmes d'exploitation modernes (Consultez la documentation des
- systèmes d'exploitation pour plus de détails, notamment les "alias
+ <strong>doit disposer de différentes paires adresses IP/port pour chaque
+ serveur virtuel par IP</strong>. La machine peut posséder
+ plusieurs connexions physiques au réseau, ou utiliser des
+ interfaces virtuelles qui sont supportées par la plupart des
+ systèmes d'exploitation modernes (Consultez la documentation des
+ systèmes d'exploitation pour plus de détails, notamment les "alias
IP" et la commande "ifconfig" pour les activer), et/ou utiliser
- plusieurs numéros de port.</p>
+ plusieurs numéros de port.</p>
<p>Selon la terminologie du serveur HTTP Apache, l'utilisation d'une
- seule adresse IP avec plusieurs ports TCP s'apparente aussi à de
- l'hébergement virtuel basé sur IP.</p>
+ seule adresse IP avec plusieurs ports TCP s'apparente aussi à de
+ l'hébergement virtuel basé sur IP.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="howto" id="howto">Comment configurer Apache</a><a title="Lien permanent" href="#howto" class="permalink">¶</a></h2>
- <p>Il y a deux manières de configurer Apache pour le support de
+ <p>Il y a deux manières de configurer Apache pour le support de
multiples serveurs virtuels. Il suffit soit de faire tourner un
- processus résident <code class="program"><a href="../programs/httpd.html">httpd</a></code> pour chaque nom de
- domaine, soit de faire tourner un unique processus résident qui
- gère tous les serveurs virtuels.</p>
+ processus résident <code class="program"><a href="../programs/httpd.html">httpd</a></code> pour chaque nom de
+ domaine, soit de faire tourner un unique processus résident qui
+ gère tous les serveurs virtuels.</p>
- <p>Utilisez des processus résidents multiples lorsque :</p>
+ <p>Utilisez des processus résidents multiples lorsque :</p>
<ul>
- <li>il y a des problèmes de répartition de sécurité, tels
+ <li>il y a des problèmes de répartition de sécurité, tels
qu'une entreprise1 ne souhaite que personne d'une entreprise2
- ne puisse lire ses données excepté via le Web. Dans ce cas,
- vous aurez besoin de deux processus résidents, chacun fonctionnant
- avec des paramètres <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code>,
+ ne puisse lire ses données excepté via le Web. Dans ce cas,
+ vous aurez besoin de deux processus résidents, chacun fonctionnant
+ avec des paramètres <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code>,
<code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code>,
<code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>, et
- <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> différents.</li>
+ <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> différents.</li>
- <li>vous disposez suffisamment de mémoire et de
+ <li>vous disposez suffisamment de mémoire et de
<a href="../misc/descriptors.html">descripteurs de fichiers</a>
- pour l'écoute de chaque alias IP de la machine. Il est seulement
+ pour l'écoute de chaque alias IP de la machine. Il est seulement
possible d'appliquer la directive
<code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>, soit sur toutes
les adresses avec le joker "*", soit uniquement sur des adresses
- spécifiques. Donc, si vous avez besoin d'écouter une adresse
+ spécifiques. Donc, si vous avez besoin d'écouter une adresse
en particulier, vous devrez le faire pour l'ensemble des
autres adresses (Bien qu'il soit plus simple de lancer un
- processus <code class="program"><a href="../programs/httpd.html">httpd</a></code> pour écouter N-1 adresses,
+ processus <code class="program"><a href="../programs/httpd.html">httpd</a></code> pour écouter N-1 adresses,
et un autre pour l'adresse restante).</li>
</ul>
- <p>Utilisez un unique processus résident lorsque :</p>
+ <p>Utilisez un unique processus résident lorsque :</p>
<ul>
<li>le partage de la configuration httpd entre les serveurs
virtuels est acceptable.</li>
- <li>la machine assume déjà une grande quantité de requêtes, et
- que l'ajout de processus résidents supplémentaires en affecterait
+ <li>la machine assume déjà une grande quantité de requêtes, et
+ que l'ajout de processus résidents supplémentaires en affecterait
les performances.</li>
</ul>
<div class="section">
<h2><a name="multiple" id="multiple">Configuration de processus multiples</a><a title="Lien permanent" href="#multiple" class="permalink">¶</a></h2>
- <p>Créez une installation indépendante du programme
+ <p>Créez une installation indépendante du programme
<code class="program"><a href="../programs/httpd.html">httpd</a></code> pour chaque serveur virtuel. Pour
chacune d'elle, utilisez la directive
<code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> dans le fichier
- de configuration pour définir l'adresse IP (ou serveur virtuel)
- que le processus résident doit gérer. Par exemple :</p>
+ de configuration pour définir l'adresse IP (ou serveur virtuel)
+ que le processus résident doit gérer. Par exemple :</p>
<pre class="prettyprint lang-config">Listen 192.0.2.100:80</pre>
- <p>Il est recommandé d'utiliser une adresse IP plutôt qu'un nom
- de domaine (consultez <a href="../dns-caveats.html">Problèmes DNS
+ <p>Il est recommandé d'utiliser une adresse IP plutôt qu'un nom
+ de domaine (consultez <a href="../dns-caveats.html">Problèmes DNS
avec Apache</a>).</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="single" id="single">Configuration d'un unique processus
-résident pour des serveurs virtuels</a><a title="Lien permanent" href="#single" class="permalink">¶</a></h2>
+résident pour des serveurs virtuels</a><a title="Lien permanent" href="#single" class="permalink">¶</a></h2>
- <p>Dans ce cas, un unique processus httpd va gérer les requêtes
+ <p>Dans ce cas, un unique processus httpd va gérer les requêtes
pour le serveur principal et tous les serveurs virtuels. Dans le
fichier de configuration, la directive
- <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> va servir à
- définir les autres directives
+ <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> va servir à
+ définir les autres directives
<code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>,
<code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>,
<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>,
<code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code> et
<code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code> ou
<code class="directive"><a href="../mod/mod_log_config.html#customlog">CustomLog</a></code> avec des
- valeurs différentes pour chaque serveur virtuel. Par exemple :</p>
+ valeurs différentes pour chaque serveur virtuel. Par exemple :</p>
<pre class="prettyprint lang-config"><VirtualHost 172.20.30.40:80>
ServerAdmin webmaster@www1.example.com
</VirtualHost></pre>
- <p>Il est recommandé d'utiliser une adresse IP plutôt qu'un nom
- de domaine comme argument à la directive <VirtualHost>
- (consultez <a href="../dns-caveats.html">Problèmes DNS
+ <p>Il est recommandé d'utiliser une adresse IP plutôt qu'un nom
+ de domaine comme argument à la directive <VirtualHost>
+ (consultez <a href="../dns-caveats.html">Problèmes DNS
avec Apache</a>).</p>
<p>Presque <strong>toutes</strong> les directives de configuration
- peuvent être employées dans une directive VirtualHost, à l'exception
- des directives qui contrôlent la création du processus et de
- quelques autres. Pour connaître celles utilisables dans une
- directive VirtualHost, vérifiez leur
+ peuvent être employées dans une directive VirtualHost, à l'exception
+ des directives qui contrôlent la création du processus et de
+ quelques autres. Pour connaître celles utilisables dans une
+ directive VirtualHost, vérifiez leur
<a href="../mod/directive-dict.html#Context">Contexte</a> en utilisant
l'<a href="../mod/quickreference.html">directive index</a>.</p>
- <p><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> peut être
- utilisées à l'intérieur d'une directive VirtualHost si l'exécution se fait
+ <p><code class="directive"><a href="../mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> peut être
+ utilisées à l'intérieur d'une directive VirtualHost si l'exécution se fait
sous suEXEC. (Voir <a href="../suexec.html">suEXEC</a>).</p>
- <p><em>SÉCURITÉ :</em> lorsque vous spécifiez où écrire les
+ <p><em>SÉCURITÉ :</em> lorsque vous spécifiez où écrire les
fichiers journaux, soyez attentif aux risques si quelqu'un d'autre
- que celui qui a démarré Apache dispose des droits d'écriture
+ que celui qui a démarré Apache dispose des droits d'écriture
sur l'emplacement de ces fichiers. Consultez les
- <a href="../misc/security_tips.html">Conseils sur la sécurité</a>
- pour plus de détails.</p>
+ <a href="../misc/security_tips.html">Conseils sur la sécurité</a>
+ pour plus de détails.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/vhosts/ip-based.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/vhosts/ip-based.html" title="Français"> fr </a> |
+<a href="../fr/vhosts/ip-based.html" title="Français"> fr </a> |
<a href="../ja/vhosts/ip-based.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Hébergement virtuel de masse configuré dynamiquement - Serveur Apache HTTP Version 2.5</title>
+<title>Hébergement virtuel de masse configuré dynamiquement - Serveur Apache HTTP Version 2.5</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Hébergement virtuel</a></div><div id="page-content"><div id="preamble"><h1>Hébergement virtuel de masse configuré dynamiquement</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Hébergement virtuel</a></div><div id="page-content"><div id="preamble"><h1>Hébergement virtuel de masse configuré dynamiquement</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/vhosts/mass.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/vhosts/mass.html" title="Français"> fr </a> |
+<a href="../fr/vhosts/mass.html" title="Français"> fr </a> |
<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Ce document propose une méthode performante pour servir un nombre
- quelconque d'hôtes virtuels avec le serveur HTTP Apache. Un <a href="../rewrite/vhosts.html">document séparé</a> décrit comment
- utiliser <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour gérer l'hébergement
+ <p>Ce document propose une méthode performante pour servir un nombre
+ quelconque d'hôtes virtuels avec le serveur HTTP Apache. Un <a href="../rewrite/vhosts.html">document séparé</a> décrit comment
+ utiliser <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour gérer l'hébergement
virtuel de masse dynamique.
</p>
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#motivation">A qui ce document est-il destiné ?</a></li>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#motivation">A qui ce document est-il destiné ?</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#overview">Vue d'ensemble</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#simple">Hébergement virtuel
+<li><img alt="" src="../images/down.gif" /> <a href="#simple">Hébergement virtuel
dynamique avec mod_vhost_alias</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#homepages">Système de serveurs virtuels dynamiques
-simplifié</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#combinations">Utiliser plusieurs systèmes
-d'hébergement virtuel sur le même serveur</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#ipbased">Pour un hébergement virtuel par IP plus
+<li><img alt="" src="../images/down.gif" /> <a href="#homepages">Système de serveurs virtuels dynamiques
+simplifié</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#combinations">Utiliser plusieurs systèmes
+d'hébergement virtuel sur le même serveur</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ipbased">Pour un hébergement virtuel par IP plus
efficace</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#rewrite">Hébergement virtuel de masse avec
+<li><img alt="" src="../images/down.gif" /> <a href="#rewrite">Hébergement virtuel de masse avec
mod_rewrite</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#macro">Hébergement virtuel en masse avec mod_macro</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#macro">Hébergement virtuel en masse avec mod_macro</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></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="motivation" id="motivation">A qui ce document est-il destiné ?</a><a title="Lien permanent" href="#motivation" class="permalink">¶</a></h2>
+<h2><a name="motivation" id="motivation">A qui ce document est-il destiné ?</a><a title="Lien permanent" href="#motivation" class="permalink">¶</a></h2>
- <p>Les techniques décrites ici vous concernent si votre
+ <p>Les techniques décrites ici vous concernent si votre
<code>httpd.conf</code> contient de nombreuses sections
- <code><VirtualHost></code> très semblables,
+ <code><VirtualHost></code> très semblables,
dans le style :</p>
<pre class="prettyprint lang-config"><VirtualHost 111.22.33.44>
<p>Nous voulons remplacer toutes les configurations
- <code><VirtualHost></code> par un mécanisme qui les génère
- dynamiquement. Ceci présente certains avantages :</p>
+ <code><VirtualHost></code> par un mécanisme qui les génère
+ dynamiquement. Ceci présente certains avantages :</p>
<ol>
<li>Votre fichier de configuration est plus petit, ainsi Apache
- démarre plus rapidement et consomme moins de mémoire. Et ce qui
- est peut-être le plus important, le fichier de configuration plus
- petit est plus facile à maintenir, et le risque d'erreurs en est
- diminué d'autant.
+ démarre plus rapidement et consomme moins de mémoire. Et ce qui
+ est peut-être le plus important, le fichier de configuration plus
+ petit est plus facile à maintenir, et le risque d'erreurs en est
+ diminué d'autant.
</li>
- <li>Pour ajouter des serveurs virtuels, il suffit de créer les
- répertoires appropriés dans le système de fichiers et les entrées
- dans le DNS - il n'est plus nécessaire de reconfigurer ou de
- redémarrer Apache.</li>
+ <li>Pour ajouter des serveurs virtuels, il suffit de créer les
+ répertoires appropriés dans le système de fichiers et les entrées
+ dans le DNS - il n'est plus nécessaire de reconfigurer ou de
+ redémarrer Apache.</li>
</ol>
- <p>Le principal désavantage réside dans le fait que vous ne pouvez
- pas définir un fichier journal différent pour chaque serveur
- virtuel. De toute façon, ce serait une mauvaise idée si vous avez de
- nombreux serveurs virtuels, car cela nécessiterait un <a href="fd-limits.html">nombre important de descripteurs de
- fichier</a>. Il est préférable de rediriger <a href="../logs.html#piped">les journaux via un pipe ou
+ <p>Le principal désavantage réside dans le fait que vous ne pouvez
+ pas définir un fichier journal différent pour chaque serveur
+ virtuel. De toute façon, ce serait une mauvaise idée si vous avez de
+ nombreux serveurs virtuels, car cela nécessiterait un <a href="fd-limits.html">nombre important de descripteurs de
+ fichier</a>. Il est préférable de rediriger <a href="../logs.html#piped">les journaux via un pipe ou
une file fifo</a> vers un
- programme, et faire en sorte que ce dernier éclate les journaux
+ programme, et faire en sorte que ce dernier éclate les journaux
en un journal par serveur virtuel. L'utilitaire <a href="../programs/split-logfile.html">split-logfile</a>
constitue un exemple de ce traitement.</p>
<div class="section">
<h2><a name="overview" id="overview">Vue d'ensemble</a><a title="Lien permanent" href="#overview" class="permalink">¶</a></h2>
- <p>Un serveur virtuel peut être défini par deux informations : son
- adresse IP, et le contenu de l'en-tête <code>Host:</code> de la
- requête HTTP. La technique d'hébergement virtuel dynamique de masse
- utilisée ici consiste à insérer automatiquement ces informations
- dans le chemin du fichier à utiliser pour répondre à la requête. On
+ <p>Un serveur virtuel peut être défini par deux informations : son
+ adresse IP, et le contenu de l'en-tête <code>Host:</code> de la
+ requête HTTP. La technique d'hébergement virtuel dynamique de masse
+ utilisée ici consiste à insérer automatiquement ces informations
+ dans le chemin du fichier à utiliser pour répondre à la requête. On
peut y parvenir assez facilement en utilisant
<code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> avec Apache httpd, mais on peut aussi
<a href="../rewrite/vhosts.html">utiliser mod_rewrite</a>. </p>
- <p>Par défaut, ces deux modules
- sont désactivés ; vous devez activer l'un d'eux lors de la
+ <p>Par défaut, ces deux modules
+ sont désactivés ; vous devez activer l'un d'eux lors de la
compilation et de la configuration d'Apache httpd si vous voulez utiliser
cette technique.</p>
- <p>Certains paramètres doivent être extraits de la requête pour que le serveur
- dynamique se présente comme un serveur dynamique normal. Le plus
- important est le nom du serveur, que le serveur utilise pour générer des
- URLs d'auto-référencement, etc... Il est défini via la directive
- <code>ServerName</code>, et les CGIs peuvent s'y référer via la
- variable d'environnement <code>SERVER_NAME</code>. Sa véritable
- valeur utilisée à l'exécution est contrôlée par la définition de la
+ <p>Certains paramètres doivent être extraits de la requête pour que le serveur
+ dynamique se présente comme un serveur dynamique normal. Le plus
+ important est le nom du serveur, que le serveur utilise pour générer des
+ URLs d'auto-référencement, etc... Il est défini via la directive
+ <code>ServerName</code>, et les CGIs peuvent s'y référer via la
+ variable d'environnement <code>SERVER_NAME</code>. Sa véritable
+ valeur utilisée à l'exécution est contrôlée par la définition de la
directive
<code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code>. Avec
<code>UseCanonicalName Off</code>, le nom du serveur correspond au
- contenu de l'en-tête <code>Host:</code> de la requête. Avec
+ contenu de l'en-tête <code>Host:</code> de la requête. Avec
<code>UseCanonicalName DNS</code>, il est extrait d'une recherche
- DNS inverse sur l'adresse IP du serveur virtuel. La première
- configuration est utilisée pour l'hébergement virtuel dynamique par
- nom, et la deuxième pour l'hébergement virtuel dynamique par IP. Si
- httpd ne peut pas déterminer le nom du serveur, soit parce qu'il
- n'y a pas d'en-tête <code>Host:</code>, soit parce que la recherche
- DNS a échoué, il prend en compte la valeur définie par la directive
+ DNS inverse sur l'adresse IP du serveur virtuel. La première
+ configuration est utilisée pour l'hébergement virtuel dynamique par
+ nom, et la deuxième pour l'hébergement virtuel dynamique par IP. Si
+ httpd ne peut pas déterminer le nom du serveur, soit parce qu'il
+ n'y a pas d'en-tête <code>Host:</code>, soit parce que la recherche
+ DNS a échoué, il prend en compte la valeur définie par la directive
<code>ServerName</code>.</p>
- <p>L'autre paramètre à extraire est la racine des documents (définie
+ <p>L'autre paramètre à extraire est la racine des documents (définie
via la directive <code>DocumentRoot</code> et disponible pour les
scripts CGI via la variable d'environnement <code>DOCUMENT_ROOT</code>).
- Dans une configuration classique, il est utilisé par le module core
+ Dans une configuration classique, il est utilisé par le module core
pour faire correspondre les URIs aux noms de fichiers, mais lorsque
la configuration du serveur comporte des serveurs virtuels, ce
- traitement doit être pris en charge par un autre module (soit
+ traitement doit être pris en charge par un autre module (soit
<code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code>, soit <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>), qui
- utilise un méthode de correspondance différente. Aucun de ces
- modules ne se chargeant de définir la variable d'environnement
+ utilise un méthode de correspondance différente. Aucun de ces
+ modules ne se chargeant de définir la variable d'environnement
<code>DOCUMENT_ROOT</code>, si des CGIs ou des documents SSI
- doivent en faire usage, ils obtiendront une valeur erronée.</p>
+ doivent en faire usage, ils obtiendront une valeur erronée.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="simple" id="simple">Hébergement virtuel
+<h2><a name="simple" id="simple">Hébergement virtuel
dynamique avec mod_vhost_alias</a><a title="Lien permanent" href="#simple" class="permalink">¶</a></h2>
- <p>Cet extrait de fichier <code>httpd.conf</code> implémente
- l'hébergement virtuel décrit dans la section <a href="#motivation">À qui ce document est-il destiné ?</a> ci-dessus
+ <p>Cet extrait de fichier <code>httpd.conf</code> implémente
+ l'hébergement virtuel décrit dans la section <a href="#motivation">À qui ce document est-il destiné ?</a> ci-dessus
en utilisant <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code>.</p>
-<pre class="prettyprint lang-config"># extrait le nom du serveur de l'en-tête Host:
+<pre class="prettyprint lang-config"># extrait le nom du serveur de l'en-tête Host:
UseCanonicalName Off
-# ce format de journal peut être éclaté en journaux par serveur virtuel
-# à l'aide du premier champ via l'utilitaire split-logfile
+# ce format de journal peut être éclaté en journaux par serveur virtuel
+# à l'aide du premier champ via l'utilitaire split-logfile
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
CustomLog "logs/access_log" vcommon
# inclut le nom du serveur dans les noms de fichiers ressources
-# nécessaires aux traitements des requêtes
+# nécessaires aux traitements des requêtes
VirtualDocumentRoot "/www/hosts/%0/docs"
VirtualScriptAlias "/www/hosts/%0/cgi-bin"</pre>
<p>Pour changer cette configuration en solution de serveur virtuel
par IP, il suffit de remplacer <code>UseCanonicalName
Off</code> par <code>UseCanonicalName DNS</code>. Le nom du serveur
- inséré dans le nom de fichier sera alors déduit de l'adresse IP du
- serveur virtuel. La variable <code>%0</code> fait référence au nom
- de serveur de la requête, tel qu'il est indiqué dans l'en-tête
+ inséré dans le nom de fichier sera alors déduit de l'adresse IP du
+ serveur virtuel. La variable <code>%0</code> fait référence au nom
+ de serveur de la requête, tel qu'il est indiqué dans l'en-tête
<code>Host:</code>.</p>
<p>Voir la documentation du module <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="homepages" id="homepages">Système de serveurs virtuels dynamiques
-simplifié</a><a title="Lien permanent" href="#homepages" class="permalink">¶</a></h2>
+<h2><a name="homepages" id="homepages">Système de serveurs virtuels dynamiques
+simplifié</a><a title="Lien permanent" href="#homepages" class="permalink">¶</a></h2>
- <p>Il s'agit d'une adaptation du système ci-dessus, ajusté pour un
- serveur d'hébergement web de FAI. Grâce à la variable
- <code>%2</code>, on peut extraire des sous-chaînes de caractères du
+ <p>Il s'agit d'une adaptation du système ci-dessus, ajusté pour un
+ serveur d'hébergement web de FAI. Grâce à la variable
+ <code>%2</code>, on peut extraire des sous-chaînes de caractères du
nom du serveur pour les utiliser dans le nom de fichier afin, par
- exemple, de définir <code>/home/user/www</code> comme emplacement des
- documents pour <code>www.user.example.com</code>. Un seul répertoire
+ exemple, de définir <code>/home/user/www</code> comme emplacement des
+ documents pour <code>www.user.example.com</code>. Un seul répertoire
<code>cgi-bin</code> suffit pour l'ensemble des
serveurs virtuels.</p>
# insertion d'une partie du nom du serveur dans les noms de fichiers
VirtualDocumentRoot "/home/%2/www"
-# répertoire cgi-bin unique
+# répertoire cgi-bin unique
ScriptAlias "/cgi-bin/" "/www/std-cgi/"</pre>
- <p>Vous trouverez des exemples plus élaborés d'utilisation de la
+ <p>Vous trouverez des exemples plus élaborés d'utilisation de la
directive <code>VirtualDocumentRoot</code> dans la documentation du
module <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</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="combinations" id="combinations">Utiliser plusieurs systèmes
-d'hébergement virtuel sur le même serveur</a><a title="Lien permanent" href="#combinations" class="permalink">¶</a></h2>
+<h2><a name="combinations" id="combinations">Utiliser plusieurs systèmes
+d'hébergement virtuel sur le même serveur</a><a title="Lien permanent" href="#combinations" class="permalink">¶</a></h2>
- <p>Moyennant une configuration un peu plus compliquée, vous pouvez
- contrôler la portée des différentes configurations d'hébergement
- virtuel à l'aide des directives <code><VirtualHost></code>
+ <p>Moyennant une configuration un peu plus compliquée, vous pouvez
+ contrôler la portée des différentes configurations d'hébergement
+ virtuel à l'aide des directives <code><VirtualHost></code>
normales de httpd. Par exemple, on peut associer une adresse IP pour
- les pages d'accueil des clients en général, et une autre pour les
+ les pages d'accueil des clients en général, et une autre pour les
clients commerciaux avec la configuration suivante. Cette
- configuration peut être combinée avec les sections
- <code><VirtualHost></code> conventionnelles, comme indiqué
+ configuration peut être combinée avec les sections
+ <code><VirtualHost></code> conventionnelles, comme indiqué
plus loin.</p>
<pre class="prettyprint lang-config">UseCanonicalName Off
<h3>Note</h3>
<p>Si le premier bloc VirtualHost ne comporte <em>pas</em> de
directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>, c'est
- le nom issu d'une recherche DNS inverse à partir de l'adresse IP
- du serveur virtuel qui sera utilisé. Si ce nom ne correspond pas
- à celui que vous voulez utiliser, vous pouvez ajouter une entrée
+ le nom issu d'une recherche DNS inverse à partir de l'adresse IP
+ du serveur virtuel qui sera utilisé. Si ce nom ne correspond pas
+ à celui que vous voulez utiliser, vous pouvez ajouter une entrée
de remplacement (par exemple <code>ServerName
- none.example.com</code>) pour éviter ce comportement.</p>
+ none.example.com</code>) pour éviter ce comportement.</p>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="ipbased" id="ipbased">Pour un hébergement virtuel par IP plus
+<h2><a name="ipbased" id="ipbased">Pour un hébergement virtuel par IP plus
efficace</a><a title="Lien permanent" href="#ipbased" class="permalink">¶</a></h2>
- <p>Les changements de configuration suggérés pour transformer <a href="#simple">le premier exemple</a> en hébergement virtuel par IP
- conduisent à une configuration peu efficace. Chaque requête
- nécessite une nouvelle recherche DNS. Pour éviter cette surcharge de
- travail, le système de fichiers peut être organisé pour correspondre
- aux adresses IP, plutôt qu'aux noms de serveurs, supprimant par
- la-même la nécessité d'une recherche DNS. La journalisation doit
- aussi être adaptée pour fonctionner sur un tel système.</p>
+ <p>Les changements de configuration suggérés pour transformer <a href="#simple">le premier exemple</a> en hébergement virtuel par IP
+ conduisent à une configuration peu efficace. Chaque requête
+ nécessite une nouvelle recherche DNS. Pour éviter cette surcharge de
+ travail, le système de fichiers peut être organisé pour correspondre
+ aux adresses IP, plutôt qu'aux noms de serveurs, supprimant par
+ la-même la nécessité d'une recherche DNS. La journalisation doit
+ aussi être adaptée pour fonctionner sur un tel système.</p>
<pre class="prettyprint lang-config"># obtention du nom du serveur par recherche DNS inverse
# sur l'adresse IP
UseCanonicalName DNS
# insertion de l'adresse IP dans les journaux afin de pouvoir les
-# éclater
+# éclater
LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon
CustomLog "logs/access_log" vcommon
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="rewrite" id="rewrite">Hébergement virtuel de masse avec
+<h2><a name="rewrite" id="rewrite">Hébergement virtuel de masse avec
mod_rewrite</a><a title="Lien permanent" href="#rewrite" class="permalink">¶</a></h2>
<p>
-L'hébergement virtuel de masse peut aussi être effectué en utilisant
-<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, soit à l'aide de simples directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>, soit en utilisant des
-techniques plus compliquées comme le stockage externe des définitions
-des serveurs virtuels, ces dernières étant accessibles via des
+L'hébergement virtuel de masse peut aussi être effectué en utilisant
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, soit à l'aide de simples directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>, soit en utilisant des
+techniques plus compliquées comme le stockage externe des définitions
+des serveurs virtuels, ces dernières étant accessibles via des
directives <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>. Ces
-techniques sont décrites dans la <a href="../rewrite/vhosts.html">documentation sur la réécriture</a>.</p>
+techniques sont décrites dans la <a href="../rewrite/vhosts.html">documentation sur la réécriture</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="macro" id="macro">Hébergement virtuel en masse avec mod_macro</a><a title="Lien permanent" href="#macro" class="permalink">¶</a></h2>
+<h2><a name="macro" id="macro">Hébergement virtuel en masse avec mod_macro</a><a title="Lien permanent" href="#macro" class="permalink">¶</a></h2>
-<p>Une autre option pour générer dynamiquement des serveurs virtuels :
-mod_macro ; ce module permet de créer un modèle de serveur virtuel que
-vous pourrez invoquer pour des noms d'hôtes multiples. La section
-<strong>Usage</strong> de la documentation du module présente un exemple qui
-illustre cette méthode.
+<p>Une autre option pour générer dynamiquement des serveurs virtuels :
+mod_macro ; ce module permet de créer un modèle de serveur virtuel que
+vous pourrez invoquer pour des noms d'hôtes multiples. La section
+<strong>Usage</strong> de la documentation du module présente un exemple qui
+illustre cette méthode.
</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/vhosts/mass.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/vhosts/mass.html" title="Français"> fr </a> |
+<a href="../fr/vhosts/mass.html" title="Français"> fr </a> |
<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/vhosts/name-based.html" title="Français"> fr </a> |
+<a href="../fr/vhosts/name-based.html" title="Français"> fr </a> |
<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
- <p>Ce document décrit quand et comment utiliser des serveurs
+ <p>Ce document décrit quand et comment utiliser des serveurs
virtuels par nom.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#namevip">Serveurs virtuels par nom vs. par IP</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#alg">Comment le serveur sélectionne-t-il le serveur
-virtuel basé sur le nom approprié</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#alg">Comment le serveur sélectionne-t-il le serveur
+virtuel basé sur le nom approprié</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#using">Utilisation de serveurs virtuels par nom</a></li>
-</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="ip-based.html">Support Apache des serveurs virtuels par IP</a></li><li><a href="details.html">Détails sur le fonctionnement des serveurs virtuels</a></li><li><a href="mass.html">Configuration dynamique des hébergements virtuels de masse</a></li><li><a href="examples.html">Exemples d'utilisations de VirtualHost</a></li><li><a href="#comments_section">Commentaires</a></li></ul></div>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="ip-based.html">Support Apache des serveurs virtuels par IP</a></li><li><a href="details.html">Détails sur le fonctionnement des serveurs virtuels</a></li><li><a href="mass.html">Configuration dynamique des hébergements virtuels de masse</a></li><li><a href="examples.html">Exemples d'utilisations de VirtualHost</a></li><li><a href="#comments_section">Commentaires</a></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="namevip" id="namevip">Serveurs virtuels par nom vs. par IP</a><a title="Lien permanent" href="#namevip" class="permalink">¶</a></h2>
<p>Les <a href="ip-based.html">serveurs virtuels</a> par IP utilisent l'adresse IP
- de la connexion afin de déterminer quel serveur virtuel doit
- répondre. Par conséquent, vous devez disposer d'adresses IP
- différentes pour chaque serveur.</p>
+ de la connexion afin de déterminer quel serveur virtuel doit
+ répondre. Par conséquent, vous devez disposer d'adresses IP
+ différentes pour chaque serveur.</p>
- <p>Avec un hébergement
+ <p>Avec un hébergement
virtuel par nom, le serveur s'appuie sur les informations
- transmises par le client dans les en-têtes HTTP de ses requêtes.
- La technique présentée ici vous permet de disposer de serveurs
- virtuels différents partagés sur une même adresse IP.</p>
+ transmises par le client dans les en-têtes HTTP de ses requêtes.
+ La technique présentée ici vous permet de disposer de serveurs
+ virtuels différents partagés sur une même adresse IP.</p>
- <p>L'hébergement virtuel par nom est habituellement plus simple,
+ <p>L'hébergement virtuel par nom est habituellement plus simple,
car il vous suffit de configurer votre serveur DNS pour que
chaque domaine pointe sur l'adresse IP dont vous disposez, et de
configurer votre serveur Apache HTTP afin qu'il reconnaisse
- ces domaines. Il réduit aussi la pénurie en adresses IP. Par
- conséquent, vous devriez utiliser l'hébergement virtuel par
- nom, sauf dans le cas où vous utiliseriez des équipements qui
- nécessitent un hébergement basé sur IP. Les raisons historiques de
- l'hébergement basé sur IP dans un but de support de certains clients ne
- s'appliquent plus à un serveur web d'usage général.</p>
-
- <p>La sélection du serveur virtuel en fonction du nom s'opère en
- dehors de l'algorithme de sélection du serveur virtuel en fonction
+ ces domaines. Il réduit aussi la pénurie en adresses IP. Par
+ conséquent, vous devriez utiliser l'hébergement virtuel par
+ nom, sauf dans le cas où vous utiliseriez des équipements qui
+ nécessitent un hébergement basé sur IP. Les raisons historiques de
+ l'hébergement basé sur IP dans un but de support de certains clients ne
+ s'appliquent plus à un serveur web d'usage général.</p>
+
+ <p>La sélection du serveur virtuel en fonction du nom s'opère en
+ dehors de l'algorithme de sélection du serveur virtuel en fonction
de l'adresse IP, ce qui signifie que les recherches du point de vue
du nom du serveur ne s'effectuent que parmi le jeu de serveurs
virtuels pour lesquels la correspondance avec la paire adresse
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
-<h2><a name="alg" id="alg">Comment le serveur sélectionne-t-il le serveur
-virtuel basé sur le nom approprié</a><a title="Lien permanent" href="#alg" class="permalink">¶</a></h2>
+<h2><a name="alg" id="alg">Comment le serveur sélectionne-t-il le serveur
+virtuel basé sur le nom approprié</a><a title="Lien permanent" href="#alg" class="permalink">¶</a></h2>
- <p>Il est important de savoir que la première étape de la résolution
- de serveur virtuel basée sur le nom est une résolution basée sur IP.
- La résolution de serveur virtuel basée sur le nom ne fait que
- choisir le serveur virtuel basé sur le nom le plus approprié, en se
+ <p>Il est important de savoir que la première étape de la résolution
+ de serveur virtuel basée sur le nom est une résolution basée sur IP.
+ La résolution de serveur virtuel basée sur le nom ne fait que
+ choisir le serveur virtuel basé sur le nom le plus approprié, en se
limitant aux candidats qui conviennent le mieux du point de vue IP.
- La résolution basée sur IP est sans objet si l'on
- utilise un caractère générique (*) pour l'adresse IP dans
+ La résolution basée sur IP est sans objet si l'on
+ utilise un caractère générique (*) pour l'adresse IP dans
toutes les directives VirtualHost.</p>
- <p>A l'arrivée d'une requête, le serveur va rechercher l'argument de
- section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> présentant la meilleure
+ <p>A l'arrivée d'une requête, le serveur va rechercher l'argument de
+ section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> présentant la meilleure
(la plus exacte) correspondance avec la paire adresse IP/port
- utilisée dans la requête. Si plusieurs serveurs virtuels possèdent
- cette même paire adresse IP/port, Apache va ensuite comparer les
+ utilisée dans la requête. Si plusieurs serveurs virtuels possèdent
+ cette même paire adresse IP/port, Apache va ensuite comparer les
valeurs des directives <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> et <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> avec le nom de serveur
- présent dans la requête.</p>
+ présent dans la requête.</p>
- <p>Si vous ne définissez pas de directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour un serveur virtuel à base
- de nom, le serveur utilisera par défaut le nom de domaine
- entièrement qualifié (FQDN) déduit du nom d'hôte système. Cette
- configuration sans nom de serveur explicite peut conduire à des
- erreurs de choix du serveur virtuel à utiliser et est déconseillée.</p>
+ <p>Si vous ne définissez pas de directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour un serveur virtuel à base
+ de nom, le serveur utilisera par défaut le nom de domaine
+ entièrement qualifié (FQDN) déduit du nom d'hôte système. Cette
+ configuration sans nom de serveur explicite peut conduire à des
+ erreurs de choix du serveur virtuel à utiliser et est déconseillée.</p>
- <h3><a name="defaultvhost" id="defaultvhost">Le serveur virtuel à base de nom
- par défaut pour une paire adresse IP/port</a></h3>
+ <h3><a name="defaultvhost" id="defaultvhost">Le serveur virtuel à base de nom
+ par défaut pour une paire adresse IP/port</a></h3>
<p>Si aucune directive ServerName ou ServerAlias ne correspond dans
- la liste de serveurs virtuels présentant la meilleure correspondance
+ la liste de serveurs virtuels présentant la meilleure correspondance
du point de vue adresse IP/port, c'est <strong>le premier serveur
- virtuel de cette liste</strong> qui sera utilisé.</p>
+ virtuel de cette liste</strong> qui sera utilisé.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="using" id="using">Utilisation de serveurs virtuels par nom</a><a title="Lien permanent" href="#using" class="permalink">¶</a></h2>
-<table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li><li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li><li><code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code></li></ul></td></tr></table>
+<table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li><li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li><li><code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code></li></ul></td></tr></table>
- <p>La première étape consiste à créer une section
+ <p>La première étape consiste à créer une section
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
- pour chacun des serveurs à définir. Dans chaque section
+ pour chacun des serveurs à définir. Dans chaque section
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>,
- vous devez définir au minimum une directive
- <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour désigner
- le serveur concerné et une directive
- <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> pour préciser
- l'emplacement sur le système de fichiers du contenu de ce serveur.</p>
-
- <div class="note"><h3>Le serveur principal disparaît</h3>
- <p>Toute requête qui ne correspond à aucune section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> existante
- est traitée avec la configuration du serveur principal, sans
- tenir compte du nom d'hôte ou de la directive ServerName.</p>
-
- <p>Lorsque vous ajoutez un serveur virtuel basé sur le nom à un
- serveur existant, et si les caractéristiques de ce serveur
- virtuel correspondent à des combinaisons IP/port préexistantes,
- les requêtes seront alors traitées par un serveur virtuel
- explicite. Dans ce cas, il est en général judicieux de créer un
- <a href="#defaultvhost">serveur virtuel par défaut</a>
+ vous devez définir au minimum une directive
+ <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour désigner
+ le serveur concerné et une directive
+ <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> pour préciser
+ l'emplacement sur le système de fichiers du contenu de ce serveur.</p>
+
+ <div class="note"><h3>Le serveur principal disparaît</h3>
+ <p>Toute requête qui ne correspond à aucune section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> existante
+ est traitée avec la configuration du serveur principal, sans
+ tenir compte du nom d'hôte ou de la directive ServerName.</p>
+
+ <p>Lorsque vous ajoutez un serveur virtuel basé sur le nom à un
+ serveur existant, et si les caractéristiques de ce serveur
+ virtuel correspondent à des combinaisons IP/port préexistantes,
+ les requêtes seront alors traitées par un serveur virtuel
+ explicite. Dans ce cas, il est en général judicieux de créer un
+ <a href="#defaultvhost">serveur virtuel par défaut</a>
comportant une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> correspondant au nom du
- serveur principal. De nouveaux domaines sur les mêmes interface
- et port, mais nécessitant des configurations distinctes,
- pourront alors être ajoutés en tant que serveurs virtuels
- spécifiques (et non par défaut).</p>
+ serveur principal. De nouveaux domaines sur les mêmes interface
+ et port, mais nécessitant des configurations distinctes,
+ pourront alors être ajoutés en tant que serveurs virtuels
+ spécifiques (et non par défaut).</p>
</div>
- <div class="note"><h3>Héritage du nom de serveur</h3>
- <p>Il est toujours préférable de définir une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> au niveau de chaque serveur
- virtuel à base de nom. Si un serveur virtuel ne définit pas
+ <div class="note"><h3>Héritage du nom de serveur</h3>
+ <p>Il est toujours préférable de définir une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> au niveau de chaque serveur
+ virtuel à base de nom. Si un serveur virtuel ne définit pas
de directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>, le
- nom de ce serveur virtuel sera hérité du serveur principal. Si
- aucun nom de serveur n'a été explicitement défini au niveau du
- serveur principal, le serveur tentera de déterminer son nom via
- une résolution de nom DNS inverse sur la première adresse
- d'écoute. Dans tous les cas, ce nom de serveur hérité influencera
- la sélection du serveur virtuel à base de nom, c'est pourquoi il
- est toujours préférable de définir une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour chaque serveur virtuel
- à base de nom.</p>
+ nom de ce serveur virtuel sera hérité du serveur principal. Si
+ aucun nom de serveur n'a été explicitement défini au niveau du
+ serveur principal, le serveur tentera de déterminer son nom via
+ une résolution de nom DNS inverse sur la première adresse
+ d'écoute. Dans tous les cas, ce nom de serveur hérité influencera
+ la sélection du serveur virtuel à base de nom, c'est pourquoi il
+ est toujours préférable de définir une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour chaque serveur virtuel
+ à base de nom.</p>
</div>
- <p>Par exemple, supposez que vous hébergez le domaine
+ <p>Par exemple, supposez que vous hébergez le domaine
<code>www.example.com</code> et que vous souhaitez ajouter le
serveur virtuel <code>other.example.com</code> qui pointe sur
- la même adresse IP. Il vous suffit d'ajouter la configuration
- suivante à <code>httpd.conf</code> :</p>
+ la même adresse IP. Il vous suffit d'ajouter la configuration
+ suivante à <code>httpd.conf</code> :</p>
<pre class="prettyprint lang-config"><VirtualHost *:80>
# Le premier serveur virtuel de la liste est aussi le
- # serveur par défaut pour *:80
+ # serveur par défaut pour *:80
ServerName www.example.com
ServerAlias example.com
DocumentRoot "/www/domain"
</VirtualHost></pre>
- <p>Autrement, vous pouvez spécifiez une adresse IP explicite
- à la place de <code>*</code> dans la directive
+ <p>Autrement, vous pouvez spécifiez une adresse IP explicite
+ à la place de <code>*</code> dans la directive
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.
- Par exemple, cette méthode est utile si vous souhaitez faire
- tourner quelques serveurs virtuels par nom sur une même adresse
- IP, et d'autres, soit par IP, soit basés sur un autre jeu de
+ Par exemple, cette méthode est utile si vous souhaitez faire
+ tourner quelques serveurs virtuels par nom sur une même adresse
+ IP, et d'autres, soit par IP, soit basés sur un autre jeu de
serveurs virtuels par nom sur une autre adresse IP.</p>
<p>Plusieurs serveurs sont accessibles par plus d'un nom. Il
suffit de placer la directive
<code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> dans une section
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.
- Par exemple, dans la première section
+ Par exemple, dans la première section
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
ci-dessus, la directive <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>
- indique aux utilisateurs les autres noms permis pour accéder au
- même site Web :</p>
+ indique aux utilisateurs les autres noms permis pour accéder au
+ même site Web :</p>
<pre class="prettyprint lang-config">ServerAlias example.com *.example.com</pre>
- <p>ainsi, toutes les requêtes portant sur un domaine
+ <p>ainsi, toutes les requêtes portant sur un domaine
<code>example.com</code> seront servies par le serveur virtuel
- <code>www.example.com</code>. Les caractères joker <code>*</code>
- et <code>?</code> peuvent être utilisés pour les correspondances.
+ <code>www.example.com</code>. Les caractères joker <code>*</code>
+ et <code>?</code> peuvent être utilisés pour les correspondances.
Bien entendu, vous ne pouvez pas inventer des noms et les placer
dans une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>
ou <code>ServerAlias</code>. Tout d'abord, votre serveur DNS
- doit être correctement configuré pour lier ces noms à une
- adresse IP associée avec votre serveur.</p>
+ doit être correctement configuré pour lier ces noms à une
+ adresse IP associée avec votre serveur.</p>
- <p>La recherche du serveur virtuel à base de nom qui correspond au
- plus près à la requête s'effectue parmi les <code class="directive"><a href="../mod/core.html#virtualhost"><virtualhost></a></code> selon leur
+ <p>La recherche du serveur virtuel à base de nom qui correspond au
+ plus près à la requête s'effectue parmi les <code class="directive"><a href="../mod/core.html#virtualhost"><virtualhost></a></code> selon leur
ordre d'apparition dans le fichier de configuration. Le premier
- serveur virtuel dont le <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> ou le <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> correspond est utilisé, sans
- priorité particulière en cas de présence de caractères génériques
+ serveur virtuel dont le <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> ou le <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> correspond est utilisé, sans
+ priorité particulière en cas de présence de caractères génériques
(que ce soit pour le ServerName ou le ServerAlias).</p>
- <p>La liste complète des noms dans la section <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> sont traités comme une
+ <p>La liste complète des noms dans la section <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> sont traités comme une
directive <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> sans
- caractères génériques.</p>
+ caractères génériques.</p>
<p>Finalement, vous pouvez affiner la configuration des serveurs
- virtuels en plaçant d'autres directives à l'intérieur des sections
+ virtuels en plaçant d'autres directives à l'intérieur des sections
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.
- La plupart des directives peut être placée dans ces sections en
- y changeant seulement la configuration du serveur virtuel associé.
- Pour déterminer si une directive particulière est permise,
+ La plupart des directives peut être placée dans ces sections en
+ y changeant seulement la configuration du serveur virtuel associé.
+ Pour déterminer si une directive particulière est permise,
consultez le <a href="../mod/directive-dict.html#Context">contexte</a> de la
- directive. Le jeu de directives configurées dans le contexte
+ directive. Le jeu de directives configurées dans le contexte
du <em>serveur principal</em> (en dehors de toutes sections
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>)
- sera utilisé seulement s'il n'y a pas de configuration contraire
+ sera utilisé seulement s'il n'y a pas de configuration contraire
par un serveur virtuel.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English"> en </a> |
-<a href="../fr/vhosts/name-based.html" title="Français"> fr </a> |
+<a href="../fr/vhosts/name-based.html" title="Français"> fr </a> |
<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
-<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();