--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision: 1793934 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<modulesynopsis metafile="mod_xml2enc.xml.meta">
+
+<name>mod_xml2enc</name>
+<description>Support avancé de l'internationalisation et des jeux de
+caractères pour les modules de filtrage basés sur libxml2</description>
+<status>Base</status>
+<sourcefile>mod_xml2enc.c</sourcefile>
+<identifier>xml2enc_module</identifier>
+<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache.
+Disponible en tant que module tiers dans les versions 2.2.x</compatibility>
+
+<summary>
+ <p>Ce module fournit un support avancé de l'internationalisation
+ pour les modules de filtrage supportant les balises (markup-aware)
+ comme <module>mod_proxy_html</module>. Il est capable de détecter
+ automatiquement l'encodage des données en entrée et de s'assurer
+ qu'elle sont traitées correctement par l'interpréteur <a
+ href="http://xmlsoft.org/">libxml2</a>, y compris la conversion en
+ Unicode (UTF-8) si nécessaire. Il peut aussi convertir les données
+ dans l'encodage de votre choix après le traitement des balises, et
+ s'assurera que le <var>jeu de caractères</var> approprié sera défini
+ dans l'en-tête HTTP <var>Content-Type</var>.</p>
+</summary>
+
+<section id="usage"><title>Utilisation</title>
+ <p>Il existe deux scénarios d'utilisation : le cas des modules
+ programmés pour travailler avec mod_xml2enc ; et les autres :</p>
+ <dl>
+ <dt>Modules de filtrages programmés pour mod_xml2enc</dt><dd>
+ <p>Les modules comme <module>mod_proxy_html</module> versions 3.1 et
+ supérieures utilisent la fonction optionnelle
+ <code>xml2enc_charset</code> pour déterminer la valeur de l'argument
+ "jeu de caractères" à transmettre à l'interpréteur libxml2, et
+ disposent de la fonction optionnelle <code>xml2enc_filter</code>
+ pour effectuer un encodage ultérieur éventuel. L'utilisation de
+ mod_xml2enc avec un module préprogrammé à cet effet ne nécessite
+ aucune configuration : ce dernier configurera mod_xml2enc pour vous
+ (sachant que vous pouvez tout de même le personnaliser via les
+ directives de configuration ci-dessous).</p>
+ </dd>
+ <dt>Modules de filtrages non programmés pour mod_xml2enc</dt><dd>
+ <p>Pour utiliser mod_xml2enc avec un module basé sur libxml2 qui n'a
+ pas été explicitement programmé pour mod_xml2enc, vous devrez
+ configurer la chaîne de filtrage vous-même. Ainsi, pour utiliser
+ mod_xml2enc avec un filtre <strong>foo</strong> fourni par un module
+ <strong>mod_foo</strong> et pour
+ améliorer le support i18n de ce dernier avec HTML et XML, vous
+ pouvez utiliser les directives suivantes :</p>
+ <pre><code>
+ FilterProvider iconv xml2enc Content-Type $text/html
+ FilterProvider iconv xml2enc Content-Type $xml
+ FilterProvider markup foo Content-Type $text/html
+ FilterProvider markup foo Content-Type $xml
+ FilterChain iconv markup
+ </code></pre>
+ <p><strong>mod_foo</strong> supportera alors tout jeu de caractère supporté soit par
+ libxml2, soit par apr_xlate/iconv, soit par les deux.</p>
+ </dd></dl>
+</section>
+
+<section id="api"><title>API de programmation</title>
+ <p>Les programmeurs de modules de filtrage basés sur libxml2 sont
+ encouragés à les préprogrammer pour mod_xml2enc, afin de fournir un
+ support i18n solide aux utilisateurs sans avoir à réinventer la
+ roue. L'API de programmation est décrite dans
+ <var>mod_xml2enc.h</var>, et <module>mod_proxy_html</module> est un
+ exemple de son utilisation.</p>
+</section>
+
+<section id="sniffing"><title>Détection et encodage</title>
+ <p>A la différence de <module>mod_charset_lite</module>, mod_xml2enc
+ est conçu pour travailler avec des données dont l'encodage ne peut
+ pas être connu, et donc configuré, à l'avance. Il utilise donc les
+ techniques de 'reniflage' suivantes pour détecter le type d'encodage
+ des données HTTP :</p>
+ <ol>
+ <li>Si l'en-tête HTTP <var>Content-Type</var> contient un
+ paramètre <var>charset</var>, c'est ce dernier qui sera utilisé.</li>
+ <li>Si les données commancent par une balise XML concernant
+ l'ordre des octets (BOM) ou par une déclaration d'encodage XML,
+ c'est celle-ci qui sera utilisée.</li>
+ <li>Si un type d'encodage est déclaré dans un élément HTML
+ <code><META></code>, c'est ce dernier qui sera utilisé.</li>
+ <li>Si aucun des éléments précédents n'est trouvé, c'est la
+ valeur par défaut définie par la directive
+ <directive>xml2EncDefault</directive> qui sera utilisée.</li>
+ </ol>
+ <p>Les conditions sont testées dans cet ordre . Dès qu'une règle
+ s'applique, elle est utilisée et la détection est terminée.</p>
+</section>
+
+<section id="output"><title>Codage en sortie</title>
+<p><a href="http://xmlsoft.org/">libxml2</a> utilise toujours UTF-8
+(Unicode) en interne, et les modules de filtrage basés sur libxml2
+utiliseront cet encodage en sortie par défaut. mod_xml2enc peut modifier
+l'encodage en sortie via l'API, mais il n'y a actuellement aucun moyen de le
+configurer directement.</p>
+<p>La modification de l'encodage en sortie ne devrait (du moins en théorie)
+jamais être nécessaire, et est même déconseillée à cause de la charge de
+traitement supplémentaire imposée au serveur par une conversion non
+nécessaire.</p>
+</section>
+
+<section id="alias"><title>Codages non supportés</title>
+<p>Si vous travaillez avec des encodages non supportés par aucune des
+méthodes de conversion disponibles sur votre plateforme, vous pouvez
+tout de même leur associer un alias vers un code supporté via la
+directive <directive>xml2EncAlias</directive>.</p>
+</section>
+
+<directivesynopsis>
+<name>xml2EncDefault</name>
+<description>Définit un encodage par défaut à utiliser lorsqu'aucune
+information ne peut être <a href="#sniffing">automatiquement détectée</a></description>
+<syntax>xml2EncDefault <var>nom</var></syntax>
+<contextlist><context>server config</context>
+<context>virtual host</context><context>directory</context>
+<context>.htaccess</context></contextlist>
+<override>All</override>
+<compatibility>Disponible depuis la version 2.4.0 du serveur HTTP Apache
+; disponible depuis un module tiers dans les versions antérieures.</compatibility>
+
+<usage>
+ <p>Si vous traitez des données dont l'encodage est connu, mais ne
+ contenant aucune information à propos de ce dernier, vous pouvez
+ définir une valeur par défaut afin d'aider mod_xml2enc à traiter
+ correctement les données. Par exemple, pour définir la valeur par
+ défaut Latin1 (<var>iso-8859-1</var> specifiée dans HTTP/1.0),
+ utilisez :</p>
+ <highlight language="config">xml2EncDefault iso-8859-1</highlight>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>xml2EncAlias</name>
+<description>Définit des alias pour les valeurs d'encodage</description>
+<syntax>xml2EncAlias <var>jeu-de-caractères alias [alias ...]</var></syntax>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+ <p>Cette directive de niveau serveur permet de définir un ou
+ plusieurs alias pour un encodage. Elle permet au support d'encodage de
+ libxml2 de traiter en interne des encodages non reconnus par libxml2
+ en utilisant la table de conversion pour un encodage reconnu. Elle
+ permet d'atteindre deux objectifs : supporter des jeux (ou noms) de
+ caractères non reconnus par libxml2 ou iconv, et éviter une
+ conversion pour un encodage lorsque cela n'est pas nécessaire.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>xml2StartParse</name>
+<description>Indique à l'interpréteur à partir de quelle balise il doit
+commencer son traitement.</description>
+<syntax>xml2StartParse <var>élément [élément ...]</var></syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context></contextlist>
+<override>All</override>
+
+<usage>
+ <p>Cette directive permet de spécifier à partir de quelle balise,
+ parmi les éléments spécifiés, l'interpréteur de balise doit
+ commencer son traitement. Ccei permet de contourner le problème des
+ serveurs d'arrière-plan qui insèrent des éléments non conformes en
+ début de données, ce qui a pour effet de perturber l'interpréteur (<a
+ href="http://bahumbug.wordpress.com/2006/10/12/mod_proxy_html-revisited/"
+ >voir un exemple ici</a>).</p>
+ <p>Elle ne doit être utilisée ni pour les documents XML, ni pour les
+ documents HTML correctement formatés.</p>
+</usage>
+</directivesynopsis>
+
+</modulesynopsis>
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1329361 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="index.xml.meta">
+ <parentdocument href="../"/>
+
+ <title>Notes spécifiques aux différentes plateformes.</title>
+
+ <section id="win">
+
+ <title>Microsoft Windows</title>
+
+ <dl>
+ <dt>Utilisation d'Apache</dt>
+ <dd>
+ <p>Ce document explique comment installer, configurer et
+ exécuter Apache 2.4 sous Microsoft Windows.</p>
+
+ <p>Voir : <a href="windows.html">Utilisation d'Apache avec Microsoft Windows</a></p>
+ </dd>
+ </dl>
+
+ <dl>
+ <dt>Compilation d'Apache</dt>
+ <dd>
+ <p>Il y a de nombreux points importants à connaître avant de se
+ lancer dans la compilation d'Apache. Ce document en donne la
+ description.</p>
+
+ <p>Voir : <a href="win_compiling.html"
+ >Compilation d'Apache pour Microsoft Windows</a></p>
+ </dd>
+ </dl>
+
+ </section>
+
+ <section id="unix">
+
+ <title>Systèmes de type Unix</title>
+
+ <dl>
+ <dt>Systèmes à base de paquets RPM (Redhat / CentOS / Fedora)</dt>
+ <dd>
+ <p>Ce document explique comment installer, configurer et
+ exécuter Apache 2.4 sur des systèmes qui supportent le format de
+ paquet RPM.</p>
+
+ <p>Voir : <a href="rpm.html">Utilisation d'Apache avec les
+ systèmes à base de paquets RPM</a></p>
+ </dd>
+ </dl>
+
+ </section>
+
+ <section id="other">
+
+ <title>Autres plateformes</title>
+
+ <dl>
+ <dt>Novell NetWare</dt>
+ <dd>
+ <p>Ce document explique comment installer, configurer et
+ exécuter Apache 2.4 sous Novell NetWare versions 5.1 et
+ supérieures.</p>
+
+ <p>Voir : <a href="netware.html">Utilisation d'Apache avec Novell NetWare</a></p>
+ </dd>
+ </dl>
+
+ </section>
+
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1562300 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="netware.xml.meta">
+ <parentdocument href="./">Notes spécifiques à un système</parentdocument>
+
+ <title>Utilisation d'Apache avec Novell NetWare</title>
+
+ <summary>
+
+ <p>Ce document explique l'installation, la configuration et le
+ lancement d'Apache 2.0 sous Novell NetWare 6.0 et les versions
+ ultérieures. Si vous trouvez une bogue, ou voulez tout simplement
+ contribuer de quelque manière que ce soit, utilisez s'il vous plait
+ notre <a href="http://httpd.apache.org/bug_report.html">page des
+ rapports de bogues.</a></p>
+
+ <p>La page des rapports de bogues et la liste de diffusion dev-httpd
+ ne doivent pas être utilisées pour poser des questions à propos de
+ la configuration ou du lancement d'Apache. Avant de soumettre un
+ rapport de bogue ou une question, consultez ce document, la <a
+ href="http://wiki.apache.org/httpd/FAQ">FAQ</a> ou tout autre sujet de la
+ documentation en rapport avec votre problème. Si vous n'avez
+ toujours pas résolu votre problème, postez votre question dans le
+ newsgroup <a
+ href="news://developer-forums.novell.com/novell.devsup.webserver">
+ novell.devsup.webserver</a>, où de nombreux utilisateurs d'Apache
+ sont prêts à répondre à toutes les nouvelles et obscures questions à
+ propos de l'utilisation d'Apache sous Netware.</p>
+
+ <p>Dans la majeure partie de ce document, vous êtes sensé avoir
+ installé Apache à partir d'une distribution binaire. Si vous voulez
+ compiler Apache vous-même (par exemple pour aider au développement,
+ ou pour rechercher des bogues), reportez-vous à la section traitant
+ de la <a href="#comp">Compilation d'Apache pour Netware</a>
+ ci-dessous.</p>
+
+ </summary>
+
+ <section id="req">
+
+ <title>Prérequis</title>
+
+ <p>Apache 2.0 nécessite NetWare 6.0 service pack 3 et supérieurs
+ pour fonctionner. Si vous utilisez un service pack antérieur à SP3,
+ vous devez installer les dernières <a
+ href="http://developer.novell.com/ndk/libc.htm">Bibliothèques
+ Netware pour C (LibC)</a>.</p>
+
+ <p>Vous trouverez les service packs Netware <a
+ href="http://support.novell.com/misc/patlst.htm#nw">ici</a>.</p>
+
+ <p>Apache 2.0 pour NetWare peut aussi fonctionner dans un
+ environnement NetWare 5.1, à partir du moment où le dernier service
+ pack ou la dernière version des <a
+ href="http://developer.novell.com/ndk/libc.htm">Bibliothèques
+ Netware pour C (LibC)</a> ont été installés. <strong>ATTENTION
+ :</strong> Apache 2.0 pour NetWare n'a pas été testé dans cet
+ environnement car il n'a pas été conçu pour ce dernier.</p>
+
+ </section>
+
+ <section id="down">
+
+ <title>Téléchargement d'Apache pour NetWare</title>
+
+ <p>Les informations à propos de la dernière version
+ d'Apache sont disponibles sur le site web d'Apache à <a
+ href="http://www.apache.org/">http://www.apache.org/</a>. Vous y
+ trouverez la version courante, des versions alpha ou bêta-test plus
+ récentes, ainsi que des sites miroirs et des sites FTP anonymes. Les
+ distributions binaires des dernières versions d'Apache 2.0 pour
+ NetWare sont disponibles <a
+ href="http://www.apache.org/dist/httpd/binaries/netware">ici</a>.</p>
+
+ </section>
+
+ <section id="inst">
+
+ <title>Installation d'Apache pour NetWare</title>
+
+ <p>Il n'existe pas actuellement de programme d'installation d'Apache
+ pour Netware. Si vous installez Apache 2.0 pour NetWare à partir des
+ sources, vous devrez copier les fichiers sur le serveur
+ manuellement.</p>
+
+ <p>Suivez ces instructions pour installer Apache sous Netware à
+ partir de la distribution binaire (en supposant que vous effectuez
+ l'installation dans <code>sys:/apache2</code>) :</p>
+
+ <ul>
+ <li>Décompressez le fichier binaire téléchargé à la racine du
+ volume <code>SYS:</code> (vous pouvez cependant l'installer dans
+ tout volume)</li>
+
+ <li>Editez le fichier <code>httpd.conf</code> et définissez les
+ directives <directive module="core">ServerRoot</directive> et
+ <directive module="core">ServerName</directive> avec les valeurs
+ correctes des chemins de fichiers qui correspondent à la
+ configuration de votre serveur.</li>
+
+ <li>Ajoutez <code>SYS:/APACHE2</code> au chemin de recherche, par
+ une commande du style : <example>SEARCH ADD
+ SYS:\APACHE2</example></li>
+
+ </ul>
+
+ <p>Suivez ces instructions pour installer Apache pour Netware
+ manuellement à partir de votre propre répertoire de sources (en
+ supposant que vous effectuez l'installation dans
+ <code>sys:/apache2</code>) :</p>
+
+ <ul>
+ <li>Créez un répertoire que vous appellerez <code>Apache2</code>
+ dans un volume Netware.</li>
+
+ <li>Copiez <code>APACHE2.NLM</code>, <code>APRLIB.NLM</code> dans
+ <code>SYS:/APACHE2</code>.</li>
+
+ <li>Créez un répertoire que vous appellerez <code>BIN</code> dans
+ <code>SYS:/APACHE2</code>.</li>
+
+ <li>Copiez <code>HTDIGEST.NLM</code>, <code>HTPASSWD.NLM</code>,
+ <code>HTDBM.NLM</code>, <code>LOGRES.NLM</code>,
+ <code>ROTLOGS.NLM</code> dans <code>SYS:/APACHE2/BIN</code>.</li>
+
+ <li>Créez un répertoire que vous appellerez <code>CONF</code> dans
+ <code>SYS:/APACHE2</code>.</li>
+
+ <li>Copiez le fichier <code>HTTPD-STD.CONF</code> dans le
+ répertoire <code>SYS:/APACHE2/CONF</code> et renommez-le en
+ <code>HTTPD.CONF</code>.</li>
+
+ <li>Copiez les fichiers <code>MIME.TYPES</code>,
+ <code>CHARSET.CONV</code> et <code>MAGIC</code> dans le répertoire
+ <code>SYS:/APACHE2/CONF</code>.</li>
+
+ <li>Copiez tous les fichiers et sous-répertoires de
+ <code>\HTTPD-2.0\DOCS\ICONS</code> dans
+ <code>SYS:/APACHE2/ICONS</code>.</li>
+
+ <li>Copiez tous les fichiers et sous-répertoires de
+ <code>\HTTPD-2.0\DOCS\MANUAL</code> dans
+ <code>SYS:/APACHE2/MANUAL</code>.</li>
+
+ <li>Copiez tous les fichiers et sous-répertoires de
+ <code>\HTTPD-2.0\DOCS\ERROR</code> dans
+ <code>SYS:/APACHE2/ERROR</code>.</li>
+
+ <li>Copiez tous les fichiers et sous-répertoires de
+ <code>\HTTPD-2.0\DOCS\DOCROOT</code> dans
+ <code>SYS:/APACHE2/HTDOCS</code>.</li>
+
+ <li>Créez le répertoire <code>SYS:/APACHE2/LOGS</code> sur le
+ serveur.</li>
+
+ <li>Créez le répertoire <code>SYS:/APACHE2/CGI-BIN</code> sur le
+ serveur.</li>
+
+ <li>Créez le répertoire <code>SYS:/APACHE2/MODULES</code> et
+ copiez tous les modules nlm dans le répertoire
+ <code>modules</code>.</li>
+
+ <li>Editez le fichier <code>HTTPD.CONF</code>, et recherchez
+ toutes les marques <code>@@Value@@</code> afin de les remplacer
+ par les valeurs appropriées.</li>
+
+ <li>Ajoutez <code>SYS:/APACHE2</code> au chemin de recherche, par
+ une commande du style : <example>SEARCH ADD
+ SYS:\APACHE2</example>.</li>
+ </ul>
+
+ <p>Outre le volume par défaut <code>SYS</code>, Apache peut être
+ installé dans tout autre volume.</p>
+
+ <p>Au cours du processus d'installation, l'ajout du mot-clé
+ "install" à la ligne de commande du makefile va provoquer la
+ construction d'une distribution complète sous forme d'un paquetage
+ dans le sous-répertoire <code>DIST</code>. Vous pouvez simplement
+ installer Apache en copiant la distribution créée précédemment à la
+ racine d'un volume Netware (voir <a href="#comp">Compilation
+ d'Apache pour NetWare</a> ci-dessous).</p>
+
+ </section>
+
+ <section id="run">
+
+ <title>Exécuter Apache pour NetWare</title>
+
+ <p>Pour démarrer Apache, tapez simplement <code>apache</code> dans
+ la console. Ceci aura pour effet de charger Apache dans l'espace
+ d'adressage du système d'exploitation. Si vous préférez charger
+ Apache dans un espace d'adressage protégé, vous pouvez spécifier cet
+ espace d'adressage à l'aide de l'instruction de chargement suivante
+ :</p>
+
+ <example>
+ load address space = apache2 apache2
+ </example>
+
+ <p>Cette instruction va charger Apache dans un espace d'adressage
+ appelé apache2. Il est possible d'exécuter plusieurs instances
+ simultanées d'Apache sous Netware, en chargeant chacune d'entre
+ elles dans son propre espace d'adressage protégé.</p>
+
+ <p>Une fois démarré, Apache écoute le port 80 (à moins que vous
+ n'ayez modifié la directive <directive
+ module="mpm_common">Listen</directive> dans les fichiers de
+ configuration). Pour vous connecter au serveur et afficher la page
+ par défaut, lancez un navigateur et entrez le nom du serveur ou son
+ adresse IP. Vous devriez voir une page de bienvenue, et un lien vers
+ le manuel Apache. Si rien ne se produit, ou si vous obtenez un
+ message d'erreur, consultez le fichier <code>error_log</code> dans
+ le répertoire <code>logs</code>.</p>
+
+ <p>Lorsque votre installation de base fonctionne, vous devez la
+ configurer correctement en éditant les fichiers du répertoire
+ <code>conf</code>.</p>
+
+ <p>Pour arrêter une instance d'Apache s'exécutant dans l'espace
+ d'adressage du système d'exploitation, entrez simplement dans la
+ console :</p>
+
+ <example>
+ unload apache2
+ </example>
+
+ <p>ou</p>
+
+ <example>
+ apache2 shutdown
+ </example>
+
+ <p>Si Apache s'exécute dans un espace d'adressage protégé, spécifiez
+ cet espace d'adressage dans l'instruction d'arrêt :</p>
+
+ <example>
+ unload address space = apache2 apache2
+ </example>
+
+ <p>Lorsqu'on travaille avec Apache, il est important de savoir
+ comment il trouve ses fichiers de configuration. Vous pouvez
+ spécifier un fichier de configuration sur la ligne de commande de
+ deux manières :</p>
+
+ <ul>
+ <li><code>-f</code> spécifie un chemin vers un fichier de
+ configuration particulier</li>
+ </ul>
+
+ <example>
+ apache2 -f "vol:/nom-serveur/conf/fich-conf.conf"
+ </example>
+
+ <example>
+ apache -f test/test.conf
+ </example>
+
+ <p>Dans ces cas, la directive <directive
+ module="core">ServerRoot</directive> doit être correctement définie
+ dans le fichier de configuration.</p>
+
+ <p>Si vous ne spécifiez pas de nom de fichier de configuration avec
+ l'option <code>-f</code>, Apache utilisera le nom de fichier codé en
+ dur dans le serveur, en général <code>conf/httpd.conf</code>.
+ L'invocation d'Apache avec l'option <code>-V</code> indiquera ce nom
+ comme valeur de l'étiquette <code>SERVER_CONFIG_FILE</code>. Apache
+ va ensuite déterminer son <directive
+ module="core">ServerRoot</directive> en effectuant les tests
+ suivants, dans cet ordre </p>
+
+ <ul>
+ <li>Une directive <code>ServerRoot</code> via une option
+ <code>-C</code> switch.</li>
+
+ <li>L'option de ligne de commande <code>-d</code>.</li>
+
+ <li>Le contenu du répertoire courant.</li>
+
+ <li>La racine du répertoire d'installation codée en dur dans le
+ serveur.</li>
+ </ul>
+
+ <p>La racine du répertoire d'installation codée en dur dans le
+ serveur est en général <code>sys:/apache2</code>. L'invocation
+ d'Apache avec l'option <code>-V</code> indiquera ce chemin comme
+ valeur de l'étiquette <code>HTTPD_ROOT</code>.</p>
+
+ <p>Apache 2.0 pour Netware comporte un jeu d'options de ligne de
+ commande permettant d'afficher ou de modifier certaines
+ caractéristiques de l'instance du serveur web en cours d'exécution.
+ Ces options ne sont disponibles que lorsqu'Apache est en cours
+ d'exécution. Chacune de ces options doit être précédée du mot-clé
+ <code>APACHE2</code>.</p>
+
+ <dl>
+ <dt>RESTART</dt>
+ <dd>Demande à Apache d'arrêter tout worker thread en cours
+ d'exécution lorsqu'il devient inactif, de recharger le fichier de
+ configuration, et de redémarrer chaque worker thread en fonction
+ de la nouvelle configuration.</dd>
+
+ <dt>VERSION</dt>
+ <dd>Affiche des informations à propos de la version de l'instance
+ d'Apache en cours d'exécution.</dd>
+
+ <dt>MODULES</dt>
+ <dd>Affiche la liste des modules chargés (intégrés et
+ externes). </dd>
+
+ <dt>DIRECTIVES</dt>
+ <dd>Affiche la liste des directives disponibles.</dd>
+
+ <dt>SETTINGS</dt>
+ <dd>Active ou désactive l'affichage du statut des threads sur la
+ console. En cas d'activation, l'état de chaque thread en cours
+ d'exécution s'affiche sur l'écran de la console Apache.</dd>
+
+ <dt>SHUTDOWN</dt>
+ <dd>Arrête l'instance du serveur web Apache en cours
+ d'exécution.</dd>
+
+ <dt>HELP</dt>
+ <dd>Décrit chacune des options disponibles au cours de l'exécution
+ d'Apache.</dd>
+ </dl>
+
+ <p>Par défaut, ces options sont passées à l'instance d'apache
+ s'exécutant dans l'espace d'adressage du système d'exploitation.
+ Pour passer une option à une instance d'Apache spécifique
+ s'exécutant dans un espace d'adressage protégé, ajouter le paramètre
+ -p suivi du nom de l'espace d'adressage. Pour plus d'informations,
+ tapez "apache2 Help" sur la ligne de commande.</p>
+
+ </section>
+
+ <section id="use">
+
+ <title>Configuration d'Apache pour NetWare</title>
+
+ <p>Apache lit en général ses fichiers de configuration dans le
+ répertoire <code>conf</code>. Ces fichiers sont les mêmes que ceux
+ de la version Unix, mais quelques directives sont différentes sous
+ Netware. Voir la <a href="../mod/">Documentation Apache</a> pour
+ l'ensemble des directives disponibles.</p>
+
+ <p>Les principales différences propres à Apache pour NetWare sont
+ : </p>
+
+ <ul>
+ <li>
+ <p>Comme Apache pour Netware est une application multithread,
+ elle n'utilise pas de processus séparé pour chaque requête,
+ comme c'est le cas pour certaines implémentations sous Unix. Il
+ n'y a que des threads en cours d'exécution : un thread parent,
+ et plusieurs threads enfants ou worker qui traitent les
+ requêtes.</p>
+
+ <p>En conséquence, les directives de gestion des "processus"
+ sont différentes :</p>
+
+ <p><directive
+ module="mpm_common">MaxConnectionsPerChild</directive> - comme sous
+ Unix, cette directive contrôle le nombre maximum de connexions
+ qu'un worker thread peut traiter avant de s'arrêter. Avec la
+ valeur par défaut <code>MaxConnectionsPerChild 0</code>,
+ le thread va pouvoir traiter un nombre illimité de requêtes.
+ Cette valeur est recommandée sous Netware, à moins que vous
+ n'ayez des raisons particulières de la modifier.</p>
+
+ <p><directive module="mpm_common">StartThreads</directive> -
+ Cette directive indique au serveur le nombre de threads qu'il
+ doit lancer au démarrage. Il est recommandé de conserver la
+ valeur par défaut <code>StartThreads 50</code>.</p>
+
+ <p><directive module="mpm_common">MinSpareThreads</directive> -
+ Cette directive indique au serveur le nombre de worker threads
+ additionnels qu'il doit lancer si le nombre de threads inactifs
+ tombe en dessous de cette valeur. Il est recommandé de conserver la
+ valeur par défaut <code>MinSpareThreads 10</code>.</p>
+
+ <p><directive module="mpm_common">MaxSpareThreads</directive> -
+ Cette directive indique au serveur qu'il doit commencer à
+ arrêter des worker threads si le nombre de threads inactifs
+ passe au dessus de cette valeur. Il est recommandé de conserver
+ la valeur par défaut <code>MaxSpareThreads 100</code>.</p>
+
+ <p><directive module="mpm_netware">MaxThreads</directive> -
+ Cette directive impose un nombre maximum de worker threads. Il
+ est recommandé de conserver la valeur par défaut
+ <code>ThreadsPerChild 250</code>.</p>
+
+ <p><directive module="mpm_common">ThreadStackSize</directive> -
+ Cette directive indique au serveur la taille de la pile à
+ utiliser pour un worker thread individuel. Il est recommandé de
+ conserver la valeur par défaut <code>ThreadStackSize
+ 65536</code>.</p>
+ </li>
+
+ <li>
+ <p>Les directives qui acceptent des noms de fichiers comme
+ arguments ne doivent pas utiliser des noms de fichiers Unix,
+ mais des noms de fichiers Netware. Cependant, comme Apache
+ utilise des noms de style Unix en interne, on doit utiliser des
+ slashes et non des antislashes. Il est recommandé de préfixer
+ tous les chemins de fichiers racines par un nom de volume. Si ce
+ dernier est omis, Apache supposera que le volume est
+ <code>SYS:</code>, ce qui n'est pas forcément correct.</p>
+ </li>
+
+ <li>
+ <p>Apache pour Netware a la possibilité de charger des modules
+ en cours d'exécution, sans avoir à recompiler le serveur. Si
+ Apache est compilé avec les options par défaut, il va installer
+ de nombreux modules optionnels dans le répertoire
+ <code>\Apache2\modules</code>. Pour les activer, ou en activer
+ d'autres, on doit utiliser la directive <directive
+ module="mod_so">LoadModule</directive>. Par exemple, pour
+ activer le module status, ajoutez la ligne suivante :</p>
+
+ <example>
+ LoadModule status_module modules/status.nlm
+ </example>
+
+ <p>Des informations à propos de la <a
+ href="../mod/mod_so.html#creating">création de modules
+ chargeables</a> sont aussi disponibles.</p>
+ </li>
+ </ul>
+
+ <section id="use-add">
+
+ <title>Autres directives spécifiques à Netware :</title>
+
+ <ul>
+ <li><directive module="core">CGIMapExtension</directive> -
+ Cette directive associe une extension de fichier CGI à un
+ interpréteur de script.</li>
+ </ul>
+ <ul>
+ <li><directive module="mod_nw_ssl">SecureListen</directive> -
+ Cette directive active le chiffrement SSL pour un port
+ spécifique.</li>
+ </ul>
+ <ul>
+ <li><directive module="mod_nw_ssl">NWSSLTrustedCerts</directive> -
+ Cette directive permet d'ajouter des certificats de confiance
+ pouvant être utilisés pour créer des connexions sécurisées vers
+ des serveurs mandataires.</li>
+ </ul>
+ <ul>
+ <li><directive module="mod_nw_ssl">NWSSLUpgradeable</directive> -
+ Cette directive permet de faire passer en SSL une connexion
+ initialisée sur les adresse IP et Port spécifiés.</li>
+ </ul>
+
+ </section>
+
+ </section>
+
+ <section id="comp">
+
+ <title>Compilation d'Apache pour NetWare</title>
+
+ <p>La compilation d'Apache nécessite MetroWerks CodeWarrior 6.x ou
+ supérieur. Une fois compilé, Apache peut être installé à la racine
+ de tout volume Netware. Le répertoire d'installation par défaut est
+ <code>sys:/Apache2</code>.</p>
+
+ <p>Avant de démarrer Apache, vous devez remplir le répertoire
+ <code>conf</code>. Copiez le fichier <code>HTTPD-STD.CONF</code>
+ depuis le répertoire <code>conf</code> de la distribution et
+ renommez-le en <code>HTTPD.CONF</code>. Editez le fichier
+ <code>HTTPD.CONF</code> en recherchant les repères
+ <code>@@Value@@</code>, et remplacez ces derniers par la valeur
+ appropriée. Copiez de même les fichiers <code>conf/magic</code> et
+ <code>conf/mime.types</code>. Vous pouvez aussi construire une
+ distribution complète en ajoutant le mot-clé <code>install</code>
+ lors de l'invocation des makefiles.</p>
+
+ <section id="comp-req">
+
+ <title>Prérequis :</title>
+
+ <p>Les outils de développement suivants sont nécessaires pour la
+ compilation d'Apache pour Netware :</p>
+
+ <ul>
+ <li>Metrowerks CodeWarrior 6.0 ou supérieur avec le <a
+ href="http://developer.novell.com/ndk/cwpdk.htm">NetWare PDK
+ 3.0</a> ou supérieur.</li>
+
+ <li>Les <a
+ href="http://developer.novell.com/ndk/libc.htm">Bibliothèques
+ Netware pour C (LibC)</a></li>
+
+ <li>Les <a
+ href="http://developer.novell.com/ndk/cldap.htm">Bibliothèques
+ LDAP pour C</a></li>
+
+ <li>Le <a href="http://www.gzip.org/zlib/">Code source de la
+ bibliothèque de compression ZLIB</a></li>
+
+ <li>L'utilitaire AWK (awk, gawk ou similaire). AWK peut être
+ téléchargé à <a
+ href="http://developer.novell.com/ndk/apache.htm"
+ >http://developer.novell.com/ndk/apache.htm</a>.
+ L'utilitaire doit se trouver dans votre chemin windows et avoir
+ pour nom <code>awk.exe</code>.</li>
+
+ <li>Pour utiliser les makefiles, vous devez disposer de GNU make
+ version 3.78.1 (GMake) disponible à <a
+ href="http://developer.novell.com/ndk/apache.htm"
+ >http://developer.novell.com/ndk/apache.htm</a>.</li>
+ </ul>
+
+ </section>
+
+ <section id="comp-make">
+
+ <title>Compiler Apache en utilisant les makefiles Netware
+ :</title>
+
+ <ul>
+ <li>Définissez la variable d'environnement
+ <code>NOVELLLIBC</code> avec le chemin des bibliothèques Netware
+ pour C SDK ; par exemple : <example>Set
+ NOVELLLIBC=c:\novell\ndk\libc</example></li>
+
+ <li>Définissez la variable d'environnement
+ <code>METROWERKS</code> avec le chemin de votre compilateur
+ Metrowerks CodeWarrior ; par exemple : <example>Set
+ METROWERKS=C:\Program Files\Metrowerks\CodeWarrior</example>. Si
+ vous l'avez installé dans le répertoire par défaut
+ <code>C:\Program Files\Metrowerks\CodeWarrior</code>, vous
+ n'avez pas besoin de définir cette variable.</li>
+
+ <li>Définissez la variable d'environnement <code>LDAPSDK</code>
+ avec le chemin des bibliothèques LDAP pour C ; par exemple :
+ <example>Set
+ LDAPSDK=c:\Novell\NDK\cldapsdk\NetWare\libc</example></li>
+
+ <li>Définissez la variable d'environnement <code>ZLIBSDK</code>
+ avec le chemin du code source de la bibliothèque Zlib ; par
+ exemple : <example>Set ZLIBSDK=D:\NOVELL\zlib</example></li>
+
+ <li>Définissez la variable d'environnement <code>PCRESDK</code>
+ avec le chemin d'installation du code source de la bibliothèque
+ PCRE ; par exemple :
+ <example>Set PCRESDK=D:\NOVELL\pcre</example>
+ </li>
+
+ <li>Définissez la variable d'environnement <code>AP_WORK</code>
+ avec le chemin du code source de <code>httpd</code>.
+ <example>Set AP_WORK=D:\httpd-2.0.x</example></li>
+
+ <li>Définissez la variable d'environnement <code>APR_WORK</code>
+ avec le chemin du code source d'<code>apr</code> ; en général
+ <code>\httpd\srclib\apr</code>, mais le projet APR peut se
+ trouver en dehors de la structure des répertoires de httpd.
+ <example>Set APR_WORK=D:\apr-1.x.x</example></li>
+
+ <li>Définissez la variable d'environnement <code>APU_WORK</code>
+ avec le chemin du code source d'<code>apr-util</code> ; en
+ général <code>\httpd\srclib\apr-util</code>, mais le projet
+ APR-UTIL peut se trouver en dehors de la structure des
+ répertoires de httpd. <example>Set
+ APU_WORK=D:\apr-util-1.x.x</example></li>
+
+ <li>Vérifiez que les chemins des utilitaires AWK et GNU make
+ (<code>gmake.exe</code>) ont bien été inclus dans la variable
+ d'environnement système <code>PATH</code>.</li>
+
+ <li>Téléchargez le code source et décompressez-le dans un
+ répertoire de votre choix sur votre station de travail.</li>
+
+ <li>Positionnez-vous dans le répertoire <code>\httpd-2.0</code>
+ et compilez les utilitaires précompilés à l'aide de la commande
+ "<code>gmake -f nwgnumakefile prebuild</code>". Cette cible va
+ créer le répertoire <code>\httpd-2.0\nwprebuild</code>, et y
+ copier tous les utilitaires nécessaires au franchissement des
+ étapes suivantes de la compilation.</li>
+
+ <li>Copiez les fichiers
+ <code>\httpd-2.0\nwprebuild\GENCHARS.nlm</code> et
+ <code>\httpd-2.0\nwprebuild\DFTABLES.nlm</code> vers le volume
+ <code>SYS:</code> d'un serveur Netware et exécutez-les à l'aide
+ des commandes suivantes :
+ <example>
+ SYS:\genchars > sys:\test_char.h<br />
+ SYS:\dftables sys:\chartables.c<br />
+ </example>
+ </li>
+
+ <li>Copiez les fichiers <code>test_char.h</code> et
+ <code>chartables.c</code> vers le répertoire
+ <code>\httpd-2.0\os\netware</code> de la machine où s'effectue
+ la compilation.</li>
+
+ <li>Positionnez-vous dans le répertoire <code>\httpd-2.0</code>
+ et compilez Apache à l'aide de la commande "<code>gmake -f
+ nwgnumakefile</code>". Vous pouvez créer un répertoire pour la
+ distribution en ajoutant le paramètre install à la commande ;
+ par exemple :
+ <example>gmake -f nwgnumakefile install</example>
+ </li>
+ </ul>
+
+ </section>
+
+ <section id="comp-add">
+
+ <title>Options de make supplémentaires</title>
+
+ <ul>
+ <li><code>gmake -f nwgnumakefile</code><p>Compile les versions
+ de distribution de tous les binaires et les copie dans un
+ répertoire <code>\release</code>.</p></li>
+
+ <li><code>gmake -f nwgnumakefile DEBUG=1</code><p>Compile les versions
+ de débogage de tous les binaires et les copie dans un
+ répertoire <code>\debug</code>.</p></li>
+
+ <li><code>gmake -f nwgnumakefile install</code><p>Crée une
+ distribution complète d'Apache avec les binaires, la
+ documentation et les fichiers support dans un répertoire
+ <code>\dist\Apache2</code>.</p></li>
+
+ <li><code>gmake -f nwgnumakefile prebuild</code><p>Compile tous
+ les utilitaires précompilés et les copie dans le répertoire
+ <code>\nwprebuild</code>.</p></li>
+
+ <li><code>gmake -f nwgnumakefile installdev</code><p>Même effet
+ que l'option install, mais en plus, les répertoires
+ <code>\lib</code> et <code>\include</code> sont créés dans le
+ répertoire de destination, et les en-têtes et fichiers d'import
+ y sont copiés.</p></li>
+
+ <li><code>gmake -f nwgnumakefile clean</code><p>Supprime tous
+ les fichiers objets et les binaires de la zone de compilation
+ <code>\release.o</code>, ou <code>\debug.o</code> si
+ <code>DEBUG</code> a été défini.</p></li>
+
+ <li><code>gmake -f nwgnumakefile clobber_all</code><p>Même effet
+ que clean, mais en plus, le répertoire de la distribution est
+ supprimé s'il existe.</p></li>
+ </ul>
+
+ </section>
+
+ <section id="comp-add-env">
+
+ <title>Variables d'environnement supplémentaires</title>
+
+ <ul>
+ <li>Pour compiler tous les modules expérimentaux, définissez la
+ variable d'environnement <code>EXPERIMENTAL</code> :
+ <example>Set EXPERIMENTAL=1</example>
+ </li>
+
+ <li>Pour compiler Apache en utilisant les sockets de style BSD
+ standard, plutôt que Winsock, définissez la variable
+ d'environnement <code>USE_STDSOCKETS</code> :
+ <example>Set USE_STDSOCKETS=1</example>
+ </li>
+
+ </ul>
+
+ </section>
+
+ <section id="comp-mod_ssl">
+
+ <title>Compilation de mod_ssl pour la plate-forme Netware</title>
+
+ <p>Pour fournir les services SSL, Apache pour Netware utilise par
+ défaut le module intégré <module>mod_nw_ssl</module>. Ce module ne
+ fournit que les services SSL implémentés par le système
+ d'exploitation Netware lui-même pour gérer tous les chiffrements
+ pour un port donné. Cependant, on peut aussi utiliser mod_ssl de
+ la même manière que sur les autres plate-formes.</p>
+
+ <p>Afin de pouvoir compiler mod_ssl pour la plate-forme Netware,
+ les bibliothèques OpenSSL doivent être disponibles. Elles peuvent
+ être installées de la manière suivante :</p>
+
+ <ul>
+ <li>Téléchargez la dernière distribution du code source
+ d'OpenSSL 0.9.8 depuis la page <a
+ href="http://www.openssl.org/source/">OpenSSL Source</a> (les
+ versions 0.9.7 doivent être patchées, et ne sont donc pas
+ recommandées).</li>
+
+ <li>Editez le fichier <code>NetWare/set_env.bat</code>, et
+ effectuez toutes modifications nécessaires des chemins des
+ outils et utilitaires en fonction de votre environnement de
+ développement.</li>
+
+ <li>Exécutez les scripts suivants depuis la racine du
+ répertoire des sources d'OpenSSL :
+ <example>
+ Netware\set_env netware-libc<br />
+ Netware\build netware-libc
+ </example>
+ Pour des raisons de performances, vous devez activer la
+ compilation avec le code ASM. Télécharger NASM depuis le <a
+ href="http://nasm.sourceforge.net/">site SF</a>. Configurez
+ ensuite OpenSSL pour utiliser le code ASM :
+ <example>
+ Netware\build netware-libc nw-nasm enable-mdc2 enable-md5
+ </example>
+ Attention : n'utilisez pas l'Assembleur CodeWarrior - il
+ produit un code de mauvaise qualité !</li>
+
+ <li>Avant de compiler Apache, définissez la variable
+ d'environnement <code>OSSLSDK</code> avec le chemin absolu de
+ la racine du répertoire du code source d'openssl, et
+ définissez WITH_MOD_SSL à 1.
+ <example>
+ Set OSSLSDK=d:\openssl-0.9.8x<br />
+ Set WITH_MOD_SSL=1
+ </example></li>
+
+ </ul>
+
+ </section>
+
+ </section>
+
+</manualpage>
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 805049 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="perf-hp.xml.meta">
+ <parentdocument href="./">Notes spécifiques aux
+ plates-formes</parentdocument>
+
+ <title>Mise en oeuvre d'un serveur Web hautes performances sous
+ HPUX</title>
+
+ <summary>
+
+<pre>
+Date: Wed, 05 Nov 1997 16:59:34 -0800
+From: Rick Jones <<a
+href="mailto:raj@cup.hp.com">raj@cup.hp.com</a>>
+Reply-To: <a href="mailto:raj@cup.hp.com"
+>raj@cup.hp.com</a>
+Organization: Network Performance
+Subject: HP-UX tuning tips
+</pre>
+
+ <p>Traduction du corps du message cité ci-dessus :</p>
+
+ <p>Voici quelques conseils de personnalisation pour HPUX à ajouter à
+ la page de personnalisation.</p>
+
+ <p>Pour HP-UX 9.X: mettre à jour vers la version 10.20<br />
+ Pour HP-UX 10.[00|01|10]: mettre à jour vers la version 10.20</p>
+
+ <p>Pour HP-UX 10.20:</p>
+
+ <p>Installez le dernier patch cumulatif à propos du transport ARPA.
+ Ceci va vous permettre de configurer la taille de la table de
+ hashage de recherche de connexion TCP. La valeur par défaut est 256
+ conteneurs et doit être une puissance de deux. À cet effet, utilisez
+ adb pour modifier l'image *disque* du noyau. Le nom de la variable
+ est <code>tcp_hash_size</code>. Notez qu'il est impératif d'utiliser
+ "<code>W</code>" pour spécifier une quantité sur 32 bits, et non
+ "<code>w</code>" qui indique une valeur sur 16 bits, lors de la
+ modification de l'image disque car la variable
+ <code>tcp_hash_size</code> est une quantité sur 32 bits.</p>
+
+ <p>Comment déterminer cette valeur ? Examinez la sortie de <a
+ href="ftp://ftp.cup.hp.com/dist/networking/tools/connhist"
+ >ftp://ftp.cup.hp.com/dist/networking/tools/connhist</a>, et
+ comptez le nombre total de connexions TCP existant sur le système.
+ Il est en général souhaitable que ce nombre divisé par la taille de
+ la table de hashage soit raisonnablement petit, disons inférieur à
+ 10. Les administrateurs peuvent consulter le document SPECweb96 de
+ HP pour quelques réglages courants. On peut les trouver à <a
+ href="http://www.specbench.org/">http://www.specbench.org/</a>. Si
+ un système HP-UX traite 1000 connexions SPECweb96 par seconde, une
+ valeur de temps <code>TIME_WAIT</code> de 60 secondes permettrait le
+ suivi de 60000 connexions TCP.</p>
+
+ <p>Les administrateurs peuvent tester la profondeur de leur file
+ d'attente d'écoute avec <a
+ href="ftp://ftp.cup.hp.com/dist/networking/misc/listenq"
+ >ftp://ftp.cup.hp.com/dist/networking/misc/listenq</a>.</p>
+
+ <p>Si Apache s'exécute sur un système à base de PA-8000, il est
+ conseillé de modifier l'exécutable Apache avec la commande chatr
+ afin d'utiliser une page de grande taille. La commande sera du style
+ "<code>chatr +pi L <BINARY></code>". Le GID de l'exécutable en
+ cours de fonctionnement doit posséder le privilège
+ <code>MLOCK</code>. Pour assigner ce privilège <code>MLOCK</code>,
+ consultez <code>Setprivgrp(1m)</code>. La modification peut être
+ validée en exécutant Glance et en examinant les portions de mémoire
+ du/des serveur(s) afin de s'assurer qu'elles montrent une fraction
+ non triviale du segment de texte verrouillé.</p>
+
+ <p>Si Apache s'exécute sur un système MP (multi-processeurs), il est
+ conseillé d'écrire un petit programme qui utilise
+ <code>mpctl()</code> et permettant d'associer les processus aux
+ processeurs. Un simple algorithme <code>pid % numcpu</code> suffira
+ probablement. Cette modification peut aussi être ajoutée dans le
+ code source.</p>
+
+ <p>Si l'administrateur s'intéresse au nombre de connexions
+ <code>FIN_WAIT_2</code>, il peut utiliser nettune pour diminuer la
+ valeur de <code>tcp_keepstart</code>. Il devra cependant être
+ prudent - surtout ne pas diminuer cette valeur en dessous de, disons
+ deux à quatre minutes. Si <code>tcp_hash_size</code> a été défini,
+ il est probablement approprié de laisser les connexions
+ <code>FIN_WAIT_2</code> prendre plus de temps à expirer (peut-être
+ même la valeur par défaut de deux heures) - elles n'auront en
+ général pas un grand impact sur les performances.</p>
+
+ <p>On peut ajouter d'autres choses au code de base, mais elles
+ feront peut-être l'objet d'un autre email. N'hésitez pas à m'envoyer
+ un message si vous êtes intéressé.</p>
+
+ <p>sincèrement ,</p>
+
+ <p>rick jones</p>
+
+ <p><a href="http://www.netperf.org/netperf/"
+ >http://www.netperf.org/netperf/</a></p>
+
+ </summary>
+
+</manualpage>
+
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1673947 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="rpm.xml.meta">
+ <parentdocument href="./">Notes spécifiques aux différentes
+ plateformes</parentdocument>
+
+ <title>Utiliser Apache sur les systèmes à base de paquets RPM (Redhat
+ / CentOS / Fedora)</title>
+
+ <summary>
+
+ <p>Alors que de nombreuses distributions mettent à disposition des
+ paquets Apache httpd supportés par le système d'exploitation
+ sous-jacent, il peut s'avérer nécessaire d'installer et d'utiliser
+ la version de base d'Apache httpd en remplacement de la version des
+ paquets.</p>
+
+ <p>Bien que le projet Apache httpd ne crée pas actuellement de
+ paquets RPM pour les différentes distributions, il est aisé de
+ construire votre propre paquet RPM à partir du tarball de base
+ d'Apache httpd.</p>
+
+ <p>Ce document explique comment construire, installer, configurer et
+ exécuter Apache httpd 2.4 sur les systèmes Unix à base de paquets
+ RPM.</p>
+
+ </summary>
+
+ <section id="creating">
+ <title>Création d'un paquet RPM source</title>
+
+ <p>Le tarball d'Apache httpd peut être converti en paquet SRPM de la
+ manière suivante :</p>
+
+ <example>
+ rpmbuild -ts httpd-2.4.x.tar.bz2
+ </example>
+
+ </section>
+
+ <section id="building">
+ <title>Création d'un paquet RPM</title>
+
+ <p>Le tarball d'Apache httpd peut être converti en paquet RPM de la
+ manière suivante :</p>
+
+ <example>
+ rpmbuild -tb httpd-2.4.x.tar.bz2
+ </example>
+
+ <p>Il sera nécessaire d'installer les paquets "-devel"
+ correspondants avant de construire les RPMs ; à cet effet, la
+ commande <code>rpmbuild</code> détecte automatiquement les RPMs
+ requis et en donne la liste sous forme de dépendances manquantes sur
+ votre système. Ces paquets "-devel" ne seront d'ailleurs plus
+ nécessaires une fois la création des RPMs terminée, et pourront
+ alors être supprimés sans risque.</p>
+
+ <p>Si tout va bien, les RPMs suivants seront créés :</p>
+
+ <dl>
+ <dt>httpd-2.4.x-1.i686.rpm</dt>
+ <dd>Le serveur de base et le jeu de modules standards.</dd>
+
+ <dt>httpd-debuginfo-2.4.x-1.i686.rpm</dt>
+ <dd>Les symboles de débogage pour le serveur et tous les modules.</dd>
+
+ <dt>httpd-devel-2.4.x-1.i686.rpm</dt>
+ <dd>Les en-têtes et fichiers de développement pour le serveur.</dd>
+
+ <dt>httpd-manual-2.4.x-1.i686.rpm</dt>
+ <dd>Le manuel du serveur web.</dd>
+
+ <dt>httpd-tools-2.4.x-1.i686.rpm</dt>
+ <dd>Les utilitaires du serveur web.</dd>
+
+ <dt>mod_authnz_ldap-2.4.x-1.i686.rpm</dt>
+ <dd>Les modules <module>mod_ldap</module> et
+ <module>mod_authnz_ldap</module> avec les dépendances
+ correspondantes sur openldap.</dd>
+
+ <dt>mod_lua-2.4.x-1.i686.rpm</dt>
+ <dd>Le module <module>mod_lua</module> avec les dépendances
+ correspondantes sur lua.</dd>
+
+ <dt>mod_proxy_html-2.4.x-1.i686.rpm</dt>
+ <dd>Le module <module>mod_proxy_html</module> avec les
+ dépendances correspondantes sur libxml2.</dd>
+
+ <dt>mod_socache_dc-2.4.x-1.i686.rpm</dt>
+ <dd>Le module <module>mod_socache_dc</module> avec les
+ dépendances correspondantes sur distcache.</dd>
+
+ <dt>mod_ssl-2.4.x-1.i686.rpm</dt>
+ <dd>Le module <module>mod_ssl</module> avec les
+ dépendances correspondantes sur openssl.</dd>
+
+ </dl>
+
+ </section>
+
+ <section id="installing">
+ <title>Installation du serveur</title>
+
+ <p>Le RPM <code>httpd</code> est le seul paquet nécessaire pour
+ obtenir un serveur de base fonctionnel. Vous pouvez l'installer
+ comme suit :</p>
+
+ <example>
+ rpm -U httpd-2.4.x-1.i686.rpm
+ </example>
+
+ <p>Le jeu de modules standards est inclus dans le serveur. Les
+ modules qui dépendent de bibliothèques externes sont fournis en tant
+ que paquets RPM séparés et doivent être installés si nécessaire.</p>
+
+ </section>
+
+ <section id="default">
+ <title>Configuration de l'instance par défaut d'Apache httpd</title>
+
+ <p>Les répertoires par défaut sont
+ <code>/etc/httpd</code> pour la configuration du serveur, et
+ <code>/var/log/httpd</code> pour la journalisation. L'environnement
+ par défaut du serveur web est défini dans le répertoire optionnel
+ <code>/etc/sysconfig/httpd</code>.</p>
+
+ <p>Démarrez le serveur comme suit :</p>
+
+ <example>
+ service httpd restart
+ </example>
+
+ </section>
+
+ <section id="additional">
+ <title>Configuration d'instances d'Apache httpd supplémentaires sur
+ la même machine</title>
+
+ <p>Il est possible d'exécuter simultanément plusieurs instances du
+ serveur Apache httpd sur la même machine. Chaque instance peut
+ posséder sa propre configuration et en fonction de cette dernière,
+ s'exécuter sous un utilisateur différent.</p>
+
+ <p>Pour parvenir à ce résultat, on a fait en sorte que le script de
+ démarrage de httpd ait connaissance de son propre nom. Ce nom est
+ par la suite utilisé pour trouver le fichier d'environnement associé
+ au serveur, et par conséquent, la racine de l'instance du serveur
+ considéré.</p>
+
+ <p>Pour créer une instance supplémentaire appelée
+ <code>httpd-additional</code>, suivez ces étapes :</p>
+
+ <ul>
+ <li>Créez un lien symbolique vers le script de démarrage pour
+ l'instance supplémentaire :
+
+ <example>
+ ln -s /etc/rc.d/init.d/httpd /etc/rc.d/init.d/httpd-additional<br />
+ chkconfig --add httpd-additional
+ </example>
+
+ </li>
+
+ <li>Créez un fichier d'environnement pour l'instance
+ supplémentaire, en utilisant le fichier
+ <code>/etc/sysconfig/httpd</code> comme modèle :
+
+ <example>
+ # création du fichier d'environnement à partir du modèle httpd<br />
+ cp /etc/sysconfig/httpd /etc/sysconfig/httpd-additional
+ </example>
+
+ <example>
+ # création du fichier d'environnement à partir de zéro<br />
+ touch /etc/sysconfig/httpd-additional
+ </example>
+
+ Editez le fichier <code>/etc/sysconfig/httpd-additional</code> et
+ définissez la racine de la nouvelle instance du serveur via la
+ variable d'environnement <code>OPTIONS</code>.
+
+ <example>
+ OPTIONS="-d /etc/httpd-additional -f conf/httpd-additional.conf"
+ </example>
+
+ </li>
+
+ <li>Editez le fichier de configuration du serveur supplémentaire
+ <code>/etc/httpd-additional/conf/httpd-additional.conf</code> et
+ assurez-vous que les ports et chemins sont correctement définis.
+ </li>
+
+ <li>Démarrez le serveur supplémentaire comme suit :
+
+ <example>
+ service httpd-additional restart
+ </example>
+
+ </li>
+
+ <li>Répétez ces opérations pour chaque instance supplémentaire
+ souhaitée.</li>
+ </ul>
+
+ </section>
+
+</manualpage>
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision: 1673947 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="win_compiling.xml.meta">
+ <parentdocument href="./">Notes spécifiques à certaines
+ plates-formes</parentdocument>
+
+ <title>Compiler Apache pour Microsoft Windows</title>
+
+ <summary>
+
+ <p>Il y a de nombreux points importants à connaître avant de
+ compiler Le serveur HTTP Apache pour Microsoft Windows. Avant de commencer, lisez le
+ document <a href="windows.html">Utiliser le serveur HTTP Apache avec Microsoft
+ Windows</a>.</p>
+
+ <p>httpd peut être compilé sous Windows en utilisant une chaîne de
+ compilation basée sur cmake, ou à partir de fichiers projet Visual
+ Studio maintenus par les développeurs de httpd. La chaîne de
+ compilation basée sur cmake supporte directement davantage de
+ versions de Visual Studio, mais possède actuellement des
+ fonctionnalités très limitées.</p>
+
+ </summary>
+
+ <section id="requirements">
+
+ <title>Prérequis</title>
+
+ <p>Pour compiler Apache, l'environnement doit satisfaire aux
+ conditions suivantes :</p>
+
+ <ul>
+ <li>
+ <p>Espace disque</p>
+
+ <p>Assurez-vous de disposer d'un minimum de 200 Mo d'espace
+ disque disponible. Après l'installation, Apache occupe environ
+ 80 Mo d'espace disque, plus l'espace réservé aux journaux et au
+ cache, la taille de ces derniers pouvant augmenter rapidement.
+ Les besoins réels en espace disque dépendent étroitement de la
+ configuration choisie et des bibliothèques ou modules tiers
+ installés, en particulier lorsqu'OpenSSL est mis en oeuvre.
+ Comme de nombreux fichiers sont au format texte et donc
+ facilement compressibles, l'utilisation de la compression du
+ système de fichiers NTFS divise ces besoins par deux.</p>
+ </li>
+
+ <li>
+ <p>Correctifs requis</p>
+
+ <p>Le binaire httpd est compilé à l'aide de nombreux correctifs
+ appliqués aux paquets tiers, ce qui permet de s'assurer que le
+ code fourni est bien compilable et déboguable. Ces correctifs
+ sont disponibles à <a
+ href="http://www.apache.org/dist/httpd/binaries/win32/patches_applied/"
+ >http://www.apache.org/dist/httpd/binaries/win32/patches_applied/</a>,
+ et il est recommandé de les appliquer afin d'obtenir un
+ résultat identique aux binaires "officiels" distribués par
+ l'ASF.</p>
+ </li>
+
+ <li>
+ <p>Microsoft Visual C++ 6.0 (Visual Studio 97) ou supérieur.</p>
+
+ <p>Apache peut être compilé en utilisant l'outil ligne de
+ commande, ou depuis l'espace de travail IDE Visual Studio. Pour
+ la compilation depuis la ligne de commandes, l'environnement
+ doit comporter les variables the <code>PATH</code>,
+ <code>INCLUDE</code>, <code>LIB</code>, ainsi que d'autres
+ variables qui peuvent être définies via le script
+ <code>vcvars32.bat</code> :</p>
+
+ <note>Vous pouvez vous procurer le paquet du Processeur Visual
+ Studio pour votre ancienne version de Visual Studio, ou une
+ version complète (et non Express) d'une édition plus récente de
+ Visual Studio pour l'assembleur ml.exe. Ceci vous permettra, si
+ vous le souhaitez, de compiler OpenSSL en utilisant une
+ implémentation du code d'assemblage plus efficace.</note>
+
+ <note>Seule la chaîne d'outils de compilation de Microsoft est
+ supportée de manière suivie par les contributeurs actifs à httpd.
+ Bien que le projet accepte régulièrement des correctifs pour
+ s'assurer que MinGW et d'autre outils de compilation
+ fonctionnent, ou même pour les améliorer, ils ne sont pas
+ maintenus de manière suivie et sont même souvent hors d'état
+ de fonctionner à certains stades du développement normal.</note>
+ </li>
+
+ <li>
+ <p>Le SDK de la plate-forme Windows mis à jour, février 2003 ou
+ plus récent.</p>
+
+ <p>Un SDK approprié pour la plate-forme Windows est inclus par
+ défaut dans les versions complètes (et non Express/lite) de
+ Visual C++ 7.1 (Visual Studio 2002) et supérieures ; les
+ utilisateurs peuvent ignorer ces étapes, à moins qu'ils aient
+ choisi d'utiliser une version plus récente ou différente du SDK.</p>
+
+ <p>Pour pouvoir utiliser Visual C++ 6.0 or 7.0 (Studio 2000
+ .NET), l'environnement du SDK de la plate-forme doit être préparé en utilisant le
+ script <code>setenv.bat</code> (installé par le SDK de la plate-forme) avant de
+ lancer la compilation en ligne de commande ou l'interface GUI
+ msdev/devenv. L'installation du SDK de la plate-forme pour les
+ versions Express de Visual Studio (2003 et supérieures) devrait
+ ajuster l'environnement par défaut de manière appropriée.</p>
+
+ <example>
+ "c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32"<br />
+ "c:\Program Files\Platform SDK\setenv.bat"
+ </example>
+
+
+ </li>
+
+ <li>
+ <p>Perl et awk</p>
+
+ <p>De nombreuses étapes recommandées ici nécessitent un
+ interpréteur perl durant le processus de préparation de la
+ compilation.</p>
+
+ <p>Pour installer Apache à partir du système de compilation, de
+ nombreux fichiers sont modifiés via l'utilitaire
+ <code>awk.exe</code>. awk effectue la modification des fichiers
+ au moment de l'installation ; il a été choisi car il nécessite
+ un téléchargement de petite taille (par rapport à Perl ou
+ WSH/VB). Le site de Brian Kernighan <a
+ href="http://www.cs.princeton.edu/~bwk/btl.mirror/"
+ >http://www.cs.princeton.edu/~bwk/btl.mirror/</a> propose un
+ binaire précompilé pour Win32, <a
+ href="http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe"
+ >http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe</a>, que
+ vous devez enregistrer sous le nom <code>awk.exe</code> (plutôt
+ que <code>awk95.exe</code>).</p>
+
+ <note>Si awk.exe n'est pas trouvé, la cible install du fichier
+ Makefile.win n'effectuera aucune substitution dans les fichiers
+ .conf installés. Vous devez modifier manuellement les fichiers
+ .conf installés afin de permettre au serveur de démarrer.
+ Recherchez et remplacez toutes les balises "@token@" par une
+ valeur appropriée.</note>
+
+ <note>L'IDE Visual Studio ne trouvera le chemin de
+ <code>awk.exe</code> que dans la variable PATH, ou dans le
+ chemin des exécutables spécifié par l'option de menu Tools ->
+ Options -> (Projects ->) Directories. Assurez-vous
+ qu'awk.exe est bien dans votre chemin système.</note>
+
+ <note>Notez aussi, si vous utilisez les outils Cygwin (<a
+ href="http://www.cygwin.com/">http://www.cygwin.com/</a>), que
+ l'utilitaire awk de nomme <code>gawk.exe</code> et que le
+ fichier <code>awk.exe</code> est en fait un lien symbolique vers
+ le fichier <code>gawk.exe</code>. Le shell de commandes Windows
+ ne reconnaît pas les liens symboliques, et par conséquent la
+ compilation d'InstallBin échouera. Pour contourner le problème,
+ vous pouvez supprimer le lien <code>awk.exe</code> de
+ l'installation de Cygwin, et copier <code>gawk.exe</code> vers
+ <code>awk.exe</code>. Notez aussi que les portages cygwin/mingw
+ de gawk 3.0.x étaient bogués ; veuillez par conséquent effectuer
+ une mise à jour vers la version 3.1.x avant l'utilisation de
+ tout portage de gawk.</note>
+ </li>
+
+ <li>
+ <p>[Optionnel] bibliothèque zlib (pour le module
+ <module>mod_deflate</module>)</p>
+
+ <p>Zlib doit être installée dans un sous-répertoire du
+ répertoire <code>srclib</code> et nommé <code>zlib</code>. Elle
+ doit être compilée directement à cette place. Zlib est
+ disponible à l'adresse <a
+ href="http://www.zlib.net/">http://www.zlib.net/</a> -- le
+ fonctionnement correct du module <module>mod_deflate</module> a
+ été vérifié avec la version 1.2.3.</p>
+
+ <example>
+ nmake -f win32\Makefile.msc<br />
+ nmake -f win32\Makefile.msc test
+ </example>
+ </li>
+
+ <li>
+ <p>[Optionnel] Bibliothèques OpenSSL (pour le module
+ <module>mod_ssl</module> et <code>ab.exe</code> avec le support
+ ssl)</p>
+
+ <note>La bibliothèque OpenSSL est un logiciel de chiffrement. Le
+ pays dans lequel vous résidez peut imposer des restrictions à
+ l'importation, la possession, l'utilisation, et/ou la
+ réexportation vers un autre pays des logiciels de chiffrement.
+ AVANT d'utiliser tout logiciel de chiffrement, veuillez
+ consulter la législation de votre pays, les règles et politiques
+ d'importation, de possession, ou d'utilisation, et de
+ réexportation des logiciels de chiffrement, afin de déterminer
+ si vous en avez le droit. Voir <a
+ href="http://www.wassenaar.org/">http://www.wassenaar.org/</a>
+ pour plus de détails.</note>
+
+ <p>La configuration et la compilation d'OpenSSL nécessite
+ l'installation de perl.</p>
+
+ <p>Pour pouvoir compiler <module>mod_ssl</module> ou le projet
+ <code>abs.exe</code>, qui devient ab.c avec le support SSL
+ activé, vous devez
+ télécharger OpenSSL à l'adresse <a
+ href="http://www.openssl.org/source/">http://www.openssl.org/source/</a>,
+ et l'installer dans un sous-répertoire du répertoire
+ <code>srclib</code> que vous nommerez <code>openssl</code>. Afin
+ de préparer OpenSSL à la liaison avec le module Apache mod_ssl
+ ou abs.exe, et désactiver les fonctionnalités d'Openssl grévées
+ de brevets, vous pouvez utiliser la commande de compilation
+ suivante :</p>
+
+ <example>
+ perl Configure no-rc5 no-idea enable-mdc2 enable-zlib VC-WIN32
+ -Ipath/to/srclib/zlib -Lpath/to/srclib/zlib<br />
+ ms\do_masm.bat<br />
+ nmake -f ms\ntdll.mak
+ </example>
+
+ <note>Il est déconseillé d'utiliser zlib-dynamic, car la charge
+ de la décompression des flux SSL est alors transférée à la
+ première requête qui doit charger la dll zlib. Notez que le
+ correctif proposé active le drapeau -L afin de pouvoir
+ fonctionner avec les compilations Windows, corrige le nom de
+ zdll.lib et s'assure que les fichiers .pdb sont générés afin de
+ pouvoir résoudre les problèmes. Si l'assembleur n'est pas
+ installé, vous devez ajouter no-asm ci-dessus et utiliser le
+ script ms\do_ms.bat à la place de ms\do_masm.bat.</note>
+ </li>
+
+ <li>
+ <p>[Optionnel] Bibliothèques de bases de données (pour
+<module>mod_dbd</module> et <module>mod_authn_dbm</module>)</p>
+
+ <p>La bibliothèque apr-util fournit un accès aux fonctionnalités
+ clients dbm (base de données à base de clés) et dbd (base de
+ données à base de requêtes) au serveur httpd et à certains de
+ ses modules, comme les modules d'authentification et
+ d'autorisation. Les fournisseurs sdbm dbm et odbc dbd sont
+ compilés automatiquement.</p>
+
+ <p>Le support dbd inclut le paquet instantclient Oracle, MySQL,
+ PostgreSQL et sqlite. Par exemple, pour les compiler tous,
+ définissez LIB de façon à inclure le chemin des bibliothèques,
+ INCLUDE de façon à inclure le chemin des en-têtes, et PATH de
+ façon à inclure le chemin des dll et bin de chacun des quatre
+ SDK, et définissez la variable d'environnement DBD_LIST de façon
+ à indiquer au processus de compilation quels SDKs pilotes
+ clients du sont correctement installés ; par exemple :</p>
+
+ <example>
+ set DBD_LIST=sqlite3 pgsql oracle mysql
+ </example>
+
+ <p>De manière similaire, le support dbm peut être étendu avec
+ DBM_LIST pour compiler un fournisseur Berkeley DB (db) et/ou un
+ fournisseur gdbm, en configurant tout d'abord de la même manière
+ LIB, INCLUDE et PATH afin de s'assurer que les bibliothèques et
+ en-têtes de la bibliothèque client sont bien disponibles.</p>
+
+ <example>
+ set DBM_LIST=db gdbm
+ </example>
+
+ <note>En fonction du choix des distributions de bases de
+ données, il peut s'avérer nécessaire de modifier le nom des
+ cibles de l'édition de liens (par exemple gdbm.lib à la place de
+ libgdb.lib) listées dans les fichiers .dsp/.mak des répertoires
+ srclib\apr-util\dbd ou ...\dbm correspondants.</note>
+
+ <p>Voir le fichier README-win32.txt pour plus d'informations à
+ propos de l'obtention des différents SDKs pilotes de bases de
+ données.</p>
+ </li>
+
+ </ul>
+
+ </section>
+
+<section id="unixsrcbuild">
+
+ <title>Compilation à partir des sources Unix</title>
+
+ <p>Le projet du serveur HTTP Apache à pour politique de ne fournir
+ que des sources de type Unix. Les paquets source de type Windows
+ disponibles en téléchargement ont été élaborés par des
+ contributeurs, et ne seront pas forcément reconduits pour toutes les
+ versions. Vous pouvez cependant compiler le serveur sous Windows à
+ partir des sources Unix en ajoutant quelques étapes supplémentaires.</p>
+
+ <ol>
+ <li>Téléchargez et ouvrez le tarball source Unix de la dernière
+ version du serveur HTTP Apache.</li>
+ <li>Téléchargez et ouvrez le tarball source Unix de la dernière
+ version de APR, APR-Util et APR-Iconv, et copier l'arborescence
+ obtenue dans httpd-2.x.x\srclib\apr, httpd-2.x.x\srclib\apr-util
+ et httpd-2.x.x\srclib\apr-iconv</li>
+ <li>Ouvrez la console et placez-vous au niveau du répertoire httpd-2.x.x</li>
+ <li>Exécutez l'utilitaire de conversion de fins de ligne</li>
+ </ol>
+
+ <example>
+ perl srclib\apr\build\lineends.pl
+ </example>
+
+ <p>Vous pouvez maintenant compiler le serveur via l'environnement de
+ développement Visual Studio en utilisant l'IDE. Les compilations
+ du serveur en ligne de commande ne sont possibles avec des sources
+ de type Unix que si vous exportez les fichiers .mak comme indiqué
+ ci-dessous.
+ </p>
+
+ </section>
+
+ <section id="commandbuild">
+
+ <title>Compilation à partir de la ligne de commandes</title>
+
+ <p><code>Makefile.win</code> est le makefile principal ou racine
+ d'Apache. Pour compiler Apache sous Windows, utilisez simplement une
+ des commandes suivantes pour compiler la version
+ <code>release</code> ou <code>debug</code> :</p>
+
+ <example>
+ nmake /f Makefile.win _apacher<br /><br />
+ nmake /f Makefile.win _apached
+ </example>
+
+
+ <p>Ces deux commandes effectuent la compilation d'Apache. Cependant,
+ avec la deuxième, les fichiers résultants ne seront pas optimisés,
+ ce qui va faciliter l'examen pas à pas du code pour trouver des
+ bogues et résoudre les problèmes.</p>
+
+ <p>Vous pouvez indiquer vos choix en matière de fournisseurs dbd et
+ dbm à l'aide des variables (d'environnement) additionnelles de make
+ DBD_LIST et DBM_LIST ; voir les commentaires à propos des
+ [Optionnel] Bibliothèques de bases de données ci-dessus. Consultez
+ les commentaires initiaux dans Makefile.win pour plus d'options
+ pouvant être fournies lors de la compilation.</p>
+
+ </section>
+
+ <section id="workspacebuild">
+
+ <title>Compilation depuis l'espace de travail IDE de Developer
+ Studio</title>
+
+ <p>Apache peut aussi être compilé depuis l'environnement de
+ développement Visual Studio de VC++. Pour simplifier ce processus,
+ l'espace de travail Visual Studio <code>Apache.dsw</code> est
+ fourni. Cet espace de travail expose la liste complète des projets
+ <code>.dsp</code> actifs nécessaires à l'installation binaire
+ complète d'Apache. Il inclut les dépendances entre projets afin que
+ ces derniers soient compilés selon l'ordre approprié.</p>
+
+ <p>Ouvrez l'espace de travail <code>Apache.dsw</code>, et
+ sélectionnez <code>InstallBin</code> (compilation
+ <code>Release</code> ou <code>Debug</code>, selon vos souhaits)
+ comme Active Project. <code>InstallBin</code> provoque la
+ compilation de tous les projets concernés, puis invoque
+ <code>Makefile.win</code> pour installer les exécutables et dlls
+ compilés. Vous pouvez modifier la valeur de <code>INSTDIR=</code>
+ via la configuration de <code>InstallBin</code>, onglet Général,
+ entrée ligne de commandes de compilation. La valeur par défaut de
+ <code>INSTDIR</code> est le répertoire <code>/Apache2</code>. Si
+ vous désirez effectuer un test de compilation (sans installation),
+ sélectionnez le projet <code>BuildBin</code>.</p>
+
+ <p>Les fichiers projets <code>.dsp</code> sont distribués au format
+ Visual Studio 6.0 (98). Visual C++ 5.0 (97) les reconnaît. Les
+ utilisateurs de Visual Studio 2002 (.NET) et versions supérieures
+ doivent convertir <code>Apache.dsw</code> et les fichiers
+ <code>.dsp</code> en un projet <code>Apache.sln</code>, ainsi que
+ les fichiers <code>.msproj</code> ; assurez-vous de reconvertir le
+ fichier <code>.msproj</code> si l'un des fichiers source
+ <code>.dsp</code> est modifié ! Cette opération est vraiment très
+ simple, il suffit de réouvrir <code>Apache.dsw</code> dans l'IDE
+ VC++ 7.0 et de le reconvertir.</p>
+
+ <!-- Traduction à revoir -->
+ <note>Il y a une erreur dans la conversion .vcproj des fichiers
+ .dsp. devenv.exe interprète mal le drapeau
+ /D pour les drapeaux RC contenant de grandes /D'éfinitions entourées
+ de guillemets, et contenant elles-mêmes des espaces. Ainsi, la
+ commande :
+ <example>
+ perl srclib\apr\build\cvtdsp.pl -2005
+ </example>
+ va convertir les drapeaux /D pour les drapeaux RC afin d'utiliser
+ une syntaxe alternative, interprétable ; malheureusement, cette
+ syntaxe n'est pas supportée par Visual Studio 97 ou ses fichiers
+ .mak exportés. Ces drapeaux /D permettent de transmettre la longue
+ description des fichiers de mod_apachemodule.so à leurs compilations
+ d'identificateur de version de ressource .rc partagée.</note>
+
+
+ <!-- Traduction à revoir -->
+ <p>Les utilisateurs de Visual Studio 2002 (.NET) et versions
+ supérieures doivent aussi utiliser
+ la boîte de dialogue Configuration Manager du menu Build pour
+ décocher les deux versions <code>Debug</code> et
+ <code>Release</code> des modules <module>mod_ssl</module>
+ et <module>mod_deflate</module> pour <code>abs</code>. Ces modules
+ sont compilés
+ en invoquant <code>nmake</code> ou directement l'IDE avec la cible
+ <code>BinBuild</code> pour compiler ces modules de manière
+ conditionnelle si les sous-répertoires de <code>srclib</code>
+ <code>openssl</code> et/ou <code>zlib</code> existent, et en
+ fonction des définitions des variables d'environnement
+ <code>DBD_LIST</code> et <code>DBM_LIST</code>.</p>
+
+ </section>
+
+ <section id="exportingmakfiles">
+
+ <title>Export des fichiers .mak de la ligne de commandes</title>
+
+
+ <p>Les fichiers <code>.mak</code> exportés posent plus de problèmes,
+ mais les utilisateurs de Visual C++ 5.0 en ont besoin pour compiler
+ <module>mod_ssl</module>, abs (<program>ab</program> avec support
+ SSL) et/ou <module>mod_deflate</module>. Les fichiers .mak
+ supportent aussi un choix plus large de distributions de chaînes
+ d'outils C++, comme Visual Studio Express.</p>
+
+ <p>Vous devez tout d'abord compiler tous les projets afin de créer
+ toutes les cibles dynamiques auto-générées, de façon à ce que les
+ dépendances puissent être interprétées correctement. Compilez
+ l'ensemble du projet depuis l'IDE Visual Studio 6.0 (98), en
+ utilisant la cible <code>BuildAll</code>, puis utilisez le menu de
+ projet Export pour tous les makefiles (en cochant "with
+ dependencies"). Utilisez la commande suivante pour transformer les
+ chemins absolus en chemins relatifs de façon à ce que la compilation
+ puisse s'effectuer depuis n'importe quelle position dans
+ l'arborescence :</p>
+
+ <example>
+ perl srclib\apr\build\fixwin32mak.pl
+ </example>
+
+ <p>Vous devez exécuter cette commande depuis la <em>racine</em> de
+ l'arborescence des sources de httpd. Tout fichier projet
+ <code>.mak</code> et <code>.dep</code> du répertoire courant et de
+ ses sous-répertoires sera corrigé, et les repères de temps ajustés
+ en fonction des <code>.dsp</code>.</p>
+
+ <p>Vérifiez toujours le SDK de la plate-forme ou autres chemins
+ fichiers locaux, spécifiques à la machine dans les fichiers
+ <code>.mak</code> et <code>.dep</code> générés. Le répertoire
+ <code>DevStudio\Common\MSDev98\bin\</code> (VC6) contient un fichier
+ <code>sysincl.dat</code> qui énumère toutes les exceptions. Mettez à
+ jour ce fichier (en particulier les chemins avec slashes et
+ anti-slashes, tels que <code>sys/time.h</code> et
+ <code>sys\time.h</code>) de façon à ignorer ces nouvelles
+ dépendances. Inclure les chemins d'installation locale dans un
+ fichier <code>.mak</code> distribué fera échouer la
+ compilation.</p>
+
+ <p>Si vous soumettez un patch qui modifie les fichiers projet, nous
+ devons valider la modification de ces fichiers projet au format
+ Visual Studio 6.0. Les modifications doivent êtres simples, avec un
+ minimum de drapeaux de compilation et d'édition de liens qui
+ pourront être reconnus par tous les environnements Visual
+ Studio.</p>
+
+ </section>
+
+ <section id="installation">
+
+
+ <title>Installation</title>
+
+ <p>Une fois compilé, Apache doit être installé dans le répertoire
+ racine du serveur. La valeur par défaut est le répertoire
+ <code>\Apache2</code>, sur le même disque.</p>
+
+ <p>Pour compiler et installer automatiquement tous les fichiers dans
+ le répertoire <em>rep</em> désiré, utilisez une des commandes
+ <code>nmake</code> suivantes :</p>
+
+ <example>
+ nmake /f Makefile.win installr INSTDIR=<em>dir</em><br />
+ nmake /f Makefile.win installd INSTDIR=<em>dir</em>
+ </example>
+
+ <p>L'argument <em>rep</em> de <code>INSTDIR</code> permet de
+ spécifier le répertoire d'installation ; il peut être omis si Apache
+ doit être installé dans <code>\Apache22</code> (du lecteur de disque
+ courant.</p>
+
+</section>
+
+<section id="projectcomponents-warn">
+
+<title>Avertissement à propos de la compilation d'Apache à partir de
+l'arborescence de développement</title>
+
+ <note>Notez que seuls les fichiers <code>.dsp</code> sont
+ maintenus d'une distribution <code>release</code> à l'autre. Les
+ fichiers <code>.mak</code> ne sont PAS régénérés, suite à
+ l'énorme perte de temps des relecteurs <!-- ??? -->. Vous ne
+ pouvez donc pas utiliser les commandes <code>NMAKE</code>
+ ci-dessus pour compiler des fichiers de projet <code>.dsp</code>
+ révisés si vous n'exporter pas ensuite vous-même tous les
+ fichiers <code>.mak</code> du projet. Ceci n'est pas nécessaire
+ si vous effectuez la compilation depuis l'environnement
+ Microsoft Developer Studio.</note>
+
+</section>
+
+ <section id="cmake">
+ <title>Compilation de httpd avec cmake</title>
+
+ <p>La documentation principale pour ce mécanisme de compilation se trouve
+ dans le fichier <code>README.cmake</code> situé dans l'arborescence
+ des sources. Consultez ce fichier pour des instructions détaillées.</p>
+
+ <p>Pour compiler httpd avec cmake, vous devez compiler APR et APR-util
+ séparément. Consultez les fichiers <code>README.cmake</code> de ces
+ projets pour obtenir des instructions.</p>
+
+ <p>Les principales limitations de la compilation basée sur cmake sont
+ héritées du projet APR-util et sont énumérées ci-dessous à cause de
+ leur impact sur httpd :</p>
+
+ <ul>
+ <li>Il n'est pas possible de compiler le projet APR-iconv avec
+ cmake, et la compilation de APR-util ne peut pas utiliser de projet
+ APR-iconv précompilé. A cause de cela, il n'est pas possible
+ d'utiliser <module>mod_charset_lite</module> et probablement
+ d'autres modules tiers.</li>
+ <li>La compilation du sous-projet APR-util avec cmake ne supporte
+ pas la plupart des bibliothèques optionnelles DBM et DBD utilisées
+ par les fichiers projet Visual Studio inclus. Cela limite les
+ serveurs de bases de données d'arrière-plan supportés par de
+ nombreux modules tiers ou inclus.</li>
+ </ul>
+
+ </section>
+
+</manualpage>
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision: 1673945 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="windows.xml.meta">
+ <parentdocument href="./">Notes spécifiques à un
+ système</parentdocument>
+
+ <title>Utilisation du serveur HTTP Apache sous Microsoft Windows</title>
+
+ <summary>
+
+ <p>Ce document décrit l'installation, la configuration et
+ l'exécution d'Apache 2.&httpd.minor; sous Microsoft Windows. Si vous avez des
+ questions après avoir lu la documentation, ou si vous avez rencontré
+ des évènements particuliers ou des rapports d'erreur, vous pouvez
+ consultez la <a href="http://httpd.apache.org/userslist.html">liste
+ de diffusion de la communauté des utilisateurs</a>.</p>
+
+ <p>Dans ce document, nous supposons que vous installez une
+ distribution binaire d'Apache. Si vous voulez compiler Apache
+ vous-même (par exemple pour aider au développement ou pour
+ rechercher des bogues), référez-vous au document <a
+ href="win_compiling.html">Compilation d'Apache pour Microsoft
+ Windows</a>.</p>
+
+ </summary>
+
+ <section id="req">
+ <title>Prérequis du système d'exploitation</title>
+
+ <p>La plate-forme Windows de base pour l'exécution d'Apache 2.&httpd.minor; est
+ Windows 2000 ou supérieur. Veillez à toujours vous procurer et installer le
+ dernier service pack afin d'éviter les bogues du système
+ d'exploitation.</p>
+
+ <note>Les versions du serveur HTTP Apache supérieures à 2.2 ne
+ fonctionneront sous aucun système d'exploitation d'une version
+ antérieure à Windows 2000.</note>
+
+ </section>
+
+ <section id="down">
+ <title>Téléchargement d'Apache pour Windows</title>
+
+ <p>Le projet du serveur HTTP Apache proprement dit ne fournit pas de
+ distribution binaire mais seulement le code source. Certains membres
+ du projet <em>peuvent</em> mettre à disposition des paquets binaires
+ à titre individuel, mais ceux-ci n'ont pas vocation à être
+ distribués publiquement.</p>
+
+ <p>Si vous n'êtes
+ pas en mesure de compiler le serveur HTTP Apache vous-même, vous
+ pouvez vous procurer un paquet binaire auprès des nombreuses
+ distributions disponibles sur Internet.</p>
+
+ <p>Quelques solutions populaires pour déployer Apache httpd, et
+ éventuellement PHP et MySQL sous Microsoft Windows :</p>
+ <ul>
+ <li><a href="http://www.apachehaus.com/cgi-bin/download.plx">ApacheHaus</a></li>
+ <li><a href="http://www.apachelounge.com/download/">Apache Lounge</a></li>
+ <li><a href="http://bitnami.com/stack/wamp">Bitnami WAMP Stack</a></li>
+ <li><a href="http://www.wampserver.com/">WampServer</a></li>
+ <li><a href="http://www.apachefriends.org/en/xampp.html">XAMPP</a></li>
+ </ul>
+ </section>
+
+ <section id="cust">
+ <title>Personnaliser Apache pour Windows</title>
+
+ <p>La configuration d'Apache est enregistrée dans les fichiers du
+ sous-répertoire <code>conf</code>. Ce sont les même fichiers que
+ ceux utilisés pour configurer la version Unix, mais il y a quelques
+ directives spécifiques à Apache pour Windows. Voir l'<a
+ href="../mod/directives.html">index des directives</a> pour la liste
+ des directives disponibles.</p>
+
+ <p>Les principales spécificités d'Apache pour Windows sont :</p>
+ <ul>
+ <li><p>Comme Apache pour Windows est un programme multithread, il
+ ne lance pas de processus séparé pour chaque requête, comme Apache
+ peut le faire sous Unix. En fait, il n'y a en général que deux
+ processus Apache en exécution : un processus parent, et un
+ processus enfant qui traite les requêtes. Chaque requête est
+ traitée par un thread séparé au sein du processus enfant.</p>
+
+ <p>Les directives de gestion de processus diffèrent également :</p>
+
+ <p><directive module="mpm_common">MaxConnectionsPerChild</directive>
+ : comme dans la version Unix, cette directive contrôle le nombre
+ de connexions qu'un
+ processus enfant particulier va traiter avant de s'arrêter.
+ Cependant, à la différence d'Unix, un processus de remplacement
+ n'est pas instantanément disponible. Utilisez la définition par
+ défaut <code>MaxConnectionsPerChild 0</code>, sauf si vous
+ risquez de manquer de mémoire dans des modules tiers ou dans des
+ applications in-process.</p>
+
+ <note type="warning"><strong>Attention : le fichier de
+ configuration du serveur est rechargé lorsqu'un nouveau processus
+ enfant est démarré. En conséquence, si vous avez modifié
+ <code>httpd.conf</code>, le nouveau processus enfant peut ne pas
+ démarrer, ou vous pouvez obtenir des résultats
+ inattendus.</strong></note>
+
+ <p><directive module="mpm_common">ThreadsPerChild</directive> : il
+ s'agit d'une nouvelle directive. Elle indique au serveur le nombre
+ de threads qu'il doit utiliser. Elle définit le nombre maximum de
+ connexions simultanées que le serveur peut gérer ; vous devez
+ donc vous assurer que ce nombre soit suffisamment grand pour les
+ besoins de votre site. La valeur par défaut <code>ThreadsPerChild
+ 150</code> est recommandée, mais doit être ajustée à la valeur
+ maximale estimée de connexions simultanées à accepter.</p></li>
+
+ <li><p>Les directives qui acceptent des noms de fichiers comme
+ arguments doivent utiliser des noms de fichiers Windows et non
+ Unix. Cependant, comme Apache peut interpréter les anti-slashes
+ comme des séquences d'échappement de caractères, vous devez
+ absolument utiliser des slashes dans les noms de chemins à la
+ place des anti-slashes.</p></li>
+
+ <li><p>Alors que les noms de fichiers sont en général insensibles
+ à la casse sous Windows, les URLs sont encore sensibles à la casse
+ en interne avant d'être mises en correspondance avec le système de
+ fichiers. Par exemple, les directives <directive module="core"
+ type="section">Location</directive>, <directive
+ module="mod_alias">Alias</directive>, et <directive
+ module="mod_proxy">ProxyPass</directive> utilisent toutes des
+ arguments sensibles à la casse. Pour cette raison, il est
+ particulièrement recommandé d'utiliser la directive <directive
+ module="core" type="section">Directory</directive> lorsqu'on
+ désire limiter l'accès à certains contenus du système de fichiers,
+ car cette directive s'applique à tout contenu d'un répertoire,
+ sans tenir compte de la manière dont on y accède. Pour vous
+ assurer que seules des minuscules sont utilisées dans les URLs,
+ vous pouvez utiliser ceci :</p>
+
+ <highlight language="config">
+RewriteEngine On
+RewriteMap lowercase "int:tolower"
+RewriteCond "%{REQUEST_URI}" "[A-Z]"
+RewriteRule "(.*)" "${lowercase:$1}" [R,L]
+ </highlight></li>
+
+ <li><p>Lors de son exécution, Apache n'a besoin d'un accès en
+ écriture qu'au répertoire des journaux et à toute arborescence de
+ répertoires de cache configurée. Suite au problème d'insensibilité
+ à la casse et au format de noms courts 8.3, Apache doit valider
+ tous les noms de chemins fournis. Cela signifie que chaque
+ répertoire qu'Apache évalue doit avoir les droits en lecture,
+ listage et parcours, et ceci depuis la racine jusqu'aux feuilles.
+ Si Apache2.&httpd.minor; est installé dans C:\Program Files, le répertoire
+ racine, Program Files et Apache2.&httpd.minor; doivent tous être visibles pour
+ Apache</p></li>
+
+ <li><p>Apache peut charger divers modules sans qu'il soit nécessaire
+ de recompiler le serveur. Si Apache est compilé
+ normalement, il va installer de nombreux modules optionnels dans
+ le répertoire <code>\Apache2.&httpd.minor;\modules</code>. Pour activer ces
+ modules ou d'autres modules, on doit utiliser la
+ directive <directive module="mod_so">LoadModule</directive>. Par
+ exemple, pour activer le module status, ajoutez la ligne suivante
+ (en plus des directives d'activation de status dans
+ <code>access.conf</code>) :</p>
+
+ <highlight language="config">
+ LoadModule status_module "modules/mod_status.so"
+ </highlight>
+
+ <p>Des informations sont aussi à votre disposition pour <a
+ href="../mod/mod_so.html#creating">créer des modules
+ chargeables</a></p></li>
+
+ <li><p>Apache peut aussi charger des extensions ISAPI (Internet
+ Server Application Programming Interface), comme celles qu'utilise
+ Microsoft IIS et d'autres serveurs Windows. <a
+ href="../mod/mod_isapi.html">Voir ici pour plus
+ d'informations</a>. Notez qu'Apache ne peut <strong>pas</strong>
+ charger de filtres ISAPI, et que les gestionnaires ISAPI contenant
+ des extensions de fonctionnalités Microsoft ne fonctionneront
+ pas.</p></li>
+
+ <li><p>Pour les scripts CGI, la méthode qu'utilise Apache pour
+ déterminer l'interpréteur du script est configurable grâce à la
+ directive <directive
+ module="core">ScriptInterpreterSource</directive></p></li>
+
+ <li><p>Comme il est souvent difficile de gérer des fichiers avec
+ des noms du style <code>.htaccess</code> sous Windows, vous avez
+ tout intérêt à changer le nom de ce fichier de configuration par
+ répertoire à l'aide de la directive <directive
+ module="core">AccessFilename</directive>.</p></li>
+
+ <li><p>Toute erreur survenant au cours du processus de démarrage
+ d'Apache est enregistrée dans le journal des évènements de
+ Windows si l'on est sous Windows NT. Ce mécanisme fonctionne comme
+ une sauvegarde pour les situations où Apache n'est pas encore prêt
+ à utiliser le fichier <code>error.log</code>. Vous pouvez
+ consulter le journal des évènements applicatifs Windows en
+ utilisant l'observateur d'évènements : Démarrage - Paramètres -
+ Panneau de configuration - Outils d'administration - Observateur
+ d'évènements.</p></li>
+ </ul>
+
+ </section>
+
+ <section id="winsvc">
+ <title>Exécuter Apache en tant que service</title>
+
+ <p>Apache fournit un utilitaire nommé Apache Service Monitor
+ (Moniteur du service Apache). Grâce à lui, vous pouvez voir et gérer
+ l'état de tous les services Apache installés sur toutes les machines
+ du réseau. Pour pouvoir gérer un service Apache avec le moniteur,
+ vous devez d'abord installer le service (soit automatiquement au
+ cours de l'installation, soit manuellement).</p>
+
+ <p>Vous pouvez installer Apache en tant que service Windows NT à
+ partir de la ligne de commandes et depuis le sous-répertoire Apache
+ <code>bin</code> comme suit :</p>
+
+ <example>
+ httpd.exe -k install
+ </example>
+
+ <p>Si vous avez installé plusieurs services Apache sur votre
+ ordinateur, vous devrez spécifier le nom du service que vous voulez
+ installer en utilisant la commande suivante (notez que si vous
+ spécifiez un nom durant l'installation, vous devrez aussi le
+ spécifier pour toute opération comportant l'option -k) :</p>
+
+ <example>
+ httpd.exe -k install -n "Nom-service"
+ </example>
+
+ <p>Si un service doit utiliser un fichier de configuration
+ spécifique, utilisez ceci :</p>
+
+ <example>
+ httpd.exe -k install -n "Nom-service" -f "c:\fichiers\Nom-service.conf"
+ </example>
+
+ <p>Si vous utilisez la première commande sans paramètre particulier,
+ excepté <code>-k install</code>, le service aura pour nom
+ <code>Apache2.&httpd.minor;</code> et le fichier de configuration sera censé
+ être <code>conf\httpd.conf</code>.</p>
+
+ <p>Supprimer un service Apache est très simple. Utilisez
+ simplement :</p>
+
+ <example>
+ httpd.exe -k uninstall
+ </example>
+
+ <p>On peut spécifier un service Apache particulier en utilisant
+ :</p>
+
+ <example>
+ httpd.exe -k uninstall -n "Nom service"
+ </example>
+
+ <p>Normalement, le démarrage, le redémarrage et l'arrêt d'un
+ service Apache s'effectuent via le Moniteur de Service Apache, ou en
+ utilisant des commandes telles que <code>NET START Apache2.&httpd.minor;</code> et
+ <code>NET STOP Apache2.&httpd.minor;</code>, ou encore via le gestionnaire de
+ services standard de Windows. Avant de démarrer Apache en tant que
+ service dans quelque but que ce soit, vous devez tester le fichier
+ de configuration du service en utilisant :</p>
+
+ <example>
+ httpd.exe -n "Nom-service" -t
+ </example>
+
+ <p>Vous pouvez aussi contrôler un service Apache à l'aide de ses
+ options de ligne de commande. Avec cette méthode, pour démarrer un
+ service Apache installé, vous utiliserez :</p>
+
+ <example>
+ httpd.exe -k start -n "Nom-Service"
+ </example>
+
+ <p>Pour arrêter un service Apache via les options de lignes de
+ commande, utilisez ceci :</p>
+
+ <example>
+ httpd.exe -k stop -n "Nom-Service"
+ </example>
+
+ <p>ou</p>
+
+ <example>
+ httpd.exe -k shutdown -n "Nom-Service"
+ </example>
+
+ <p>Vous pouvez aussi redémarrer un service en exécution et le forcer
+ à relire son fichier de configuration en utilisant :</p>
+
+ <example>
+ httpd.exe -k restart -n "Nom-Service"
+ </example>
+
+ <p>Par défaut, tous les services Apache sont configurés pour
+ s'exécuter sous l'utilisateur system (le compte
+ <code>LocalSystem</code>). Le compte <code>LocalSystem</code> n'a
+ pas de privilèges sur votre réseau, que ce soit via un mécanisme
+ sécurisé de Windows, y compris le système de fichiers, des tubes
+ nommés, DCOM ou des RPC sécurisés. Il a cependant des privilèges
+ élevés en local.</p>
+
+ <note type="warning"><strong>N'accordez jamais de privilèges réseau
+ au compte <code>LocalSystem</code> ! Si Apache doit pouvoir accéder
+ à des ressources réseau, créez un compte séparé pour Apache comme
+ indiqué ci-dessous.</strong></note>
+
+ <p>Il est fortement fortement conseillé aux utilisateurs de créer un
+ compte séparé pour exécuter le(s) service(s) Apache, et même
+ obligatoire si vous devez accéder à des ressources réseau via
+ Apache.</p>
+
+ <ol>
+ <li>Créez un compte d'utilisateur du domaine normal, et
+ assurez-vous de retenir son mot de passe.</li>
+
+ <li>Accordez à l'utilisateur nouvellement créé les privilèges
+ <code>Log on as a service</code> et <code>Act as part of the
+ operating system</code>. Sous Windows NT 4.0, ces privilèges sont
+ accordés via le Gestionnaire des utilisateurs du Domaine, mais
+ sous Windows 2000 et XP, vous aurez plutôt intérêt à utiliser une
+ GPO pour propager ces configurations. Vous pouvez aussi effectuer
+ ces réglages via la Politique de Sécurité Locale intégrée à la
+ MMC.</li>
+
+ <li>Vérifiez que le compte nouvellement créé est membre du groupe
+ Utilisateurs</li>
+
+ <li>Accordez à ce compte les droits Lecture et Exécution (RX) sur
+ tous les documents et répertoires de scripts (<code>htdocs</code>
+ et <code>cgi-bin</code> par exemple), et aussi sur l'exécutable
+ binaire <code>httpd.exe</code>.</li>
+
+ <li>Accordez aussi à ce compte les droits de modification sur le
+ répertoire <code>logs</code>.</li>
+
+ </ol>
+
+ <note>Il est en général de bonne pratique d'accorder à l'utilisateur
+ sous lequel le service Apache s'exécute les droits en lecture et
+ exécution (RX) sur l'ensemble du répertoire Apache2.&httpd.minor;, sauf pour le
+ sous-répertoire <code>logs</code>, sur lequel l'utilisateur doit
+ avoir au moins les droits de modification (RWXD).</note>
+
+ <p>Si vous permettez à ce compte de se connecter en tant
+ qu'utilisateur et service, vous pouvez ouvrir une session sous ce
+ compte et vérifier s'il a bien le droit d'exécuter les scripts, de
+ lire les pages web, et si vous pouvez démarrer Apache à partir d'une
+ console Windows. Si tout fonctionne, et si vous avez suivi les
+ étapes ci-dessus, Apache devrait s'exécuter en tant que service sans
+ problème.</p>
+
+ <note><strong>Le code d'erreur 2186</strong> indique probablement
+ qu'Apache ne peut pas accéder à une ressource réseau nécessaire, et
+ que vous devez revoir la configuration "Log On As" (Se connecter en
+ tant que ...) du service.</note>
+
+ <p>Lorsqu'Apache démarre en tant que service, il se peut que vous
+ obteniez un message d'erreur du Gestionnaire de Services Windows.
+ Par exemple, si vous essayez de démarrer Apache en utilisant
+ l'applet Services du Panneau de configuration de Windows, vous
+ pouvez obtenir le message suivant :</p>
+
+ <example>
+ Could not start the Apache2.&httpd.minor; service on \\COMPUTER <br />
+ Error 1067; The process terminated unexpectedly.
+ </example>
+
+ <p>Vous obtiendrez cette erreur à caractère général pour tout
+ problème survenant au cours du démarrage du service Apache. Afin de
+ déterminer exactement la cause du problème, vous devez suivre les
+ instructions permettant d'exécuter Apache pour Windows depuis la
+ ligne de commande.</p>
+
+ <p>Si vous rencontrez des problèmes avec le service, il est
+ conseillé de suivre les instructions ci-dessous afin d'essayer de
+ démarrer httpd.exe depuis une console, et d'analyser les erreurs
+ plutôt que vous démener à essayer de démarrer le service.</p>
+
+ </section>
+
+ <section id="wincons">
+ <title>Exécuter Apache depuis la console</title>
+
+ <p>Il est en général recommandé d'exécuter Apache en tant que
+ service, mais il est parfois plus simple d'utiliser la ligne de
+ commande, en particulier au cours de la configuration initiale et
+ les tests.</p>
+
+ <p>Pour exécuter Apache depuis la ligne de commande et en tant
+ qu'application de console, utilisez la commande suivante :</p>
+
+ <example>
+ httpd.exe
+ </example>
+
+ <p>Apache va démarrer, et continuera son exécution jusqu'à ce qu'on
+ l'arrête en tapant Ctrl-C.</p>
+
+ <p>Vous pouvez également démarrer Apache via le raccourci "Démarrer
+ Apache dans une console" placé dans <code>Démarrer -->
+ Programmes --> Apache HTTP Server 2.&httpd.minor;.xx --> Control Apache
+ Server</code> au cours de l'installation. Ceci va
+ ouvrir une console Windows, et y démarrer Apache.
+ Si vous n'avez pas installé Apache en tant que service, la
+ fenêtre Windows restera ouverte jusqu'à ce que vous arrêtiez Apache
+ en tapant Ctrl-C dans cette fenêtre. Le serveur va alors s'arrêter
+ au bout de quelques secondes. Cependant, si vous avez installé
+ Apache en tant que service, c'est ce dernier que le raccourci
+ ci-dessus va lancer. Si le service Apache est déjà en cours
+ d'exécution, le raccourci va rester sans effet.</p>
+
+ <p>Si Apache s'exécute en tant que service, vous pouvez l'arrêter en
+ ouvrant une autre console et en entrant :</p>
+
+ <example>
+ httpd.exe -k shutdown
+ </example>
+
+ <p>Plutôt que de lancer Apache à partir d'une console, il est
+ préférable de l'exécuter en tant que service car dans ce cas, il
+ termine proprement les opérations en cours avant de s'éteindre.</p>
+
+ <p>Si le serveur a été lancé depuis une console, vous ne pouvez
+ l'arrêter qu'en pressant la combinaison de touches Ctrl-C dans la
+ même fenêtre.</p>
+
+ <p>Vous pouvez aussi redémarrer Apache. Ceci le force à recharger
+ son fichier de configuration. Toute opération en cours peut être
+ achevée sans interruption. Pour redémarrer Apache, vous pouvez soit
+ taper Control-Break dans la fenêtre de console que vous avez
+ utilisée pour le démarrer, soit entrer :</p>
+
+ <example>
+ httpd.exe -k restart
+ </example>
+
+ <p>si le serveur s'exécute en tant que service.</p>
+
+ <note>Note pour les utilisateurs familiers de la version Unix
+ d'Apache : les commandes ci-dessus représentent pour Windows
+ l'équivalent des commandes <code>kill -TERM <em>pid</em></code> et
+ <code>kill -USR1 <em>pid</em></code>. L'option de ligne de commande
+ <code>-k</code> a été choisie à titre de rapprochement avec la
+ commande <code>kill</code> utilisée sous Unix.</note>
+
+ <p>Si la fenêtre de la console Apache se ferme immédiatement ou
+ inopinément après le démarrage d'Apache, ouvrez une console Windows
+ depuis le menu Démarrer --> Programmes. Placez-vous dans le
+ répertoire d'installation d'Apache, tapez la commande
+ <code>httpd.exe</code>, et observez le message d'erreur. Allez
+ ensuite dans le répertoire des journaux, et visualisez le fichier
+ <code>error.log</code> pour détecter d'éventuelles erreurs de
+ configuration. Si Apache a été installé dans <code>C:\Program
+ Files\Apache Software Foundation\Apache2.&httpd.minor;\</code>, vous
+ pouvez entrer ce qui suit :</p>
+
+ <example>
+ c: <br />
+ cd "\Program Files\Apache Software Foundation\Apache2.&httpd.minor;\bin" <br />
+ httpd.exe
+ </example>
+
+ <p>Attendez ensuite qu'Apache s'arrête ou tapez Ctrl-C. Entrez alors
+ la commande suivante :</p>
+
+ <example>
+ cd ..\logs <br />
+ more < error.log
+ </example>
+
+ <p>Lorsqu'on travaille avec Apache, il est important de comprendre
+ comment ce dernier trouve son fichier de configuration. Vous pouvez
+ spécifier un fichier de configuration à partir de la ligne de
+ commande de deux façons :</p>
+
+ <ul>
+ <li><p>L'option <code>-f</code> permet de spécifier un chemin
+ absolu ou relatif vers un fichier de configuration particulier
+ :</p>(sous Windows 9x, il est recommandé d'utiliser la ligne de
+ commande à cause du manque de fiabilité du support des services
+ fourni par ce système).
+
+ <example>
+ httpd.exe -f "c:\fichiers-de-mon-serveur\autre-config.conf"
+ </example>
+
+ <p>ou</p>
+
+ <example>
+ httpd.exe -f fichiers-de-mon-serveur\autre-config.conf
+ </example></li>
+
+ <li><p>L'option <code>-n</code> permet de spécifier le service
+ Apache installé dont le fichier de configuration doit être utilisé
+ :</p>
+
+ <example>
+ httpd.exe -n "Nom-service"
+ </example>
+ </li>
+ </ul>
+
+ <p>Dans les deux cas, la directive <directive
+ module="core">ServerRoot</directive> doit être correctement définie
+ dans le fichier de configuration.</p>
+
+ <p>Si vous ne spécifiez aucun fichier de configuration à l'aide des
+ options <code>-f</code> ou <code>-n</code>, Apache utilisera le nom
+ du fichier de configuration compilé dans le serveur, en général
+ <code>conf\httpd.conf</code>. Ce chemin codé en dur est relatif au
+ répertoire d'installation. Vous pouvez vérifier ce chemin à partir
+ de la valeur de l'étiquette <code>SERVER_CONFIG_FILE</code> en
+ invoquant Apache avec l'option <code>-V</code>, comme ceci :</p>
+
+ <example>
+ httpd.exe -V
+ </example>
+
+ <p>Apache va ensuite essayer de déterminer la valeur de son
+ <directive module="core">ServerRoot</directive> en effectuant les
+ recherches suivantes, dans cet ordre :</p>
+
+ <ol>
+ <li>Une directive <directive module="core">ServerRoot</directive>
+ via l'option de ligne de commande <code>-C</code>.</li>
+
+ <li>L'option de ligne de commande <code>-d</code>.</li>
+
+ <li>Le répertoire de travail courant.</li>
+
+ <li>Une entrée de la base de registre créée dans le cas d'une
+ installation binaire.</li>
+
+ <li>La racine des documents (<code>DocumentRoot</code>) codée en dur
+ dans le serveur. Elle
+ correspond par défaut à <code>/apache</code>, et vous pouvez le
+ vérifier en tapant <code>httpd.exe -V</code> et en recherchant
+ l'étiquette <code>HTTPD_ROOT</code>.</li>
+ </ol>
+
+ <p>Si vous n'avez pas effectué d'installation binaire, dans certains
+ scénarios, Apache va signaler l'absence de cette clé de registre.
+ On peut passer outre cet avertissement si le serveur a été en mesure
+ de trouver son fichier de configuration d'une autre manière.</p>
+
+ <p>La valeur de cette clé correspond au répertoire <directive
+ module="core">ServerRoot</directive> qui contient lui-même le
+ sous-répertoire <code>conf</code>. Lors de son démarrage, Apache lit
+ le fichier <code>httpd.conf</code> à partir de ce répertoire. Si ce
+ fichier contient une directive <directive
+ module="core">ServerRoot</directive> qui spécifie un répertoire
+ différent de celui que contient la clé de registre ci-dessus, Apache
+ oubliera la clé de registre, et utilisera le répertoire spécifié par
+ le fichier de configuration. Si vous déplacez le répertoire Apache
+ ou ses fichiers de configuration, il est vital de mettre à jour la
+ directive <directive module="core">ServerRoot</directive> dans
+ <code>httpd.conf</code> afin de refléter la nouvelle
+ localisation.</p>
+
+ </section>
+
+ <section id="test">
+ <title>Vérification de l'installation</title>
+
+ <p>Une fois Apache démarré (soit à partir d'une console Windows,
+ soit en tant que service), ce dernier va se mettre à l'écoute sur
+ le port 80 (à moins que vous ayiez modifié la directive <directive
+ module="mpm_common">Listen</directive> dans les fichiers de
+ configuration ou que vous ayiez installé Apache pour l'utilisateur
+ courant seulement). Pour vous connecter au serveur et accéder à la
+ page par défaut, lancez un navigateur et entrez cette URL :</p>
+
+ <example>
+ http://localhost/
+ </example>
+
+ <p>Apache devrait renvoyer une page de bienvenue et vous devriez
+ voir s'afficher "It Works!". Si rien ne se passe ou si vous obtenez
+ une erreur, consultez le fichier <code>error.log</code> dans le
+ sous-répertoire <code>logs</code>. Si votre serveur n'est pas
+ connecté au réseau, ou si vous avez de sérieux problèmes avec la
+ configuration de votre DNS (Domain Name Service), vous devez
+ utiliser cette URL :</p>
+
+ <example>
+ http://127.0.0.1/
+ </example>
+
+ <p>Si Apache écoute un port non standard, vous devez le préciser
+ explicitement dans l'URL :</p>
+
+ <example>
+ http://127.0.0.1:8080/
+ </example>
+
+ <p>Après que votre installation de base fonctionne, vous devez la
+ configurer correctement en éditant les fichiers du sous-répertoire
+ <code>conf</code>. Encore une fois, si vous modifiez la
+ configuration du service Apache sous Windows NT, essayez d'abord de
+ redémarrer le service depuis la ligne de commande afin de vous
+ assurer de l'absence d'erreur.</p>
+
+ <p>Comme Apache <strong>ne peut pas</strong> partager le même port
+ avec d'autres applications TCP/IP, il se peut que vous soyez amené à
+ arrêter, désinstaller ou reconfigurer certains services avant de
+ démarrer Apache. Ces services entrant en conflit avec Apache
+ comprennent les autres serveurs WWW, certaines implémentations de
+ pare-feu, et même certaines applications client (comme Skype) qui
+ utilisent le port 80 afin de contourner les pare-feu.</p>
+
+ </section>
+
+ <section id="windrivemap">
+ <title>Configuration de l'accès aux ressources réseau</title>
+
+ <p>L'accès à des fichiers par le réseau peut être spécifié via deux
+ mécanismes fournis par Windows :</p>
+
+ <dl>
+ <dt>Association de lettres de lecteur</dt>
+ <dd>Par exemple, <code>Alias /images/ Z:/</code></dd>
+
+ <dt>chemins UNC</dt>
+ <dd>Par exemple, <code>Alias /images/ //imagehost/www/images/</code></dd>
+ </dl>
+
+ <p>L'association de lettres de lecteur permet à l'administrateur de
+ maintenir une correspondance avec une certaine machine et un certain
+ chemin en dehors de la configuration d'Apache httpd. Cependant, ces
+ associations ne sont possibles que dans le cadre des sessions
+ interactives, et ne sont pas directement disponibles pour Apache httpd
+ lorsqu'il est démarré en tant que service. <strong>N'utilisez par
+ conséquent que des
+ chemins UNC pour les ressources réseau dans httpd.conf,</strong> de
+ façon à ce que les ressources soient accessibles quelle que soit la
+ manière dont Apache httpd a été démarré (des procédures exotiques et
+ probablement sujettes aux erreurs peuvent permettre de contourner la
+ restriction due aux associations de lettres de lecteur, mais leur
+ utilisation est déconseillée).</p>
+
+ <example><title>Exemple de DocumentRoot avec chemin UNC</title>
+ <highlight language="config">
+ DocumentRoot "//dochost/www/html/"
+ </highlight>
+ </example>
+
+ <example><title>Exemple de DocumentRoot avec adresse IP dans le chemin UNC</title>
+ <highlight language="config">
+ DocumentRoot "//192.168.1.50/docs/"
+ </highlight>
+ </example>
+
+ <example><title>Exemple d'Alias et répertoire correspondant avec
+ chemin UNC</title>
+ <highlight language="config">
+Alias "/images/" "//imagehost/www/images/"
+
+<Directory "//imagehost/www/images/">
+#...
+<Directory>
+ </highlight>
+ </example>
+
+ <p>Lorsqu'Apache s'exécute en tant que service, vous devez créer un
+ compte spécifique afin de pouvoir accéder aux ressources réseau, comme
+ décrit ci-dessus.</p>
+ </section>
+
+ <section id="tuning">
+ <title>Personnalisation sous Windows</title>
+ <ul>
+ <li><p>Si on utilise un grand nombre de redirections de journaux
+ via des pipes, il est souvent nécessaire d'augmenter la
+ taille de la mémoire du bureau ("desktop heap"). Pour une information plus
+ détaillée, veuillez vous reporter à la documentation sur les <a
+ href="../logs.html#piped">redirections de journaux</a>.</p></li>
+ </ul>
+ </section>
+
+</manualpage>
--- /dev/null
+<?xml version='1.0' encoding='UTF-8' ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision: 1676924 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="ab.xml.meta">
+<parentdocument href="./">Programmes</parentdocument>
+
+<title>ab - L'outil de test des performances du serveur HTTP
+Apache</title>
+
+<summary>
+ <p><code>ab</code> est un utilitaire qui vous permet de tester les
+ performances de votre serveur HTTP Apache. Il a été conçu pour vous
+ donner une idée du degré de performances de votre installation
+ d'Apache. Il vous permet en particulier de déterminer le nombre de
+ réquêtes que votre installation d'Apache est capable de servir par
+ seconde.</p>
+</summary>
+<seealso><program>httpd</program></seealso>
+
+<section id="synopsis"><title>Syntaxe</title>
+ <p><code><strong>ab</strong>
+ [ -<strong>A</strong> <var>nom-utilisateur</var>:<var>mot-de-passe</var> ]
+ [ -<strong>b</strong> <var>taille-tampon</var> ]
+ [ -<strong>B</strong> <var>adresse-locale</var> ]
+ [ -<strong>c</strong> <var>simultanéité</var> ]
+ [ -<strong>C</strong> <var>nom-cookie</var>=<var>valeur</var> ]
+ [ -<strong>d</strong> ]
+ [ -<strong>e</strong> <var>fichier-csv</var> ]
+ [ -<strong>f</strong> <var>protocole</var> ]
+ [ -<strong>g</strong> <var>fichier-gnuplot</var> ]
+ [ -<strong>h</strong> ]
+ [ -<strong>H</strong> <var>en-tête-personnalisé</var> ]
+ [ -<strong>i</strong> ]
+ [ -<strong>k</strong> ]
+ [ -<strong>l</strong> ]
+ [ -<strong>m</strong> <var>HTTP-method</var> ]
+ [ -<strong>n</strong> <var>requêtes</var> ]
+ [ -<strong>p</strong> <var>fichier-POST</var> ]
+ [ -<strong>P</strong>
+ <var>nom-utilisateur-mandataire</var>:<var>mot-de-passe</var> ]
+ [ -<strong>q</strong> ]
+ [ -<strong>r</strong> ]
+ [ -<strong>s</strong> <var>timeout</var> ]
+ [ -<strong>S</strong> ]
+ [ -<strong>t</strong> <var>limite-de-durée</var> ]
+ [ -<strong>T</strong> <var>type-de-contenu</var> ]
+ [ -<strong>u</strong> <var>fichier PUT</var> ]
+ [ -<strong>v</strong> <var>verbosité</var>]
+ [ -<strong>V</strong> ]
+ [ -<strong>w</strong> ]
+ [ -<strong>x</strong> <var><table>-attributs</var> ]
+ [ -<strong>X</strong> <var>mandataire</var>[:<var>port</var>] ]
+ [ -<strong>y</strong> <var><tr>-attributs</var> ]
+ [ -<strong>z</strong> <var><td>-attributs</var> ]
+ [ -<strong>Z</strong> <var>algorithme-chiffrement</var> ]
+ [http[s]://]<var>nom-serveur</var>[:<var>port</var>]/<var>chemin</var></code></p>
+</section>
+
+<section id="options"><title>Options</title>
+ <dl>
+ <dt><code>-A <var>nom-utilisateur</var>:<var>mot-de-passe</var></code></dt>
+ <dd>Fournit le support d'une authentification de base vers le
+ serveur. Les nom-utilisateur et mot-de-passe sont séparés par un
+ seul caractère <code>:</code> et transmis sous forme codée base64.
+ La chaîne est envoyée que le serveur en ait besoin ou non (qu'il ait
+ renvoyé un code "401 authentication needed" ou non).</dd>
+
+ <dt><code>-b <var>taille-tampon</var></code></dt>
+ <dd>Taille du tampon d'émission/réception TCP, en octets.</dd>
+
+ <dt><code>-B <var>adresse-locale</var></code></dt>
+ <dd>Adresse à laquelle se rattacher lors des connexions sortantes.</dd>
+
+ <dt><code>-c <var>simultanéité</var></code></dt>
+ <dd>Nombre de requêtes à effectuer simultanément. Par défaut, une
+ seule requête est effectuée à la fois.</dd>
+
+ <dt><code>-C <var>nom-cookie</var>=<var>valeur</var></code></dt>
+ <dd>Ajoute une ligne <code>Cookie:</code> à la requête. L'argument
+ se présente en général sous la forme d'une
+ paire <code><var>nom</var>=<var>valeur</var></code>. Ce champ peut
+ être répété.</dd>
+
+ <dt><code>-d</code></dt>
+ <!-- traduction à confirmer -->
+ <dd>N'affiche pas le "pourcentage servi dans la table XX [ms]".
+ (support de l'héritage).</dd>
+
+ <dt><code>-e <var>fichier-csv</var></code></dt>
+ <dd>Enregistre des valeurs séparées par des virgules (CSV) dans un
+ fichier, indiquant pour chaque pourcentage (de 1% à 100 %), le temps
+ (en millisecondes) mis pour servir ce pourcentage de requêtes. Ce
+ fichier est en général plus utile qu'un fichier 'gnuplot', car les
+ résultats sont déjà sous forme binaire.</dd>
+
+ <dt><code>-f <var>protocole</var></code></dt>
+ <dd>Spécifie le protocole SSL/TLS (SSL2, SSL3, TLS1, TLS1.1, TLS1.2, or ALL).<br />
+ TLS1.1 et TLS1.2 sont supportés à partir de la version 2.4.4 du
+ serveur HTTP Apache.</dd>
+
+ <dt><code>-g <var>fichier-gnuplot</var></code></dt>
+ <dd>Enregistre toutes les valeurs mesurées dans un fichier 'gnuplot'
+ ou TSV (valeurs séparées par des tabulations). Ce fichier peut être
+ facilement importé dans des programmes comme Gnuplot, IDL,
+ Mathematica, Igor ou même Excel. La première ligne du fichier
+ contient les noms des valeurs.</dd>
+
+ <dt><code>-h</code></dt>
+ <dd>Affiche une aide à propos de l'utilisation du programme.</dd>
+
+ <dt><code>-H <var>en-tête-personnalisé</var></code></dt>
+ <dd>Ajoute des en-têtes supplémentaires à la requête. L'argument se
+ présente sous la forme d'une ligne d'en-tête valide, autrement dit
+ une paire champ/valeur séparés par un caractère ':' (par exemple
+ <code>"Accept-Encoding: zip/zop;8bit"</code>).</dd>
+
+ <dt><code>-i</code></dt>
+ <dd>Effectue des requêtes <code>HEAD</code> plutôt que
+ <code>GET</code>.</dd>
+
+ <dt><code>-k</code></dt>
+ <dd>Active la fonctionnalité des connexions HTTP persistantes
+ (KeepAlive), c'est à dire effectue plusieurs requêtes au cours d'une
+ seule session HTTP. Cette fonctionnalité est désactivée par
+ défaut.</dd>
+
+ <dt><code>-l</code></dt>
+ <dd>Ne signale pas les erreurs si la taille de la réponse n'est pas
+ constante. Cette option peut s'avérer utile pour les pages
+ dynamiques.<br />
+ Disponible à partir de la version 2.4.7 du serveur HTTP Apache.
+ </dd>
+
+ <dt><code>-m <var>HTTP-method</var></code></dt>
+ <dd>Méthode HTTP personnalisée à utiliser pour les requêtes.<br />
+ Disponible à partir de la version 2.4.10 du serveur HTTP
+ Apache.</dd>
+
+ <dt><code>-n <var>requêtes</var></code></dt>
+ <dd>Nombre de requêtes à effectuer au cours du test de performances.
+ Par défaut, une seule requête est effectuée, ce qui ne permet pas
+ d'obtenir des résultats représentatifs.</dd>
+
+ <dt><code>-p <var>fichier-POST</var></code></dt>
+ <dd>Fichier contenant les données pour les requêtes POST.
+ Assurez-vous de spécifier aussi le paramètre <code>-T</code>.</dd>
+
+ <dt><code>-P <var>nom-utilisateur-mandataire</var>:<var>mot-de-passe</var></code></dt>
+ <dd>Fournit les informations d'authentification basique pour un
+ mandataire en-route. Les nom d'utilisateur et mot de passe sont
+ séparés par un simple caractère <code>:</code> et envoyés sur le
+ réseau codés en base64. La chaîne est envoyée, que le mandataire en
+ ait besoin ou non (qu'il ait renvoyé un code "407 proxy
+ authentication needed" ou non).</dd>
+
+ <dt><code>-q</code></dt>
+ <dd>Lorsque plus de 150 requêtes sont traitées, <code>ab</code>
+ affiche la progression du traitement sur <code>stderr</code> tous
+ les 10% du nombre total ou toutes les 100 requêtes. Le drapeau
+ <code>-q</code> permet de supprimer ces messages.</dd>
+
+ <dt><code>-r</code></dt>
+ <dd>Ne s'arrête pas en cas d'erreur de réception du socket.</dd>
+
+ <dt><code>-s <var>timeout</var></code></dt>
+ <dd>Temps maximum d'attente en secondes du socket avant de considérer
+ le délai comme dépassé. La valeur par défaut est de 30 secondes.<br />
+ Disponible à partir de la version 2.4.4 du serveur HTTP
+ Apache.</dd>
+
+ <dt><code>-S</code></dt>
+ <dd>N'affiche ni les valeurs de déviation standards et médianes, ni
+ les messages d'erreur et d'avertissement lorsque les valeurs
+ médianes et moyennes sont égales à une ou deux fois la valeur de
+ déviation standard. Par défaut les valeurs mini/moyenne/maxi sont
+ affichées (support de l'héritage).</dd>
+ <!-- dernière phrase à confirmer -->
+
+ <dt><code>-t <var>limite-durée</var></code></dt>
+ <dd>Durée maximale en secondes du test de performances. Ceci
+ implique un <code>-n 50000</code> en interne. Utilisez cette option
+ si vous souhaitez tester les performances du serveur pendant une
+ durée fixée à l'avance. Par défaut, il n'y a pas de limite de
+ durée.</dd>
+
+ <dt><code>-T <var>type-contenu</var></code></dt>
+ <dd>Valeur de l'en-tête Content-type à utiliser pour les données
+ POST/PUT, par exemple
+ <code>application/x-www-form-urlencoded</code>.
+ La valeur par défaut est <code>text/plain</code>.</dd>
+
+ <dt><code>-u <var>fichier PUT</var></code></dt>
+ <dd>Fichier contenant des données PUT. Ne pas oublier de spécifier
+ aussi <code>-T</code>.</dd>
+
+ <dt><code>-v <var>verbosité</var></code></dt>
+ <dd>Définit le niveau de verbosité - les niveaux <code>4</code> et
+ supérieurs permettent d'afficher des informations à propos des
+ en-têtes, les niveaux <code>3</code> et supérieurs les codes de
+ réponse (404, 200, etc...), et les niveaux <code>2</code> et
+ supérieurs les messages d'avertissement et d'information.</dd>
+
+ <dt><code>-V</code></dt>
+ <dd>Affiche le numéro de version et s'arrête.</dd>
+
+ <dt><code>-w</code></dt>
+ <dd>Affiche les résultats dans des tables HTML. La table par défaut
+ comporte deux colonnes sur fond blanc.</dd>
+
+ <dt><code>-x <var><table>-attributs</var></code></dt>
+ <dd>La chaîne à utiliser comme attributs pour
+ <code><table></code>. Les attributs sont insérés
+ <code><table <var>ici</var> ></code>.</dd>
+
+ <dt><code>-X <var>mandataire</var>[:<var>port</var>]</code></dt>
+ <dd>Utilise un serveur mandataire pour les requêtes.</dd>
+
+ <dt><code>-y <var><tr>-attributs</var></code></dt>
+ <dd>La chaîne à utiliser comme attributs pour
+ <code><tr></code>.</dd>
+
+ <dt><code>-z <var><td>-attributs</var></code></dt>
+ <dd>La chaîne à utiliser comme attributs pour
+ <code><td></code>.</dd>
+
+ <dt><code>-Z <var>algorithme-chiffrement</var></code></dt>
+ <dd>Spécifie l'algorithme de chiffrement SSL/TLS (Voir les
+ algorithme de chiffrement openssl).</dd>
+ </dl>
+</section>
+
+<section id="output"><title>Sortie</title>
+ <p>Vous touverez dans ce qui suit la liste des valeurs retournées
+ par <code>ab</code> :
+ </p>
+
+ <dl>
+ <dt>Server Software</dt>
+ <dd>La valeur, si elle existe, de l'en-tête HTTP
+ <var>server</var> renvoyée dans la première réponse réussie.
+ Elle comporte tous les caractères de l'en-tête jusqu'à ce qu'un
+ caractère de valeur décimale 32 soit rencontré (le plus souvent
+ un espace ou une fin de ligne).</dd>
+
+ <dt>Server Hostname</dt>
+ <dd>Le nom DNS ou l'adresse IP fourni dans la ligne de commande.</dd>
+
+ <dt>Server Port</dt>
+ <dd>Le port auquel ab est connecté. Si la ligne de commande ne
+ spécifie aucun port, le port par défaut sera 80 pour http et 443
+ pour https.</dd>
+
+ <dt>SSL/TLS Protocol</dt>
+ <dd>Les paramètres de protocole négociés entre le client et le
+ serveur. Uniquement si SSL est utilisé.</dd>
+
+ <dt>Document Path</dt>
+ <dd>L'URI de la requête interprété à partir de la chaîne de la
+ ligne de commande.</dd>
+
+ <dt>Document Length</dt>
+ <dd>Il s'agit de la taille en octets du premier document renvoyé
+ avec succès. Si la taille du document est modifiée au cours
+ du test, la réponse est considérée comme une erreur.</dd>
+
+ <dt>Concurrency Level</dt>
+ <dd>Le nombre de clients simultanés utilisés au cours du test.</dd>
+
+ <dt>Time taken for tests</dt>
+ <dd>Il s'agit du temps écoulé entre le moment de la première
+ connexion au socket et la réception de la dernière
+ réponse.</dd>
+
+ <dt>Complete requests</dt>
+ <dd>Le nombre de réponses reçues avec succès.</dd>
+
+ <dt>Failed requests</dt>
+ <dd>Le nombre de requêtes considérées comme erronées. Si ce
+ nombre est différent de 0, une ligne supplémentaire indiquera le
+ nombre de requêtes ayant échoué suite à un problème de
+ connexion, de lecture, de taille de contenu erronée ou
+ d'exceptions.</dd>
+
+ <dt>Write errors</dt>
+ <dd>Le nombre d'erreurs rencontrées en cours d'écriture (broken pipe).</dd>
+
+ <dt>Non-2xx responses</dt>
+ <dd>Le nombre de réponses dont le code était en dehors de la
+ série 200. Si toutes les réponses appartiennent à la série 200,
+ cette ligne est absente.</dd>
+
+ <dt>Keep-Alive requests</dt>
+ <dd>Le nombre de connexions promues à l'état de connexions
+ persistantes.</dd>
+
+ <dt>Total body sent</dt>
+ <dd>Si le test a été configuré dans ce sens, il s'agit du nombre
+ total d'octets envoyés au cours du test. Ce champ est omis si le
+ test ne prévoyait pas d'envoi de corps.</dd>
+
+ <dt>Total transferred</dt>
+ <dd>Le nombre total d'octets reçus du serveur. Ce nombre
+ correspond à peu près au nombre d'octets envoyés sur la ligne.</dd>
+
+ <dt>HTML transferred</dt>
+ <dd>Le nombre total d'octets utiles (contenus) reçus du serveur.
+ Ce nombre n'inclut pas les octets correspondant aux en-têtes
+ HTTP.</dd>
+
+ <dt>Requests per second</dt>
+ <dd>Il s'agit du nombre de requêtes par seconde. Il correspond
+ au nombre de requêtes divisé par la durée totale du traitement.</dd>
+
+ <dt>Time per request</dt>
+ <dd>La durée moyenne du traitement d'une requête. La première
+ valeur est calculée selon la formule <code>concurrency *
+ timetaken * 1000 / done</code>, alors que la seconde valeur est
+ calculée selon la formule <code>timetaken * 1000 / done</code>.</dd>
+
+ <dt>Transfer rate</dt>
+ <dd>Le taux de transfert calculé selon la formule
+ <code>totalread / 1024 / timetaken</code>.</dd>
+ </dl>
+</section>
+
+<section id="bugs"><title>Bogues</title>
+ <p>De nombreux tampons de taille fixe sont déclarés statiquement.
+ Combiné avec l'interprétation poussive des arguments de la ligne de
+ commande, les en-têtes de réponse du serveur et autres entrées
+ externes, ceci peut vous affecter.</p>
+
+ <p>HTTP/1.x n'est pas complètement implémenté ; seules certaines
+ formes de réponses 'attendues' sont acceptées. L'utilisation
+ relativement intense de <code>strstr(3)</code> provoque un affichage
+ en tête de profil, ce qui peut faire croire à un problème de
+ performances ; en d'autres termes, vous mesurez les performances de
+ <code>ab</code> plutôt que celles du serveur.</p>
+</section>
+
+</manualpage>
--- /dev/null
+<?xml version="1.0" ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1174747 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="apachectl.xml.meta">
+<parentdocument href="./">Programmes</parentdocument>
+
+ <title>apachectl - L'interface de contrôle du serveur HTTP
+ Apache</title>
+
+<summary>
+ <p><code>apachectl</code> est un frontal pour le serveur HTTP
+ Apache. Il a été conçu pour aider l'administrateur à contrôler le
+ fonctionnement du démon Apache <program>httpd</program>.</p>
+
+ <p>Le script <code>apachectl</code> possède deux modes de
+ fonctionnement. Il peut fonctionner en tant que simple frontal
+ de la commande <program>httpd</program> et ne fait alors que
+ définir toute variable d'environnement nécessaire, puis invoque
+ <program>httpd</program> en lui passant tout argument de ligne de
+ commande souhaité. Il peut aussi fonctionner en tant que script
+ d'initialisation SysV n'acceptant qu'un seul argument tel que
+ <code>start</code>, <code>restart</code> et <code>stop</code>, et
+ traduisant ce dernier en signaux appropriés pour le démon
+ <program>httpd</program>.</p>
+
+ <p>Si votre installation d'Apache utilise des chemins non
+ standards, vous devrez éditer le script <code>apachectl</code> afin
+ de définir les chemins appropriés pour le binaire
+ <program>httpd</program>. Vous pouvez aussi spécifier tout argument
+ de ligne de commande de <program>httpd</program> nécessaire. Voir
+ les commentaires dans le script pour plus de détails.</p>
+
+ <p>Le script <code>apachectl</code> renvoie une valeur égale à 0 en
+ cas de succès, et une valeur supérieure à 0 en cas de problème.
+ Voir les commentaires dans le script pour plus de détails.</p>
+</summary>
+<seealso><a href="../invoking.html">Démarrer Apache</a></seealso>
+<seealso><a href="../stopping.html">Arrêter Apache</a></seealso>
+<seealso><a href="../configuring.html">Fichiers de
+configuration</a></seealso>
+<seealso><a href="../platform/">Documentation spécifique aux
+plates-formes</a></seealso>
+<seealso><program>httpd</program></seealso>
+
+<section id="synopsis"><title>Résumé</title>
+
+<p>En mode frontal (pass-through), <code>apachectl</code> peut spécifier
+tous les arguments qu'accepte le binaire <program>httpd</program>.</p>
+
+<p><code><strong>apachectl</strong> [ <var>argument-httpd</var> ]</code></p>
+
+<p>En mode script d'initialisation SysV, <code>apachectl</code>
+n'accepte qu'un seul des arguments définis ci-dessous.</p>
+
+<p><code><strong>apachectl</strong> <var>commande</var></code></p>
+
+</section>
+
+<section id="options"><title>Options</title>
+
+<p>Seules les options du style initialisation SysV sont décrites ici.
+Les autres arguments sont décrits dans la page de manuel de
+<program>httpd</program>.</p>
+
+<dl>
+
+<dt><code>start</code></dt>
+
+<dd>Démarre le démon Apache <program>httpd</program>. Renvoie une erreur
+s'il est déjà en cours d'exécution. Équivalent à <code>apachectl -k
+start</code>.</dd>
+
+<dt><code>stop</code></dt>
+
+<dd>Arrête le démon Apache <program>httpd</program>. Équivalent à
+<code>apachectl -k stop</code>.</dd>
+
+<dt><code>restart</code></dt>
+
+<dd>Redémarre le démon Apache <program>httpd</program>. Si le démon
+n'est pas en cours d'exécution, il est démarré. Cette option vérifie
+automatiquement les fichiers de configuration (de la même manière que
+l'option <code>configtest</code> ) avant de lancer le redémarrage, afin
+d'être sûr que le fonctionnement du démon ne sera pas compromis.
+Equivalent à <code>apachectl -k restart</code>.</dd>
+
+<dt><code>fullstatus</code></dt>
+
+<dd>Affiche le rapport d'état complet du module
+<module>mod_status</module>. Pour que ceci fonctionne,
+<module>mod_status</module> doit être activé dans votre serveur et vous
+devez disposer d'un navigateur en mode texte tel que <code>lynx</code>
+sur votre système. L'URL utilisée pour accéder au rapport d'état peut
+être modifiée en définissant la variable <code>STATUSURL</code> dans le
+script.</dd>
+
+<dt><code>status</code></dt>
+
+<dd>Affiche un rapport d'état succinct. Similaire à l'option
+<code>fullstatus</code>, excepté que la liste des requêtes en cours de
+traitement est omise.</dd>
+
+<dt><code>graceful</code></dt>
+
+<dd>Redémarre le démon Apache <program>httpd</program> en douceur. Si le
+démon n'est pas en cours d'exécution, il est démarré. À la différence
+d'un redémarrage normal, les connexions en cours ne sont pas fermées.
+Comme effet de bord, les anciens fichiers journaux ne seront pas fermés
+immédiatement. Cela signifie que si l'on utilise un script de rotation
+des journaux, un délai suffisant sera nécessaire afin d'être sûr que les
+fichiers journaux seront bien fermés avant leur traitement par le script
+de rotation. Cette option vérifie
+automatiquement les fichiers de configuration (de la même manière que
+l'option <code>configtest</code> ) avant de lancer le redémarrage, afin
+d'être sûr que le fonctionnement du démon ne sera pas compromis.
+Équivalent à <code>apachectl -k graceful</code>.</dd>
+
+<dt><code>graceful-stop</code></dt>
+
+<dd>Arrête le démon Apache <program>httpd</program> en douceur. À la
+différence d'un arrêt normal, les connexions en cours ne sont pas
+fermées. Comme effet de bord, les anciens fichiers journaux ne seront
+pas fermés immédiatement. Équivalent à <code>apachectl -k
+graceful-stop</code>.</dd>
+
+<dt><code>configtest</code></dt>
+
+<dd>Effectue une vérification de la syntaxe du fichier de configuration.
+Avec cette option, le script parcourt le fichier de configuration et
+renvoie soit <code>Syntax Ok</code>, soit des informations détaillées à
+propos des éventuelles erreurs de syntaxe. Equivalent à <code>apachectl
+-t</code>.</dd>
+
+</dl>
+
+<p>Les options suivantes étaient disponibles dans les anciennes versions
+et ont été supprimées.</p>
+
+<dl>
+
+<dt><code>startssl</code></dt>
+
+<dd>Pour démarrer <program>httpd</program> avec le support SSL, vous
+devez éditer votre fichier de configuration et y inclure les
+directives appropriées, puis utiliser la commande de démarrage normale
+<code>apachectl start</code>.</dd>
+
+</dl>
+
+</section>
+
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1494952 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="apxs.xml.meta">
+<parentdocument href="./">Programmes</parentdocument>
+
+<title>apxs - Utilitaire pour les extensions d'Apache</title>
+
+<summary>
+ <p><code>apxs</code> est un utilitaire permettant de compiler et
+ d'installer des modules en tant qu'extensions du serveur HTTP
+ Apache. A cet effet, un objet dynamique partagé (DSO) est compilé à
+ partir d'un ou plusieurs <var>fichiers</var> sources ou objets et
+ peut être chargé pendant l'exécution du serveur Apache via la
+ directive <directive module="mod_so">LoadModule</directive> du
+ module <module>mod_so</module>.</p>
+
+ <p>Pour pouvoir utiliser ce mécanisme d'extensions, votre
+ plate-forme doit supporter la fonctionnalité DSO, et votre binaire
+ <program>httpd</program> Apache doit être compilé avec le module
+ <module>mod_so</module>. Si ce n'est pas le cas, l'utilitaire
+ <code>apxs</code> vous le signalera. Vous pouvez aussi vérifier
+ vous-même ces prérequis en exécutant manuellement la commande :</p>
+
+ <example>
+ $ httpd -l
+ </example>
+
+ <p>Le module <module>mod_so</module> doit faire partie de la liste
+ des modules affichée. Si ces prérequis sont présents, vous pouvez
+ facilement étendre les fonctionnalités de votre serveur Apache en
+ installant vos propres modules à l'aide de l'utilitaire
+ <code>apxs</code>, via le mécanisme DSO :</p>
+
+ <example>
+ $ apxs -i -a -c mod_foo.c<br />
+ gcc -fpic -DSHARED_MODULE -I/chemin/vers/apache/include -c mod_foo.c<br />
+ ld -Bshareable -o mod_foo.so mod_foo.o<br />
+ cp mod_foo.so /chemin/vers/apache/modules/mod_foo.so<br />
+ chmod 755 /chemin/vers/apache/modules/mod_foo.so<br />
+ [activation du module `foo' dans /chemin/vers/apache/etc/httpd.conf]<br />
+ $ apachectl restart<br />
+ /chemin/vers/apache/sbin/apachectl restart: httpd not running, trying to start<br />
+ [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module<br />
+ /chemin/vers/apache/sbin/apachectl restart: httpd started<br />
+ $ _
+ </example>
+
+ <p>Les arguments <var>fichiers</var> peuvent correspondre à un
+ fichier source C (.c), un fichier objet (.o) ou même une archive de
+ bibliothèques (.a). L'utilitaire <code>apxs</code> reconnaît
+ automatiquement ces extensions et utilise automatiquement les
+ fichiers source C pour la compilation, et les fichiers objets et
+ archives pour l'édition de liens. Cependant, si vous utilisez des
+ fichiers objets précompilés, assurez-vous que leur code soit
+ indépendant de la position (PIC), afin de pouvoir les utiliser avec
+ un objet partagé chargé dynamiquement. Avec GCC, par exemple, il
+ vous suffit de toujours utiliser l'option de compilation
+ <code>-fpic</code>. Pour les autres compilateurs C, consultez leur
+ page de manuel, ou vérifiez les drapeaux qu'<code>apxs</code>
+ utilise pour compiler les fichiers objets.</p>
+
+ <p>Pour plus de détails à propos du support DSO dans Apache, lire la
+ documentation du module <module>mod_so</module>, ou même, consultez
+ le fichier source <code>src/modules/standard/mod_so.c</code>.</p>
+</summary>
+<seealso><program>apachectl</program></seealso>
+<seealso><program>httpd</program></seealso>
+
+<section id="synopsis"><title>Syntaxe</title>
+ <p><code><strong>apxs</strong> -<strong>g</strong>
+ [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
+ -<strong>n</strong> <var>nom-module</var></code></p>
+
+ <p><code><strong>apxs</strong> -<strong>q</strong>
+ [ -<strong>v</strong> ]
+ [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
+ <var>requête</var> ...</code></p>
+
+ <p><code><strong>apxs</strong> -<strong>c</strong>
+ [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
+ [ -<strong>o</strong> <var>fichier-dso</var> ]
+ [ -<strong>I</strong> <var>répertoire-inc</var> ]
+ [ -<strong>D</strong> <var>nom</var>=<var>valeur</var> ]
+ [ -<strong>L</strong> <var>répertoire-lib</var> ]
+ [ -<strong>l</strong> <var>nom-bibliothèque</var> ]
+ [ -<strong>Wc,</strong><var>options-compilation</var> ]
+ [ -<strong>Wl,</strong><var>options-edition-liens</var> ]
+ <var>fichiers</var> ...</code></p>
+
+ <p><code><strong>apxs</strong> -<strong>i</strong>
+ [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
+ [ -<strong>n</strong> <var>nom-module</var> ]
+ [ -<strong>a</strong> ]
+ [ -<strong>A</strong> ]
+ <var>fichier-dso</var> ...</code></p>
+
+ <p><code><strong>apxs</strong> -<strong>e</strong>
+ [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
+ [ -<strong>n</strong> <var>nom-module</var> ]
+ [ -<strong>a</strong> ]
+ [ -<strong>A</strong> ]
+ <var>fichier-dso</var> ...</code></p>
+</section>
+
+<section id="options"><title>Options</title>
+ <section id="options.common"><title>Options courantes</title>
+ <dl>
+ <dt><code>-n <var>nom-module</var></code></dt>
+ <dd>Définit explicitement le nom du module pour les options
+ <code>-i</code> (install) et <code>-g</code> (génération de
+ modèles). Utilisez cette option pour spécifier de manière
+ explicite le nom du module. Pour l'option <code>-g</code>, cette
+ option est nécessaire ; pour l'option <code>-i</code>,
+ l'utilitaire <code>apxs</code> tente de déterminer le nom du
+ module à partir des sources, ou (à défaut) en le déduisant du nom
+ de fichier.</dd>
+ </dl>
+ </section>
+
+ <section id="options.query"><title>Options de requête</title>
+ <dl>
+ <dt><code>-q</code></dt>
+ <dd>Effectue une requête à propos des variables et de
+ l'environnement utilisés pour compiler <code>httpd</code>.
+ Lorsqu'elle est invoquée sans paramètre <var>requête</var>, cette
+ option affiche toutes les variables connues, ainsi que leurs
+ valeurs. Le paramètre optionnel <code>-v</code> formate la liste
+ affichée.
+
+ <p>Utilisez cette option pour déterminer manuellement les options
+ utilisées pour compiler le binaire <code>httpd</code> qui chargera
+ votre module. Ajoutez par exemple</p>
+ <example>
+ INC=-I`apxs -q INCLUDEDIR`
+ </example>
+
+ <p>dans vos propres Makefiles si vous devez accéder manuellement
+ aux fichiers d'en-têtes C d'Apache.</p></dd>
+ </dl>
+ </section>
+
+ <section id="options.conf"><title>Options de configuration</title>
+ <dl>
+ <dt><code>-S <var>nom</var>=<var>valeur</var></code></dt>
+ <dd>Cette option permet de modifier la configuration d'apxs
+ décrite ci-dessus.</dd>
+ </dl>
+ </section>
+
+ <section id="options.template"><title>Option de génération des
+ modèles</title>
+ <dl>
+ <dt><code>-g</code></dt>
+ <dd>Cette option permet de générer un sous-répertoire
+ <var>nom</var> (voir option <code>-n</code>) contenant deux
+ fichiers : le premier fichier est un exemple de fichier source de
+ module nommé <code>mod_<var>nom</var>.c</code> que l'on peut
+ utiliser comme modèle pour créer ses propres modules, ou comme
+ point de départ pour se familiariser avec le mécanisme apxs ; le
+ second fichier est le <code>Makefile</code> correspondant
+ facilitant la compilation et l'installation de ce module.</dd>
+ </dl>
+ </section>
+ <section id="options.dso"><title>Options de compilation DSO</title>
+ <dl>
+ <dt><code>-c</code></dt>
+ <dd>Cette option indique une opération de compilation. Tout
+ d'abord, les fichiers sources (.c) spécifiés par
+ <var>fichiers</var> sont compilés en fichiers objets
+ correspondants (.o), puis un objet dynamiquement partagé
+ <var>fichier-dso</var> est compilé via une édition de liens de ces
+ fichiers objets avec les autres fichiers objets (.o and .a)
+ spécifiés par <var>fichiers</var>. Si l'option <code>-o</code>
+ n'est pas spécifiée, le nom du fichier résultant est déduit du
+ premier nom de fichier spécifié par <var>fichiers</var>, et ainsi
+ prend en général pour valeur par défaut
+ <code>mod_<var>nom</var>.so</code>.</dd>
+
+ <dt><code>-o <var>fichier-dso</var></code></dt>
+ <dd>Spécifie de manière explicite le nom de fichier de l'objet
+ partagé dynamiquement créé. Sans cette option, et si le nom ne
+ peut pas être déduit de la liste <var>fichiers</var>, c'est le nom
+ par défaut <code>mod_unknown.so</code> qui sera utilisé.</dd>
+
+ <dt><code>-D <var>nom</var>=<var>valeur</var></code></dt>
+ <dd>Cette option est transmise directement à la commande de
+ compilation. Vous pouvez l'utiliser pour ajouter vos propres
+ définitions au processus de compilation. </dd>
+
+ <dt><code>-I <var>répertoire-inc</var></code></dt>
+ <dd>Cette option est transmise directement à la commande de
+ compilation. Vous pouvez l'utiliser pour ajouter vos propres
+ chemins de recherche des répertoires <code>include</code> au processus de
+ compilation.</dd>
+
+ <dt><code>-L <var>répertoire-lib</var></code></dt>
+ <dd>Cette option est transmise directement à la commande d'édition
+ de liens. Vous pouvez l'utiliser pour ajouter vos propres
+ chemins de recherche des répertoires de bibliothèques au processus
+ de compilation.</dd>
+
+ <dt><code>-l <var>nom-bibliothèque</var></code></dt>
+ <dd>Cette option est transmise directement à la commande d'édition
+ de liens. Vous pouvez l'utiliser pour ajouter vos propres
+ bibliothèques à rechercher au processus de compilation.</dd>
+
+ <dt><code>-Wc,<var>options-compilation</var></code></dt>
+ <dd>Cette option transmet les <var>options-compilation</var> en
+ tant qu'options supplémentaires à la commande <code>libtool
+ --mode=compile</code>. Vous pouvez l'utiliser pour ajouter des
+ options locales spécifiques au compilateur.</dd>
+
+ <dt><code>-Wl,<var>options-edition-liens</var></code></dt>
+ <dd>Cette option transmet les <var>options-edition-liens</var> en
+ tant qu'options supplémentaires à la commande <code>libtool
+ --mode=link</code>. Vous pouvez l'utiliser pour ajouter des
+ options locales spécifiques à l'éditeur de liens.</dd>
+
+ <dt><code>-p</code></dt>
+ <dd>Avec cette option, apxs effectue l'édition de liens avec les
+ bibliothèques apr/apr-util. Elle permet de compiler les programmes
+ helper qui utilisent les bibliothèques apr/apr-util.</dd>
+ </dl>
+ </section>
+
+ <section id="options.dsoinstall">
+ <title>Options d'installation et de configuration DSO</title>
+ <dl>
+ <dt><code>-i</code></dt>
+ <dd>Cette option indique une opération d'installation et installe
+ un ou plusieurs objets dynamiquement partagés dans le répertoire
+ <var>modules</var> du serveur.</dd>
+
+ <dt><code>-a</code></dt>
+ <dd>Cette option active le module en ajoutant automatiquement une
+ directive <directive module="mod_so">LoadModule</directive>
+ correspondante au fichier de configuration d'Apache
+ <code>httpd.conf</code>, ou en l'activant s'il existe déjà.</dd>
+
+ <dt><code>-A</code></dt>
+ <dd>Identique à l'option <code>-a</code>, à la différence que la
+ directive <directive module="mod_so">LoadModule</directive> créée
+ est préfixée par un caractère dièse (<code>#</code>) ; le module
+ est ainsi préparé pour une activation ultérieure, mais est
+ désactivé dans un premier temps.</dd>
+
+ <dt><code>-e</code></dt>
+ <dd>Cette option indique une opération d'édition de liens et peut
+ être utilisée avec les options <code>-a</code> et <code>-A</code>
+ de la même manière qu'au cours de l'opération d'installation pour
+ éditer le fichier de configuration d'Apache
+ <code>httpd.conf</code>, sans toutefois installer le module.</dd>
+ </dl>
+ </section>
+</section>
+
+<section id="examples"><title>Exemples</title>
+ <p>Supposons que vous disposiez d'un module Apache nommé
+ <code>mod_foo.c</code> et destiné à étendre les fonctionnalités du
+ serveur. Pour ce faire, vous devez tout d'abord compiler le fichier
+ source C en un objet partagé pouvant être chargé dans le serveur
+ Apache à l'exécution, via la commande suivante :</p>
+
+ <example>
+ $ apxs -c mod_foo.c<br />
+ /chemin/vers/libtool --mode=compile gcc ... -c mod_foo.c<br />
+ /chemin/vers/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo<br />
+ $ _
+ </example>
+
+ <p>Vous devez ensuite vérifier la configuration d'Apache en vous
+ assurant qu'une directive <directive
+ module="mod_so">LoadModule</directive> est bien présente pour
+ charger cet objet partagé. Pour simplifier cette étape,
+ <code>apxs</code> propose une méthode automatique d'installation de
+ l'objet partagé dans son répertoire "modules", et de mise à jour du
+ fichier <code>httpd.conf</code> en conséquence. Pour bénéficier de
+ cette automatisation, utilisez la commande suivante :</p>
+
+ <example>
+ $ apxs -i -a mod_foo.la<br />
+ /chemin/vers/instdso.sh mod_foo.la /chemin/vers/apache/modules<br />
+ /chemin/vers/libtool --mode=install cp mod_foo.la /chemin/vers/apache/modules
+ ...
+ chmod 755 /chemin/vers/apache/modules/mod_foo.so<br />
+ [activation du module `foo' dans /chemin/vers/apache/conf/httpd.conf]<br />
+ $ _
+ </example>
+
+ <p>Une ligne contenant</p>
+
+ <example>
+ LoadModule foo_module modules/mod_foo.so
+ </example>
+
+ <p>est alors ajoutée au fichier de configuration si ce n'est pas
+ déjà fait. Si vous voulez que le module soit désactivé par défaut,
+ utilisez l'option <code>-A</code> comme suit :</p>
+
+ <example>
+ $ apxs -i -A mod_foo.c
+ </example>
+
+ <p>Pour un test rapide du mécanisme apxs, vous pouvez créer un
+ exemple de modèle de module Apache, ainsi que le Makefile
+ correspondant via :</p>
+
+ <example>
+ $ apxs -g -n foo<br />
+ Creating [DIR] foo<br />
+ Creating [FILE] foo/Makefile<br />
+ Creating [FILE] foo/modules.mk<br />
+ Creating [FILE] foo/mod_foo.c<br />
+ Creating [FILE] foo/.deps<br />
+ $ _
+ </example>
+
+ <p>Vous pouvez ensuite compiler immédiatement ce module exemple en
+ objet partagé et le charger dans le serveur Apache :</p>
+
+ <example>
+ $ cd foo<br />
+ $ make all reload<br />
+ apxs -c mod_foo.c<br />
+ /chemin/vers/libtool --mode=compile gcc ... -c mod_foo.c<br />
+ /chemin/vers/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo<br />
+ apxs -i -a -n "foo" mod_foo.la<br />
+ /chemin/vers/instdso.sh mod_foo.la /chemin/vers/apache/modules<br />
+ /chemin/vers/libtool --mode=install cp mod_foo.la /chemin/vers/apache/modules
+ ...
+ chmod 755 /chemin/vers/apache/modules/mod_foo.so<br />
+ [activation du module `foo' dans /chemin/vers/apache/conf/httpd.conf]<br />
+ apachectl restart<br />
+ /chemin/vers/apache/sbin/apachectl restart: httpd not running, trying to start<br />
+ [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module<br />
+ /chemin/vers/apache/sbin/apachectl restart: httpd started<br />
+ $ _
+ </example>
+
+</section>
+</manualpage>
--- /dev/null
+<?xml version='1.0' encoding='UTF-8' ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision: 1750567 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="configure.xml.meta">
+<parentdocument href="./">Programmes</parentdocument>
+
+ <title>configure - Configure l'arborescence des sources</title>
+
+<summary>
+ <p>Le script <code>configure</code> permet de configurer
+ l'arborescence des sources afin de compiler et installer le serveur
+ HTTP Apache sur votre plate-forme spécifique. De nombreuses options
+ vous permettent de compiler un serveur correspondant à vos propres
+ besoins.</p>
+
+ <p>Ce script, situé dans le répertoire racine de la distribution des
+ sources, ne concerne que la compilation sur les systèmes Unix et
+ apparentés. Pour les autres plates-formes, voir la <a
+ href="../platform/">documentation spécifique</a> de ces
+ dernières.</p>
+</summary>
+
+<seealso><a href="../install.html">Compilation et installation</a></seealso>
+
+<section id="synopsis"><title>Résumé</title>
+ <p>Vous devez appeler le script <code>configure</code> depuis le
+ répertoire racine de la distribution.</p>
+
+ <p><code><strong>./configure</strong> [<var>OPTION</var>]...
+ [<var>VARIABLE</var>=<var>VALEUR</var>]...</code></p>
+
+ <p>Pour définir des variables d'environnement (par exemple
+ <code>CC</code>,<code>CFLAGS</code>, etc...), utilisez la clause
+ <code><var>VARIABLE</var>=<var>VALEUR</var></code>. Voir <a
+ href="#env">ci-dessous</a> pour la description de quelques variables
+ usuelles.</p>
+</section>
+
+<section id="options"><title>Options</title>
+ <ul>
+ <li><a href="#configurationoptions">Options de Configuration</a></li>
+ <li><a href="#installationdirectories">Répertoires d'installation</a></li>
+ <li><a href="#systemtypes">Types de Systèmes</a></li>
+ <li><a href="#optionalfeatures">Fonctionnalités optionnelles</a></li>
+ <li><a href="#supportopt">Options pour les programmes support</a></li>
+ </ul>
+
+ <section id="configurationoptions"><title>Options de Configuration</title>
+
+ <p>Les options suivantes affectent le comportement du script
+ <code>configure</code>.</p>
+
+ <dl>
+ <dt><code>-C</code></dt>
+ <dt><code>--config-cache</code></dt>
+ <dd>C'est un alias pour <code>--cache-file=config.cache</code></dd>
+
+ <dt><code>--cache-file=<var>FICHIER</var></code></dt>
+ <dd>Les résultats des tests seront mis en cache dans le fichier
+ <var>FICHIER</var>. Cette option est désactivée par défaut.</dd>
+
+ <dt><code>-h</code></dt>
+ <dt><code>--help [short|recursive]</code></dt>
+ <dd>Affichage de l'aide et sortie du script. Avec l'argument
+ <code>short</code>, seules les options spécifiques à ce paquet
+ seront affichées. L'argument <code>recursive</code> permet
+ d'afficher l'aide de tous les paquets inclus.</dd>
+
+ <dt><code>-n</code></dt>
+ <dt><code>--no-create</code></dt>
+ <dd>Le script <code>configure</code> s'exécute normalement, mais
+ ne crée pas les fichiers résultants. Ceci permet de vérifier les
+ résultats des tests avant de générer les fichiers makefile pour la
+ compilation.</dd>
+
+ <dt><code>-q</code></dt>
+ <dt><code>--quiet</code></dt>
+ <dd>Les messages <code>checking ...</code> ne sont pas affichés au
+ cours du processus de configuration.</dd>
+
+ <dt><code>--srcdir=<var>DIR</var></code></dt>
+ <dd>Définit le répertoire <var>DIR</var> comme répertoire des
+ fichiers sources. Par défaut, c'est le répertoire où se situe le
+ script <code>configure</code>, ou le répertoire parent.</dd>
+
+ <dt><code>--silent</code></dt>
+ <dd>Identique à <code>--quiet</code></dd>
+
+ <dt>-V</dt>
+ <dt>--version</dt>
+ <dd>Affichage des informations de copyright et sortie du
+ script.</dd>
+ </dl>
+ </section>
+
+ <section id="installationdirectories"><title>Répertoires
+ d'installation</title>
+
+ <p>Ces options permettent de spécifier le répertoire d'installation.
+ L'arborescence de l'installation dépend de l'organisation (layout)
+ sélectionnée.</p>
+
+ <dl>
+ <dt><code>--prefix=<var>PREFIX</var></code></dt>
+ <dd>Installe les fichiers indépendants de l'architecture dans
+ <var>PREFIX</var>. Par défaut, le répertoire d'installation est
+ <code>/usr/local/apache2</code>.</dd>
+
+ <dt><code>--exec-prefix=<var>EPREFIX</var></code></dt>
+ <dd>Installe les fichiers dépendants de l'architecture dans
+ <var>EPREFIX</var>. La valeur par défaut de cette option
+ correspond à la valeur de la variable
+ <var>PREFIX</var>.</dd>
+ </dl>
+
+ <p>Par défaut, <code>make install</code> va installer tous les
+ fichiers dans <code>/usr/local/apache2/bin</code>,
+ <code>/usr/local/apache2/lib</code>, etc... Vous pouvez cependant
+ spécifier un préfixe d'installation autre que
+ <code>/usr/local/apache2</code> en utilisant l'option
+ <code>--prefix</code> (par exemple <code>--prefix=$HOME</code>).</p>
+
+ <section id="layout"><title>Spécifier une organisation (layout) des
+ répertoires</title>
+ <dl>
+ <dt><code>--enable-layout=<var>LAYOUT</var></code></dt>
+ <dd>Configure le code source et les scripts de compilation de
+ façon à ce que l'arborescence d'installation adopte
+ l'organisation <var>LAYOUT</var>. Ceci vous permet de spécifier
+ des chemins séparés pour chaque type de fichier de
+ l'installation du serveur HTTP Apache. Le fichier
+ <code>config.layout</code> contient de nombreux exemples de
+ configurations, et vous pouvez créer vos propres configurations
+ personnalisées en vous basant sur ces exemples. Les différentes
+ organisations contenues dans ce fichier sont enregistrées sous
+ forme de sections <code><Layout
+ FOO>...</Layout></code> et référencées dans ce cas par
+ le nom <code>FOO</code>. L'organisation par défaut
+ est <code>Apache</code>.</dd>
+ </dl>
+ </section>
+
+ <section id="directoryfinetuning"><title>Configuration avancée des
+ répertoires d'installation</title>
+
+ <p>Pour une définition plus précise des répertoires
+ d'installation, utilisez les options ci-dessous. Notez que les
+ répertoires par défaut sont définis par <code>autoconf</code>, et
+ que leurs valeurs sont écrasées par les valeurs correspondantes
+ définies lors du choix de l'organisation des répertoires
+ (layout).</p>
+
+ <dl>
+ <dt><code>--bindir=<var>DIR</var></code></dt>
+ <dd>Installe les exécutables utilisateur dans <var>DIR</var>.
+ Les exécutables utilisateur sont des programmes support comme
+ <program>htpasswd</program>, <program>dbmmanage</program>,
+ etc..., et destinés aux administrateurs du site. Par défaut,
+ <var>DIR</var> est défini à
+ <code><var>EPREFIX</var>/bin</code>.</dd>
+
+ <dt><code>--datadir=<var>DIR</var></code></dt>
+ <dd>Installe les données non modifiables indépendantes de
+ l'architecture dans <var>DIR</var>. Par défaut,
+ <code>datadir</code> est défini à
+ <code><var>PREFIX</var>/share</code>. Cette option est fournie
+ par autoconf et actuellement inutilisée.</dd>
+
+ <dt><code>--includedir=<var>DIR</var></code></dt>
+ <dd>Installe les fichiers d'en-têtes C dans <var>DIR</var>. Par
+ défaut, <code>includedir</code> est défini à
+ <code><var>EPREFIX</var>/include</code>.</dd>
+
+ <dt><code>--infodir=<var>DIR</var></code></dt>
+ <dd>Installe la documentation info dans <var>DIR</var>. Par
+ défaut, <code>infodir</code> est défini à
+ <code><var>PREFIX</var>/info</code>. Cette option est
+ actuellement inutilisée.</dd>
+
+ <dt><code>--libdir=<var>DIR</var></code></dt>
+ <dd>Installe les fichiers objet des bibliothèques dans
+ <var>DIR</var>. Par défaut, <code>libdir</code> est défini à
+ <code><var>EPREFIX</var>/lib</code>.</dd>
+
+ <dt><code>--libexecdir=<var>DIR</var></code></dt>
+ <dd>Installe les exécutables du programme (autrement dit les
+ modules partagés) dans <var>DIR</var>. Par défaut,
+ <code>libexecdir</code> est défini à
+ <code><var>EPREFIX</var>/modules</code>.</dd>
+
+ <dt><code>--localstatedir=<var>DIR</var></code></dt>
+ <dd>Installe les données temporaires modifiables spécifiques à
+ la machine dans
+ <var>DIR</var>. Par défaut, <code>localstatedir</code> est
+ défini à <code><var>PREFIX</var>/var</code>. Cette option est
+ fournie par <code>autoconf</code> et est actuellement
+ inutilisée.</dd>
+
+ <dt><code>--mandir=<var>DIR</var></code></dt>
+ <dd>Installe les pages de manuel dans <var>DIR</var>. Par
+ défaut, <code>mandir</code> est défini à
+ <code><var>EPREFIX</var>/man</code>.</dd>
+
+ <dt><code>--oldincludedir=<var>DIR</var></code></dt>
+ <dd>Installe les fichiers d'en-têtes C pour les programmes
+ autres que gcc dans <var>DIR</var>. Par défaut,
+ <code>oldincludedir</code> est défini à
+ <code>/usr/include</code>. Cette option est fournie par
+ <code>autoconf</code> et est actuellement inutilisée.</dd>
+
+ <dt><code>--sbindir=<var>DIR</var></code></dt>
+ <dd>Installe les exécutables de l'administrateur système dans
+ <var>DIR</var>. Ce sont les programmes du serveur comme
+ <program>httpd</program>, <program>apachectl</program>,
+ <program>suexec</program>, etc..., qui sont nécessaires à
+ l'exécution du serveur HTTP Apache. Par défaut,
+ <code>sbindir</code> est défini à
+ <code><var>EPREFIX</var>/sbin</code>.</dd>
+
+ <dt><code>--sharedstatedir=<var>DIR</var></code></dt>
+ <dd>Installe les données modifiables indépendantes de
+ l'architecture dans <var>DIR</var>. Par défaut,
+ <code>sharedstatedir</code> est défini à
+ <code><var>PREFIX</var>/com</code>. Cette option est fournie par
+ <code>autoconf</code> et est actuellement inutilisée.</dd>
+
+ <dt><code>--sysconfdir=<var>DIR</var></code></dt>
+ <dd>Installe les données non modifiables spécifiques à la
+ machine comme les fichiers de configuration du serveur
+ <code>httpd.conf</code>, <code>mime.types</code>, etc... dans
+ <var>DIR</var>. Par défaut, <code>sysconfdir</code> est défini à
+ <code><var>PREFIX</var>/conf</code>.</dd>
+ </dl>
+ </section>
+ </section>
+
+ <section id="systemtypes"><title>Types de systèmes</title>
+
+ <p>Ces options sont utilisées pour la cross-compilation du serveur
+ HTTP Apache afin de pouvoir l'utiliser sur un autre système. Dans le
+ cas général où la compilation et l'exécution du serveur ont lieu sur
+ le même système, ces options ne sont pas utilisées.</p>
+
+ <dl>
+ <dt><code>--build=<var>BUILD</var></code></dt>
+ <dd>Définit le type du système sur lequel les outils sont
+ compilés. Par défaut, il s'agit de la chaîne renvoyée par le
+ script <code>config.guess</code>.</dd>
+
+ <dt><code>--host=<var>HOST</var></code></dt>
+ <dd>Définit le type du système sur lequel le serveur s'exécutera.
+ Par défaut, <var>HOST</var> est identique à <var>BUILD</var>.</dd>
+
+ <dt><code>--target=<var>TARGET</var></code></dt>
+ <dd>Configure pour construire des compilateurs pour le type de
+ système <var>TARGET</var>. Par défaut, <var>TARGET</var> est
+ identique à <var>HOST</var>. Cette option est fournie par
+ <code>autoconf</code> et n'est pas requise par le serveur HTTP
+ Apache.</dd>
+ </dl>
+ </section>
+
+ <section id="optionalfeatures"><title>Fonctionnalités
+ optionnelles</title>
+
+ <p>Ces options vous permettent de configurer avec précision les
+ fonctionnalités de votre futur serveur HTTP.</p>
+
+ <section id="generaloptfeat"><title>Syntaxe générale</title>
+ <p>D'une manière générale, vous pouvez utiliser la syntaxe
+ suivante pour activer ou désactiver une fonctionnalité :</p>
+
+ <dl>
+ <dt><code>--disable-<var>FONCTIONNALITE</var></code></dt>
+ <dd>Désactive la fonctionnalité <var>FONCTIONNALITE</var>.
+ Identique à
+ <code>--enable-<var>FONCTIONNALITE</var>=no</code>.</dd>
+
+ <dt><code>--enable-<var>FONCTIONNALITE</var>[=<var>ARG</var>]</code></dt>
+ <dd>Active la fonctionnalité <var>FONCTIONNALITE</var>. La
+ valeur par défaut de <var>ARG</var> est <code>yes</code>.</dd>
+
+ <dt><code>--enable-<var>MODULE</var>=shared</code></dt>
+ <dd>Le module spécifié sera compilé en tant que module DSO. Par
+ défaut, les modules activés sont liés dynamiquement.</dd>
+
+ <dt><code>--enable-<var>MODULE</var>=static</code></dt>
+ <dd>Le module correspondant sera lié statiquement.</dd>
+ </dl>
+
+ <note><title>Note</title>
+ Si vous spécifiez <code>--enable-<var>foo</var></code>, et si
+ <var>foo</var> n'existe pas, <code>configure</code> ne le
+ signalera pas ; vous devez donc prendre soin de taper les
+ options correctement.
+ </note>
+ </section>
+
+ <section id="choosemodules"><title>Choix des modules à compiler</title>
+ <p>La plupart des modules sont compilés par défaut et ils doivent être
+ désactivés de manière explicite ou via le mots-clé <code>few</code> (voir
+ ci-dessous <code>--enable-modules</code>,
+ <code>--enable-mods-shared</code> et <code>--enable-mods-static</code>
+ pour une explication plus détaillée), ou
+ <code>--enable-modules=none</code> pour les désactiver tous.</p>
+
+ <p>Par défaut, les autres modules ne sont pas compilés et doivent
+ être activés explicitement, ou en utilisant les mots-clés
+ <code>all</code> ou <code>reallyall</code> pour être disponibles.</p>
+
+ <p>Pour déterminer quels modules sont compilés par défaut,
+ exécutez la commande <code>./configure -h</code> ou
+ <code>./configure --help</code>, et consultez les <code>Optional
+ Features</code>. Par exemple, supposons que vous soyez intéressé
+ par les modules <code>mod_example1</code> et
+ <code>mod_example2</code>, et que vous voyiez ceci :</p>
+
+ <example><pre>Optional Features:
+ ...
+ --disable-example1 example module 1
+ --enable-example2 example module 2
+ ...</pre></example>
+
+ <p>Le module <code>mod_example1</code> est ici activé par
+ défaut, et vous devez spécifier <code>--disable-example1</code>
+ si vous ne voulez pas le compiler. Par contre, le module
+ <code>mod_example2</code> est désactivé par défaut, et vous
+ devez spécifier <code>--enable-example2</code> si vous voulez le
+ compiler.</p>
+
+ </section>
+
+ <section id="mpms"><title>Modules Multi-Processus</title>
+ <p>Les <a href="../mpm.html">Modules Multi-Processus</a>, ou MPMs,
+ constituent le coeur du serveur. Un seul MPM doit être actif pour
+ que le serveur puisse fonctionner. Vous trouverez la liste des
+ MPMs disponibles à <a href="../mod/">module index page</a>.</p>
+
+ <p>Les MPMs peuvent être compilés en tant que modules DSO pour un
+ chargement dynamique, ou liés statiquement avec le serveur, et
+ sont activés via les options suivantes :</p>
+
+ <dl>
+ <dt><code>--with-mpm=MPM</code></dt>
+ <dd>
+ <p>Sélectionne le MPM par défaut pour votre serveur. Si les
+ MPMs sont compilés en tant que modules DSO (voir
+ <code>--enable-mpms-shared</code>), cette option spécifie le
+ MPM qui sera chargé par défaut selon le fichier de
+ configuration. Dans le cas contraire, cette option spécifie le
+ seul MPM disponible qui sera lié statiquement avec le
+ serveur.</p>
+ <p>Si cette option est omise, c'est le <a
+ href="../mpm.html#defaults">MPM par défaut</a> pour votre
+ système d'exploitation qui sera utilisé.</p>
+ </dd>
+
+ <dt><code>--enable-mpms-shared=<var>Liste de MPM</var></code></dt>
+ <dd>
+ <p>Définit une liste de MPMs à compiler en tant que modules
+ dynamiquement partagés (DSO). Un de ces modules doit être
+ chargé dynamiquement via la directive <directive
+ module="mod_so">LoadModule</directive>.</p>
+ <p><var>Liste de MPM</var> est une liste, entourée
+ d'apostrophes, de noms de MPM séparés par des espaces. Par
+ exemple :</p>
+ <example>
+ --enable-mpms-shared='prefork worker'
+ </example>
+ <p>Vous pouvez aussi utiliser le mot-clé <code>all</code>, ce
+ qui aura pour effet de spécifier tous les MPMs qui supportent
+ le chargement dynamique sur la plate-forme considérée, et de
+ les compiler en tant que modules DSO. Par exemple :</p>
+ <example>
+ --enable-mpms-shared=all
+ </example>
+ </dd>
+ </dl>
+ </section>
+
+ <section id="modules"><title>Modules tiers</title>
+ <p>Pour ajouter des modules tiers, utilisez les options suivantes
+ :</p>
+
+ <dl>
+ <dt><code>--with-module=<var>type-module</var>:<var>fichier-module</var>[,
+ <var>type-module</var>:<var>fichier-module</var>]</code></dt>
+ <dd><p>Ajoute un ou plusieurs modules tiers à la liste des
+ modules liés statiquement. Le fichier source du module
+ <var>fichier-module</var> sera recherché dans le sous-répertoire
+ <var>type-module</var> de l'arborescence des sources de votre
+ serveur HTTP Apache. S'il ne l'y trouve pas,
+ <code>configure</code> considèrera <var>fichier-module</var>
+ comme un chemin de fichier absolu et essaiera de copier le
+ fichier source dans le sous-répertoire <var>type-module</var>.
+ Si ce sous-répertoire n'existe pas, il sera créé et un fichier
+ <code>Makefile.in</code> standard y sera enregistré.</p>
+ <p>Cette option est conçue pour ajouter de petits modules
+ externes ne comportant qu'un seul fichier source. Pour des
+ modules plus complexes, vous devrez lire la documentation du
+ fournisseur du module.</p>
+ <note><title>Note</title>
+ Si vous voulez compiler un module DSO (lié de manière
+ dynamique au lieu de statique), utilisez le programme
+ <program>apxs</program>.</note>
+ </dd>
+
+ </dl>
+ </section>
+
+ <section id="otheroptfeat"><title>Options cumulatives et autres
+ options</title>
+ <dl>
+ <dt><code>--enable-maintainer-mode</code></dt>
+ <dd>Active les avertissements de débogage et de compilation et
+ charge tous les modules compilés.</dd>
+
+ <dt><code>--enable-mods-shared=<var>LISTE-MODULES</var></code></dt>
+ <dd>
+ <p>Définit une liste de modules à activer et à compiler en
+ tant que modules dynamiques partagés. Cela signifie que ces
+ modules doivent être chargés dynamiquement en utilisant la
+ directive <directive
+ module="mod_so">LoadModule</directive>.</p>
+ <p><var>LISTE-MODULES</var> est une liste, entourée
+ d'apostrophes, de noms de modules
+ séparés par des espaces. Les noms
+ des modules sont spécifiés sans le préfixe <code>mod_</code>.
+ Par exemple :</p>
+ <example>
+ --enable-mods-shared='headers rewrite dav'
+ </example>
+ <p>Vous pouvez aussi utiliser les mots-clés <code>reallyall</code>,
+ <code>all</code>, <code>most</code> et <code>few</code>. Par
+ exemple,</p>
+ <example>
+ --enable-mods-shared=most
+ </example>
+ <p>va compiler la plupart des modules en tant que modules DSO,</p>
+ <example>
+ --enable-mods-shared=few
+ </example>
+ <p>ne compilera qu'un jeu de modules de base.</p>
+ <p>Le jeu par défaut correspond au mot-clé <code>most</code>.</p>
+ <!-- See <a href="../install/enabledmodules.html">Overview of
+ enabled modules</a> for further information. -->
+ <p>Les directives <directive
+ module="mod_so">LoadModule</directive> correspondant aux
+ différents modules choisis sont automatiquement générées dans
+ le fichier de configuration principal. Par défaut, toutes ces
+ directives sont mises en commentaire, sauf pour les modules
+ requis ou ceux explicitement sélectionnés par un argument
+ <code>--enable-nom-module</code> du script configure. Vous
+ pouvez modifier le jeu de modules chargé en activant ou
+ désactivant les directives <directive
+ module="mod_so">LoadModule</directive> dans le fichier
+ <code>httpd.conf</code>. En outre, les directives <directive
+ module="mod_so">LoadModule</directive> peuvent être activées
+ pour tous les modules compilés via l'option
+ <code>--enable-load-all-modules</code> du script configure.</p>
+
+ </dd>
+
+ <dt><code>--enable-mods-static=<var>MODULE-LIST</var></code></dt>
+ <dd>Cette option produit le même effet que l'option
+ <code>--enable-mods-shared</code>, à l'exception que les modules
+ seront liés statiquement. Cela signifie que les modules
+ spécifiés seront toujours disponibles au cours du fonctionnement
+ de <program>httpd</program>. Ils n'ont pas besoin d'être chargés
+ via la directive <directive
+ module="mod_so">LoadModule</directive>.</dd>
+
+ <dt><code>--enable-modules=<var>MODULE-LIST</var></code></dt>
+ <dd>Cette option se comporte comme
+ <code>--enable-mods-shared</code>, et va aussi lier les modules
+ concernés dynamiquement. Le mot-clé spécial <code>none</code>
+ désactive la compilation de tous les modules.</dd>
+
+ <dt><code>--enable-v4-mapped</code></dt>
+ <dd>Permet aux sockets IPv6 de traiter les connexions IPv4.</dd>
+
+ <dt><code>--with-port=<var>PORT</var></code></dt>
+ <dd>Permet de définir le port que le programme
+ <program>httpd</program> va écouter. Ce numéro de port est
+ utilisé lors de la génération du fichier de configuration
+ <code>httpd.conf</code>. Sa valeur par défaut est 80.</dd>
+
+ <dt><code>--with-program-name</code></dt>
+ <dd>Permet de définir un nom d'exécutable alternatif. Le nom par
+ défaut est <code>httpd</code>.</dd>
+ </dl>
+ </section>
+ </section>
+
+ <section id="packages"><title>Paquets optionnels</title>
+ <p>Ces options permettent de définir des paquets optionnels.</p>
+
+ <section id="generalpackages"><title>Syntaxe générale</title>
+ <p>D'une manière générale, vous pouvez utiliser la syntaxe
+ suivante pour définir un paquet optionnel :</p>
+
+ <dl>
+ <dt><code>--with-<var>PAQUET</var>[=<var>ARG</var>]</code></dt>
+ <dd>Utilise le paquet <var>PAQUET</var>. La valeur par défaut de
+ <var>ARG</var> est <code>yes</code>.</dd>
+
+ <dt><code>--without-<var>PAQUET</var></code></dt>
+ <dd>N'utilise pas le paquet <var>PAQUET</var>. Cette option est
+ identique à <code>--with-<var>PAQUET</var>=no</code>. Elle est
+ fournie par <code>autoconf</code> mais n'est pas très utile pour
+ le serveur HTTP Apache.</dd>
+ </dl>
+ </section>
+
+ <!-- options not known are passed to packages?
+ are there other important options for packages? -->
+
+ <section id="packageopt"><title>Paquets spécifiques</title>
+ <dl>
+ <dt><code>--with-apr=<var>REP</var>|<var>FICHIER</var></code></dt>
+ <dd>La <glossary ref="apr">Bibliothèque pour la portabilité
+ d'Apache ou
+ Apache Portable Runtime</glossary> (APR) fait partie de la
+ distribution des sources de httpd et est compilée
+ automatiquement avec le serveur HTTP. Si vous voulez utiliser
+ une APR déjà installée à la place, vous devez indiquer à
+ <code>configure</code> le chemin du script
+ <code>apr-config</code>. Vous pouvez spécifier le chemin absolu
+ et le nom ou le répertoire d'installation de l'APR.
+ <code>apr-config</code> doit se trouver dans ce répertoire ou
+ dans le sous-repertoire <code>bin</code>.</dd>
+
+ <dt><code>--with-apr-util=<var>REP</var>|<var>FICHIER</var></code></dt>
+ <dd>Les utilitaires pour la Bibliothèque pour la portabilité
+ d'Apache ou Apache Portable Runtime Utilities (APU) font partie de la
+ distribution des sources de httpd et sont compilés
+ automatiquement avec le serveur HTTP. Si vous voulez utiliser
+ des APU déjà installés à la place, vous devez indiquer à
+ <code>configure</code> le chemin du script
+ <code>apu-config</code>. Vous pouvez spécifier le chemin absolu
+ et le nom ou le répertoire d'installation des APU.
+ <code>apu-config</code> doit se trouver dans ce répertoire ou
+ dans le sous-repertoire <code>bin</code>.</dd>
+
+ <dt><code>--with-ssl=<var>REP</var></code></dt>
+ <dd>Si <module>mod_ssl</module> a été activé,
+ <code>configure</code> recherche une installation d'OpenSSL.
+ Vous pouvez définir le répertoire de la boîte à outils SSL/TLS à
+ la place.</dd>
+
+ <dt><code>--with-z=<var>REP</var></code></dt>
+ <dd><code>configure</code> recherche automatiquement une
+ bibliothèque <code>zlib</code> installée si la configuration de
+ vos sources en nécessite une (par exemple lorsque
+ <module>mod_deflate</module> est activé). Vous pouvez définir le
+ répertoire de la bibliothèque de compression à la place.</dd>
+ </dl>
+
+ <p>De nombreuses fonctionnalités du serveur HTTP Apache, y compris
+ les directives <directive
+ module="mod_rewrite">RewriteMap</directive> DBM de
+ <module>mod_rewrite</module> et <module>mod_authn_dbm</module>
+ utilisent une base de données simple
+ de la forme clé/valeur pour une recherche rapide d'informations.
+ SDBM, inclus dans les APU, est donc toujours disponible. Si vous
+ souhaitez utiliser d'autres types de bases de données, utilisez
+ les options suivantes afin de les activer :</p>
+
+ <dl>
+ <dt><code>--with-gdbm[=<var>chemin</var>]</code></dt>
+ <dd>Si aucun <var>chemin</var> n'est spécifié,
+ <code>configure</code> va rechercher les fichiers d'en-têtes et
+ les bibliothèques d'une installation DBM GNU dans les chemins
+ standards. Avec un <var>chemin</var> explicite,
+ <code>configure</code> recherchera les fichiers concernés dans
+ <code><var>chemin</var>/lib</code> et
+ <code><var>chemin</var>/include</code>. En fait,
+ <var>chemin</var> permet de spécifier plusieurs chemins
+ d'en-têtes et bibliothèques spécifiques en les séparant par des
+ caractères ':'.</dd>
+
+ <dt><code>--with-ndbm[=<var>chemin</var>]</code></dt>
+ <dd>Identique à <code>--with-gdbm</code>, mais recherche une
+ installation de New DBM.</dd>
+
+ <dt><code>--with-berkeley-db[=<var>chemin</var>]</code></dt>
+ <dd>Identique à <code>--with-gdbm</code>, mais recherche une
+ installation de Berkeley DB.</dd>
+ </dl>
+
+ <note><title>Note</title>
+ <p>Les options DBM sont fournies par les APU et passées en
+ paramètres à son script de configuration. Elles sont inutiles
+ lorsqu'on utilise des APU déjà installés définis par
+ <code>--with-apr-util</code>.</p>
+ <p>Vous pouvez utiliser plusieurs implémentations DBM avec votre
+ serveur HTTP. Le type DBM approprié sera choisi au cours de la
+ configuration de l'exécution à chaque démarrage.</p>
+ </note>
+ </section>
+ </section>
+
+ <section id="supportopt"><title>Options pour les programmes de
+ support</title>
+ <dl>
+ <dt><code>--enable-static-support</code></dt>
+ <dd>Permet de compiler une version des binaires de support liés
+ statiquement. En d'autres termes, la compilation produira un
+ exécutable indépendant comportant toutes les bibliothèques
+ nécessaires. Sans cette option, les binaires de supports sont liés
+ dynamiquement.</dd>
+
+ <dt><code>--enable-suexec</code></dt>
+ <dd>Utilisez cette option pour activer la programme
+ <program>suexec</program>, qui vous permet de définir un uid et un
+ gid pour les processus lancés. <strong>N'utilisez cette option que
+ si vous maîtrisez toutes les implications en matière de sécurité
+ de l'exécution d'un binaire suid sur votre serveur.</strong>
+ D'autres options permettent de configurer
+ <program>suexec</program> comme décrit <a
+ href="#suexec">ci-dessous</a>.</dd>
+ </dl>
+
+ <p>Il est possible de lier statiquement le binaire d'un programme
+ support particulier en utilisant les options suivantes :</p>
+
+ <dl>
+ <dt><code>--enable-static-ab</code></dt>
+ <dd>Compile une version liée statiquement du programme
+ <program>ab</program>.</dd>
+
+ <!-- missing documentation for chechgid -->
+ <dt><code>--enable-static-checkgid</code></dt>
+ <dd>>Compile une version liée statiquement du programme
+ <code>checkgid</code>.</dd>
+
+ <dt><code>--enable-static-htdbm</code></dt>
+ <dd>Compile une version liée statiquement du programme <program>
+ htdbm</program>.</dd>
+
+ <dt><code>--enable-static-htdigest</code></dt>
+ <dd>Compile une version liée statiquement du programme <program>
+ htdigest</program>.</dd>
+
+ <dt><code>--enable-static-htpasswd</code></dt>
+ <dd>Compile une version liée statiquement du programme <program>
+ htpasswd</program>.</dd>
+
+ <dt><code>--enable-static-logresolve</code></dt>
+ <dd>Compile une version liée statiquement du programme <program>
+ logresolve</program>.</dd>
+
+ <dt><code>--enable-static-rotatelogs</code></dt>
+ <dd>Compile une version liée statiquement du programme <program>
+ rotatelogs</program>.</dd>
+ </dl>
+
+ <section id="suexec">
+ <title>Options de configuration de <code>suexec</code></title>
+ <p>Les options suivantes permettent de définir avec précision le
+ comportement du programme <program>suexec</program>. Voir <a
+ href="suexec.html#install">Configurer et installer suEXEC</a>
+ pour plus de détails.</p>
+
+ <dl>
+ <dt><code>--with-suexec-bin</code></dt>
+ <dd>Définit le chemin du binaire <program>suexec</program>. La
+ valeur par défaut est <code>--sbindir</code> (voir <a
+ href="#directoryfinetuning">Définition précise des répertoires
+ d'installation</a>).</dd>
+
+ <dt><code>--with-suexec-caller</code></dt>
+ <dd>Définit l'utilisateur qui a l'autorisation d'appeler
+ <program>suexec</program>. Il est en général souhaitable que ce
+ soit le même que celui sous lequel <program>httpd</program>
+ s'exécute.</dd>
+
+ <dt><code>--with-suexec-docroot</code></dt>
+ <dd>Définit l'arborescence des répertoires dans laquelle le
+ lancement des exécutables via <program>suexec</program> est
+ autorisé. La valeur par défaut est
+ <code>--datadir/htdocs</code>.</dd>
+
+ <dt><code>--with-suexec-gidmin</code></dt>
+ <dd>Définit la valeur de GID la plus basse autorisée comme
+ valeur cible pour <program>suexec</program>. La valeur par
+ défaut est 100.</dd>
+
+ <dt><code>--with-suexec-logfile</code></dt>
+ <dd>Définit le nom du fichier journal de
+ <program>suexec</program>. La valeur par défaut est
+ <code>--logfiledir/suexec_log</code>.</dd>
+
+ <dt><code>--with-suexec-safepath</code></dt>
+ <dd>Définit la valeur de la variable d'environnement
+ <code>PATH</code> pour les processus lancés par
+ <program>suexec</program>. La valeur par défaut est
+ <code>/usr/local/bin:/usr/bin:/bin</code>.</dd>
+
+ <dt><code>--with-suexec-userdir</code></dt>
+ <dd>Définit le sous-répertoire du répertoire utilisateur qui
+ contient tous les exécutables pouvant être lancés par
+ <program>suexec</program>. Cette option est nécessaire si vous
+ souhaitez utiliser <program>suexec</program> avec des
+ répertoires utilisateurs (définis via
+ <module>mod_userdir</module>). La valeur par défaut est
+ <code>public_html</code>.</dd>
+
+ <dt><code>--with-suexec-uidmin</code></dt>
+ <dd>Définit la valeur d'UID la plus basse autorisée comme
+ valeur cible pour <program>suexec</program>. La valeur par
+ défaut est 100.</dd>
+
+ <dt><code>--with-suexec-umask</code></dt>
+ <dd>Définit le masque de permissions <code>umask</code> pour les
+ processus lancés par <program>suexec</program>. Il correspond
+ par défaut au masque défini par la configuration de votre
+ système.</dd>
+ </dl>
+ </section>
+ </section>
+</section>
+
+<section id="env"><title>Variables d'environnement</title>
+ <p>Certaines variables d'environnement permettent de modifier les
+ choix effectués par <code>configure</code>, ou d'aider ce dernier à
+ trouver les bibliothèques et programmes possédant des noms et chemins
+ non standards.</p>
+
+ <!-- are these all useful variables? -->
+ <dl>
+ <dt><code>CC</code></dt>
+ <dd>Définit la commande du compilateur C à utiliser pour la
+ compilation.</dd>
+
+ <dt><code>CFLAGS</code></dt>
+ <dd>Définit les paramètres du compilateur C que vous voulez utiliser
+ pour la compilation.</dd>
+
+ <dt><code>CPP</code></dt>
+ <dd>Définit la commande du préprocesseur C à utiliser.</dd>
+
+ <dt><code>CPPFLAGS</code></dt>
+ <dd>Définit les paramètres du préprocesseur C/C++, par exemple
+ <code>-I<var>répertoire-include</var></code>, si certains de vos
+ fichiers d'en-têtes se trouvent dans le répertoire non standard
+ <var>répertoire-include</var>.</dd>
+
+ <dt><code>LDFLAGS</code></dt>
+ <dd>Définit les paramètres de l'éditeur de liens, par exemple
+ <code>-L<var>répertoire-lib</var></code>, si certaines de vos
+ bibliothèques se trouvent dans le répertoire non standard
+ <var>répertoire-lib</var>.</dd>
+ </dl>
+</section>
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1420686 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="dbmmanage.xml.meta">
+<parentdocument href="./">Programmes</parentdocument>
+
+<title>dbmmanage - Gestion des fichiers d'authentification des
+utilisateurs au format DBM</title>
+
+<summary>
+ <p><code>dbmmanage</code> permet de créer et de maintenir les
+ fichiers au format DBM où sont stockés les noms d'utilisateurs et
+ mots de passe à des fins d'authentification de base des utilisateurs
+ HTTP via le module <module>mod_authn_dbm</module>. Il est possible
+ de restreindre l'accès aux ressources disponibles sur le serveur
+ HTTP Apache aux seuls utilisateurs spécifiés dans les fichiers créés
+ par <code>dbmmanage</code>. Ce programme ne peut être utilisé
+ qu'avec des fichiers d'utilisateurs au format DBM. Pour
+ l'utilisation de fichiers textes, voir le programme
+ <program>htpasswd</program>.</p>
+
+ <p>Le programme <program>htdbm</program> est aussi un utilitaire
+ permettant de maintenir une base de données de mots de passe DBM.</p>
+
+ <p>Cette page de manuel ne décrit que les arguments de la ligne de
+ commande. Pour plus de détails à propos des directives nécessaires
+ pour configurer l'authentification des utilisateurs dans
+ <program>httpd</program>, voir le manuel httpd qui est fourni avec
+ la distribution d'Apache, ou peut être consulté à <a
+ href="http://httpd.apache.org/">http://httpd.apache.org/</a>.</p>
+</summary>
+<seealso><program>httpd</program></seealso>
+<seealso><program>htdbm</program></seealso>
+<seealso><module>mod_authn_dbm</module></seealso>
+<seealso><module>mod_authz_dbm</module></seealso>
+
+<section id="synopsis"><title>Syntaxe</title>
+ <p><code><strong>dbmmanage</strong> [ <var>codage</var> ]
+ <var>nom-fichier</var> add|adduser|check|delete|update
+ <var>nom-utilisateur</var>
+ [ <var>mot-de-passe-chiffré</var>
+ [ <var>groupe</var>[,<var>groupe</var>...]
+ [ <var>commentaire</var> ] ] ]</code></p>
+
+ <p><code><strong>dbmmanage</strong> <var>nom-fichier</var>
+ view [ <var>nom-utilisateur</var> ]</code></p>
+
+ <p><code><strong>dbmmanage</strong> <var>nom-fichier</var>import</code></p>
+</section>
+
+<section id="options"><title>Options</title>
+ <dl>
+ <dt><code><var>nom-fichier</var></code></dt>
+ <dd>Le nom du fichier au format DBM, en général sans l'extension
+ <code>.db</code>, <code>.pag</code>, ou <code>.dir</code>.</dd>
+
+ <dt><code><var>nom-utilisateur</var></code></dt>
+ <dd>L'utilisateur concerné par l'opération effectuée. Le
+ <var>nom-utilisateur</var> ne doit pas contenir de caractère
+ <code>:</code>.</dd>
+
+ <dt><code><var>mot-de-passe-chiffré</var></code></dt>
+ <dd>C'est le mot de passe sous sa forme chiffrée à utiliser avec les
+ commandes <code>update</code> et <code>add</code>. Vous pouvez
+ utiliser un tiret (<code>-</code>) si vous voulez que le mot de
+ passe vous soit demandé, mais remplissez les champs par la suite. En
+ outre, avec la commande <code>update</code>, un point
+ (<code>.</code>) permet de conserver le mot de passe original.</dd>
+
+ <dt><code><var>groupe</var></code></dt>
+ <dd>Un groupe dont l'utilisateur est membre. Un nom de groupe ne
+ doit pas contenir de caractère (<code>:</code>). Vous pouvez
+ utiliser un tiret (<code>-</code>) si vous ne voulez pas associer
+ l'utilisateur à un groupe, mais remplissez le champ commentaire. En
+ outre, avec la commande <code>update</code>, un point
+ (<code>.</code>) permet de conserver le groupe original.</dd>
+
+ <dt><code><var>commentaire</var></code></dt>
+ <dd>C'est l'endroit où vous pouvez enregistrer diverses informations
+ à propos de l'utilisateur telles que son nom réel, sont e-mail,
+ etc... Le serveur ignore ce champ.</dd>
+ </dl>
+
+ <section id="options.encodings"><title>Codages</title>
+ <dl>
+ <dt><code>-d</code></dt>
+ <dd>chiffrement crypt (chiffrement par défaut sauf sous Win32,
+ Netware)</dd>
+
+ <dt><code>-m</code></dt>
+ <dd>chiffrement MD5 (chiffrement par défaut sous Win32,
+ Netware)</dd>
+
+ <dt><code>-s</code></dt>
+ <dd>chiffrement SHA1</dd>
+
+ <dt><code>-p</code></dt>
+ <dd>en clair (<em>déconseillé</em>)</dd>
+ </dl>
+ </section>
+
+ <section id="options.commands"><title>Commandes</title>
+ <dl>
+ <dt><code>add</code></dt>
+ <dd>Ajoute une entrée pour <var>nom-utilisateur</var> à
+ <var>nom-fichier</var> en utilisant le mot de passe chiffré
+ <var>mot-de-passe-chiffré</var>.
+
+ <example>dbmmanage passwords.dat add rbowen foKntnEF3KSXA</example>
+ </dd>
+
+ <dt><code>adduser</code></dt>
+ <dd>Demande un mot de passe puis ajoute une entrée pour
+ <var>nom-utilisateur</var> à <var>nom-fichier</var>.
+
+ <example>dbmmanage passwords.dat adduser krietz</example>
+ </dd>
+
+ <dt><code>check</code></dt>
+ <dd>Demande un mot de passe puis vérifie si
+ <var>nom-utilisateur</var> est présent dans <var>nom-fichier</var>
+ et si son mot de passe correspond au mot de passe fourni.
+
+ <example>dbmmanage passwords.dat check rbowen</example>
+ </dd>
+
+ <dt><code>delete</code></dt>
+ <dd>Supprime l'entrée <var>nom-utilisateur</var> de
+ <var>nom-fichier</var>.
+
+ <example>dbmmanage passwords.dat delete rbowen</example>
+ </dd>
+
+ <dt><code>import</code></dt>
+ <dd>Lit les entrées
+ <code><var>nom-utilisateur</var>:<var>mot-de-passe</var></code>
+ (une par ligne) depuis <code>STDIN</code>, et les ajoute à
+ <var>nom-fichier</var>. Les mots de passe doivent être déjà
+ chiffrés.</dd>
+
+ <dt><code>update</code></dt>
+ <dd>Identique à la commande <code>adduser</code>, à l'exception
+ que la présence de <var>nom-utilisateur</var> dans
+ <var>nom-fichier</var> est vérifiée.
+
+ <example>dbmmanage passwords.dat update rbowen</example>
+ </dd>
+
+ <dt><code>view</code></dt>
+ <dd>Affiche le contenu du fichier DBM. Si vous spécifiez un
+ <var>nom-utilisateur</var>, seule l'entrée correspondante est
+ affichée.
+
+ <example>dbmmanage passwords.dat view</example>
+ </dd>
+ </dl>
+ </section>
+</section>
+
+<section id="bugs"><title>Bogues</title>
+ <p>Vous devez garder à l'esprit qu'il existe de nombreux formats de
+ fichiers DBM différents, et que selon toute vraisemblance, des
+ bibliothèques pour plus d'un format sont présentes sur votre
+ système. Les trois exemples de base sont SDBM, NDBM, le projet GNU
+ GDBM, et Berkeley DB 2. Malheureusement, toutes ces bibliothèques
+ utilisent des formats de fichiers différents, et vous devez vous
+ assurer que le format de fichier utilisé par <var>nom-fichier</var>
+ correspond au format attendu par <code>dbmmanage</code>.
+ Actuellement, <code>dbmmanage</code> n'a aucun moyen de savoir à
+ quel type de fichier DBM il a à faire. S'il est utilisé avec un
+ format inapproprié, il ne renverra rien, ou pourra créer un fichier
+ DBM différent avec un nom différent, ou au pire, va corrompre le
+ fichier DBM si vous avez tenté de le modifier.</p>
+
+ <p><code>dbmmanage</code> possède une liste de préférences en
+ matière de formats DBM, définies dans le tableau
+ <code>@AnyDBM::ISA</code> au début du programme. Comme nous
+ préférons le format de fichier Berkeley DB 2, l'ordre dans lequel
+ <code>dbmmanage</code> va rechercher les bibliothèques système est
+ Berkeley DB 2, puis NDBM, GDBM et enfin SDBM. La première
+ bibliothèque trouvée sera celle que <code>dbmmanage</code> tentera
+ d'utiliser pour toutes les opérations sur les fichiers DBM. Cette
+ ordre est sensiblement différent de l'ordre standard de Perl
+ <code>@AnyDBM::ISA</code>, et de l'ordre utilisé par l'appel
+ <code>dbmopen()</code> de Perl ; si vous utilisez un autre
+ utilitaire pour gérer vos fichiers DBM, il doit donc se conformer à
+ l'ordre de préférence indiqué précédemment. Vous devez prêter la
+ même attention si vous utilisez des programmes écrits dans d'autres
+ langages, comme C, pour accéder à ces fichiers.</p>
+
+ <p>Vous pouvez utiliser le programme <code>file</code> fourni par la
+ plupart des systèmes Unix pour déterminer le format d'un fichier
+ DBM.</p>
+</section>
+
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1469398 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="fcgistarter.xml.meta">
+<parentdocument href="./">Programmes</parentdocument>
+
+<title>fcgistarter - Démarrer un programme FastCGI</title>
+
+<summary>
+ <p></p>
+</summary>
+
+<seealso><module>mod_proxy_fcgi</module></seealso>
+
+<section id="note"><title>Note</title>
+ <p>Ne fonctionne actuellement que sur les systèmes de type Unix.</p>
+</section>
+
+<section id="synopsis"><title>Syntaxe</title>
+ <p><code><strong>fcgistarter</strong>
+ -<strong>c</strong> <var>commande</var>
+ -<strong>p</strong> <var>port</var>
+ [ -<strong>i</strong> <var>interface</var> ]
+ -<strong>N</strong> <var>nombre</var>
+ </code></p>
+</section>
+
+<section id="options"><title>Options</title>
+ <dl>
+ <dt><code>-c <var>commande</var></code></dt>
+ <dd>Le programme FastCGI</dd>
+
+ <dt><code>-p <var>port</var></code></dt>
+ <dd>Port sur lequel le programme va se mettre en écoute</dd>
+
+ <dt><code>-i <var>interface</var></code></dt>
+ <dd>Interface sur laquelle le programme va se mettre en écoute</dd>
+
+ <dt><code>-N <var>nombre</var></code></dt>
+ <dd>Nombre d'instances du programme</dd>
+
+ </dl>
+</section>
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1174747 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="htcacheclean.xml.meta">
+<parentdocument href="./">Programmes</parentdocument>
+
+<title>htcacheclean - Nettoyage du cache sur disque</title>
+
+<summary>
+ <p><code>htcacheclean</code> permet de maintenir la taille de
+ l'espace de stockage réservé à <module>mod_disk_cache</module> en
+ dessous d'une limite de taille donnée ou d'inodes utilisés. Cet
+ utilitaire peut s'exécuter
+ soit manuellement, soit en mode démon. Lorsqu'il fonctionne en mode
+ démon, il se met en attente en arrière-plan et recherche à
+ intervalles réguliers dans le répertoire du cache les contenus à
+ supprimer. Pour arrêter proprement le démon, vous pouvez lui envoyer
+ un signal TERM ou INT. Lorsqu'il est lancé manuellement, une
+ recherche des contenus du cache qui peuvent être supprimés est
+ effectuée une seule fois. Si une ou plusieurs URLs sont spécifiées,
+ chacune d'entre elles sera supprimée du cache, si elle est présente.</p>
+</summary>
+<seealso><module>mod_disk_cache</module></seealso>
+
+<section id="synopsis"><title>Syntaxe</title>
+ <p><code><strong>htcacheclean</strong>
+ [ -<strong>D</strong> ]
+ [ -<strong>v</strong> ]
+ [ -<strong>t</strong> ]
+ [ -<strong>r</strong> ]
+ [ -<strong>n</strong> ]
+ [ -<strong>R</strong><var>arrondi</var> ]
+ -<strong>p</strong><var>chemin</var>
+ [-<strong>l</strong><var>limite</var>|
+ -<strong>L</strong><var>limite</var>]</code></p>
+
+ <p><code><strong>htcacheclean</strong>
+ [ -<strong>n</strong> ]
+ [ -<strong>t</strong> ]
+ [ -<strong>i</strong> ]
+ [ -<strong>P</strong><var>fichier-pid</var> ]
+ [ -<strong>R</strong><var>arrondi</var> ]
+ -<strong>d</strong><var>intervalle</var>
+ -<strong>p</strong><var>chemin</var>
+ [-<strong>l</strong><var>limite</var>|
+ -<strong>L</strong><var>limite</var>]</code></p>
+
+ <p><code><strong>htcacheclean</strong>
+ [ -<strong>v</strong> ]
+ [ -<strong>R</strong><var>arrondi</var> ]
+ -<strong>p</strong><var>chemin</var>
+ [ -<strong>a</strong> ]
+ [ -<strong>A</strong> ]</code></p>
+
+ <p><code><strong>htcacheclean</strong>
+ [ -<strong>D</strong> ]
+ [ -<strong>v</strong> ]
+ [ -<strong>t</strong> ]
+ [ -<strong>R</strong><var>arrondi</var> ]
+ -<strong>p</strong><var>chemin</var>
+ <var>url</var></code></p>
+</section>
+
+<section id="options"><title>Options</title>
+ <dl>
+ <dt><code>-d<var>intervalle</var></code></dt>
+ <dd>Configure en mode démon et planifie le nettoyage du cache toutes
+ les <var>intervalle</var> minutes. Cette option et les options
+ <code>-D</code>, <code>-v</code> et <code>-r</code> s'excluent
+ mutuellement. Pour arrêter le démon proprement, il suffit de lui
+ envoyer un signal <code>SIGTERM</code> ou <code>SIGINT</code>.</dd>
+
+ <dt><code>-D</code></dt>
+ <dd>Le programme s'exécute mais ne supprime aucun contenu ("dry run"). Cette
+ option et l'option <code>-d</code> s'excluent mutuellement. Si ce mode
+ est combiné avec la suppression des répertoires avec
+ <code>-t</code>, les inodes signalés comme supprimés dans les
+ statistiques ne peuvent pas prendre en compte les répertoires
+ supprimés, et seront marqués en tant qu'estimation.</dd>
+
+ <dt><code>-v</code></dt>
+ <dd>Exécution verbeuse et affichage de statistiques. Cette
+ option et l'option <code>-d</code> s'excluent mutuellement.</dd>
+
+ <dt><code>-r</code></dt>
+ <dd>Nettoyage en profondeur. Le serveur web Apache doit être arrêté
+ (dans le cas contraire, il risque de rester des déchets dans le
+ cache). Cette option implique l'option <code>-t</code> et s'exclue
+ mutuellement avec l'option <code>-d</code>.</dd>
+
+ <dt><code>-n</code></dt>
+ <dd>Exécution en retrait. L'exécution du programme est ralentie en
+ faveur des autres processus. <code>htcacheclean</code> s'interrompt
+ de temps en temps de façon à ce que a) les entrées/sorties disque
+ soient retardées et b) que le noyau puisse mettre ce temps
+ processeur à disposition des autres processus.</dd>
+
+ <dt><code>-t</code></dt>
+ <dd>Supprime tous les répertoires vides. Par défaut, seuls les
+ fichiers sont supprimés du cache ; avec certaines configurations,
+ cependant, un grand nombre de répertoires sont créés et méritent que
+ l'on y prête attention. Si votre configuration nécessite un grand
+ nombre de répertoires, au point que le remplissage de la table
+ d'inodes ou d'allocation de fichiers puisse poser problème,
+ l'utilisation de cette option est conseillée.</dd>
+
+ <dt><code>-p<var>chemin</var></code></dt>
+ <dd>Définit <var>chemin</var> comme répertoire racine du cache sur
+ disque. Cette valeur doit correspondre à celle spécifiée par la
+ directive <directive
+ module="mod_disk_cache">CacheRoot</directive>.</dd>
+
+ <dt><code>-P<var>fichier-pid</var></code></dt>
+ <dd>Permet de spécifier <var>fichier-pid</var> comme nom du fichier
+ dans le lequel sera enregistré l'identifiant du processus en mode
+ démon.</dd>
+
+ <dt><code>-R<var>round</var></code></dt>
+ <dd>Permet de spécifier le plus petit commun multiple de la taille
+ du cache, afin de tenir compte de la taille des blocs. Définir ce
+ paramètre à la taille d'un bloc de la partition du cache.</dd>
+
+ <dt><code>-l<var>limite</var></code></dt>
+ <dd>Définit <var>limite</var> comme la taille maximale du cache sur
+ disque. La valeur s'exprime par défaut en octets (ou en ajoutant le
+ suffixe <code>B</code> à la valeur). Ajoutez le suffixe
+ <code>K</code> pour KOctets ou <code>M</code> pour MOctets.</dd>
+
+ <dt><code>-L<var>limite</var></code></dt>
+ <dd>Spécifie <var>limite</var> comme la limite totale en inodes du
+ cache disque.</dd>
+
+ <dt><code>-i</code></dt>
+ <dd>Exécution intelligente. Le programme ne s'exécute que lorsque le
+ cache sur disque a été modifié. Cette option ne peut s'utiliser
+ qu'avec l'option <code>-d</code>.</dd>
+
+ <dt><code>-a</code></dt>
+ <dd>Affiche la liste des URLs actuellement stockées dans le cache.
+ Les variantes de la même URL seront listées une seule fois par
+ variante.</dd>
+
+ <dt><code>-A</code></dt>
+ <dd>Affiche la liste des URLs actuellement stockées dans le cache,
+ ainsi que leurs attributs dans l'ordre suivant : url, header size,
+ body size, status, entity version, date, expiry, request time,
+ response time, body present, head request.</dd>
+ </dl>
+</section>
+
+<section id="delete"><title>Suppression d'une URL particulière</title>
+ <p>Si une ou plusieurs URLs sont passées en argument à
+ <code>htcacheclean</code>, chacune d'entre elles sera supprimée du
+ cache. S'il existe plusieurs variantes de ces URLs, elles seront
+ toutes supprimées.</p>
+
+ <p>Lorsqu'une URL mandatée en inverse doit être supprimée, l'URL
+ effective est construite à partir de l'en-tête
+ <strong>Host</strong>, du <strong>port</strong>, du
+ <strong>chemin</strong> et de la <strong>requête</strong>. Notez que
+ le '?' doit toujours être spécifié explicitement dans l'URL, qu'une
+ chaîne de paramètres soit présente ou non. Par exemple, pour
+ supprimer le chemin <strong>/</strong> du serveur
+ <strong>localhost</strong>, l'URL devra être spécifiée comme suit :
+ <strong>http://localhost:80/?</strong>.</p>
+
+</section>
+
+<section id="list"><title>Affichage des URLs présentes dans le cache</title>
+ <p>Les options <code>-a</code> ou <code>-A</code> permettent
+ d'afficher les URLs présentes dans le cache telles qu'elles s'y
+ trouvent, une URL par ligne. L'option <code>-A</code> affiche
+ l'entrée du cache complète pour chaque URL, avec ses différents
+ champs dans l'ordre suivant :</p>
+
+ <dl>
+ <dt>url</dt><dd>L'URL de l'entrée considérée.</dd>
+ <dt>header size</dt><dd>La taille de l'en-tête en octets.</dd>
+ <dt>body size</dt><dd>La taille du corps en octets.</dd>
+ <dt>status</dt><dd>Etat de la réponse en cache.</dd>
+ <dt>entity version</dt><dd>Le nombre de fois que cette entrée a
+ été revalidée sans être effacée.</dd>
+ <dt>date</dt><dd>Date de la réponse.</dd>
+ <dt>expiry</dt><dd>Date d'expiration de la réponse.</dd>
+ <dt>request time</dt><dd>Date du début de la requête.</dd>
+ <dt>response time</dt><dd>Date de la fin de la requête.</dd>
+ <dt>body present</dt><dd>Ce champ contient la valeur 0 si aucun
+ corps n'est stocké avec cette requête, 1 dans le cas contraire.</dd>
+ <dt>head request</dt><dd>Ce champ contient la valeur 1 si
+ l'entrée comporte une requête HEAD en cache sans corps, 0 dans
+ le cas contraire.</dd>
+ </dl>
+
+</section>
+
+<section id="exit"><title>Valeur renvoyée</title>
+ <p><code>htcacheclean</code> renvoie zéro ("true") si toutes les
+ opérations se sont déroulées normalement, et <code>1</code> dans le
+ cas contraire. Si une URL est spécifiée, et si cette URL était
+ présente dans le cache et a été supprimée avec succès,
+ <code>htcacheclean</code> renvoie <code>0</code>, et <code>2</code>
+ dans le cas contraire. Si une erreur est survenue au cours de la
+ suppression de l'URL, <code>htcacheclean</code> renvoie
+ <code>1</code>.</p>
+</section>
+
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1751351 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="htdbm.xml.meta">
+<parentdocument href="./">Programmes</parentdocument>
+
+<title>htdbm - Manipuler des bases de données DBM de mots de
+passe</title>
+
+<summary>
+ <p><code>htdbm</code> permet de manipuler des fichiers au format DBM
+ ou sont stockés des nom d'utilisateurs et mots de passe à des fins
+ d'authentification de base des utilisateurs HTTP via le module
+ <module>mod_authn_dbm</module>. Voir la documentation de
+ <program>dbmmanage</program> pour plus de détails à propos de ces
+ fichiers DBM.</p>
+</summary>
+<seealso><program>httpd</program></seealso>
+<seealso><program>dbmmanage</program></seealso>
+<seealso><module>mod_authn_dbm</module></seealso>
+
+<section id="synopsis"><title>Syntaxe</title>
+ <p><code><strong>htdbm</strong>
+ [ -<strong>T</strong><var>DBTYPE</var> ]
+ [ -<strong>i</strong> ]
+ [ -<strong>c</strong> ]
+ [ -<strong>m</strong> |
+ -<strong>B</strong> |
+ -<strong>d</strong> |
+ -<strong>s</strong> |
+ -<strong>p</strong> ]
+ [ -<strong>C</strong> <var>cost</var> ]
+ [ -<strong>t</strong> ]
+ [ -<strong>v</strong> ]
+ <var>nom-fichier</var> <var>nom-utilisateur</var></code></p>
+
+ <p><code><strong>htdbm</strong> -<strong>b</strong>
+ [ -<strong>T</strong><var>DBTYPE</var> ]
+ [ -<strong>c</strong> ]
+ [ -<strong>m</strong> |
+ -<strong>B</strong> |
+ -<strong>d</strong> |
+ -<strong>s</strong> |
+ -<strong>p</strong> ]
+ [ -<strong>C</strong> <var>cost</var> ]
+ [ -<strong>t</strong> ]
+ [ -<strong>v</strong> ]
+ <var>nom-fichier</var> <var>nom-utilisateur</var> <var>mot-de-passe</var></code></p>
+
+ <p><code><strong>htdbm</strong> -<strong>n</strong>
+ [ -<strong>i</strong> ]
+ [ -<strong>c</strong> ]
+ [ -<strong>m</strong> |
+ -<strong>B</strong> |
+ -<strong>d</strong> |
+ -<strong>s</strong> |
+ -<strong>p</strong> ]
+ [ -<strong>C</strong> <var>cost</var> ]
+ [ -<strong>t</strong> ]
+ [ -<strong>v</strong> ]
+ <var>nom-utilisateur</var></code></p>
+
+ <p><code><strong>htdbm</strong> -<strong>nb</strong>
+ [ -<strong>c</strong> ]
+ [ -<strong>m</strong> |
+ -<strong>B</strong> |
+ -<strong>d</strong> |
+ -<strong>s</strong> |
+ -<strong>p</strong> ]
+ [ -<strong>C</strong> <var>cost</var> ]
+ [ -<strong>t</strong> ]
+ [ -<strong>v</strong> ]
+ <var>nom-utilisateur</var> <var>mot-de-passe</var></code></p>
+
+ <p><code><strong>htdbm</strong> -<strong>v</strong>
+ [ -<strong>T</strong><var>DBTYPE</var> ]
+ [ -<strong>i</strong> ]
+ [ -<strong>c</strong> ]
+ [ -<strong>m</strong> |
+ -<strong>B</strong> |
+ -<strong>d</strong> |
+ -<strong>s</strong> |
+ -<strong>p</strong> ]
+ [ -<strong>C</strong> <var>cost</var> ]
+ [ -<strong>t</strong> ]
+ [ -<strong>v</strong> ]
+ <var>nom-fichier</var> <var>nom-utilisateur</var></code></p>
+
+ <p><code><strong>htdbm</strong> -<strong>vb</strong>
+ [ -<strong>T</strong><var>DBTYPE</var> ]
+ [ -<strong>c</strong> ]
+ [ -<strong>m</strong> |
+ -<strong>B</strong> |
+ -<strong>d</strong> |
+ -<strong>s</strong> |
+ -<strong>p</strong> ]
+ [ -<strong>C</strong> <var>cost</var> ]
+ [ -<strong>t</strong> ]
+ [ -<strong>v</strong> ]
+ <var>nom-fichier</var> <var>nom-utilisateur</var> <var>mot-de-passe</var></code></p>
+
+ <p><code><strong>htdbm</strong> -<strong>x</strong>
+ [ -<strong>T</strong><var>DBTYPE</var> ]
+ <var>nom-fichier</var> <var>nom-utilisateur</var></code></p>
+
+ <p><code><strong>htdbm</strong> -<strong>l</strong>
+ [ -<strong>T</strong><var>DBTYPE</var> ]
+ <var>nom-fichier</var></code></p>
+</section>
+
+<section id="options"><title>Options</title>
+ <dl>
+ <dt><code>-b</code></dt>
+ <dd>Utilise le mode batch ; en d'autres termes, le mot de passe est
+ extrait de la ligne de commande au lieu d'être demandé à
+ l'opérateur. Cette option doit être utilisée avec la plus grande
+ prudence, car <strong>le mot de passe est visible en clair</strong>
+ dans la ligne de commande. Pour utiliser un script, voir l'option
+ <code>-i</code>.</dd>
+
+ <dt><code>-i</code></dt>
+ <dd>Lit le mot de passe depuis stdin sans vérification (à utiliser
+ dans le cadre d'un script).</dd>
+
+ <dt><code>-c</code></dt>
+ <dd>Crée le <var>fichier-mots-de-passe</var>. Si
+ <var>fichier-mots-de-passe</var> existe déjà, il est réécrit et
+ tronqué. Cette option ne peut pas être combinée avec l'option
+ <code>-n</code>.</dd>
+
+ <dt><code>-n</code></dt>
+ <dd>Affiche les résultats sur la sortie standard et ne met pas à
+ jour la base de données. Cette option modifie la syntaxe de la ligne
+ de commande, car l'argument <var>fichier-mots-de-passe</var> (en
+ général le premier) est omis. Elle ne peut pas être combinée avec
+ l'option <code>-c</code>.</dd>
+
+ <dt><code>-m</code></dt>
+ <dd>Utilise un chiffrement MD5 pour les mots de passe. Sous Windows
+ et Netware, c'est l'option par défaut..</dd>
+
+ <dt><code>-B</code></dt>
+ <dd>Utilise l'algorythme de chiffrement bcrypt pour les mots de
+ passe. C'est un algorythme actuellement considéré comme sûr.</dd>
+
+ <dt><code>-C</code></dt>
+ <dd>Ce drapeau n'est autorisé qu'en conjonction avec le drapeau
+ <code>-B</code> (chiffrement bcrypt). Il permet de définir la durée
+ de traitement pour l'algorythme de chiffrement bcrypt (plus elle est
+ longue, plus la sécurité est élevée, mais la rapidité est diminuée
+ d'autant) ; la valeur par défaut est 5, les valeurs valides vont de
+ 4 à 31.</dd>
+
+
+ <dt><code>-d</code></dt>
+ <dd>Utilise un chiffrement <code>crypt()</code> pour les mots de
+ passe. C'est l'option par défaut sur toutes les plates-formes, sauf
+ Windows et Netware. Bien que <code>htdbm</code> supporte ce
+ chiffrement sur toutes les plates-formes, il n'est pas supporté par
+ le serveur <program>httpd</program> sous Windows et Netware. Cet
+ algorythme est considéré comme <strong>non sûr</strong> selon les
+ standards actuels.</dd>
+
+ <dt><code>-s</code></dt>
+ <dd>Utilise le chiffrement SHA pour les mots de passe. Facilite la
+ migration vers/depuis les serveurs Netscape qui utilisent le format
+ LDAP Directory Interchange (ldif). Cet
+ algorythme est considéré comme <strong>non sûr</strong> selon les
+ standards actuels.</dd>
+
+ <dt><code>-p</code></dt>
+ <dd>Utilise des mots de passe au format texte en clair. Bien que
+ <code>htdbm</code> supporte ce format sur toutes les plates-formes,
+ le démon <program>httpd</program> n'accepte les mots de passe au
+ format texte en clair que sous Windows et Netware.</dd>
+
+ <dt><code>-l</code></dt>
+ <dd>Affiche chaque nom d'utilisateur de la base de données
+ accompagné de son commentaire sur la sortie standard.</dd>
+
+ <dt><code>-v</code></dt>
+ <dd>Vérifie une association nom d'utilisateur/mot de passe. Le
+ programme affichera un message indiquant si le mot de passe fourni
+ est valide. Si le mot de passe n'est pas valide, le programme
+ s'arrête et renvoie un code d'erreur 3.</dd>
+
+ <dt><code>-x</code></dt>
+ <dd>Supprime l'utilisateur. Si le nom d'utilisateur existe dans le
+ fichier DBM spécifié, il sera supprimé.</dd>
+
+ <dt><code>-t</code></dt>
+ <dd>Interprète le dernier paramètre en tant que commentaire. Avec
+ cette option, il est possible d'ajouter une chaîne supplémentaire à
+ la fin de la ligne de commande ; le contenu de cette chaîne sera
+ stocké dans la base de données dans le champ "Comment" associé au
+ nom d'utilisateur spécifié.</dd>
+
+ <dt><code><var>nom-fichier</var></code></dt>
+ <dd>Le nom du fichier au format DBM en général sans l'extension
+ <code>.db</code>, <code>.pag</code>, ou <code>.dir</code>. Avec
+ l'option <code>-c</code>, le fichier DBM est mis à jour s'il existe
+ ou créé dans le cas contraire.</dd>
+
+ <dt><code><var>nom-utilisateur</var></code></dt>
+ <dd>Le nom d'utilisateur à créer ou mettre à jour dans le
+ <var>fichier-mots-de-passe</var>. Si <var>nom-utilisateur</var>
+ n'existe pas dans ce fichier, une entrée est ajoutée. S'il existe,
+ son mot de passe est modifié.</dd>
+
+ <dt><code><var>mot-de-passe</var></code></dt>
+ <dd>Le mot de passe en clair destiné à être chiffré et stocké dans
+ le fichier DBM. Ne s'utilise qu'avec l'option <code>-b</code>.</dd>
+
+ <dt><code>-T<var>DBTYPE</var></code></dt>
+ <dd>Type de fichier DBM (SDBM, GDBM, DB, ou "default").</dd>
+ </dl>
+</section>
+
+<section id="bugs"><title>Bugs</title>
+ <p>Vous devez garder à l'esprit qu'il existe de nombreux formats de
+ fichiers DBM différents, et que selon toute vraisemblance, des
+ bibliothèques pour plus d'un format sont présentes sur votre
+ système. Les trois exemples de base sont SDBM, NDBM, le projet GNU
+ GDBM, et Berkeley/Sleepycat DB 2/3/4. Malheureusement, toutes ces
+ bibliothèques
+ utilisent des formats de fichiers différents, et vous devez vous
+ assurer que le format de fichier utilisé par <var>nom-fichier</var>
+ correspond au format attendu par <code>htdbm</code>.
+ Actuellement, <code>htdbm</code> n'a aucun moyen de savoir à
+ quel type de fichier DBM il a à faire. S'il est utilisé avec un
+ format inapproprié, il ne renverra rien, ou pourra créer un fichier
+ DBM différent avec un nom différent, ou au pire, va corrompre le
+ fichier DBM si vous avez tenté de le modifier.</p>
+
+ <p>Vous pouvez utiliser le programme <code>file</code> fourni par la
+ plupart des systèmes Unix pour déterminer le format d'un fichier
+ DBM.</p>
+</section>
+
+<section id="exit"><title>Valeur renvoyée</title>
+ <p><code>htdbm</code> renvoie 0 ("true") si les nom d'utilisateur et
+ mot de passe ont été créés ou mis à jour avec succès dans le fichier
+ DBM. <code>htdbm</code> renvoie <code>1</code> s'il a rencontré un
+ problème d'accès aux fichiers, <code>2</code> si la ligne de
+ commande comportait une erreur de syntaxe, <code>3</code> si le mot
+ de passe a été fourni interactivement et s'il est invalide pour
+ l'entrée considérée, <code>4</code> si l'opération a été
+ interrompue, <code>5</code> si une valeur est trop longue (nom
+ utilisateur, nom fichier, mot de passe, ou l'enregistrement après
+ son élaboration), <code>6</code> si le nom d'utilisateur contient
+ des caractères illégaux (voir la section <a
+ href="#restrictions">Restrictions</a>), et <code>7</code> si le
+ fichier n'est pas un fichier de mots de passe DBM valide.</p>
+</section>
+
+<section id="examples"><title>Exemples</title>
+ <example>
+ htdbm /usr/local/etc/apache/.utilisateurs-htdbm jsmith
+ </example>
+
+ <p>Ajoute ou modifie le mot de passe de l'utilisateur
+ <code>jsmith</code>. Le mot de passe est demandé à l'opérateur. Sous
+ Windows, le mot de passe sera chiffré en utilisant l'algorithme MD5
+ Apache modifié ; dans les autres cas, c'est la routine
+ <code>crypt()</code> du système qui sera utilisée. Si le fichier
+ n'existe pas, <code>htdbm</code> s'arrêtera et renverra une
+ erreur.</p>
+
+ <example>
+ htdbm -c /home/doe/public_html/.htdbm jane
+ </example>
+
+ <p>Crée un nouveau fichier et y enregistre une entrée pour
+ l'utilisateur <code>jane</code>. Le mot de passe est demandé à
+ l'opérateur. Si le fichier existe et ne peut pas être lu, ou ne peut
+ pas être écrit, il ne sera pas modifié et
+ <code>htdbm</code> affichera un message et renverra un code
+ d'erreur.</p>
+
+ <example>
+ htdbm -mb /usr/web/.htdbm-tous jones Pwd4Steve
+ </example>
+
+ <p>Chiffre le mot de passe entré avec la ligne de commande
+ (<code>Pwd4Steve</code>) à l'aide de l'algorithme MD5, et
+ l'enregistre dans le fichier spécifié.</p>
+
+ <p>Pour convertir en fichier <code>dbm</code> un fichier de mots de passe
+ généré par <code>htpasswd</code>, utilisez <code>awk</code> pour rediriger
+ chaque ligne de ce fichier vers <code>htdbm</code> :</p>
+
+ <example>
+ htdbm -cbp passwords.dbm bogus bogus
+ awk ‘BEGIN { FS=”:” }; {system (“htdbm -bp passwords.dbm ” $1 ” ” $2)}’ passwords
+ htdbm -x bogus
+ </example>
+
+ <p>La première ligne crée une nouvelle base de données de mots de passe avec
+ une entrée temporaire servant de place réservée, et la troisième ligne
+ supprime cette entrée temporaire.</p>
+</section>
+
+<section id="security"><title>Considérations à propos de sécurité</title>
+ <p>Les fichiers de mots de passe Web tels que ceux que gère
+ <code>htdbm</code> ne doivent <em>pas</em> être stockés dans
+ l'espace d'URI du serveur Web -- en d'autres termes, il ne doit pas
+ être possible d'y accéder à l'aide d'un navigateur.</p>
+
+ <p>L'utilisation de l'option <code>-b</code> est déconseillée, car
+ lorsqu'il est utilisé, le mot de passe apparaît en clair dans la
+ ligne de commande.</p>
+
+ <p>Notez que lorsque vous utilisez l'algorythme
+ <code>crypt()</code>, seuls les 8 premiers caractères du mot de
+ passe sont pris en compte. Si le mot de passe fourni est plus long,
+ les caractères supplémentaires seront ignorés sans avertissement.</p>
+
+ <p>L'algorythme SHA ne permet pas de spécifier une valeur
+ d'initialisation pour la génération de nombres aléatoires (salting)
+ : un mot de passe donné ne possède ainsi qu'une réprésentation
+ chiffrée. Les algorythmes <code>crypt()</code> et MD5 permettent quant à
+ eux des représentations chiffrées multiples en acceptant comme
+ paramètre une chaîne d'initialisation (salt), rendant les attaques à
+ base de dictionnaires contre les mots de passe plus difficiles.</p>
+
+ <p>Les algorythmes SHA et <code>crypt()</code> sont considérés comme
+ non sûrs selon les standards actuels.</p>
+</section>
+
+<section id="restrictions"><title>Restrictions</title>
+ <p>Sur la plate-forme Windows, les mots de passe chiffrés avec
+ <code>htdbm</code> ont une taille limitée à <code>255</code>
+ caractères. Si le mot de passe fourni est plus long, il sera tronqué
+ à 255 caractères.</p>
+
+ <p>L'algorithme MD5 utilisé par <code>htdbm</code> est spécifique à
+ Apache ; les mots de passe chiffrés en utilisant cet algorithme
+ seront inutilisables sur d'autres serveurs Web.</p>
+
+ <p>Les noms d'utilisateurs ont une taille limitée à <code>255</code>
+ octets et ne doivent pas contenir de caractère <code>:</code>.</p>
+</section>
+
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1673947 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="htdigest.xml.meta">
+<parentdocument href="./">Programmes</parentdocument>
+
+<title>htdigest - Gestion des fichiers d'utilisateurs pour
+l'authentification à base de condensés</title>
+
+<summary>
+ <p><code>htdigest</code> permet de créer et maintenir les fichiers
+ textes dans lesquels sont stockés des noms d'utilisateurs, des
+ domaines de protection (realms) et des mots de passe pour
+ l'authentification à base de condensés des utilisateurs HTTP.
+ L'accès aux ressources du serveur HTTP Apache peut être limité aux
+ seuls utilisateurs enregistrés dans les fichiers créés par
+ <code>htdigest</code>.</p>
+
+ <p>Cette page de manuel ne décrit que les arguments de la ligne de
+ commande. Pour plus de détails à propos des directives nécessaires à
+ la configuration de l'authentification à base de condensés dans
+ <program>httpd</program>, voir le manuel Apache qui est fourni avec
+ la distribution et peut être consulté à <a
+ href="http://httpd.apache.org/">http://httpd.apache.org/</a>.</p>
+</summary>
+<seealso><program>httpd</program></seealso>
+<seealso><module>mod_auth_digest</module></seealso>
+
+<section id="synopsis"><title>Syntaxe</title>
+ <p><code><strong>htdigest</strong> [ -<strong>c</strong> ]
+ <var>fichier-mots-de-passe</var> <var>realm</var>
+ <var>nom-utilisateur</var></code></p>
+</section>
+
+<section id="options"><title>options</title>
+ <dl>
+ <dt><code>-c</code></dt>
+ <dd>Crée le fichier <var>fichier-mots-de-passe</var>. Si
+ <var>fichier-mots-de-passe</var> existe déjà, il est tout d'abord
+ supprimé.</dd>
+
+ <dt><code><var>fichier-mots-de-passe</var></code></dt>
+ <dd>Nom du fichier contenant les noms utilisateurs, realms et mots
+ de passe. Si l'option <code>-c</code> est spécifiée, le fichier est
+ créé s'il n'existe pas, ou supprimé et recréé s'il existe
+ déjà.</dd>
+
+ <dt><code><var>realm</var></code></dt>
+ <dd>Le nom du domaine de protection auquel le nom d'utilisateur
+ appartient. Voir <a
+ href="http://tools.ietf.org/html/rfc2617#section-3.2.1">http://tools.ietf.org/html/rfc2617#section-3.2.1</a>
+ pour plus de détails.</dd>
+
+ <dt><code><var>nom-utilisateur</var></code></dt>
+ <dd>Le nom d'utilisateur à créer ou mettre à jour dans le
+ <var>fichier-mots-de-passe</var>. Si <var>nom-utilisateur</var> est
+ absent de ce fichier, une nouvelle entrée est ajoutée. Si
+ l'utilisateur existe déjà, le mot de passe est modifié.</dd>
+ </dl>
+</section>
+
+<section id="security"><title>Considérations à propos de sécurité</title>
+ <p>En tant qu'exécutable setuid, ce programme n'est pas sûr. En
+ conséquence, évitez de lui attribuer des permissions setuid.</p>
+</section>
+
+</manualpage>
--- /dev/null
+<?xml version='1.0' encoding='UTF-8' ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1604535 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="htpasswd.xml.meta">
+<parentdocument href="./">Programmes</parentdocument>
+
+<title>htpasswd - Gestion des fichiers d'utilisateurs pour
+l'authentification de base</title>
+
+<summary>
+ <p><code>htpasswd</code> permet de créer et de maintenir les
+ fichiers textes où sont stockés les noms d'utilisateurs et mots de
+ passe pour l'authentification de base des utilisateurs HTTP. Si
+ <code>htpasswd</code> rencontre un problème d'accès à un fichier,
+ que ce soit pour écrire dans le fichier de sortie, ou pour lire le
+ fichier d'entrée dans le but de le mettre à jour, il renvoie un code
+ d'erreur et n'effectue aucune modification.</p>
+
+ <p>Il est possible de limiter l'accès aux ressources du serveur HTTP
+ Apache aux seuls utilisateurs présents dans les fichiers créés par
+ <code>htpasswd</code>. Ce programme ne sait gérer les noms
+ d'utilisateurs et mots de passe que s'ils sont stockés dans des
+ fichiers textes. Il peut cependant chiffrer et afficher les mots de
+ passe à des fins d'utilisation dans d'autres types de bases de
+ données. Pour utiliser une base de données DBM, voir le programme
+ <program>dbmmanage</program> ou <program>htdbm</program>.</p>
+
+ <p><code>htpasswd</code> chiffre les mots de passe en utilisant soit
+ bcrypt,
+ une version de MD5 modifiée pour Apache, soit SHA1, soit la routine
+ <code>crypt()</code> du système. Les fichiers gérés par
+ <code>htpasswd</code> peuvent contenir deux types de mots de passe ;
+ certaines entrées peuvent contenir des mots de passe chiffrés en
+ MD5 ou bcrypt, alors que d'autres entrées du même fichier contiendront des
+ mots de passe chiffrés avec <code>crypt()</code>.</p>
+
+ <p>Cette page de manuel ne décrit que les arguments de la ligne de
+ commande. Pour plus de détails à propos des directives nécessaires à
+ la configuration de l'authentification des utilisateurs dans
+ <program>httpd</program>, voir le manuel Apache qui est fourni avec
+ la distribution ou peut être consulté à <a
+ href="http://httpd.apache.org">http://httpd.apache.org/</a>.</p>
+</summary>
+<seealso><program>httpd</program></seealso>
+<seealso><program>htdbm</program></seealso>
+<seealso>Les scripts fournis avec la distibution d'Apache et situés dans
+support/SHA1.</seealso>
+
+<section id="synopsis"><title>Syntaxe</title>
+ <p><code><strong>htpasswd</strong>
+ [ -<strong>c</strong> ]
+ [ -<strong>i</strong> ]
+ [ -<strong>m</strong> |
+ -<strong>B</strong> |
+ -<strong>d</strong> |
+ -<strong>s</strong> |
+ -<strong>p</strong> ]
+ [ -<strong>C</strong> <var>cost</var> ]
+ [ -<strong>D</strong> ]
+ [ -<strong>v</strong> ] <var>fichier-mots-de-passe</var> <var>nom-utilisateur</var></code></p>
+
+ <p><code><strong>htpasswd</strong> -<strong>b</strong>
+ [ -<strong>c</strong> ]
+ [ -<strong>m</strong> |
+ -<strong>B</strong> |
+ -<strong>d</strong> |
+ -<strong>s</strong> |
+ -<strong>p</strong> ]
+ [ -<strong>C</strong> <var>cost</var> ]
+ [ -<strong>D</strong> ]
+ [ -<strong>v</strong> ] <var>fichier-mots-de-passe</var> <var>nom-utilisateur</var>
+ <var>mot-de-passe</var></code></p>
+
+ <p><code><strong>htpasswd</strong> -<strong>n</strong>
+ [ -<strong>i</strong> ]
+ [ -<strong>m</strong> |
+ -<strong>B</strong> |
+ -<strong>d</strong> |
+ -<strong>s</strong> |
+ -<strong>p</strong> ]
+ [ -<strong>C</strong> <var>cost</var> ] <var>nom-utilisateur</var></code></p>
+
+ <p><code><strong>htpasswd</strong> -<strong>nb</strong>
+ [ -<strong>m</strong> |
+ -<strong>B</strong> |
+ -<strong>d</strong> |
+ -<strong>s</strong> |
+ -<strong>p</strong> ]
+ [ -<strong>C</strong> <var>cost</var> ] <var>nom-utilisateur</var>
+ <var>mot-de-passe</var></code></p>
+</section>
+
+<section id="options"><title>Options</title>
+ <dl>
+ <dt><code>-b</code></dt>
+ <dd>Utilise le mode batch ; c'est à dire, extrait le mot de passe de
+ la ligne de commande au lieu de le demander à l'opérateur. Cette
+ option doit être utilisée avec la plus grande prudence, car
+ <strong>le mot de passe est visible en clair</strong> dans la ligne
+ de commande. Pour utiliser un script, voir l'option
+ <code>-i</code>.<br />
+ Disponible à partir de la version 2.4.4 du serveur HTTP Apache.</dd>
+
+ <dt><code>-i</code></dt>
+ <dd>Lit le mot de passe depuis stdin sans vérification (à utiliser
+ dans les scripts).</dd>
+
+ <dt><code>-c</code></dt>
+ <dd>Crée le <var>fichier-mots-de-passe</var>. Si
+ <var>fichier-mots-de-passe</var> existe déjà, il est réécrit et
+ tronqué. Cette option ne peut pas être combinée avec l'option
+ <code>-n</code>.</dd>
+
+ <dt><code>-n</code></dt>
+ <dd>Affiche le résultat du traitement sur la sortie standard au lieu
+ de mettre à jour le fichier. Ceci peut s'avérer utile pour générer
+ des enregistrements de mots de passe qu'Apache pourra utiliser à des
+ fins d'inclusion dans des fichiers de données au format autre que
+ texte. Cette option modifie la syntaxe de la ligne de commande, car
+ l'argument <var>fichier-mots-de-passe</var> (en général le premier)
+ est omis. Elle ne peut pas être combinée avec l'option
+ <code>-c</code> option.</dd>
+
+ <dt><code>-m</code></dt>
+ <dd>Utilise le chiffrement MD5 pour les mots de passe. C'est le
+ comportement par défaut (depuis la version 2.2.18).</dd>
+
+ <dt><code>-B</code></dt>
+ <dd>Utilise bcrypt pour chiffrer les mots de passe. c'est un
+ algorythme de chiffrement actuellement considéré comme sûr.</dd>
+
+ <dt><code>-C</code></dt>
+ <dd>Ce drapeau n'est autorisé qu'en conjonction avec le drapeau
+ <code>-B</code> (chiffrement bcrypt). Il permet de définir la durée
+ de traitement pour l'algorytme bcrypt (plus elle est longue,
+ meilleure sera la sécurité, mais inférieure la rapidité). La valeur
+ par défaut est 5 et les valeurs autorisées vont de 4 à 31.</dd>
+
+
+ <dt><code>-d</code></dt>
+ <dd>Utilise le chiffrement <code>crypt()</code> pour les mots de
+ passe. Cette option n'est pas supportée par le
+ serveur <program>httpd</program> sous Windows ou Netware. Cet
+ algorithme limite la longueur des mots de passe à 8 caractères ; il
+ est considéré comme <strong>non sur</strong> du point de vue des
+ standards actuels. C'était l'algorithme par défaut jusqu'à la
+ version 2.2.17.</dd>
+
+ <dt><code>-s</code></dt>
+ <dd>Utilise le chiffrement SHA pour les mots de passe. Facilite la
+ migration vers/depuis les serveurs Netscape qui utilisent le format
+ LDAP Directory Interchange (ldif). Cet algorithme
+ est considéré comme <strong>non sur</strong> du point de vue des
+ standards actuels.</dd>
+
+ <dt><code>-p</code></dt>
+ <dd>Enregistre les mots de passe en clair. Bien que
+ <code>htpasswd</code> supporte la création des mots de passe en
+ clair sur toutes les plates-formes, le démon
+ <program>httpd</program> n'accepte les mots de passe en clair que
+ sous Windows et Netware.</dd>
+
+ <dt><code>-D</code></dt>
+ <dd>Supprime un utilisateur, sous réserve qu'il existe dans le
+ fichier spécifié par htpasswd.</dd>
+
+ <dt><code>-v</code></dt>
+ <dd>Vérifie si le mot de passe fourni correspond au mot de passe de
+ l'utilisateur enregistré dans le fichier de mots de passe spécifié.<br />
+ Disponible à partir de la version 2.4.5 du serveur HTTP Apache.</dd>
+
+ <dt><code><var>fichier-mots-de-passe</var></code></dt>
+ <dd>Le nom du fichier contenant les noms d'utilisateurs et mots de
+ passe. Avec l'option <code>-c</code>, le fichier est créé s'il
+ n'existe pas, ou réécrit et tronqué s'il existe déjà.</dd>
+
+ <dt><code><var>nom-utilisateur</var></code></dt>
+ <dd>Le nom d'utilisateur à créer ou mettre à jour dans le
+ <var>fichier-mots-de-passe</var>. Si <var>nom-utilisateur</var>
+ n'existe pas, une nouvelle entrée est ajoutée. Dans le cas
+ contraire, le mot de passe est modifié.</dd>
+
+ <dt><code><var>mot-de-passe</var></code></dt>
+ <dd>Le mot de passe en clair et destiné à être chiffré puis stocké
+ dans le fichier. Cet argument ne s'utilise qu'avec l'option
+ <code>-b</code>.</dd>
+ </dl>
+</section>
+
+<section id="exit"><title>Valeur renvoyée</title>
+ <p><code>htpasswd</code> renvoie 0 ("true") si le nom d'utilisateur
+ et le mot de passe ont été enregistrés ou mis à jour avec succès
+ dans le <var>fichier-mots-de-passe</var>. <code>htpasswd</code>
+ renvoie <code>1</code> s'il a rencontré un problème d'accès aux
+ fichiers, <code>2</code> si la ligne de commande comportait une
+ erreur de syntaxe, <code>3</code> si le mot de passe entré
+ interactivement ne correspondait pas au nom d'utilisateur,
+ <code>4</code> si l'opération a été interrompue, <code>5</code> si
+ une valeur était trop longue (nom-utilisateur, nom-fichier,
+ mot-de-passe, ou l'enregistrement résultant), <code>6</code> si le
+ nom d'utilisateur contenait des caractères illégaux (voir la section
+ <a href="#restrictions">Restrictions</a>), et <code>7</code> si le
+ fichier spécifié n'était pas un fichier de mots de passe
+ valide.</p>
+</section>
+
+<section id="examples"><title>Exemples</title>
+ <example>
+ htpasswd /usr/local/etc/apache/.utilisateurs-htpasswd jsmith
+ </example>
+
+ <p>Ajoute ou modifie le mot de passe de l'utilisateur
+ <code>jsmith</code>. Le mot de passe est demandé à l'opérateur. Le
+ mot de passe sera chiffré en utilisant l'algorithme MD5
+ modifié pour Apache. Si le fichier spécifié
+ n'existe pas, <code>htpasswd</code> renverra un code d'erreur.</p>
+
+ <example>
+ htpasswd -c /home/doe/public_html/.htpasswd jane
+ </example>
+
+ <p>Crée un nouveau fichier de mots de passe et y enregistre une
+ entrée pour l'utilisateur <code>jane</code>. Le mot de passe est
+ demandé à l'opérateur. Si le fichier existe et ne peut être ni lu ni
+ écrit, il n'est pas modifié et <code>htpasswd</code> affichera un
+ message et renverra un code d'erreur.</p>
+
+ <example>
+ htpasswd -db /usr/web/.htpasswd-tous jones Pwd4Steve
+ </example>
+
+ <p>Chiffre le mot de passe spécifié dans la ligne de commande
+ (<code>Pwd4Steve</code>) en utilisant l'algorithme
+ <code>crypt()</code>, et le stocke dans le fichier spécifié.</p>
+</section>
+
+<section id="security"><title>Considérations à propos de sécurité</title>
+ <p>Les fichiers de mots de passe Web comme ceux que gère
+ <code>htpasswd</code> ne doivent <em>pas</em> être situés dans
+ l'espace d'URI du serveur Web -- en d'autres termes, il ne doit pas
+ être possible d'y accéder à partir d'un navigateur.</p>
+
+ <p>En tant qu'exécutable setuid, ce programme n'est pas sûr, et il
+ ne faut par conséquent <em>pas</em> lui attribuer de permissions
+ setuid.</p>
+
+ <p>L'utilisation de l'option <code>-b</code> est déconseillée, car
+ avec elle, les mots de passe apparaissent en clair dans la ligne de
+ commande.</p>
+
+ <p>Notez qu'avec l'algorithme <code>crypt()</code>, seuls les huit
+ premiers caractères du mot de passe spécifié sont pris en compte. Si
+ le mot de passe spécifié est plus long, les caractères
+ supplémentaires sont ignorés.</p>
+
+ <p>Le format de chiffrement SHA n'utilise pas d'amorçage aléatoire
+ (salting) : à un mot de passe donné correspond une seule
+ représentation chiffrée. Les formats <code>crypt()</code> et MD5
+ permutent la représentation en la préfixant par une chaîne d'amorce
+ aléatoire, afin de rendre les attaques de mots de passe à base de
+ dictionnaires plus difficiles.</p>
+
+ <p>Les algorithmes de chiffrement SHA et <code>crypt()</code>
+ sont considérés comme <strong>non surs</strong> du point de vue des
+ standards actuels.</p>
+</section>
+
+<section id="restrictions"><title>Restrictions</title>
+ <p>Sur les plates-formes Windows, la taille des mots de passe
+ chiffrés avec <code>htpasswd</code> est limitée à <code>255</code>
+ caractères. Les mots de passe dont la taille est supérieure seront
+ tronqués.</p>
+
+ <p>L'algorithme MD5 utilisé par <code>htpasswd</code> est spécifique
+ à Apache ; les mots de passe chiffrés en utilisant cet algorithme
+ seront inutilisables sur d'autres serveurs Web.</p>
+
+ <p>La taille des noms d'utilisateurs est limitée à <code>255</code>
+ octets et ceux-ci ne doivent pas contenir de caractère
+ <code>:</code>.</p>
+</section>
+
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision: 1779469 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="httpd.xml.meta">
+<parentdocument href="./">Programmes</parentdocument>
+
+ <title>httpd - Le serveur HTTP d'Apache</title>
+
+<summary>
+ <p><code>httpd</code> est le programme du serveur HTTP d'Apache. Il
+ a été conçu pour fonctionner sous forme de processus démon
+ indépendant. Lorsqu'il est utilisé ainsi, il va créer un jeu de
+ processus enfants ou de threads qui traiteront les requêtes.</p>
+
+ <p>En général, <code>httpd</code> n'est pas invoqué directement,
+ mais plutôt via <program>apachectl</program> sur les systèmes de
+ style Unix ou <a
+ href="../platform/windows.html#winsvc">en tant que service sous
+ Windows NT, 2000 et XP</a> et <a
+ href="../platform/windows.html#wincons">comme application de
+ console sous Windows 9x et ME</a>.</p>
+</summary>
+
+<seealso><a href="../invoking.html">Démarrer Apache httpd</a></seealso>
+<seealso><a href="../stopping.html">Arrêter Apache httpd</a></seealso>
+<seealso><a href="../configuring.html">Fichiers de configuration</a></seealso>
+<seealso><a href="../platform/">Documentations spécifiques aux
+plates-formes</a></seealso>
+<seealso><program>apachectl</program></seealso>
+
+<section id="synopsis"><title>Syntaxe</title>
+ <p><code><strong>httpd</strong> [ -<strong>d</strong>
+ <var>racine-serveur</var> ] [ -<strong>f</strong> <var>config</var> ]
+ [ -<strong>C</strong> <var>directive</var> ] [ -<strong>c</strong>
+ <var>directive</var> ] [ -<strong>D</strong> <var>paramètre</var> ]
+ [ -<strong>e</strong> <var>niveau</var> ] [ -<strong>E</strong>
+ <var>fichier</var> ]
+ [ <strong>-k</strong> start|restart|graceful|stop|graceful-stop ]
+ [ -<strong>h</strong> ]
+ [ -<strong>l</strong> ] [ -<strong>L</strong> ] [ -<strong>S</strong> ]
+ [ -<strong>t</strong> ] [ -<strong>v</strong> ] [ -<strong>V</strong> ]
+ [ -<strong>X</strong> ] [ -<strong>M</strong> ] [ -<strong>T</strong> ]
+ </code></p>
+
+ <p>Sur les <a href="../platform/windows.html">systèmes Windows</a>,
+ les options additionnelles suivantes sont disponibles :</p>
+
+ <p><code><strong>httpd</strong> [ -<strong>k</strong>
+ install|config|uninstall ] [ -<strong>n</strong> <var>nom</var> ]
+ [ -<strong>w</strong> ]</code></p>
+</section>
+
+<section id="options"><title>Options</title>
+
+<dl>
+<dt><code>-d <var>racine-serveur</var></code></dt>
+
+<dd>Définit la valeur initiale de la directive <directive
+module="core">ServerRoot</directive> à <var>racine-serveur</var>. Cette
+valeur peut être écrasée par la directive ServerRoot du fichier de
+configuration. La valeur par défaut est
+<code>/usr/local/apache2</code>.</dd>
+
+<dt><code>-f <var>config</var></code></dt>
+
+<dd>Utilise les directives du fichier <var>config</var> au démarrage. Si
+<var>config</var> ne commence pas par un '/', il est considéré comme
+relatif au chemin défini par la directive <directive
+module="core">ServerRoot</directive>. La valeur par défaut est
+<code>conf/httpd.conf</code>.</dd>
+
+<dt><code>-k <code>start|restart|graceful|stop|graceful-stop</code></code></dt>
+
+<dd>Permet de démarrer, redémarrer ou arrêter <code>httpd</code>. Voir <a
+href="../stopping.html">Arrêter Apache httpd</a> pour plus d'informations.</dd>
+
+<dt><code>-C <var>directive</var></code></dt>
+
+<dd>Exécute la directive de configuration <var>directive</var> avant de
+lire les fichiers de configurations.</dd>
+
+<dt><code>-c <var>directive</var></code></dt>
+
+<dd>Exécute la directive de configuration <var>directive</var> après
+avoir lu les fichiers de configurations.</dd>
+
+
+<dt><code>-D <var>paramètre</var></code></dt>
+
+<dd>Définit un <var>paramètre</var> de configuration à utiliser dans les
+sections <directive type="section" module="core">IfDefine</directive>
+des fichiers de configuration, ces dernières permettant d'exécuter ou
+non des
+commandes au démarrage ou au redémarrage du serveur. Sert aussi à
+définir certains paramètres de démarrage moins courants comme
+<code>-DNO_DETACH</code> (empêche le processus parent de lancer des
+processus enfants) et <code>-DFOREGROUND</code> (empêche le processus
+parent d'appeler <code>setsid()</code> et autres).</dd>
+
+<dt><code>-e <var>niveau</var></code></dt>
+
+<dd>Définit la directive <directive module="core">LogLevel</directive> à
+<var>niveau</var> pendant le démarrage du serveur. Ceci permet
+d'augmenter temporairement la verbosité des messages d'erreur afin de
+déterminer les problèmes de démarrage.</dd>
+
+<dt><code>-E <var>fichier</var></code></dt>
+
+<dd>Envoie les messages d'erreur de démarrage vers le fichier
+<var>fichier</var>.</dd>
+
+<dt><code>-h</code></dt>
+
+<dd>Affiche un bref résumé des options de ligne de commande
+disponibles.</dd>
+
+<dt><code>-l</code></dt>
+
+<dd>Affiche la liste des modules compilés dans le le serveur. Ce
+paramètre n'affiche <strong>pas</strong> les modules chargés
+dynamiquement via la directive <directive
+module="mod_so">LoadModule</directive>.</dd>
+
+<dt><code>-L</code></dt>
+
+<dd>Affiche une liste des directives fournies par les modules statiques
+avec les arguments associés, ainsi que les contextes dans lesquels elles
+sont valides. Les directives fournies par les modules partagés
+(dynamiques) ne sont pas affichées).</dd>
+
+<dt><code>-M</code></dt>
+
+<dd>Affiche une liste des modules statiques et des modules chargés
+dynamiquement.</dd>
+
+<dt><code>-S</code></dt>
+
+<dd>Affiche la configuration telle qu'elle est issue de l'interprétation
+du fichier de configuration (actuellement, seule la configuration des
+serveurs virtuels est affichée).</dd>
+
+<dt><code>-T</code> (disponible depuis la version 2.3.8)</dt>
+
+<dd>Empêche la vérification de la racine des documents (DocumentRoot) au
+démarrage/redémarrage.</dd>
+
+<dt><code>-t</code></dt>
+
+<dd>Exécute une vérification de syntaxe pour les fichiers de
+configuration seulement. Le programme se termine immédiatement après ces
+tests de vérification de syntaxe avec soit un code de retour de 0
+(syntaxe OK), soit un code de retour différent de 0 (erreur de
+syntaxe). Si -D <var>DUMP</var>_<var>VHOSTS </var> est défini, les
+détails de la configuration des serveurs virtuels seront affichés. Si -D
+<var>DUMP</var>_<var>MODULES </var> est défini, tous les modules chargés
+seront affichés. Si -D <var>DUMP</var>_<var>CERTS </var> est défini et
+si <module>mod_ssl</module> est utilisé, les certificats SSL définis
+seront affichés. Si -D <var>DUMP</var>_<var>CA</var>_<var>_CERTS </var>
+est défini et si <module>mod_ssl</module> est utilisé, les certificats
+de CA SSL ainsi que les répertoires contenant de tels certificats
+seront affichés.</dd>
+
+<dt><code>-v</code></dt>
+
+<dd>Print the version of <code>httpd</code>, and then exit.</dd>
+
+<dt><code>-V</code></dt>
+
+<dd>Le programme affiche la version et les paramètres de compilation de
+<code>httpd</code>, puis se termine.</dd>
+
+<dt><code>-X</code></dt>
+
+<dd>Exécute httpd en mode debug. Un seul processus sera démarré, et le
+serveur ne rendra pas la main à la console.</dd>
+
+</dl>
+
+<p>Les arguments suivants ne sont disponibles que sur la <a
+href="../platform/windows.html">plate-forme Windows</a> :</p>
+
+<dl>
+
+<dt><code>-k install|config|uninstall</code></dt>
+
+<dd>Respectivement : installe Apache httpd en tant que service Windows NT ;
+modifie les options de démarrage du service Apache httpd ; désinstalle le
+service Apache httpd.</dd>
+
+<dt><code>-n <var>nom</var></code></dt>
+
+<dd>Le <var>nom</var> du service Apache httpd à actionner.</dd>
+
+<dt><code>-w</code></dt>
+
+<dd>Garde la console Windows ouverte en cas de problème de façon à ce
+que le message d'erreur puisse être lu.</dd>
+
+</dl>
+
+</section>
+
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1673947 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="httxt2dbm.xml.meta">
+<parentdocument href="./">Programmes</parentdocument>
+
+<title>httxt2dbm - Génère des fichiers dbm à utiliser avec
+RewriteMap</title>
+
+<summary>
+ <p><code>httxt2dbm</code> permet, à partir d'une entrée au format
+ texte, de générer des fichiers dbm à utiliser dans les directives
+ <directive module="mod_rewrite">RewriteMap</directive> avec le type
+ de table <code>dbm</code>.
+ </p>
+
+ <p>Si le fichier de sortie existe déjà, il ne sera pas tronqué. Les
+ nouvelles clés seront ajoutées et les clés préexistantes mises à
+ jour.</p>
+</summary>
+<seealso><program>httpd</program></seealso>
+<seealso><module>mod_rewrite</module></seealso>
+
+<section id="synopsis"><title>Syntaxe</title>
+ <p><code><strong>httxt2dbm</strong>
+ [ -<strong>v</strong> ]
+ [ -<strong>f</strong> <var>TYPE_DBM</var> ]
+ -<strong>i</strong> <var>TEXTE_SOURCE</var>
+ -<strong>o</strong> <var>SORTIE_DBM</var>
+ </code></p>
+</section>
+
+<section id="options"><title>Options</title>
+ <dl>
+ <dt><code>-v</code></dt>
+ <dd>Sortie plus verbeuse</dd>
+
+ <dt><code>-f <var>TYPE_DBM</var></code></dt>
+ <dd>Spécifie le type DBM à utiliser pour le fichier de sortie.
+ S'il n'est pas spécifié, c'est la valeur par défaut de
+ l'<glossary>APR</glossary> qui sera utilisée. Les types disponibles
+ sont :
+ <code>GDBM</code> pour les fichiers GDBM,
+ <code>SDBM</code> pour les fichiers SDBM,
+ <code>DB</code> pour les fichiers DB,
+ <code>NDBM</code> pour les fichiers NDBM,
+ <code>default</code> pour le type DBM par défaut
+ </dd>
+
+ <dt><code>-i <var>TEXTE_SOURCE</var></code></dt>
+ <dd>Le fichier d'entrée à partir duquel le fichier dbm sera créé. Le
+ fichier doit être formaté de façon à ne contenir qu'un seul
+ enregistrement par ligne, de la forme : <code>clé valeur</code>.
+ Voir la documentation de la directive <directive
+ module="mod_rewrite">RewriteMap</directive> pour plus de détails à
+ propos du format de ce fichier et de sa signification.
+ </dd>
+
+ <dt><code>-o <var>SORTIE_DBM</var></code></dt>
+ <dd>Nom du fichier dbm de sortie.</dd>
+ </dl>
+</section>
+
+<section id="examples"><title>Exemples</title>
+ <example>
+ httxt2dbm -i rewritemap.txt -o rewritemap.dbm<br />
+ httxt2dbm -f SDBM -i rewritemap.txt -o rewritemap.dbm<br />
+ </example>
+</section>
+
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1325282 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="index.xml.meta">
+<parentdocument href="../"/>
+
+ <title>Le serveur et ses utilitaires</title>
+
+<summary>
+ <p>Cette page documente tous les utilitaires inclus
+ dans le serveur HTTP Apache.</p>
+</summary>
+
+<section id="index"><title>Index</title>
+
+ <dl>
+ <dt><program>httpd</program></dt>
+
+ <dd>Le serveur de protocole de transfert hypertexte Apache</dd>
+
+ <dt><program>apachectl</program></dt>
+
+ <dd>L'interface de contrôle du serveur HTTP Apache</dd>
+
+ <dt><program>ab</program></dt>
+
+ <dd>L'outil de test de performances du serveur HTTP Apache</dd>
+
+ <dt><program>apxs</program></dt>
+
+ <dd>L'outil de gestion des extensions Apache</dd>
+
+ <dt><program>configure</program></dt>
+
+ <dd>Configuration de l'arborescence des sources</dd>
+
+ <dt><program>dbmmanage</program></dt>
+
+ <dd>Crée et met à jour les fichiers d'authentification utilisateurs au
+ format DBM pour une authentification basique</dd>
+
+ <dt><program>fcgistarter</program></dt>
+
+ <dd>Lance un programme fastcgi</dd>
+
+ <dt><program>firehose</program></dt>
+
+ <dd>Permet de démultipléxer les flux générés par
+ <module>mod_firehose</module></dd>
+
+ <dt><program>htcacheclean</program></dt>
+
+ <dd>Nettoie le cache sur disque</dd>
+
+ <dt><program>htdigest</program></dt>
+
+ <dd>Crée et met à jour les fichiers d'authentification pour une
+ authentification sommaire</dd>
+
+ <dt><program>htdbm</program></dt>
+
+ <dd>Manipulation des bases de données DBM des mots de passe.</dd>
+
+ <dt><program>htpasswd</program></dt>
+
+ <dd>Crée et met à jour les fichiers d'authentification pour une
+ authentification basique</dd>
+
+ <dt><program>httxt2dbm</program></dt>
+
+ <dd>Crée des fichiers dbm destinés à être utilisés avec
+ RewriteMap</dd>
+
+ <dt><program>logresolve</program></dt>
+
+ <dd>Résolution des noms d'hôtes en adresses IP dans les fichiers
+ de traces d'Apache</dd>
+
+ <dt><a
+ href="other.html#log_server_status">log_server_status</a></dt>
+
+ <dd>Journalisation périodique du statut du serveur</dd>
+
+ <dt><program>rotatelogs</program></dt>
+
+ <dd>Rotation des traces d'Apache sans devoir arrêter le serveur</dd>
+
+ <dt><program>split-logfile</program></dt>
+
+ <dd>Divise un journal pour plusieurs hôtes virtuels en journaux
+ spécifiques à chaque hôte</dd>
+
+ <dt><program>suexec</program></dt>
+
+ <dd>Change d'utilisateur pour l'exécution de certains programmes</dd>
+
+ </dl>
+</section>
+
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1174747 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="logresolve.xml.meta">
+<parentdocument href="./">Programmes</parentdocument>
+
+ <title>logresolve - Résoud les adresses IP en noms d'hôtes dans les
+ fichiers journaux d'Apache</title>
+
+<summary>
+ <p><code>logresolve</code> est un programme agissant après
+ traitement pour résoudre les adresses IP dans les journaux d'accès
+ d'Apache. Pour minimiser la charge de votre serveur de noms,
+ logresolve possède son propre cache interne sous forme d'une table
+ de hashage. Cela implique que chaque numéro IP ne fera l'objet
+ d'une requête DNS que la première fois où il est rencontré dans le
+ fichier journal.</p>
+
+ <p>Le programme reçoit le fichier journal sur son entrée standard.
+ Les adresses IP doivent se trouver en tête de chaque ligne et
+ doivent être séparées du reste de la ligne par un espace.</p>
+</summary>
+
+<section id="synopsis"><title>Syntaxe</title>
+
+ <p><code><strong>logresolve</strong> [ -<strong>s</strong>
+ <var>nom-fichier</var> ] [ -<strong>c</strong> ] <
+ <var>access_log</var> > <var>access_log.new</var></code></p>
+</section>
+
+
+<section id="options"><title>Options</title>
+
+<dl>
+
+<dt><code>-s <var>nom-fichier</var></code></dt>
+
+<dd>Spécifie le nom du fichier où seront enregistrées des
+statistiques.</dd>
+
+<dt><code>-c</code></dt>
+
+<dd>Avec cette option, <code>logresolve</code> effectue certaines
+vérifications DNS : après avoir trouvé le nom d'hôte correspondant à une
+adresse IP, <code>logresolve</code> effectue une recherche DNS sur ce
+nom d'hôte et vérifie si une des adresses IP trouvées correspond à
+l'adresse originale.</dd>
+
+</dl>
+</section>
+
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1680166 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="rotatelogs.xml.meta">
+<parentdocument href="./">Programmes</parentdocument>
+
+ <title>rotatelogs - Rotation des journaux d'Apache par redirection de
+ ces derniers dans un "pipe"</title>
+
+<summary>
+ <p><code>rotatelogs</code> est un programme simple à utiliser en
+ conjonction avec la fonctionnalité d'Apache de redirection dans un
+ "pipe" des fichiers journaux. Il supporte une rotation basée sur un
+ intervalle de temps ou une taille maximale du journal.</p>
+</summary>
+
+<section id="synopsis"><title>Syntaxe</title>
+
+ <p><code><strong>rotatelogs</strong>
+ [ -<strong>l</strong> ]
+ [ -<strong>L</strong> <var>nom-lien</var> ]
+ [ -<strong>p</strong> <var>programme</var> ]
+ [ -<strong>f</strong> ]
+ [ -<strong>D</strong> ]
+ [ -<strong>t</strong> ]
+ [ -<strong>v</strong> ]
+ [ -<strong>e</strong> ]
+ [ -<strong>c</strong> ]
+ [ -<strong>n</strong> <var>nombre-de-fichiers</var> ]
+ <var>fichier-journal</var>
+ <var>heure-de-rotation</var>|<var>taille-fichier</var>(B|K|M|G)
+ [ <var>décalage</var> ]</code></p>
+</section>
+
+<section id="options"><title>Options</title>
+
+<dl>
+
+<dt><code>-l</code></dt>
+<dd>Utilise le temps local plutôt que GMT comme base pour l'intervalle
+de temps ou pour le formatage de <code>strftime(3)</code> avec une
+rotation basée sur la taille.</dd>
+
+<dt><code>-L</code> <var>nom-lien</var></dt>
+<dd>Etablit un lien physique entre le fichier journal courant et le lien
+spécifié. Cette option permet de consulter le journal de manière
+continue malgré les rotations via une commande du style <code>tail -F
+nom-lien</code>.</dd>
+
+<dt><code>-p</code> <var>programme</var></dt>
+<dd>Avec cette option, <code>rotatelogs</code> exécutera le programme
+<var>programme</var> chaque fois qu'un nouveau fichier journal sera
+ouvert. Le nom du fichier nouvellement ouvert est passé comme premier
+argument au programme. Si l'exécution se produit après une rotation,
+l'ancien nom du fichier journal est passé au programme comme second
+argument. <code>rotatelogs</code>
+n'attend pas la fin du <var>programme</var> pour continuer son
+exécution, et cessera tout enregistrement de codes d'erreur lorsqu'il
+aura terminé son processus. Le <var>programme</var> utilise les mêmes
+canaux stdin, stdout, et stderr que rotatelogs, et hérite de son
+environnement.</dd>
+
+<dt><code>-f</code></dt>
+<dd>Ouvre le fichier journal immédiatement, dès que
+<code>rotatelogs</code> démarre, au lieu d'attendre la lecture de la
+première entrée de journal (pour les sites peu chargés, il peut
+s'écouler un temps substantiel entre le démarrage du serveur et le
+traitement de la première requête, temps pendant lequel le fichier
+journal associé n'"existe" pas, ce qui peut causer des problèmes à
+certains utilitaires de journalisation automatiques).</dd>
+
+<dt><code>-D</code></dt>
+<dd>Crée les répertoires parents du chemin du fichier journal s'ils
+n'existent pas déjà, ce qui permet d'utiliser le format
+<code>strftime(3)</code> dans les chemins au lieu du nom de fichier seul.</dd>
+
+<dt><code>-t</code></dt>
+<dd>Provoque une troncature du fichier journal au lieu d'une rotation.
+Cela peut s'avérer utile lorsqu'un journal est élaboré en temps réel par
+une commande telle que tail, l'archivage des données n'étant ici pas
+nécessaire. Si aucun suffixe n'est ajouté au nom de fichier, les
+chaînes de format contenant des caractères '%' sont cependant
+respectées.
+</dd>
+
+<dt><code>-v</code></dt>
+<dd>Affiche une sortie verbeuse sur STDERR. La sortie contient le
+résultat de l'interprétation de la configuration, ainsi que toutes les
+opérations d'ouverture et de fermeture de fichiers.</dd>
+
+<dt><code>-c</code></dt>
+<dd>Crée un fichier journal pour chaque intervalle, même s'il est vide.</dd>
+
+<dt><code>-e</code></dt>
+<dd>Envoie les messages de journalisation vers stdout. Ceci s'avère
+utile lorsque les journaux doivent être traités par un autre programme.</dd>
+
+<dt><code>-n <var>nombre-de-fichiers</var></code></dt>
+<dd>Utilise une liste circulaire de fichiers sans repères de temps. Avec
+-n 3, la série de fichiers conservés sera "logfile",
+"logfile.1", "logfile.2" avec écrasement de "logfile".<br />
+Disponible à partir de la version 2.4.5 du serveur HTTP Apache.</dd>
+
+<dt><code><var>fichier-journal</var></code></dt>
+<dd><p>Le chemin et le nom de base du fichier journal. Si
+<var>fichier-journal</var> contient des caractères '%', il est considéré
+comme une chaîne de formatage pour <code>strftime(3)</code>. Dans le cas
+contraire, le suffixe <var>.nnnnnnnnnn</var> est automatiquement ajouté
+et correspond au temps en secondes (sauf si l'option -t est spécifiée).
+Les deux formats calculent le temps
+de démarrage depuis le début de la période courante. Par exemple, si un
+temps de rotation de 86400 est spécifié, les champs heure, minute et
+seconde créés à partir du format <code>strftime(3)</code> auront tous
+pour valeur 0, en référence au début de la période de 24 heures courante
+(minuit).</p>
+<p>Si vous utilisez le formatage de noms de fichiers
+<code>strftime(3)</code>, assurez-vous que le format du fichier journal
+possède une granularité suffisamment importante pour générer un nom de
+fichier différent à chaque rotation des journaux. Si ce n'est pas le
+cas, la rotation va écraser le fichier existant au lieu d'en générer un
+nouveau. Par exemple, si <var>fichier-journal</var> était
+<code>/var/log/errorlog.%Y-%m-%d</code> avec une rotation à 5
+mégaoctets, et si la limite de 5 mégaoctets a été atteinte deux fois
+dans la même journée, le même nom de fichier va être généré, et la
+rotation va écraser le fichier existant.</p>
+</dd>
+
+<dt><code><var>temps-rotation</var></code></dt>
+
+<dd>Le temps entre deux rotations des fichiers journaux en secondes. La
+rotation intervient au début de cet intervalle. Par exemple, si le temps
+de rotation est de 3600, la rotation des fichiers journaux s'effectuera
+au début de chaque heure ; si le temps de rotation est de 86400, la
+rotation des fichiers journaux s'effectuera chaque nuit à minuit. (Si
+aucune donnée n'est enregistrée au cours d'un intervalle, aucun fichier
+ne sera créé).</dd>
+
+<dt><code><var>taille-fichier</var>(B|K|M|G)</code></dt>
+
+<dd>La taille maximale du fichier suivie par une des lettres
+<code>B</code> (Octets), <code>K</code> (KOctets), <code>M</code> (MOctets)
+ou <code>G</code> (GOctets).
+<p>
+Lorsque temps et taille sont spécifiés, la taille doit l'être après le
+temps. La rotation interviendra alors aussitôt que l'une des deux limites
+(temps ou taille) sera atteinte.
+</p>
+</dd>
+
+<dt><code><var>décalage</var></code></dt>
+
+<dd>Le décalage en minutes par rapport au temps UTC. Par défaut, le
+décalage est considéré comme nul et c'est le temps UTC qui est utilisé.
+Par exemple, pour utiliser le temps local de la zone UTC -5 heures,
+spécifiez une valeur de <code>-300</code> pour cette option. Dans la
+plupart des cas, il vaut mieux utiliser l'option <code>-l</code> que
+spécifier un décalage.</dd>
+
+</dl>
+</section>
+
+<section id="examples"><title>Exemples</title>
+
+<example>
+ CustomLog "|bin/rotatelogs /var/log/fichier-journal 86400" common
+</example>
+
+ <p>Cette directive crée les fichiers /var/log/fichier-journal.nnnn
+ où nnnn correspond au temps système auquel la journalisation
+ démarre effectivement (ce temps sera toujours un multiple du temps
+ de rotation, si bien que vous pouvez synchroniser les scripts cron
+ avec lui). A la fin de chaque temps de rotation (ici après 24
+ heures), une nouvelle journalisation démarre.</p>
+
+<example>
+ CustomLog "|bin/rotatelogs -l /var/log/fichier-journal.%Y.%m.%d 86400" common
+</example>
+
+ <p>Cette directive crée les fichiers
+ /var/log/fichier-journal.yyyy.mm.dd où yyyy correspond à l'année,
+ mm au mois et dd au jour du mois. La journalisation basculera vers
+ un nouveau fichier chaque jour à minuit, temps local.</p>
+
+<example>
+ CustomLog "|bin/rotatelogs /var/log/fichier-journal 5M" common
+</example>
+
+ <p>Cette directive va effectuer une rotation du fichier journal
+ chaque fois que la taille de ce dernier atteindra 5 MOctets.</p>
+
+<example>
+ ErrorLog "|bin/rotatelogs /var/log/journal-erreurs.%Y-%m-%d-%H_%M_%S 5M"
+</example>
+ <p>Cette directive va effectuer une rotation du fichier journal des
+ erreurs chaque fois que la taille de ce dernier atteindra 5
+ MOctets, et le nom du fichier journal se présentera sous
+ la forme <code>journal-erreurs.YYYY-mm-dd-HH_MM_SS</code>.</p>
+
+<example>
+ CustomLog "|bin/rotatelogs -t /var/log/journal 86400" common
+</example>
+
+ <p>Cet exemple crée le fichier /var/log/journal en le tronquant
+ au démarrage, puis une fois par jour. Ce scénario implique qu'un
+ processus séparé (tel que tail) traite le fichier en temps
+ réel.</p>
+
+</section>
+
+<section id="portability"><title>Portabilité</title>
+
+<p>Les substitutions des chaînes de format du fichier journal suivantes
+doivent être supportées par toutes les implémentations de
+<code>strftime(3)</code> ; voir la page de manuel de
+<code>strftime(3)</code> pour les extensions spécifiques à une
+bibliothèque.</p>
+
+<table border="1" style="zebra">
+<tr><td><code>%A</code></td><td>nom du jour de la semaine en entier
+(localisé)</td></tr>
+<tr><td><code>%a</code></td><td>nom du jour de la semaine sur 3
+caractères (localisé)</td></tr>
+<tr><td><code>%B</code></td><td>nom du mois en entier (localisé)</td></tr>
+<tr><td><code>%b</code></td><td>nom du mois sur 3 caractères (localisé)</td></tr>
+<tr><td><code>%c</code></td><td>date et heure (localisé)</td></tr>
+<tr><td><code>%d</code></td><td>jour du mois sur 2 chiffres</td></tr>
+<tr><td><code>%H</code></td><td>heure sur 2 chiffres (de 0 à 24h)</td></tr>
+<tr><td><code>%I</code></td><td>heure sur 2 chiffres (de 0 à 12h)</td></tr>
+<tr><td><code>%j</code></td><td>jour de l'année sur 3 chiffres</td></tr>
+<tr><td><code>%M</code></td><td>minutes sur 2 chiffres</td></tr>
+<tr><td><code>%m</code></td><td>mois sur 2 chiffres</td></tr>
+<tr><td><code>%p</code></td><td>suffixe am/pm pour l'heure de 0 à 12h
+(localisé)</td></tr>
+<tr><td><code>%S</code></td><td>secondes sur 2 chiffres</td></tr>
+<tr><td><code>%U</code></td><td>semaine de l'année sur 2 chiffres
+(Dimanche est le premier jour de la semaine)</td></tr>
+<tr><td><code>%W</code></td><td> semaine de l'année sur 2 chiffres
+(Lundi est le premier jour de la semaine)</td></tr>
+<tr><td><code>%w</code></td><td>jour de la semaine sur 1 chiffre
+(Dimanche est le premier jour de la semaine)</td></tr>
+<tr><td><code>%X</code></td><td>heure (localisée)</td></tr>
+<tr><td><code>%x</code></td><td>date (localisée)</td></tr>
+<tr><td><code>%Y</code></td><td>année sur 4 chiffres</td></tr>
+<tr><td><code>%y</code></td><td>année sur 2 chiffres</td></tr>
+<tr><td><code>%Z</code></td><td>nom de la zone de temps</td></tr>
+<tr><td><code>%%</code></td><td>caractère littéral `%'</td></tr>
+</table>
+
+</section>
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision: 1741874 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="access.xml.meta">
+ <parentdocument href="./">Rewrite</parentdocument>
+
+<title>Utiliser mod_rewrite pour le contrôle d'accès</title>
+
+<summary>
+
+<p>Ce document est un complément à la <a
+href="../mod/mod_rewrite.html">documentation de référence</a> de
+<module>mod_rewrite</module>. Il explique comment utiliser
+<module>mod_rewrite</module> pour contrôler l'accès à diverses
+ressources, ainsi que d'autres techniques en rapport. Il contient de
+nombreux exemples d'utilisation courante de mod_rewrite avec une
+description détaillée de leur fonctionnement.</p>
+
+<note type="warning">Vous devez vous attacher à comprendre le
+fonctionnement des exemples, car la plupart d'entre eux ne
+fonctionneront pas sur votre système si vous vous contentez de les
+copier/coller dans vos fichiers de configuration.</note>
+
+</summary>
+<seealso><a href="../mod/mod_rewrite.html">Documentation du module mod_rewrite</a></seealso>
+<seealso><a href="intro.html">Introduction à mod_rewrite</a></seealso>
+<seealso><a href="remapping.html">Redirection et remise en
+correspondance</a></seealso>
+<!-- <seealso><a href="access.html">Contrôler l'accès</a></seealso> -->
+<seealso><a href="vhosts.html">Serveurs virtuels</a></seealso>
+<seealso><a href="proxy.html">Serveurs mandataires</a></seealso>
+<seealso><a href="rewritemap.html">Utilisation de RewriteMap</a></seealso>
+<seealso><a href="advanced.html">Techniques avancées</a></seealso>
+<seealso><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></seealso>
+
+ <section id="blocked-inline-images">
+
+ <title>Blocage du référencement à chaud (Hotlinking) d'images</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Cette technique vous permet d'interdire à d'autres sites
+ d'inclure directement vos images dans leurs pages. On fait
+ souvent référence à cette pratique sous le nom de
+ référencement à chaud (Hotlinking) qui entraîne l'utilisation
+ de votre bande passante pour servir des contenus faisant
+ partie du site de quelqu'un d'autre.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>Cette technique repose sur la valeur de la variable
+ optionnelle <code>HTTP_REFERER</code>. Certaines personnes
+ pourront donc contourner cette limitation. Pour la plupart des
+ utilisateurs cependant, la requête échouera, en ce sens que
+ l'image ne sera pas affichée depuis le site tiers.</p>
+ <p>Il y a plusieurs manières de gérer cette situation.</p>
+
+ <p>Dans le premier exemple, nous rejetons tout simplement la
+ requête si elle ne provenait pas d'une page appartenant à notre
+ site. Pour les besoins de cet exemple, nous supposons que le nom
+ de votre site est <code>www.example.com</code>.</p>
+
+<!-- TODO: Add discussion here of why we have !^$ in there. -->
+
+<highlight language="config">
+RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "-" [F,NC]
+</highlight>
+
+ <p>Dans le second exemple, plutôt que de rejeter la requête,
+ nous affichons une autre image à la place.</p>
+
+<highlight language="config">
+RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "/images/go-away.png" [R,NC]
+</highlight>
+
+ <p>Dans le troisième exemple, nous redirigeons la requête vers
+ une image appartenant à un autre site.</p>
+
+<highlight language="config">
+RewriteCond "%{HTTP_REFERER}" "!^$"
+RewriteCond "%{HTTP_REFERER}" "!www.example.com" [NC]
+RewriteRule "\.(gif|jpg|png)$" "http://other.example.com/image.gif" [R,NC]
+</highlight>
+
+ <p>De tous ces exemples, les deux derniers semblent les plus
+ efficaces pour faire en sorte que les gens arrêtent de
+ référencer vos images à chaud, car il ne verront pas les images
+ qu'ils s'attendent à voir.</p>
+
+ </dd>
+
+ <dt>Discussion :</dt>
+
+ <dd>
+ <p>Si vous ne voulez pas rediriger la requête, mais
+ simplement interdire l'accès à la ressource, vous pouvez y
+ parvenir sans utiliser mod_rewrite :</p>
+
+ <highlight language="config">
+SetEnvIf Referer example\.com localreferer
+<FilesMatch "\.(jpg|png|gif)$">
+ Require env localreferer
+</FilesMatch>
+ </highlight>
+ </dd>
+ </dl>
+
+ </section>
+
+ <section id="blocking-of-robots">
+
+ <title>Blocage des robots</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>
+ Dans cet exemple, nous allons discuter d'une méthode permettant
+ de bloquer les requêtes persistentes en provenance d'un robot
+ particulier, ou d'un navigateur.</p>
+
+ <p>La méthode classique pour exclure un robot consiste à définir
+ un fichier, <code>/robots.txt</code> qui spécifie les parties de
+ votre site web pour lesquelles vous voulez exclure les robots.
+ Malheureusement, certains robots ne tiennent pas compte de ces
+ fichiers.
+ </p>
+
+ <p>Notez qu'il existe des méthodes d'exclusion qui n'utilisent
+ pas mod_rewrite. Notez aussi que toute technique qui repose sur
+ le contenu de la chaîne client <code>USER_AGENT</code> peut être
+ contournée très facilement car cette chaîne peut être modifiée.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>On utilise un jeu de règles qui spécifie le répertoire à
+ protéger, ainsi que la chaîne client <code>USER_AGENT</code> qui
+ identifie le robot malin ou envahissant.</p>
+
+ <p>Dans cet exemple, nous bloquons un robot nommé
+ <code>Vilain_Robot</code> pour le répertoire
+ <code>/secret/fichiers</code>. Si vous voulez bloquer ce client
+ seulement depuis une source particulière, vous pouvez aussi
+ spécifier un intervalle d'adresses IP.</p>
+
+<highlight language="config">
+RewriteCond "%{HTTP_USER_AGENT}" "^NameOfBadRobot"
+RewriteCond "%{REMOTE_ADDR}" "=123\.45\.67\.[8-9]"
+RewriteRule "^/secret/files/" "-" [F]
+</highlight>
+ </dd>
+
+ <dt>Discussion :</dt>
+
+ <dd>
+ <p>
+ Vous pouvez cependant parvenir au même résultat sans utiliser
+ mod_rewrite via la méthode alternative suivante :
+ </p>
+ <highlight language="config">
+SetEnvIfNoCase User-Agent ^NameOfBadRobot goaway
+<Location "/secret/files">
+ <RequireAll>
+ Require all granted
+ Require not env goaway
+ </RequireAll>
+</Location>
+ </highlight>
+ <p>
+ Comme indiqué plus haut, il est aisé de contourner cette
+ technique, simplement en modifiant le contenu de l'en-tête
+ <code>USER_AGENT</code>. Si vous subissez une attaque en règle,
+ vous allez devoir réfléchir à un blocage à un niveau supérieur,
+ par exemple une règle de filtrage de votre pare-feu.
+ </p>
+
+ </dd>
+
+ </dl>
+
+ </section>
+
+<section id="host-deny">
+
+ <title>Rejet des clients contenus dans une liste noire</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Nous voulons interdire l'accès à notre serveur aux clients
+ contenus dans une liste noire similaire à
+ <code>hosts.deny</code>.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+<highlight language="config">
+RewriteEngine on
+RewriteMap hosts-deny "txt:/path/to/hosts.deny"
+RewriteCond "${hosts-deny:%{REMOTE_ADDR}|NOT-FOUND}" "!=NOT-FOUND" [OR]
+RewriteCond "${hosts-deny:%{REMOTE_HOST}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "-" [F]
+</highlight>
+
+<example>
+##<br />
+## hosts.deny<br />
+##<br />
+## ATTENTION! Ceci est une table de correspondances, non une liste,<br />
+## même si elle est traitée comme telle. mod_rewrite<br />
+## l'interprète comme une liste de paires clé/valeur, et<br />
+## chaque entrée doit au moins posséder une valeur par<br />
+## défaut "-".<br />
+<br />
+193.102.180.41 -<br />
+bsdti1.sdm.de -<br />
+192.76.162.40 -<br />
+</example>
+ </dd>
+
+ <dt>Discussion :</dt>
+ <dd>
+ <p>
+ La seconde condition RewriteCond présuppose que HostNameLookups est
+ défini à On, de façon à ce que les adresses IP des clients puissent
+ être résolues. Dans le cas contraire, vous devez supprimer la
+ seconde condition, ainsi que le drapeau <code>[OR]</code> de la
+ première.
+ </p>
+ </dd>
+ </dl>
+
+</section>
+
+<section id="referer-deflector">
+
+ <title>Aiguillage basé sur l'en-tête Referer</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Redirige les requêtes en fonction du Referer de provenance de
+ la requête, avec des cibles différentes pour chaque Referer.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>Le jeu de règles suivant utilise un fichier de correspondances pour
+ associer chaque Referer à une cible de redirection.</p>
+
+<highlight language="config">
+RewriteMap deflector "txt:/path/to/deflector.map"
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}}" =-
+RewriteRule "^" "%{HTTP_REFERER}" [R,L]
+
+RewriteCond "%{HTTP_REFERER}" !=""
+RewriteCond "${deflector:%{HTTP_REFERER}|NOT-FOUND}" "!=NOT-FOUND"
+RewriteRule "^" "${deflector:%{HTTP_REFERER}}" [R,L]
+</highlight>
+
+ <p>Le fichier de correspondances contient les cibles de
+ redirection associées à chaque Referer, ou, si nous voulons
+ simplement rediriger les requêtes vers leur Referer, un "-" est
+ inscrit dans le fichier de correspondances :</p>
+
+<highlight language="config">
+##
+## deflector.map
+##
+
+http://badguys.example.com/bad/index.html -
+http://badguys.example.com/bad/index2.html -
+http://badguys.example.com/bad/index3.html http://somewhere.example.com/
+</highlight>
+
+ </dd>
+ </dl>
+
+</section>
+
+
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+<!-- English Revision: 1673945 -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="advanced.xml.meta">
+ <parentdocument href="./">Rewrite</parentdocument>
+
+<title>Advanced Techniques with mod_rewrite</title>
+
+<summary>
+
+<p>Ce document complète la <a
+ href="../mod/mod_rewrite.html">documentation de référence</a> du
+ module <module>mod_rewrite</module>. Il présente un certain nombre
+ de techniques avancées quant à
+ l'utilisation de mod_rewrite.</p>
+
+<!--
+I question whether anything remailing in this document qualifies as
+"advanced". It's probably time to take inventory of the examples that we
+have in the various docs, and consider a reorg of the stuff in this
+directory. Again.
+-->
+
+<note type="warning">Notez que la plupart des exemples ne fonctionneront
+pas en l'état dans la configuration particulière de votre serveur ; il
+est donc important de bien comprendre leur fonctionnement, plutôt que de
+simplement les copier/coller dans votre configuration.</note>
+
+</summary>
+<seealso><a href="../mod/mod_rewrite.html">Documentation du module</a></seealso>
+<seealso><a href="intro.html">Introduction à mod_rewrite</a></seealso>
+<seealso><a href="remapping.html">Redirection et remise en
+correspondance</a></seealso>
+<seealso><a href="access.html">Contrôler l'accès</a></seealso>
+<seealso><a href="vhosts.html">serveurs virtuels</a></seealso>
+<seealso><a href="proxy.html">serveurs mandataires</a></seealso>
+<seealso><a href="rewritemap.html">Utilisation de RewriteMap</a></seealso>
+<!--<seealso><a href="advanced.html">Techniques avancées</a></seealso>-->
+<seealso><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></seealso>
+
+<section id="sharding">
+
+ <title>Distribution de la charge entre plusieurs serveurs
+ d'arrière-plan en fonction de l'adresse IP</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>La fragmentation ou "sharding" est une technique courante de
+ distribution de la charge du serveur ou de l'espace de stockage.
+ Quand on utilise cette méthode, un serveur frontal utilise l'URL
+ pour répartir de manière appropriée les utilisateurs et objets
+ entre différents serveurs d'arrière-plan.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>On maintient une table de correspondance entre utilisateurs et
+ serveurs cibles dans des fichiers externes. Ces derniers se
+ présentent comme suit :</p>
+
+<example>
+utilisateur1 serveur_physique_utilisateur1<br />
+utilisateur2 serveur_physique_utilisateur2<br />
+: :
+</example>
+
+ <p>Tout ceci est enregistré dans un fichier
+ <code>correspondances-utilisateurs-serveurs</code>. Le but est de
+ faire correspondre</p>
+
+<example>
+/u/utilisateur1/chemin
+</example>
+
+ <p>avec</p>
+
+<example>
+http://serveur_physique_utilisateur1/u/utilisateur/chemin
+</example>
+
+ <p>il n'est ainsi pas nécessaire que tous les chemins URL soient
+ valides sur tous les serveurs physiques d'arrière-plan. Le jeu de
+ règles suivant fait tout ceci pour nous, en s'appuyant sur les
+ fichiers de correspondances, en supposant que serveur0 est un
+ serveur par défaut qui sera utilisé lorsqu'un utilisateur ne
+ possèdera pas d'entrée dans la table de correspondances :</p>
+
+<highlight language="config">
+RewriteEngine on
+RewriteMap users-to-hosts "txt:/path/to/map.users-to-hosts"
+RewriteRule "^/u/([^/]+)/?(.*)" "http://${users-to-hosts:$1|server0}/u/$1/$2"
+</highlight>
+ </dd>
+ </dl>
+
+ <p>Voir la documentation de <directive
+ module="mod_rewrite">RewriteMap</directive> pour une description plus
+ approfondie de la syntaxe de cette directive.</p>
+
+</section>
+
+<section id="on-the-fly-content">
+
+ <title>Régéneration de contenu à la volée</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Nous voulons générer du contenu de manière dynamique, mais le
+ conserver de manière statique lorsqu'il a été généré. La règle
+ suivante vérifie l'existence du fichier statique, et le génère
+ s'il est absent. Les fichiers statiques peuvent être supprimés
+ périodiquement si on le désire (par exemple via cron), et seront
+ régénérés à la demande.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ A cet effet, on utilise le jeu de règles suivant :
+
+<highlight language="config">
+# Cet exemple n'est valable que dans un contexte de répertoire
+RewriteCond "%{REQUEST_URI}" !-U
+RewriteRule "^(.+)\.html$" "/regenerate_page.cgi" [PT,L]
+</highlight>
+
+ <p>L'opérateur <code>-U</code> permet de déterminer si la chaîne
+ de test (dans ce cas <code>REQUEST_URI</code>) est une URL valide.
+ Pour ce faire, il utilise une sous-requête. Si cette sous-requête
+ échoue, ou en d'autres termes, si la ressource demandée n'existe pas,
+ cette règle invoque le programme CGI
+ <code>/regenerate_page.cgi</code> qui génère la ressource
+ demandée et la sauvegarde dans le répertoire des documents, de
+ façon à ce qu'une copie statique puisse être servie lors d'une
+ demande ultérieure.</p>
+
+ <p>De cette façon, les documents qui ne sont pas mis à jour
+ régulièrement peuvent être servis sous une forme statique. Si ces
+ documents doivent être réactualisés, on peut les supprimer du
+ répertoire des documents, et ils seront ainsi régénérés à la
+ prochaine demande.</p>
+ </dd>
+ </dl>
+
+</section>
+
+<section id="load-balancing">
+
+ <title>Répartition de charge</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Nous voulons répartir la charge de manière aléatoire entre
+ plusieurs serveurs en utilisant mod_rewrite.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>Pour y parvenir, nous allons utiliser la directive <directive
+ module="mod_rewrite">RewriteMap</directive> et une liste de
+ serveurs.</p>
+
+<highlight language="config">
+RewriteEngine on
+RewriteMap lb "rnd:/path/to/serverlist.txt"
+RewriteRule "^/(.*)" "http://${lb:serveurs}/$1" [P,L]
+</highlight>
+
+<p><code>liste-serveurs.txt</code> contiendra la liste des serveurs :</p>
+
+<example>
+## liste-serveurs.txt<br />
+<br />
+serveurs un.example.com|deux.example.com|trois.example.com<br />
+</example>
+
+<p>Si vous voulez qu'un serveur se voit confier d'avantage de charge que
+les autres, faites le figurer plusieurs fois dans la liste.</p>
+
+ </dd>
+
+ <dt>Discussion</dt>
+ <dd>
+<p>Apache possède un module de répartition de charge -
+<module>mod_proxy_balancer</module> - beaucoup plus souple et présentant
+plus de fonctionnalités dans ce domaine que mod_rewrite.</p>
+ </dd>
+ </dl>
+
+</section>
+
+<section id="structuredhomedirs">
+
+ <title>Répertoires Home structurés</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Certains sites avec des milliers d'utilisateurs organisent
+ les répertoires utilisateurs de manière structurée, c'est à
+ dire que chaque répertoire utilisateur se trouve dans un
+ sous-répertoire dont le nom commence (par exemple) par le
+ premier caractère du nom de l'utilisateur. Ainsi,
+ <code>/~larry/chemin</code> correspond à
+ <code>/home/<strong>l</strong>/larry/public_html/chemin</code>, alors
+ que <code>/~waldo/chemin</code> correspond à
+ <code>/home/<strong>w</strong>/waldo/public_html/chemin</code>.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>On utilise le jeu de règles suivant pour développer les
+ URLs avec tilde selon l'organisation structurée précédente.</p>
+
+<highlight language="config">
+RewriteEngine on
+RewriteRule "^/~(<strong>([a-z])</strong>[a-z0-9]+)(.*)" "/home/<strong>$2</strong>/$1/public_html$3"
+</highlight>
+ </dd>
+ </dl>
+
+</section>
+
+<section id="redirectanchors">
+
+ <title>Redirection des ancrages</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Par défaut, la redirection vers un ancrage HTML ne fonctionne
+ pas, car mod_rewrite échappe le caractère <code>#</code> en le
+ transformant en <code>%23</code>, ce qui rend la redirection
+ inopérante.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>On utilise le drapeau <code>[NE]</code> dans la règle
+ <code>RewriteRule</code>. NE signifie "No Escape".
+ </p>
+ </dd>
+
+ <dt>Discussion :</dt>
+ <dd>Cette technique fonctionne bien entendu pour tout autre
+ caractère spécial que mod_rewrite, par défaut, code pour insertion
+ dans une URL.</dd>
+ </dl>
+
+</section>
+
+<section id="time-dependent">
+
+ <title>Réécriture dépendant de l'heure</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Nous voulons servir des contenus différents selon l'heure du
+ jour en utilisant mod_rewrite.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>Il existe de nombreuses variables nommées
+ <code>TIME_xxx</code> utilisables dans les conditions de
+ réécriture. Utilisées en conjonction avec les modèles de
+ comparaison lexicographique spéciaux <code><STRING</code>,
+ <code>>STRING</code> et <code>=STRING</code>, elles
+ permettent d'effectuer des redirections dépendant de
+ l'heure :</p>
+
+<highlight language="config">
+RewriteEngine on
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" >0700
+RewriteCond "%{TIME_HOUR}%{TIME_MIN}" <1900
+RewriteRule "^foo\.html$" "foo.day.html" [L]
+RewriteRule "^foo\.html$" "foo.night.html"
+</highlight>
+
+ <p>Avec cet exemple, l'URL <code>foo.html</code> renvoie
+ le contenu de <code>foo.jour.html</code> durant le
+ créneau horaire <code>07:01-18:59</code>, et le contenu de
+ <code>foo.nuit.html</code> le reste du temps.</p>
+
+ <note type="warning"><module>mod_cache</module>, les mandataires
+ intermédiaires et les navigateurs peuvent chacun mettre en cache
+ les réponses et ainsi afficher une des deux pages en dehors de
+ la fenêtre de temps configurée. On peut utiliser
+ <module>mod_expires</module> pour contourner ce problème. Il est
+ cependant bien plus commode de servir un contenu dynamique, et
+ de le personnaliser en fonction de l'heure du jour.</note> </dd>
+ </dl>
+
+</section>
+
+<section id="setenvvars">
+
+ <title>Définir des variables d'environnement en fonction de
+ certaines parties de l'URL</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Ici, nous voulons conserver une certaine forme de statut
+ lorsqu'une réécriture a eu lieu. Par exemple, vous souhaitez
+ consigner le fait que cette réécriture a eu lieu, et vous servir
+ plus tard de cette information pour déterminer si une requête sera
+ concernée par cette réécriture. Pour y parvenir, on peut utiliser
+ une variable d'environnement.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>Utiliser le drapeau [E] pour définir une variable
+ d'environnement.</p>
+
+<highlight language="config">
+RewriteEngine on
+RewriteRule "^/cheval/(.*)" "/poney/$1" [E=<strong>rewritten:1</strong>]
+</highlight>
+
+ <p>Plus loin dans votre jeu de règles, vous pouvez vérifier le
+ contenu de cette variable d'environnement via une directive
+ RewriteCond :</p>
+
+<highlight language="config">
+RewriteCond "%{ENV:rewritten}" =1
+</highlight>
+
+ </dd>
+ </dl>
+
+</section>
+
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision: 1737433 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="avoid.xml.meta">
+ <parentdocument href="./">Rewrite</parentdocument>
+
+<title>Quand ne pas utiliser mod_rewrite</title>
+
+<summary>
+
+<p>Ce document est un complément à la <a
+href="../mod/mod_rewrite.html">Documentation de référence</a> de
+<module>mod_rewrite</module>. Il décrit peut-être un des concepts les
+plus importants à propos de <module>mod_rewrite</module> - à savoir, quand doit-on éviter
+de l'utiliser.</p>
+
+<p><module>mod_rewrite</module> doit être considéré comme un dernier recours,
+lorsqu'aucune alternative n'est possible. Utiliser mod_rewrite lorsqu'il
+existe des alternatives plus simples conduit à des configurations
+confuses, fragiles, et difficiles à maintenir. La compréhension des
+autres alternatives disponibles est une étape très importante sur le
+chemin de la maîtrise de <module>mod_rewrite</module>.</p>
+
+<p>Vous devez vous attacher à comprendre le
+fonctionnement des exemples, car la plupart d'entre eux ne
+fonctionneront pas sur votre système si vous vous contentez de les
+copier/coller dans vos fichiers de configuration.</p>
+
+<p>Le cas le plus courant dans lequel <module>mod_rewrite</module> est
+l'outil approprié est la situation où la seule solution envisageable
+nécessite l'accès aux fichiers de configuration du serveur, alors que
+cet accès ne vous est pas accordé. Certaines directives de configuration
+ne sont disponibles que dans le fichier de configuration du serveur. Si
+vous ne pouvez agir que sur les fichiers .htaccess, vous devrez donc
+vous tourner vers <module>mod_rewrite</module>.</p>
+
+</summary>
+<seealso><a href="../mod/mod_rewrite.html">Documentation du module mod_rewrite</a></seealso>
+<seealso><a href="intro.html">Introduction à mod_rewrite</a></seealso>
+<seealso><a href="remapping.html">Redirection et remise en
+correspondance</a></seealso>
+<seealso><a href="access.html">Contrôle d'accès</a></seealso>
+<seealso><a href="vhosts.html">Serveurs virtuels</a></seealso>
+<seealso><a href="proxy.html">Serveurs mandataires</a></seealso>
+<seealso><a href="rewritemap.html">Utilisation de RewriteMap</a></seealso>
+<seealso><a href="advanced.html">Techniques avancées</a></seealso>
+<!--<seealso><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></seealso>-->
+
+<section id="redirect">
+<title>Redirection simple</title>
+
+<p><module>mod_alias</module> fournit les directives <directive
+module="mod_alias">Redirect</directive> et <directive
+module="mod_alias">RedirectMatch</directive> qui permettent de
+rediriger une URL vers une autre. Plutôt que d'utiliser la directive
+<directive module="mod_rewrite">RewriteRule</directive> pour ce genre de
+redirection simple d'une URL ou d'une classe d'URLs vers une autre, on
+préfèrera l'utilisation de ces directives. En outre, avec
+<code>RedirectMatch</code>, vous pouvez inclure une expression
+rationnelle dans votre critère de redirection, ce qui vous permet de
+bénéficier de nombreux avantages de la directive
+<code>RewriteRule</code>.</p>
+
+<p>Une utilisation courante de la directive <code>RewriteRule</code> est
+la redirection de toute une classe d'URLs. Par exemple, toutes les URLs
+faisant référence au répertoire <code>/un</code> doivent être
+redirigées vers <code>http://un.example.com/</code>, ou toutes les
+requêtes <code>http</code> doivent être redirigées vers
+<code>https</code>.</p>
+
+<p>Pour ce faire, il est préférable d'utiliser la directive
+<code>Redirect</code>. Souvenez-vous que la directive
+<code>Redirect</code> conserve les informations relatives au chemin. En
+d'autres termes, la redirection d'une URL <code>/un</code> va aussi
+rediriger toutes les URLs de niveaux inférieurs comme
+<code>/un/deux.html</code> et <code>/un/trois/quatre.html</code>.</p>
+
+<p>Pour rediriger les URLs sous <code>/un</code> vers
+<code>http://un.example.com/</code>, utilisez cette définition :</p>
+
+<highlight language="config">
+Redirect /one/ http://one.example.com/
+</highlight>
+
+<p>Pour rediriger un nom d'hôte vers un autre nom d'hôte, par exemple
+<code>example.com</code> vers <code>www.example.com</code>, voir la
+méthode <a href="remapping.html#canonicalhost">Noms d'hôtes canoniques</a>.</p>
+
+<p>Pour rediriger les URLs <code>http</code> vers <code>https</code>,
+utilisez cette définition :</p>
+
+<highlight language="config">
+<VirtualHost *:80>
+ServerName www.example.com
+Redirect "/" "https://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:443>
+ServerName www.example.com
+# ... insérer ici la configuration SSL
+</VirtualHost>
+</highlight>
+
+<p>L'utilisation de la directive <code>RewriteRule</code> pour accomplir
+cette tâche peut se justifier s'il existe d'autres directives
+<code>RewriteRule</code> dans la même portée. En effet, lorsque des
+directives <code>Redirect</code> et <code>RewriteRule</code> se trouvent
+dans la même portée, les directives <code>RewriteRule</code> sont
+exécutées en premier, sans tenir compte de leur ordre d'apparition dans
+le fichier de configuration.</p>
+
+<p>Dans le cas de la redirection <em>http-vers-https</em>, l'utilisation
+de règles <code>RewriteRule</code> se justifie si vous n'avez pas accès
+au fichier de configuration principal, et devez donc accomplir cette
+tâche au sein d'un fichier <code>.htaccess</code>.</p>
+
+</section>
+
+<section id="alias"><title>Alias d'URL</title>
+<p>La directive <directive module="mod_alias">Alias</directive> permet
+de mettre en correspondance un URI avec un répertoire, ce dernier étant
+en général situé en dehors de l'arborescence définie par la directive
+<directive module="core">DocumentRoot</directive>. Bien qu'il soit
+possible d'effectuer cette mise en correspondance avec
+<module>mod_rewrite</module>, il est préférable d'utiliser la directive
+<directive module="mod_alias">Alias</directive> pour des raisons de simplicité
+et de performances.</p>
+
+<example><title>Utilisation de la directive Alias</title>
+<highlight language="config">
+Alias "/cats" "/var/www/virtualhosts/felines/htdocs"
+</highlight>
+</example>
+
+<p>
+Pour effectuer cette mise en correspondance, <module>mod_rewrite</module>
+s'impose si vous n'avez pas accès aux fichiers de configuration du
+serveur. En effet, la directive Alias ne peut pas être utilisée dans un
+fichier <code>.htaccess</code>, mais seulement dans un contexte de
+serveur principal ou de serveur virtuel.
+</p>
+
+<p>En outre, vous pouvez arriver au même résultat avec les liens
+symboliques, pourvu que <code>Options FollowSymLinks</code> soit activé
+sur votre serveur.</p>
+</section>
+
+<section id="vhosts"><title>Hébergement virtuel</title>
+<p>Bien qu'il soit possible de gérer les <a href="vhosts.html">serveurs
+virtuels avec mod_rewrite</a>, il s'agit rarement de la bonne méthode.
+Il est pratiquement toujours préférable de créer des blocs
+<directive module="core" type="section">VirtualHost</directive> individuels.
+Dans l'éventualité où vous devez gérer
+un grand nombre de serveurs virtuels, vous devez vous tourner vers
+<module>mod_vhost_alias</module> pour créer ces serveurs
+automatiquement.</p>
+
+<p>Il est aussi possible d'utiliser des modules comme <module>mod_macro</module> pour
+créer un grand nombre de serveurs virtuels dynamiquement.</p>
+
+<p>L'utilisation de <module>mod_rewrite</module> pour la création de
+serveurs virtuels peut se révéler appropriée si votre service
+d'hébergement ne vous permet pas d'accéder aux fichiers de configuration
+du serveur, et que vous soyez par conséquent obligé de passer par les
+fichiers <code>.htaccess</code>.</p>
+
+<p>Voir le document <a href="vhosts.html">création de serveurs virtuels
+avec mod_rewrite</a> pour plus de détails sur la manière d'y parvenir si
+cela semble être tout de même la meilleure approche.</p>
+
+</section>
+
+<section id="proxy"><title>Mandat simple</title>
+
+<p>La directive <directive module="mod_rewrite">RewriteRule</directive> fournit
+le drapeau <a
+href="flags.html#flag_p">[P]</a> qui permet de faire passer les URIs
+réécrits par <module>mod_proxy</module>.</p>
+
+<highlight language="config">
+RewriteRule "^/?images(.*)" "http://serveur-images.local/images$1" [P]
+</highlight>
+
+<p>Cependant, dans les nombreux cas où aucune correspondance au modèle
+n'est vraiment nécessaire, comme dans l'exemple ci-dessus, il est
+préférable d'utiliser la directive <directive
+module="mod_proxy">ProxyPass</directive>. L'exemple précédent pourrait
+être remplacé par :</p>
+
+<highlight language="config">
+ProxyPass "/images/" "http://serveur-images.local/images/"
+</highlight>
+
+<p>Que vous utilisiez <directive
+module="mod_rewrite">RewriteRule</directive> ou <directive
+module="mod_proxy">ProxyPass</directive>, vous devrez dans tous les cas
+utiliser aussi la directive <directive
+module="mod_proxy">ProxyPassReverse</directive> pour intercepter les
+redirections en provenance du serveur d'arrière-plan :</p>
+
+<highlight language="config">
+ProxyPassReverse "/images/" "http://serveur-images.local/images/"
+</highlight>
+
+<p>Vous devrez cependant tout de même utiliser <code>RewriteRule</code>
+lorsque d'autres <code>RewriteRule</code>s se trouvent dans la même portée,
+car elles agissent en général avant les directives
+<code>ProxyPass</code>, et peuvent ainsi les court-circuiter.</p>
+
+</section>
+
+<section id="setenv"><title>Test de variables d'environnement</title>
+
+<p><module>mod_rewrite</module> est souvent utilisé pour effectuer une
+action en fonction de la présence ou de l'absence d'une variable
+d'environnement particulière ou d'un en-tête de requête, ce qui peut
+être accompli de manière plus efficace via la directive <directive
+module="core" type="section">If</directive>.</p>
+
+<p>Considérons par exemple le scénario courant où la directive
+<directive>RewriteRule</directive> est utilisée pour forcer un nom
+d'hôte canonique, tel que <code>www.example.com</code> au lieu de
+<code>example.com</code>. Il est possible d'utiliser à la place la
+directive <directive module="core" type="section">If</directive> comme
+suit :</p>
+
+<highlight language="config">
+<If "req('Host') != 'www.example.com'">
+ Redirect "/" "http://www.example.com"
+</If>
+</highlight>
+
+<p>On peut utiliser cette technique dans de nombreux scénarios courant
+pour remplacer <module>mod_rewrite</module> pour effectuer des actions
+en fonction d'en-têtes de requêtes ou de réponses, ou de variables
+d'environnement.</p>
+
+<p>Voir en particulier la <a href="../expr.html">documentation sur
+l'évaluation des expressions</a> pour une vue d'ensemble des types
+d'expressions que vous pouvez utiliser dans les sections <directive
+module="core" type="section">If</directive>,
+ainsi que dans certaines directives.</p>
+
+</section>
+
+</manualpage>
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1174747 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="htaccess.xml.meta">
+ <parentdocument href="./">Rewrite</parentdocument>
+
+<title>mod_rewrite et les fichiers .htaccess</title>
+
+<summary>
+
+<p>Ce document est un complément de la <a
+href="../mod/mod_rewrite.html">documentation de référence</a> du module
+<module>mod_rewrite</module>. Il décrit les changements apportés aux règles
+lorsqu'on utilise mod_rewrite dans les fichiers .htaccess, et comment
+travailler avec ces changements.</p>
+
+</summary>
+<seealso><a href="../mod/mod_rewrite.html">Documentation du module mod_rewrite</a></seealso>
+<seealso><a href="intro.html">Introduction à mod_rewrite</a></seealso>
+<seealso><a href="remapping.html">Redirection et remise en
+correspondance</a></seealso>
+<!-- <seealso><a href="access.html">Controlling access</a></seealso> -->
+<seealso><a href="vhosts.html">Serveurs virtuels</a></seealso>
+<seealso><a href="proxy.html">Serveurs mandataires</a></seealso>
+<seealso><a href="rewritemap.html">Utilisation de RewriteMap</a></seealso>
+<seealso><a href="advanced.html">Techniques avancées</a></seealso>
+<seealso><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></seealso>
+
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision: 1673945 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="proxy.xml.meta">
+ <parentdocument href="./">Rewrite</parentdocument>
+
+<title>Utilisation de mod_rewrite comme mandataire</title>
+
+<summary>
+
+<p>Ce document est un complément de la <a
+href="../mod/mod_rewrite.html">documentation de référence</a> du module
+<module>mod_rewrite</module>. Il décrit comment utiliser le drapeau [P]
+de la directive RewriteRule pour mandater un contenu vers un autre
+serveur. Plusieurs recettes décrivant des scénarios courants sont
+fournies.</p>
+
+</summary>
+<seealso><a href="../mod/mod_rewrite.html">Documentation du module</a></seealso>
+<seealso><a href="intro.html">Introduction à mod_rewrite</a></seealso>
+<seealso><a href="remapping.html">Redirection et remise en
+correspondance</a></seealso>
+<seealso><a href="access.html">Contrôle d'accès</a></seealso>
+<seealso><a href="vhosts.html">Serveurs virtuels</a></seealso>
+<!--<seealso><a href="proxy.html">Serveurs mandataires</a></seealso>-->
+<seealso><a href="rewritemap.html">Utilisation de RewriteMap</a></seealso>
+<seealso><a href="advanced.html">Techniques avancées</a></seealso>
+<seealso><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></seealso>
+
+<section id="dynamic-proxy">
+
+ <title>Mandater du contenu avec mod_rewrite</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>
+ mod_rewrite implémente le drapeau [P] qui permet de passer des URLs,
+ via mod_proxy, à un autre serveur. Deux exemples sont fournis ici.
+ Dans le premier, une URL est passée directement à un autre serveur,
+ et servie comme si c'était une URL locale. Dans le deuxième, nous
+ mandatons un contenu manquant vers un serveur d'arrière-plan.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>Pour passer une URL à un autre serveur, on utilise le drapeau
+ [P] comme suit :</p>
+
+<highlight language="config">
+RewriteEngine on
+RewriteBase "/produits/"
+RewriteRule "^widget/(.*)$" "http://produits.example.com/widget/$1" [P]
+ProxyPassReverse "/produits/objet/" "http://produits.example.com/objet/"
+</highlight>
+
+ <p>Dans le deuxième exemple, nous ne mandatons la requête que si nous
+ ne trouvons pas la ressource localement. Ceci peut s'avérer très
+ utile lorsque vous effectuez une migration d'un serveur vers un
+ autre, et que vous n'êtes pas certain que tout le contenu a déjà été
+ migré.</p>
+
+<highlight language="config">
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
+RewriteRule "^/(.*)" "http://ancien.exemple.com/$1" [P]
+ProxyPassReverse "/" "http://ancien.exemple.com/"
+</highlight>
+ </dd>
+
+ <dt>Discussion :</dt>
+
+ <dd><p>Dans les deux cas, on ajoute une directive <directive
+ module="mod_proxy">ProxyPassReverse</directive> afin de s'assurer
+ que toute redirection en provenance du serveur d'arrière-plan est
+ renvoyée correctement au client.</p>
+
+ <p>Chaque fois que cela est possible, préférez l'utilisation de la
+ directive <directive module="mod_proxy">ProxyPass</directive> ou
+ <directive module="mod_proxy">ProxyPassMatch</directive> à
+ mod_rewrite.</p>
+ </dd>
+ </dl>
+
+</section>
+
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision: 1716475 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="remapping.xml.meta">
+ <parentdocument href="./">Rewrite</parentdocument>
+
+<title>Redirection et remise en correspondance avec mod_rewrite</title>
+
+<summary>
+
+<p>Ce document est un complément à la <a
+href="../mod/mod_rewrite.html">Documentation de référence</a> de
+<module>mod_rewrite</module>. Il montre comment utiliser
+<module>mod_rewrite</module> pour rediriger et remettre en
+correspondance une requête. Il contient de
+nombreux exemples d'utilisation courante de mod_rewrite avec une
+description détaillée de leur fonctionnement.</p>
+
+<note type="warning">Vous devez vous attacher à comprendre le
+fonctionnement des exemples, car la plupart d'entre eux ne
+fonctionneront pas sur votre système si vous vous contentez de les
+copier/coller dans vos fichiers de configuration.</note>
+
+</summary>
+<seealso><a href="../mod/mod_rewrite.html">Documentation du module mod_rewrite</a></seealso>
+<seealso><a href="intro.html">Introduction à mod_rewrite</a></seealso>
+<!--<seealso><a href="remapping.html">Redirection et remise en
+correspondance</a></seealso>-->
+<seealso><a href="access.html">Contrôler l'accès</a></seealso>
+<seealso><a href="vhosts.html">Serveurs virtuels</a></seealso>
+<seealso><a href="proxy.html">Serveurs mandataires</a></seealso>
+<seealso><a href="rewritemap.html">Utilisation de RewriteMap</a></seealso>
+<seealso><a href="advanced.html">Techniques avancées</a></seealso>
+<seealso><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></seealso>
+
+<section id="old-to-new">
+
+ <title>De l'ancienne à la nouvelle URL (en interne)</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Supposons que nous ayons récemment renommé la page
+ <code>foo.html</code> en <code>bar.html</code>, et voulions
+ maintenant que l'ancienne URL soit toujours valide à des fins
+ de compatibilité ascendante. En fait, on voudrait que le
+ changement de nom soit transparent aux utilisateurs de
+ l'ancienne URL.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>On réécrit l'ancienne URL en interne vers la nouvelle via
+ la règle suivante :</p>
+
+<highlight language="config">
+RewriteEngine on
+RewriteRule "^<strong>/foo</strong>\.html$" "<strong>/bar</strong>.html" [PT]
+</highlight>
+ </dd>
+ </dl>
+
+</section>
+
+<section id="old-to-new-extern">
+
+ <title>De l'ancien au nouveau (en externe)</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Supposons toujours que nous ayons récemment renommé la page
+ <code>foo.html</code> en <code>bar.html</code>, et voulions
+ maintenant que l'ancienne URL soit toujours valide à des fins
+ de compatibilité ascendante. En revanche, nous voulons cette
+ fois que la nouvelle URL soit suggérée aux utilisateurs de
+ l'ancienne URL, c'est à dire que l'adresse vue depuis leur
+ navigateur doit également être modifiée.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>On force une redirection HTTP vers la nouvelle URL, ce qui
+ entraîne une modification de celle du navigateur et aussi de ce
+ que voit l'utilisateur :</p>
+
+<highlight language="config">
+RewriteEngine on
+RewriteRule "^<strong>foo</strong>\.html$" "<strong>bar</strong>.html" [<strong>R</strong>]
+</highlight>
+</dd>
+
+<dt>Discussion</dt>
+
+ <dd>
+ <p>Dans l'exemple <a
+ href="#old-to-new-intern">interne</a>, on a utilisé mod_rewrite afin
+ de dissimuler la redirection au client. Dans cet exemple, en
+ revanche, on aurait pu se contenter d'une directive Redirect :</p>
+
+ <highlight language="config">Redirect "/foo.html" "/bar.html"</highlight>
+
+ </dd>
+ </dl>
+
+</section>
+
+<section id="movehomedirs">
+
+ <title>Ressource déplacée vers un autre serveur</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Si une ressource a été déplacée vers un autre serveur, vous
+ pouvez faire en sorte que les URLs de l'ancien serveur continuent
+ de fonctionner pendant un certain temps, afin de laisser au
+ utilisateurs le temps de modifier leurs favoris.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>Vous pouvez utiliser <module>mod_rewrite</module> pour
+ rediriger ces URLs vers le nouveau serveur, mais vous pouvez aussi
+ utiliser les directives Redirect ou RedirectMatch.</p>
+
+<highlight language="config">#Avec mod_rewrite
+RewriteEngine on
+RewriteRule "^/docs/(.+)" "http://nouveau.example.com/docs/$1" [R,L]
+</highlight>
+
+<highlight language="config">#Avec RedirectMatch
+RedirectMatch "^/docs/(.*)" "http://nouveau.example.com/docs/$1"
+</highlight>
+
+<highlight language="config">#Avec Redirect
+Redirect "/docs/" "http://nouveau.example.com/docs/"
+</highlight>
+ </dd>
+ </dl>
+
+</section>
+
+
+
+<section id="static-to-dynamic">
+
+ <title>De statique à dynamique</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Comment transformer une page statique <code>foo.html</code>
+ en sa variante dynamique <code>foo.cgi</code> de manière
+ transparente, c'est à dire sans en avertir le
+ navigateur/utilisateur.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>On réécrit simplement l'URL en script CGI et force le
+ gestionnaire de contenu à <strong>cgi-script</strong> de façon
+ à ce que le script s'exécute en tant que programme CGI.
+ Ainsi, une requête vers <code>/~quux/foo.html</code> conduit
+ en interne à l'invocation de
+ <code>/~quux/foo.cgi</code>.</p>
+
+<highlight language="config">
+RewriteEngine on
+RewriteBase "/~quux/"
+RewriteRule "^foo\.html$" "foo.cgi" [H=<strong>cgi-script</strong>]
+</highlight>
+ </dd>
+ </dl>
+
+ </section>
+
+<section id="backward-compatibility">
+
+ <title>Compatibilité ascendante dans le cadre d'une modification
+ d'extension de nom de fichier</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Comment conférer une compatibilité ascendante aux URLs
+ (existant encore virtuellement) après avoir migré
+ <code>document.YYYY</code> vers <code>document.XXXX</code>,
+ c'est à dire après avoir par exemple traduit un lot de
+ fichiers <code>.html</code> en fichiers <code>.php</code>
+ ?</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>On réécrit simplement le nom du fichier en son nom
+ de base et vérifie s'il existe aussi avec la nouvelle
+ extension. Si c'est le cas, on utilise ce nom, sinon on
+ réécrit l'URL sous sa forme originale.</p>
+
+
+<highlight language="config">
+# jeu de règles assurant une compatibilité ascendante en réécrivant<br />
+# document.html en document.php si et seulement si document.php<br />
+# existe
+<Directory "/var/www/htdocs">
+ RewriteEngine on
+ RewriteBase "/var/www/htdocs"
+
+ RewriteCond "$1.php" -f
+ RewriteCond "$1.html" !-f
+ RewriteRule "^(.*).html$" "$1.php"
+</Directory>
+</highlight>
+ </dd>
+
+ <dt>Discussion</dt>
+ <dd>
+ <p>Cet exemple utilise une fonctionnalité souvent méconnue de
+ mod_rewrite, en tirant avantage de l'ordre d'exécution du jeu de
+ règles. En particulier, mod_rewrite évalue la partie gauche des
+ règles de réécriture avant d'évaluer les directives RewriteCond. En
+ conséquence, $1 est déjà défini au moment où les directives
+ RewriteCond sont évaluées. Ceci nous permet de tester l'existence du
+ fichier original (<code>document.html</code>) et du fichier cible
+ (<code>document.php</code>) en utilisant le même nom de base.</p>
+
+ <p>Ce jeu de règles est conçu pour une utilisation dans un contexte
+ de répertoire (au sein d'une section <Directory> ou d'un
+ fichier .htaccess), de façon à ce que les vérifications
+ <code>-f</code> effectuent leurs recherches dans le bon répertoire.
+ Vous serez peut-être amené à définir une directive <directive
+ module="mod_rewrite">RewriteBase</directive> pour spécifier le
+ répertoire de base à partir duquel vous travaillez.</p>
+ </dd>
+ </dl>
+
+</section>
+
+<section id="canonicalhost">
+
+<title>Noms d'hôtes canoniques</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>Le but de cette règle est de préférer l'utilisation d'un nom
+ d'hôte particulier à d'autres noms d'hôte utilisables
+ pour atteindre le même site. Par exemple, si vous voulez
+ utiliser <strong>www.example.com</strong> à la place de
+ <strong>example.com</strong>, vous pouvez utiliser une solution
+ du style :</dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+
+<p>Pour y parvenir, il vaut mieux se passer de mod_rewrite, et utiliser
+plutôt la directive <directive module="mod_alias">Redirect</directive> dans
+une section de serveur virtuel pour le/les noms d'hôte non canoniques.</p>
+
+<highlight language="config">
+<VirtualHost *:80>
+ ServerName undesired.example.com
+ ServerAlias example.com notthis.example.com
+
+ Redirect "/" "http://www.example.com/"
+</VirtualHost>
+
+<VirtualHost *:80>
+ ServerName www.example.com
+</VirtualHost>
+</highlight>
+
+<p>Vous pouvez aussi utiliser la directive <directive module="core"
+type="section">If</directive> (versions 2.4 et ultérieures) :</p>
+
+<highlight language="config">
+<If "%{HTTP_HOST} != 'www.example.com'">
+ Redirect "/" "http://www.example.com/"
+</If>
+</highlight>
+
+<p>Ou, par exemple, pour rediriger une portion de votre site vers HTTPS
+:</p>
+
+<highlight language="config">
+<If "%{SERVER_PROTOCOL} != 'HTTPS'">
+ Redirect "/admin/" "https://www.example.com/admin/"
+</If>
+</highlight>
+
+<p>Si, pour une raison particulière, vous voulez tout de même utiliser
+<code>mod_rewrite</code> - dans le cas, par exemple, où vous avez besoin
+d'un jeu plus important de règles de réécritures - vous pouvez utiliser
+la recette suivante :</p>
+
+<p>Pour les sites écoutant sur un port autre que 80:</p>
+<highlight language="config">
+RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteCond "%{SERVER_PORT}" "!^80$"
+RewriteRule "^/?(.*)" "http://www.example.com:%{SERVER_PORT}/$1" [L,R,NE]
+</highlight>
+
+<p>Et pour un site écoutant sur le port 80</p>
+<highlight language="config">
+RewriteCond "%{HTTP_HOST}" "!^www\.example\.com" [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.example.com/$1" [L,R,NE]
+</highlight>
+ <p>
+ Si vous souhaitez que cette règle s'applique à tous les noms de
+ domaine - en d'autres termes, si vous voulez rediriger
+ <strong>example.com</strong> vers
+ <strong>www.example.com</strong> pour toutes les valeurs
+ possibles de <strong>example.com</strong>, vous pouvez utiliser
+ le jeu de règles suivants :</p>
+
+<highlight language="config">
+RewriteCond "%{HTTP_HOST}" "!^www\." [NC]
+RewriteCond "%{HTTP_HOST}" "!^$"
+RewriteRule "^/?(.*)" "http://www.%{HTTP_HOST}/$1" [L,R,NE]
+</highlight>
+ <p>
+ Vous pouvez utiliser ce jeu de règles aussi bien dans le fichier
+ de configuration de votre serveur principal que dans un fichier
+ <code>.htaccess</code> placé dans le répertoire défini par la
+ directive <directive
+ module="core">DocumentRoot</directive> du serveur.</p>
+ </dd>
+ </dl>
+
+ </section>
+
+<section id="multipledirs">
+
+ <title>Recherche de pages dans plus d'un répertoire</title>
+
+ <dl>
+ <dt>Description:</dt>
+
+ <dd>
+ <p>Une ressource peut exister dans plusieurs répertoires, et nous
+ voulons rechercher cette ressource dans ces répertoires
+ lorsqu'elle fait l'objet d'une requête. Il est possible que nous
+ ayons récemment réorganisé la structure de notre site en
+ répartissant son contenu dans plusieurs répertoires.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>Le jeu de règles suivant recherche la ressource dans deux
+ répertoires, et s'il ne la trouve dans aucun des deux, il tentera
+ simplement de la servir à partir de l'adresse fournie dans la
+ requête.</p>
+
+<highlight language="config">
+RewriteEngine on
+
+# on cherche tout d'abord dans dir1/...
+# ... et si on trouve, on est content et on arrête :
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir1</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir1</strong>/$1" [L]
+
+# on cherche ensuite dans dir2/...
+# ... et si on trouve, on est content et on arrête :
+RewriteCond "%{DOCUMENT_ROOT}/<strong>dir2</strong>/%{REQUEST_URI}" -f
+RewriteRule "^(.+)" "%{DOCUMENT_ROOT}/<strong>dir2</strong>/$1" [L]
+
+# sinon, on continue la recherche avec d'autres directives Alias
+# ou ScriptAlias, etc...
+RewriteRule "^" "-" [PT]
+</highlight>
+ </dd>
+ </dl>
+
+ </section>
+
+<section id="archive-access-multiplexer">
+
+ <title>Redirection vers des serveurs géographiquement distribués</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Notre site web possède de nombreux miroirs, et nous voulons
+ rediriger les utilisateurs vers celui qui se situe dans le pays où
+ ils se trouvent. </p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>En consultant le nom d'hôte du client demandeur, on détermine le
+ pays dans lequel il se trouve. S'il est impossible d'effectuer une
+ recherche sur leur adresse IP, on se rabat sur un serveur par
+ défaut.</p>
+ <p>Nous allons utiliser une directive <directive
+ module="mod_rewrite">RewriteMap</directive> afin de construire une
+ liste des serveurs que nous voulons utiliser.</p>
+
+<highlight language="config">
+HostnameLookups on
+RewriteEngine on
+RewriteMap multiplex "txt:/path/to/map.mirrors"
+RewriteCond "%{REMOTE_HOST}" "([a-z]+)$ [NC]"
+RewriteRule "^/(.*)$" "${multiplex:<strong>%1</strong>|http://www.example.com/}$1" [R,L]
+</highlight>
+
+<example>
+## liste_miroirs -- Table de correspondance pays - serveurs<br />
+<br />
+de http://www.exemple.de/<br />
+uk http://www.exemple.uk/<br />
+com http://www.example.com/<br />
+##EOF##
+</example>
+ </dd>
+
+ <dt>Discussion</dt>
+ <dd>
+ <note type="warning">Ce jeu de règles nécessite la définition à
+ <code>on</code> de la directive <directive
+ module="core">HostNameLookups</directive>, ce qui peut induire une
+ baisse de performance significative.</note>
+
+ <p>La directive <directive
+ module="mod_rewrite">RewriteCond</directive> extrait la dernière
+ partie du nom d'hôte du client demandeur - le code du pays - et la
+ règle de réécriture qui suit utilise cette valeur pour rechercher le
+ serveur miroir approprié dans le fichier de correspondances.</p>
+ </dd>
+ </dl>
+
+</section>
+
+<section id="canonicalurl">
+
+<title>URLs canoniques</title>
+
+<dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Sur certains serveurs, une ressource peut posséder plusieurs
+ URLs. Il y a en général les URLs canoniques (celles qui sont
+ réellement distribuées et utilisées), et celles qui correspondent à
+ des raccourcis, les URLs internes, etc... Quelle que soit l'adresse
+ que l'utilisateur fournit dans la requête, il devrait finalement
+ voir l'URL canonique dans la barre d'adresse de son navigateur.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>Nous effectuons une redirection HTTP externe pour toutes les
+ URLs non canoniques afin de les corriger dans la barre d'adresse
+ du navigateur, et ceci pour toutes les requêtes futures. Dans le
+ jeu de règles suivant, nous remplaçons <code>/matous</code> et
+ <code>/minettes</code> par le canonique <code>/chats</code>.</p>
+
+ <highlight language="config">RewriteRule "^/(matous|minettes)/(.*)" "/chats/$2" [R]</highlight>
+ </dd>
+
+ <dt>Discussion :</dt>
+ <dd>On serait mieux inspiré d'utiliser ici les directives Redirect ou
+ RedirectMatch :
+
+ <highlight language="config"> RedirectMatch "^/(matous|minettes)/(.*)" "/chats/$2" </highlight>
+ </dd>
+ </dl>
+
+</section>
+
+<section id="moveddocroot">
+
+ <title>Déplacement du répertoire <code>DocumentRoot</code></title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+<p>En général, le répertoire <directive
+module="core">DocumentRoot</directive> du serveur web correspond à l'URL
+"<code>/</code>". Ce répertoire ne contient cependant pas forcément des
+ressources de première importance pour l'utilisateur. Par exemple, vous
+préférerez peut-être que le répertoire d'accueil d'un visiteur accédant
+pour la première fois à votre site soit un répertoire particulier
+<code>/a-propos-de/</code>. Pour y parvenir, utilisez le jeu de règles
+suivant :</p>
+</dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+ <p>On redirige l'URL <code>/</code> vers
+ <code>/a-propos-de/</code> :
+ </p>
+
+<highlight language="config">
+RewriteEngine on
+RewriteRule "^/$" "/a-propos-de/" [<strong>R</strong>]
+</highlight>
+
+<p>Notez que l'on peut aussi y parvenir en utilisant la directive
+<directive module="mod_alias">RedirectMatch</directive> :</p>
+
+<highlight language="config">RedirectMatch "^/$" "http://example.com/a-propos-de/"</highlight>
+
+<p>Notez aussi que cet exemple ne réécrit que l'URL racine. En d'autres
+termes, il réécrit une requête pour <code>http://example.com/</code>,
+mais pas pour une requête <code>http://example.com/page.html</code>. Si
+vous avez effectivement modifié la racine de vos documents - c'est à dire
+si <strong>tous</strong> vos contenus se trouvent dans un
+sous-répertoire, il est largement préférable de modifier simplement
+votre directive <directive module="core">DocumentRoot</directive>, ou de
+déplacer l'ensemble du contenu vers le répertoire supérieur, plutôt que
+de réécrire les URLs.</p>
+</dd>
+</dl>
+
+</section>
+
+<section id="fallback-resource">
+<title>Ressource par défaut</title>
+
+<dl>
+<dt>Description :</dt>
+<dd>Vous voulez qu'une seule ressource (disons un certain fichier tel
+que index.php) soit servie pour toutes les requêtes à destination d'un
+certain répertoire, sauf pour celles qui concernent une ressource
+existant effectivement comme une image, ou un fichier css.</dd>
+
+<dt>Solution :</dt>
+<dd>
+<p>Depuis la version 2.2.16, vous pouvez y parvenir via la directive
+<directive module="mod_dir">FallbackResource</directive> :</p>
+
+<highlight language="config">
+<Directory "/var/www/my_blog">
+ FallbackResource index.php
+</Directory>
+</highlight>
+
+<p>Cependant, si vos besoins étaient plus complexes, vous pouviez, dans
+les versions plus anciennes d'Apache, utiliser un jeu de règles du style
+:</p>
+
+<highlight language="config">
+<Directory "/var/www/my_blog">
+ RewriteBase "/my_blog"
+
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-f
+ RewriteCond "/var/www/my_blog/%{REQUEST_FILENAME}" !-d
+ RewriteRule "^" "index.php" [PT]
+</Directory>
+</highlight>
+
+<p>D'autre part, si vous voulez transmettre l'URI de la requête en tant
+que chaîne de paramètres à index.php, vous pouvez remplacer cette règle
+de réécriture par :</p>
+
+<highlight language="config">RewriteRule "(.*)" "index.php?$1" [PT,QSA]</highlight>
+
+<p>Notez que l'on peut utiliser ces jeux de règles aussi bien dans un
+fichier <code>.htaccess</code> que dans une section
+<Directory>.</p>
+
+</dd>
+
+</dl>
+
+</section>
+
+<section id="rewrite-query">
+<title>Rewrite query string</title>
+
+<dl>
+<dt>Description :</dt>
+<dd>Vous voulez extraire une valeur particulière d'une chaîne de
+paramètres d'une URL, et soit la remplacer, soit l'incorporer dans un
+autre composant de l'URL.</dd>
+
+<dt>Solutions :</dt>
+<dd>
+<p>Dans la plupart des solutions de cette section, on utilise la même
+condition qui stocke la valeur recherchée dans la référence arrière %2.
+%1 est le début de la requête, et %3 ce qui reste. Cette condition est
+un peu complexe car elle introduit de la flexibilité et évite les
+doubles perluettes '&&' dans les substitutions.</p>
+<ul>
+ <li>Cette solution supprime le couple clé/valeur recherché :
+
+<highlight language="config">
+# Remove mykey=???
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteRule "(.*)" "$1?%1%3"
+</highlight>
+ </li>
+
+ <li>Cette solution remplace la partie de l'URL qui suit la valeur
+ recherchée par un '?' :
+
+<highlight language="config">
+# Copy from query string to PATH_INFO
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$"
+RewriteRule "(.*)" "$1/products/%2/?" [PT]
+</highlight>
+ </li>
+
+ <li>Cette solution utilise la valeur recherchée dans une deuxième
+ condition ::
+
+<highlight language="config">
+# Capture the value of mykey in the query string
+RewriteCond "%{QUERY_STRING}" "(.*(?:^|&))mykey=([^&]*)&?(.*)&?$""
+RewriteCond "%2" !=not-so-secret-value
+RewriteRule "(.*)" - [F]
+</highlight>
+ </li>
+
+ <li>Cette solution produit l'effet inverse des précédentes ; elle
+ copie des composantes du chemin (peut-être PATH_INFO) depuis l'URL
+ vers sa chaîne de paramètres :
+<highlight language="config">
+# The desired URL might be /products/kitchen-sink, and the script expects
+# /path?products=kitchen-sink.
+RewriteRule "^/?path/([^/]+)/([^/]+)" "/path?$1=$2" [PT]
+</highlight>
+ </li>
+</ul>
+
+</dd>
+
+</dl>
+</section>
+
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1828121 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<manualpage metafile="rewritemap.xml.meta">
+ <parentdocument href="./">Rewrite</parentdocument>
+ <title>Utilisation de RewriteMap</title>
+ <summary>
+
+ <p>Ce document est un complément à la <a
+ href="../mod/mod_rewrite.html">documentation de référence</a> du
+ module <module>mod_rewrite</module>. Il décrit l'utilisation de la
+ directive <directive module="mod_rewrite">RewriteMap</directive>, et
+ fournit des exemples pour chacun des différents types de
+ <directive module="mod_rewrite">RewriteMap</directive>.</p>
+
+ <note type="warning">Notez que la plupart de ces exemples ne
+ fonctionneront pas en l'état dans le contexte de votre configuration
+ particulière ; vous devez donc vous attacher à les
+ comprendre, plutôt que de simplement les insérer dans votre
+ configuration par copier/coller.</note>
+
+ </summary>
+ <seealso><a href="../mod/mod_rewrite.html">Documentation du module
+ mod_rewrite</a></seealso>
+ <seealso><a href="intro.html">Introduction à mod_rewrite</a></seealso>
+ <seealso><a href="remapping.html">Redirection et remise en
+ correspondance</a></seealso>
+ <seealso><a href="access.html">Contrôle d'accès</a></seealso>
+ <seealso><a href="vhosts.html">Serveurs virtuels</a></seealso>
+ <seealso><a href="proxy.html">Mise en cache</a></seealso>
+ <seealso><a href="advanced.html">Techniques avancées</a></seealso>
+ <seealso><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></seealso>
+
+ <section id="introduction">
+ <title>Introduction</title>
+
+ <p>
+ La directive <directive module="mod_rewrite">RewriteMap</directive>
+ définit une fonction externe qui peut être appelée depuis une
+ directive <directive module="mod_rewrite">RewriteRule</directive> ou
+ <directive module="mod_rewrite">RewriteCond</directive> pour
+ accomplir une réécriture trop compliquée, ou trop spécialisée pour
+ être effectuée à partir d'expressions rationnelles. Vous trouverez
+ ci-dessous les différents types disponibles pour la source de
+ données, ceux-ci étant par ailleurs énumérés dans la documentation de
+ référence de <directive module="mod_rewrite">RewriteMap</directive>.</p>
+
+ <p>La syntaxe de la directive <directive
+ module="mod_rewrite">RewriteMap</directive> est la suivante :</p>
+
+<highlight language="config">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em></highlight>
+
+ <p>L'argument <a id="mapfunc" name="mapfunc"><em>MapName</em></a>
+ est un nom arbitraire que vous associez à la table de
+ correspondances, et que vous
+ pourrez utilisez par la suite dans les directives de réécriture. Les
+ recherches dans la table de correspondance s'effectuent en
+ respectant cette syntaxe :</p>
+
+ <p class="indent">
+ <strong>
+ <code>${</code> <em>nom-map</em> <code>:</code>
+ <em>clé-recherche</em>
+ <code>}</code> <br/> <code>${</code> <em>nom-map</em> <code>:</code>
+ <em>clé-recherche</em> <code>|</code> <em>DefaultValue</em> <code>}</code>
+ </strong>
+ </p>
+
+ <p>Lorsque cette syntaxe est employée, la table de correspondances
+ <em>nom-map</em> est consultée et la clé <em>clé-recherche</em>
+ recherchée. Si la clé est trouvée, la fonction de recherche dans la
+ table de correspondance est remplacée par <em>SubstValue</em>, ou
+ par <em>DefaultValue</em> dans le cas contraire, ou par la chaîne
+ vide si aucune <em>DefaultValue</em> n'a été spécifiée.</p>
+
+ <p>Par exemple, vous pouvez définir une directive
+ <directive module="mod_rewrite">RewriteMap</directive> comme suit :</p>
+ <highlight language="config">RewriteMap examplemap "txt:/path/to/file/map.txt"</highlight>
+ <p>Vous pourrez par la suite utiliser cette table de correspondances
+ dans une directive <directive module="mod_rewrite">RewriteRule</directive> comme suit :</p>
+<highlight language="config">RewriteRule "^/ex/(.*)" "${examplemap:$1}"</highlight>
+
+<p>Il est possible de spécifier une valeur par défaut qui sera utilisée
+si la recherche dans la table de correspondances est infructueuse :</p>
+
+<highlight language="config">RewriteRule "^/ex/(.*)" "${examplemap:$1|/not_found.html}"</highlight>
+
+<note><title>Contexte de répertoire et fichiers.htaccess</title>
+<p>
+Vous ne pouvez utilisez la directive <directive module="mod_rewrite">RewriteMap</directive> ni dans
+les sections <directive module="core" type="section">Directory</directive>, ni dans les fichiers
+<code>.htaccess</code>. Vous devez déclarer la table de correspondances
+au niveau du serveur principal ou dans un contexte de serveur virtuel.
+Par contre, si vous ne pouvez pas déclarer la table dans une section
+<Directory> ou dans un fichier <code>.htaccess</code>, vous
+pourrez y faire référence dans ces contextes, une fois cette table
+créée.
+</p>
+</note>
+
+<p>Les sections suivantes décrivent les différents types de tables de
+correspondances <em>type-map</em> disponibles, et fournissent des
+exemples pour chacun d'entre eux.</p>
+ </section>
+ <section id="int">
+ <title>int: fonction interne</title>
+
+ <p>Quand le type de table <code>int</code> est spécifié, la
+ correspondance s'effectue via une des fonctions internes <directive
+ module="mod_rewrite">RewriteMap</directive> disponibles. Les
+ développeurs de modules peuvent fournir des fonctions internes
+ supplémentaires en les enregistrant via l'API
+ <code>ap_register_rewrite_mapfunc</code>. Les fonctions fournies par
+ défaut sont :
+ </p>
+
+ <ul>
+ <li><strong>toupper</strong>:<br/>
+ Met la clé en majuscules.</li>
+ <li><strong>tolower</strong>:<br/>
+ Met la clé en minuscules.</li>
+ <li><strong>escape</strong>:<br/>
+ Remplace les caractères spéciaux de la clé en codes
+ hexadécimaux.</li>
+ <li><strong>unescape</strong>:<br/>
+ Reconvertit les codes hexadécimaux de la clé en caractères
+ spéciaux.</li>
+ </ul>
+
+ <p>
+ Pour utiliser une de ces fonctions, créez une
+ <directive module="mod_rewrite">RewriteMap</directive> qui référence la
+ fonction interne, et insérez-la dans votre <directive
+ module="mod_rewrite">RewriteRule</directive> :
+ </p>
+
+ <p> <strong>Redirection d'un URI vers une version en minuscules
+ d'elle-même</strong></p>
+ <highlight language="config">
+
+RewriteMap lc int:tolower
+RewriteRule "(.*)" "${lc:$1}" [R]
+ </highlight>
+
+ <note>
+ <p>Notez que cet exemple n'est présenté ici qu'à titre
+ d'illustration et ne constitue pas une recommandation. Si vous
+ voulez rendre les URLs insensibles à la casse, utiliser plutôt le
+ module <module>mod_speling</module>.
+ </p>
+ </note>
+
+ </section>
+
+ <section id="txt">
+ <title>txt: tables de correspondances au format texte</title>
+
+ <p>Lorsqu'un type-map <code>txt</code> est utilisé, la source-map
+ est un chemin du système de fichiers vers un fichier de
+ correspondances au format texte, contenant sur chaque ligne une
+ paire clé/valeur séparées par un espace. Il est possible d'insérer
+ des commentaires sous la forme de chaînes commençant par le caractère
+ '#'.</p>
+
+ <p>Un fichier de correspondances au format texte valide possèdera la
+ syntaxe suivante :</p>
+
+ <example>
+ # Ligne de commentaires<br />
+ <strong><em>clé</em> <em>valeur-substitution</em></strong><br />
+ <strong><em>clé</em> <em>valeur-substitution</em></strong> # commentaire<br />
+ </example>
+
+ <p>Lorsque la table de correspondance fait l'objet d'une recherche,
+ la valeur spécifiée est recherchée dans le premier champ, et si elle
+ est trouvée, la valeur de substitution est renvoyée.</p>
+
+ <p>Par exemple, nous pourrions utiliser un fichier de
+ correspondances pour traduire des noms de produits en identifiants
+ produits pour obtenir des URLs plus simples à mémoriser, en
+ utilisant la recette suivante :</p>
+
+ <p><strong>Product to ID configuration</strong></p>
+ <highlight language="config">
+RewriteMap product2id "txt:/etc/apache2/productmap.txt"
+RewriteRule "^/product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]
+ </highlight>
+
+ <p>Nous supposons ici que le script <code>prods.php</code> sait quoi
+ faire lorsqu'il reçoit un argument <code>id=NON-TROUVE</code>, dans
+ le cas où le produit ne se trouve pas dans la table de
+ correspondances.</p>
+
+ <p>Le fichier <code>/etc/apache2/map-produit.txt</code> contient ce
+ qui suit :</p>
+
+ <example><title>Fichier de correspondances Produit - Identifiant</title>
+##<br />
+## map-produit.txt - Fichier de correspondances Produit - Identifiant<br />
+##<br />
+<br />
+TELEVISION 993<br />
+STEREO 198<br />
+CANNE-A-PECHE 043<br />
+BALLON-BASKET 418<br />
+TELEPHONE 328
+ </example>
+
+ <p>Ainsi, lorsqu'une requête pour
+ <code>http://example.com/produit/TELEVISION</code> arrive, la directive
+ <directive module="mod_rewrite">RewriteRule</directive> s'applique, et la
+ requête est transformée en interne en <code>/prods.php?id=993</code>.</p>
+
+ <note><title>Note: fichiers .htaccess</title>
+ L'exemple donné est conçu pour être utilisé dans un contexte de
+ serveur principal ou de serveur virtuel. Si vous voulez l'utiliser
+ dans un fichier <code>.htaccess</code>, vous devrez supprimer le
+ slash de début dans le modèle de réécriture afin que ce dernier
+ puisse correspondre à toute URL :
+ <highlight language="config">RewriteRule "^product/(.*)" "/prods.php?id=${product2id:$1|NOTFOUND}" [PT]</highlight>
+ </note>
+
+ <note><title>Recherches mises en cache</title>
+ <p>
+ Les clés de recherche sont mises en cache par httpd jusqu'à ce que
+ le <code>mtime</code> (date de modification) du fichier de
+ correspondances soit modifié, ou que le serveur httpd soit
+ redémarré, ce qui améliore les performances pour les tables de
+ correspondances consultées par de nombreuses requêtes.
+ </p>
+ </note>
+
+ </section>
+ <section id="rnd">
+ <title>rnd: Fichier texte à valeurs de substitution multiples
+ choisies de manière aléatoire</title>
+
+ <p>Lorsque le type-map spécifié est <code>rnd</code>, la source est
+ un chemin du système de fichiers vers un fichier de correspondances
+ au format texte dont chaque ligne contient une clé, et une ou
+ plusieurs valeurs séparées par le caractère <code>|</code>. Si une
+ clé convient, une des valeurs correspondantes sera choisie de
+ manière aléatoire.</p>
+
+ <p>Par exemple, vous pouvez utiliser le fichier de correspondances
+ et les directives suivants pour implémenter une répartition de
+ charge aléatoire entre plusieurs serveurs d'arrière-plan, par
+ l'intermédiaire d'un mandataire inverse. Les images sont envoyées
+ vers un des serveurs de l'ensemble 'statique', tandis que tout le
+ reste est envoyé vers un des serveurs de l'ensemble 'dynamique'.</p>
+
+ <example><title>Fichier de correspondances</title>
+##<br />
+## map.txt -- table de réécriture<br />
+##<br />
+<br />
+statique www1|www2|www3|www4<br />
+dynamique www5|www6
+ </example>
+<p><strong>Configuration directives</strong></p>
+ <highlight language="config">
+RewriteMap servers "rnd:/path/to/file/map.txt"
+
+RewriteRule "^/(.*\.(png|gif|jpg))" "http://${servers:static}/$1" [NC,P,L]
+RewriteRule "^/(.*)" "http://${servers:dynamic}/$1" [P,L]
+ </highlight>
+
+
+ <p>Ainsi, lorsqu'une image est demandée et que la première règle
+ convient, <directive module="mod_rewrite">RewriteMap</directive> recherche la chaîne
+ <code>statique</code> dans le fichier de correspondances qui
+ renvoie un des noms de serveurs spécifiés de manière aléatoire,
+ ce dernier étant utilisé dans la cible de la règle
+ <directive module="mod_rewrite">RewriteRule</directive>.</p>
+
+ <p>Si vous voulez qu'un des serveurs soit plus souvent sollicité que
+ les autres (par exemple s'il possède plus de mémoire, et peut donc
+ traiter d'avantage de requêtes), spécifiez-le plusieurs fois dans la
+ liste des serveurs.</p>
+
+ <example>
+statique www1|www1|www2|www3|www4
+ </example>
+
+ </section>
+
+ <section id="dbm">
+ <title>dbm: Fichier condensé DBM</title>
+
+ <p>Lorsque le type-map <code>dbm</code> est utilisé, la source est
+ un chemin du système de fichiers vers un fichier de données DBM
+ contenant des paires clé/valeur permettant d'effectuer la
+ correspondance. Le fonctionnement est identique à celui du type-map
+ <code>txt</code>, mais beaucoup plus rapide car un fichier DBM est
+ indexé, alors qu'un fichier texte ne l'est pas. L'accès à la clé
+ recherchée est donc plus rapide.</p>
+
+ <p>Vous pouvez éventuellement spécifier un type dbm particulier :</p>
+
+ <highlight language="config">
+RewriteMap examplemap "dbm=sdbm:/etc/apache/mapfile.dbm"
+ </highlight>
+
+ <p>Ce type peut être choisi parmi <code>sdbm</code>, <code>gdbm</code>,
+ <code>ndbm</code> ou <code>db</code>. Il est
+ cependant recommandé d'utiliser l'utilitaire <a
+ href="../programs/httxt2dbm.html">httxt2dbm</a> fourni avec le
+ serveur HTTP Apache, car il utilise la bibliothèque DBM appropriée,
+ à savoir celle qui a été utilisée lors de la compilation de httpd.</p>
+
+ <p>Pour créer un fichier dbm, créez tout d'abord un fichier de
+ correspondances au format texte comme décrit dans la section <a
+ href="#txt">txt</a>. Traitez ensuite ce fichier avec
+ <code>httxt2dbm</code> :</p>
+
+<example>
+$ httxt2dbm -i fichier-map.txt -o fichier-map.map
+</example>
+
+<p>Vous pouvez alors faire référence au fichier obtenu dans votre
+directive <directive module="mod_rewrite">RewriteMap</directive> :</p>
+<highlight language="config">
+RewriteMap mapname "dbm:/etc/apache/mapfile.map"
+</highlight>
+
+<note>
+<p>Notez qu'avec certains types dbm, plusieurs fichiers possédant le
+même nom de base sont créés. Par exemple, vous pouvez obtenir deux
+fichiers nommés <code>fichier-map.map.dir</code> et
+<code>fichier-map.map.pag</code>. Ceci est tout à fait normal, et vous
+ne devez utiliser que le nom de base <code>fichier-map.map</code> dans votre
+directive <directive module="mod_rewrite">RewriteMap</directive>.</p>
+</note>
+
+<note><title>Mise en cache des recherches</title>
+<p>
+ Les clés de recherche sont mises en cache par httpd jusqu'à ce que
+ le <code>mtime</code> (date de modification) du fichier de
+ correspondances soit modifié, ou que le serveur httpd soit
+ redémarré, ce qui améliore les performances pour les tables de
+ correspondances consultées par de nombreuses requêtes.
+</p>
+</note>
+
+ </section>
+
+ <section id="prg"><title>prg: Programme de réécriture externe</title>
+
+ <p>Lorque le type-map <code>prg</code> est spécifié, la source est
+ un chemin du système de fichiers vers un programme exécutable
+ destiné à effectuer la mise en correspondance. Il peut s'agir d'un
+ fichier binaire compilé, ou d'un programme en langage interprété
+ comme Perl ou Python.</p>
+
+ <p>Ce programme est lancé une fois au démarrage du serveur HTTP
+ Apache, puis communique avec le moteur de réécriture via
+ <code>STDIN</code> et <code>STDOUT</code>. En d'autres termes, pour
+ chaque recherche de correspondance, il reçoit un argument via
+ <code>STDIN</code>, et doit renvoyer en guise de réponse une chaîne
+ terminée par un caractère nouvelle-ligne sur <code>STDOUT</code>. Si
+ la recherche de correspondance est infructueuse, le programme doit
+ l'indiquer en retournant la chaîne de quatre caractères
+ "<code>NULL</code>".</p>
+
+ <p>Les programmes de réécriture externes ne sont pas lancés s'il
+ n'ont pas été définis dans un contexte où la directive <directive
+ module="mod_rewrite">RewriteEngine</directive> est définie à
+ <code>on</code>.</p>
+
+ <p>Par défaut, les programmes de réécriture externes s'exécutent sous
+ l'utilisateur/groupe qui a démarré httpd. Pour en changer, il est possible
+ sur les systèmes de style Unix de spécifier un autre couple
+ utilisateur/groupe via le troisième argument de la directive <directive
+ module="mod_rewrite">RewriteMap</directive>, et ceci au format
+ <code>utilisateur:groupe</code>.</p>
+
+ <p>Cette fonctionnalité utilise le mutex <code>rewrite-map</code>
+ nécessaire à la fiabilité des communications avec le programme. Le
+ mécanisme de mutex et le fichier verrou peuvent être définis via la
+ directive <directive module="core">Mutex</directive>.</p>
+
+ <p>Voici un exemple simple qui remplace tous les tirets par des
+ caractères de soulignement dans l'URI de la requête.</p>
+
+ <p><strong>Configuration de la réécriture</strong></p>
+ <highlight language="config">
+
+RewriteMap d2u "prg:/www/bin/dash2under.pl" apache:apache
+RewriteRule "-" "${d2u:%{REQUEST_URI}}"
+ </highlight>
+
+ <p><strong>dash2under.pl</strong></p>
+ <highlight language="perl">
+ #!/usr/bin/perl
+ $| = 1; # Turn off I/O buffering
+ while (<STDIN>) {
+ s/-/_/g; # Remplace tous les tirets par des caractères de soulignement
+ print $_;
+ }
+ </highlight>
+
+<note><title>Mises en garde !</title>
+<ul>
+<li>Votre programme doit être le plus
+simple possible. Si le programme se bloque, httpd va attendre
+indéfiniment une réponse de sa part, et par conséquent ne répondra plus
+aux requêtes.</li>
+<li>Assurez-vous de bien désactiver la mise en tampon dans votre
+programme. En Perl, ceci est effectué à la seconde ligne du script de
+l'exemple - <code>$| = 1;</code> - La syntaxe sera bien entendu
+différente dans
+d'autres langages. Si les entrées/sorties sont mises en tampon, httpd va
+attendre une sortie, et va par conséquent se bloquer.</li>
+<li>Rappelez-vous qu'il n'existe qu'une copie du programme lancé au
+démarrage du serveur, et que toutes les requêtes vont devoir passer par
+ce goulot d'étranglement. Ceci peut provoquer des ralentissements
+significatifs si de nombreuses requêtes doivent être traitées, ou si le
+script lui-même est très lent.</li>
+</ul>
+</note>
+
+</section>
+
+
+ <section id="dbd">
+ <title>dbd ou fastdbd: requête SQL</title>
+
+ <p>Lorsque le type-map <code>dbd</code> ou <code>fastdbd</code> est
+ spécifié, la source est une requête SQL SELECT qui reçoit un
+ argument et renvoie une seule valeur.</p>
+
+ <p>Pour que cette requête puisse être exécutée,
+ <module>mod_dbd</module> doit être configuré pour attaquer la base
+ de données concernée.</p>
+
+ <p>Ce type-map existe sous deux formes. Avec le type-map
+ <code>dbd</code>, la requête est exécutée à chaque demande, tandis
+ qu'avec le type-map <code>fastdbd</code>, les recherches dans la
+ base de données sont mises en cache en interne. <code>fastdbd</code>
+ est donc plus efficace et donc plus rapide ; par contre, il ne
+ tiendra pas compte des modifications apportées à la base de données
+ jusqu'à ce que le serveur soit redémarré.</p>
+
+ <p>Si une requête renvoie plusieurs enregistrements, un de ceux-ci
+ sera sélectionné aléatoirement.</p>
+
+ <example><title>Exemple</title>
+ <highlight language="config">
+RewriteMap ma-requete "fastdbd:SELECT destination FROM rewrite WHERE source = %s"
+ </highlight>
+ </example>
+
+ <note><title>Note</title>
+ <p>Le nom de la requête est transmis au pilote de base de données en tant
+ que label pour une requête SQL préparée, et doit donc respecter toutes les
+ règles imposées par votre base de données (comme la sensibilité à la casse).</p></note>
+
+ </section>
+ <section id="summary">
+ <title>Résumé</title>
+
+ <p>La directive <directive module="mod_rewrite">RewriteMap</directive> peut apparaître
+ plusieurs fois. Utilisez une directive
+ <directive module="mod_rewrite">RewriteMap</directive> pour chaque fonction de mise en
+ correspondance pour déclarer son fichier de correspondances.</p>
+
+ <p>Bien que l'on ne puisse pas <strong>déclarer</strong> de fonction
+ de mise en correspondance dans un contexte de répertoire (fichier
+ <code>.htaccess</code> ou section <directive module="core" type="section">Directory</directive>), il est
+ possible d'utiliser cette fonction dans un tel contexte.</p>
+
+ </section>
+</manualpage>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision: 1760974 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="vhosts.xml.meta">
+ <parentdocument href="./">Rewrite</parentdocument>
+
+<title>Hébergement virtuel de masse avec mod_rewrite</title>
+
+<summary>
+
+<p>Ce document est un complément à la <a
+href="../mod/mod_rewrite.html">documentation de référence</a> du module
+<module>mod_rewrite</module>. Il décrit comment créer des serveurs
+virtuels dynamiquement configurés en utilisant
+<module>mod_rewrite</module>.</p>
+
+<note type="warning">L'utilisation de mod_rewrite n'est en général pas la
+meilleure méthode pour configurer des serveurs virtuels. Vous devez dans un
+premier temps tenter de résoudre votre problème via ces <a
+href="../vhosts/mass.html">d'autres méthodes</a> avant d'avoir recours à
+mod_rewrite. Voir aussi le document <a href="avoid.html#vhosts">Comment éviter
+il'utilisation de mod_rewrite</a>.</note>
+
+
+</summary>
+<seealso><a href="../mod/mod_rewrite.html">Documentation du module</a></seealso>
+<seealso><a href="intro.html">Introduction à mod_rewrite</a></seealso>
+<seealso><a href="remapping.html">Redirection et remise en
+correspondance</a></seealso>
+<seealso><a href="access.html">Contrôle d'accès</a></seealso>
+<!--<seealso><a href="vhosts.html">Serveurs virtuels</a></seealso>-->
+<seealso><a href="proxy.html">Serveurs mandataires</a></seealso>
+<seealso><a href="rewritemap.html">Utilisation de RewriteMap</a></seealso>
+<seealso><a href="advanced.html">Techniques avancées</a></seealso>
+<seealso><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></seealso>
+
+<section id="per-hostname">
+
+ <title>Serveurs virtuels pour des noms d'hôtes arbitraires</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Nous voulons créer automatiquement un serveur virtuel pour tout
+ nom d'hôte qui peut être résolu dans notre domaine, sans avoir à
+ créer de nouvelle section VirtualHost.</p>
+
+ <p>Dans cet exemple, nous supposons que nous utilisons le nom d'hôte
+ <code><strong>SITE</strong>.example.com</code> pour chaque
+ utilisateur, et que nous servons leur contenu depuis
+ <code>/home/<strong>SITE</strong>/www</code>. Nous souhaitons cependant que
+ <code>www.example.com</code> n'apparaisse pas dans cette mise en correspondance.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+
+<highlight language="config">
+RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+RewriteCond %{HTTP_HOST} !^www\.
+RewriteCond ${lowercase:%{<strong>HTTP_HOST</strong>}} ^<strong>([^.]+)</strong>\.example\.com$
+RewriteRule ^(.*) /home/<strong>%1</strong>/www$1
+</highlight></dd>
+
+<dt>Discussion</dt>
+ <dd>
+
+ <note type="warning">Vous devez vérifier le bon fonctionnement de la
+ résolution DNS - Apache ne gère pas la résolution de nom. Vous
+ devrez créer soit des enregistrements CNAME pour chaque nom d'hôte,
+ soit un enregistrement DNS avec caractères génériques. La création
+ des enregistrements DNS est en dehors du sujet de ce document.</note>
+
+<p>La directive RewriteMap interne <code>tolower</code> permet de
+s'assurer que les noms d'hôtes utilisés seront tous en minuscules, de
+façon à éviter toute ambiguité dans la structure des répertoires qui
+doit être créée.</p>
+
+<p>Les contenus des parenthèses utilisées dans une directive <directive
+module="mod_rewrite">RewriteCond</directive> sont enregistrés dans les
+références arrières <code>%1</code>, <code>%2</code>, etc..., alors que
+les contenus des parenthèses utilisées dans une directive <directive
+module="mod_rewrite">RewriteRule</directive> le sont dans les
+références arrières <code>$1</code>, <code>$2</code>, etc...</p>
+
+<p>La première directive <code>RewriteCond</code> vérifie si le nom d'hôte
+commence par <code>www.</code> et si c'est le cas, la réécriture est annulée.</p>
+
+<p>
+Comme c'est le cas pour de nombreuses techniques discutées dans ce
+document, mod_rewrite n'est vraiment pas la meilleure méthode pour
+accomplir cette tâche. Vous devez plutôt vous tourner vers
+<module>mod_vhost_alias</module>, car ce dernier sera bien plus à même
+de gérer tout ce qui est au delà du domaine des fichiers statiques,
+comme les contenus dynamiques et la résolution des alias.
+</p>
+ </dd>
+ </dl>
+
+</section>
+
+<section id="simple.rewrite"><title>Configuration dynamique de serveurs
+virtuels via <module>mod_rewrite</module></title>
+
+ <p>Cet extrait du fichier <code>httpd.conf</code> permet d'obtenir
+ le même résultat que <a href="#per-hostname">le premier exemple</a>.
+ La première moitié est très similaire à la partie correspondante
+ ci-dessus, excepté quelques modifications requises à des fins de
+ compatibilité ascendante et pour faire en sorte que la partie
+ <code>mod_rewrite</code> fonctionne correctement ; la seconde moitié
+ configure <code>mod_rewrite</code> pour effectuer le travail
+ proprement dit.</p>
+
+ <p>Comme <code>mod_rewrite</code> s'exécute avant tout autre module
+ de traduction d'URI (comme <code>mod_alias</code>), il faut lui
+ ordonner explicitement d'ignorer toute URL susceptible d'être
+ traitée par ces autres modules. Et comme ces règles auraient sinon
+ court-circuité toute directive <code>ScriptAlias</code>, nous devons
+ faire en sorte que <code>mod_rewrite</code> déclare explicitement
+ ces correspondances.</p>
+
+<highlight language="config">
+# extrait le nom de serveur de l'en-tête Host:
+UseCanonicalName Off
+
+# journaux dissociables
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog "logs/access_log" vcommon
+
+<Directory "/www/hosts">
+ # ExecCGI est nécessaire ici car on ne peut pas forcer l'exécution
+ # des CGI à la manière de ScriptAlias
+ Options FollowSymLinks ExecCGI
+</Directory>
+
+RewriteEngine On
+
+# un nom de serveur extrait d'un en-tête Host: peut être dans n'importe
+# quelle casse
+RewriteMap lowercase "int:tolower"
+
+## on s'occupe tout d'abord des documents normaux :<br />
+# permet à Alias /icons/ de fonctionner - répéter pour les autres
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
+# permet aux CGIs de fonctionner
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
+# le coeur du traitement
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1"
+
+## on s'occupe maintenant des CGIs - on doit forcer l'utilisation d'un
+# gestionnaire
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteRule "^/(.*)$" "/www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1" [H=cgi-script]
+</highlight>
+
+</section>
+
+<section id="xtra-conf"><title>Utilisation d'un fichier de configuration
+du serveur virtuel séparé</title>
+
+ <p>Cette construction utilise des fonctionnalités plus avancées de
+ <module>mod_rewrite</module> pour effectuer la traduction depuis le
+ serveur virtuel vers la racine des documents, à partir d'un fichier
+ de configuration séparé. Elle est plus souple mais nécessite une
+ configuration plus compliquée.</p>
+
+ <p>Le fichier <code>vhost.map</code> devrait ressembler à ceci :</p>
+
+<example>
+www.client-1.example.com /www/clients/1<br />
+www.client-2.example.com /www/clients/2<br />
+# ...<br />
+www.client-N.example.com /www/clients/N<br />
+</example>
+
+ <p>On doit ajouter à <code>httpd.conf</code> :</p>
+
+<highlight language="config">
+RewriteEngine on
+
+RewriteMap lowercase "int:tolower"
+
+# définit le fichier de correspondances
+RewriteMap vhost "txt:/www/conf/vhost.map"
+
+# on s'occupe des alias comme ci-dessus
+RewriteCond "%{REQUEST_URI}" "!^/icons/"
+RewriteCond "%{REQUEST_URI}" "!^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
+# on effectue ici la remise en correspondance à base de fichier
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/(.*)$" "%1/docs/$1"
+
+RewriteCond "%{REQUEST_URI}" "^/cgi-bin/"
+RewriteCond "${lowercase:%{SERVER_NAME}}" "^(.+)$"
+RewriteCond "${vhost:%1}" "^(/.*)$"
+RewriteRule "^/cgi-bin/(.*)$" "%1/cgi-bin/$1" [H=cgi-script]
+</highlight>
+
+</section>
+
+</manualpage>