httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gry...@apache.org
Subject svn commit: r804652 [2/3] - /httpd/httpd/trunk/docs/manual/vhosts/
Date Sun, 16 Aug 2009 09:52:36 GMT
Added: httpd/httpd/trunk/docs/manual/vhosts/mass.html.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/vhosts/mass.html.fr?rev=804652&view=auto
==============================================================================
--- httpd/httpd/trunk/docs/manual/vhosts/mass.html.fr (added)
+++ httpd/httpd/trunk/docs/manual/vhosts/mass.html.fr Sun Aug 16 09:52:36 2009
@@ -0,0 +1,466 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+              This file is generated from xml source: DO NOT EDIT
+        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+      -->
+<title>Hébergement virtuel de masse configuré dynamiquement - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.3</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.3</a> &gt; <a href="./">Hébergement virtuel</a></div><div id="page-content"><div id="preamble"><h1>Hébergement virtuel de masse configuré dynamiquement</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/vhosts/mass.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/vhosts/mass.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+</div>
+
+
+    <p>Ce document propose une méthode performante pour servir un nombre
+    quelconque d'hôtes virtuels avec le serveur web httpd Apache.
+    </p>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#motivation">A qui ce document est-il destiné ?</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#overview">Vue d'ensemble</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#simple">Méthode simple d'hébergement virtuel
+dynamique</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#homepages">Un système de pages d'accueil hébergées
+virtuellement</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#combinations">Utiliser plusieurs systèmes
+d'hébergement virtuel sur le même serveur</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ipbased">Pour un hébergement virtuel par IP plus
+efficace</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#simple.rewrite">Configuration de base pour un
+hébergement virtuel dynamique utilisant
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#homepages.rewrite">Un système de pages d'accueil qui
+utilise<code>mod_rewrite</code></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#xtra-conf">Utilisation d'un fichier de configuration
+séparé pour les serveurs virtuels</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="motivation" id="motivation">A qui ce document est-il destiné ?</a></h2>
+
+    <p>Les techniques décrites ici vous concernent si votre
+    <code>httpd.conf</code> contient de nombreuses sections
+    <code>&lt;VirtualHost&gt;</code> très semblables,
+    dans le style :</p>
+
+<div class="example"><p><code>
+NameVirtualHost 111.22.33.44<br />
+&lt;VirtualHost 111.22.33.44&gt;<br />
+<span class="indent">
+    ServerName                 www.customer-1.com<br />
+    DocumentRoot        /www/hosts/www.customer-1.com/docs<br />
+    ScriptAlias  /cgi-bin/  /www/hosts/www.customer-1.com/cgi-bin<br />
+</span>
+&lt;/VirtualHost&gt;<br />
+&lt;VirtualHost 111.22.33.44&gt;<br />
+<span class="indent">
+    ServerName                 www.customer-2.com<br />
+    DocumentRoot        /www/hosts/www.customer-2.com/docs<br />
+    ScriptAlias  /cgi-bin/  /www/hosts/www.customer-2.com/cgi-bin<br />
+</span>
+&lt;/VirtualHost&gt;<br />
+# bla bla bla<br />
+&lt;VirtualHost 111.22.33.44&gt;<br />
+<span class="indent">
+    ServerName                 www.customer-N.com<br />
+    DocumentRoot        /www/hosts/www.customer-N.com/docs<br />
+    ScriptAlias  /cgi-bin/  /www/hosts/www.customer-N.com/cgi-bin<br />
+</span>
+&lt;/VirtualHost&gt;
+</code></p></div>
+
+    <p>L'idée de base consiste à remplacer toutes les configurations
+    <code>&lt;VirtualHost&gt;</code> par un mécanisme qui les génère
+    dynamiquement. Ceci présente certains avantages :</p>
+
+    <ol>
+      <li>Votre fichier de configuration est plus petit, ainsi Apache
+      démarre plus rapidement et consomme moins de mémoire.</li>
+
+      <li>Pour ajouter des serveurs virtuels, il suffit de créer les
+      répertoires appropriés dans le système de fichiers et les entrées
+      dans le DNS - il n'est plus nécessaire de reconfigurer ou de
+      redémarrer Apache.</li>
+    </ol>
+
+    <p>Le principal désavantage réside dans le fait que vous ne pouvez
+    pas définir un fichier journal différent pour chaque serveur
+    virtuel. De toute façon, ce serait une mauvaise idée si vous avez de
+    nombreux serveurs virtuels, car cela nécessiterait un nombre
+    important de descripteurs de fichiers. Il est préférable de
+    rediriger les journaux via un pipe ou une pile fifo vers un
+    programme, et faire en sorte que ce dernier distribue les journaux
+    les concernant aux différents clients (Ce qui peut aussi servir à
+    accumuler des données à des fins de statistiques, etc...).</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="overview" id="overview">Vue d'ensemble</a></h2>
+
+    <p>Un serveur virtuel peut être défini par deux informations : son
+    adresse IP, et le contenu de l'en-tête <code>Host:</code> de la
+    requête HTTP. La technique d'hébergement virtuel dynamique de masse
+    utilisée ici consiste à insérer automatiquement ces informations
+    dans le chemin du fichier à utiliser pour répondre à la requête. On
+    peut y parvenir assez facilement en utilisant
+    <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code> avec Apache 2.0, mais on peut aussi
+    utiliser <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Par défaut, ces deux modules
+    sont désactivés ; vous devez activer l'un d'eux lors de la
+    compilation et de la configuration d'Apache si vous voulez utiliser
+    cette technique.</p>
+
+    <p>Certains paramètres doivent être adaptés pour que le serveur
+    dynamique se présente comme un serveur dynamique normal. Le plus
+    important est le nom du serveur, qu'Apache utilise pour générer des
+    URLs d'auto-référencement, etc... Il est défini via la directive
+    <code>ServerName</code>, et les CGIs peuvent s'y référer via la
+    variable d'environnement <code>SERVER_NAME</code>. Sa véritable
+    valeur utilisée à l'exécution est contrôlée par la définition de la
+    directive
+    <code class="directive"><a href="../mod/core.html#usecanonicalname">UseCanonicalName</a></code>. Avec
+    <code>UseCanonicalName Off</code>, le nom du serveur correspond au
+    contenu de l'en-tête <code>Host:</code> de la requête. Avec
+    <code>UseCanonicalName DNS</code>, il est extrait d'une recherche
+    DNS inverse sur l'adresse IP du serveur virtuel. La première
+    configuration est utilisée pour l'hébergement virtuel dynamique par
+    nom, et la deuxième pour l'hébergement virtuel dynamique par IP. Si
+    Apache ne peut pas déterminer le nom du serveur, soit parce qu'il
+    n'y a pas d'en-tête <code>Host:</code>, soit parce que la recherche
+    DNS a échoué, il prend en compte la valeur définie par la directive
+    <code>ServerName</code>.</p>
+
+    <p>L'autre paramètre à adapter est la racine des documents (définie
+    via la directive <code>DocumentRoot</code> et disponible pour les
+    CGIs via la variable d'environnement <code>DOCUMENT_ROOT</code>).
+    Dans une configuration classique, il est utilisé par le module core
+    pour faire correspondre les URIs aux noms de fichiers, mais lorsque
+    la configuration du serveur comporte des serveurs virtuels, ce
+    traitement doit être pris en charge par un autre module (soit
+    <code>mod_vhost_alias</code>, soit <code>mod_rewrite</code>), qui
+    utilise un méthode de correspondance différente. Aucun de ces
+    modules ne se chargeant de définir la variable d'environnement
+    <code>DOCUMENT_ROOT</code>, si des CGIs ou des documents SSI
+    doivent en faire usage, ils obtiendront une valeur erronée.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="simple" id="simple">Méthode simple d'hébergement virtuel
+dynamique</a></h2>
+
+    <p>Cet extrait de fichier <code>httpd.conf</code> implémente
+    l'hébergement virtuel décrit dans la section <a href="#motivation">À qui ce document est-il destiné ?</a> ci-dessus,
+    mais selon une méthode générique utilisant
+    <code>mod_vhost_alias</code>.</p>
+
+<div class="example"><p><code>
+# extrait le nom du serveur de l'en-tête Host:<br />
+UseCanonicalName Off<br />
+<br />
+# ce format de journal peut être éclaté en journaux par serveur virtuel
+# à l'aide du premier champ<br />
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon<br />
+CustomLog logs/access_log vcommon<br />
+<br />
+# inclut le nom du serveur dans les noms de fichiers ressources
+# nécessaires aux traitements des requêtes<br />
+VirtualDocumentRoot /www/hosts/%0/docs<br />
+VirtualScriptAlias  /www/hosts/%0/cgi-bin
+</code></p></div>
+
+    <p>Pour changer cette configuration en solution de serveur virtuel
+    par IP, il suffit de remplacer <code>UseCanonicalName
+    Off</code> par <code>UseCanonicalName DNS</code>. Le nom du serveur
+    inséré dans le nom de fichier sera alors déduit de l'adresse IP du
+    serveur virtuel.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="homepages" id="homepages">Un système de pages d'accueil hébergées
+virtuellement</a></h2>
+
+    <p>Il s'agit d'une adaptation du système ci-dessus, ajusté pour un
+    serveur de pages d'accueil de FAI. Avec une configuration un peu
+    plus compliquée, on peut extraire des sous-chaînes de caractères du
+    nom du serveur pour les utiliser dans le nom de fichier afin, par
+    exemple, de définir <code>/home/user/</code> comme emplacement des
+    documents pour <code>www.user.isp.com</code>. Un seul répertoire
+    <code>cgi-bin</code> suffit pour l'ensemble des
+    serveurs virtuels.</p>
+
+<div class="example"><p><code>
+# les directives préliminaires sont identiques à celles de l'exemple
+# ci-dessus ; il vient ensuite :<br />
+<br />
+# insertion d'une partie du nom du serveur dans les noms de fichiers<br />
+VirtualDocumentRoot /www/hosts/%2/docs<br />
+<br />
+# répertoire cgi-bin unique<br />
+ScriptAlias  /cgi-bin/  /www/std-cgi/<br />
+</code></p></div>
+
+    <p>Vous trouverez des exemples plus élaborés d'utilisation de la
+    directive <code>VirtualDocumentRoot</code> dans la documentation du
+    module <code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code>.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="combinations" id="combinations">Utiliser plusieurs systèmes
+d'hébergement virtuel sur le même serveur</a></h2>
+
+    <p>Moyennant une configuration un peu plus compliquée, vous pouvez
+    contrôler la portée des différentes configurations d'hébergement
+    virtuel à l'aide des directives <code>&lt;VirtualHost&gt;</code>
+    normales d'Apache. Par exemple, on peut associer une adresse IP pour
+    les pages d'accueil des clients en général, et une autre pour les
+    clients commerciaux avec la configuration suivante. Cette
+    configuration peut bien entendu être combinée avec les sections
+    <code>&lt;VirtualHost&gt;</code> conventionnelles.</p>
+
+<div class="example"><p><code>
+UseCanonicalName Off<br />
+<br />
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon<br />
+<br />
+&lt;Directory /www/commercial&gt;<br />
+<span class="indent">
+    Options FollowSymLinks<br />
+    AllowOverride All<br />
+</span>
+&lt;/Directory&gt;<br />
+<br />
+&lt;Directory /www/homepages&gt;<br />
+<span class="indent">
+    Options FollowSymLinks<br />
+    AllowOverride None<br />
+</span>
+&lt;/Directory&gt;<br />
+<br />
+&lt;VirtualHost 111.22.33.44&gt;<br />
+<span class="indent">
+    ServerName www.commercial.isp.com<br />
+    <br />
+    CustomLog logs/access_log.commercial vcommon<br />
+    <br />
+    VirtualDocumentRoot /www/commercial/%0/docs<br />
+    VirtualScriptAlias  /www/commercial/%0/cgi-bin<br />
+</span>
+&lt;/VirtualHost&gt;<br />
+<br />
+&lt;VirtualHost 111.22.33.45&gt;<br />
+<span class="indent">
+    ServerName www.homepages.isp.com<br />
+    <br />
+    CustomLog logs/access_log.homepages vcommon<br />
+    <br />
+    VirtualDocumentRoot /www/homepages/%0/docs<br />
+    ScriptAlias         /cgi-bin/ /www/std-cgi/<br />
+</span>
+&lt;/VirtualHost&gt;
+</code></p></div>
+
+<div class="note">
+	<h3>Note</h3>
+	<p>Si le premier bloc VirtualHost ne comporte <em>pas</em> de
+	directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>, c'est
+	le nom issu d'une recherche DNS inverse à partir de l'adresse IP
+	du serveur virtuel qui sera utilisé. Si ce nom ne correspond pas
+	à celui que vous voulez utiliser, vous pouvez ajouter une entrée
+	de remplacement (<code>ServerName
+	none.example.com</code>) pour éviter ce comportement.</p>
+</div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="ipbased" id="ipbased">Pour un hébergement virtuel par IP plus
+efficace</a></h2>
+
+    <p>Les changements de configuration suggérés pour transformer <a href="#simple">le premier exemple</a> en hébergement virtuel par IP
+    conduisent à une configuration peu efficace. Chaque requête
+    nécessite une nouvelle recherche DNS. Pour éviter cette surcharge de
+    travail, le système de fichiers peut être organisé pour correspondre
+    aux adresses IP, plutôt qu'aux noms de serveurs, supprimant par
+    la-même la nécessité d'une recherche DNS. La journalisation doit
+    aussi être adaptée pour fonctionner sur un tel système.</p>
+
+<div class="example"><p><code>
+# obtention du nom du serveur par recherche DNS inverse
+# sur l'adresse IP<br />
+UseCanonicalName DNS<br />
+<br />
+# insertion de l'adresse IP dans les journaux afin de pouvoir les
+# éclater<br />
+LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon<br />
+CustomLog logs/access_log vcommon<br />
+<br />
+# insertion de l'adresse IP dans les noms de fichiers<br />
+VirtualDocumentRootIP /www/hosts/%0/docs<br />
+VirtualScriptAliasIP  /www/hosts/%0/cgi-bin<br />
+</code></p></div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="simple.rewrite" id="simple.rewrite">Configuration de base pour un
+hébergement virtuel dynamique utilisant
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></a></h2>
+
+    <p>Cet extrait de <code>httpd.conf</code> fournit le même service
+    que le <a href="#simple">premier exemple</a>. La première moitié est
+    très similaire à sa contre-partie du <a href="#simple">premier
+    exemple</a>, mis à part quelques changements à des fins de
+    compatibilité ascendante et nécessaires au bon fonctionnement de la
+    partie concernant <code>mod_rewrite</code> ; la seconde moitié
+    configure <code>mod_rewrite</code> pour l'accomplissement du travail
+    proprement dit.</p>
+
+    <p>Cet exemple comporte quelques astuces assez spéciales : par
+    défaut, <code>mod_rewrite</code> effectue son traitement avant les
+    autres modules de transformation d'URI (<code>mod_alias</code>
+    etc...) - ainsi, si vous voulez utiliser ces modules, il faut en
+    tenir compte dans la configuration de <code>mod_rewrite</code>. De
+    même, l'implémentation d'un serveur virtuel dynamique équivalent à
+    <code>ScriptAlias</code> demande une certaine manipulation.</p>
+
+<div class="example"><p><code>
+# obtention du nom du serveur par la valeur de l'en-tête Host:<br />
+UseCanonicalName Off<br />
+<br />
+# journaux pouvant être éclatés en journaux par serveurs virtuels<br />
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon<br />
+CustomLog logs/access_log vcommon<br />
+<br />
+&lt;Directory /www/hosts&gt;<br />
+<span class="indent">
+    # ExecCGI est ici nécessaire car nous ne pouvons pas forcer
+    # l'exécution des CGI de la manière dont ScriptAlias le fait<br />
+    Options FollowSymLinks ExecCGI<br />
+</span>
+&lt;/Directory&gt;<br />
+<br />
+# et maintenant, nous entrons dans le vif du sujet<br />
+<br />
+RewriteEngine On<br />
+<br />
+# un nom de serveur déduit de l'en-tête Host: dans pratiquement tous les
+# cas<br />
+RewriteMap  lowercase  int:tolower<br />
+<br />
+## traitement des documents normaux en premier:<br />
+# permet le fonctionnement de "Alias /icons/" - à répéter pour les
+# autres aliases<br />
+RewriteCond  %{REQUEST_URI}  !^/icons/<br />
+# permet le fonctionnement des CGIs<br />
+RewriteCond  %{REQUEST_URI}  !^/cgi-bin/<br />
+# la petite manipulation magique<br />
+RewriteRule  ^/(.*)$  /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1<br />
+<br />
+## on s'occupe maintenant des CGIs - on doit imposer l'utilisation d'un
+# gestionnaire<br />
+RewriteCond  %{REQUEST_URI}  ^/cgi-bin/<br />
+RewriteRule  ^/(.*)$  /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1  [H=cgi-script]<br />
+<br />
+# c'est tout !
+</code></p></div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="homepages.rewrite" id="homepages.rewrite">Un système de pages d'accueil qui
+utilise<code>mod_rewrite</code></a></h2>
+
+    <p>Il s'agit d'une variante qui permet d'obtenir le même résultat
+    que le <a href="#homepages">deuxième exemple</a>.</p>
+
+<div class="example"><p><code>
+RewriteEngine on<br />
+<br />
+RewriteMap   lowercase  int:tolower<br />
+<br />
+# permet l'exécution des CGIs<br />
+RewriteCond  %{REQUEST_URI}  !^/cgi-bin/<br />
+<br />
+# vérifie la validité du nom du serveur pour le bon fonctionnement de la
+# règle RewriteRule<br />
+RewriteCond  ${lowercase:%{SERVER_NAME}}  ^www\.[a-z-]+\.isp\.com$<br />
+<br />
+# ajoute le nom du serveur virtuel comme préfixe à l'URI<br />
+# le drapeau [C] signifie que la réécriture suivante doit être effectuée
+# sur le résultat de la règle courante<br />
+RewriteRule  ^(.+)  ${lowercase:%{SERVER_NAME}}$1  [C]<br />
+<br />
+# et maintenant, on crée le véritable nom de fichier<br />
+RewriteRule  ^www\.([a-z-]+)\.isp\.com/(.*) /home/$1/$2<br />
+<br />
+# définition du répertoire des CGIs global<br />
+ScriptAlias  /cgi-bin/  /www/std-cgi/
+</code></p></div>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="xtra-conf" id="xtra-conf">Utilisation d'un fichier de configuration
+séparé pour les serveurs virtuels</a></h2>
+
+    <p>Cette méthode utilise des fonctionnalités de
+    <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> plus avancées pour venir à bout de la
+    traduction d'un serveur virtuel en une racine de documents, à partir
+    d'un fichier de configuration séparé. Elle procure d'avantage de
+    souplesse, mais nécessite une configuration
+    un peu plus compliquée.</p>
+
+    <p>Le fichier <code>vhost.map</code> doit se présenter sous cette
+    forme :</p>
+
+<div class="example"><p><code>
+www.customer-1.com  /www/customers/1<br />
+www.customer-2.com  /www/customers/2<br />
+# ...<br />
+www.customer-N.com  /www/customers/N<br />
+</code></p></div>
+
+    <p>Le fichier <code>httpd.conf</code> doit contenir les lignes
+    suivantes :</p>
+
+<div class="example"><p><code>
+RewriteEngine on<br />
+<br />
+RewriteMap   lowercase  int:tolower<br />
+<br />
+# définition du fichier de correspondances<br />
+RewriteMap   vhost      txt:/www/conf/vhost.map<br />
+<br />
+# traite les alias comme précédemment<br />
+RewriteCond  %{REQUEST_URI}               !^/icons/<br />
+RewriteCond  %{REQUEST_URI}               !^/cgi-bin/<br />
+RewriteCond  ${lowercase:%{SERVER_NAME}}  ^(.+)$<br />
+# une nouvelle mise en correspondance par fichier<br />
+RewriteCond  ${vhost:%1}                  ^(/.*)$<br />
+RewriteRule  ^/(.*)$                      %1/docs/$1<br />
+<br />
+RewriteCond  %{REQUEST_URI}               ^/cgi-bin/<br />
+RewriteCond  ${lowercase:%{SERVER_NAME}}  ^(.+)$<br />
+RewriteCond  ${vhost:%1}                  ^(/.*)$<br />
+RewriteRule  ^/(.*)$                      %1/cgi-bin/$1 [H=cgi-script]
+</code></p></div>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/vhosts/mass.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/vhosts/mass.html" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="../ko/vhosts/mass.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
+<a href="../tr/vhosts/mass.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html>
\ No newline at end of file

