]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
fr doc XML files updates.
authorLucien Gentis <lgentis@apache.org>
Tue, 2 Jun 2026 15:54:04 +0000 (15:54 +0000)
committerLucien Gentis <lgentis@apache.org>
Tue, 2 Jun 2026 15:54:04 +0000 (15:54 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934892 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/configuring.xml.fr
docs/manual/platform/windows.xml.fr
docs/manual/vhosts/details.xml.fr
docs/manual/vhosts/name-based.xml.fr

index d4e105151d2864e726eb3242844847a07f76cf14..8074324f7bb2a04b7207807788bf09b8bc4aca20 100644 (file)
@@ -3,7 +3,7 @@
 <?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1928265:1933778 (outdated) -->
+<!-- English Revision: 1933778 -->
 
 <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
@@ -90,6 +90,48 @@ le Serveur HTTP Apache.</p>
     sont aussi ignorées. les arguments de directive sont séparés par des blancs.
     Si un argument contient des espaces, il doit être entouré de guillemets.</p>
 
+    <section id="quotes"><title>Citation et échappement</title>
+
+    <p>Un argument qui contient des espaces doit être entouré de guillemets
+    doubles (<code>"</code>) ou de guillemets simples (<code>'</code>). Les
+    guillemets eux-mêmes ne font pas partie de l’argument.</p>
+
+    <p>À l’intérieur d’une chaîne entre guillemets, seules deux séquences
+    d’échappement sont reconnues : <code>\\</code> produit une controblique
+    littérale et <code>\"</code> (ou <code>\'</code> si la chaîne est entourée
+    de guillemets simples) produit un guillemet littéral sans terminer la
+    chaîne. Toutes les autres séquences avec controblique sont conservées telles
+    quelles — par exemple, <code>\n</code> sera considéré comme une chaîne
+    littéral de deux caractères <code>\n</code>, pas comme une nouvelle
+    ligne.</p>
+
+    <p>En dehors des guillemets, les controbliques n’ont aucune signification
+    spéciale et sont traitées comme des caractères littéraux. La seule exception
+    est la controblique de continuation de ligne en fin de ligne, comme décrit
+    ci-avant.</p>
+
+    <p>Notez que des chaînes entre guillemets adjacentes sans espace entre elles
+    ne sont <strong>pas</strong> concaténées — elles sont traitées comme des
+    arguments séparés. Par exemple :</p>
+
+    <example>
+    # Il ne s’agit pas d’un seul argument, mais de DEUX :<br />
+    Header set X-Foo "arg1""arg2"
+    </example>
+
+    <p>Certaines directives acceptent des arguments qui contiennent des
+    sous-expressions ayant leur propre syntaxe, telles que les drapeaux de la
+    directive <directive module="mod_rewrite">RewriteRule</directive> ou les
+    expression <a href="expr.html">ap_expr</a>. Dans ces cas, l’interpréteur de
+    fichier de configuration enlève tout d’abord les guillemets englobants et
+    traite les séquences avec controblique comme décrit ci-avant, puis
+    l’interpréteur propre à la directive traite le résultat. En cas de doute,
+    utiliser des guillemets simples autour d’un argument qui contient des
+    controbliques peut éviter un double traitement inattendu des séquenses
+    d’échappement.</p>
+
+    </section>    
+
     <p>Les directives dans les fichiers de configuration ne sont pas
     sensibles à la casse, mais leurs arguments le sont souvent.</p>
 
index 51b13201d4f01cd10748a38ba953edbb94bef522..f9be5dfdbebd470b4d3f888cc4cd8068f914a0a9 100644 (file)
@@ -1,7 +1,7 @@
 <?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: 1933076:1933739 (outdated) -->
+<!-- English Revision: 1933739 -->
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
 
index 128b364e38cee333b82a56ebff2fee15bbf1e630..4ec8f6cad5aa273a60f94504fad6ba2c4ab53a96 100644 (file)
@@ -1,7 +1,7 @@
 <?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: 1777061:1933669 (outdated) -->
+<!-- English Revision: 1933669 -->
 <!-- French translation by Vincent Deffontaines, review by alain B -->
 <!-- Updated by Lucien Gentis -->
 
@@ -177,20 +177,41 @@ dynamiquement</a></seealso>
 
 <section id="hostmatching"><title>Choix du serveur virtuel</title>
 
-    <p>À la réception d'une requête, le serveur procède comme suit pour
-    déterminer quel serveur virtuel utiliser&nbsp;:</p>
-
-    <section id="hashtable"><title>Recherche de l'adresse IP</title>
-
-    <p>Lors d'une première connexion sur une adresse/port, le serveur
-    recherche toutes les directives <code>VirtualHost</code> qui
-    possèdent la même adresse IP/port.</p>
-
-    <p>S'il n'y a aucune correspondance exacte pour cette adresse/port,
-    la recherche s'effectue sur la valeur générique (<code>*</code>).</p>
-
-    <p>Si aucune correspondance n'est enfin trouvée, la requête sera
-    servie par le serveur principal.</p>
+    <p>Le serveur détermine le serveur virtuel à utiliser pour une requête en
+    deux phases : une recherche basée sur l’IP lorsque la connexion est établie,
+    puis une recherche optionnelle à base de nom à la réception de la requête.</p>
+
+    <section id="hashtable"><title>Phase 1 : recherche sur l’adresse IP et
+    le port</title>
+
+    <p>Lorsqu’une connexion est établie, le serveur recherche l’adresse IP et le
+    port de destination dans sa liste d’adresses/ports des <code>serveurs
+    virtuels</code>. Cette recherche respecte un ordre de priorité strict :</p>
+
+    <table border="1" style="zebra">
+    <columnspec><column width=".1"/><column width=".4"/><column width=".5"/></columnspec>
+    <tr><th>Priorité</th><th>Type de correspondance</th><th>Exemple</th></tr>
+    <tr><td>1</td><td>Adresse IP et port exacts</td>
+        <td><code>&lt;VirtualHost 10.0.0.1:80&gt;</code></td></tr>
+    <tr><td>2</td><td>Adresse IP exacte, port générique</td>
+        <td><code>&lt;VirtualHost 10.0.0.1:*&gt;</code></td></tr>
+    <tr><td>3</td><td>Adresse IP générique (<code>*</code>), port exact</td>
+        <td><code>&lt;VirtualHost *:80&gt;</code></td></tr>
+    <tr><td>4</td><td>Adresse IP et port génériques</td>
+        <td><code>&lt;VirtualHost *:*&gt;</code></td></tr>
+    <tr><td>5</td><td>Serveur principal</td>
+        <td>(aucun <code>serveur virtuel</code> ne correspond)</td></tr>
+    </table>
+
+    <note><title>Important</title>
+    <p>Le serveur utilise la <em>première correspondance trouvée</em> en suivant
+    cet ordre. Lorsqu’une correspondance est trouvée à un niveau de priorité
+    donné, aucun niveau de priorité inférieur n’est considéré &mdash; même si un
+    serveur virtuel de priorité inférieure possède un <code>ServerName</code>
+    qui correspond au contenu de l’en-tête <code>Host</code> de la requête. La
+    recherche à base de nom (Phase 2) n’intervient que lorsque deux serveurs
+    virtuels de même niveau de priorité peuvent correspondre.</p>
+    </note>
 
     <p>S'il existe des définitions <code>VirtualHost</code> pour
     l'adresse IP, l'étape suivante consiste à déterminer si nous avons à
@@ -200,20 +221,19 @@ dynamiquement</a></seealso>
 
     <section id="ipbased"><title>Serveur virtuel par IP</title>
 
-    <p>Si une seule section <code>VirtualHost</code> présente la
-    meilleure correspondance avec la paire adresse IP/port, aucune
-    action n'est entreprise et la requête est
-    traitée par le serveur virtuel qui correspond.</p>
+    <p>Si la Phase 1 ne trouve qu’un seul <code>serveur virtuel</code>
+    correspondant, la requête est servie directement depuis ce dernier sans
+    effectuer d’autre recherche.</p>
 
     </section>
 
-    <section id="namebased"><title>Serveur virtuel par nom</title>
+    <section id="namebased"><title>Phase 2 : recherche à base de nom</title>
 
-    <p>Si plusieurs sections <code>VirtualHost</code> présentent la
-    meilleure correspondance avec la paire adresse IP/port, le terme
-    "liste" dans les étapes suivantes fait référence à la liste des
-    serveurs virtuels qui correspondent, selon l'ordre dans lequel ils
-    apparaissent dans le fichier de configuration.</p>
+    <p>Si la phase 1 trouve plusieurs <code>serveurs virtuels</code>
+    correspondants de même niveau de priorité, le serveur effectue une recherche
+    à base de nom parmi ces serveurs virtuels en utilisant l’en-tête
+    <code>Host:</code> de la requête (ou le nom d’hôte SNI pour les connexions
+    SSL).</p>
 
     <p>Si la connexion utilise SSL, si le serveur supporte l'<glossary
     ref="servernameindication">Indication de nom de serveur</glossary>,
@@ -226,30 +246,44 @@ dynamiquement</a></seealso>
     serveur virtuel qui détermine quel certificat le serveur va utiliser
     pour la connexion.</p>
 
-    <p>Si la requête contient un en-tête <code>Host:</code>, on
-    recherche dans la liste le premier serveur virtuel dont le
-    <code>ServerName</code> ou le <code>ServerAlias</code> correspond,
-    et c'est celui-ci qui va traiter la requête. Un en-tête
-    <code>Host:</code> peut comporter un numéro de port mais Apache
-    l'ignore systématiquement et utilise toujours le
-    port sur lequel il a effectivement reçu la requête.</p>
+    <p>La recherche de serveurs virtuels correspondants s’effectue selon leur
+    ordre d’apparition dans le fichier de configuration :</p>
 
-    <p>Le premier serveur virtuel du fichier de configuration qui
-    possède l'adresse spécifiée est prioritaire et intercepte toutes les
-    requêtes à destination d'un nom de serveur inconnu, ou toute requête
-    sans en-tête <code>Host:</code> (comme les requêtes HTTP/1.0).</p>
+    <ol>
+    <li>Les contenus des directives <directive
+    module="core">ServerName</directive> et <directive
+    module="core">ServerAlias</directive> de chaque serveur virtuel sont
+    comparés au nom d’hôte de la requête. La première correspondance est
+    retenue.</li>
+
+    <li>Si aucun <code>ServerName</code> ou <code>ServerAlias</code> ne
+    correspond, c’est le <em>premier serveur virtuel de la liste</em> qui sera
+    choisi. Il s’agit du <em>serveur virtuel à base de nom par défaut</em> pour
+    cette combinaison adresse/port.</li>
+    </ol>
 
+    <p>Un champ d’en-tête <code>Host:</code> peut contenir un numéro de port,
+    mais httpd l’ignore toujours et effectue sa recherche de correspondance avec
+    le port réel auquel le client a envoyé sa requête.</p>
+
+    <p>Si la requête ne possède pas d’en-tête <code>Host:</code> (comme les
+    requêtes HTTP/1.0), le premier serveur virtuel qui correspond est choisi.
+    Mais si une directive <directive module="core">ServerPath</directive> est
+    configurée pour un des serveurs virtuels correspondants et que l’URL de la
+    requête correspond à ce chemin, la requête sera servie depuis ce serveur
+    virtuel. Il s’agit d’un mécanisme patrimonial pour les clients HTTP/1.0 ;
+    voir l’exemple avec <a href="examples.html#serverpath">ServerPath</a> pour
+    les détails.</p>
     </section>
 
     <section id="persistent"><title>Connexions persistantes</title>
 
-    <p>La <em>recherche par adresse IP</em> décrite ci-avant n'est faite
-    qu'<em>une fois</em> pour chaque session TCP/IP, alors que la
-    <em>recherche par nom</em> est réalisée pour <em>chaque</em> requête au
-    cours d'une connexion persistante (KeepAlive). En d'autres termes,
-    il est possible pour un client de faire des requêtes sur
-    différents serveurs virtuels par nom, au cours d'une unique
-    connexion persistante.</p>
+    <p>La <em>recherche par adresse IP</em> (Phase 1) n'est effectuée qu'<em>une
+    fois</em> pour une session TCP/IP particulière, alors que la recherche par
+    nom (Phase 2) est effectuée pour <em>chaque</em> requête au cours d'une
+    connexion persistante (KeepAlive). En d'autres termes, il est possible pour
+    un client de faire des requêtes pour des pages sur différents serveurs
+    virtuels par nom, au cours d'une unique connexion persistante.</p>
 
     </section>
 
@@ -268,20 +302,19 @@ dynamiquement</a></seealso>
 <section id="observations"><title>Observations</title>
 
     <ul>
-      <li>La sélection d'un serveur virtuel en fonction de son nom est
-      un processus qui intervient après la sélection par le serveur du
-      serveur virtuel qui correspond le mieux du point de vue adresse
-      IP/port.</li>
+      <li>La sélection d'un serveur virtuel en fonction de son nom est un
+      processus qui intervient <em>après</em> que le serveur a cerné la liste de
+      candidats qui correspondent du point de vue adresse IP.</li>
 
-      <li>Si vous ne tenez pas compte de l'adresse IP à laquelle le
-      client s'est connecté, indiquez un caractère "*" comme adresse
-      pour tous les serveurs virtuels, et la sélection du serveur
-      virtuel en fonction du nom s'appliquera alors à tous les serveurs
-      virtuels définis.</li>
+      <li>Si vous ne tenez pas compte de l'adresse IP à laquelle le client s'est
+      connecté, indiquez un caractère "<code>*</code>" comme adresse pour tous
+      les serveurs virtuels, et la sélection du serveur virtuel en fonction du
+      nom s'appliquera alors à tous les serveurs virtuels définis.</li>
 
       <li>Les vérifications sur <code>ServerName</code> et
-      <code>ServerAlias</code> ne sont jamais
-      réalisées pour les serveurs virtuels par IP.</li>
+      <code>ServerAlias</code> ne sont jamais réalisées pour les serveurs
+      virtuels par IP (celles pour lesquelles il n’y a qu’un seul serveur
+      virtuel pour cette adresse IP/port).</li>
 
       <li>Seul l'ordre des serveurs virtuels par nom
       pour une adresse donnée a une importance. Le serveur virtuel
index 24e47fd06dad958fae5da88a718ce7f5a9acc95f..a744a7b8fbc566e26bcd792f7f0d375a327544fa 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version='1.0' ?>
 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1884608:1933739 (outdated) -->
+<!-- English Revision: 1933739 -->
 <!-- French translation by alain B, review by Vincent Deffontaines
        updated by Lucien GENTIS -->