<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1673932:1932308 (outdated) -->
+<!-- English Revision: 1932308 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
</example>
<p>Notez aussi qu'un fichier de correspondances de types prend le pas sur
- les extensions de noms de fichiers, même si les Multivues sont activées.
- Si les variantes sont de qualités différentes, on doit l'indiquer
- à l'aide du paramètre « qs » à la suite du type de média, comme pour cette
- image
- (disponible aux formats JPEG, GIF, ou ASCII-art) : </p>
+ les extensions de noms de fichier, même si les Multivues sont activées. Si
+ un fichier de correspondances de types <code>.var</code> est trouvé au cours
+ d’un balayage de répertoire de Multivues, le serveur n’utilisera
+ <em>que</em> les variantes listées dans ce fichier de correspondances de
+ types. Tout autre fichier du répertoire qui correspond au nom de base mais
+ n’est pas listé dans les correspondances de types sera totalement ignoré.
+ Par exemple, si <code>foo.var</code> existe et ne liste que
+ <code>foo.en.html</code> et <code>foo.fr.de.html</code>, un fichier
+ <code>foo.mn.html</code> présent dans le même répertoire ne sera jamais
+ servi après négociation, même si le client demande « Mongolian ». Pour
+ qu’une telle variante soit disponible, elle doit être ajoutée au fichier de
+ correspondances de types.</p>
+
+ <p>Ce comportement est intéressant pour les sites qui ajoutent de nouvelles
+ variantes linguistiques au cours du temps. Si vous avez une ressource
+ existante <code>foo.html</code> et ajoutez par la suite des variantes
+ traduites avec des extensions de langue, vous devez lister toutes les
+ variantes (y compris l’original) dans le fichier de
+ correspondances de types. Il est possible d’assigner sa langue au fichier
+ original dans le fichier de
+ correspondances de types sans avoir à le renommer :</p>
+
+ <example>
+ URI: foo<br />
+<br />
+ URI: foo.html<br />
+ Content-type: text/html<br />
+ Content-language: en<br />
+<br />
+ URI: foo.fr.html<br />
+ Content-type: text/html<br />
+ Content-language: fr<br />
+</example>
+
+ <p>Si les variantes possèdent des qualités de source différentes, elles
+ peuvent être indiquées par l’ajout du paramètre « qs » au type de média,
+ comme pour cette image (disponible en JPEG, GIF ou ASCII-art) :</p>
<example>
URI: foo<br />
<?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: 1931360:1932384 (outdated) -->
+<!-- English Revision: 1932384 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
</section>
</section>
+ <section id="cgi">
+ <title>Variables d’environnement de CGI</title>
+
+ <p>La <a
+ href="https://datatracker.ietf.org/doc/html/rfc3875#section-4.1"
+ >spécification de CGI</a> définit un certain nombre de variables
+ d’environnement qui s’ajoutent à celles définies par la spécification de
+ HTTP. Elles ont été plus largement adoptées et constituent une méthode
+ standard pour transmettre des informations entre le navigateur et le
+ serveur, et entre les processus au sein du serveur. Nous en décrivons
+ quelques unes ici ; consultez la spécification de CGI pour plus de détails.</p>
+
+ <section id="query-string">
+ <title>QUERY_STRING</title>
+ <p>La variable <code>QUERY_STRING</code> est définie avec tout ce
+ qui apparaît après un point d’interrogation à la fin de l’URL d’une
+ requête. Elle permet de transmettre des informations au serveur et peut
+ être divisée en paires clé/valeur. L’encodage de la chaîne doit être de
+ type URL.</p>
+
+ <example>
+ https://example.com/path/resource.php?key1=value1&key2=another%20value
+ </example>
+
+ <p>Dans cet exemple, la variable <code>QUERY_STRING</code> est définie
+ avec tout ce qui suit le point d’interrogation, et l’application
+ réceptrice (une application CGI ou un script PHP, par exemple) est
+ chargée d’en extraire les paires clé/valeur.</p>
+
+ </section>
+
+ <section id="path-info">
+ <title>PATH_INFO</title>
+
+ <p>La variable <code>PATH_INFO</code> est définie avec toute valeur qui
+ apparaît après une ressource correspondante à la fin de l’URL,
+ <code>QUERY_STRING</code> non comprise. Tout paraît plus clair avec un
+ exemple :</p>
+
+ <example>
+ https://example.com/resource.php/additional/data?key1=value1
+ </example>
+
+ <p>Dans cet exemple, <code>PATH_INFO</code> est définie avec la chaîne
+ <code>/additional/data</code> et <code>QUERY_STRING</code> avec la
+ chaîne <code>key1=value1</code>.</p>
+ </section>
+
+ </section>
+
+
+
<section id="special">
<title>Variables d'environnement à usage spécial</title>
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1897300:1932317 (outdated) -->
+<!-- English Revision: 1932317 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
</modulelist>
<directivelist>
<directive module="core">ErrorLog</directive>
+ <directive module="core">ErrorLogFormat</directive>
<directive module="core">LogLevel</directive>
</directivelist>
</related>
<a href="#piped">rediriger vers un programme</a> par l'intermédiaire d'un
tube de communication (pipe).</p>
- <p>Le format par défaut du journal des erreurs est descriptif et de forme
- relativement libre. Certaines informations apparaissent cependant dans la
- plupart des entrées du journal. Voici un message typique
- à titre d'exemple : </p>
+ <p>Le format du journal des erreurs est défini à l’aide de la directive <directive
+ module="core">ErrorLogFormat</directive> avec laquelle vous pouvez
+ choisir les valeurs à journaliser. Un format par défaut sera utilisé si vous
+ n’en spécifiez pas un. Un message de journalisation typique se présente
+ comme suit :</p>
<example>
- [Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1]
- client denied by server configuration:
- /export/home/live/ap/htdocs/test
+ [Fri Sep 09 10:42:29.902022 2011] [core:error] [pid 35708:tid 4328636416]
+ [client 72.15.99.187] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error
</example>
<p>Le premier champ de l'entrée du journal est la date et l'heure du
- message. Le second champ indique la sévérité de l'erreur rapportée. La
- directive <directive module="core">LogLevel</directive> permet de
- restreindre le type des erreurs qui doivent être enregistrées
- dans le journal des erreurs en définissant leur niveau de sévérité. Le
- troisième champ contient l'adresse IP du client qui a généré l'erreur.
- Vient ensuite le message proprement dit, qui indique dans ce cas que le
- serveur a été configuré pour interdire l'accès au client. Le serveur
- indique le chemin système du document requis (et non
- son chemin web).</p>
+ message. Le second champ indique le module qui produit le message (core,
+ dans ce cas) et le niveau de sévérité de ce message. Suivent l’ID du processus
+ et éventuellement l’ID du thread du processus qui a été soumis à cette
+ condition. Le
+ troisième champ contient l'adresse IP du client qui a effectué la requête.
+ Vient ensuite le message d’erreur détaillé.</p>
+
+ <note><p>Notez que certains messages qui étaient auparavant journalisés au
+ niveau <code>error</code> ont été rétrogradés au niveau <code>info</code>
+ dans httpd 2.4. Par exemple, les messages "File does not exist" pour les
+ réponses 404 sont journalisés au niveau <code>info</code> et n’apparaîtront
+ pas dans le journal des erreurs avec la valeur par défaut <code>warn</code>
+ de la directive <directive module="core">LogLevel</directive>. Pour
+ restaurer le comportement précédent, spécifiez <code>LogLevel warn
+ core:info</code>.</p></note>
<p>Une grande variété de messages différents peuvent apparaître dans le
journal des erreurs. La plupart d'entre eux sont similaires à l'exemple
écrit sur la sortie d'erreurs standard <code>stderr</code> sera recopiée
telle quelle dans le journal des erreurs.</p>
- <p>La directive <directive module="core">ErrorLogFormat</directive>
- vous permet de personnaliser le format du journal des erreurs, et de
- définir les informations à journaliser. Si
- <module>mod_unique_id</module> est présent, vous pouvez utiliser le
- drapeau <code>%L</code> à la fois dans le journal des erreurs et
- dans le
- journal des accès, ce qui aura pour effet de générer un identifiant
- d'entrée qui vous permettra de corréler les entrées du journal des
- erreurs avec celles du journal des accès.</p>
+ <p>Mettre un symbole <code>%L</code> dans le journal des erreurs et le
+ journal des accès produit un ID d’entrée de journalisation grâce auquel
+ vous pourrez corréler l’entrée du journal des erreurs avec celle du journal
+ des accès. Si <module>mod_unique_id</module> est chargé, son ID de requête
+ unique sera utilisé comme ID d’entrée de journalisation.</p>
<p>Pendant la phase de test, il est souvent utile de visualiser en continu
le journal des erreurs afin de détecter tout problème éventuel. Sur les
<?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: 1931452:1932317 (outdated) -->
+<!-- English Revision: 1932317 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<p>Cet exemple renverrait un message d'erreur du style :</p>
<example>
- [Thu May 12 08:28:57.652118 2011] [core:error] [pid 8777:tid 4326490112] [client ::1:58619] File does not exist: /usr/local/apache2/htdocs/favicon.ico
+ [Thu May 12 08:28:57.652118 2011] [core:error] [pid 8777:tid 4326490112] [client ::1:58619] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error
</example>
<p>Notez que, comme indiqué plus haut, certains champs sont
<?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: 1816992:1932367 (outdated) -->
+<!-- English Revision: 1932367 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<IfModule mod_headers.c>
# Sert des fichiers CSS et JS compressés par brotli, s'ils existent
# et si le client supporte brotli.
+ RewriteEngine On
RewriteCond "%{HTTP:Accept-encoding}" "br"
- RewriteCond "%{REQUEST_FILENAME}\.br" "-s"
- RewriteRule "^(.*)\.(js|css)" "$1\.$2\.br" [QSA]
+ RewriteCond "%{LA-U:REQUEST_FILENAME}.br" "-s"
+ RewriteRule "^(.*)\.(js|css)" "$1.$2.br" [QSA]
# Sert des types de contenu corrects, et évite la double compression.
- RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-brotli:1]
- RewriteRule "\.js\.gz$" "-" [T=text/javascript,E=no-brotli:1]
-
+ RewriteRule "\.css\.br$" "-" [T=text/css,E=no-brotli:1,E=no-gzip:1]
+ RewriteRule "\.js\.br$" "-" [T=text/javascript,E=no-brotli:1,E=no-gzip:1]
<FilesMatch "(\.js\.br|\.css\.br)$">
# Sert un type d'encodage correct.
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1915685:1932374 (outdated) -->
+<!-- English Revision: 1932374 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<example><title>Exemple complet</title>
<highlight language="config">
<Directory "/usr/local/apache2/htdocs/foo">
- Require all granted
Dav On
AuthType Basic
AuthName "DAV"
AuthUserFile "user.passwd"
- <LimitExcept GET POST OPTIONS>
+ <RequireAny>
+ Require method GET POST OPTIONS
Require user admin
- </LimitExcept>
+ </RequireAny>
</Directory>
</highlight>
</example>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
-<!-- English Revision: 1930379:1932365 (outdated) -->
+<!-- English Revision: 1932365 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<p>
Il s’agit d’une extension non standard d’ACME par Let's Encrypt.
</p><p>
- Lets Encrypt a annoncé qu’ils allaient ajouter la prise en
- charge des profiles de certificat à leurs CA courant 2025, en
- commençant par leurs serveurs de test. Cette fonctionnalité,
- entre autres détails, vous permettra de définir la durée de
- validité des certificats que vous recevez. À ce titre, le
- profile « default » conservera la valeur de 90 jours, alors que
- le profile « shortlived » délivrera des certificats dont la durée
- de validité sera de 6 jours seulement.
+ Lets Encrypt prend en charge les profiles de certificat dans
+ leurs CA. Cette fonctionnalité, entre autres détails, vous
+ permet de définir la durée de validité des certificats que vous
+ recevez. Le profile par défaut « classic » conserve la valeur de
+ 90 jours, le profile « tlsserver » conserve aussi la valeur de
+ 90 jours avec au maximum 25 noms alternatifs pour Subject. Le
+ profile « shortlived » délivre des certificats dont la durée de
+ validité est de 6 jours seulement.
</p><p>
Si vous ne modifiez pas la configuration de votre module mod_md,
vous continuerez à recevoir des certificats d’une durée de
<?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: 1926185:1932339 (outdated) -->
+<!-- English Revision: 1932339 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<usage>
<p>Cette directive n'a d'utilité que pour les serveurs mandataires
Apache httpd au sein d'un Intranet. La directive
- <directive>ProxyDomain</directive> permet de spécifier le domaine
- par défaut auquel le serveur mandataire apache appartient. Si le
- serveur reçoit une requête pour un hôte sans nom de domaine, il va
- générer une réponse de redirection vers le même hôte suffixé par le
- <var>Domaine</var> spécifié.</p>
+ <directive>ProxyDomain</directive> permet de spécifier le domaine par défaut
+ auquel le serveur mandataire apache appartient. Si le serveur reçoit une
+ requête pour un hôte sans nom de domaine, il va générer une réponse de
+ redirection vers le même hôte suffixé par le <var>Domaine</var> spécifié. Le
+ nom du domaine doit commencer par un point.</p>
<example><title>Exemple</title>
<highlight language="config">
<?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: 1780210:1932337 (outdated) -->
+<!-- English Revision: 1932337 -->
<!-- French translation : Lucien GENTIS -->
<description>Ports autorisés à se <code>CONNECT</code>er à travers le
mandataire</description>
<syntax>AllowCONNECT <var>port</var>[-<var>port</var>]
-[<var>port</var>[-<var>port</var>]] ...</syntax>
+[<var>port</var>[-<var>port</var>]] ... | None</syntax>
<default>AllowCONNECT 443 563</default>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
connexion <code>https</code> est requise et où le tunneling
mandataire sur HTTP est en service.</p>
- <p>Par défaut, seuls les ports par défauts https (<code>443</code>)
+ <p>Par défaut, seuls les ports par défaut https (<code>443</code>)
et snews (<code>563</code>) sont pris en compte. Vous pouvez
utiliser la directive <directive>AllowCONNECT</directive> pour
outrepasser ces valeurs par défaut et n'autoriser les connexions que
vers les ports spécifiés.</p>
+
+ <p>Définir la valeur à <code>None</code> pour interdire les requêtes
+ <code>CONNECT</code> vers tous les ports, y compris ceux par défaut.</p>
</usage>
</directivesynopsis>
<?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: 1919564:1932387 (outdated) -->
+<!-- English Revision: 1932387 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
</tr>
</table>
- <p>Ces variables correspondent toutes aux en-têtes MIME
- HTTP de mêmes noms, au variables C du serveur HTTP Apache, ou
- aux champs <code>struct tm</code> du système Unix. La
- plupart d'entre elles sont documentées <a
- href="../expr.html#vars">ici</a>, dans la
- spécification CGI ou ailleurs dans le
- manuel.</p>
+ <p>Ces variables correspondent toutes aux en-têtes MIME HTTP de
+ mêmes noms, au variables C du serveur HTTP Apache, ou aux champs
+ <code>struct tm</code> du système Unix. La plupart d'entre elles
+ sont documentées dans la <a
+ href="../expr.html#vars">documentation des expressions</a>, dans
+ la <a href="../env.html">documentation des variables
+ d’environnement</a> ou dans la <a
+ href="http://www.ietf.org/rfc/rfc3875">spécification de
+ CGI</a>.</p>
<p>SERVER_NAME et SERVER_PORT dépendent respectivement
des valeurs des directives <directive
<?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: 1929582:1932312 (outdated) -->
+<!-- English Revision: 1932312 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
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
+See the License for the specific language governing permissions and
limitations under the License.
-->
serveur.
</p>
+<p>
+Si cette directive est à <code>on</code> dans un contexte de serveur
+(globalement, en dehors de tout bloc <directive module="core"
+type="section">VirtualHost</directive>), tous les serveurs virtuels qui ne
+l’outrepassent pas héritent de la configuration. Cela a le même effet que la
+définir à <code>on</code> dans tous les serveurs virtuels par défaut à base de
+nom : les clients non-SNI se verront refuser l’accès à tout serveur virtuel à
+base de nom.
+</p>
+
<note type="warning"><p>
Cette option n'est disponible que si httpd a été compilé avec une
version d'OpenSSL supportant SNI.
<?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: 1919468:1932328 (outdated) -->
+<!-- English Revision: 1932328 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
éventuellement PHP et MySQL sous Microsoft Windows :</p>
<ul>
<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>
<?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: 1923725:1932362 (outdated) -->
+<!-- English Revision: 1932362 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
avertissements 'Invalid URI in request'.
</p>
+<p>Remarque : httpd ne prend en charge que les codes d’état inclus dans la
+spécification de HTTP. Utiliser un code d’état non reconnu provoquera une erreur
+500 et l’enregistrement d’un message dans le journal des erreurs.</p>
+
</section>
<section id="flag_s"><title>S|skip</title>
<?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: 1874148:1932321 (outdated) -->
+<!-- English Revision: 1932321 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<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>
+ <p>L’URL n’est réécrite en remplaçant l’ancienne extension par la
+ nouvelle que si le fichier cible avec la nouvelle extension existe et
+ si le fichier originel avec l’ancienne extension n’existe pas. Sinon,
+ l’URL reste inchangée.</p>
<highlight language="config">