Added: httpd/httpd/trunk/docs/manual/vhosts/mass.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/vhosts/mass.xml.fr?rev=804652&view=auto
==============================================================================
--- httpd/httpd/trunk/docs/manual/vhosts/mass.xml.fr (added)
+++ httpd/httpd/trunk/docs/manual/vhosts/mass.xml.fr Sun Aug 16 09:52:36 2009
@@ -0,0 +1,443 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 659902 -->
+<!-- French translation : Lucien GENTIS -->
+
+<!--
+ 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="mass.xml.meta">
+<parentdocument href="./">H&eacute;bergement virtuel</parentdocument>
+   <title>H&eacute;bergement virtuel de masse configur&eacute; dynamiquement</title>
+
+<summary>
+
+    <p>Ce document propose une m&eacute;thode performante pour servir un nombre
+    quelconque d'h&ocirc;tes virtuels avec le serveur web httpd Apache.
+    </p>
+
+</summary>
+
+<section id="motivation"><title>A qui ce document est-il destin&eacute; ?</title>
+
+    <p>Les techniques d&eacute;crites ici vous concernent si votre
+    <code>httpd.conf</code> contient de nombreuses sections
+    <code>&lt;VirtualHost&gt;</code> tr&egrave;s semblables,
+    dans le style :</p>
+
+<example>
+NameVirtualHost 111.22.33.44<br />
+&lt;VirtualHost 111.22.33.44&gt;<br />
+<indent>
+    ServerName                 www.customer-1.com<br />
+    DocumentRoot        /www/hosts/www.customer-1.com/docs<br />
+    ScriptAlias  /cgi-bin/  /www/hosts/www.customer-1.com/cgi-bin<br />
+</indent>
+&lt;/VirtualHost&gt;<br />
+&lt;VirtualHost 111.22.33.44&gt;<br />
+<indent>
+    ServerName                 www.customer-2.com<br />
+    DocumentRoot        /www/hosts/www.customer-2.com/docs<br />
+    ScriptAlias  /cgi-bin/  /www/hosts/www.customer-2.com/cgi-bin<br />
+</indent>
+&lt;/VirtualHost&gt;<br />
+# bla bla bla<br />
+&lt;VirtualHost 111.22.33.44&gt;<br />
+<indent>
+    ServerName                 www.customer-N.com<br />
+    DocumentRoot        /www/hosts/www.customer-N.com/docs<br />
+    ScriptAlias  /cgi-bin/  /www/hosts/www.customer-N.com/cgi-bin<br />
+</indent>
+&lt;/VirtualHost&gt;
+</example>
+
+    <p>L'id&eacute;e de base consiste &agrave; remplacer toutes les configurations
+    <code>&lt;VirtualHost&gt;</code> par un m&eacute;canisme qui les g&eacute;n&egrave;re
+    dynamiquement. Ceci pr&eacute;sente certains avantages :</p>
+
+    <ol>
+      <li>Votre fichier de configuration est plus petit, ainsi Apache
+      d&eacute;marre plus rapidement et consomme moins de m&eacute;moire.</li>
+
+      <li>Pour ajouter des serveurs virtuels, il suffit de cr&eacute;er les
+      r&eacute;pertoires appropri&eacute;s dans le syst&egrave;me de fichiers et les entr&eacute;es
+      dans le DNS - il n'est plus n&eacute;cessaire de reconfigurer ou de
+      red&eacute;marrer Apache.</li>
+    </ol>
+
+    <p>Le principal d&eacute;savantage r&eacute;side dans le fait que vous ne pouvez
+    pas d&eacute;finir un fichier journal diff&eacute;rent pour chaque serveur
+    virtuel. De toute fa&ccedil;on, ce serait une mauvaise id&eacute;e si vous avez de
+    nombreux serveurs virtuels, car cela n&eacute;cessiterait un nombre
+    important de descripteurs de fichiers. Il est pr&eacute;f&eacute;rable de
+    rediriger les journaux via un pipe ou une pile fifo vers un
+    programme, et faire en sorte que ce dernier distribue les journaux
+    les concernant aux diff&eacute;rents clients (Ce qui peut aussi servir &agrave;
+    accumuler des donn&eacute;es &agrave; des fins de statistiques, etc...).</p>
+
+</section>
+
+<section id="overview"><title>Vue d'ensemble</title>
+
+    <p>Un serveur virtuel peut &ecirc;tre d&eacute;fini par deux informations : son
+    adresse IP, et le contenu de l'en-t&ecirc;te <code>Host:</code> de la
+    requ&ecirc;te HTTP. La technique d'h&eacute;bergement virtuel dynamique de masse
+    utilis&eacute;e ici consiste &agrave; ins&eacute;rer automatiquement ces informations
+    dans le chemin du fichier &agrave; utiliser pour r&eacute;pondre &agrave; la requ&ecirc;te. On
+    peut y parvenir assez facilement en utilisant
+    <module>mod_vhost_alias</module> avec Apache 2.0, mais on peut aussi
+    utiliser <module>mod_rewrite</module>. Par d&eacute;faut, ces deux modules
+    sont d&eacute;sactiv&eacute;s ; vous devez activer l'un d'eux lors de la
+    compilation et de la configuration d'Apache si vous voulez utiliser
+    cette technique.</p>
+
+    <p>Certains param&egrave;tres doivent &ecirc;tre adapt&eacute;s pour que le serveur
+    dynamique se pr&eacute;sente comme un serveur dynamique normal. Le plus
+    important est le nom du serveur, qu'Apache utilise pour g&eacute;n&eacute;rer des
+    URLs d'auto-r&eacute;f&eacute;rencement, etc... Il est d&eacute;fini via la directive
+    <code>ServerName</code>, et les CGIs peuvent s'y r&eacute;f&eacute;rer via la
+    variable d'environnement <code>SERVER_NAME</code>. Sa v&eacute;ritable
+    valeur utilis&eacute;e &agrave; l'ex&eacute;cution est contr&ocirc;l&eacute;e par la d&eacute;finition de la
+    directive
+    <directive module="core">UseCanonicalName</directive>. Avec
+    <code>UseCanonicalName Off</code>, le nom du serveur correspond au
+    contenu de l'en-t&ecirc;te <code>Host:</code> de la requ&ecirc;te. Avec
+    <code>UseCanonicalName DNS</code>, il est extrait d'une recherche
+    DNS inverse sur l'adresse IP du serveur virtuel. La premi&egrave;re
+    configuration est utilis&eacute;e pour l'h&eacute;bergement virtuel dynamique par
+    nom, et la deuxi&egrave;me pour l'h&eacute;bergement virtuel dynamique par IP. Si
+    Apache ne peut pas d&eacute;terminer le nom du serveur, soit parce qu'il
+    n'y a pas d'en-t&ecirc;te <code>Host:</code>, soit parce que la recherche
+    DNS a &eacute;chou&eacute;, il prend en compte la valeur d&eacute;finie par la directive
+    <code>ServerName</code>.</p>
+
+    <p>L'autre param&egrave;tre &agrave; adapter est la racine des documents (d&eacute;finie
+    via la directive <code>DocumentRoot</code> et disponible pour les
+    CGIs via la variable d'environnement <code>DOCUMENT_ROOT</code>).
+    Dans une configuration classique, il est utilis&eacute; par le module core
+    pour faire correspondre les URIs aux noms de fichiers, mais lorsque
+    la configuration du serveur comporte des serveurs virtuels, ce
+    traitement doit &ecirc;tre pris en charge par un autre module (soit
+    <code>mod_vhost_alias</code>, soit <code>mod_rewrite</code>), qui
+    utilise un m&eacute;thode de correspondance diff&eacute;rente. Aucun de ces
+    modules ne se chargeant de d&eacute;finir la variable d'environnement
+    <code>DOCUMENT_ROOT</code>, si des CGIs ou des documents SSI
+    doivent en faire usage, ils obtiendront une valeur erron&eacute;e.</p>
+
+</section>
+
+<section id="simple"><title>M&eacute;thode simple d'h&eacute;bergement virtuel
+dynamique</title>
+
+    <p>Cet extrait de fichier <code>httpd.conf</code> impl&eacute;mente
+    l'h&eacute;bergement virtuel d&eacute;crit dans la section <a
+    href="#motivation">&Agrave; qui ce document est-il destin&eacute; ?</a> ci-dessus,
+    mais selon une m&eacute;thode g&eacute;n&eacute;rique utilisant
+    <code>mod_vhost_alias</code>.</p>
+
+<example>
+# extrait le nom du serveur de l'en-t&ecirc;te Host:<br />
+UseCanonicalName Off<br />
+<br />
+# ce format de journal peut &ecirc;tre &eacute;clat&eacute; en journaux par serveur virtuel
+# &agrave; l'aide du premier champ<br />
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon<br />
+CustomLog logs/access_log vcommon<br />
+<br />
+# inclut le nom du serveur dans les noms de fichiers ressources
+# n&eacute;cessaires aux traitements des requ&ecirc;tes<br />
+VirtualDocumentRoot /www/hosts/%0/docs<br />
+VirtualScriptAlias  /www/hosts/%0/cgi-bin
+</example>
+
+    <p>Pour changer cette configuration en solution de serveur virtuel
+    par IP, il suffit de remplacer <code>UseCanonicalName
+    Off</code> par <code>UseCanonicalName DNS</code>. Le nom du serveur
+    ins&eacute;r&eacute; dans le nom de fichier sera alors d&eacute;duit de l'adresse IP du
+    serveur virtuel.</p>
+
+</section>
+
+<section id="homepages"><title>Un syst&egrave;me de pages d'accueil h&eacute;berg&eacute;es
+virtuellement</title>
+
+    <p>Il s'agit d'une adaptation du syst&egrave;me ci-dessus, ajust&eacute; pour un
+    serveur de pages d'accueil de FAI. Avec une configuration un peu
+    plus compliqu&eacute;e, on peut extraire des sous-cha&icirc;nes de caract&egrave;res du
+    nom du serveur pour les utiliser dans le nom de fichier afin, par
+    exemple, de d&eacute;finir <code>/home/user/</code> comme emplacement des
+    documents pour <code>www.user.isp.com</code>. Un seul r&eacute;pertoire
+    <code>cgi-bin</code> suffit pour l'ensemble des
+    serveurs virtuels.</p>
+
+<example>
+# les directives pr&eacute;liminaires sont identiques &agrave; celles de l'exemple
+# ci-dessus ; il vient ensuite :<br />
+<br />
+# insertion d'une partie du nom du serveur dans les noms de fichiers<br />
+VirtualDocumentRoot /www/hosts/%2/docs<br />
+<br />
+# r&eacute;pertoire cgi-bin unique<br />
+ScriptAlias  /cgi-bin/  /www/std-cgi/<br />
+</example>
+
+    <p>Vous trouverez des exemples plus &eacute;labor&eacute;s d'utilisation de la
+    directive <code>VirtualDocumentRoot</code> dans la documentation du
+    module <module>mod_vhost_alias</module>.</p>
+
+</section>
+
+<section id="combinations"><title>Utiliser plusieurs syst&egrave;mes
+d'h&eacute;bergement virtuel sur le m&ecirc;me serveur</title>
+
+    <p>Moyennant une configuration un peu plus compliqu&eacute;e, vous pouvez
+    contr&ocirc;ler la port&eacute;e des diff&eacute;rentes configurations d'h&eacute;bergement
+    virtuel &agrave; l'aide des directives <code>&lt;VirtualHost&gt;</code>
+    normales d'Apache. Par exemple, on peut associer une adresse IP pour
+    les pages d'accueil des clients en g&eacute;n&eacute;ral, et une autre pour les
+    clients commerciaux avec la configuration suivante. Cette
+    configuration peut bien entendu &ecirc;tre combin&eacute;e avec les sections
+    <code>&lt;VirtualHost&gt;</code> conventionnelles.</p>
+
+<example>
+UseCanonicalName Off<br />
+<br />
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon<br />
+<br />
+&lt;Directory /www/commercial&gt;<br />
+<indent>
+    Options FollowSymLinks<br />
+    AllowOverride All<br />
+</indent>
+&lt;/Directory&gt;<br />
+<br />
+&lt;Directory /www/homepages&gt;<br />
+<indent>
+    Options FollowSymLinks<br />
+    AllowOverride None<br />
+</indent>
+&lt;/Directory&gt;<br />
+<br />
+&lt;VirtualHost 111.22.33.44&gt;<br />
+<indent>
+    ServerName www.commercial.isp.com<br />
+    <br />
+    CustomLog logs/access_log.commercial vcommon<br />
+    <br />
+    VirtualDocumentRoot /www/commercial/%0/docs<br />
+    VirtualScriptAlias  /www/commercial/%0/cgi-bin<br />
+</indent>
+&lt;/VirtualHost&gt;<br />
+<br />
+&lt;VirtualHost 111.22.33.45&gt;<br />
+<indent>
+    ServerName www.homepages.isp.com<br />
+    <br />
+    CustomLog logs/access_log.homepages vcommon<br />
+    <br />
+    VirtualDocumentRoot /www/homepages/%0/docs<br />
+    ScriptAlias         /cgi-bin/ /www/std-cgi/<br />
+</indent>
+&lt;/VirtualHost&gt;
+</example>
+
+<note>
+	<title>Note</title>
+	<p>Si le premier bloc VirtualHost ne comporte <em>pas</em> de
+	directive <directive module="core">ServerName</directive>, c'est
+	le nom issu d'une recherche DNS inverse &agrave; partir de l'adresse IP
+	du serveur virtuel qui sera utilis&eacute;. Si ce nom ne correspond pas
+	&agrave; celui que vous voulez utiliser, vous pouvez ajouter une entr&eacute;e
+	de remplacement (<code>ServerName
+	none.example.com</code>) pour &eacute;viter ce comportement.</p>
+</note>
+
+</section>
+
+<section id="ipbased"><title>Pour un h&eacute;bergement virtuel par IP plus
+efficace</title>
+
+    <p>Les changements de configuration sugg&eacute;r&eacute;s pour transformer <a
+    href="#simple">le premier exemple</a> en h&eacute;bergement virtuel par IP
+    conduisent &agrave; une configuration peu efficace. Chaque requ&ecirc;te
+    n&eacute;cessite une nouvelle recherche DNS. Pour &eacute;viter cette surcharge de
+    travail, le syst&egrave;me de fichiers peut &ecirc;tre organis&eacute; pour correspondre
+    aux adresses IP, plut&ocirc;t qu'aux noms de serveurs, supprimant par
+    la-m&ecirc;me la n&eacute;cessit&eacute; d'une recherche DNS. La journalisation doit
+    aussi &ecirc;tre adapt&eacute;e pour fonctionner sur un tel syst&egrave;me.</p>
+
+<example>
+# obtention du nom du serveur par recherche DNS inverse
+# sur l'adresse IP<br />
+UseCanonicalName DNS<br />
+<br />
+# insertion de l'adresse IP dans les journaux afin de pouvoir les
+# &eacute;clater<br />
+LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon<br />
+CustomLog logs/access_log vcommon<br />
+<br />
+# insertion de l'adresse IP dans les noms de fichiers<br />
+VirtualDocumentRootIP /www/hosts/%0/docs<br />
+VirtualScriptAliasIP  /www/hosts/%0/cgi-bin<br />
+</example>
+
+</section>
+
+<section id="simple.rewrite"><title>Configuration de base pour un
+h&eacute;bergement virtuel dynamique utilisant
+<module>mod_rewrite</module></title>
+
+    <p>Cet extrait de <code>httpd.conf</code> fournit le m&ecirc;me service
+    que le <a href="#simple">premier exemple</a>. La premi&egrave;re moiti&eacute; est
+    tr&egrave;s similaire &agrave; sa contre-partie du <a href="#simple">premier
+    exemple</a>, mis &agrave; part quelques changements &agrave; des fins de
+    compatibilit&eacute; ascendante et n&eacute;cessaires au bon fonctionnement de la
+    partie concernant <code>mod_rewrite</code> ; la seconde moiti&eacute;
+    configure <code>mod_rewrite</code> pour l'accomplissement du travail
+    proprement dit.</p>
+
+    <p>Cet exemple comporte quelques astuces assez sp&eacute;ciales : par
+    d&eacute;faut, <code>mod_rewrite</code> effectue son traitement avant les
+    autres modules de transformation d'URI (<code>mod_alias</code>
+    etc...) - ainsi, si vous voulez utiliser ces modules, il faut en
+    tenir compte dans la configuration de <code>mod_rewrite</code>. De
+    m&ecirc;me, l'impl&eacute;mentation d'un serveur virtuel dynamique &eacute;quivalent &agrave;
+    <code>ScriptAlias</code> demande une certaine manipulation.</p>
+
+<example>
+# obtention du nom du serveur par la valeur de l'en-t&ecirc;te Host:<br />
+UseCanonicalName Off<br />
+<br />
+# journaux pouvant &ecirc;tre &eacute;clat&eacute;s en journaux par serveurs virtuels<br />
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon<br />
+CustomLog logs/access_log vcommon<br />
+<br />
+&lt;Directory /www/hosts&gt;<br />
+<indent>
+    # ExecCGI est ici n&eacute;cessaire car nous ne pouvons pas forcer
+    # l'ex&eacute;cution des CGI de la mani&egrave;re dont ScriptAlias le fait<br />
+    Options FollowSymLinks ExecCGI<br />
+</indent>
+&lt;/Directory&gt;<br />
+<br />
+# et maintenant, nous entrons dans le vif du sujet<br />
+<br />
+RewriteEngine On<br />
+<br />
+# un nom de serveur d&eacute;duit de l'en-t&ecirc;te Host: dans pratiquement tous les
+# cas<br />
+RewriteMap  lowercase  int:tolower<br />
+<br />
+## traitement des documents normaux en premier:<br />
+# permet le fonctionnement de "Alias /icons/" - &agrave; r&eacute;p&eacute;ter pour les
+# autres aliases<br />
+RewriteCond  %{REQUEST_URI}  !^/icons/<br />
+# permet le fonctionnement des CGIs<br />
+RewriteCond  %{REQUEST_URI}  !^/cgi-bin/<br />
+# la petite manipulation magique<br />
+RewriteRule  ^/(.*)$  /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1<br />
+<br />
+## on s'occupe maintenant des CGIs - on doit imposer l'utilisation d'un
+# gestionnaire<br />
+RewriteCond  %{REQUEST_URI}  ^/cgi-bin/<br />
+RewriteRule  ^/(.*)$  /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1  [H=cgi-script]<br />
+<br />
+# c'est tout !
+</example>
+
+</section>
+
+<section id="homepages.rewrite"><title>Un syst&egrave;me de pages d'accueil qui
+utilise<code>mod_rewrite</code></title>
+
+    <p>Il s'agit d'une variante qui permet d'obtenir le m&ecirc;me r&eacute;sultat
+    que le <a href="#homepages">deuxi&egrave;me exemple</a>.</p>
+
+<example>
+RewriteEngine on<br />
+<br />
+RewriteMap   lowercase  int:tolower<br />
+<br />
+# permet l'ex&eacute;cution des CGIs<br />
+RewriteCond  %{REQUEST_URI}  !^/cgi-bin/<br />
+<br />
+# v&eacute;rifie la validit&eacute; du nom du serveur pour le bon fonctionnement de la
+# r&egrave;gle RewriteRule<br />
+RewriteCond  ${lowercase:%{SERVER_NAME}}  ^www\.[a-z-]+\.isp\.com$<br />
+<br />
+# ajoute le nom du serveur virtuel comme pr&eacute;fixe &agrave; l'URI<br />
+# le drapeau [C] signifie que la r&eacute;&eacute;criture suivante doit &ecirc;tre effectu&eacute;e
+# sur le r&eacute;sultat de la r&egrave;gle courante<br />
+RewriteRule  ^(.+)  ${lowercase:%{SERVER_NAME}}$1  [C]<br />
+<br />
+# et maintenant, on cr&eacute;e le v&eacute;ritable nom de fichier<br />
+RewriteRule  ^www\.([a-z-]+)\.isp\.com/(.*) /home/$1/$2<br />
+<br />
+# d&eacute;finition du r&eacute;pertoire des CGIs global<br />
+ScriptAlias  /cgi-bin/  /www/std-cgi/
+</example>
+
+</section>
+
+<section id="xtra-conf"><title>Utilisation d'un fichier de configuration
+s&eacute;par&eacute; pour les serveurs virtuels</title>
+
+    <p>Cette m&eacute;thode utilise des fonctionnalit&eacute;s de
+    <module>mod_rewrite</module> plus avanc&eacute;es pour venir &agrave; bout de la
+    traduction d'un serveur virtuel en une racine de documents, &agrave; partir
+    d'un fichier de configuration s&eacute;par&eacute;. Elle procure d'avantage de
+    souplesse, mais n&eacute;cessite une configuration
+    un peu plus compliqu&eacute;e.</p>
+
+    <p>Le fichier <code>vhost.map</code> doit se pr&eacute;senter sous cette
+    forme :</p>
+
+<example>
+www.customer-1.com  /www/customers/1<br />
+www.customer-2.com  /www/customers/2<br />
+# ...<br />
+www.customer-N.com  /www/customers/N<br />
+</example>
+
+    <p>Le fichier <code>httpd.conf</code> doit contenir les lignes
+    suivantes :</p>
+
+<example>
+RewriteEngine on<br />
+<br />
+RewriteMap   lowercase  int:tolower<br />
+<br />
+# d&eacute;finition du fichier de correspondances<br />
+RewriteMap   vhost      txt:/www/conf/vhost.map<br />
+<br />
+# traite les alias comme pr&eacute;c&eacute;demment<br />
+RewriteCond  %{REQUEST_URI}               !^/icons/<br />
+RewriteCond  %{REQUEST_URI}               !^/cgi-bin/<br />
+RewriteCond  ${lowercase:%{SERVER_NAME}}  ^(.+)$<br />
+# une nouvelle mise en correspondance par fichier<br />
+RewriteCond  ${vhost:%1}                  ^(/.*)$<br />
+RewriteRule  ^/(.*)$                      %1/docs/$1<br />
+<br />
+RewriteCond  %{REQUEST_URI}               ^/cgi-bin/<br />
+RewriteCond  ${lowercase:%{SERVER_NAME}}  ^(.+)$<br />
+RewriteCond  ${vhost:%1}                  ^(/.*)$<br />
+RewriteRule  ^/(.*)$                      %1/cgi-bin/$1 [H=cgi-script]
+</example>
+
+</section>
+</manualpage>

Modified: httpd/httpd/trunk/docs/manual/vhosts/mass.xml.meta
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/vhosts/mass.xml.meta?rev=804652&r1=804651&r2=804652&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/vhosts/mass.xml.meta (original)
+++ httpd/httpd/trunk/docs/manual/vhosts/mass.xml.meta Sun Aug 16 09:52:36 2009
@@ -8,6 +8,7 @@
 
   <variants>
     <variant>en</variant>
+    <variant>fr</variant>
     <variant outdated="yes">ko</variant>
     <variant>tr</variant>
   </variants>

Modified: httpd/httpd/trunk/docs/manual/vhosts/name-based.html.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/vhosts/name-based.html.fr?rev=804652&r1=804651&r2=804652&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/vhosts/name-based.html.fr (original)
+++ httpd/httpd/trunk/docs/manual/vhosts/name-based.html.fr Sun Aug 16 09:52:36 2009
@@ -26,7 +26,7 @@
 <a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
 </div>
 
-    <p>Ce document décrit quand et comment utiliser des serveurs
+    <p>Ce document décrit quand et comment utiliser des serveurs 
     virtuels par nom.</p>
 </div>
 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#namevip">Serveurs virtuels par nom vs. par IP</a></li>
@@ -37,43 +37,43 @@
 <div class="section">
 <h2><a name="namevip" id="namevip">Serveurs virtuels par nom vs. par IP</a></h2>
 
-    <p>Les hébergements virtuels par IP utilisent l'adresse IP
-    de la connexion afin de déterminer quel serveur virtuel doit
-    répondre. Par conséquent, vous devez disposer d'adresses IP
-    différentes pour chaque nom de domaine complet (FQDN) que vous hébergez.
-    Avec un hébergement
-    virtuel par nom, le serveur s'appuit sur les informations
-    transmises par le client dans les en-têtes HTTP de ses requêtes.
-    La technique présentée ici vous permet de disposer de serveurs
+    <p>Les hébergements virtuels par IP utilisent l'adresse IP 
+    de la connexion afin de déterminer quel serveur virtuel doit 
+    répondre. Par conséquent, vous devez disposer d'adresses IP 
+    différentes pour chaque serveur. 
+    Avec un hébergement 
+    virtuel par nom, le serveur s'appuit sur les informations 
+    transmises par le client dans les en-têtes HTTP de ses requêtes. 
+    La technique présentée ici vous permet de disposer de serveurs 
     virtuels différents partagés sur une même adresse IP.</p>
 
-    <p>L'hébergement virtuel par nom est habituellement plus simple,
-    car il vous suffit de configurer votre serveur DNS pour que
-    chaque domaine pointe sur l'adresse IP dont vous disposez, et de
-    configurer votre serveur Apache HTTP afin qu'il reconnaisse
-    ces domaines. Il réduit aussi la pénurie en adresses IP. Par
-    conséquent, vous devriez utiliser l'hébergement virtuel par
-    nom à moins d'avoir une raison spécifique de préférer
-    l'hébergement virtuel par IP. Certaines de ces raisons vous
+    <p>L'hébergement virtuel par nom est habituellement plus simple, 
+    car il vous suffit de configurer votre serveur DNS pour que 
+    chaque domaine pointe sur l'adresse IP dont vous disposez, et de 
+    configurer votre serveur Apache HTTP afin qu'il reconnaisse 
+    ces domaines. Il réduit aussi la pénurie en adresses IP. Par 
+    conséquent, vous devriez utiliser l'hébergement virtuel par 
+    nom à moins d'avoir une raison spécifique de préférer 
+    l'hébergement virtuel par IP. Certaines de ces raisons vous 
     sont exposées ci-après&nbsp;:</p>
 
     <ul>
-        <li>Certains anciens navigateurs ne sont pas compatibles
-        avec les serveurs virtuels par nom, car pour fonctionner,
-        un client doit transmettre un champ d'en-tête HTTP Host.
-        Cet en-tête est exigé pour HTTP/1.1, et peut être implémenté
-        sur des navigateurs modernes HTTP/1.0 grâce à une extension.
-        Si vous devez maintenir des clients obsolètes tout en
-        utilisant l'hébergement virtuel par nom, il existe une
+        <li>Certains anciens navigateurs ne sont pas compatibles 
+        avec les serveurs virtuels par nom, car pour fonctionner, 
+        un client doit transmettre un champ d'en-tête HTTP Host. 
+        Cet en-tête est exigé pour HTTP/1.1, et peut être implémenté 
+        sur des navigateurs modernes HTTP/1.0 grâce à une extension. 
+        Si vous devez maintenir des clients obsolètes tout en 
+        utilisant l'hébergement virtuel par nom, il existe une 
         technique qui est traitée à la fin de ce document.</li>
 
-        <li>L'hébergement virtuel par nom ne peut pas être utilisé
-        avec des serveurs sécurisés SSL à cause de la nature même
+        <li>L'hébergement virtuel par nom ne peut pas être utilisé 
+        avec des serveurs sécurisés SSL à cause de la nature même 
         du protocole SSL.</li>
 
-        <li>Certains systèmes d'exploitation et équipements réseaux
-        emploient des techniques de gestion de la bande passante
-        qui ne peuvent pas différencier des domaines autrement que
+        <li>Certains systèmes d'exploitation et équipements réseaux 
+        emploient des techniques de gestion de la bande passante 
+        qui ne peuvent pas différencier des domaines autrement que 
         par des adresses IP séparées.</li>
     </ul>
 
@@ -83,57 +83,58 @@
 
 <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code></li><li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li><li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li><li><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code></li><li><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li></ul></td></tr></table>
 
-    <p>Pour utiliser des serveurs virtuels par nom, vous devez
-    désigner l'adresse IP (et si possible le port) sur le serveur
-    devant accepter les requêtes pour des domaines. Cette
-    configuration utilise la directive
-    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Dans un
-    cas normal où n'importe quelle adresse IP peut être utilisée,
-    vous pouvez ajouter <code>*</code> comme argument de la directive
-    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Si vous
-    prévoyez d'utiliser de multiples ports (comme l'emploi de SSL),
-    vous devriez ajouter le port à cet argument tel que
-    <code>*:80</code>. Notez que la simple mention d'une adresse
-    IP dans une directive
-    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> ne suffit
-    pas à faire écouter le serveur sur cette IP. Consultez
-    <a href="../bind.html">la page sur les liaisons</a> pour plus
-    de détails. Par ailleurs, chaque adresse IP spécifiée ici doit
+    <p>Pour utiliser des serveurs virtuels par nom, vous devez 
+    désigner l'adresse IP (et si possible le port) sur le serveur 
+    devant accepter les requêtes pour des domaines. Cette 
+    configuration utilise la directive 
+    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Dans un 
+    cas normal où n'importe quelle adresse IP peut être utilisée, 
+    vous pouvez ajouter <code>*</code> comme argument de la directive 
+    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Si vous 
+    prévoyez d'utiliser de multiples ports (comme l'emploi de SSL), 
+    vous devriez ajouter le port à cet argument tel que 
+    <code>*:80</code>. Notez que la simple mention d'une adresse 
+    IP dans une directive 
+    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> ne suffit 
+    pas à faire écouter le serveur sur cette IP. Consultez 
+    <a href="../bind.html">Définition des adresses et ports qu'utilise
+    Apache</a> pour plus 
+    de détails. Par ailleurs, chaque adresse IP spécifiée ici doit 
     être associée avec une interface réseau sur le serveur.</p>
 
-    <p>L'étape suivante est la création d'une section
-    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
-    pour chacun des serveurs à créer. L'argument de la directive
-    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
-    doit correspondre à celui d'une directive
-    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>
-    (dans la plupart des cas, il s'agit de "*:80"). Dans chaque section
-    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>,
-    vous devez définir au minimum une directive
-    <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour désigner
-    le serveur concerné et une directive
-    <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> pour préciser
+    <p>L'étape suivante est la création d'une section 
+    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> 
+    pour chacun des serveurs à créer. L'argument de la directive 
+    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> 
+    doit être le même que celui de la directive 
+    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> 
+    (dans le cas présent "*:80"). Dans chaque section 
+    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>, 
+    vous devez définir au minimum une directive 
+    <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour désigner 
+    le serveur concerné et une directive 
+    <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> pour préciser 
     l'emplacement sur le système de fichiers du contenu de ce serveur.</p>
 
     <div class="note"><h3>Le serveur principal disparaît</h3>
-        <p>Si vous ajoutez des serveurs virtuels à un serveur Web
-        existant, vous devez également créer une section
-        <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
-        redéfinissant ce serveur existant. Les directives
-        <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> et
-        <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> incluses
-        dans ce serveur virtuel doivent être les mêmes que pour
-        les directives globales
-        <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> et
-        <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. Positionnez
-        ce serveur virtuel en premier dans le fichier de configuration
+        <p>Si vous ajoutez des serveurs virtuels à un serveur Web 
+        existant, vous devez également créer une section 
+        <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> 
+        redéfinissant ce serveur existant. Les directives 
+        <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> et 
+        <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> incluses 
+        dans ce serveur virtuel doivent être les mêmes que pour 
+        les directives globales 
+        <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> et 
+        <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. Positionnez 
+        ce serveur virtuel en premier dans le fichier de configuration 
         pour en faire le serveur par défaut.</p>
     </div>
 
-    <p>Par exemple, supposez que vous hébergez le domaine
-    <code>www.domain.tld</code> et que vous souhaitez ajouter le
-    serveur virtuel <code>www.otherdomain.tld</code> qui pointe sur
-    la même adresse IP. Il vous suffit d'ajouter la configuration
+    <p>Par exemple, supposez que vous hébergez le domaine 
+    <code>www.domain.tld</code> et que vous souhaitez ajouter le 
+    serveur virtuel <code>www.otherdomain.tld</code> qui pointe sur 
+    la même adresse IP. Il vous suffit d'ajouter la configuration 
     suivante à <code>httpd.conf</code>&nbsp;:</p>
 
     <div class="example"><p><code>
@@ -154,98 +155,98 @@
         &lt;/VirtualHost&gt;<br />
     </code></p></div>
 
-    <p>Autrement, vous pouvez spécifiez une adresse IP explicite
-    à la place de <code>*</code> dans les deux directives
-    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> et
-    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.
-    Par exemple, cette méthode est utile si vous souhaitez faire
-    tourner quelques serveurs virtuels par nom sur une même adresse
-    IP, et d'autres, soit par IP, soit basés sur un autre jeu de
+    <p>Autrement, vous pouvez spécifiez une adresse IP explicite 
+    à la place de <code>*</code> dans les deux directives 
+    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> et 
+    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>. 
+    Par exemple, cette méthode est utile si vous souhaitez faire 
+    tourner quelques serveurs virtuels par nom sur une même adresse 
+    IP, et d'autres, soit par IP, soit basés sur un autre jeu de 
     serveurs virtuels par nom sur une autre adresse IP.</p>
 
-    <p>Plusieurs serveurs sont accessibles par plus d'un nom. Il
-    suffit de placer la directive
-    <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> dans une section
-    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.
-    Par exemple, dans la première section
-    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
-    ci-dessus, la directive <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>
-    indique aux utilisateurs les autres noms permis pour accéder au
+    <p>Plusieurs serveurs sont accessibles par plus d'un nom. Il 
+    suffit de placer la directive 
+    <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> dans une section 
+    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>. 
+    Par exemple, dans la première section 
+    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> 
+    ci-dessus, la directive <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> 
+    indique aux utilisateurs les autres noms permis pour accéder au 
     même site Web&nbsp;:</p>
 
     <div class="example"><p><code>
         ServerAlias domain.tld *.domain.tld
     </code></p></div>
 
-    <p>ainsi, toutes les requêtes portant sur un domaine
-    <code>domain.tld</code> seront servies par le serveur virtuel
-    <code>www.domain.tld</code>. Les caractères joker <code>*</code>
-    et <code>?</code> peuvent être utilisés pour les correspondances.
-    Bien entendu, vous ne pouvez pas inventer des noms et les placer
-    dans une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>
-    ou <code>ServerAlias</code>. Tout d'abord, votre serveur DNS
-    doit être correctement configuré pour lier ces noms à une
+    <p>ainsi, toutes les requêtes portant sur un domaine 
+    <code>domain.tld</code> seront servies par le serveur virtuel 
+    <code>www.domain.tld</code>. Les caractères joker <code>*</code> 
+    et <code>?</code> peuvent être utilisés pour les correspondances. 
+    Bien entendu, vous ne pouvez pas inventer des noms et les placer 
+    dans une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> 
+    ou <code>ServerAlias</code>. Tout d'abord, votre serveur DNS 
+    doit être correctement configuré pour lier ces noms à une 
     adresse IP associée avec votre serveur.</p>
 
-    <p>Finalement, vous pouvez affiner la configuration des serveurs
-    virtuels en plaçant d'autres directives à l'intérieur des sections
-    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.
-    La plupart des directives peut être placée dans ces sections en
-    y changeant seulement la configuration du serveur virtuel associé.
-    Pour déterminer si une directive particulière est permise,
-    consultez <a href="../mod/directive-dict.html#Context">la page de
-    contexte</a>. Le jeu de directives configurées dans le contexte
-    du <em>serveur principal</em> (en dehors de toutes sections
-    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>)
-    sera utilisé seulement s'il n'y a pas de configuration contraire
+    <p>Finalement, vous pouvez affiner la configuration des serveurs 
+    virtuels en plaçant d'autres directives à l'intérieur des sections 
+    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>. 
+    La plupart des directives peut être placée dans ces sections en 
+    y changeant seulement la configuration du serveur virtuel associé. 
+    Pour déterminer si une directive particulière est permise, 
+    consultez le <a href="../mod/directive-dict.html#Context">contexte</a> de la
+    directive. Le jeu de directives configurées dans le contexte 
+    du <em>serveur principal</em> (en dehors de toutes sections 
+    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>) 
+    sera utilisé seulement s'il n'y a pas de configuration contraire 
     par un serveur virtuel.</p>
 
-    <p>Maintenant, lorsqu'une requête arrive, le serveur va d'abord
-    tester si elle utilise une adresse IP qui correspond à
-    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Si c'est
-    le cas, il regardera chaque section
-    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
-    avec l'adresse correspondante et essaiera d'en trouver une où
-    le nom de domaine requis correspond à
-    <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> ou
-    <code>ServerAlias</code>. S'il en trouve une, il utilisera
-    sa configuration pour le serveur. Si aucun serveur virtuel ne
-    correspond, alors <em>le premier serveur virtuel listé</em>
+    <p>Maintenant, lorsqu'une requête arrive, le serveur va d'abord 
+    tester si elle utilise une adresse IP qui correspond à 
+    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Si c'est 
+    le cas, il regardera chaque section 
+    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> 
+    avec l'adresse correspondante et essaiera d'en trouver une où 
+    le nom de domaine requis correspond à 
+    <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> ou 
+    <code>ServerAlias</code>. S'il en trouve une, il utilisera 
+    sa configuration pour le serveur. Si aucun serveur virtuel ne 
+    correspond, alors <em>le premier serveur virtuel listé</em> 
     dont l'adresse IP correspond sera employé.</p>
 
-    <p>En conséquence, le premier serveur virtuel listé est le
-    serveur virtuel <em>default</em>. La directive
-    <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> du
-    <em>serveur principal</em> <strong>ne</strong> sera
-    <strong>jamais</strong> employée lorsqu'une adresse IP
-    correspond dans une directive
-    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Si vous
-    ne voulez pas avoir de configuration spéciale pour les requêtes
-    qui ne sont pas attachées à un serveur virtuel en particulier,
-    mettez cette configuration dans une section
-    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
+    <p>En conséquence, le premier serveur virtuel listé est le 
+    serveur virtuel <em>par défaut</em>. La directive 
+    <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> du 
+    <em>serveur principal</em> <strong>ne</strong> sera 
+    <strong>jamais</strong> employée lorsqu'une adresse IP 
+    correspond à la directive 
+    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Si vous 
+    souhaiter avoir une configuration spéciale pour les requêtes 
+    qui ne correspondent pas à un serveur virtuel en particulier, 
+    mettez cette configuration dans une section 
+    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> 
     que vous placerez en premier dans le fichier de configuration.</p>
 
 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 <div class="section">
 <h2><a name="compat" id="compat">Compatibilité avec les navigateurs anciens</a></h2>
 
-    <p>Comme mentionné plus tôt, certains clients ne transmettent
-    pas les données nécessaires pour le bon fonctionnement des
-    serveurs virtuels. Ces clients recevront toujours les pages
-    du premier serveur virtuel listé pour cette adresse IP (le
+    <p>Comme mentionné plus tôt, certains clients ne transmettent 
+    pas les données nécessaires pour le bon fonctionnement des 
+    serveurs virtuels par nom. Ces clients recevront toujours les pages
+    du premier serveur virtuel listé pour cette adresse IP (le 
     serveur virtuel par nom <cite>primaire</cite>).</p>
 
     <div class="note"><h3>De combien plus anciens&nbsp;?</h3>
-    <p>Veuillez noter que quand nous disons plus anciens, nous
-    disons vraiment plus anciens. Vous seriez malchanceux de rencontrer
-    de tels navigateurs encore utilisés de nos jours. Toutes les
-    versions actuelles des navigateurs transmettent leur en-tête
+    <p>Veuillez noter que quand nous disons plus anciens, nous 
+    disons vraiment plus anciens. Vous avez peu de chances de rencontrer 
+    de tels navigateurs encore utilisés de nos jours. Toutes les 
+    versions actuelles des navigateurs transmettent leur en-tête 
     <code>Host</code> comme exigé par les serveurs virtuels par nom.</p>
     </div>
 
-    <p>Il existe une solution avec la directive
-    <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code>, bien que
+    <p>Il existe une solution avec la directive 
+    <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code>, bien que 
     légèrement complexe&nbsp;:</p>
 
     <p>Exemple de configuration&nbsp;:</p>
@@ -262,27 +263,27 @@
         &lt;/VirtualHost&gt;<br />
     </code></p></div>
 
-    <p>Qu'est-ce que cela signifie&nbsp;? Il signifie qu'une requête
-    pour tout URI qui commence par "<code>/domain</code>" sera
-    servie par le serveur virtuel <code>www.domain.tld</code>.
-    Ainsi, les pages sont accessibles à
-    <code>http://www.domain.tld/domain/</code> pour tous les
-    clients, bien que ceux qui transmettent un en-tête
-    <code>Host:</code> peuvent également y accéder à
+    <p>Qu'est-ce que cela signifie&nbsp;? Il signifie qu'une requête 
+    pour tout URI qui commence par "<code>/domain</code>" sera 
+    servie par le serveur virtuel <code>www.domain.tld</code>. 
+    Ainsi, les pages sont accessibles à 
+    <code>http://www.domain.tld/domain/</code> pour tous les 
+    clients, bien que ceux qui transmettent un en-tête 
+    <code>Host:</code> peuvent également y accéder à 
     <code>http://www.domain.tld/</code>.</p>
 
-    <p>Pour rendre cette technique fonctionnelle, mettez un lien
-    dans votre serveur virtuel primaire vers
-    <code>http://www.domain.tld/domain/</code>. Ensuite, dans les
-    pages de ce serveur virtuel, assurez vous ne n'utiliser que
-    des liens relatifs (<em>par exemple</em>, "<code>file.html</code>"
-    ou "<code>../icons/image.gif</code>") ou des liens contenant
-    le préfixe <code>/domain/</code> (<em>par exemple</em>,
-    "<code>http://www.domain.tld/domain/misc/file.html</code>"
+    <p>Pour rendre cette technique fonctionnelle, mettez un lien 
+    dans votre serveur virtuel primaire vers 
+    <code>http://www.domain.tld/domain/</code>. Ensuite, dans les 
+    pages de ce serveur virtuel, assurez vous ne n'utiliser que 
+    des liens relatifs (<em>par exemple</em>, "<code>file.html</code>" 
+    ou "<code>../icons/image.gif</code>") ou des liens contenant 
+    le préfixe <code>/domain/</code> (<em>par exemple</em>, 
+    "<code>http://www.domain.tld/domain/misc/file.html</code>" 
     ou "<code>/domain/misc/file.html</code>").</p>
 
-    <p>Cela requiert un peu de discipline, mais si vous suivez
-    cette ligne de conduite, vous serez assuré que vos pages
+    <p>Cela requiert un peu de discipline, mais si vous suivez 
+    cette ligne de conduite, vous serez assuré que vos pages 
     s'afficheront dans tous les navigateurs, nouveaux et anciens.</p>
 
 </div></div>



Mime
View raw message