]> granicus.if.org Git - apache/blob - docs/manual/mod/core.xml.fr
Rebuild without modifying lang/fr.xml
[apache] / docs / manual / mod / core.xml.fr
1 <?xml version="1.0"?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision: 1656063:1659902 (outdated) -->
5 <!-- French translation : Lucien GENTIS -->
6 <!-- Reviewed by : Vincent Deffontaines -->
7
8 <!--
9  Licensed to the Apache Software Foundation (ASF) under one or more
10  contributor license agreements.  See the NOTICE file distributed with
11  this work for additional information regarding copyright ownership.
12  The ASF licenses this file to You under the Apache License, Version 2.0
13  (the "License"); you may not use this file except in compliance with
14  the License.  You may obtain a copy of the License at
15
16      http://www.apache.org/licenses/LICENSE-2.0
17
18  Unless required by applicable law or agreed to in writing, software
19  distributed under the License is distributed on an "AS IS" BASIS,
20  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  See the License for the specific language governing permissions and
22  limitations under the License.
23 -->
24
25 <modulesynopsis metafile="core.xml.meta">
26
27 <name>core</name>
28 <description>Fonctionnalit&eacute;s de base du serveur HTTP Apache toujours
29 disponibles</description>
30 <status>Core</status>
31
32 <directivesynopsis>
33 <name>AcceptFilter</name>
34 <description>Permet d'optimiser la configuration d'une socket pour
35 l'&eacute;coute d'un protocole</description>
36 <syntax>AcceptFilter <var>protocole</var> <var>filtre
37 d'acceptation</var></syntax>
38 <contextlist><context>server config</context></contextlist>
39
40 <usage>
41     <p>Cette directive permet d'effectuer une optimisation de la socket
42     d'&eacute;coute d'un type de protocole en fonction du syst&egrave;me
43     d'exploitation. Le but premier est de faire en sorte que le noyau
44     n'envoie pas de socket au processus du serveur jusqu'&agrave; ce que
45     des donn&eacute;es soient re&ccedil;ues, ou qu'une requ&ecirc;te HTTP compl&egrave;te soit mise
46     en tampon. Seuls les <a
47     href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&amp;
48     sektion=9">Filtres d'acceptation de FreeBSD</a>, le filtre plus
49     primitif <code>TCP_DEFER_ACCEPT</code> sous Linux, et la version
50     optimis&eacute;e d'AcceptEx() de Windows sont actuellement support&eacute;s.</p>
51
52     <p>L'utilisation de l'argument <code>none</code> va d&eacute;sactiver tout
53     filtre d'acceptation pour ce protocole. Ceci s'av&egrave;re utile pour les
54     protocoles qui n&eacute;cessitent l'envoi de donn&eacute;es par le serveur en
55     premier, comme <code>ftp:</code> ou <code>nntp</code>:</p>
56     <highlight language="config">
57     AcceptFilter nntp none
58     </highlight>
59
60     <p>Les noms de protocoles par d&eacute;faut sont <code>https</code> pour le
61     port 443 et <code>http</code> pour tous les autres ports. Pour
62     sp&eacute;cifier un autre protocole &agrave; utiliser avec un port en &eacute;coute,
63     ajoutez l'argument <var>protocol</var> &agrave; la directive <directive
64     module="mpm_common">Listen</directive>.</p>
65
66     <p>Sous FreeBSD, les valeurs par d&eacute;faut sont :</p>
67     <highlight language="config">
68 AcceptFilter http httpready
69 AcceptFilter https dataready
70     </highlight>
71
72     <p>Le filtre d'acceptation <code>httpready</code> met en tampon des
73     requ&ecirc;tes HTTP enti&egrave;res au niveau du noyau. Quand une requ&ecirc;te
74     enti&egrave;re a &eacute;t&eacute; re&ccedil;ue, le noyau l'envoie au serveur. Voir la page de
75     manuel de <a
76     href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&amp;
77     sektion=9">accf_http(9)</a> pour plus de d&eacute;tails. Comme les requ&ecirc;tes
78     HTTPS sont chiffr&eacute;es, celles-ci n'autorisent que le filtre <a
79     href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&amp;
80     sektion=9">accf_data(9)</a>.</p>
81
82     <p>Sous Linux, les valeurs par d&eacute;faut sont :</p>
83     <highlight language="config">
84 AcceptFilter http data
85 AcceptFilter https data
86     </highlight>
87
88     <p>Le filtre <code>TCP_DEFER_ACCEPT</code> de Linux ne supporte pas
89     la mise en tampon des requ&ecirc;tes http. Toute valeur autre que
90     <code>none</code> active le filtre <code>TCP_DEFER_ACCEPT</code>
91     pour ce protocole. Pour plus de d&eacute;tails, voir la page de
92     manuel Linux de <a
93     href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/
94     tcp.7.html">tcp(7)</a>.</p>
95
96     <p>Sous Windows, les valeurs par d&eacute;faut sont :</p>
97     <highlight language="config">
98 AcceptFilter http data
99 AcceptFilter https data
100     </highlight>
101
102     <p>Le module MPM pour Windows mpm_winnt utilise la directive
103     AcceptFilter comme commutateur de l'API AcceptEx(), et ne supporte
104     pas la mise en tampon du protocole http. Deux valeurs utilisent
105     l'API Windows AcceptEx() et vont recycler les sockets r&eacute;seau entre
106     les connexions. <code>data</code> attend jusqu'&agrave; ce que les donn&eacute;es
107     aient &eacute;t&eacute; transmises comme d&eacute;crit plus haut, et le tampon de donn&eacute;es
108     initiales ainsi que les adresses r&eacute;seau finales sont tous extraits
109     gr&acirc;ce &agrave; une seule invocation d'AcceptEx(). <code>connect</code>
110     utilise l'API AcceptEx(), extrait aussi les adresses r&eacute;seau finales,
111     mais &agrave; l'instar de <code>none</code>, la valeur <code>connect</code>
112     n'attend pas la transmission des donn&eacute;es initiales.</p>
113
114     <p>Sous Windows, <code>none</code> utilise accept() au lieu
115     d'AcceptEx(), et ne recycle pas les sockets entre les connexions.
116     Ceci s'av&egrave;re utile pour les interfaces r&eacute;seau dont le pilote est
117     d&eacute;fectueux, ainsi que pour certains fournisseurs de r&eacute;seau comme les
118     pilotes vpn, ou les filtres anti-spam, anti-virus ou
119     anti-spyware.</p>
120
121 </usage>
122 <seealso><directive module="core">Protocol</directive></seealso>
123 </directivesynopsis>
124
125 <directivesynopsis>
126 <name>AcceptPathInfo</name>
127 <description>Les ressources acceptent des informations sous forme d'un
128 nom de chemin en fin de requ&ecirc;te.</description>
129 <syntax>AcceptPathInfo On|Off|Default</syntax>
130 <default>AcceptPathInfo Default</default>
131 <contextlist><context>server config</context>
132 <context>virtual host</context><context>directory</context>
133 <context>.htaccess</context></contextlist>
134 <override>FileInfo</override>
135
136 <usage>
137
138     <p>Cette directive permet de d&eacute;finir si les requ&ecirc;tes contenant des
139     informations sous forme d'un nom de chemin suivant le nom d'un
140     fichier r&eacute;el (ou un fichier qui n'existe pas dans un r&eacute;pertoire qui
141     existe) doivent &ecirc;tre accept&eacute;es ou rejet&eacute;es. Les scripts peuvent
142     acc&eacute;der &agrave; cette information via la variable d'environnement
143     <code>PATH_INFO</code>.</p>
144
145     <p>Supposons par exemple que <code>/test/</code> pointe vers un
146     r&eacute;pertoire qui ne contient que le fichier <code>here.html</code>.
147     Les requ&ecirc;tes pour <code>/test/here.html/more</code> et
148     <code>/test/nothere.html/more</code> vont affecter la valeur
149     <code>/more</code> &agrave; la variable d'environnement
150     <code>PATH_INFO</code>.</p>
151
152     <p>L'argument de la directive <directive>AcceptPathInfo</directive>
153     poss&egrave;de trois valeurs possibles :</p>
154     <dl>
155     <dt><code>Off</code></dt><dd>Une requ&ecirc;te ne sera accept&eacute;e que si
156     elle correspond &agrave; un chemin qui existe. Par cons&eacute;quent, une requ&ecirc;te
157     contenant une information de chemin apr&egrave;s le nom de fichier r&eacute;el
158     comme <code>/test/here.html/more</code> dans l'exemple ci-dessus
159     renverra une erreur "404 NOT FOUND".</dd>
160
161     <dt><code>On</code></dt><dd>Une requ&ecirc;te sera accept&eacute;e si la partie
162     principale du chemin correspond &agrave; un fichier existant. Dans
163     l'exemple ci-dessus <code>/test/here.html/more</code>, la requ&ecirc;te
164     sera accept&eacute;e si <code>/test/here.html</code> correspond &agrave; un nom de
165     fichier valide.</dd>
166
167     <dt><code>Default</code></dt><dd>Le traitement des requ&ecirc;tes est
168     d&eacute;termin&eacute; par le <a
169     href="../handler.html">gestionnaire</a> responsable de la requ&ecirc;te.
170     Le gestionnaire de base pour les fichiers normaux rejette par d&eacute;faut
171     les requ&ecirc;tes avec <code>PATH_INFO</code>. Les gestionnaires qui
172     servent des scripts, comme<a
173     href="mod_cgi.html">cgi-script</a> et <a
174     href="mod_isapi.html">isapi-handler</a>, acceptent en g&eacute;n&eacute;ral par
175     d&eacute;faut les requ&ecirc;tes avec <code>PATH_INFO</code>.</dd>
176     </dl>
177
178     <p>Le but premier de la directive <code>AcceptPathInfo</code> est de
179     vous permettre de remplacer le choix du gestionnaire d'accepter ou
180     de rejeter <code>PATH_INFO</code>. Ce remplacement est n&eacute;cessaire
181     par exemple, lorsque vous utilisez un <a
182     href="../filter.html">filtre</a>, comme <a
183     href="mod_include.html">INCLUDES</a>, pour g&eacute;n&eacute;rer un contenu bas&eacute;
184     sur <code>PATH_INFO</code>. Le gestionnaire de base va en g&eacute;n&eacute;ral
185     rejeter la requ&ecirc;te, et vous pouvez utiliser la configuration
186     suivante pour utiliser un tel script :</p>
187 <highlight language="config">
188 &lt;Files "mypaths.shtml"&gt;
189   Options +Includes
190   SetOutputFilter INCLUDES
191   AcceptPathInfo On
192 &lt;/Files&gt;
193     </highlight>
194     
195
196 </usage>
197 </directivesynopsis>
198
199 <directivesynopsis>
200 <name>AccessFileName</name>
201 <description>Nom du fichier de configuration distribu&eacute;</description>
202 <syntax>AccessFileName <var>nom-du-fichier</var>
203 [<var>nom-du-fichier</var>] ...</syntax>
204 <default>AccessFileName .htaccess</default>
205 <contextlist><context>server config</context><context>virtual
206 host</context>
207 </contextlist>
208
209 <usage>
210     <p>Au cours du traitement d'une requ&ecirc;te, le serveur recherche le
211     premier fichier de configuration existant &agrave; partir de la liste
212     de noms dans chaque r&eacute;pertoire composant le chemin du document, &agrave;
213     partir du moment o&ugrave; les fichiers de configuration distribu&eacute;s sont <a
214     href="#allowoverride">activ&eacute;s pour ce r&eacute;pertoire</a>. Par exemple
215     :</p>
216
217     <highlight language="config">AccessFileName .acl</highlight>
218
219     <p>avant de renvoyer le document
220     <code>/usr/local/web/index.html</code>, le serveur va rechercher les
221     fichiers <code>/.acl</code>, <code>/usr/.acl</code>,
222     <code>/usr/local/.acl</code> et <code>/usr/local/web/.acl</code>
223     pour y lire d'&eacute;ventuelles directives, &agrave; moins quelles n'aient &eacute;t&eacute;
224     d&eacute;sactiv&eacute;es avec</p>
225
226     <highlight language="config">
227 &lt;Directory /&gt;
228     AllowOverride None
229 &lt;/Directory&gt;
230     </highlight>
231 </usage>
232 <seealso><directive module="core">AllowOverride</directive></seealso>
233 <seealso><a href="../configuring.html">Fichiers de configuration</a></seealso>
234 <seealso><a href="../howto/htaccess.html">Fichiers .htaccess</a></seealso>
235 </directivesynopsis>
236
237 <directivesynopsis>
238 <name>AddDefaultCharset</name>
239 <description>Param&egrave;tre jeu de caract&egrave;res par d&eacute;faut &agrave; ajouter quand le
240 type de contenu d'une r&eacute;ponse est <code>text/plain</code> ou
241 <code>text/html</code></description>
242 <syntax>AddDefaultCharset On|Off|<var>jeu de caract&egrave;res</var></syntax>
243 <default>AddDefaultCharset Off</default>
244 <contextlist><context>server config</context>
245 <context>virtual host</context><context>directory</context>
246 <context>.htaccess</context></contextlist>
247 <override>FileInfo</override>
248
249 <usage>
250     <p>Cette directive sp&eacute;cifie une valeur par d&eacute;faut pour le param&egrave;tre
251     jeu de caract&egrave;res du type de m&eacute;dia (le nom d'un codage de
252     caract&egrave;res) &agrave; ajouter &agrave; une r&eacute;ponse, si et seulement si le type de
253     contenu de la r&eacute;ponse est soit <code>text/plain</code>, soit
254     <code>text/html</code>. Ceci va remplacer
255     tout jeu de caract&egrave;res sp&eacute;cifi&eacute; dans le corps de la r&eacute;ponse via un
256     &eacute;l&eacute;ment <code>META</code>, bien que cet effet d&eacute;pende en fait
257     souvent de la configuration du client de l'utilisateur. La
258     d&eacute;finition de <code>AddDefaultCharset Off</code> d&eacute;sactive cette
259     fonctionnalit&eacute;. <code>AddDefaultCharset On</code> ajoute un jeu de
260     caract&egrave;res par d&eacute;faut de <code>iso-8859-1</code>. Toute autre valeur
261     peut &ecirc;tre d&eacute;finie via le param&egrave;tre <var>jeu de caract&egrave;res</var>, qui
262     doit appartenir &agrave; la liste des <a
263     href="http://www.iana.org/assignments/character-sets">valeurs de
264     jeux de caract&egrave;res enregistr&eacute;s par l'IANA</a> &agrave; utiliser dans les
265     types de m&eacute;dia Internet (types MIME).
266     Par exemple :</p>
267
268     <highlight language="config">AddDefaultCharset utf-8</highlight>
269
270     <p>La directive <directive>AddDefaultCharset</directive> ne doit
271     &ecirc;tre utilis&eacute;e que lorsque toutes les ressources textes auxquelles
272     elle s'applique poss&egrave;dent le jeu de caract&egrave;re sp&eacute;cifi&eacute;, et qu'il est
273     trop contraignant de d&eacute;finir leur jeu de caract&egrave;res
274     individuellement. Un exemple de ce type est l'ajout du param&egrave;tre jeu
275     de caract&egrave;res aux ressources comportant un contenu g&eacute;n&eacute;r&eacute;, comme les
276     scripts CGI h&eacute;rit&eacute;s qui peuvent &ecirc;tre vuln&eacute;rables &agrave; des attaques de
277     type cross-site scripting &agrave; cause des donn&eacute;es utilisateurs incluses
278     dans leur sortie. Notez cependant qu'une meilleur solution consiste
279     &agrave; corriger (ou supprimer) ces scripts, car la d&eacute;finition d'un jeu de
280     caract&egrave;res par d&eacute;faut ne prot&egrave;ge pas les utilisateurs qui ont activ&eacute;
281     la fonctionnalit&eacute; "D&eacute;tection automatique de l'encodage des
282     caract&egrave;res" dans leur navigateur.</p>
283 </usage>
284 <seealso><directive module="mod_mime">AddCharset</directive></seealso>
285 </directivesynopsis>
286
287 <directivesynopsis>
288 <name>AllowEncodedSlashes</name>
289 <description>D&eacute;termine si les s&eacute;parateurs de chemin encod&eacute;s sont
290 autoris&eacute;s &agrave; transiter dans les URLs tels quels</description>
291 <syntax>AllowEncodedSlashes On|Off|NoDecode</syntax>
292 <default>AllowEncodedSlashes Off</default>
293 <contextlist><context>server config</context><context>virtual
294 host</context>
295 </contextlist>
296 <compatibility>L'option NoDecode est disponible depuis la version
297 2.3.12.</compatibility>
298
299 <usage>
300     <p>La directive <directive>AllowEncodedSlashes</directive> permet
301     l'utilisation des URLs contenant des s&eacute;parateurs de chemin
302     encod&eacute;s dans la partie chemin
303     (<code>%2F</code> pour <code>/</code> et m&ecirc;me <code>%5C</code> pour
304     <code>\</code> sur les syst&egrave;mes concern&eacute;s).</p>
305
306     <p>Avec la valeur par d&eacute;faut, <code>Off</code>, de telles URLs sont
307     refus&eacute;es et provoquent le renvoi d'une erreur 404 (Not found).</p>
308
309     <p>Avec la valeur <code>On</code>, ces URLs sont accept&eacute;es, et les
310     slashes encod&eacute;s sont d&eacute;cod&eacute;s comme tout autre caract&egrave;re cod&eacute;.</p>
311
312     <p>Avec la valeur <code>NoDecode</code>, ces URLs sont accept&eacute;es,
313     mais les slashes cod&eacute;s ne sont pas d&eacute;cod&eacute;s et laiss&eacute;s dans leur &eacute;tat
314     cod&eacute;.</p>
315
316     <p>D&eacute;finir <directive>AllowEncodedSlashes</directive> &agrave;
317     <code>On</code> est surtout utile en association avec
318     <code>PATH_INFO</code>.</p>
319
320     <note><title>Note</title>
321       <p>Si le codage des slashes dans la partie chemin est n&eacute;cessaire,
322       l'utilisation de l'option <code>NoDecode</code> est fortement
323       recommand&eacute;e par mesure de s&eacute;curit&eacute;. Permettre le d&eacute;codage des
324       slashes pourrait &eacute;ventuellement induire l'autorisation de chemins
325       non s&ucirc;rs.</p>
326     </note>
327 </usage>
328 <seealso><directive module="core">AcceptPathInfo</directive></seealso>
329 </directivesynopsis>
330
331 <directivesynopsis>
332 <name>AllowOverride</name>
333 <description>Types de directives autoris&eacute;es dans les fichiers
334 <code>.htaccess</code></description>
335 <syntax>AllowOverride All|None|<var>type directive</var>
336 [<var>type directive</var>] ...</syntax>
337 <default>AllowOverride None &agrave; partir de la version 2.3.9, AllowOverride
338 All pour les versions ant&eacute;rieures</default>
339 <contextlist><context>directory</context></contextlist>
340
341 <usage>
342     <p>Lorsque le serveur trouve un fichier <code>.htaccess</code> (dont
343     le nom est d&eacute;fini par la directive <directive
344     module="core">AccessFileName</directive>), il doit savoir lesquelles
345     des directives plac&eacute;es dans ce fichier sont autoris&eacute;es &agrave; modifier la
346     configuration pr&eacute;existante.</p>
347
348     <note><title>Valable seulement dans les sections
349     &lt;Directory&gt;</title>
350     La directive <directive>AllowOverride</directive> ne peut &ecirc;tre
351     utilis&eacute;e que dans les sections <directive type="section"
352     module="core">Directory</directive> d&eacute;finies sans expressions
353     rationnelles, et non dans les sections <directive
354     type="section" module="core">Location</directive>, <directive
355     module="core" type="section">DirectoryMatch</directive> ou
356     <directive type="section" module="core">Files</directive>.
357     </note>
358
359     <p>Lorsque cette directive et la directive <directive
360     module="core">AllowOverrideList</directive> sont d&eacute;finies &agrave; <code>None</code>, les
361     fichiers <a href="#accessfilename">.htaccess</a> sont totalement
362     ignor&eacute;s. Dans ce cas, le serveur n'essaiera m&ecirc;me pas de lire les
363     fichiers <code>.htaccess</code> du syst&egrave;me de fichiers.</p>
364
365     <p>Lorsque cette directive est d&eacute;finie &agrave; <code>All</code>, toute
366     directive valable dans le <a
367     href="directive-dict.html#Context">Contexte</a> .htaccess sera
368     autoris&eacute;e dans les fichiers <code>.htaccess</code>.</p>
369
370     <p>L'argument <var>type directive</var> peut contenir les
371     groupements de directives suivants :</p>
372
373     <dl>
374       <dt>AuthConfig</dt>
375
376       <dd>
377
378       Permet l'utilisation des directives d'autorisation (<directive
379       module="mod_authz_dbm">AuthDBMGroupFile</directive>,
380       <directive module="mod_authn_dbm">AuthDBMUserFile</directive>,
381       <directive module="mod_authz_groupfile">AuthGroupFile</directive>,
382       <directive module="mod_authn_core">AuthName</directive>,
383       <directive module="mod_authn_core">AuthType</directive>, <directive
384       module="mod_authn_file">AuthUserFile</directive>, <directive
385       module="mod_authz_core">Require</directive>, <em>etc...</em>).</dd>
386
387       <dt>FileInfo</dt>
388
389       <dd>
390       Permet l'utilisation des directives qui contr&ocirc;lent les types de
391       documents (directives  <directive
392       module="core">ErrorDocument</directive>, <directive
393       module="core">ForceType</directive>, <directive
394       module="mod_negotiation">LanguagePriority</directive>,
395       <directive module="core">SetHandler</directive>, <directive
396       module="core">SetInputFilter</directive>, <directive
397       module="core">SetOutputFilter</directive>, et directives du
398       module <module>mod_mime</module> Add* et Remove*), des metadonn&eacute;es
399       des documents (<directive
400       module="mod_headers">Header</directive>, <directive
401       module="mod_headers">RequestHeader</directive>, <directive
402       module="mod_setenvif">SetEnvIf</directive>, <directive
403       module="mod_setenvif">SetEnvIfNoCase</directive>, <directive
404       module="mod_setenvif">BrowserMatch</directive>, <directive
405       module="mod_usertrack">CookieExpires</directive>, <directive
406       module="mod_usertrack">CookieDomain</directive>, <directive
407       module="mod_usertrack">CookieStyle</directive>, <directive
408       module="mod_usertrack">CookieTracking</directive>, <directive
409       module="mod_usertrack">CookieName</directive>), des directives du
410       module <module>mod_rewrite</module> directives (<directive
411       module="mod_rewrite">RewriteEngine</directive>, <directive
412       module="mod_rewrite">RewriteOptions</directive>, <directive
413       module="mod_rewrite">RewriteBase</directive>, <directive
414       module="mod_rewrite">RewriteCond</directive>, <directive
415       module="mod_rewrite">RewriteRule</directive>), des directives du
416       module <module>mod_alias</module> directives (<directive
417       module="mod_alias">Redirect</directive>, <directive
418       module="mod_alias">RedirectTemp</directive>, <directive
419       module="mod_alias">RedirectPermanent</directive>, <directive
420       module="mod_alias">RedirectMatch</directive>), et de la directive
421       <directive module="mod_actions">Action</directive> du module
422       <module>mod_actions</module>.
423       </dd>
424
425       <dt>Indexes</dt>
426
427       <dd>
428       Permet l'utilisation des directives qui contr&ocirc;lent l'indexation
429       des r&eacute;pertoires (<directive
430       module="mod_autoindex">AddDescription</directive>,
431       <directive module="mod_autoindex">AddIcon</directive>, <directive
432       module="mod_autoindex">AddIconByEncoding</directive>,
433       <directive module="mod_autoindex">AddIconByType</directive>,
434       <directive module="mod_autoindex">DefaultIcon</directive>, <directive
435       module="mod_dir">DirectoryIndex</directive>, <directive
436       module="mod_dir">FallbackResource</directive>, <a
437       href="mod_autoindex.html#indexoptions.fancyindexing"><code>FancyIndexing</code></a>,
438       <directive
439       module="mod_autoindex">HeaderName</directive>, <directive
440       module="mod_autoindex">IndexIgnore</directive>, <directive
441       module="mod_autoindex">IndexOptions</directive>, <directive
442       module="mod_autoindex">ReadmeName</directive>,
443       <em>etc...</em>).</dd>
444
445       <dt>Limit</dt>
446
447       <dd>
448       Permet l'utilisation des directives contr&ocirc;lant l'acc&egrave;s au serveur
449       (<directive
450       module="mod_access_compat">Allow</directive>, <directive
451       module="mod_access_compat">Deny</directive> et <directive
452       module="mod_access_compat">Order</directive>).</dd>
453
454 <!-- TODO - Update this for 2.4 syntax -->
455
456
457
458
459       <dt>Nonfatal=[Override|Unknown|All]</dt>
460
461       <dd>
462       Permet d'utiliser l'option AllowOverride pour rendre les erreurs
463       de syntaxe non fatales dans les fichiers .htaccess : au lieu de
464       causer une Internal Server Error, les directives non autoris&eacute;es ou
465       non reconnues seront ignor&eacute;es et un avertissement enregistr&eacute; dans
466       le journal :
467       <ul>
468           <li><strong>Nonfatal=Override</strong> rend les directives
469           interdite par AllowOverride non fatales.</li>
470           <li><strong>Nonfatal=Unknown</strong> rend les directives
471           inconnues non fatales. Sont concern&eacute;es les erreurs de frappe
472           et les directives impl&eacute;ment&eacute;es par un module non charg&eacute;.</li>
473           <li><strong>Nonfatal=All</strong> rend toutes les directives
474           pr&eacute;c&eacute;dentes non fatales.</li>
475       </ul>
476       <p>Notez qu'une erreur de syntaxe dans une directive valide
477       causera toujours une internal server error.</p>
478       <note type="warning"><title>S&eacute;curit&eacute;</title>
479           Les erreurs non fatales peuvent &ecirc;tre &agrave; l'origine de probl&egrave;mes
480           de s&eacute;curit&eacute; pour les utilisateurs de fichiers .htaccess. Par
481           exemple, si AllowOverride interdit AuthConfig, toute
482           configuration utilisateur destin&eacute;e &agrave; restreindre l'acc&egrave;s &agrave; un
483           site ne sera pas prise en compte.
484       </note>
485       </dd>
486
487       <dt>Options[=<var>Option</var>,...]</dt>
488
489       <dd>
490       Permet l'utilisation des directives contr&ocirc;lant les fonctionnalit&eacute;s
491       sp&eacute;cifiques d'un r&eacute;pertoire (<directive
492       module="core">Options</directive> et <directive
493       module="mod_include">XBitHack</directive>). "Options" doit &ecirc;tre
494       suivi d'un signe "&eacute;gal", puis d'une liste d'options s&eacute;par&eacute;es par des
495       virgules (pas d'espaces) ; ces options doivent &ecirc;tre d&eacute;finies &agrave;
496       l'aide de la commande <directive
497       module="core">Options</directive>.
498
499       <note><title>D&eacute;sactivation implicite des options</title>
500       <p>Bien que la liste des options disponibles dans les fichiers
501       .htaccess puisse &ecirc;tre limit&eacute;e par cette directive, tant qu'un
502       directive <directive module="core">Options</directive> est
503       autoris&eacute;e, toute autre option h&eacute;rit&eacute;e peut &ecirc;tre d&eacute;sactiv&eacute;e en
504       utilisant la syntaxe non-relative. En d'autres termes, ce
505       m&eacute;canisme ne peut pas forcer une option sp&eacute;cifique &agrave; rester
506       <em>activ&eacute;e</em> tout en permettant &agrave; toute autre option d'&ecirc;tre
507       activ&eacute;e.
508       </p></note>
509
510       <example>
511       AllowOverride Options=Indexes,MultiViews
512       </example>
513       
514       </dd>
515     </dl>
516
517     <p>Exemple :</p>
518
519     <highlight language="config">AllowOverride AuthConfig Indexes</highlight>
520
521     <p>Dans l'exemple ci-dessus, toutes les directives qui ne font
522     partie ni du groupe <code>AuthConfig</code>, ni du groupe
523     <code>Indexes</code>, provoquent une erreur "internal
524     server error".</p>
525
526     <note><p>Pour des raisons de s&eacute;curit&eacute; et de performance, ne
527     d&eacute;finissez pas <code>AllowOverride</code> &agrave; autre chose que
528     <code>None</code> dans votre bloc <code>&lt;Directory /&gt;</code>.
529     Recherchez plut&ocirc;t (ou cr&eacute;ez) le bloc <code>&lt;Directory&gt;</code>
530     qui se r&eacute;f&egrave;re au r&eacute;pertoire o&ugrave; vous allez pr&eacute;cis&eacute;ment placer un
531     fichier <code>.htaccess</code>.</p>
532     </note>
533 </usage>
534 <seealso><directive module="core">AccessFileName</directive></seealso>
535 <seealso><directive module="core">AllowOverrideList</directive></seealso>
536 <seealso><a href="../configuring.html">Fichiers de configuration</a></seealso>
537 <seealso><a href="../howto/htaccess.html">Fichiers .htaccess</a></seealso>
538 </directivesynopsis>
539
540 <directivesynopsis>
541 <name>AllowOverrideList</name>
542 <description>Directives autoris&eacute;es dans les fichiers <code>.htaccess</code></description>
543 <syntax>AllowOverrideList None|<var>directive</var>
544 [<var>directive-type</var>] ...</syntax>
545 <default>AllowOverrideList None</default>
546 <contextlist><context>directory</context></contextlist>
547
548 <usage>
549     <p>Lorsque le serveur trouve un fichier <code>.htaccess</code>
550     (comme sp&eacute;cifi&eacute; par la directive <directive
551     module="core">AccessFileName</directive>), il doit savoir lesquelles
552     des directives d&eacute;clar&eacute;es dans ce fichier peuvent remplacer des
553     directives des fichiers de configuration du serveur.</p>
554
555     <note><title>Seulement disponible dans les sections &lt;Directory&gt;</title>
556     La directive <directive>AllowOverrideList</directive> n'est
557     disponible que dans les sections <directive type="section"
558     module="core">Directory</directive> sp&eacute;cifi&eacute;es sans expressions
559     rationnelles.
560     </note>
561
562     <p>Lorsque cette directive et la directive <directive
563     module="core">AllowOverride</directive> sont d&eacute;finies &agrave;
564     <code>None</code>, les fichiers <a
565     href="#accessfilename">.htaccess</a> sont totalement ignor&eacute;s. Dans
566     ce cas, le serveur ne cherchera m&ecirc;me pas &agrave; lire des fichiers
567     <code>.htaccess</code> dans le syst&egrave;me de fichiers.</p>
568
569     <p>Example:</p>
570
571     <highlight language="config">
572 AllowOverride None
573 AllowOverrideList Redirect RedirectMatch
574     </highlight>
575
576     <p>Dans l'exemple ci-dessus, seules les directives
577     <code>Redirect</code> et <code>RedirectMatch</code> sont autoris&eacute;es.
578     Toutes les autres provoqueront une erreur interne du serveur.</p>
579
580     <p>Example:</p>
581
582     <highlight language="config">
583 AllowOverride AuthConfig
584 AllowOverrideList CookieTracking CookieName
585     </highlight>
586
587     <p>Dans l'exemple ci-dessus, la directive <directive
588     module="core">AllowOverride</directive> autorise les directives du
589     groupement <code>AuthConfig</code>, et
590     <directive>AllowOverrideList</directive> n'autorise que deux
591     directives du groupement <code>FileInfo</code>. Toutes les autres
592     provoqueront une erreur interne du serveur.</p>
593 </usage>
594
595 <seealso><directive module="core">AccessFileName</directive></seealso>
596 <seealso><directive module="core">AllowOverride</directive></seealso>
597 <seealso><a href="../configuring.html">Fichiers de configuration</a></seealso>
598 <seealso><a href="../howto/htaccess.html">Fichiers .htaccess</a></seealso>
599 </directivesynopsis>
600
601 <directivesynopsis>
602 <name>CGIMapExtension</name>
603 <description>Technique permettant de localiser l'interpr&eacute;teur des
604 scripts CGI</description>
605 <syntax>CGIMapExtension <var>chemin CGI</var> <var>.extension</var></syntax>
606 <contextlist><context>directory</context><context>.htaccess</context>
607 </contextlist>
608 <override>FileInfo</override>
609 <compatibility>NetWare uniquement</compatibility>
610
611 <usage>
612     <p>Cette directive permet de contr&ocirc;ler la mani&egrave;re dont Apache httpd trouve
613     l'interpr&eacute;teur servant &agrave; ex&eacute;cuter les scripts CGI. Par exemple, avec
614     la d&eacute;finition <code>CGIMapExtension sys:\foo.nlm .foo</code>, tous
615     les fichiers scripts CGI poss&eacute;dant une extension <code>.foo</code>
616     seront pass&eacute;s &agrave; l'interpr&eacute;teur FOO.</p>
617 </usage>
618 </directivesynopsis>
619
620 <directivesynopsis>
621 <name>CGIPassAuth</name>
622 <description>Active la transmission d'en-t&ecirc;tes d'autorisation HTTP aux scripts en
623 tant que variables CGI</description>
624 <syntax>CGIPassAuth On|Off</syntax>
625 <default>CGIPassAuth Off</default>
626 <contextlist><context>directory</context><context>.htaccess</context>
627 </contextlist>
628 <override>AuthConfig</override>
629 <compatibility>Disponible &agrave; partir de la version 2.5.0 du serveur HTTP
630 Apache</compatibility>
631
632 <usage>
633     <p>La directive <directive>CGIPassAuth</directive> permet aux
634     scripts d'acc&eacute;der aux en-t&ecirc;tes d'autorisation HTTP tels que
635     <code>Authorization</code>, en-t&ecirc;te n&eacute;cessaire aux scripts qui
636     impl&eacute;mente une authentification HTTP de base. Normalement, ces
637     en-t&ecirc;tes HTTP sont invisibles pour les scripts car ils leurs
638     permettraient de voir les identifiants et mots de passe
639     utilis&eacute;s pour acc&eacute;der au serveur lorsque l'authentification HTTP de
640     base est activ&eacute;e au niveau du serveur web. Cette directive doit &ecirc;tre
641     d&eacute;finie &agrave; "On" lorsque des scripts sont autoris&eacute;s &agrave; impl&eacute;menter une
642     authentification HTTP de base.</p>
643
644     <p>Cette directive constitue une alternative &agrave; l'option de
645     compilation <code>SECURITY_HOLE_PASS_AUTHORIZATION</code> qui &eacute;tait
646     d&eacute;j&agrave; disponible dans les versions pr&eacute;c&eacute;dentes du serveur HTTP
647     Apache.</p>
648
649     <p>Cette option est prise en compte par tout module qui utilise
650     <code>ap_add_common_vars()</code>, comme <module>mod_cgi</module>,
651     <module>mod_cgid</module>, <module>mod_proxy_fcgi</module>,
652     <module>mod_proxy_scgi</module>, etc... En particulier, elle affecte
653     les modules qui ne traitent pas &agrave; proprement parler les requ&ecirc;tes,
654     mais utilisent quand-m&ecirc;me cette API, comme
655     <module>mod_include</module> ou <module>mod_ext_filter</module>. Les
656     modules tiers qui n'utilisent pas <code>ap_add_common_vars()</code>
657     peuvent aussi choisir de prendre en compte cette option.</p>
658 </usage>
659 </directivesynopsis>
660
661 <directivesynopsis>
662 <name>ContentDigest</name>
663 <description>Active la g&eacute;n&eacute;ration d'un en-t&ecirc;te <code>Content-MD5</code>
664 dans la r&eacute;ponse HTTP</description>
665 <syntax>ContentDigest On|Off</syntax>
666 <default>ContentDigest Off</default>
667 <contextlist><context>server config</context><context>virtual
668 host</context>
669 <context>directory</context><context>.htaccess</context>
670 </contextlist>
671 <override>Options</override>
672 <status>Exp&eacute;rimental</status>
673
674 <usage>
675     <p>Cette directive active la g&eacute;n&eacute;ration d'un en-t&ecirc;te
676     <code>Content-MD5</code> selon les d&eacute;finitions des RFC 1864 et
677     2616.</p>
678
679     <p>MD5 est un algorithme permettant de g&eacute;n&eacute;rer un condens&eacute; (parfois
680     appel&eacute; "empreinte") &agrave; partir de donn&eacute;es d'une taille al&eacute;atoire ; le
681     degr&eacute; de pr&eacute;cision est tel que la moindre alt&eacute;ration des donn&eacute;es
682     d'origine entra&icirc;ne une alt&eacute;ration de l'empreinte.</p>
683
684     <p>L'en-t&ecirc;te <code>Content-MD5</code> permet de v&eacute;rifier
685     l'int&eacute;grit&eacute; de la r&eacute;ponse HTTP dans son ensemble. Un serveur mandataire
686     ou un client peut utiliser cet en-t&ecirc;te pour rechercher une
687     &eacute;ventuelle modification accidentelle de la r&eacute;ponse au cours de sa
688     transmission. Exemple d'en-t&ecirc;te :</p>
689
690     <example>
691       Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
692     </example>
693
694     <p>Notez que des probl&egrave;mes de performances peuvent affecter votre
695     serveur, car l'empreinte est g&eacute;n&eacute;r&eacute;e pour chaque requ&ecirc;te (il n'y a
696     pas de mise en cache).</p>
697
698     <p>L'en-t&ecirc;te <code>Content-MD5</code> n'est envoy&eacute; qu'avec les
699     documents servis par le module <module>core</module>, &agrave; l'exclusion
700     de tout autre module. Ainsi, les documents SSI, les sorties de
701     scripts CGI, et les r&eacute;ponses &agrave; des requ&ecirc;tes partielles (byte range)
702     ne comportent pas cet en-t&ecirc;te.</p>
703 </usage>
704 </directivesynopsis>
705
706 <directivesynopsis>
707 <name>DefaultRuntimeDir</name>
708 <description>R&eacute;pertoire de base des fichiers cr&eacute;&eacute;s au cours de l'ex&eacute;cution du serveur</description>
709 <syntax>DefaultRuntimeDir <var>chemin-r&eacute;pertoire</var></syntax>
710 <default>DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)</default>
711 <contextlist><context>server config</context></contextlist>
712 <compatibility>Disponible depuis de la version 2.4.2 du serveur HTTP
713 Apache</compatibility>
714
715 <usage>
716     <p>La directive <directive>DefaultRuntimeDir</directive> permet de
717     d&eacute;finir le r&eacute;pertoire dans lequel le serveur va cr&eacute;er les diff&eacute;rents
718     fichiers relatifs &agrave; son ex&eacute;cution (m&eacute;moire partag&eacute;e, verrous,
719     etc...). Si le chemin sp&eacute;cifi&eacute; est relatif, le chemin absolu sera
720     g&eacute;n&eacute;r&eacute; relativement &agrave; la valeur de la directive
721     <directive>ServerRoot</directive>.</p>
722
723     <p><strong>Example</strong></p>
724    <highlight language="config">
725 DefaultRuntimeDir scratch/
726     </highlight>
727
728     <p>La valeur par d&eacute;faut de la directive
729     <directive>DefaultRuntimeDir</directive> peut &ecirc;tre modifi&eacute;e en
730     changeant la valeur de la macro <code>DEFAULT_REL_RUNTIMEDIR</code>
731     d&eacute;finie &agrave; la compilation.</p>
732
733    <p>Note: si la valeur de <directive>ServerRoot</directive> n'a pas
734    &eacute;t&eacute; sp&eacute;cifi&eacute;e avant d'utiliser cette directive, c'est la valeur par
735    d&eacute;faut de <directive>ServerRoot</directive> qui sera utilis&eacute;e pour
736    d&eacute;finir la base du r&eacute;pertoire.</p>
737
738 </usage>
739 <seealso>Voir les <a
740 href="../misc/security_tips.html#serverroot">conseils &agrave; propos de
741 s&eacute;surit&eacute;</a> pour plus d'informations en vue de d&eacute;finir correctement les
742 permissions sur la racine du serveur <directive>ServerRoot</directive></seealso>
743 </directivesynopsis>
744
745 <directivesynopsis>
746 <name>DefaultType</name>
747 <description>Les seuls effets de cette directive sont des &eacute;missions
748 d'avertissements si sa valeur est diff&eacute;rente de <code>none</code>. Dans
749 les versions pr&eacute;c&eacute;dentes, DefaultType permettait de sp&eacute;cifier un type de
750 m&eacute;dia &agrave; assigner par d&eacute;faut au contenu d'une r&eacute;ponse pour lequel aucun
751 autre type de m&eacute;dia n'avait &eacute;t&eacute; trouv&eacute;.
752 </description>
753 <syntax>DefaultType <var>type m&eacute;dia|none</var></syntax>
754 <default>DefaultType none</default>
755 <contextlist><context>server config</context><context>virtual
756 host</context>
757 <context>directory</context><context>.htaccess</context>
758 </contextlist>
759 <override>FileInfo</override>
760 <compatibility>Tous les arguments, except&eacute; <code>none</code>, sont
761 DESACTIV&Eacute;S &agrave; partir de la version 2.3.0.</compatibility>
762
763 <usage>
764     <p>Cette directive a &eacute;t&eacute; d&eacute;sactiv&eacute;e. Pour la compatibilit&eacute;
765     ascendante avec les anciens fichiers de configuration, elle peut
766     &ecirc;tre sp&eacute;cifi&eacute;e avec la valeur <code>none</code>, c'est &agrave; dire sans
767     type de m&eacute;dium par d&eacute;faut. Par exemple :</p>
768
769     <highlight language="config">DefaultType None</highlight>
770
771     <p><code>DefaultType None</code> n'est disponible que dans les
772     versions d'Apache 2.2.7 et sup&eacute;rieures.</p>
773
774     <p>Utilisez le fichier de configuration mime.types et la directive
775     <directive module="mod_mime">AddType</directive> pour configurer
776     l'assignement d'un type de m&eacute;dium via les extensions de fichiers, ou
777     la directive <directive module="core">ForceType</directive> pour
778     attribuer un type de m&eacute;dium &agrave; des ressources sp&eacute;cifiques. Dans le
779     cas contraire, le serveur enverra sa r&eacute;ponse sans champ d'en-t&ecirc;te
780     Content-Type, et le destinataire devra d&eacute;terminer lui-m&ecirc;me le type
781     de m&eacute;dium.</p>
782 </usage>
783 </directivesynopsis>
784
785 <directivesynopsis>
786 <name>Define</name>
787 <description>Permet de d&eacute;finir une variable</description>
788 <syntax>Define <var>nom-param&egrave;tre</var> [<var>valeur-param&egrave;tre</var>]</syntax>
789 <contextlist><context>server config</context><context>virtual host</context>
790 <context>directory</context></contextlist>
791
792 <usage>
793     <p>Avec un seul param&egrave;tre, l'effet de la directive
794     <directive>Define</directive> est identique &agrave; celui de l'argument
795     <code>-D</code> du programme <program>httpd</program>. Il permet de
796     modifier le comportement des sections <directive module="core"
797     type="section">IfDefine</directive> sans avoir &agrave; ajouter d'argument
798     <code>-D</code> au sein des scripts de d&eacute;marrage.</p>
799
800     <p>De plus, le second param&egrave;tre permet d'affecter une valeur &agrave; la
801     variable d&eacute;finie par le premier. Cette variable peut &ecirc;tre r&eacute;f&eacute;renc&eacute;e
802     dans le fichier de configuration via la syntaxe <code>${VAR}</code>.
803     La port&eacute;e de la variable est toujours globale, et n'est jamais
804     limit&eacute;e &agrave; la section de configuration courante.</p>
805
806     <highlight language="config">
807 &lt;IfDefine TEST&gt;
808   Define servername test.example.com
809 &lt;/IfDefine&gt;
810 &lt;IfDefine !TEST&gt;
811   Define servername www.example.com
812   Define SSL
813 &lt;/IfDefine&gt;
814
815     DocumentRoot /var/www/${servername}/htdocs
816     </highlight>
817
818     <p>Le caract&egrave;re ":" est interdit dans les noms de variables afin
819     d'&eacute;viter les conflits avec la syntaxe de la directive <directive
820     module="mod_rewrite">RewriteMap</directive>.</p>
821
822     <p>Si cette directive est définie au sein d'un bloc VirtualHost, les
823     changements qu'elle induit sont visibles de toute directive
824     ultérieure, au delà de tout bloc VirtualHost.</p>
825 </usage>
826 </directivesynopsis>
827
828 <directivesynopsis type="section">
829 <name>Directory</name>
830 <description>Regroupe un ensemble de directives qui ne s'appliquent
831 qu'au r&eacute;pertoire concern&eacute; du syst&egrave;me de fichiers, &agrave; ses
832 sous-r&eacute;pertoires, et &agrave; leur contenu.</description>
833 <syntax>&lt;Directory <var>chemin r&eacute;pertoire</var>&gt;
834 ... &lt;/Directory&gt;</syntax>
835 <contextlist><context>server config</context><context>virtual
836 host</context>
837 </contextlist>
838
839 <usage>
840     <p>Les balises <directive type="section">Directory</directive> et
841     <code>&lt;/Directory&gt;</code> permettent de regrouper un ensemble
842     de directives qui ne s'appliquent qu'au r&eacute;pertoire pr&eacute;cis&eacute;,
843     &agrave; ses sous-r&eacute;pertoires, et aux fichiers situ&eacute;s dans ces
844     sous-r&eacute;pertoires. Toute directive
845     autoris&eacute;e dans un contexte de r&eacute;pertoire peut &ecirc;tre utilis&eacute;e.
846     <var>chemin r&eacute;pertoire</var> est soit le chemin absolu d'un
847     r&eacute;pertoire, soit une cha&icirc;ne de caract&egrave;res avec caract&egrave;res g&eacute;n&eacute;riques
848     utilisant la comparaison Unix de style shell. Dans une cha&icirc;ne de
849     caract&egrave;res avec caract&egrave;res g&eacute;n&eacute;riques, <code>?</code> correspond &agrave;
850     un caract&egrave;re quelconque, et <code>*</code> &agrave; toute cha&icirc;ne de
851     caract&egrave;res. Les intervalles de caract&egrave;res <code>[]</code> sont aussi
852     autoris&eacute;s. Aucun caract&egrave;re g&eacute;n&eacute;rique ne peut remplacer le caract&egrave;re
853     `/', si bien que l'expression <code>&lt;Directory
854     /*/public_html&gt;</code> ne conviendra pas pour le chemin
855      * <code>/home/user/public_html</code>, alors que <code>&lt;Directory
856     /home/*/public_html&gt;</code> conviendra. Exemple :</p>
857
858     <highlight language="config">
859 &lt;Directory "/usr/local/httpd/htdocs"&gt;
860   Options Indexes FollowSymLinks
861 &lt;/Directory&gt;
862     </highlight>
863
864     <note>
865       <p>Soyez prudent avec l'argument <var>chemin r&eacute;pertoire</var> : il
866       doit correspondre exactement au chemin du syst&egrave;me de fichier
867       qu'Apache httpd utilise pour acc&eacute;der aux fichiers. Les directives
868       comprises dans une section <code>&lt;Directory&gt;</code> ne
869       s'appliqueront pas aux fichiers du m&ecirc;me r&eacute;pertoire auxquels on
870       aura acc&eacute;d&eacute; via un chemin diff&eacute;rent, per exemple via un lien
871       symbolique.</p>
872     </note>
873
874     <p> Les <glossary ref="regex">Expressions rationnelles</glossary>
875     peuvent aussi &ecirc;tre utilis&eacute;es en ajoutant le caract&egrave;re
876     <code>~</code>. Par exemple :</p>
877
878     <highlight language="config">
879 &lt;Directory ~ "^/www/[0-9]{3}"&gt;
880
881 &lt;/Directory&gt;
882 </highlight>
883
884     <p>pourra correspondre &agrave; tout r&eacute;pertoire situ&eacute; dans /www/ et dont le
885     nom se compose de trois chiffres.</p>
886
887     <p>Si plusieurs sections <directive
888     type="section">Directory</directive> (sans expression rationnelle)
889     correspondent au r&eacute;pertoire (ou &agrave; un de ses parents) qui contient le
890     document, les directives de la section <directive
891     type="section">Directory</directive> dont le chemin est le plus
892     court sont appliqu&eacute;es en premier, en s'intercalant avec les
893     directives des fichiers <a href="#accessfilename">.htaccess</a>. Par
894     exemple, avec</p>
895
896     <highlight language="config">
897 &lt;Directory /&gt;
898   AllowOverride None
899 &lt;/Directory&gt;
900
901 &lt;Directory "/home"&gt;
902   AllowOverride FileInfo
903 &lt;/Directory&gt;
904     </highlight>
905
906     <p>l'acc&egrave;s au document <code>/home/web/dir/doc.html</code> emprunte
907     le chemin suivant :</p>
908
909     <ul>
910       <li>Aplication de la directive <code>AllowOverride None</code>
911       (qui d&eacute;sactive les fichiers <code>.htaccess</code>).</li>
912
913       <li>Application de la directive <code>AllowOverride
914       FileInfo</code> (pour le r&eacute;pertoire <code>/home</code>).</li>
915
916       <li>Application de toute directive <code>FileInfo</code> qui se
917       trouverait dans d'&eacute;ventuels fichiers <code>/home/.htaccess</code>,
918       <code>/home/web/.htaccess</code> ou
919       <code>/home/web/dir/.htaccess</code>, dans cet ordre.</li>
920     </ul>
921
922     <p>Les directives associ&eacute;es aux r&eacute;pertoires sous forme d'expressions
923     rationnelles ne sont prises en compte qu'une fois toutes les
924     directives des sections sans expressions rationnelles appliqu&eacute;es.
925     Alors, tous les r&eacute;pertoires avec expressions rationnelles sont
926     test&eacute;s selon l'ordre dans lequel ils apparaissent dans le fichier de
927     configuration. Par exemple, avec</p>
928
929     <highlight language="config">
930 &lt;Directory ~ "abc$"&gt;
931   # ... directives ici ...
932 &lt;/Directory&gt;
933     </highlight>
934
935     <p>la section avec expression rationnelle ne sera prise en compte
936     qu'apr&egrave;s les sections <directive
937     type="section">Directory</directive> sans expression rationnelle
938     et les fichiers <code>.htaccess</code>. Alors, l'expression
939     rationnelle conviendra pour <code>/home/abc/public_html/abc</code>
940     et la section <directive type="section">Directory</directive>
941     correspondante s'appliquera.</p>
942
943    <p><strong>Notez que la politique d'acc&egrave;s par d&eacute;faut
944    dans les sections <code>&lt;Directory /&gt;</code> consiste &agrave;
945    autoriser tout acc&egrave;s sans restriction. Ceci signifie qu'Apache httpd va servir tout fichier
946    correspondant &agrave; une URL. Il est recommand&eacute; de modifier cette
947    situation &agrave; l'aide d'un bloc du style</strong></p>
948
949     <highlight language="config">
950 &lt;Directory /&gt;
951   Require all denied
952 &lt;/Directory&gt;
953     </highlight>
954
955     <p><strong>puis d'affiner la configuration pour les r&eacute;pertoires que vous
956     voulez rendre accessibles. Voir la page <a
957     href="../misc/security_tips.html">Conseils &agrave; propos de s&eacute;curit&eacute;</a>
958     pour plus de d&eacute;tails.</strong></p>
959
960     <p>Les sections <directive type="section">Directory</directive> se situent
961     dans le fichier <code>httpd.conf</code>. Les directives <directive
962     type="section">Directory</directive> ne peuvent pas &ecirc;tre imbriqu&eacute;es
963     et ne sont pas autoris&eacute;es dans les sections <directive module="core"
964     type="section">Limit</directive> ou <directive module="core"
965     type="section">LimitExcept</directive>.</p>
966 </usage>
967 <seealso><a href="../sections.html">Comment fonctionnent les sections
968 &lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour des
969 explications &agrave; propos de la mani&egrave;re dont ces diff&eacute;rentes sections se
970 combinent entre elles &agrave; la r&eacute;ception d'une requ&ecirc;te</seealso>
971 </directivesynopsis>
972
973 <directivesynopsis type="section">
974 <name>DirectoryMatch</name>
975 <description>Regroupe des directives qui s'appliquent au contenu de r&eacute;pertoires
976 du syst&egrave;me de fichiers correspondant &agrave; une expression rationnelle</description>
977 <syntax>&lt;DirectoryMatch <var>regex</var>&gt;
978 ... &lt;/DirectoryMatch&gt;</syntax>
979 <contextlist><context>server config
980 </context><context>virtual host</context>
981 </contextlist>
982
983 <usage>
984     <p>Les balises <directive type="section">DirectoryMatch</directive>
985     et <code>&lt;/DirectoryMatch&gt;</code> permettent de regrouper un
986     ensemble de directives qui ne s'appliqueront qu'au r&eacute;pertoire
987     pr&eacute;cis&eacute; (et aux fichiers qu'il contient), comme pour la section <directive
988     module="core" type="section">Directory</directive>. Cependant, le
989     r&eacute;pertoire est pr&eacute;cis&eacute; sous la forme d'une <glossary
990     ref="regex">expression rationnelle</glossary>. Par exemple :</p>
991
992     <highlight language="config">
993 &lt;DirectoryMatch "^/www/(.+/)?[0-9]{3}"&gt;
994     # ...
995 &lt;/DirectoryMatch&gt;
996 </highlight>
997
998     <p>conviendrait pour les sous-r&eacute;pertoires de <code>/www/</code> dont
999     le nom se compose de trois chiffres.</p>
1000
1001     <note><title>Compatibilit&eacute;</title>
1002       Avant la version 2.3.9, cette directive s'appliquait aussi aux
1003       sous-r&eacute;pertoires (comme la directive <directive module="core"
1004       type="section">Directory</directive>), et ne tenait pas compte du
1005       symbole de fin de ligne ($). Depuis la version 2.3.9, seuls les
1006       r&eacute;pertoires qui correspondent &agrave; l'expression sont affect&eacute;s par les
1007       directives contenues dans la section.
1008     </note>
1009
1010     <note><title>slash de fin</title>
1011       Cette directive s'applique aux requ&ecirc;tes pour des r&eacute;pertoires avec
1012       ou sans slash de fin ; les expressions contenant un symbole de fin
1013       de ligne ($) doivent donc faire l'objet d'une attention
1014       particuli&egrave;re.
1015     </note>
1016
1017     <p>A partir de la version 2.4.8, les groupes nomm&eacute;s et les
1018     r&eacute;f&eacute;rences arri&egrave;res sont extraits et enregistr&eacute;s dans
1019     l'environnement avec leur nom en majuscules et pr&eacute;fix&eacute;
1020     par "MATCH_". Ceci permet
1021     de r&eacute;f&eacute;rencer des URLs dans des <a href="../expr.html">expressions</a>
1022     ou au sein de modules comme <module>mod_rewrite</module>. Pour
1023     &eacute;viter toute confusion, les r&eacute;f&eacute;rences arri&egrave;res num&eacute;rot&eacute;es (non
1024     nomm&eacute;es) sont ignor&eacute;es. Vous devez utiliser &agrave; la place des groupes
1025     nomm&eacute;s.</p>
1026
1027 <highlight language="config">
1028 &lt;DirectoryMatch ^/var/www/combined/(?&lt;sitename&gt;[^/]+)&gt;
1029     require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
1030 &lt;/DirectoryMatch&gt;
1031 </highlight>    
1032 </usage>
1033 <seealso><directive type="section" module="core">Directory</directive>
1034 pour une description de la mani&egrave;re dont les expressions rationnelles
1035 sont trait&eacute;es en pr&eacute;sence d'autres sections <directive
1036 type="section">Directory</directive> sans expressions rationnelles</seealso>
1037 <seealso><a
1038 href="../sections.html">Comment fonctionnent les sections
1039 &lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
1040 explication &agrave; propos de la mani&egrave;re dont ces diff&eacute;rentes sections se
1041 combinent entre elles &agrave; la r&eacute;ception d'une requ&ecirc;te</seealso>
1042 </directivesynopsis>
1043
1044 <directivesynopsis>
1045 <name>DocumentRoot</name>
1046 <description>Racine principale de l'arborescence des documents visible
1047 depuis Internet</description>
1048 <syntax>DocumentRoot <var>chemin r&eacute;pertoire</var></syntax>
1049 <default>DocumentRoot /usr/local/apache/htdocs</default>
1050 <contextlist><context>server config</context><context>virtual
1051 host</context>
1052 </contextlist>
1053
1054 <usage>
1055     <p>Cette directive permet de d&eacute;finir le r&eacute;pertoire &agrave; partir duquel
1056     <program>httpd</program> va servir les fichiers. S'il ne correspond
1057     pas &agrave; un <directive module="mod_alias">Alias</directive>, le chemin
1058     de l'URL sera ajout&eacute; par le serveur &agrave; la racine des documents afin
1059     de construire le chemin du document recherch&eacute;. Exemple :</p>
1060
1061     <highlight language="config">DocumentRoot "/usr/web"</highlight>
1062
1063     <p>un acc&egrave;s &agrave; <code>http://my.example.com/index.html</code> se
1064     r&eacute;f&egrave;re alors &agrave; <code>/usr/web/index.html</code>. Si <var>chemin
1065     r&eacute;pertoire</var> n'est pas un chemin absolu, il est consid&eacute;r&eacute; comme
1066     relatif au chemin d&eacute;fini par la directive <directive
1067     module="core">ServerRoot</directive>.</p>
1068
1069     <p>Le r&eacute;pertoire d&eacute;fini par la directive
1070     <directive>DocumentRoot</directive> ne doit pas comporter de slash
1071     final.</p>
1072 </usage>
1073 <seealso><a href="../urlmapping.html#documentroot">Mise en
1074 correspondance des URLs avec le syst&egrave;me de fichiers</a></seealso>
1075 </directivesynopsis>
1076
1077 <directivesynopsis type="section">
1078 <name>Else</name>
1079 <description>Contient des directives qui ne s'appliquent que si la
1080 condition correspondant &agrave; la section <directive type="section"
1081 module="core">If</directive> ou <directive type="section"
1082 module="core">ElseIf</directive> pr&eacute;c&eacute;dente n'est pas satisfaite par la
1083 requ&ecirc;te &agrave; l'ex&eacute;cution</description>
1084 <syntax>&lt;Else&gt; ... &lt;/Else&gt;</syntax>
1085 <contextlist><context>server config</context><context>virtual host</context>
1086 <context>directory</context><context>.htaccess</context>
1087 </contextlist>
1088 <override>All</override>
1089
1090 <usage>
1091     <p>La section <directive type="section">Else</directive> applique
1092     les directives qu'elle contient si et seulement si les conditions
1093     correspondant &agrave; la section <directive type="section">If</directive>
1094     ou <directive type="section">ElseIf</directive> imm&eacute;diatement
1095     sup&eacute;rieure et dans la m&ecirc;me port&eacute;e n'ont pas &eacute;t&eacute; satisfaites. Par
1096     exemple, dans :</p>
1097
1098     <highlight language="config">
1099 &lt;If "-z req('Host')"&gt;
1100   # ...
1101 &lt;/If&gt;
1102 &lt;Else&gt;
1103   # ...
1104 &lt;/Else&gt;
1105     </highlight>
1106
1107     <p>La condition de la section <directive
1108     type="section">If</directive> serait satisfaite pour les requ&ecirc;tes
1109     HTTP/1.0 sans en-t&ecirc;te <var>Host:</var>, alors que celle de la section
1110     <directive type="section">Else</directive> le serait pour les
1111     requ&ecirc;tes comportant un en-t&ecirc;te <var>Host:</var>.</p>
1112
1113 </usage>
1114 <seealso><directive type="section" module="core">If</directive></seealso>
1115 <seealso><directive type="section" module="core">ElseIf</directive></seealso>
1116 <seealso><a href="../sections.html">Fonctionnement des sections &lt;Directory&gt;, &lt;Location&gt;,
1117     &lt;Files&gt;</a> pour une explication de la mani&egrave;re dont ces
1118     diff&eacute;rentes section se combinent entre elles lorsqu'une requ&ecirc;te est
1119     re&ccedil;ue. Les directives <directive type="section">If</directive>,
1120     <directive type="section">ElseIf</directive>, et <directive
1121     type="section">Else</directive> s'appliquent en dernier.</seealso>
1122 </directivesynopsis>
1123
1124 <directivesynopsis type="section">
1125 <name>ElseIf</name>
1126 <description>Contient des directives qui ne s'appliquent que si la
1127 condition correspondante est satisfaite par une requ&ecirc;te &agrave; l'ex&eacute;cution,
1128 alors que la condition correspondant &agrave; la section <directive
1129 type="section" module="core">If</directive> ou <directive
1130 type="section">ElseIf</directive> pr&eacute;c&eacute;dente ne l'&eacute;tait pas.</description>
1131 <syntax>&lt;ElseIf <var>expression</var>&gt; ... &lt;/ElseIf&gt;</syntax>
1132 <contextlist><context>server config</context><context>virtual host</context>
1133 <context>directory</context><context>.htaccess</context>
1134 </contextlist>
1135 <override>All</override>
1136
1137 <usage>
1138     <p>La section <directive type="section">ElseIf</directive> applique
1139     les directives qu'elle contient si et seulement si d'une part la
1140     condition correspondante est satisfaite, et d'autre part la condition
1141     correspondant &agrave; la section <directive type="section">If</directive>
1142     ou <directive type="section">ElseIf</directive> de la m&ecirc;me port&eacute;e ne
1143     l'est pas. Par exemple, dans :</p>
1144
1145     <highlight language="config">
1146 &lt;If "-R '10.1.0.0/16'"&gt;
1147   #...
1148 &lt;/If&gt;
1149 &lt;ElseIf "-R '10.0.0.0/8'"&gt;
1150   #...
1151 &lt;/ElseIf&gt;
1152 &lt;Else&gt;
1153   #...
1154 &lt;/Else&gt;
1155     </highlight>
1156
1157     <p>La condition correspondant &agrave; la section <directive
1158     type="section">ElseIf</directive> est satisfaite si l'adresse
1159     distante de la requ&ecirc;te appartient au sous-r&eacute;seau 10.0.0.0/8, mais
1160     pas si elle appartient au sous-r&eacute;seau 10.1.0.0/16.</p>
1161
1162 </usage>
1163 <seealso><a href="../expr.html">Les expressions dans le serveur HTTP
1164 Apache</a>, pour une r&eacute;f&eacute;rence compl&egrave;te et d'autres exemples.</seealso>
1165 <seealso><directive type="section" module="core">If</directive></seealso>
1166 <seealso><directive type="section" module="core">Else</directive></seealso>
1167 <seealso><a href="../sections.html">Fonctionnement des sections &lt;Directory&gt;, &lt;Location&gt;,
1168     &lt;Files&gt;</a> pour une explication de la mani&egrave;re dont ces
1169     diff&eacute;rentes section se combinent entre elles lorsqu'une requ&ecirc;te est
1170     re&ccedil;ue. Les directives <directive type="section">If</directive>,
1171     <directive type="section">ElseIf</directive>, et <directive
1172     type="section">Else</directive> s'appliquent en dernier.</seealso>
1173 </directivesynopsis>
1174
1175 <directivesynopsis>
1176 <name>EnableMMAP</name>
1177 <description>Utilise la projection en m&eacute;moire (Memory-Mapping) pour
1178 lire les fichiers pendant qu'ils sont servis</description>
1179 <syntax>EnableMMAP On|Off</syntax>
1180 <default>EnableMMAP On</default>
1181 <contextlist><context>server config</context><context>virtual
1182 host</context>
1183 <context>directory</context><context>.htaccess</context>
1184 </contextlist>
1185 <override>FileInfo</override>
1186
1187 <usage>
1188     <p>Cette directive d&eacute;finit si <program>httpd</program> peut utiliser
1189     la projection en m&eacute;moire (Memory-Mapping) quand il doit lire le contenu
1190     d'un fichier pendant qu'il est servi. Par d&eacute;faut, lorsque le
1191     traitement d'une requ&ecirc;te requiert l'acc&egrave;s aux donn&eacute;es contenues dans
1192     un fichier -- par exemple, pour servir un fichier interpr&eacute;t&eacute; par le
1193     serveur &agrave; l'aide de <module>mod_include</module> -- Apache httpd projette
1194     le fichier en m&eacute;moire si le syst&egrave;me d'exploitation le permet.</p>
1195
1196     <p>Cette projection en m&eacute;moire induit parfois une am&eacute;lioration des
1197     performances. Sur certains syst&egrave;mes cependant, il est pr&eacute;f&eacute;rable de
1198     d&eacute;sactiver la projection en m&eacute;moire afin d'&eacute;viter certains probl&egrave;mes
1199     op&eacute;rationnels :</p>
1200
1201     <ul>
1202     <li>Sur certains syst&egrave;mes multi-processeurs, la projection en
1203     m&eacute;moire peut d&eacute;grader les performances du programme
1204     <program>httpd</program>.</li>
1205     <li>S'il fait l'objet d'une projection en m&eacute;moire par
1206     <program>httpd</program>, la suppression ou la troncature d'un
1207     fichier peut provoquer un crash de <program>httpd</program> avec une
1208     erreur de segmentation.</li>
1209     </ul>
1210
1211     <p>Pour les configurations de serveur sujettes &agrave; ce genre de
1212     probl&egrave;me, il est pr&eacute;f&eacute;rable de d&eacute;sactiver la projection en m&eacute;moire
1213     des fichiers servis en sp&eacute;cifiant :</p>
1214     
1215     <highlight language="config">EnableMMAP Off</highlight>
1216
1217     <p>Pour les montages NFS, cette fonctionnalit&eacute; peut &ecirc;tre
1218     explicitement d&eacute;sactiv&eacute;e pour les fichiers concern&eacute;s en sp&eacute;cifiant
1219     :</p>
1220
1221     <highlight language="config">
1222 &lt;Directory "/path-to-nfs-files"&gt;
1223   EnableMMAP Off
1224 &lt;/Directory&gt;
1225     </highlight>
1226 </usage>
1227 </directivesynopsis>
1228
1229 <directivesynopsis>
1230 <name>EnableSendfile</name>
1231 <description>Utilise le support sendfile du noyau pour servir les
1232 fichiers aux clients</description>
1233 <syntax>EnableSendfile On|Off</syntax>
1234 <default>EnableSendfile Off</default>
1235 <contextlist><context>server config</context><context>virtual
1236 host</context>
1237 <context>directory</context><context>.htaccess</context>
1238 </contextlist>
1239 <override>FileInfo</override>
1240 <compatibility>Par d&eacute;faut &agrave; Off depuis la version 2.3.9.</compatibility>
1241
1242 <usage>
1243     <p>Cette directive d&eacute;finit si le programme <program>httpd</program>
1244     peut utiliser le support sendfile du noyau pour transmettre le
1245     contenu des fichiers aux clients. Par d&eacute;faut, lorsque le traitement
1246     d'une requ&ecirc;te ne requiert pas l'acc&egrave;s aux donn&eacute;es contenues dans un
1247     fichier -- par exemple, pour la transmission d'un fichier statique
1248     -- Apache httpd utilise sendfile pour transmettre le contenu du fichier
1249     sans m&ecirc;me lire ce dernier, si le syst&egrave;me d'exploitation le
1250     permet.</p>
1251
1252     <p>Ce m&eacute;canisme sendfile &eacute;vite la s&eacute;paration des op&eacute;rations de
1253     lecture et d'envoi, ainsi que les r&eacute;servations de tampons. sur
1254     certains syst&egrave;mes cependant, ou sous certains syst&egrave;mes de fichiers,
1255     il est pr&eacute;f&eacute;rable de d&eacute;sactiver cette fonctionnalit&eacute; afin d'&eacute;viter
1256     certains probl&egrave;mes op&eacute;rationnels :</p>
1257
1258     <ul>
1259     <li>Certains syst&egrave;mes peuvent pr&eacute;senter un support sendfile
1260     d&eacute;fectueux que le syst&egrave;me de compilation n'a pas d&eacute;tect&eacute;, en
1261     particulier si les ex&eacute;cutables ont &eacute;t&eacute; compil&eacute;s sur une autre
1262     machine, puis copi&eacute;s sur la premi&egrave;re avec un support sendfile
1263     d&eacute;fectueux.</li>
1264     <li>Sous Linux, l'utilisation de sendfile induit des bogues lors de
1265     la r&eacute;cup&eacute;ration des paquets de v&eacute;rification TCP (TCP-checksum) avec
1266     certaines cartes r&eacute;seau lorsqu'on utilise IPv6.</li>
1267     <li>Sous Linux sur Itanium, <code>sendfile</code> peut s'av&eacute;rer incapable de
1268     traiter les fichiers de plus de 2 Go.</li>
1269     <li>Avec un montage r&eacute;seau de <directive
1270     module="core">DocumentRoot</directive> (par exemple NFS, SMB, CIFS,
1271     FUSE), le
1272     noyau peut s'av&eacute;rer incapable de servir un fichier de ce montage
1273     r&eacute;seau en passant par son propre cache.</li>
1274     </ul>
1275
1276     <p>Pour les configurations de serveur non sujettes &agrave; ce genre de
1277     probl&egrave;me, vous pouvez activer cette fonctionnalit&eacute; en
1278     sp&eacute;cifiant :</p>
1279
1280     <highlight language="config">EnableSendfile On</highlight>
1281
1282     <p>Pour les montages r&eacute;seau, cette fonctionnalit&eacute; peut &ecirc;tre
1283     explicitement d&eacute;sactiv&eacute;e pour les fichiers concern&eacute;s en sp&eacute;cifiant
1284     :</p>
1285
1286     <highlight language="config">
1287 &lt;Directory "/path-to-nfs-files"&gt;
1288   EnableSendfile Off
1289 &lt;/Directory&gt;
1290     </highlight>
1291     <p>Veuillez noter que la configuration de la directive
1292     <directive>EnableSendfile</directive> dans un contexte de r&eacute;pertoire
1293     ou de fichier .htaccess n'est pas support&eacute;e par
1294     <module>mod_cache_disk</module>. Le module ne prend en compte la
1295     d&eacute;finition de <directive>EnableSendfile</directive> que dans un
1296     contexte global.
1297     </p>
1298 </usage>
1299 </directivesynopsis>
1300
1301 <directivesynopsis>
1302 <name>Error</name>
1303 <description>Interrompt la lecture de la configuration avec un message
1304 d'erreur personnalis&eacute;</description>
1305 <syntax>Error <var>message</var></syntax>
1306 <contextlist><context>server config</context><context>virtual host</context>
1307 <context>directory</context><context>.htaccess</context>
1308 </contextlist>
1309 <compatibility>&agrave; partir de la version 2.3.9</compatibility>
1310
1311 <usage>
1312     <p>Si une erreur peut &ecirc;tre d&eacute;tect&eacute;e dans la configuration, souvent
1313     un module manquant, cette
1314     directive peut &ecirc;tre utilis&eacute;e pour g&eacute;n&eacute;rer un message d'erreur
1315     personnalis&eacute;, et interrompre la lecture de la configuration. </p>
1316
1317     <highlight language="config">
1318 # Exemple
1319 # v&eacute;rification du chargement de mod_include
1320 &lt;IfModule !include_module&gt;
1321   Error "mod_include is required by mod_foo.  Load it with LoadModule."
1322 &lt;/IfModule&gt;
1323
1324 # v&eacute;rification de la d&eacute;finition de SSL ou (exclusif) NOSSL
1325 &lt;IfDefine SSL&gt;
1326 &lt;IfDefine NOSSL&gt;
1327   Error "Both SSL and NOSSL are defined.  Define only one of them."
1328 &lt;/IfDefine&gt;
1329 &lt;/IfDefine&gt;
1330 &lt;IfDefine !SSL&gt;
1331 &lt;IfDefine !NOSSL&gt;
1332   Error "Either SSL or NOSSL must be defined."
1333 &lt;/IfDefine&gt;
1334 &lt;/IfDefine&gt;
1335     </highlight>
1336
1337 </usage>
1338 </directivesynopsis>
1339
1340 <directivesynopsis>
1341 <name>ErrorDocument</name>
1342 <description>Document que le serveur renvoie au client en cas
1343 d'erreur</description>
1344 <syntax>ErrorDocument <var>code erreur</var> <var>document</var></syntax>
1345 <contextlist><context>server config</context><context>virtual
1346 host</context>
1347 <context>directory</context><context>.htaccess</context>
1348 </contextlist>
1349 <override>FileInfo</override>
1350
1351 <usage>
1352     <p>Apache httpd peut traiter les probl&egrave;mes et les erreurs de quatre
1353     mani&egrave;res,</p>
1354
1355     <ol>
1356       <li>afficher un simple message d'erreur au contenu fixe</li>
1357
1358       <li>afficher un message personnalis&eacute;</li>
1359
1360       <li>rediriger en interne vers un <var>chemin d'URL</var> local pour traiter
1361       le probl&egrave;me ou l'erreur</li>
1362
1363       <li>rediriger vers une <var>URL</var> externe pour traiter
1364       le probl&egrave;me ou l'erreur</li>
1365     </ol>
1366
1367     <p>La premi&egrave;re option constitue le comportement par d&eacute;faut; pour
1368     choisir une des trois autres options, il faut configurer Apache &agrave;
1369     l'aide de la directive <directive>ErrorDocument</directive>, suivie
1370     du code de la r&eacute;ponse HTTP et d'une URL ou d'un message. Apache
1371     httpd fournit parfois des informations suppl&eacute;mentaires &agrave; propos du
1372     probl&egrave;me ou de l'erreur.</p>
1373
1374     <p>Les URLs peuvent commencer par un slash (/) pour les chemins web
1375     locaux (relatifs au r&eacute;pertoire d&eacute;fini par la directive <directive
1376     module="core">DocumentRoot</directive>), ou se pr&eacute;senter sous la
1377     forme d'une URL compl&egrave;te que le client pourra r&eacute;soudre.
1378     Alternativement, un message &agrave; afficher par le navigateur pourra &ecirc;tre
1379     fourni. Exemples :</p>
1380
1381     <highlight language="config">
1382 ErrorDocument 500 http://foo.example.com/cgi-bin/tester
1383 ErrorDocument 404 /cgi-bin/bad_urls.pl
1384 ErrorDocument 401 /subscription_info.html
1385 ErrorDocument 403 "Sorry can't allow you access today"
1386 ErrorDocument 403 Forbidden!
1387     </highlight>
1388
1389     <p>De plus, on peut sp&eacute;cifier la valeur sp&eacute;ciale <code>default</code>
1390     pour indiquer l'utilisation d'un simple message d'Apache httpd cod&eacute; en
1391     dur. Bien que non n&eacute;cessaire dans des circonstances normales, la
1392     sp&eacute;cification de la valeur <code>default</code> va permettre de
1393     r&eacute;tablir l'utilisation du simple message d'Apache httpd cod&eacute; en dur pour
1394     les configurations qui sans cela, h&eacute;riteraient d'une directive
1395     <directive>ErrorDocument</directive> existante.</p>
1396
1397     <highlight language="config">
1398 ErrorDocument 404 /cgi-bin/bad_urls.pl
1399
1400 &lt;Directory /web/docs&gt;
1401   ErrorDocument 404 default
1402 &lt;/Directory&gt;
1403     </highlight>
1404
1405     <p>Notez que lorsque vous sp&eacute;cifiez une directive
1406     <directive>ErrorDocument</directive> pointant vers une URL distante
1407     (c'est &agrave; dire tout ce qui commence par le pr&eacute;fixe http), le serveur
1408     HTTP Apache va
1409     envoyer une redirection au client afin de lui indiquer o&ugrave; trouver le
1410     document, m&ecirc;me dans le cas o&ugrave; ce document se trouve sur le serveur
1411     local. Ceci a de nombreuses cons&eacute;quences dont la plus importante
1412     r&eacute;side dans le fait que le client ne recevra pas le code d'erreur
1413     original, mais au contraire un code de statut de redirection. Ceci
1414     peut en retour semer la confusion chez les robots web et divers
1415     clients qui tentent de d&eacute;terminer la validit&eacute; d'une URL en examinant
1416     le code de statut. De plus, si vous utilisez une URL distante avec
1417     <code>ErrorDocument 401</code>, le client ne saura pas qu'il doit
1418     demander un mot de passe &agrave; l'utilisateur car il ne recevra pas le
1419     code de statut 401. C'est pourquoi, <strong>si vous utilisez une
1420     directive <code>ErrorDocument 401</code>, elle devra faire r&eacute;f&eacute;rence
1421     &agrave; un document par le biais d'un chemin local.</strong></p>
1422
1423     <p>Microsoft Internet Explorer (MSIE) ignore par d&eacute;faut les messages
1424     d'erreur g&eacute;n&eacute;r&eacute;s par le serveur lorsqu'ils sont trop courts et
1425     remplacent ses propres messages d'erreur "amicaux". Le seuil de
1426     taille varie en fonction du type d'erreur, mais en g&eacute;n&eacute;ral, si la
1427     taille de votre message d'erreur est sup&eacute;rieure &agrave; 512 octets, il y a
1428     peu de chances pour que MSIE l'occulte, et il sera affich&eacute; par ce
1429     dernier. Vous trouverez d'avantage d'informations dans l'article de
1430     la base de connaissances Microsoft <a
1431     href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807"
1432     >Q294807</a>.</p>
1433
1434     <p>Bien que la plupart des messages d'erreur internes originaux
1435     puissent &ecirc;tre remplac&eacute;s, ceux-ci sont cependant conserv&eacute;s dans
1436     certaines circonstances sans tenir compte de la d&eacute;finition de la
1437     directive <directive module="core">ErrorDocument</directive>. En
1438     particulier, en cas de d&eacute;tection d'une requ&ecirc;te mal form&eacute;e, le
1439     processus de traitement normal des requ&ecirc;tes est imm&eacute;diatement
1440     interrompu, et un message d'erreur interne est renvoy&eacute;, ceci afin de
1441     se pr&eacute;munir contre les probl&egrave;mes de s&eacute;curit&eacute; li&eacute;s aux requ&ecirc;tes mal
1442     form&eacute;es.</p>
1443
1444     <p>Si vous utilisez mod_proxy, il est en g&eacute;n&eacute;ral pr&eacute;f&eacute;rable
1445     d'activer <directive
1446     module="mod_proxy">ProxyErrorOverride</directive> afin d'&ecirc;tre en
1447     mesure de produire des messages d'erreur personnalis&eacute;s pour le
1448     compte de votre serveur d'origine. Si vous n'activez pas
1449     ProxyErrorOverride, Apache httpd ne g&eacute;n&eacute;rera pas de messages d'erreur
1450     personnalis&eacute;s pour le contenu mandat&eacute;.</p>
1451
1452 </usage>
1453
1454 <seealso><a href="../custom-error.html">documentation sur la
1455 personnalisation des r&eacute;ponses</a></seealso>
1456 </directivesynopsis>
1457
1458 <directivesynopsis>
1459 <name>ErrorLog</name>
1460 <description>D&eacute;finition du chemin du journal des erreurs</description>
1461 <syntax> ErrorLog <var>chemin fichier</var>|syslog[:<var>facility</var>]</syntax>
1462 <default>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</default>
1463 <contextlist><context>server config</context><context>virtual
1464 host</context>
1465 </contextlist>
1466
1467 <usage>
1468     <p>La directive <directive>ErrorLog</directive> permet de d&eacute;finir le
1469     nom du fichier dans lequel le serveur va journaliser toutes les
1470     erreurs qu'il rencontre. Si le <var>chemin fichier</var> n'est pas
1471     absolu, il est consid&eacute;r&eacute; comme relatif au chemin d&eacute;fini par la
1472     directive <directive module="core">ServerRoot</directive>.</p>
1473
1474     <highlight language="config">ErrorLog "/var/log/httpd/error_log"</highlight>
1475
1476     <p>Si le <var>chemin fichier</var> commence par une barre verticale
1477     "<code>(|)</code>", il est consid&eacute;r&eacute; comme une commande &agrave; lancer pour traiter la
1478     journalisation de l'erreur.</p>
1479
1480     <highlight language="config">ErrorLog "|/usr/local/bin/httpd_errors"</highlight>
1481
1482     <p>Voir les notes &agrave; propos des <a href="../logs.html#piped">journaux
1483     redirig&eacute;s</a> pour plus d'informations.</p>
1484
1485     <p>L'utilisation de <code>syslog</code> &agrave; la place d'un nom de
1486     fichier active la journalisation via syslogd(8) si le syst&egrave;me le
1487     supporte et si <module>mod_syslog</module> a &eacute;t&eacute; charg&eacute;. Le
1488     dispositif syslog par d&eacute;faut est <code>local7</code>,
1489     mais vous pouvez le modifier &agrave; l'aide de la syntaxe
1490     <code>syslog:<var>facility</var></code>, o&ugrave; <var>facility</var> peut
1491     &ecirc;tre remplac&eacute; par un des noms habituellement document&eacute;s dans la page
1492     de man syslog(1). Le dispositif syslog <code>local7</code> est
1493     global, et si il est modifi&eacute; dans un serveur virtuel, le dispositif
1494     final sp&eacute;cifi&eacute; affecte l'ensemble du serveur</p>
1495
1496     <highlight language="config">ErrorLog syslog:user</highlight>
1497
1498     <p>Des modules additionnels peuvent impl&eacute;menter leur propre
1499     fournisseur ErrorLog. La syntaxe est similaire &agrave; l'exemple
1500     <code>syslog</code> ci-dessus.</p>
1501
1502     <p>SECURITE : Voir le document <a
1503     href="../misc/security_tips.html#serverroot">conseils &agrave; propos de
1504     s&eacute;curit&eacute;</a> pour des d&eacute;tails sur les raisons pour lesquelles votre
1505     s&eacute;curit&eacute; peut &ecirc;tre compromise si le r&eacute;pertoire contenant les
1506     fichiers journaux pr&eacute;sente des droits en &eacute;criture pour tout autre
1507     utilisateur que celui sous lequel le serveur est d&eacute;marr&eacute;.</p>
1508     <note type="warning"><title>Note</title>
1509       <p>Lors de la sp&eacute;cification d'un chemin de fichier sur les
1510       plates-formes non-Unix, on doit veiller &agrave; n'utiliser que des
1511       slashes (/), m&ecirc;me si la plate-forme autorise l'utilisation des
1512       anti-slashes (\). Et d'une mani&egrave;re g&eacute;n&eacute;rale, il est recommand&eacute; de
1513       n'utiliser que des slashes (/) dans les fichiers de
1514       configuration.</p>
1515     </note>
1516 </usage>
1517 <seealso><directive module="core">LogLevel</directive></seealso>
1518 <seealso><a href="../logs.html">Fichiers journaux du serveur HTTP Apache</a></seealso>
1519 </directivesynopsis>
1520
1521 <directivesynopsis>
1522 <name>ErrorLogFormat</name>
1523 <description>Sp&eacute;cification du format des entr&eacute;es du journal des erreurs</description>
1524 <syntax> ErrorLogFormat [connection|request] <var>format</var></syntax>
1525 <contextlist><context>server config</context><context>virtual host</context>
1526 </contextlist>
1527
1528 <usage>
1529     <p>La directive <directive>ErrorLogFormat</directive> permet de
1530     sp&eacute;cifier quelles informations suppl&eacute;mentaires vont &ecirc;tre enregistr&eacute;es
1531     dans le journal des erreurs en plus du message habituel.</p>
1532
1533     <highlight language="config">
1534 # Exemple simple
1535 ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
1536     </highlight>
1537
1538     <p>La sp&eacute;cification de <code>connection</code> ou
1539     <code>request</code> comme premier param&egrave;tre permet de d&eacute;finir des
1540     formats suppl&eacute;mentaires, ce qui a pour effet de journaliser des
1541     informations additionnelles lorsque le premier message est
1542     enregistr&eacute; respectivement pour une connexion ou une requ&ecirc;te
1543     sp&eacute;cifique. Ces informations additionnelles ne sont enregistr&eacute;es
1544     qu'une seule fois par connexion/requ&ecirc;te. Si le traitement d'une
1545     connexion ou d'une requ&ecirc;te ne g&eacute;n&egrave;re aucun message dans le journal,
1546     alors aucune information additionnelle n'est enregistr&eacute;e.</p>
1547
1548     <p>Il peut arriver que certains items de la cha&icirc;ne de format ne
1549     produisent aucune sortie. Par exemple, l'en-t&ecirc;te Referer n'est
1550     pr&eacute;sent que si le message du journal est associ&eacute; &agrave; une requ&ecirc;te et s'il
1551     est g&eacute;n&eacute;r&eacute; &agrave; un moment o&ugrave; l'en-t&ecirc;te Referer a d&eacute;j&agrave; &eacute;t&eacute; lu par le
1552     client. Si aucune sortie n'est g&eacute;n&eacute;r&eacute;e, le comportement par d&eacute;faut
1553     consiste &agrave; supprimer tout ce qui se trouve entre l'espace pr&eacute;c&eacute;dent
1554     et le suivant. Ceci implique que la ligne de journalisation est
1555     divis&eacute;e en champs ne contenant pas d'espace s&eacute;par&eacute;s par des espaces.
1556     Si un item de la cha&icirc;ne de format ne g&eacute;n&egrave;re aucune sortie,
1557     l'ensemble du champ est omis. Par exemple, si l'adresse distante
1558     <code>%a</code> du format <code>[%t] [%l] [%a] %M&nbsp;</code> n'est
1559     pas disponible, les crochets qui l'entourent ne seront eux-m&ecirc;mes pas
1560     enregistr&eacute;s. Il est possible d'&eacute;chapper les espaces par un anti-slash
1561     afin qu'ils ne soient pas consid&eacute;r&eacute;s comme s&eacute;parateurs de champs.
1562     La combinaison '%&nbsp;' (pourcentage espace) est un d&eacute;limiteur de
1563     champ de taille nulle qui ne g&eacute;n&egrave;re aucune sortie.</p>
1564
1565     <p>Ce comportement peut &ecirc;tre chang&eacute; en ajoutant des modificateurs &agrave;
1566     l'item de la cha&icirc;ne de format. Le modificateur <code>-</code>
1567     (moins) provoque l'enregistrement d'un signe moins si l'item
1568     consid&eacute;r&eacute; ne g&eacute;n&egrave;re aucune sortie. Pour les formats &agrave; enregistrement
1569     unique par connexion/requ&ecirc;te, il est aussi possible d'utiliser le
1570     modificateur <code>+</code> (plus). Si un item ne g&eacute;n&eacute;rant aucune
1571     sortie poss&egrave;de le modificateur plus, la ligne dans son ensemble est
1572     omise.</p>
1573
1574     <p>Un modificateur de type entier permet d'assigner un niveau de
1575     s&eacute;v&eacute;rit&eacute; &agrave; un item de format. L'item consid&eacute;r&eacute; ne
1576     sera journalis&eacute; que si la s&eacute;v&eacute;rit&eacute; du message n'est pas
1577     plus haute que le niveau de s&eacute;v&eacute;rit&eacute; sp&eacute;cifi&eacute;. Les
1578     valeurs possibles vont de 1 (alert) &agrave; 15 (trace8), en passant par 4
1579     (warn) ou 7 (debug).</p>
1580
1581     <p>Par exemple, voici ce qui arriverait si vous ajoutiez des
1582     modificateurs &agrave; l'item <code>%{Referer}i</code> qui enregistre le
1583     contenu de l'en-t&ecirc;te <code>Referer</code>.</p>
1584
1585     <table border="1" style="zebra">
1586     <columnspec><column width=".3"/><column width=".7"/></columnspec>
1587
1588     <tr><th>Item modifi&eacute;</th><th>Signification</th></tr>
1589
1590     <tr>
1591     <td><code>%-{Referer}i</code></td>
1592     <td>Enregistre le caract&egrave;re <code>-</code> si l'en-t&ecirc;te
1593     <code>Referer</code> n'est pas d&eacute;fini.</td>
1594     </tr>
1595
1596     <tr>
1597     <td><code>%+{Referer}i</code></td>
1598     <td>N'enregistre rien si l'en-t&ecirc;te
1599     <code>Referer</code> n'est pas d&eacute;fini.</td>
1600     </tr>
1601
1602     <tr>
1603     <td><code>%4{Referer}i</code></td>
1604     <td>N'enregistre le contenu de l'en-t&ecirc;te <code>Referer</code> que si
1605     la s&eacute;v&eacute;rit&eacute; du message de journalisation est sup&eacute;rieure &agrave; 4.</td>
1606     </tr>
1607
1608     </table>
1609
1610     <p>Certains items de format acceptent des param&egrave;tres suppl&eacute;mentaires
1611     entre accolades.</p>
1612
1613     <table border="1" style="zebra">
1614     <columnspec><column width=".2"/><column width=".8"/></columnspec>
1615
1616     <tr><th>Cha&icirc;ne&nbsp;de&nbsp;format</th> <th>Description</th></tr>
1617
1618     <tr><td><code>%%</code></td>
1619         <td>Le signe pourcentage</td></tr>
1620
1621     <tr><td><code>%a</code></td>
1622         <td>Adresse IP et port clients</td></tr>
1623
1624     <tr><td><code>%{c}a</code></td>
1625         <td>Port et adresse IP sous-jacents du correspondant pour la
1626         connexion (voir le module
1627         <module>mod_remoteip</module>)</td></tr>
1628
1629     <tr><td><code>%A</code></td>
1630         <td>Adresse IP et port locaux</td></tr>
1631
1632     <tr><td><code>%{<em>name</em>}e</code></td>
1633         <td>Variable d'environnement de requ&ecirc;te <em>name</em></td></tr>
1634
1635     <tr><td><code>%E</code></td>
1636         <td>Etat d'erreur APR/OS et cha&icirc;ne</td></tr>
1637
1638     <tr><td><code>%F</code></td>
1639         <td>Nom du fichier source et num&eacute;ro de ligne de l'appel du
1640         journal</td></tr>
1641
1642     <tr><td><code>%{<em>name</em>}i</code></td>
1643         <td>En-t&ecirc;te de requ&ecirc;te <em>name</em></td></tr>
1644
1645     <tr><td><code>%k</code></td>
1646         <td>Nombre de requ&ecirc;tes persistantes pour cette connexion</td></tr>
1647
1648     <tr><td><code>%l</code></td>
1649         <td>S&eacute;v&eacute;rit&eacute; du message</td></tr>
1650
1651     <tr><td><code>%L</code></td>
1652         <td>Identifiant journal de la requ&ecirc;te</td></tr>
1653
1654     <tr><td><code>%{c}L</code></td>
1655         <td>Identifiant journal de la connexion</td></tr>
1656
1657     <tr><td><code>%{C}L</code></td>
1658         <td>Identifiant journal de la connexion si utilis&eacute; dans la
1659         port&eacute;e de la connexion, vide sinon</td></tr>
1660
1661     <tr><td><code>%m</code></td>
1662         <td>Nom du module qui effectue la journalisation du message</td></tr>
1663
1664     <tr><td><code>%M</code></td>
1665         <td>Le message effectif</td></tr>
1666
1667     <tr><td><code>%{<em>name</em>}n</code></td>
1668         <td>Note de requ&ecirc;te <em>name</em></td></tr>
1669
1670     <tr><td><code>%P</code></td>
1671         <td>Identifiant du processus courant</td></tr>
1672
1673     <tr><td><code>%T</code></td>
1674         <td>Identifiant du thread courant</td></tr>
1675
1676     <tr><td><code>%{g}T</code></td>
1677         <td>Identifiant unique de thread syst&egrave;me du thread courant
1678         (l'identifiant affich&eacute; par la commande <code>top</code> par
1679         exemple ; seulement sous Linux pour l'instant)</td></tr>
1680
1681     <tr><td><code>%t</code></td>
1682         <td>L'heure courante</td></tr>
1683
1684     <tr><td><code>%{u}t</code></td>
1685         <td>L'heure courante avec les microsecondes</td></tr>
1686
1687     <tr><td><code>%{cu}t</code></td>
1688         <td>L'heure courante au format compact ISO 8601, avec les
1689         microsecondes</td></tr>
1690
1691     <tr><td><code>%v</code></td>
1692         <td>Le nom de serveur canonique <directive
1693         module="core">ServerName</directive> du serveur courant.</td></tr>
1694
1695     <tr><td><code>%V</code></td>
1696         <td>Le nom de serveur du serveur qui sert la requ&ecirc;te en accord
1697         avec la d&eacute;finition de la directive <directive module="core"
1698         >UseCanonicalName</directive>.</td></tr>
1699
1700     <tr><td><code>\&nbsp;</code> (anti-slash espace)</td>
1701         <td>Espace non d&eacute;limiteur</td></tr>
1702
1703     <tr><td><code>%&nbsp;</code> (pourcentage espace)</td>
1704         <td>D&eacute;limiteur de champ (aucune sortie)</td></tr>
1705     </table>
1706
1707     <p>L'item de format identifiant journal <code>%L</code> g&eacute;n&egrave;re un
1708     identifiant unique pour une connexion ou une requ&ecirc;te. Il peut servir
1709     &agrave; d&eacute;terminer quelles lignes correspondent &agrave; la m&ecirc;me connexion ou
1710     requ&ecirc;te ou quelle requ&ecirc;te est associ&eacute;e &agrave; tel connexion. Un item de
1711     format <code>%L</code> est aussi disponible dans le module
1712     <module>mod_log_config</module>, mais il permet dans ce contexte de
1713     corr&eacute;ler les entr&eacute;es du journal des acc&egrave;s avec celles du journal des
1714     erreurs. Si le module <module>mod_unique_id</module> est charg&eacute;,
1715     c'est son identifiant unique qui sera utilis&eacute; comme identifiant de
1716     journal pour les requ&ecirc;tes.</p>
1717
1718     <highlight language="config">
1719 # Exemple (format par d&eacute;faut pour les MPMs thread&eacute;s)
1720 ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M%&nbsp;,\&nbsp;referer\&nbsp;%{Referer}i"
1721     </highlight>
1722
1723     <p>Cet exemple renverrait un message d'erreur du style :</p>
1724
1725     <example>
1726     [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
1727     </example>
1728
1729     <p>Notez que, comme indiqu&eacute; plus haut, certains champs sont
1730     totalement supprim&eacute;s s'ils n'ont pas &eacute;t&eacute; d&eacute;finis.</p>
1731
1732     <highlight language="config">
1733 # Exemple (similaire au format 2.2.x)
1734 ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M%&nbsp;,\&nbsp;referer\&nbsp;%{Referer}i"
1735     </highlight>
1736
1737     <highlight language="config">
1738 # Exemple avanc&eacute; avec identifiants journal de requ&ecirc;te/connexion
1739 ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"
1740 ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"
1741 ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"
1742 ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"
1743 ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"
1744     </highlight>
1745
1746 </usage>
1747 <seealso><directive module="core">ErrorLog</directive></seealso>
1748 <seealso><directive module="core">LogLevel</directive></seealso>
1749 <seealso><a href="../logs.html">Fichiers journaux du serveur HTTP Apache</a></seealso>
1750 </directivesynopsis>
1751
1752 <directivesynopsis>
1753 <name>ExtendedStatus</name>
1754 <description>Extrait des informations d'&eacute;tat &eacute;tendues pour chaque
1755 requ&ecirc;te</description>
1756 <syntax>ExtendedStatus On|Off</syntax>
1757 <default>ExtendedStatus Off</default>
1758 <contextlist><context>server config</context></contextlist>
1759
1760 <usage>
1761
1762         <p>Cette option permet d'extraire des donn&eacute;es suppl&eacute;mentaires
1763         concernant la requ&ecirc;te en cours de traitement pour un processus
1764         donn&eacute;, ainsi qu'un r&eacute;sum&eacute; d'utilisation ; vous pouvez acc&eacute;der &agrave;
1765         ces variables pendant l'ex&eacute;cution en configurant
1766         <module>mod_status</module>. Notez que d'autres modules sont
1767         susceptibles de s'appuyer sur ce tableau de bord.</p>
1768
1769     <p>Cette directive s'applique au serveur dans son ensemble, et ne
1770     peut pas &ecirc;tre activ&eacute;e/d&eacute;sactiv&eacute;e pour un serveur virtuel
1771     particulier. Notez que l'extraction des informations d'&eacute;tat &eacute;tendues
1772     peut ralentir le serveur. Notez aussi que cette d&eacute;finition ne peut
1773     pas &ecirc;tre modifi&eacute;e au cours d'un red&eacute;marrage graceful.</p>
1774
1775     <note>
1776     <p>Notez que le chargement de <module>mod_status</module> d&eacute;finit
1777     automatiquement ExtendedStatus &agrave; On, et que d'autres modules tiers
1778     sont susceptibles d'en faire de m&ecirc;me. De tels modules ont besoin
1779     d'informations d&eacute;taill&eacute;es &agrave; propos de l'&eacute;tat de tous les processus.
1780     Depuis la version 2.3.6, <module>mod_status</module> a d&eacute;finit la
1781     valeur par d&eacute;faut &agrave; On, alors qu'elle &eacute;tait &agrave; Off dans les versions
1782     ant&eacute;rieures.</p>
1783     </note>
1784
1785 </usage>
1786
1787 </directivesynopsis>
1788
1789 <directivesynopsis>
1790 <name>FileETag</name>
1791 <description>Caract&eacute;ristiques de fichier utilis&eacute;es lors de la g&eacute;n&eacute;ration
1792 de l'en-t&ecirc;te de r&eacute;ponse HTTP ETag pour les fichiers statiques</description>
1793 <syntax>FileETag <var>composant</var> ...</syntax>
1794 <default>FileETag MTime Size</default>
1795 <contextlist><context>server config</context><context>virtual
1796 host</context>
1797 <context>directory</context><context>.htaccess</context>
1798 </contextlist>
1799 <override>FileInfo</override>
1800 <compatibility>La valeur par d&eacute;faut &eacute;tait "INode&nbsp;MTime&nbsp;Size"
1801 dans les versions 2.3.14 et ant&eacute;rieures.</compatibility>
1802
1803 <usage>
1804     <p>
1805     La directive <directive>FileETag</directive> d&eacute;finit les
1806     caract&eacute;ristiques de fichier utilis&eacute;es lors de la g&eacute;n&eacute;ration de
1807     l'en-t&ecirc;te de r&eacute;ponse HTTP <code>ETag</code> (entity tag) quand le
1808     document est contenu dans un fichier statique(la valeur de
1809     <code>ETag</code>
1810     est utilis&eacute;e dans le cadre de la gestion du cache pour pr&eacute;server la
1811     bande passante r&eacute;seau). La directive
1812     <directive>FileETag</directive> vous permet maintenant de choisir
1813     quelles caract&eacute;ristiques du fichier vont &ecirc;tre utilis&eacute;es, le cas
1814     &eacute;ch&eacute;ant. Les mots-cl&eacute;s reconnus sont :
1815     </p>
1816
1817     <dl>
1818      <dt><strong>INode</strong></dt>
1819      <dd>Le num&eacute;ro d'i-node du fichier sera inclus dans le processus de
1820      g&eacute;n&eacute;ration</dd>
1821      <dt><strong>MTime</strong></dt>
1822      <dd>La date et l'heure auxquelles le fichier a &eacute;t&eacute; modifi&eacute; la
1823      derni&egrave;re fois seront incluses</dd>
1824      <dt><strong>Size</strong></dt>
1825      <dd>La taille du fichier en octets sera incluse</dd>
1826      <dt><strong>All</strong></dt>
1827      <dd>Tous les champs disponibles seront utilis&eacute;s. Cette d&eacute;finition
1828      est &eacute;quivalente &agrave; : 
1829      <highlight language="config">FileETag INode MTime Size</highlight></dd>
1830      <dt><strong>None</strong></dt>
1831      <dd>Si le document se compose d'un fichier, aucun champ
1832      <code>ETag</code> ne sera inclus dans la r&eacute;ponse</dd>
1833     </dl>
1834
1835     <p>Les mots-cl&eacute;s <code>INode</code>, <code>MTime</code>, et
1836     <code>Size</code> peuvent &ecirc;tre pr&eacute;fix&eacute;s par <code>+</code> ou
1837     <code>-</code>, ce qui permet de modifier les valeurs par d&eacute;faut
1838     h&eacute;rit&eacute;es d'un niveau de configuration plus g&eacute;n&eacute;ral. Tout mot-cl&eacute;
1839     apparaissant sans aucun pr&eacute;fixe annule enti&egrave;rement et imm&eacute;diatement
1840     les configurations h&eacute;rit&eacute;es.</p>
1841
1842     <p>Si la configuration d'un r&eacute;pertoire contient
1843     <code>FileETag&nbsp;INode&nbsp;MTime&nbsp;Size</code>, et si un de
1844     ses sous-r&eacute;pertoires contient <code>FileETag&nbsp;-INode</code>, la
1845     configuration de ce sous-r&eacute;pertoire (qui sera propag&eacute;e vers tout
1846     sous-r&eacute;pertoire qui ne la supplante pas), sera &eacute;quivalente &agrave;
1847     <code>FileETag&nbsp;MTime&nbsp;Size</code>.</p>
1848     <note type="warning"><title>Avertissement</title>
1849     Ne modifiez pas les valeurs par d&eacute;faut pour les r&eacute;pertoires ou
1850     localisations o&ugrave; WebDAV est activ&eacute; et qui utilisent
1851     <module>mod_dav_fs</module> comme fournisseur de stockage.
1852     <module>mod_dav_fs</module> utilise
1853     <code>MTime&nbsp;Size</code> comme format fixe pour les
1854     comparaisons de champs <code>ETag</code> dans les requ&ecirc;tes
1855     conditionnelles. Ces requ&ecirc;tes conditionnelles &eacute;choueront si le
1856     format <code>ETag</code> est modifi&eacute; via la directive
1857     <directive>FileETag</directive>.
1858     </note>
1859     <note><title>Inclusions c&ocirc;t&eacute; serveur</title>
1860     Aucun champ ETag n'est g&eacute;n&eacute;r&eacute; pour les r&eacute;ponses interpr&eacute;t&eacute;es par
1861     <module>mod_include</module>, car l'entit&eacute; de la r&eacute;ponse peut
1862     changer sans modification de l'INode, du MTime, ou de la taille du
1863     fichier statique contenant les directives SSI.
1864     </note>
1865
1866
1867 </usage>
1868 </directivesynopsis>
1869
1870 <directivesynopsis type="section">
1871 <name>Files</name>
1872 <description>Contient des directives qui s'appliquent aux fichiers
1873 pr&eacute;cis&eacute;s</description>
1874 <syntax>&lt;Files <var>nom fichier</var>&gt; ... &lt;/Files&gt;</syntax>
1875 <contextlist><context>server config</context><context>virtual
1876 host</context>
1877 <context>directory</context><context>.htaccess</context>
1878 </contextlist>
1879 <override>All</override>
1880
1881 <usage>
1882     <p>La directive <directive type="section">Files</directive> limite
1883     la port&eacute;e des directives qu'elle contient aux fichiers pr&eacute;cis&eacute;s.
1884     Elle est comparable aux directives <directive module="core"
1885     type="section">Directory</directive> et <directive module="core"
1886     type="section">Location</directive>. Elle doit se terminer par une
1887     balise <code>&lt;/Files&gt;</code>. Les directives contenues dans
1888     cette section s'appliqueront &agrave; tout objet dont le nom de base (la
1889     derni&egrave;re partie du nom de fichier) correspond au fichier sp&eacute;cifi&eacute;.
1890     Les sections <directive type="section">Files</directive> sont
1891     trait&eacute;es selon l'ordre dans lequel elles apparaissent dans le
1892     fichier de configuration, apr&egrave;s les sections <directive module="core"
1893     type="section">Directory</directive> et la lecture des fichiers
1894     <code>.htaccess</code>, mais avant les sections <directive
1895     type="section" module="core">Location</directive>. Notez que les
1896     sections <directive type="section">Files</directive> peuvent &ecirc;tre
1897     imbriqu&eacute;es dans les sections <directive type="section"
1898     module="core">Directory</directive> afin de restreindre la portion
1899     du syst&egrave;me de fichiers &agrave; laquelle ces derni&egrave;res vont
1900     s'appliquer.</p>
1901
1902     <p>L'argument <var>filename</var> peut contenir un nom de fichier
1903     ou une cha&icirc;ne de caract&egrave;res avec caract&egrave;res g&eacute;n&eacute;riques, o&ugrave;
1904     <code>?</code> remplace un caract&egrave;re, et <code>*</code> toute cha&icirc;ne
1905     de caract&egrave;res.</p>
1906     <highlight language="config">
1907 &lt;Files "cat.html"&gt;
1908     # Ins&eacute;rer ici des directives qui s'appliquent au fichier cat.html
1909 &lt;/Files&gt;
1910
1911 &lt;Files "?at.*"&gt;
1912     # Les directives ins&eacute;r&eacute;es ici s'appliqueront aux fichiers
1913     # cat.html, bat.html, hat.php, et ainsi de suite.
1914 &lt;/Files&gt;
1915 </highlight>
1916     
1917     <p>On peut aussi utiliser les <glossary
1918     ref="regex">Expressions rationnelles</glossary> en ajoutant la
1919     caract&egrave;re <code>~</code>. Par exemple :</p>
1920
1921     <highlight language="config">
1922 &lt;Files ~ "\.(gif|jpe?g|png)$"&gt;
1923     #...
1924 &lt;/Files&gt;
1925 </highlight>
1926
1927     <p>correspondrait &agrave; la plupart des formats graphiques de l'Internet.
1928     Il est cependant pr&eacute;f&eacute;rable d'utiliser la directive <directive
1929     module="core" type="section">FilesMatch</directive>.</p>
1930
1931     <p>Notez qu'&agrave; la diff&eacute;rence des sections <directive type="section"
1932     module="core">Directory</directive> et <directive type="section"
1933     module="core">Location</directive>, les sections <directive
1934     type="section">Files</directive> peuvent &ecirc;tre utilis&eacute;es dans les
1935     fichiers <code>.htaccess</code>. Ceci permet aux utilisateurs de
1936     contr&ocirc;ler l'acc&egrave;s &agrave; leurs propres ressources, fichier par
1937     fichier.</p>
1938
1939 </usage>
1940 <seealso><a href="../sections.html">Comment fonctionnent les sections
1941 &lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
1942 explication de la mani&egrave;re dont ces diff&eacute;rentes sections se combinent
1943 entre elles &agrave; la r&eacute;ception d'une requ&ecirc;te</seealso>
1944 </directivesynopsis>
1945
1946 <directivesynopsis type="section">
1947 <name>FilesMatch</name>
1948 <description>Contient des directives qui s'appliquent &agrave; des fichiers
1949 sp&eacute;cifi&eacute;s sous la forme d'expressions rationnelles</description>
1950 <syntax>&lt;FilesMatch <var>expression rationnelle</var>&gt; ...
1951 &lt;/FilesMatch&gt;</syntax>
1952 <contextlist><context>server config</context><context>virtual
1953 host</context>
1954 <context>directory</context><context>.htaccess</context>
1955 </contextlist>
1956 <override>All</override>
1957
1958 <usage>
1959     <p>La section <directive type="section">FilesMatch</directive>
1960     limite la port&eacute;e des directives qu'elle contient aux fichiers
1961     sp&eacute;cifi&eacute;s, tout comme le ferait une section <directive module="core"
1962     type="section">Files</directive>. Mais elle accepte aussi les
1963     <glossary ref="regex">expressions rationnelles</glossary>. Par
1964     exemple :</p>
1965
1966     <highlight language="config">
1967 &lt;FilesMatch "\.(gif|jpe?g|png)$"&gt;
1968     # ...
1969 &lt;/FilesMatch&gt;
1970 </highlight>
1971
1972     <p>correspondrait &agrave; la plupart des formats graphiques de
1973     l'Internet.</p>
1974
1975     <p>A partir de la version 2.4.8, les groupes nomm&eacute;s et les
1976     r&eacute;f&eacute;rences arri&egrave;res sont extraits et enregistr&eacute;s dans
1977     l'environnement avec leur nom en majuscules et pr&eacute;fix&eacute;
1978     par "MATCH_". Ceci permet
1979     de r&eacute;f&eacute;rencer des URLs dans des <a href="../expr.html">expressions</a>
1980     ou au sein de modules comme <module>mod_rewrite</module>. Pour
1981     &eacute;viter toute confusion, les r&eacute;f&eacute;rences arri&egrave;res num&eacute;rot&eacute;es (non
1982     nomm&eacute;es) sont ignor&eacute;es. Vous devez utiliser &agrave; la place des groupes
1983     nomm&eacute;s.</p>
1984
1985 <highlight language="config">
1986 &lt;FilesMatch ^(?&lt;sitename&gt;[^/]+)&gt;
1987     require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
1988 &lt;/FilesMatch&gt;
1989 </highlight>    
1990 </usage>
1991
1992 <seealso><a href="../sections.html">Comment fonctionnent les sections
1993 &lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
1994 explication de la mani&egrave;re dont ces diff&eacute;rentes sections se combinent
1995 entre elles &agrave; la r&eacute;ception d'une requ&ecirc;te</seealso>
1996 </directivesynopsis>
1997
1998 <directivesynopsis>
1999 <name>ForceType</name>
2000 <description>Force le type de m&eacute;dium sp&eacute;cifi&eacute; dans le champ d'en-t&ecirc;te
2001 HTTP Content-Type pour les fichiers correspondants</description>
2002 <syntax>ForceType <var>type m&eacute;dium</var>|None</syntax>
2003 <contextlist><context>directory</context><context>.htaccess</context>
2004 </contextlist>
2005 <override>FileInfo</override>
2006
2007 <usage>
2008     <p>Lorsqu'elle est plac&eacute;e dans un fichier <code>.htaccess</code> ou
2009     une section <directive type="section"
2010     module="core">Directory</directive>, <directive type="section"
2011     module="core">Location</directive>, ou <directive type="section"
2012     module="core">Files</directive>, cette directive force
2013     l'identification du type MIME des fichiers sp&eacute;cifi&eacute;s &agrave; la valeur de
2014     l'argument <var>type m&eacute;dium</var>. Par exemple, si vous poss&eacute;dez un
2015     r&eacute;pertoire ne contenant que des fichiers GIF, et si vous ne voulez
2016     pas leur ajouter l'extension <code>.gif</code>, vous pouvez utiliser
2017     :</p>
2018
2019     <highlight language="config">ForceType image/gif</highlight>
2020
2021     <p>Notez que cette directive l'emporte sur d'autres associations de
2022     type de m&eacute;dium indirectes d&eacute;finies dans mime.types ou via la
2023     directive <directive module="mod_mime">AddType</directive>.</p>
2024
2025     <p>Vous pouvez aussi annuler toute d&eacute;finition plus g&eacute;n&eacute;rale de
2026     <directive>ForceType</directive> en affectant la valeur
2027     <code>None</code> &agrave; l'argument <var>type m&eacute;dium</var> :</p>
2028
2029     <highlight language="config">
2030 # force le type MIME de tous les fichiers &agrave; image/gif:
2031 &lt;Location /images&gt;
2032   ForceType image/gif
2033 &lt;/Location&gt;
2034
2035 # mais utilise les m&eacute;thodes classiques d'attribution du type MIME
2036 # dans le sous-r&eacute;pertoire suivant :
2037 &lt;Location /images/mixed&gt;
2038   ForceType None
2039 &lt;/Location&gt;
2040     </highlight>
2041     
2042     <p>A la base, cette directive &eacute;crase le type de contenu g&eacute;n&eacute;r&eacute; pour
2043     les fichiers statiques servis &agrave; partir du syt&egrave;me de fichiers. Pour
2044     les ressources autres que les fichiers statiques pour lesquels le
2045     g&eacute;n&eacute;rateur de r&eacute;ponse sp&eacute;cifie en g&eacute;n&eacute;ral un type de contenu, cette
2046     directive est ignor&eacute;e.</p>
2047
2048 </usage>
2049 </directivesynopsis>
2050 <directivesynopsis>
2051 <name>GprofDir</name>
2052 <description>R&eacute;pertoire dans lequel &eacute;crire les donn&eacute;es de profiling
2053 gmon.out.</description>
2054 <syntax>GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</syntax>
2055 <contextlist><context>server config</context><context>virtual host</context>
2056 </contextlist>
2057
2058 <usage>
2059     <p>Lorsque le serveur a &eacute;t&eacute; compil&eacute; avec le support du profiling
2060     gprof, la directive <directive>GprofDir</directive> permet de
2061     sp&eacute;cifier dans quel r&eacute;pertoire les fichiers <code>gmon.out</code>
2062     doivent &ecirc;tre &eacute;crits lorsque le processus s'arr&ecirc;te. Si l'argument se
2063     termine par un caract&egrave;re pourcentage ('%'), des sous-r&eacute;pertoires
2064     sont cr&eacute;&eacute;s pour chaque identifiant de processus.</p>
2065
2066     <p>Cette directive ne fonctionne actuellement qu'avec le MPM
2067     <module>prefork</module>.</p>
2068 </usage>
2069 </directivesynopsis>
2070
2071 <directivesynopsis>
2072 <name>HostnameLookups</name>
2073 <description>Active la recherche DNS sur les adresses IP des
2074 clients</description>
2075 <syntax>HostnameLookups On|Off|Double</syntax>
2076 <default>HostnameLookups Off</default>
2077 <contextlist><context>server config</context><context>virtual
2078 host</context>
2079 <context>directory</context></contextlist>
2080
2081 <usage>
2082     <p>Cette directive active la recherche DNS afin de pouvoir
2083     journaliser les nom d'h&ocirc;tes (et les passer aux programmes CGI et aux
2084     inclusions SSI via la variable <code>REMOTE_HOST</code>). La valeur
2085     <code>Double</code> d&eacute;clenche une double recherche DNS inverse. En
2086     d'autres termes, une fois la recherche inverse effectu&eacute;e, on lance
2087     une recherche directe sur le r&eacute;sultat de cette derni&egrave;re. Au moins
2088     une des adresses IP fournies par la recherche directe doit
2089     correspondre &agrave; l'adresse originale (ce que l'on nomme
2090     <code>PARANOID</code> dans la terminologie "tcpwrappers").</p>
2091
2092     <p>Quelle que soit la configuration, lorsqu'on utilise
2093     <module>mod_authz_host</module> pour contr&ocirc;ler l'acc&egrave;s en fonction
2094     du nom d'h&ocirc;te, une double recherche DNS inverse est effectu&eacute;e,
2095     s&eacute;curit&eacute; oblige. Notez cependant que le r&eacute;sultat de cette double
2096     recherche n'est en g&eacute;n&eacute;ral pas accessible, &agrave; moins que vous n'ayez
2097     sp&eacute;cifi&eacute; <code>HostnameLookups Double</code>. Par exemple, si vous
2098     n'avez sp&eacute;cifi&eacute; que <code>HostnameLookups On</code>, et si une
2099     requ&ecirc;te concerne un objet prot&eacute;g&eacute; par des restrictions en fonction
2100     du nom d'h&ocirc;te, quel que soit le r&eacute;sultat de la double recherche
2101     inverse, les programmes CGI ne recevront que le r&eacute;sultat de la
2102     recherche inverse simple dans la variable
2103     <code>REMOTE_HOST</code>.</p>
2104
2105     <p>La valeur par d&eacute;faut est <code>Off</code> afin de pr&eacute;server le
2106     traffic r&eacute;seau des sites pour lesquels la recherche inverse n'est
2107     pas vraiment n&eacute;cessaire. Cette valeur par d&eacute;faut est aussi b&eacute;n&eacute;fique
2108     pour les utilisateurs finaux car il n'ont ainsi pas &agrave; subir de temps
2109     d'attente suppl&eacute;mentaires dus aux recherches DNS. Les sites
2110     fortement charg&eacute;s devraient laisser cette directive &agrave;
2111     <code>Off</code>, car les recherches DNS peuvent prendre des temps
2112     tr&egrave;s longs. Vous pouvez &eacute;ventuellement utiliser hors ligne
2113     l'utilitaire <program>logresolve</program>, compil&eacute; par d&eacute;faut dans
2114     le sous-r&eacute;pertoire <code>bin</code> de votre r&eacute;pertoire
2115     d'installation, afin de d&eacute;terminer les noms d'h&ocirc;tes associ&eacute;s aux
2116     adresses IP journalis&eacute;es.</p>
2117
2118     <p>Enfin, si vous avez des <a
2119     href="mod_authz_host.html#reqhost">directives Require &agrave; base de
2120     nom</a>, une recherche de nom d'h&ocirc;te sera effectu&eacute;e quelle que soit
2121     la d&eacute;finition de la directive <code>HostnameLookups</code>.</p>
2122 </usage>
2123 </directivesynopsis>
2124
2125 <directivesynopsis type="section">
2126 <name>If</name>
2127 <description>Contient des directives qui ne s'appliquent que si une
2128 condition est satisfaite au cours du traitement d'une
2129 requ&ecirc;te</description>
2130 <syntax>&lt;If <var>expression</var>&gt; ... &lt;/If&gt;</syntax>
2131 <contextlist><context>server config</context><context>virtual
2132 host</context>
2133 <context>directory</context><context>.htaccess</context>
2134 </contextlist>
2135 <override>All</override>
2136
2137 <usage>
2138     <p>La directive <directive type="section">If</directive> &eacute;value une
2139     expression &agrave; la vol&eacute;e, et applique les directives qu'elle contient
2140     si et seulement si l'expression renvoie la valeur "vrai". Par
2141     exemple :</p>
2142
2143     <highlight language="config">&lt;If "-z req('Host')"&gt;</highlight>
2144
2145     <p>serait satisfaite pour les requ&ecirc;tes HTTP/1.0 sans en-t&ecirc;te
2146     <var>Host:</var>. Les expressions peuvent contenir diff&eacute;rents
2147     op&eacute;rateurs de type shell pour la comparaison de cha&icirc;nes
2148     (<code>==</code>, <code>!=</code>, <code>&lt;</code>, ...), la
2149     comparaison d'entiers (<code>-eq</code>, <code>-ne</code>, ...), ou
2150     &agrave; usages divers (<code>-n</code>, <code>-z</code>, <code>-f</code>,
2151     ...). Les expressions rationnelles sont aussi support&eacute;es,</p>
2152
2153     <highlight language="config">&lt;If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/"&gt;</highlight>
2154
2155     <p>ainsi que les comparaison de mod&egrave;les de type shell et de
2156     nombreuses autres op&eacute;rations. Ces op&eacute;rations peuvent &ecirc;tre effectu&eacute;es
2157     sur les en-t&ecirc;tes de requ&ecirc;tes (<code>req</code>), les variables
2158     d'environnement (<code>env</code>), et un grand nombre d'autres
2159     propri&eacute;t&eacute;s. La documentation compl&egrave;te est disponible dans <a
2160     href="../expr.html">Les expressions dans le serveur HTTP Apache</a>.</p>
2161
2162     <p>Cette section de configuration ne peut contenir que des
2163     directives qui supportent le <a
2164     href="directive-dict.html#Context">contexte de r&eacute;pertoire</a>.</p>
2165
2166 </usage>
2167
2168 <seealso><a href="../expr.html">Les expressions dans le serveur HTTP
2169 Apache</a>, pour une r&eacute;f&eacute;rence compl&egrave;te et d'autres exemples.</seealso>
2170 <seealso><directive type="section" module="core">ElseIf</directive></seealso>
2171 <seealso><directive type="section" module="core">Else</directive></seealso>
2172 <seealso><a href="../sections.html">Comment fonctionnent les sections
2173 &lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
2174 explication de la mani&egrave;re dont ces diff&eacute;rentes sections se combinent
2175 entre elles &agrave; la r&eacute;ception d'une requ&ecirc;te. Les
2176 directives <directive type="section">If</directive>, <directive
2177 type="section">ElseIf</directive>, et <directive
2178 type="section">Else</directive> s'appliquent en dernier.</seealso>
2179 </directivesynopsis>
2180
2181 <directivesynopsis type="section">
2182 <name>IfDefine</name>
2183 <description>Contient des directives qui ne s'appliqueront que si un
2184 test retourne "vrai" au d&eacute;marrage du serveur</description>
2185 <syntax>&lt;IfDefine [!]<var>param&egrave;tre</var>&gt; ...
2186     &lt;/IfDefine&gt;</syntax>
2187 <contextlist><context>server config</context><context>virtual
2188 host</context>
2189 <context>directory</context><context>.htaccess</context>
2190 </contextlist>
2191 <override>All</override>
2192
2193 <usage>
2194     <p>La section <code>&lt;IfDefine
2195     <var>test</var>&gt;...&lt;/IfDefine&gt;</code> permet de
2196     conf&eacute;rer un caract&egrave;re conditionnel &agrave; un ensemble de directives. Les
2197     directives situ&eacute;es &agrave; l'int&eacute;rieur d'une section <directive
2198     type="section">IfDefine</directive> ne s'appliquent que si
2199     <var>test</var> est vrai. Si <var>test</var> est faux, tout ce qui
2200     se trouve entre les balises de d&eacute;but et de fin est ignor&eacute;.</p>
2201
2202     <p><var>test</var> peut se pr&eacute;senter sous deux formes :</p>
2203
2204     <ul>
2205       <li><var>nom param&egrave;tre</var></li>
2206
2207       <li><code>!</code><var>nom param&egrave;tre</var></li>
2208     </ul>
2209
2210     <p>Dans le premier cas, les directives situ&eacute;es entre les balises de
2211     d&eacute;but et de fin ne s'appliqueront que si le param&egrave;tre nomm&eacute; <var>nom
2212     param&egrave;tre</var> est d&eacute;fini. Le second format inverse le test, et
2213     dans ce cas, les directives ne s'appliqueront que si <var>nom
2214     param&egrave;tre</var> n'est <strong>pas</strong> d&eacute;fini.</p>
2215
2216     <p>L'argument <var>nom param&egrave;tre</var> est une d&eacute;finition qui peut
2217     &ecirc;tre effectu&eacute;e par la ligne de commande
2218     <program>httpd</program> via le param&egrave;tre
2219     <code>-D<var>param&egrave;tre</var></code> au d&eacute;marrage du serveur, ou via la
2220     directive <directive module="core">Define</directive>.</p>
2221
2222     <p>Les sections <directive type="section">IfDefine</directive>
2223     peuvent &ecirc;tre imbriqu&eacute;es, ce qui permet d'impl&eacute;menter un test
2224     multi-param&egrave;tres simple. Exemple :</p>
2225
2226     <example>httpd -DReverseProxy -DUseCache -DMemCache ...</example>
2227     <highlight language="config">
2228 &lt;IfDefine ReverseProxy&gt;
2229   LoadModule proxy_module   modules/mod_proxy.so
2230   LoadModule proxy_http_module   modules/mod_proxy_http.so
2231   &lt;IfDefine UseCache&gt;
2232     LoadModule cache_module   modules/mod_cache.so
2233     &lt;IfDefine MemCache&gt;
2234       LoadModule mem_cache_module   modules/mod_mem_cache.so
2235     &lt;/IfDefine&gt;
2236     &lt;IfDefine !MemCache&gt;
2237       LoadModule cache_disk_module   modules/mod_cache_disk.so
2238     &lt;/IfDefine&gt;
2239   &lt;/IfDefine&gt;
2240 &lt;/IfDefine&gt;
2241     </highlight>
2242 </usage>
2243 </directivesynopsis>
2244
2245 <directivesynopsis type="section">
2246 <name>IfModule</name>
2247 <description>Contient des directives qui ne s'appliquent qu'en fonction
2248 de la pr&eacute;sence ou de l'absence d'un module sp&eacute;cifique</description>
2249 <syntax>&lt;IfModule [!]<var>fichier module</var>|<var>identificateur
2250 module</var>&gt; ... &lt;/IfModule&gt;</syntax>
2251 <contextlist><context>server config</context><context>virtual
2252 host</context>
2253 <context>directory</context><context>.htaccess</context>
2254 </contextlist>
2255 <override>All</override>
2256
2257 <usage>
2258     <p>La section <code>&lt;IfModule
2259     <var>test</var>&gt;...&lt;/IfModule&gt;</code> permet de conf&eacute;rer &agrave;
2260     des directives un caract&egrave;re conditionnel bas&eacute; sur la pr&eacute;sence d'un
2261     module sp&eacute;cifique. Les directives situ&eacute;es dans une section
2262     <directive type="section">IfModule</directive> ne s'appliquent que
2263     si <var>test</var> est vrai. Si <var>test</var> est faux, tout ce
2264     qui se trouve entre les balises de d&eacute;but et de fin est ignor&eacute;.</p>
2265
2266     <p><var>test</var> peut se pr&eacute;senter sous deux formes :</p>
2267
2268     <ul>
2269       <li><var>module</var></li>
2270
2271       <li>!<var>module</var></li>
2272     </ul>
2273
2274     <p>Dans le premier cas, les directives situ&eacute;es entre les balises de
2275     d&eacute;but et de fin ne s'appliquent que si le module <var>module</var>
2276     est pr&eacute;sent -- soit compil&eacute; avec le binaire Apache httpd, soit charg&eacute;
2277     dynamiquement via la directive <directive module="mod_so"
2278     >LoadModule</directive>. Le second format inverse le test, et dans
2279     ce cas, les directives ne s'appliquent que si <var>module</var>
2280     n'est <strong>pas</strong> pr&eacute;sent.</p>
2281
2282     <p>L'argument <var>module</var> peut contenir soit l'identificateur
2283     du module, soit le nom du fichier source du module. Par exemple,
2284     <code>rewrite_module</code> est un identificateur et
2285     <code>mod_rewrite.c</code> le nom du fichier source
2286     correspondant. Si un module comporte plusieurs fichiers sources,
2287     utilisez le nom du fichier qui contient la cha&icirc;ne de caract&egrave;res
2288     <code>STANDARD20_MODULE_STUFF</code>.</p>
2289
2290     <p>Les sections <directive type="section">IfModule</directive>
2291     peuvent &ecirc;tre imbriqu&eacute;es, ce qui permet d'impl&eacute;menter des tests
2292     multi-modules simples.</p>
2293
2294     <note>Cette section ne doit &ecirc;tre utilis&eacute;e que si votre fichier de
2295     configuration ne fonctionne qu'en fonction de la pr&eacute;sence ou de
2296     l'absence d'un module sp&eacute;cifique. D'une mani&egrave;re g&eacute;n&eacute;rale, il n'est
2297     pas n&eacute;cessaire de placer les directives &agrave; l'int&eacute;rieur de sections
2298     <directive type="section">IfModule</directive>.</note>
2299 </usage>
2300 </directivesynopsis>
2301
2302 <directivesynopsis>
2303 <name>Include</name>
2304 <description>Inclut d'autres fichiers de configuration dans un des
2305 fichiers de configuration du serveur</description>
2306 <syntax>Include <var>chemin-fichier</var>|<var>chemin-r&eacute;pertoire</var>|<var>wildcard</var></syntax>
2307 <contextlist><context>server config</context><context>virtual
2308 host</context>
2309 <context>directory</context>
2310 </contextlist>
2311 <compatibility>Utilisation des caract&egrave;res
2312 g&eacute;n&eacute;riques dans la partie chemin depuis la version 2.3.6</compatibility>
2313
2314 <usage>
2315     <p>Cette directive permet l'inclusion d'autres fichiers de
2316     configuration dans un des fichiers de configuration du serveur.</p>
2317
2318     <p>On peut utiliser des caract&egrave;res g&eacute;n&eacute;riques de style Shell
2319     (<code>fnmatch()</code>) aussi bien dans la partie nom de fichier du
2320     chemin que dans la partie r&eacute;pertoires pour inclure plusieurs
2321     fichiers en une
2322     seule fois, selon leur ordre alphab&eacute;tique. De plus, si la directive
2323     <directive>Include</directive> pointe vers un r&eacute;pertoire, Apache
2324     httpd inclura tous les fichiers de ce r&eacute;pertoire et de tous ces
2325     sous-r&eacute;pertoires. L'inclusion de r&eacute;pertoires entiers est cependant
2326     d&eacute;conseill&eacute;e, car il est fr&eacute;quent d'oublier des fichiers
2327     temporaires dans un r&eacute;pertoire, ce qui causerait une erreur
2328     <program>httpd</program> en cas d'inclusion. Pour inclure des
2329     fichiers qui correspondent &agrave; un certain mod&egrave;le, comme *.conf par
2330     exemple, nous vous recommandons d'utiliser plut&ocirc;t la syntaxe avec
2331     caract&egrave;res g&eacute;n&eacute;riques comme ci-dessous.</p>
2332
2333     <p>La directive <directive module="core">Include</directive>
2334     <strong>&eacute;chouera avec un code d'erreur</strong> si une expression
2335    contenant des caract&egrave;res g&eacute;n&eacute;riques ne correspond &agrave; aucun fichier.
2336    Pour ignorer les expressions contenant des caract&egrave;res g&eacute;n&eacute;riques ne
2337    correspondant &agrave; aucun fichier, utilisez la directive <directive
2338    module="core">IncludeOptional</directive>.</p>
2339
2340     <p>Le chemin fichier sp&eacute;cifi&eacute; peut &ecirc;tre soit un chemin absolu, soit
2341     un chemin relatif au r&eacute;pertoire d&eacute;fini par la directive <directive
2342     module="core">ServerRoot</directive>.</p>
2343
2344     <p>Exemples :</p>
2345
2346     <highlight language="config">
2347 Include /usr/local/apache2/conf/ssl.conf
2348 Include /usr/local/apache2/conf/vhosts/*.conf
2349     </highlight>
2350
2351     <p>ou encore, avec des chemins relatifs au r&eacute;pertoire d&eacute;fini par la
2352     directive <directive module="core">ServerRoot</directive> :</p>
2353
2354     <highlight language="config">
2355 Include conf/ssl.conf
2356 Include conf/vhosts/*.conf
2357     </highlight>
2358
2359     <p>On peut aussi ins&eacute;rer des caract&egrave;res g&eacute;n&eacute;riques dans la partie
2360     r&eacute;pertoires du chemin. Dans l'exemple suivant, la directive
2361     &eacute;chouera si aucun sous-r&eacute;pertoire de conf/vhosts ne contient au
2362     moins un fichier *.conf :</p>
2363   
2364     <highlight language="config">Include conf/vhosts/*/*.conf</highlight>
2365
2366     <p>Par contre, dans l'exemple suivant, la directive sera simplement
2367     ignor&eacute;e si aucun sous-r&eacute;pertoire de conf/vhosts ne contient au
2368     moins un fichier *.conf :</p>
2369
2370     <highlight language="config">IncludeOptional conf/vhosts/*/*.conf</highlight>
2371   
2372 </usage>    
2373
2374 <seealso><directive module="core">IncludeOptional</directive></seealso>
2375 <seealso><program>apachectl</program></seealso>
2376 </directivesynopsis>
2377
2378 <directivesynopsis>
2379 <name>IncludeOptional</name>
2380 <description>Inclusion de fichiers dans le fichier de configuration</description>
2381 <syntax>IncludeOptional
2382 <var>chemin-fichier</var>|<var>chemin-r&eacute;pertoire</var>|<var>wildcard</var></syntax>
2383 <contextlist><context>server config</context><context>virtual host</context>
2384 <context>directory</context>
2385 </contextlist>
2386 <compatibility>Disponible &agrave; partir de la version 2.3.6 du serveur HTTP
2387 Apache</compatibility>
2388  
2389 <usage>
2390     <p>Cette directive permet d'inclure des fichiers dans les fichiers
2391     de configuration du serveur. Elle fonctionne de mani&egrave;re identique &agrave;
2392     la directive <directive module="core">Include</directive>, &agrave;
2393     l'exception du fait que si l'expression avec caract&egrave;res g&eacute;n&eacute;riques
2394     wilcard ne correspond &agrave; aucun fichier ou r&eacute;pertoire, elle sera
2395     ignor&eacute;e silencieusement au lieu de causer une erreur.</p>    
2396     
2397 </usage>
2398
2399 <seealso><directive module="core">Include</directive></seealso>
2400 <seealso><program>apachectl</program></seealso>
2401 </directivesynopsis>
2402
2403 <directivesynopsis>
2404 <name>KeepAlive</name>
2405 <description>Active les connexions HTTP persistantes</description>
2406 <syntax>KeepAlive On|Off</syntax>
2407 <default>KeepAlive On</default>
2408 <contextlist><context>server config</context><context>virtual
2409 host</context>
2410 </contextlist>
2411
2412 <usage>
2413     <p>L'extension Keep-Alive de HTTP/1.0 et l'impl&eacute;mentation des
2414     connexions persistantes dans HTTP/1.1 ont rendu possibles des
2415     sessions HTTP de longue dur&eacute;e, ce qui permet de transmettre
2416     plusieurs requ&ecirc;tes via la m&ecirc;me connexion TCP. Dans certains cas, le
2417     gain en rapidit&eacute; pour des documents comportant de nombreuses images
2418     peut atteindre 50%. Pour activer les connexions persistantes,
2419     d&eacute;finissez <code>KeepAlive On</code>.</p>
2420
2421     <p>Pour les clients HTTP/1.0, les connexions persistantes ne seront
2422     mises en oeuvre que si elles ont &eacute;t&eacute; sp&eacute;cialement demand&eacute;es par un
2423     client. De plus, une connexion persistante avec un client HTTP/1.0
2424     ne peut &ecirc;tre utilis&eacute;e que si la taille du contenu est connue
2425     d'avance. Ceci implique que les contenus dynamiques comme les
2426     sorties CGI, les pages SSI, et les listings de r&eacute;pertoires g&eacute;n&eacute;r&eacute;s
2427     par le serveur n'utiliseront en g&eacute;n&eacute;ral pas les connexions
2428     persistantes avec les clients HTTP/1.0. Avec les clients HTTP/1.1,
2429     les connexions persistantes sont utilis&eacute;es par d&eacute;faut, sauf
2430     instructions contraires. Si le client le demande, le transfert par
2431     tron&ccedil;ons de taille fixe (chunked encoding) sera utilis&eacute; afin de
2432     transmettre un contenu de longueur inconnue via une connexion
2433     persistante.</p>
2434
2435     <p>Lorsqu'un client utilise une connexion persistante, elle comptera
2436     pour une seule requ&ecirc;te pour la directive <directive
2437     module="mpm_common">MaxConnectionsPerChild</directive>, quel
2438     que soit le nombre de requ&ecirc;tes transmises via cette connexion.</p>
2439 </usage>
2440
2441 <seealso><directive module="core">MaxKeepAliveRequests</directive></seealso>
2442 </directivesynopsis>
2443
2444 <directivesynopsis>
2445 <name>KeepAliveTimeout</name>
2446 <description>Dur&eacute;e pendant laquelle le serveur va attendre une requ&ecirc;te
2447 avant de fermer une connexion persistante</description>
2448 <syntax>KeepAliveTimeout <var>nombre</var>[ms]</syntax>
2449 <default>KeepAliveTimeout 5</default>
2450 <contextlist><context>server config</context><context>virtual
2451 host</context>
2452 </contextlist>
2453
2454 <usage>
2455     <p>Le nombre de secondes pendant lesquelles Apache httpd va attendre une
2456     requ&ecirc;te avant de fermer la connexion. Le d&eacute;lai peut &ecirc;tre d&eacute;fini en
2457     millisecondes en suffixant sa valeur par ms. La valeur du d&eacute;lai
2458     sp&eacute;cifi&eacute;e par la directive <directive
2459     module="core">Timeout</directive> s'applique d&egrave;s qu'une requ&ecirc;te a
2460     &eacute;t&eacute; re&ccedil;ue.</p>
2461
2462     <p>Donner une valeur trop &eacute;l&eacute;v&eacute;e &agrave;
2463     <directive>KeepAliveTimeout</directive> peut induire des probl&egrave;mes
2464     de performances sur les serveurs fortement charg&eacute;s. Plus le d&eacute;lai
2465     est &eacute;l&eacute;v&eacute;, plus nombreux seront les processus serveur en attente de
2466     requ&ecirc;tes de la part de clients inactifs.</p>
2467
2468     <p>Dans un contexte de serveur virtuel &agrave; base de nom, c'est
2469     la valeur de la paire adresse IP/port du serveur virtuel qui
2470     correspond le mieux qui sera utilis&eacute;e.</p>
2471 </usage>
2472 </directivesynopsis>
2473
2474 <directivesynopsis type="section">
2475 <name>Limit</name>
2476 <description>Limite les contr&ocirc;les d'acc&egrave;s que la section contient &agrave;
2477 certaines m&eacute;thodes HTTP</description>
2478 <syntax>&lt;Limit <var>m&eacute;thode</var> [<var>m&eacute;thode</var>] ... &gt; ...
2479     &lt;/Limit&gt;</syntax>
2480 <contextlist><context>directory</context><context>.htaccess</context>
2481 </contextlist>
2482 <override>AuthConfig, Limit</override>
2483
2484 <usage>
2485     <p>Les contr&ocirc;les d'acc&egrave;s s'appliquent normalement &agrave;
2486     <strong>toutes</strong> les m&eacute;thodes d'acc&egrave;s, et c'est en g&eacute;n&eacute;ral le
2487     comportement souhait&eacute;. <strong>Dans le cas g&eacute;n&eacute;ral, les directives
2488     de contr&ocirc;le d'acc&egrave;s n'ont pas &agrave; &ecirc;tre plac&eacute;es dans une section
2489     <directive type="section">Limit</directive>.</strong></p>
2490
2491     <p>La directive <directive type="section">Limit</directive> a pour
2492     but de limiter les effets des contr&ocirc;les d'acc&egrave;s aux m&eacute;thodes HTTP
2493     sp&eacute;cifi&eacute;es. Pour toutes les autres m&eacute;thodes, les restrictions
2494     d'acc&egrave;s contenues dans la section <directive
2495     type="section">Limit</directive> <strong>n'auront aucun
2496     effet</strong>. L'exemple suivant n'applique les contr&ocirc;les d'acc&egrave;s
2497     qu'aux m&eacute;thodes <code>POST</code>, <code>PUT</code>, et
2498     <code>DELETE</code>, en laissant les autres m&eacute;thodes sans protection
2499     :</p>
2500
2501     <highlight language="config">
2502 &lt;Limit POST PUT DELETE&gt;
2503   Require valid-user
2504 &lt;/Limit&gt;
2505     </highlight>
2506
2507     <p>La liste des noms de m&eacute;thodes peut contenir une ou plusieurs
2508     valeurs parmi les suivantes : <code>GET</code>, <code>POST</code>,
2509     <code>PUT</code>, <code>DELETE</code>, <code>CONNECT</code>,
2510     <code>OPTIONS</code>, <code>PATCH</code>, <code>PROPFIND</code>,
2511     <code>PROPPATCH</code>, <code>MKCOL</code>, <code>COPY</code>,
2512     <code>MOVE</code>, <code>LOCK</code>, et <code>UNLOCK</code>.
2513     <strong>Le nom de m&eacute;thode est sensible &agrave; la casse.</strong> Si la
2514     valeur <code>GET</code> est pr&eacute;sente, les requ&ecirc;tes <code>HEAD</code>
2515     seront aussi concern&eacute;es. La m&eacute;thode <code>TRACE</code> ne peut pas
2516     &ecirc;tre limit&eacute;e (voir la directive <directive
2517     module="core">TraceEnable</directive>).</p>
2518
2519     <note type="warning">Une section <directive
2520     type="section">LimitExcept</directive> doit toujours &ecirc;tre pr&eacute;f&eacute;r&eacute;e &agrave;
2521     une section <directive type="section">Limit</directive> pour la
2522     restriction d'acc&egrave;s, car une section <directive type="section"
2523     module="core">LimitExcept</directive> fournit une protection contre
2524     les m&eacute;thodes arbitraires.</note>
2525
2526     <p>Les directives <directive type="section">Limit</directive> et
2527     <directive type="section" module="core">LimitExcept</directive>
2528     peuvent &ecirc;tre imbriqu&eacute;es. Dans ce cas, pour chaque niveau des
2529     directives <directive type="section">Limit</directive> ou  <directive
2530     type="section" module="core">LimitExcept</directive>, ces derni&egrave;res
2531     doivent restreindre l'acc&egrave;s pour les m&eacute;thodes auxquelles les
2532     contr&ocirc;les d'acc&egrave;s s'appliquent.</p>
2533
2534     <note type="warning">Lorsqu'on utilise les directives <directive
2535     type="section">Limit</directive> ou <directive
2536     type="section">LimitExcept</directive> avec la directive <directive
2537     module="mod_authz_core">Require</directive>, la premi&egrave;re directive
2538     <directive module="mod_authz_core">Require</directive> dont la
2539     condition est satisfaite autorise la requ&ecirc;te, sans tenir compte de
2540     la pr&eacute;sence d'autres directives <directive
2541     module="mod_authz_core">Require</directive>.</note>
2542
2543     <p>Par exemple, avec la configuration suivante, tous les
2544     utilisateurs seront autoris&eacute;s &agrave; effectuer des requ&ecirc;tes
2545     <code>POST</code>, et la directive <code>Require group
2546     editors</code> sera ignor&eacute;e dans tous les cas :</p>
2547
2548     <highlight language="config">
2549 &lt;LimitExcept GET&gt;
2550   Require valid-user
2551 &lt;/LimitExcept&gt;
2552 &lt;Limit POST&gt;
2553   Require group editors
2554 &lt;/Limit&gt;
2555     </highlight>
2556 </usage>
2557 </directivesynopsis>
2558
2559 <directivesynopsis type="section">
2560 <name>LimitExcept</name>
2561 <description>Applique les contr&ocirc;les d'acc&egrave;s &agrave; toutes les m&eacute;thodes HTTP,
2562 sauf celles qui sont sp&eacute;cifi&eacute;es</description>
2563 <syntax>&lt;LimitExcept <var>m&eacute;thode</var> [<var>m&eacute;thode</var>] ... &gt; ...
2564     &lt;/LimitExcept&gt;</syntax>
2565 <contextlist><context>directory</context><context>.htaccess</context>
2566 </contextlist>
2567 <override>AuthConfig, Limit</override>
2568
2569 <usage>
2570     <p><directive type="section">LimitExcept</directive> et
2571     <code>&lt;/LimitExcept&gt;</code> permettent de regrouper des
2572     directives de contr&ocirc;le d'acc&egrave;s qui s'appliqueront &agrave; toutes les
2573     m&eacute;thodes d'acc&egrave;s HTTP qui ne font <strong>pas</strong> partie de la
2574     liste des arguments ; en d'autres termes, elles ont un comportement
2575     oppos&eacute; &agrave; celui de la section <directive type="section"
2576     module="core">Limit</directive>, et on peut les utiliser pour
2577     contr&ocirc;ler aussi bien les m&eacute;thodes standards que les m&eacute;thodes non
2578     standards ou non reconnues. Voir la documentation de la section
2579     <directive module="core" type="section">Limit</directive> pour plus
2580     de d&eacute;tails.</p>
2581
2582     <p>Par exemple :</p>
2583
2584     <highlight language="config">
2585 &lt;LimitExcept POST GET&gt;
2586   Require valid-user
2587 &lt;/LimitExcept&gt;
2588     </highlight>
2589
2590 </usage>
2591 </directivesynopsis>
2592
2593 <directivesynopsis>
2594 <name>LimitInternalRecursion</name>
2595 <description>D&eacute;termine le nombre maximal de redirections internes et de
2596 sous-requ&ecirc;tes imbriqu&eacute;es</description>
2597 <syntax>LimitInternalRecursion <var>nombre</var> [<var>nombre</var>]</syntax>
2598 <default>LimitInternalRecursion 10</default>
2599 <contextlist><context>server config</context><context>virtual
2600 host</context>
2601 </contextlist>
2602
2603 <usage>
2604     <p>Une redirection interne survient, par exemple, quand on utilise
2605     la directive <directive module="mod_actions">Action</directive> qui
2606     redirige en interne la requ&ecirc;te d'origine vers un script CGI. Une
2607     sous-requ&ecirc;te est le m&eacute;canisme qu'utilise Apache httpd pour d&eacute;terminer ce
2608     qui se passerait pour un URI s'il faisait l'objet d'une requ&ecirc;te. Par
2609     exemple, <module>mod_dir</module> utilise les sous-requ&ecirc;tes pour
2610     rechercher les fichiers list&eacute;s dans la directive <directive
2611     module="mod_dir">DirectoryIndex</directive>.</p>
2612
2613     <p>La directive <directive>LimitInternalRecursion</directive> permet
2614     d'&eacute;viter un crash du serveur d&ucirc; &agrave; un bouclage infini de redirections
2615     internes ou de sous-requ&ecirc;tes. De tels bouclages sont dus en g&eacute;n&eacute;ral
2616     &agrave; des erreurs de configuration.</p>
2617
2618     <p>La directive accepte, comme arguments, deux limites qui sont
2619     &eacute;valu&eacute;es &agrave; chaque requ&ecirc;te. Le premier <var>nombre</var> est le
2620     nombre maximum de redirections internes qui peuvent se succ&eacute;der. Le
2621     second <var>nombre</var> d&eacute;termine la profondeur d'imbrication
2622     maximum des sous-requ&ecirc;tes. Si vous ne sp&eacute;cifiez qu'un seul
2623     <var>nombre</var>, il sera affect&eacute; aux deux limites.</p>
2624
2625     <highlight language="config">LimitInternalRecursion 5</highlight>
2626 </usage>
2627 </directivesynopsis>
2628
2629 <directivesynopsis>
2630 <name>LimitRequestBody</name>
2631 <description>limite la taille maximale du corps de la requ&ecirc;te HTTP
2632 envoy&eacute;e par le client</description>
2633 <syntax>LimitRequestBody <var>octets</var></syntax>
2634 <default>LimitRequestBody 0</default>
2635 <contextlist><context>server config</context><context>virtual
2636 host</context>
2637 <context>directory</context><context>.htaccess</context>
2638 </contextlist>
2639 <override>All</override>
2640
2641 <usage>
2642     <p>Cette directive sp&eacute;cifie la taille maximale autoris&eacute;e pour le
2643     corps d'une requ&ecirc;te ; la valeur de l'argument <var>octets</var> va
2644     de 0 (pour une taille illimit&eacute;e), &agrave; 2147483647 (2Go). Voir la note
2645     ci-dessous pour la limite d'applicabilit&eacute; aux requ&ecirc;tes mandat&eacute;es.</p>
2646
2647     <p>La directive <directive>LimitRequestBody</directive> permet de
2648     d&eacute;finir une limite pour la taille maximale autoris&eacute;e du corps d'une
2649     requ&ecirc;te HTTP en tenant compte du contexte dans lequel la directive
2650     a &eacute;t&eacute; plac&eacute;e (c'est &agrave; dire au niveau du serveur, d'un r&eacute;pertoire,
2651     d'un fichier ou d'une localisation). Si la requ&ecirc;te du client d&eacute;passe
2652     cette limite, le serveur r&eacute;pondra par un message d'erreur et ne
2653     traitera pas la requ&ecirc;te. La taille du corps d'une requ&ecirc;te normale va
2654     varier de mani&egrave;re importante en fonction de la nature de la
2655     ressource et des m&eacute;thodes autoris&eacute;es pour cette derni&egrave;re. Les
2656     scripts CGI utilisent souvent le corps du message pour extraire les
2657     informations d'un formulaire. Les impl&eacute;mentations de la m&eacute;thode
2658     <code>PUT</code> n&eacute;cessitent une valeur au moins aussi &eacute;lev&eacute;e que la
2659     taille maximale des repr&eacute;sentations que le serveur d&eacute;sire accepter
2660     pour cette ressource.</p>
2661
2662     <p>L'administrateur du serveur peut utiliser cette directive pour
2663     contr&ocirc;ler plus efficacement les comportements anormaux des requ&ecirc;tes
2664     des clients, ce qui lui permettra de pr&eacute;venir certaines formes
2665     d'attaques par d&eacute;ni de service.</p>
2666
2667     <p>Si par exemple, vous autorisez le chargement de fichiers vers une
2668     localisation particuli&egrave;re, et souhaitez limiter la taille des
2669     fichiers charg&eacute;s &agrave; 100Ko, vous pouvez utiliser la directive suivante
2670     :</p>
2671
2672     <highlight language="config">LimitRequestBody 102400</highlight>
2673
2674     <note><p>Pour une description d&eacute;taill&eacute;e de la mani&egrave;re dont cette
2675     directive est interpr&eacute;t&eacute;e par les requ&ecirc;tes mandat&eacute;es, voir la
2676     documentation du module <module>mod_proxy</module>.</p>
2677     </note>
2678
2679 </usage>
2680 </directivesynopsis>
2681
2682 <directivesynopsis>
2683 <name>LimitRequestFields</name>
2684 <description>Limite le nombre de champs d'en-t&ecirc;te autoris&eacute;s dans une
2685 requ&ecirc;te HTTP</description>
2686 <syntax>LimitRequestFields <var>nombre</var></syntax>
2687 <default>LimitRequestFields 100</default>
2688 <contextlist><context>server config</context><context>virtual host</context></contextlist>
2689
2690 <usage>
2691     <p><var>nombre</var> est un entier de 0 (nombre de champs illimit&eacute;)
2692     &agrave; 32767. La valeur par d&eacute;faut est d&eacute;finie &agrave; la compilation par la
2693     constante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 selon la
2694     distribution).</p>
2695
2696     <p>La directive <directive>LimitRequestFields</directive> permet &agrave;
2697     l'administrateur du serveur de modifier le nombre maximum de champs
2698     d'en-t&ecirc;te autoris&eacute;s dans une requ&ecirc;te HTTP. Pour un serveur, cette
2699     valeur doit &ecirc;tre sup&eacute;rieure au nombre de champs qu'une requ&ecirc;te
2700     client normale peut contenir. Le nombre de champs d'en-t&ecirc;te d'une
2701     requ&ecirc;te qu'un client utilise d&eacute;passe rarement 20, mais ce nombre
2702     peut varier selon les impl&eacute;mentations des clients, et souvent en
2703     fonction des extensions que les utilisateurs configurent dans leurs
2704     navigateurs pour supporter la n&eacute;gociation de contenu d&eacute;taill&eacute;e. Les
2705     extensions HTTP optionnelles utilisent souvent les
2706     champs d'en-t&ecirc;te des requ&ecirc;tes.</p>
2707
2708     <p>L'administrateur du serveur peut utiliser cette directive pour
2709     contr&ocirc;ler plus efficacement les comportements anormaux des requ&ecirc;tes
2710     des clients, ce qui lui permettra de pr&eacute;venir certaines formes
2711     d'attaques par d&eacute;ni de service. La valeur sp&eacute;cifi&eacute;e doit &ecirc;tre
2712     augment&eacute;e si les clients standards re&ccedil;oivent une erreur du serveur
2713     indiquant que la requ&ecirc;te comportait un nombre d'en-t&ecirc;tes trop
2714     important.</p>
2715
2716     <p>Par exemple :</p>
2717
2718     <highlight language="config">LimitRequestFields 50</highlight>
2719
2720     <note type="warning"><title>Avertissement</title>
2721      <p>Dans le cas des serveurs virtuels &agrave; base de noms, la valeur de
2722      cette directive est extraite du serveur virtuel par d&eacute;faut (le
2723      premier de la liste) pour la paire adresse IP/port.</p>
2724     </note>
2725
2726 </usage>
2727 </directivesynopsis>
2728
2729 <directivesynopsis>
2730 <name>LimitRequestFieldSize</name>
2731 <description>D&eacute;dinit la taille maximale autoris&eacute;e d'un en-t&ecirc;te de
2732 requ&ecirc;te HTTP</description>
2733 <syntax>LimitRequestFieldSize <var>octets</var></syntax>
2734 <default>LimitRequestFieldSize 8190</default>
2735 <contextlist><context>server config</context><context>virtual host</context></contextlist>
2736
2737 <usage>
2738     <p>Cette directive permet de d&eacute;finir le nombre maximum
2739     d'<var>octets</var> autoris&eacute;s dans un en-t&ecirc;te de requ&ecirc;te HTTP.</p>
2740
2741     <p>La directive <directive>LimitRequestFieldSize</directive> permet
2742     &agrave; l'administrateur du serveur de d&eacute;finir la taille
2743     maximale autoris&eacute;e d'un en-t&ecirc;te de requ&ecirc;te HTTP. Pour un serveur,
2744     cette valeur doit &ecirc;tre suffisamment grande pour contenir tout
2745     en-t&ecirc;te d'une requ&ecirc;te client normale. La taille d'un champ d'en-t&ecirc;te
2746     de requ&ecirc;te normal va varier selon les impl&eacute;mentations des clients,
2747     et en fonction des extensions que les utilisateurs
2748     configurent dans leurs navigateurs pour supporter la n&eacute;gociation de
2749     contenu d&eacute;taill&eacute;e. Les en-t&ecirc;tes d'authentification SPNEGO peuvent
2750     atteindre une taille de 12392 octets.</p>
2751
2752     <p>>L'administrateur du serveur peut utiliser cette directive pour
2753     contr&ocirc;ler plus efficacement les comportements anormaux des requ&ecirc;tes
2754     des clients, ce qui lui permettra de pr&eacute;venir certaines formes
2755     d'attaques par d&eacute;ni de service.</p>
2756
2757     <p>Par exemple ::</p>
2758
2759     <highlight language="config">LimitRequestFieldSize 4094</highlight>
2760
2761     <note>Dans des conditions normales, la valeur par d&eacute;faut de cette
2762     directive ne doit pas &ecirc;tre modifi&eacute;e.</note>
2763
2764     <note type="warning"><title>Avertissement</title>
2765      <p>Dans le cas des serveurs virtuels &agrave; base de noms, la valeur de
2766      cette directive est extraite du serveur virtuel par d&eacute;faut (le
2767      premier de la liste) pour lequel la paire adresse IP/port
2768      correspond le mieux.</p>
2769     </note>
2770 </usage>
2771 </directivesynopsis>
2772
2773 <directivesynopsis>
2774 <name>LimitRequestLine</name>
2775 <description>D&eacute;finit la taille maximale d'une ligne de requ&ecirc;te
2776 HTTP</description>
2777 <syntax>LimitRequestLine <var>octets</var></syntax>
2778 <default>LimitRequestLine 8190</default>
2779 <contextlist><context>server config</context><context>virtual host</context></contextlist>
2780
2781 <usage>
2782     <p>Cette directive permet de d&eacute;finir la taille maximale autoris&eacute;e
2783     pour une ligne de requ&ecirc;te HTTP en <var>octets</var>.</p>
2784
2785     <p>La directive <directive>LimitRequestLine</directive> permet &agrave;
2786     l'administrateur du serveur de d&eacute;finir la taille
2787     maximale autoris&eacute;e d'une ligne de requ&ecirc;te HTTP client. Comme une
2788     requ&ecirc;te comporte une m&eacute;thode HTTP, un URI, et une version de
2789     protocole, la directive <directive>LimitRequestLine</directive>
2790     impose une restriction sur la longueur maximale autoris&eacute;e pour un
2791     URI dans une requ&ecirc;te au niveau du serveur. Pour un serveur, cette
2792     valeur doit &ecirc;tre suffisamment grande pour r&eacute;f&eacute;rencer les noms de
2793     toutes ses ressources, y compris toutes informations pouvant &ecirc;tre
2794     ajout&eacute;es dans la partie requ&ecirc;te d'une m&eacute;thode <code>GET</code>.</p>
2795
2796     <p>L'administrateur du serveur peut utiliser cette directive pour
2797     contr&ocirc;ler plus efficacement les comportements anormaux des requ&ecirc;tes
2798     des clients, ce qui lui permettra de pr&eacute;venir certaines formes
2799     d'attaques par d&eacute;ni de service.</p>
2800
2801     <p>Par exemple :</p>
2802
2803     <highlight language="config">LimitRequestLine 4094</highlight>
2804
2805     <note>Dans des conditions normales, cette directive doit conserver
2806     sa valeur par d&eacute;faut.</note>
2807
2808     <note type="warning"><title>Avertissement</title>
2809      <p>Dans le cas des serveurs virtuels &agrave; base de noms, la valeur de
2810      cette directive est extraite du serveur virtuel par d&eacute;faut (le
2811      premier de la liste) pour lequel la paire adresse IP/port
2812      correspond le mieux.</p>
2813     </note>
2814
2815 </usage>
2816 </directivesynopsis>
2817
2818 <directivesynopsis>
2819 <name>LimitXMLRequestBody</name>
2820 <description>D&eacute;finit la taille maximale du corps d'une requ&ecirc;te au format
2821 XML</description>
2822 <syntax>LimitXMLRequestBody <var>octets</var></syntax>
2823 <default>LimitXMLRequestBody 1000000</default>
2824 <contextlist><context>server config</context><context>virtual
2825 host</context>
2826 <context>directory</context><context>.htaccess</context></contextlist>
2827 <override>All</override>
2828
2829 <usage>
2830     <p>Taille maximale (en octets) du corps d'une requ&ecirc;te au format XML.
2831     Une valeur de <code>0</code> signifie qu'aucune limite n'est
2832     impos&eacute;e.</p>
2833
2834     <p>Exemple :</p>
2835
2836     <highlight language="config">LimitXMLRequestBody 0</highlight>
2837
2838 </usage>
2839 </directivesynopsis>
2840
2841 <directivesynopsis type="section">
2842 <name>Location</name>
2843 <description>N'applique les directives contenues qu'aux URLs
2844 sp&eacute;cifi&eacute;es</description>
2845 <syntax>&lt;Location
2846     <var>chemin URL</var>|<var>URL</var>&gt; ... &lt;/Location&gt;</syntax>
2847 <contextlist><context>server config</context><context>virtual
2848 host</context>
2849 </contextlist>
2850
2851 <usage>
2852     <p>La directive <directive type="section">Location</directive>
2853     limite la port&eacute;e des directives contenues aux URLs d&eacute;finies par
2854     l'argument URL. Elle est similaire &agrave; la directive <directive
2855     type="section" module="core">Directory</directive>, et marque le
2856     d&eacute;but d'une section qui se termine par une directive
2857     <code>&lt;/Location&gt;</code>. Les sections <directive
2858     type="section">Location</directive> sont trait&eacute;es selon l'ordre dans
2859     lequel elles apparaissent dans le fichier de configuration, mais
2860     apr&egrave;s les sections <directive
2861     type="section" module="core">Directory</directive> et la lecture des
2862     fichiers <code>.htaccess</code>, et apr&egrave;s les sections <directive
2863     type="section" module="core">Files</directive>.</p>
2864
2865     <p>Les sections <directive type="section">Location</directive>
2866     agissent compl&egrave;tement en dehors du syst&egrave;me de fichiers. Ceci a de
2867     nombreuses cons&eacute;quences. Parmi les plus importantes, on ne doit pas
2868     utiliser les sections <directive type="section">Location</directive>
2869     pour contr&ocirc;ler l'acc&egrave;s aux r&eacute;pertoires du syst&egrave;me de fichiers. Comme
2870     plusieurs URLs peuvent correspondre au m&ecirc;me r&eacute;pertoire du syst&egrave;me de
2871     fichiers, un tel contr&ocirc;le d'acc&egrave;s pourrait &ecirc;tre contourn&eacute;.</p>
2872
2873     <p>Les directives que contient cette section seront appliqu&eacute;es aux
2874     requ&ecirc;tes si la partie chemin de l'URL satisfait &agrave; l'un au moins de
2875     ces crit&egrave;res :
2876     </p>
2877     <ul>
2878       <li>Le chemin sp&eacute;cifi&eacute; correspond exactement &agrave; la partie chemin de
2879       l'URL.
2880       </li>
2881       <li>Le chemin sp&eacute;cifi&eacute;, qui se termine par un slash, est un
2882       pr&eacute;fixe de la partie chemin de l'URL (trait&eacute; comme une racine du
2883       contexte).
2884       </li>
2885       <li>Le chemin sp&eacute;cifi&eacute;, si on lui ajoute un slash de fin, est un
2886       pr&eacute;fixe de la partie chemin de l'URL (aussi trait&eacute; comme une racine du
2887       contexte).
2888       </li>
2889     </ul>
2890     <p>
2891     Dans l'exemple ci-dessous, o&ugrave; aucun slash de fin n'est utilis&eacute;, les
2892     directives contenues dans la section s'appliqueront &agrave; /private1,
2893     /private1/ et /private1/file.txt, mais pas &agrave; /private1other. 
2894     </p>
2895     <highlight language="config">
2896 &lt;Location /private1&gt;
2897     #  ...
2898 &lt;/Location&gt;
2899     </highlight>
2900     <p>
2901     De m&ecirc;me, dans l'exemple ci-dessous, o&ugrave; l'on utilise un slash de fin, les
2902     directives contenues dans la section s'appliqueront &agrave; /private2/ et
2903     &agrave; /private2/file.txt, mais pas &agrave; /private2other.
2904     </p>
2905     <highlight language="config">
2906 &lt;Location /private2<em>/</em>&gt;
2907     # ...
2908 &lt;/Location&gt;
2909     </highlight>
2910     
2911     <note><title>Quand utiliser la section <directive
2912     type="section">Location</directive></title>
2913
2914     <p>Vous pouvez utiliser une section <directive
2915     type="section">Location</directive> pour appliquer des directives &agrave;
2916     des contenus situ&eacute;s en dehors du syst&egrave;me de fichiers. Pour les
2917     contenus situ&eacute;s &agrave; l'int&eacute;rieur du syst&egrave;me de fichiers, utilisez
2918     plut&ocirc;t les sections <directive
2919     type="section" module="core">Directory</directive> et <directive
2920     type="section" module="core">Files</directive>. <code>&lt;Location
2921     /&gt;</code> constitue une exception et permet d'appliquer ais&eacute;ment
2922     une configuration &agrave; l'ensemble du serveur.</p>
2923     </note>
2924
2925     <p>Pour toutes les requ&ecirc;tes originales (non mandat&eacute;es), l'argument
2926     URL est un chemin d'URL de la forme
2927     <code>/chemin/</code>. <em>Aucun protocole, nom d'h&ocirc;te, port, ou cha&icirc;ne
2928     de requ&ecirc;te ne doivent appara&icirc;tre.</em> Pour les requ&ecirc;tes mandat&eacute;es, l'URL
2929     sp&eacute;cifi&eacute;e doit &ecirc;tre de la forme
2930     <code>protocole://nom_serveur/chemin</code>, et vous devez inclure
2931     le pr&eacute;fixe.</p>
2932
2933     <p>L'URL peut contenir des caract&egrave;res g&eacute;n&eacute;riques. Dans une cha&icirc;ne
2934     avec caract&egrave;res g&eacute;n&eacute;riques, <code>?</code> correspond &agrave; un caract&egrave;re
2935     quelconque, et <code>*</code> &agrave; toute cha&icirc;ne de caract&egrave;res. Les
2936     caract&egrave;res g&eacute;n&eacute;riques ne peuvent pas remplacer un / dans le chemin
2937     URL.</p>
2938
2939     <p>On peut aussi utiliser les <glossary ref="regex">Expressions
2940     rationnelles</glossary>, moyennant l'addition d'un caract&egrave;re
2941     <code>~</code>. Par exemple :</p>
2942
2943     <highlight language="config">
2944 &lt;Location ~ "/(extra|special)/data"&gt;
2945     #...
2946 &lt;/Location&gt;
2947 </highlight>
2948
2949     <p>concernerait les URLs contenant les sous-cha&icirc;ne
2950     <code>/extra/data</code> ou <code>/special/data</code>. La directive
2951     <directive type="section" module="core">LocationMatch</directive>
2952     pr&eacute;sente un comportement identique &agrave; la version avec expressions
2953     rationnelles de la directive <directive
2954     type="section">Location</directive>, et son utilisation est
2955     pr&eacute;f&eacute;rable &agrave; l'utilisation de cette derni&egrave;re pour la simple raison
2956     qu'il est difficile de distinguer <code>~</code> de <code>-</code>
2957     dans la plupart des fontes.</p>
2958
2959     <p>La directive <directive type="section">Location</directive>
2960     s'utilise principalement avec la directive <directive
2961     module="core">SetHandler</directive>. Par exemple, pour activer les
2962     requ&ecirc;tes d'&eacute;tat, mais ne les autoriser que depuis des navigateurs
2963     appartenant au domaine <code>example.com</code>, vous pouvez
2964     utiliser :</p>
2965
2966     <highlight language="config">
2967 &lt;Location /status&gt;
2968   SetHandler server-status
2969   Require host example.com
2970 &lt;/Location&gt;
2971     </highlight>
2972
2973     <note><title>Note &agrave; propos du slash (/)</title>
2974       <p>La signification du caract&egrave;re slash d&eacute;pend de l'endroit o&ugrave; il
2975       se trouve dans l'URL. Les utilisateurs peuvent &ecirc;tre habitu&eacute;s &agrave;
2976       son comportement dans le syst&egrave;me de fichiers o&ugrave; plusieurs slashes
2977       successifs sont souvent r&eacute;duits &agrave; un slash unique (en d'autres
2978       termes, <code>/home///foo</code> est identique &agrave;
2979       <code>/home/foo</code>). Dans l'espace de nommage des URLs, ce
2980       n'est cependant pas toujours le cas. Pour la directive <directive
2981       type="section" module="core">LocationMatch</directive> et la
2982       version avec expressions rationnelles de la directive <directive
2983       type="section">Location</directive>, vous devez sp&eacute;cifier
2984       explicitement les slashes multiples si telle est votre
2985       intention.</p>
2986
2987       <p>Par exemple, <code>&lt;LocationMatch ^/abc&gt;</code> va
2988       correspondre &agrave; l'URL <code>/abc</code> mais pas &agrave; l'URL <code>
2989       //abc</code>. La directive <directive type="section"
2990       >Location</directive> sans expression rationnelle se comporte de
2991       la m&ecirc;me mani&egrave;re lorsqu'elle est utilis&eacute;e pour des requ&ecirc;tes
2992       mandat&eacute;es. Par contre, lorsque la directive <directive
2993       type="section">Location</directive> sans expression rationnelle
2994       est utilis&eacute;e pour des requ&ecirc;tes non mandat&eacute;es, elle fera
2995       correspondre implicitement les slashes multiples &agrave; des slashes
2996       uniques. Par exemple, si vous sp&eacute;cifiez <code>&lt;Location
2997       /abc/def&gt;</code>, une requ&ecirc;te de la forme
2998       <code>/abc//def</code> correspondra.</p>
2999     </note>
3000 </usage>
3001 <seealso><a href="../sections.html">Comment fonctionnent les sections
3002 &lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
3003 explication de la mani&egrave;re dont ces diff&eacute;rentes sections se combinent
3004 entre elles &agrave; la r&eacute;ception d'une requ&ecirc;te.</seealso>
3005 </directivesynopsis>
3006
3007 <directivesynopsis type="section">
3008 <name>LocationMatch</name>
3009 <description>N'applique les directives contenues qu'aux URLs
3010 correspondant &agrave; une expression rationnelle</description>
3011 <syntax>&lt;LocationMatch
3012     <var>regex</var>&gt; ... &lt;/LocationMatch&gt;</syntax>
3013 <contextlist><context>server config</context><context>virtual
3014 host</context>
3015 </contextlist>
3016
3017 <usage>
3018     <p>La directive <directive type="section">LocationMatch</directive>
3019     limite la port&eacute;e des directives contenues &agrave; l'URL sp&eacute;cifi&eacute;e, de
3020     mani&egrave;re identique &agrave; la directive <directive module="core"
3021     type="section">Location</directive>. Mais son argument permettant de
3022     sp&eacute;cifier les URLs concern&eacute;es est une <glossary
3023     ref="regex">expression rationnelle</glossary> au lieu d'une simple
3024     cha&icirc;ne de caract&egrave;res. Par exemple :</p>
3025
3026     <highlight language="config">
3027 &lt;LocationMatch "/(extra|special)/data"&gt;
3028     # ...
3029 &lt;/LocationMatch&gt;
3030 </highlight>
3031
3032     <p>correspondrait &agrave; toute URL contenant les sous-cha&icirc;nes
3033     <code>/extra/data</code> ou <code>/special/data</code>.</p>
3034
3035     <p>A partir de la version 2.4.8, les groupes nomm&eacute;s et les
3036     r&eacute;f&eacute;rences arri&egrave;res sont extraits et enregistr&eacute;s dans
3037     l'environnement avec leur nom en majuscules et pr&eacute;fix&eacute;
3038     par "MATCH_". Ceci permet
3039     de r&eacute;f&eacute;rencer des URLs dans des <a href="../expr.html">expressions</a>
3040     ou au sein de modules comme <module>mod_rewrite</module>. Pour
3041     &eacute;viter toute confusion, les r&eacute;f&eacute;rences arri&egrave;res num&eacute;rot&eacute;es (non
3042     nomm&eacute;es) sont ignor&eacute;es. Vous devez utiliser &agrave; la place des groupes
3043     nomm&eacute;s.</p>
3044
3045 <highlight language="config">
3046 &lt;LocationMatch ^/combined/(?&lt;sitename&gt;[^/]+)&gt;
3047     require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
3048 &lt;/LocationMatch&gt;
3049 </highlight>    
3050 </usage>
3051 <seealso><a href="../sections.html">Comment fonctionnent les sections
3052 &lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
3053 explication de la mani&egrave;re dont ces diff&eacute;rentes sections se combinent
3054 entre elles &agrave; la r&eacute;ception d'une requ&ecirc;te.</seealso>
3055 </directivesynopsis>
3056
3057 <directivesynopsis>
3058 <name>LogLevel</name>
3059 <description>Contr&ocirc;le la verbosit&eacute; du journal des erreurs</description>
3060 <syntax>LogLevel [<var>module</var>:]<var>niveau</var>
3061     [<var>module</var>:<var>niveau</var>] ...
3062 </syntax>
3063 <default>LogLevel warn</default>
3064 <contextlist><context>server config</context><context>virtual
3065 host</context><context>directory</context>
3066 </contextlist>
3067 <compatibility>La configuration du niveau de journalisation par module
3068 et par r&eacute;pertoire est disponible depuis la version 2.3.6 du serveur HTTP
3069 Apache</compatibility>
3070 <usage>
3071     <p>La directive <directive>LogLevel</directive> permet d'ajuster la
3072     verbosit&eacute; des messages enregistr&eacute;s dans les journaux d'erreur (voir
3073     la directive <directive module="core">ErrorLog</directive>
3074     directive). Les <var>niveau</var>x disponibles sont pr&eacute;sent&eacute;s
3075     ci-apr&egrave;s, par ordre de criticit&eacute; d&eacute;croissante :</p>
3076
3077     <table border="1">
3078     <columnspec><column width=".2"/><column width=".3"/><column width=".5"/>
3079     </columnspec>
3080       <tr>
3081         <th><strong>Niveau</strong> </th>
3082
3083         <th><strong>Description</strong> </th>
3084
3085         <th><strong>Exemple</strong> </th>
3086       </tr>
3087
3088       <tr>
3089         <td><code>emerg</code> </td>
3090
3091         <td>Urgences - le syst&egrave;me est inutilisable.</td>
3092
3093         <td>"Child cannot open lock file. Exiting"</td>
3094       </tr>
3095
3096       <tr>
3097         <td><code>alert</code> </td>
3098
3099         <td>Des mesures doivent &ecirc;tre prises imm&eacute;diatement.</td>
3100
3101         <td>"getpwuid: couldn't determine user name from uid"</td>
3102       </tr>
3103
3104       <tr>
3105         <td><code>crit</code> </td>
3106
3107         <td>Conditions critiques.</td>
3108
3109         <td>"socket: Failed to get a socket, exiting child"</td>
3110       </tr>
3111
3112       <tr>
3113         <td><code>error</code> </td>
3114
3115         <td>Erreurs.</td>
3116
3117         <td>"Premature end of script headers"</td>
3118       </tr>
3119
3120       <tr>
3121         <td><code>warn</code> </td>
3122
3123         <td>Avertissements.</td>
3124
3125         <td>"child process 1234 did not exit, sending another
3126         SIGHUP"</td>
3127       </tr>
3128
3129       <tr>
3130         <td><code>notice</code> </td>
3131
3132         <td>Ev&egrave;nement important mais normal.</td>
3133
3134         <td>"httpd: caught SIGBUS, attempting to dump core in
3135         ..."</td>
3136       </tr>
3137
3138       <tr>
3139         <td><code>info</code> </td>
3140
3141         <td>Informations.</td>
3142
3143         <td>"Server seems busy, (you may need to increase
3144         StartServers, or Min/MaxSpareServers)..."</td>
3145       </tr>
3146
3147       <tr>
3148         <td><code>debug</code> </td>
3149
3150         <td>Messages de d&eacute;bogage.</td>
3151
3152         <td>"Opening config file ..."</td>
3153       </tr>
3154       <tr>
3155         <td><code>trace1</code> </td>
3156
3157         <td>Messages de traces</td>
3158
3159         <td>"proxy: FTP: control connection complete"</td>
3160       </tr>
3161       <tr>
3162         <td><code>trace2</code> </td>
3163
3164         <td>Messages de traces</td>
3165
3166         <td>"proxy: CONNECT: sending the CONNECT request to the remote proxy"</td>
3167       </tr>
3168       <tr>
3169         <td><code>trace3</code> </td>
3170
3171         <td>Messages de traces</td>
3172
3173         <td>"openssl: Handshake: start"</td>
3174       </tr>
3175       <tr>
3176         <td><code>trace4</code> </td>
3177
3178         <td>Messages de traces</td>
3179
3180         <td>"read from buffered SSL brigade, mode 0, 17 bytes"</td>
3181       </tr>
3182       <tr>
3183         <td><code>trace5</code> </td>
3184
3185         <td>Messages de traces</td>
3186
3187         <td>"map lookup FAILED: map=rewritemap key=keyname"</td>
3188       </tr>
3189       <tr>
3190         <td><code>trace6</code> </td>
3191
3192         <td>Messages de traces</td>
3193
3194         <td>"cache lookup FAILED, forcing new map lookup"</td>
3195       </tr>
3196       <tr>
3197         <td><code>trace7</code> </td>
3198
3199         <td>Messages de traces, enregistrement d'une grande quantit&eacute; de
3200         donn&eacute;es</td>
3201
3202         <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td>
3203       </tr>
3204       <tr>
3205         <td><code>trace8</code> </td>
3206
3207         <td>Messages de traces, enregistrement d'une grande quantit&eacute; de
3208         donn&eacute;es</td>
3209
3210         <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td>
3211       </tr>
3212     </table>
3213
3214     <p>Lorsqu'un niveau particulier est sp&eacute;cifi&eacute;, les messages de tous
3215     les autres niveaux de criticit&eacute; sup&eacute;rieure seront aussi enregistr&eacute;s.
3216     <em>Par exemple</em>, si <code>LogLevel info</code> est sp&eacute;cifi&eacute;,
3217     les messages de niveaux <code>notice</code> et <code>warn</code>
3218     seront aussi &eacute;mis.</p>
3219
3220     <p>Il est recommand&eacute; d'utiliser un niveau <code>crit</code> ou
3221     inf&eacute;rieur.</p>
3222
3223     <p>Par exemple :</p>
3224
3225     <highlight language="config">LogLevel notice</highlight>
3226
3227     <note><title>Note</title>
3228       <p>Si la journalisation s'effectue directement dans un fichier,
3229       les messages de niveau <code>notice</code> ne peuvent pas &ecirc;tre
3230       supprim&eacute;s et sont donc toujours journalis&eacute;s. Cependant, ceci ne
3231       s'applique pas lorsque la journalisation s'effectue vers
3232       <code>syslog</code>.</p>
3233     </note>
3234     
3235     <p>Sp&eacute;cifier un niveau sans nom de module va attribuer ce niveau &agrave;
3236     tous les modules. Sp&eacute;cifier un niveau avec nom de module va
3237     attribuer ce niveau &agrave; ce module seulement. Il est possible de
3238     sp&eacute;cifier un module par le nom de son fichier source ou par son
3239     identificateur, avec ou sans le suffixe <code>_module</code>. Les
3240     trois sp&eacute;cifications suivantes sont donc &eacute;quivalentes :</p>
3241
3242     <highlight language="config">
3243 LogLevel info ssl:warn
3244 LogLevel info mod_ssl.c:warn
3245 LogLevel info ssl_module:warn
3246     </highlight>
3247
3248     <p>Il est aussi possible d'attribuer un niveau de journalisation par
3249     r&eacute;pertoire :</p>
3250
3251     <highlight language="config">
3252 LogLevel info
3253 &lt;Directory "/usr/local/apache/htdocs/app"&gt;
3254   LogLevel debug
3255 &lt;/Directory&gt;
3256     </highlight>
3257
3258     <note>
3259         La configuration du niveau de journalisation par r&eacute;pertoire
3260         n'affecte que les messages journalis&eacute;s apr&egrave;s l'interpr&eacute;tation de
3261         la requ&ecirc;te et qui sont associ&eacute;s &agrave; cette derni&egrave;re. Les messages
3262         de journalisation associ&eacute;s au serveur ou &agrave; la connexion ne sont
3263         pas affect&eacute;s. Il est cependant possible d'agir sur ces
3264         derniers &agrave; l'aide de la directive <directive
3265         module="core">LogLevelOverride</directive>.
3266     </note>
3267 </usage>
3268 <seealso><directive module="core">ErrorLog</directive></seealso>
3269 <seealso><directive module="core">ErrorLogFormat</directive></seealso>
3270 <seealso><directive module="core">LogLevelOverride</directive></seealso>
3271 <seealso><a href="../logs.html">Journaux du serveur HTTP Apache</a></seealso>
3272 </directivesynopsis>
3273
3274 <directivesynopsis>
3275 <name>LogLevelOverride</name>
3276 <description>Surcharge la verbosit&eacute; du journal des erreurs pour certains
3277 clients</description>
3278 <syntax>LogLevel <var>ipaddress</var>[/<var>prefixlen</var>]
3279     [<var>module</var>:]<var>level</var> [<var>module</var>:<var>level</var>] ...
3280 </syntax>
3281 <default>non d&eacute;finie</default>
3282 <contextlist><context>server config</context><context>virtual host</context>
3283 </contextlist>
3284 <compatibility>Disponible &agrave; partir de la version 2.5.0 du serveur HTTP
3285 Apache.</compatibility>
3286
3287 <usage>
3288     <p>La directive <directive>LogLevelOverride</directive> permet
3289     d'affiner la d&eacute;finition de la directive <directive
3290     module="core">LogLevel</directive> pour les requ&ecirc;tes en provenance
3291     de certaines adresses IP. Il est ainsi possible d'activer une
3292     journalisation d&eacute;taill&eacute;e seulement pour certains clients &agrave; des fins
3293     de test. Les adresses IP sont v&eacute;rifi&eacute;es &agrave; un stade tr&egrave;s pr&eacute;coce du
3294     processus de connexion. Ainsi, la directive
3295     <directive>LogLevelOverride</directive> permet de modifier le niveau
3296     de journalisation pour des processus comme la n&eacute;gociation SSL qui
3297     intervient avant l'&eacute;valuation d'une &eacute;ventuelle directive <directive
3298     module="core">LogLevel</directive> au sein d'un conteneur <directive
3299     type="section" module="core">If</directive>.</p>
3300
3301     <p>La directive <directive>LogLevelOverride</directive> accepte soit
3302     une adresse IP simple, soit une sp&eacute;cification de sous-r&eacute;seau CIDR de
3303     la forme adresse-IP/masque. Pour la syntaxe de la sp&eacute;cification du
3304     niveau de journalisation, voir la directive <directive
3305     module="core">LogLevel</directive> directive.</p>
3306
3307     <p>Pour les requ&ecirc;tes concern&eacute;es par une directive
3308     <directive>LogLevelOverride</directive>, les sp&eacute;cifications de
3309     niveau r&eacute;pertoire de la directive <directive
3310     module="core">LogLevel</directive> sont ignor&eacute;es.</p>
3311
3312     <p>Exemples:</p>
3313
3314     <highlight language="config">
3315         LogLevelOverride 192.0.2.0/24 ssl:trace6
3316         LogLevelOverride 192.0.2.7 ssl:trace8
3317     </highlight>
3318
3319     <note>
3320         La directive <directive
3321         module="core">LogLevelOverride</directive> n'affecte que les
3322         messages associ&eacute;s &agrave; la requ&ecirc;te ou &agrave; la connexion. Les messages
3323         associ&eacute;s au serveur ne sont pas affect&eacute;s.
3324     </note>
3325
3326 </usage>
3327 <seealso><directive module="core">LogLevel</directive></seealso>
3328 </directivesynopsis>
3329
3330 <directivesynopsis>
3331 <name>MaxKeepAliveRequests</name>
3332 <description>Nombre de requ&ecirc;tes permises pour une connexion
3333 persistante</description>
3334 <syntax>MaxKeepAliveRequests <var>nombre</var></syntax>
3335 <default>MaxKeepAliveRequests 100</default>
3336 <contextlist><context>server config</context><context>virtual
3337 host</context>
3338 </contextlist>
3339
3340 <usage>
3341     <p>La directive <directive>MaxKeepAliveRequests</directive> permet
3342     de limiter le nombre de requ&ecirc;tes autoris&eacute;es par connexion lorsque
3343     <directive module="core" >KeepAlive</directive> est &agrave; "on". Si sa
3344     valeur est <code>0</code>, le nombre de requ&ecirc;tes autoris&eacute;es est
3345     illimit&eacute;. Il est recommand&eacute; de d&eacute;finir une valeur assez haute pour
3346     des performances du serveur maximales.</p>
3347
3348     <p>Par exemple :</p>
3349
3350     <highlight language="config">MaxKeepAliveRequests 500</highlight>
3351 </usage>
3352 </directivesynopsis>
3353
3354 <directivesynopsis>
3355 <name>MaxRanges</name>
3356 <description>Nombre de segments de donn&eacute;es autoris&eacute; avant le renvoi de
3357 l'int&eacute;gralit&eacute; de la ressource</description>
3358 <syntax>MaxRanges default | unlimited | none | <var>nombre de segments</var></syntax>
3359 <default>MaxRanges 200</default>
3360 <contextlist><context>server config</context><context>virtual host</context>
3361 <context>directory</context>
3362 </contextlist>
3363 <compatibility>Disponible depuis la version 2.3.15 du serveur HTTP
3364 Apache</compatibility>
3365
3366 <usage>
3367     <p>La directive <directive>MaxRanges</directive> permet de limiter
3368     le nombre de segments de donn&eacute;es que le serveur va renvoyer au
3369     client. Si un nombre de segments plus important est demand&eacute;, la
3370     ressource sera renvoy&eacute;e dans son int&eacute;gralit&eacute;.</p>
3371
3372     <dl>  
3373       <dt><strong>default</strong></dt>
3374       <dd>Limite le nombre de segments de donn&eacute;es &agrave; 200 (valeur par
3375       d&eacute;faut d&eacute;finie &agrave; la compilation).</dd>
3376    
3377       <dt><strong>none</strong></dt>
3378       <dd>Les en-t&ecirc;tes Range sont ignor&eacute;s.</dd>
3379           
3380       <dt><strong>unlimited</strong></dt>
3381       <dd>Le nombre de segments de donn&eacute;es est illimit&eacute;.</dd>
3382
3383       <dt><var>nombre de segments</var></dt>
3384       <dd>Un nombre positif repr&eacute;sentera la nombre de segments de
3385       donn&eacute;es maximal que le serveur renverra au client.</dd>
3386     </dl>
3387 </usage>
3388 </directivesynopsis>
3389
3390 <directivesynopsis>
3391 <name>MaxRangeOverlaps</name>
3392     <description>Nombre de chevauchements de segments de donn&eacute;es autoris&eacute;
3393     (par exemple <code>100-200,150-300</code>) avant le renvoi de la
3394     ressource compl&egrave;te</description>
3395     <syntax>MaxRangeOverlaps default | unlimited | none | <var>nombre de
3396     chevauchements</var></syntax>
3397     <default>MaxRangeOverlaps 20</default>
3398     <contextlist><context>server config</context><context>virtual host</context>
3399         <context>directory</context>
3400     </contextlist>
3401     <compatibility>Disponible depuis la version 2.3.15 du serveur HTTP
3402     Apache</compatibility>
3403
3404     <usage>
3405         <p>La directive <directive>MaxRangeOverlaps</directive> permet
3406         de limiter le nombre de chevauchements de segments de donn&eacute;es HTTP
3407         autoris&eacute; par le serveur. Si le nombre de
3408         chevauchements de segments demand&eacute; est sup&eacute;rieur au nombre maximal
3409         autoris&eacute;, la ressource sera renvoy&eacute;e dans son int&eacute;gralit&eacute;.</p>
3410
3411         <dl>
3412             <dt><strong>default</strong></dt>
3413             <dd>Limite le nombre de chevauchements de segments &agrave; la valeur
3414             par d&eacute;faut 20 d&eacute;finie &agrave; la compilation.</dd>
3415
3416             <dt><strong>none</strong></dt>
3417             <dd>Aucun chevauchement de segment n'est autoris&eacute;.</dd>
3418
3419             <dt><strong>unlimited</strong></dt>
3420             <dd>Le nombre de chevauchements de segments est illimit&eacute;.</dd>
3421
3422             <dt><var>number-of-ranges</var></dt>
3423             <dd>Un nombre positif repr&eacute;sente le nombre maximal de
3424             chevauchements de segments autoris&eacute; par le serveur.</dd>
3425         </dl>
3426     </usage>
3427 </directivesynopsis>
3428
3429 <directivesynopsis>
3430     <name>MaxRangeReversals</name>
3431     <description>Nombre d'inversions d'ordre autoris&eacute; dans la sp&eacute;cification des
3432     segments de donn&eacute;es (par exemple <code>100-200,50-70</code>) avant le renvoi de la
3433     ressource compl&egrave;te</description>
3434     <syntax>MaxRangeReversals default | unlimited | none | <var>nombre
3435     d'inversions</var></syntax>
3436     <default>MaxRangeReversals 20</default>
3437     <contextlist><context>server config</context><context>virtual host</context>
3438         <context>directory</context>
3439     </contextlist>
3440     <compatibility>Disponible depuis la version 2.3.15 du serveur HTTP
3441     Apache</compatibility>
3442
3443     <usage>
3444         <p>La directive <directive>MaxRangeReversals</directive> permet
3445         de limiter le nombre d'inversions d'ordre dans la sp&eacute;cification
3446         des segments de donn&eacute;es HTTP
3447         autoris&eacute; par le serveur. Si le nombre
3448         d'inversions demand&eacute; est sup&eacute;rieur au nombre maximal
3449         autoris&eacute;, la ressource sera renvoy&eacute;e dans son int&eacute;gralit&eacute;.</p>
3450
3451         <dl>
3452             <dt><strong>default</strong></dt>
3453             <dd>Limite le nombre d'inversions &agrave; la valeur
3454             par d&eacute;faut 20 d&eacute;finie &agrave; la compilation.</dd>
3455
3456             <dt><strong>none</strong></dt>
3457             <dd>Aucune inversion n'est autoris&eacute;e.</dd>
3458
3459             <dt><strong>unlimited</strong></dt>
3460             <dd>Le nombre d'inversions est illimit&eacute;.</dd>
3461
3462             <dt><var>number-of-ranges</var></dt>
3463             <dd>Un nombre positif repr&eacute;sente le nombre maximal
3464             d'inversions autoris&eacute; par le serveur.</dd>
3465         </dl>
3466     </usage>
3467 </directivesynopsis>
3468
3469 <directivesynopsis>
3470 <name>Mutex</name>
3471 <description>D&eacute;finit les m&eacute;canismes de mutex et le repertoire du fichier
3472 verrou pour tous les mutex ou seulement les mutex sp&eacute;cifi&eacute;s</description>
3473 <syntax>Mutex <var>m&eacute;canisme</var> [default|<var>nom-mutex</var>] ... [OmitPID]</syntax>
3474 <default>Mutex default</default>
3475 <contextlist><context>server config</context></contextlist>
3476 <compatibility>Disponible depuis la version 2.3.4 du serveur HTTP Apache</compatibility>
3477
3478 <usage>
3479     <p>La directive <directive>Mutex</directive> permet de d&eacute;finir le
3480     m&eacute;canisme de mutex, et &eacute;ventuellement le r&eacute;pertoire du fichier
3481     verrou que les modules et httpd utilisent pour s&eacute;rialiser l'acc&egrave;s aux
3482     ressources. Sp&eacute;cifiez <code>default</code> comme premier argument
3483     pour modifier la configuration de tous les mutex ; sp&eacute;cifiez un nom
3484     de mutex (voir la table ci-dessous) comme premier argument pour
3485     ne modifier que la configuration de ce mutex.</p>
3486
3487     <p>La directive <directive>Mutex</directive> est typiquement
3488     utilis&eacute;e dans les situations exceptionnelles suivantes :</p>
3489
3490     <ul>
3491         <li>choix d'un autre m&eacute;canisme de mutex lorsque le m&eacute;canisme par
3492         d&eacute;faut s&eacute;lectionn&eacute; par <glossary>APR</glossary> pr&eacute;sente un
3493         probl&egrave;me de fonctionnement ou de performances.</li>
3494
3495         <li>choix d'un autre r&eacute;pertoire utilis&eacute; par les mutex &agrave; base de
3496         fichier lorsque le r&eacute;pertoire par d&eacute;faut ne supporte pas le
3497         verrouillage</li>
3498     </ul>
3499
3500     <note><title>Modules support&eacute;s</title>
3501     <p>Cette directive ne configure que les mutex qui ont &eacute;t&eacute;
3502     enregistr&eacute;s avec le serveur de base via l'API
3503     <code>ap_mutex_register()</code>. Tous les modules fournis avec
3504     httpd supportent la directive <directive>Mutex</directive>, mais il
3505     n'en sera pas forc&eacute;ment de m&ecirc;me pour les modules tiers.
3506     Reportez-vous &agrave; la documentation du module tiers consid&eacute;r&eacute; afin de
3507     d&eacute;terminer le(s) nom(s) de mutex qui pourront &ecirc;tre d&eacute;finis si la
3508     directive est support&eacute;e.</p>
3509     </note>
3510
3511     
3512
3513     <p>Les <em>m&eacute;canismes</em> de mutex disponibles sont les suivants :</p>
3514     <ul>
3515         <li><code>default | yes</code>
3516         <p>C'est l'impl&eacute;mentation du verrouillage par d&eacute;faut, telle
3517         qu'elle est d&eacute;finie par <glossary>APR</glossary>. On peut
3518         afficher l'impl&eacute;mentation du verrouillage par d&eacute;faut via la
3519         commande <program>httpd</program> avec l'option <code>-V</code>.</p></li>
3520
3521         <li><code>none | no</code>
3522         <p>Le mutex est d&eacute;sactiv&eacute;, et cette valeur n'est permise pour un
3523         mutex que si le module indique qu'il s'agit d'un choix valide.
3524         Consultez la documentation du module pour plus d'informations.</p></li>
3525
3526         <li><code>posixsem</code>
3527         <p>Une variante de mutex bas&eacute;e sur un s&eacute;maphore Posix.</p>
3528
3529         <note type="warning"><title>Avertissement</title>
3530         <p>La propri&eacute;t&eacute; du s&eacute;maphore n'est pas restitu&eacute;e si un thread du
3531         processus g&eacute;rant le mutex provoque une erreur de segmentation,
3532         ce qui provoquera un blocage du serveur web.</p>
3533         </note>
3534         </li>
3535
3536         <li><code>sysvsem</code>
3537         <p>Une variante de mutex bas&eacute;e sur un s&eacute;maphore IPC SystemV.</p>
3538
3539         <note type="warning"><title>Avertissement</title>
3540         <p>Il peut arriver que les s&eacute;maphores SysV soient conserv&eacute;s si le
3541         processus se crashe avant que le s&eacute;maphore ne soit supprim&eacute;.</p>
3542         </note>
3543
3544         <note type="warning"><title>S&eacute;curit&eacute;</title>
3545         <p>L'API des s&eacute;maphores permet les attaques par d&eacute;ni de service
3546         par tout programme CGI s'ex&eacute;cutant sous le m&ecirc;me uid que le
3547         serveur web (autrement dit tous les programmes CGI, &agrave; moins que
3548         vous n'utilisiez un programme du style <program>suexec</program>
3549         ou <code>cgiwrapper</code>).</p>
3550         </note>
3551         </li>
3552
3553         <li><code>sem</code>
3554         <p>S&eacute;lection de la "meilleure" impl&eacute;mentation des s&eacute;maphores
3555         disponible ; le choix s'effectue entre les s&eacute;maphores posix et
3556         IPC SystemV, dans cet ordre.</p></li>
3557
3558         <li><code>pthread</code>
3559         <p>Une variante de mutex &agrave; base de mutex de thread Posix
3560         inter-processus.</p>
3561
3562         <note type="warning"><title>Avertissement</title>
3563         <p>Sur la plupart des syst&egrave;mes, si un processus enfant se
3564         termine anormalement alors qu'il d&eacute;tenait un mutex qui utilise
3565         cette impl&eacute;mentation, le serveur va se bloquer et cesser de
3566         r&eacute;pondre aux requ&ecirc;tes. Dans ce cas, un red&eacute;marrage manuel est
3567         n&eacute;cessaire pour r&eacute;cup&eacute;rer le mutex.</p>
3568         <p>Solaris constitue une exception notable, en ceci qu'il fournit
3569         un m&eacute;canisme qui permet en g&eacute;n&eacute;ral de r&eacute;cup&eacute;rer le mutex apr&egrave;s
3570         l'arr&ecirc;t anormal d'un processus enfant qui d&eacute;tenait le mutex.</p>
3571         <p>Si votre syst&egrave;me impl&eacute;mente la fonction
3572         <code>pthread_mutexattr_setrobust_np()</code>, vous devriez
3573         pouvoir utiliser l'option <code>pthread</code> sans probl&egrave;me.</p>
3574         </note>
3575         </li>
3576
3577         <li><code>fcntl:/chemin/vers/mutex</code>
3578         <p>Une variante de mutex utilisant un fichier verrou physique et
3579         la fonction <code>fcntl()</code>.</p>
3580
3581         <note type="warning"><title>Avertissement</title>
3582         <p>Lorsqu'on utilise plusieurs mutex bas&eacute;s sur ce m&eacute;canisme dans
3583         un environnement multi-processus, multi-thread, des erreurs de
3584         blocage (EDEADLK) peuvent &ecirc;tre rapport&eacute;es pour des op&eacute;rations de
3585         mutex valides si la fonction <code>fcntl()</code> ne g&egrave;re pas
3586         les threads, comme sous Solaris.</p>
3587         </note>
3588         </li>
3589
3590         <li><code>flock:/chemin/vers/mutex</code>
3591         <p>M&eacute;thode similaire &agrave; <code>fcntl:/chemin/vers/mutex</code>,
3592         mais c'est la fonction <code>flock()</code> qui est utilis&eacute;e
3593         pour g&eacute;rer le verrouillage par fichier.</p></li>
3594
3595         <li><code>file:/chemin/vers/mutex</code>
3596         <p>S&eacute;lection de la "meilleure" impl&eacute;mentation de verrouillage
3597         par fichier disponible ; le choix s'effectue entre
3598         <code>fcntl</code> et <code>flock</code>, dans cet ordre.</p></li>
3599     </ul>
3600
3601     <p>La plupart des m&eacute;canismes ne sont disponibles que sur les
3602     plate-formes o&ugrave; ces derni&egrave;res et <glossary>APR</glossary> les
3603     supportent. Les m&eacute;canismes qui ne sont pas disponibles sur toutes
3604     les plate-formes sont <em>posixsem</em>,
3605     <em>sysvsem</em>, <em>sem</em>, <em>pthread</em>, <em>fcntl</em>, 
3606     <em>flock</em>, et <em>file</em>.</p>
3607
3608     <p>Avec les m&eacute;canismes &agrave; base de fichier <em>fcntl</em> et
3609     <em>flock</em>, le chemin, s'il est fourni, est un r&eacute;pertoire dans
3610     lequel le fichier verrou sera cr&eacute;&eacute;. Le r&eacute;pertoire par d&eacute;faut est le
3611     r&eacute;pertoire d'ex&eacute;cution httpd d&eacute;fini par la directive <directive
3612     module="core">DefaultRuntimeDir</directive>. Si le r&eacute;pertoire
3613     sp&eacute;cifi&eacute; est un chemin relatif, il est relatif au chemin d&eacute;fini par
3614     la directive <directive module="core">DefaultRuntimeDir</directive>.
3615     Utilisez toujours un syst&egrave;me
3616     de fichiers local sur disque pour <code>/chemin/vers/mutex</code> et
3617     jamais un r&eacute;pertoire se trouvant dans un syst&egrave;me de fichiers NFS ou
3618     AFS. Le nom de base du fichier se composera du type de mutex, d'une
3619     cha&icirc;ne optionnelle correspondant &agrave; l'instance et fournie par le
3620     module ; et, sauf si le mot-cl&eacute; <code>OmitPID</code> a &eacute;t&eacute; sp&eacute;cifi&eacute;,
3621     l'identificateur du processus parent httpd sera ajout&eacute; afin de
3622     rendre le nom du fichier unique, &eacute;vitant ainsi tout conflit lorsque
3623     plusieurs instances d'httpd partagent le m&ecirc;me r&eacute;pertoire de
3624     verrouillage. Par exemple, si le nom de mutex est
3625     <code>mpm-accept</code>, et si le r&eacute;pertoire de verrouillage est
3626     <code>/var/httpd/locks</code>, le nom du fichier verrou pour
3627     l'instance httpd dont le processus parent a pour identifiant 12345
3628     sera <code>/var/httpd/locks/mpm-accept.12345</code>.</p>
3629
3630     <note type="warning"><title>S&eacute;curit&eacute;</title>
3631     <p>Il est conseill&eacute; d'<em>&eacute;viter</em> de placer les fichiers mutex
3632     dans un r&eacute;pertoire o&ugrave; tout le monde peut &eacute;crire comme
3633     <code>/var/tmp</code>, car quelqu'un pourrait initier une attaque
3634     par d&eacute;ni de service et emp&ecirc;cher le serveur de d&eacute;marrer en cr&eacute;ant un
3635     fichier verrou poss&eacute;dant un nom identique &agrave; celui que le serveur va
3636     tenter de cr&eacute;er.</p>
3637     </note>
3638
3639     <p>La table suivante d&eacute;crit les noms de mutex utilis&eacute;s par httpd et
3640     ses modules associ&eacute;s.</p>
3641
3642     <table border="1" style="zebra">
3643         <tr>
3644             <th>Nom mutex</th>
3645             <th>Module(s)</th>
3646             <th>Ressource prot&eacute;g&eacute;e</th>
3647         </tr>
3648         <tr>
3649             <td><code>mpm-accept</code></td>
3650             <td>modules MPM <module>prefork</module> et <module>worker</module></td>
3651             <td>connexions entrantes, afin d'&eacute;viter le probl&egrave;me de
3652             l'afflux de requ&ecirc;tes ; pour plus d'informations, voir la
3653             documentation <a
3654             href="../misc/perf-tuning.html">Am&eacute;lioration des
3655             performances</a></td>
3656         </tr>
3657         <tr>
3658             <td><code>authdigest-client</code></td>
3659             <td><module>mod_auth_digest</module></td>
3660             <td>liste de clients en m&eacute;moire partag&eacute;e</td>
3661         </tr>
3662         <tr>
3663             <td><code>authdigest-opaque</code></td>
3664             <td><module>mod_auth_digest</module></td>
3665             <td>compteur en m&eacute;moire partag&eacute;e</td>
3666         </tr>
3667         <tr>
3668             <td><code>ldap-cache</code></td>
3669             <td><module>mod_ldap</module></td>
3670             <td>cache de r&eacute;sultat de recherche LDAP</td>
3671         </tr>
3672         <tr>
3673             <td><code>rewrite-map</code></td>
3674             <td><module>mod_rewrite</module></td>
3675             <td>communication avec des programmes externes
3676             d'associations de valeurs, afin d'&eacute;viter les interf&eacute;rences
3677             d'entr&eacute;es/sorties entre plusieurs requ&ecirc;tes</td>
3678         </tr>
3679         <tr>
3680             <td><code>ssl-cache</code></td>
3681             <td><module>mod_ssl</module></td>
3682             <td>cache de session SSL</td>
3683         </tr>
3684         <tr>
3685             <td><code>ssl-stapling</code></td>
3686             <td><module>mod_ssl</module></td>
3687             <td>cache de l'&eacute;tiquetage OCSP ("OCSP stapling")</td>
3688         </tr>
3689         <tr>
3690             <td><code>watchdog-callback</code></td>
3691             <td><module>mod_watchdog</module></td>
3692             <td>fonction de rappel d'un module client particulier</td>
3693         </tr>
3694     </table>
3695
3696     <p>Le mot-cl&eacute; <code>OmitPID</code> permet d'emp&ecirc;cher l'addition de
3697     l'identifiant du processus httpd parent au nom du fichier verrou.</p>
3698
3699
3700     <p>Dans l'exemple suivant, le m&eacute;canisme de mutex pour le mutex
3701     mpm-accept est modifi&eacute; pour passer du m&eacute;canisme par d&eacute;faut au
3702     m&eacute;canisme <code>fcntl</code>, avec le fichier verrou associ&eacute; cr&eacute;&eacute;
3703     dans le r&eacute;pertoire <code>/var/httpd/locks</code>. Le m&eacute;canisme de
3704     mutex par d&eacute;faut pour tous les autres mutex deviendra
3705     <code>sysvsem</code>.</p>
3706
3707     <highlight language="config">
3708 Mutex sysvsem default
3709 Mutex fcntl:/var/httpd/locks mpm-accept
3710     </highlight>
3711 </usage>
3712 </directivesynopsis>
3713
3714 <directivesynopsis>
3715 <name>NameVirtualHost</name>
3716 <description>OBSOLETE : D&eacute;finit une adresse IP pour les serveurs virtuels &agrave; base de
3717 nom</description>
3718 <syntax>NameVirtualHost <var>adresse</var>[:<var>port</var>]</syntax>
3719 <contextlist><context>server config</context></contextlist>
3720
3721 <usage>
3722
3723     <p>Avant la version 2.3.11, il &eacute;tait n&eacute;cessaire de d&eacute;finir une
3724     directive <directive>NameVirtualHost</directive> pour indiquer au
3725     serveur qu'une paire adresse IP/port particuli&egrave;re pouvait &ecirc;tre
3726     utilis&eacute;e comme serveur virtuel &agrave; base de nom. Depuis la version
3727     2.3.11, chaque fois qu'une paire adresse IP/port est utilis&eacute;e dans
3728     plusieurs serveurs virtuels, l'h&eacute;bergement virtuel &agrave; base de nom est
3729     automatiquement activ&eacute; pour cette adresse.</p>
3730     
3731     <p>Cette directive n'a actuellement plus aucun effet.</p>
3732 </usage>
3733
3734 <seealso><a href="../vhosts/">Documentation sur les serveurs
3735 virtuels</a></seealso>
3736
3737 </directivesynopsis>
3738
3739 <directivesynopsis>
3740 <name>Options</name>
3741 <description>D&eacute;finit les fonctionnalit&eacute;s disponibles pour un r&eacute;pertoire
3742 particulier</description>
3743 <syntax>Options
3744     [+|-]<var>option</var> [[+|-]<var>option</var>] ...</syntax>
3745 <default>Options FollowSymlinks</default>
3746 <contextlist><context>server config</context><context>virtual
3747 host</context>
3748 <context>directory</context><context>.htaccess</context>
3749 </contextlist>
3750 <override>Options</override>
3751 <compatibility>Avec la version 2.3.11, la valeur par d&eacute;faut passe de All
3752 &agrave; FollowSymlinks</compatibility>
3753
3754 <usage>
3755     <p>La directive <directive>Options</directive> permet de d&eacute;finir
3756     les fonctionnalit&eacute;s de serveur disponibles pour un r&eacute;pertoire
3757     particulier.</p>
3758
3759     <p><var>option</var> peut &ecirc;tre d&eacute;fini &agrave; <code>None</code>, auquel
3760     cas aucune fonctionnalit&eacute; sp&eacute;cifique n'est activ&eacute;e, ou comprendre
3761     une ou plusieurs des options suivantes :</p>
3762
3763     <dl>
3764       <dt><code>All</code></dt>
3765
3766       <dd>Toutes les options except&eacute; <code>MultiViews</code>.</dd>
3767
3768       <dt><code>ExecCGI</code></dt>
3769
3770       <dd>L'ex&eacute;cution de scripts CGI &agrave; l'aide du module
3771       <module>mod_cgi</module> est permise.</dd>
3772
3773       <dt><code>FollowSymLinks</code></dt>
3774
3775       <dd>
3776
3777       Le serveur va suivre les liens symboliques dans le r&eacute;pertoire
3778       concern&eacute;. Il s'agit de la valeur par d&eacute;faut.
3779       <note>
3780       <p>Bien que le serveur suive les liens symboliques, il ne modifie
3781       <em>pas</em> le nom de chemin concern&eacute; d&eacute;fini par la section
3782       <directive type="section"
3783       module="core">Directory</directive>.</p>
3784       
3785       <p>Les options <code>FollowSymLinks</code> et
3786       <code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les
3787       sections <directive type="section"
3788       module="core">Directory</directive> ou les fichiers
3789       <code>.htaccess</code>.</p>
3790
3791       <p>Le fait d'omettre cette option ne doit pas &ecirc;tre consid&eacute;r&eacute; comme
3792       une mesure de s&eacute;curit&eacute; efficace, car il existe toujours une
3793       situation de comp&eacute;tition (race condition) entre l'instant o&ugrave; l'on
3794       v&eacute;rifie qu'un chemin n'est pas un lien symbolique, et l'instant o&ugrave;
3795       l'on utilise effectivement ce chemin.</p>
3796       </note></dd>
3797
3798       <dt><code>Includes</code></dt>
3799
3800       <dd>
3801       Les inclusions c&ocirc;t&eacute; serveur (SSI) &agrave; l'aide du module
3802       <module>mod_include</module> sont autoris&eacute;es.</dd>
3803
3804       <dt><code>IncludesNOEXEC</code></dt>
3805
3806       <dd>
3807
3808       Les inclusions c&ocirc;t&eacute; serveur (SSI) sont permises, mais <code>#exec
3809       cmd</code> et <code>#exec cgi</code> sont d&eacute;sactiv&eacute;s.
3810       L'utilisation de <code>#include virtual</code> pour les scripts
3811       CGI est cependant toujours possible depuis des r&eacute;pertoires
3812       d&eacute;finis par <directive
3813       module="mod_alias">ScriptAlias</directive>.</dd>
3814
3815       <dt><code>Indexes</code></dt>
3816
3817       <dd>
3818       Si une URL requise correspond au r&eacute;pertoire concern&eacute;, et si aucun
3819       <directive module="mod_dir">DirectoryIndex</directive> (<em>par
3820       exemple</em> <code>index.html</code>) n'est d&eacute;fini pour ce
3821       r&eacute;pertoire, le module <module>mod_autoindex</module> va renvoyer
3822       un listing format&eacute; du r&eacute;pertoire.</dd>
3823
3824       <dt><code>MultiViews</code></dt>
3825
3826       <dd>
3827       Les vues multiples ("multiviews") &agrave; <a
3828       href="../content-negotiation.html">contenu n&eacute;goci&eacute;</a> &agrave; l'aide du
3829       module <module>mod_negotiation</module> sont autoris&eacute;es.
3830       <note><title>Note</title> <p>Cette option est ignor&eacute;e si elle est
3831       d&eacute;finie en tout autre endroit qu'une section <directive
3832       module="core" type="section">Directory</directive>, car
3833       <module>mod_negotiation</module> a besoin de ressources r&eacute;elles
3834       pour effectuer ses comparaisons et ses &eacute;valuations.</p></note>
3835       
3836       </dd>
3837
3838       <dt><code>SymLinksIfOwnerMatch</code></dt>
3839
3840       <dd>Le serveur ne suivra que les liens symboliques qui renvoient
3841       vers un fichier ou un r&eacute;pertoire dont le propri&eacute;taire est le m&ecirc;me
3842       que celui du lien.
3843
3844       <note><title>Note</title>
3845       <p>Les options <code>FollowSymLinks</code> et
3846       <code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les
3847       sections <directive type="section"
3848       module="core">Directory</directive> ou les fichiers
3849       <code>.htaccess</code>.</p>
3850
3851       <p>Le fait d'omettre cette option ne doit pas &ecirc;tre consid&eacute;r&eacute; comme
3852       une mesure de s&eacute;curit&eacute; efficace, car il existe toujours une
3853       situation de comp&eacute;tition (race condition) entre l'instant o&ugrave; l'on
3854       v&eacute;rifie qu'un chemin n'est pas un lien symbolique, et l'instant o&ugrave;
3855       l'on utilise effectivement ce chemin.</p>
3856       </note> </dd>
3857     </dl>
3858
3859     <p>Normalement, si plusieurs directives
3860     <directive>Options</directive> peuvent s'appliquer &agrave; un r&eacute;pertoire,
3861     c'est la plus sp&eacute;cifique qui est utilis&eacute;e et les autres sont
3862     ignor&eacute;es ; les options ne sont pas fusionn&eacute;es (voir <a
3863     href="../sections.html#mergin">comment les sections sont
3864     fusionn&eacute;es</a>). Elles le sont cependant si <em>toutes</em> les
3865     options de la directive <directive>Options</directive> sont
3866     pr&eacute;c&eacute;d&eacute;es d'un symbole <code>+</code> ou <code>-</code>. Toute
3867     option pr&eacute;c&eacute;d&eacute;e d'un <code>+</code> est ajout&eacute;e &agrave; la liste des
3868     options courantes de mani&egrave;re forc&eacute;e et toute option pr&eacute;c&eacute;d&eacute;e d'un
3869     <code>-</code> est supprim&eacute;e de la liste des options courantes de la
3870     m&ecirc;me mani&egrave;re.</p>
3871
3872     <note><title>Note</title>
3873     <p>M&eacute;langer des <directive>Options</directive> avec <code>+</code>
3874     ou <code>-</code> avec des <directive>Options</directive> sans
3875     <code>+</code> ou <code>-</code> constitue une erreur de syntaxe, et
3876     la v&eacute;rification de la syntaxe au cours du d&eacute;marrage du serveur fera
3877     &eacute;chouer ce dernier.</p>
3878     </note>
3879
3880     <p>Par exemple, sans aucun symbole <code>+</code> et <code>-</code>
3881     :</p>
3882
3883     <highlight language="config">
3884 &lt;Directory "/web/docs"&gt;
3885   Options Indexes FollowSymLinks
3886 &lt;/Directory&gt;
3887
3888 &lt;Directory "/web/docs/spec"&gt;
3889   Options Includes
3890 &lt;/Directory&gt;
3891     </highlight>
3892
3893     <p>ici, seule l'option <code>Includes</code> sera prise en compte
3894     pour le r&eacute;pertoire <code>/web/docs/spec</code>. Par contre, si la
3895     seconde directive <directive>Options</directive> utilise les
3896     symboles <code>+</code> et <code>-</code> :</p>
3897
3898     <highlight language="config">
3899 &lt;Directory "/web/docs"&gt;
3900   Options Indexes FollowSymLinks
3901 &lt;/Directory&gt;
3902
3903 &lt;Directory "/web/docs/spec"&gt;
3904   Options +Includes -Indexes
3905 &lt;/Directory&gt;
3906     </highlight>
3907
3908     <p>alors, les options <code>FollowSymLinks</code> et
3909     <code>Includes</code> seront prises en compte pour le r&eacute;pertoire
3910     <code>/web/docs/spec</code>.</p>
3911
3912     <note><title>Note</title>
3913       <p>L'utilisation de <code>-IncludesNOEXEC</code> ou
3914       <code>-Includes</code> d&eacute;sactive compl&egrave;tement les inclusions c&ocirc;t&eacute;
3915       serveur sans tenir compte des d&eacute;finitions pr&eacute;c&eacute;dentes.</p>
3916     </note>
3917
3918     <p>En l'absence de toute d&eacute;finition d'options, la valeur par d&eacute;faut
3919     est <code>FollowSymlinks</code>.</p>
3920 </usage>
3921 </directivesynopsis>
3922
3923 <directivesynopsis>
3924 <name>Protocol</name>
3925 <description>Protocole pour une socket d'&eacute;coute</description>
3926 <syntax>Protocol <var>protocole</var></syntax>
3927 <contextlist><context>server config</context><context>virtual host</context></contextlist>
3928 <compatibility>Sous Windows, disponible &agrave; partir de la version 2.3.3 du
3929 serveur HTTP Apache.</compatibility>
3930
3931 <usage>
3932     <p>Cette directive permet de sp&eacute;cifier le protocole utilis&eacute; pour une
3933     socket d'&eacute;coute particuli&egrave;re. Le protocole sert &agrave; d&eacute;terminer quel
3934     module doit traiter une requ&ecirc;te, et d'appliquer les optimisations
3935     sp&eacute;cifiques au protocole via la directive
3936     <directive>AcceptFilter</directive>.</p>
3937
3938     <p>Vous ne devez d&eacute;finir le protocole que si vous travaillez avec
3939     des ports non standards ; dans le cas g&eacute;n&eacute;ral, le protocole
3940     <code>http</code> est associ&eacute; au port 80 et le protocole
3941     <code>https</code> au port 443.</p>
3942
3943     <p>Par exemple, si vous travaillez avec le protocole
3944     <code>https</code> sur un port non standard, sp&eacute;cifiez le protocole
3945     de mani&egrave;re explicite :</p>
3946
3947     <highlight language="config">Protocol https</highlight>
3948
3949     <p>Vous pouvez aussi sp&eacute;cifier le protocole via la directive
3950     <directive module="mpm_common">Listen</directive>.</p>
3951 </usage>
3952 <seealso><directive module="core">AcceptFilter</directive></seealso>
3953 <seealso><directive module="mpm_common">Listen</directive></seealso>
3954 </directivesynopsis>
3955
3956
3957 <directivesynopsis>
3958 <name>RLimitCPU</name>
3959 <description>Limite le temps CPU allou&eacute; aux processus initi&eacute;s par les
3960 processus enfants d'Apache httpd</description>
3961 <syntax>RLimitCPU <var>secondes</var>|max [<var>secondes</var>|max]</syntax>
3962 <default>Non d&eacute;fini ; utilise les valeurs par d&eacute;faut du syst&egrave;me
3963 d'exploitation</default>
3964 <contextlist><context>server config</context><context>virtual
3965 host</context>
3966 <context>directory</context><context>.htaccess</context></contextlist>
3967 <override>All</override>
3968
3969 <usage>
3970     <p>Prend 1 ou 2 param&egrave;tres. Le premier definit la limite de
3971     consommation de ressources pour tous les processus, et le second la
3972     consommation de ressources maximale. Les deux param&egrave;tres peuvent
3973     contenir soit un nombre, soit <code>max</code> pour indiquer au
3974     serveur que la limite de consommation correspond &agrave; la valeur
3975     maximale autoris&eacute;e par la configuration du syst&egrave;me d'exploitation.
3976     Pour augmenter la consommation maximale de ressources, le serveur
3977     doit s'ex&eacute;cuter en tant que <code>root</code>, ou se trouver dans sa
3978     phase de d&eacute;marrage.</p>
3979
3980     <p>Cette directive s'applique aux processus initi&eacute;s par les
3981     processus enfants d'Apache httpd qui traitent les requ&ecirc;tes, et non aux
3982     processus enfants eux-m&ecirc;mes. Sont concern&eacute;s les scripts CGI et les
3983     commandes exec des SSI, mais en aucun cas les processus initi&eacute;s par
3984     le processus parent d'Apache httpd comme les journalisations redirig&eacute;es
3985     vers un programme.</p>
3986
3987     <p>Les limites de ressources CPU sont exprim&eacute;es en secondes par
3988     processus.</p>
3989 </usage>
3990 <seealso><directive module="core">RLimitMEM</directive></seealso>
3991 <seealso><directive module="core">RLimitNPROC</directive></seealso>
3992 </directivesynopsis>
3993
3994 <directivesynopsis>
3995 <name>RLimitMEM</name>
3996 <description>Limite la m&eacute;moire allou&eacute;e aux processus initi&eacute;s par les
3997 processus enfants d'Apache httpd</description>
3998 <syntax>RLimitMEM <var>octets</var>|max [<var>octets</var>|max]</syntax>
3999 <default>Non d&eacute;fini ; utilise les valeurs par d&eacute;faut du syst&egrave;me
4000 d'exploitation</default>
4001 <contextlist><context>server config</context><context>virtual
4002 host</context>
4003 <context>directory</context><context>.htaccess</context></contextlist>
4004 <override>All</override>
4005
4006 <usage>
4007     <p>Prend 1 ou 2 param&egrave;tres. Le premier definit la limite de
4008     consommation de ressources pour tous les processus, et le second la
4009     consommation de ressources maximale. Les deux param&egrave;tres peuvent
4010     contenir soit un nombre, soit <code>max</code> pour indiquer au
4011     serveur que la limite de consommation correspond &agrave; la valeur
4012     maximale autoris&eacute;e par la configuration du syst&egrave;me d'exploitation.
4013     Pour augmenter la consommation maximale de ressources, le serveur
4014     doit s'ex&eacute;cuter en tant que <code>root</code>, ou se trouver dans sa
4015     phase de d&eacute;marrage.</p>
4016
4017     <p>Cette directive s'applique aux processus initi&eacute;s par les
4018     processus enfants d'Apache httpd qui traitent les requ&ecirc;tes, et non aux
4019     processus enfants eux-m&ecirc;mes. Sont concern&eacute;s les scripts CGI et les
4020     commandes exec des SSI, mais en aucun cas les processus initi&eacute;s par
4021     le processus parent d'Apache httpd comme les journalisations redirig&eacute;es
4022     vers un programme.</p>
4023
4024     <p>Les limites de ressources m&eacute;moire sont exprim&eacute;es en octets par
4025     processus.</p>
4026 </usage>
4027 <seealso><directive module="core">RLimitCPU</directive></seealso>
4028 <seealso><directive module="core">RLimitNPROC</directive></seealso>
4029 </directivesynopsis>
4030
4031 <directivesynopsis>
4032 <name>RLimitNPROC</name>
4033 <description>Limite le nombre de processus qui peuvent &ecirc;tre initi&eacute;s par
4034 les processus initi&eacute;s par les processus enfants d'Apache httpd</description>
4035 <syntax>RLimitNPROC <var>nombre</var>|max [<var>nombre</var>|max]</syntax>
4036 <default>Unset; uses operating system defaults</default>
4037 <contextlist><context>server config</context><context>virtual
4038 host</context>
4039 <context>directory</context><context>.htaccess</context></contextlist>
4040 <override>All</override>
4041
4042 <usage>
4043     <p>Prend 1 ou 2 param&egrave;tres. Le premier definit la limite de
4044     consommation de ressources pour tous les processus, et le second la
4045     consommation de ressources maximale. Les deux param&egrave;tres peuvent
4046     contenir soit un nombre, soit <code>max</code> pour indiquer au
4047     serveur que la limite de consommation correspond &agrave; la valeur
4048     maximale autoris&eacute;e par la configuration du syst&egrave;me d'exploitation.
4049     Pour augmenter la consommation maximale de ressources, le serveur
4050     doit s'ex&eacute;cuter en tant que <code>root</code>, ou se trouver dans sa
4051     phase de d&eacute;marrage.</p>
4052
4053     <p>Cette directive s'applique aux processus initi&eacute;s par les
4054     processus enfants d'Apache httpd qui traitent les requ&ecirc;tes, et non aux
4055     processus enfants eux-m&ecirc;mes. Sont concern&eacute;s les scripts CGI et les
4056     commandes exec des SSI, mais en aucun cas les processus initi&eacute;s par
4057     le processus parent d'Apache httpd comme les journalisations redirig&eacute;es
4058     vers un programme.</p>
4059
4060     <p>Les limites des processus contr&ocirc;lent le nombre de processus par
4061     utilisateur.</p>
4062
4063     <note><title>Note</title>
4064       <p>Si les processus CGI s'ex&eacute;cutent sous le m&ecirc;me
4065       utilisateur que celui du serveur web, cette
4066       directive va limiter le nombre de processus que le serveur
4067       pourra lui-m&ecirc;me cr&eacute;er. La pr&eacute;sence de messages
4068       <strong><code>cannot fork</code></strong> dans le journal des
4069       erreurs indiquera que la limite est atteinte.</p>
4070     </note>
4071 </usage>
4072 <seealso><directive module="core">RLimitMEM</directive></seealso>
4073 <seealso><directive module="core">RLimitCPU</directive></seealso>
4074 </directivesynopsis>
4075
4076 <directivesynopsis>
4077 <name>ScriptInterpreterSource</name>
4078 <description>Permet de localiser l'interpr&eacute;teur des scripts
4079 CGI</description>
4080 <syntax>ScriptInterpreterSource Registry|Registry-Strict|Script</syntax>
4081 <default>ScriptInterpreterSource Script</default>
4082 <contextlist><context>server config</context><context>virtual
4083 host</context>
4084 <context>directory</context><context>.htaccess</context></contextlist>
4085 <override>FileInfo</override>
4086 <compatibility>Win32 seulement</compatibility>
4087
4088 <usage>
4089     <p>Cette directive permet de contr&ocirc;ler la m&eacute;thode qu'utilise Apache
4090     httpd pour trouver l'interpr&eacute;teur destin&eacute; &agrave; ex&eacute;cuter les scripts CGI. La
4091     d&eacute;finition par d&eacute;faut est <code>Script</code> : ceci indique &agrave;
4092     Apache httpd qu'il doit utiliser l'interpr&eacute;teur pr&eacute;cis&eacute; dans la ligne
4093     shebang du script (la premi&egrave;re ligne, commen&ccedil;ant par
4094     <code>#!</code>). Sur les syst&egrave;mes Win32, cette ligne ressemble
4095     souvent &agrave; ceci :</p>
4096
4097     <highlight language="perl">#!C:/Perl/bin/perl.exe</highlight>
4098
4099     <p>ou simplement, dans le cas o&ugrave; <code>perl</code> est dans le
4100     <code>PATH</code> :</p>
4101
4102     <highlight language="perl">#!perl</highlight>
4103
4104     <p>Avec <code>ScriptInterpreterSource Registry</code>, Windows va
4105     effectuer une recherche dans l'arborescence
4106     <code>HKEY_CLASSES_ROOT</code> de la base de registre avec comme
4107     mot-cl&eacute; l'extension du fichier contenant le script (par exemple
4108     <code>.pl</code>). C'est la commande d&eacute;finie par la sous-cl&eacute; de
4109     registre <code>Shell\ExecCGI\Command</code> ou, si elle n'existe
4110     pas, la sous-cl&eacute; <code>Shell\Open\Command</code> qui est utilis&eacute;e
4111     pour ouvrir le fichier du script. Si ces cl&eacute;s de registre ne sont
4112     pas trouv&eacute;es, Apache httpd utilise la m&eacute;thode de l'option
4113     <code>Script</code>.</p>
4114
4115     <note type="warning"><title>S&eacute;curit&eacute;</title>
4116     <p>Soyez prudent si vous utilisez <code>ScriptInterpreterSource
4117     Registry</code> avec des r&eacute;pertoires faisant l'objet d'un <directive
4118     module="mod_alias">ScriptAlias</directive>, car Apache httpd va essayer
4119     d'ex&eacute;cuter <strong>tous</strong> les fichiers contenus dans
4120     celui-ci. L'option <code>Registry</code> peut causer des appels de
4121     programmes non voulus sur des fichiers non destin&eacute;s &agrave; &ecirc;tre ex&eacute;cut&eacute;s.
4122     Par exemple, la commande par d&eacute;faut open sur les fichiers
4123     <code>.htm</code> sur la plupart des syst&egrave;mes Windows va lancer
4124     Microsoft Internet Explorer ; ainsi, toute requ&ecirc;te HTTP pour un
4125     fichier <code>.htm</code> situ&eacute; dans le r&eacute;pertoire des scripts
4126     va lancer le navigateur en arri&egrave;re-plan sur le serveur, ce qui a
4127     toutes les chances de crasher votre syst&egrave;me dans les minutes qui
4128     suivent.</p>
4129     </note>
4130
4131     <p>L'option <code>Registry-Strict</code>, apparue avec la version
4132     2.0 du serveur HTTP Apache,
4133     agit de mani&egrave;re identique &agrave; <code>Registry</code>, mais n'utilise
4134     que la sous-cl&eacute; <code>Shell\ExecCGI\Command</code>. La pr&eacute;sence de
4135     la cl&eacute; <code>ExecCGI</code> n'&eacute;tant pas syst&eacute;matique, Elle doit &ecirc;tre
4136     d&eacute;finie manuellement dans le registre Windows et &eacute;vite ainsi tout
4137     appel de programme accidentel sur votre syst&egrave;me.</p>
4138 </usage>
4139 </directivesynopsis>
4140
4141 <directivesynopsis>
4142 <name>SeeRequestTail</name>
4143 <description>D&eacute;termine si mod_status affiche les 63 premiers caract&egrave;res
4144 d'une requ&ecirc;te ou les 63 derniers, en supposant que la requ&ecirc;te
4145 elle-m&ecirc;me poss&egrave;de plus de 63 caract&egrave;res.</description>
4146 <syntax>SeeRequestTail On|Off</syntax>
4147 <default>SeeRequestTail Off</default>
4148 <contextlist><context>server config</context></contextlist>
4149
4150 <usage>
4151     <p>Avec <code>ExtendedStatus On</code>, mod_status affiche la
4152     v&eacute;ritable requ&ecirc;te en cours de traitement. Pour des raisons
4153     historiques, seuls 63 caract&egrave;res de la requ&ecirc;te sont r&eacute;ellement
4154     stock&eacute;s &agrave; des fins d'affichage. Cette directive permet de d&eacute;terminer
4155     si ce sont les 63 premiers caract&egrave;res qui seront stock&eacute;s (c'est le
4156     comportement par d&eacute;faut),
4157     ou si ce sont les 63 derniers. Ceci ne s'applique bien entendu que
4158     si la taille de la requ&ecirc;te est de 64 caract&egrave;res ou plus.</p>
4159
4160     <p>Si Apache httpd traite la requ&ecirc;te <code
4161     >GET&nbsp;/disque1/stockage/apache/htdocs/images/rep-images1/nourriture/pommes.jpg&nbsp;HTTP/1.1</code>
4162     , l'affichage de la requ&ecirc;te par mod_status se pr&eacute;sentera comme suit :
4163     </p>
4164
4165     <table border="1">
4166       <tr>
4167         <th>Off (d&eacute;faut)</th>
4168         <td>GET&nbsp;/disque1/stockage/apache/htdocs/images/rep-images1/nourritu</td>
4169       </tr>
4170       <tr>
4171         <th>On</th>
4172         <td>apache/htdocs/images/rep-images1/nourriture/pommes.jpg&nbsp;HTTP/1.1</td>
4173       </tr>
4174     </table>
4175
4176 </usage>
4177
4178 </directivesynopsis>
4179
4180 <directivesynopsis>
4181 <name>ServerAdmin</name>
4182 <description>L'adresse &eacute;lectronique que le serveur inclut dans les
4183 messages d'erreur envoy&eacute;s au client</description>
4184 <syntax>ServerAdmin <var>adresse &eacute;lectronique</var>|<var>URL</var></syntax>
4185 <contextlist><context>server config</context><context>virtual
4186 host</context>
4187 </contextlist>
4188
4189 <usage>
4190     <p>La directive <directive>ServerAdmin</directive> permet de d&eacute;finir
4191     l'adresse de contact que le serveur va inclure dans tout message
4192     d'erreur qu'il envoie au client. Si le programme <code>httpd</code>
4193     ne reconnait pas l'argument fourni comme une URL, il suppose que
4194     c'est une <var>adresse &eacute;lectronique</var>, et lui ajoute le pr&eacute;fixe
4195     <code>mailto:</code> dans les cibles des hyperliens. Il est
4196     cependant recommand&eacute; d'utiliser exclusivement une adresse
4197     &eacute;lectronique, car de nombreux scripts CGI consid&egrave;rent ceci comme
4198     implicite. Si vous utilisez une URL, elle doit pointer vers un autre
4199     serveur que vous contr&ocirc;lez. Dans le cas contraire, les utilisateurs
4200     seraient dans l'impossibilit&eacute; de vous contacter en cas de probl&egrave;me.</p>
4201
4202     <p>Il peut s'av&eacute;rer utile de d&eacute;finir une adresse d&eacute;di&eacute;e &agrave;
4203     l'administration du serveur, par exemple :</p>
4204
4205     <highlight language="config">ServerAdmin www-admin@foo.example.com</highlight>
4206     <p>car les utilisateurs ne mentionnent pas syst&eacute;matiquement le
4207     serveur dont ils parlent !</p>
4208 </usage>
4209 </directivesynopsis>
4210
4211 <directivesynopsis>
4212 <name>ServerAlias</name>
4213 <description>Autres noms d'un serveur utilisables pour atteindre des
4214 serveurs virtuels &agrave; base de nom</description>
4215 <syntax>ServerAlias <var>nom serveur</var> [<var>nom serveur</var>]
4216 ...</syntax>
4217 <contextlist><context>virtual host</context></contextlist>
4218
4219 <usage>
4220     <p>La directive <directive>ServerAlias</directive> permet de d&eacute;finir
4221     les noms alternatifs d'un serveur utilisables pour atteindre des <a
4222     href="../vhosts/name-based.html">serveurs virtuels &agrave; base de
4223     nom</a>. La directive <directive>ServerAlias</directive> peut
4224     contenir des caract&egrave;res g&eacute;n&eacute;riques, si n&eacute;cessaire.</p>
4225
4226     <highlight language="config">
4227 &lt;VirtualHost *:80&gt;
4228   ServerName server.example.com
4229   ServerAlias server server2.example.com server2
4230   ServerAlias *.example.com
4231   UseCanonicalName Off
4232   # ...
4233 &lt;/VirtualHost&gt;
4234     </highlight>
4235     <p>La recherche du serveur virtuel &agrave; base de nom correspondant au
4236     plus pr&egrave;s &agrave; la requ&ecirc;te s'effectue selon l'ordre d'apparition des
4237     directives <directive type="section"
4238     module="core">virtualhost</directive> dans le fichier de
4239     configuration. Le premier serveur virtuel dont le <directive
4240     module="core">ServerName</directive> ou le <directive
4241     module="core">ServerAlias</directive> correspond est choisi, sans
4242     priorit&eacute; particuli&egrave;re si le nom contient des caract&egrave;res g&eacute;n&eacute;riques
4243     (que ce soit pour ServerName ou ServerAlias).</p>
4244
4245     <p>Tous les noms sp&eacute;cifi&eacute;s au sein d'une section
4246     <directive>VirtualHost</directive> sont trait&eacute;s comme un
4247     <directive>ServerAlias</directive> (sans caract&egrave;res g&eacute;n&eacute;riques).</p>
4248
4249 </usage>
4250 <seealso><directive module="core">UseCanonicalName</directive></seealso>
4251 <seealso><a href="../vhosts/">Documentation sur les serveurs virtuels
4252 du serveur HTTP Apache</a></seealso>
4253 </directivesynopsis>
4254
4255 <directivesynopsis>
4256 <name>ServerName</name>
4257 <description>Nom d'h&ocirc;te et port que le serveur utilise pour
4258 s'authentifier lui-m&ecirc;me</description>
4259 <syntax>ServerName [<var>protocole</var>://]<var>nom de domaine
4260 enti&egrave;rement qualifi&eacute;</var>[:<var>port</var>]</syntax>
4261 <contextlist><context>server config</context><context>virtual
4262 host</context>
4263 </contextlist>
4264
4265 <usage>
4266     <p>La directive <directive>ServerName</directive> permet de d&eacute;finir
4267     les protocole, nom d'h&ocirc;te et port d'une requ&ecirc;te que le serveur
4268     utilise pour s'authentifier lui-m&ecirc;me. Ceci est utile lors de la
4269     cr&eacute;ation de redirections d'URLs.</p>
4270
4271     <p>La directive <directive>ServerName</directive> permet aussi
4272     (&eacute;ventuellement en conjonction avec la directive
4273     <directive>ServerAlias</directive>) d'identifier de mani&egrave;re unique
4274     un serveur virtuel, lorsqu'elle est utilis&eacute;e dans un contexte de <a
4275     href="../vhosts/name-based.html">serveurs virtuels &agrave; base de
4276     noms</a>.</p>
4277     
4278     <p>Par exemple, si le nom de la
4279     machine h&eacute;bergeant le serveur web est
4280     <code>simple.example.com</code>, la machine poss&egrave;de l'alias
4281     DNS <code>www.example.com</code>, et si vous voulez que le serveur
4282     web s'identifie avec cet alias, vous devez utilisez la d&eacute;finition
4283     suivante :</p>
4284
4285     <highlight language="config">ServerName www.example.com</highlight>
4286
4287     <p>La directive <directive>ServerName</directive> peut appara&icirc;tre &agrave;
4288     toutes les &eacute;tapes de la d&eacute;finition du serveur. Toute occurrence
4289     annule cependant la pr&eacute;c&eacute;dente (pour ce serveur).</p>
4290
4291     <p>Si la directive <directive>ServerName</directive> n'est pas
4292     d&eacute;finie, le serveur tente de d&eacute;terminer le nom
4293     d'h&ocirc;te visible du point de vue du client en effectuant
4294     une recherche DNS inverse sur une adresse IP du serveur.</p>
4295     
4296     <p>Si la directive
4297     <directive>ServerName</directive> ne pr&eacute;cise pas de port, le serveur
4298     utilisera celui de la requ&ecirc;te entrante. Il est recommand&eacute; de
4299     sp&eacute;cifier un nom d'h&ocirc;te et un port sp&eacute;cifiques &agrave; l'aide de la
4300     directive <directive>ServerName</directive> pour une fiabilit&eacute;
4301     optimale et &agrave; titre pr&eacute;ventif.</p>
4302
4303     <p>Si vous d&eacute;finissez des <a
4304     href="../vhosts/name-based.html">serveurs virtuels &agrave; base de
4305     nom</a>, une directive <directive>ServerName</directive> situ&eacute;e &agrave;
4306     l'int&eacute;rieur d'une section <directive type="section"
4307     module="core">VirtualHost</directive> sp&eacute;cifiera quel nom d'h&ocirc;te
4308     doit appara&icirc;tre dans l'en-t&ecirc;te de requ&ecirc;te <code>Host:</code> pour
4309     pouvoir atteindre ce serveur virtuel.</p>
4310
4311
4312     <p>Parfois, le serveur s'ex&eacute;cute en amont d'un dispositif qui
4313     impl&eacute;mente SSL, comme un mandataire inverse, un r&eacute;partiteur de
4314     charge ou un bo&icirc;tier d&eacute;di&eacute; SSL. Dans ce cas, sp&eacute;cifiez le protocole
4315     <code>https://</code> et le port auquel les clients se connectent
4316     dans la directive <directive>ServerName</directive>, afin de
4317     s'assurer que le serveur g&eacute;n&egrave;re correctement ses URLs
4318     d'auto-identification.
4319     </p>
4320
4321     <p>Voir la description des directives <directive
4322     module="core">UseCanonicalName</directive> et <directive
4323     module="core">UseCanonicalPhysicalPort</directive> pour les
4324     d&eacute;finitions qui permettent de d&eacute;terminer si les URLs
4325     auto-identifiantes (par exemple via le module
4326     <module>mod_dir</module>) vont faire r&eacute;f&eacute;rence au port sp&eacute;cifi&eacute;, ou
4327     au port indiqu&eacute; dans la requ&ecirc;te du client.
4328     </p>
4329
4330     <note type="warning">
4331     <p>Si la valeur de la directive <directive>ServerName</directive> ne
4332     peut pas &ecirc;tre r&eacute;solue en adresse IP, le d&eacute;marrage du serveur
4333     provoquera un avertissement. <code>httpd</code> va alors utiliser le
4334     r&eacute;sultat de la commande syst&egrave;me <code>hostname</code> pour
4335     d&eacute;terminer le nom du serveur, ce qui ne correspondra pratiquement
4336     jamais au nom de serveur que vous souhaitez r&eacute;ellement.</p>
4337     <example>
4338     httpd: Could not reliably determine the server's fully qualified domain name, using rocinante.local for ServerName
4339     </example>
4340     </note>
4341
4342 </usage>
4343
4344 <seealso><a href="../dns-caveats.html">Probl&egrave;mes concernant le DNS et
4345 le serveur HTTP Apache</a></seealso>
4346 <seealso><a href="../vhosts/">Documentation sur les serveurs virtuels
4347 du serveur HTTP Apache</a></seealso>
4348 <seealso><directive module="core">UseCanonicalName</directive></seealso>
4349 <seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
4350 <seealso><directive module="core">ServerAlias</directive></seealso>
4351 </directivesynopsis>
4352
4353 <directivesynopsis>
4354 <name>ServerPath</name>
4355 <description>Nom de chemin d'URL h&eacute;rit&eacute; pour un serveur virtuel &agrave; base
4356 de nom acc&eacute;d&eacute; par un navigateur incompatible</description>
4357 <syntax>ServerPath <var>chemin d'URL</var></syntax>
4358 <contextlist><context>virtual host</context></contextlist>
4359
4360 <usage>
4361     <p>La directive <directive>ServerPath</directive> permet de d&eacute;finir
4362     le nom de chemin d'URL h&eacute;rit&eacute; d'un h&ocirc;te, &agrave; utiliser avec les <a
4363     href="../vhosts/">serveurs virtuels &agrave; base de nom</a>.</p>
4364 </usage>
4365 <seealso><a href="../vhosts/">Documentation sur les serveurs virtuels
4366 du serveur HTTP Apache</a></seealso>
4367 </directivesynopsis>
4368
4369 <directivesynopsis>
4370 <name>ServerRoot</name>
4371 <description>Racine du r&eacute;pertoire d'installation du
4372 serveur</description>
4373 <syntax>ServerRoot <var>chemin de r&eacute;pertoire</var></syntax>
4374 <default>ServerRoot /usr/local/apache</default>
4375 <contextlist><context>server config</context></contextlist>
4376
4377 <usage>
4378     <p>La directive <directive>ServerRoot</directive> permet de d&eacute;finir
4379     le r&eacute;pertoire dans lequel le serveur est install&eacute;. En particulier,
4380     il contiendra les sous-r&eacute;pertoires <code>conf/</code> et
4381     <code>logs/</code>. Les chemins relatifs indiqu&eacute;s dans les autres
4382     directives (comme <directive
4383     module="core">Include</directive> ou <directive
4384     module="mod_so">LoadModule</directive>) seront d&eacute;finis par
4385     rapport &agrave; ce r&eacute;pertoire.</p>
4386
4387     <highlight language="config">ServerRoot "/home/httpd"</highlight>
4388
4389     <p>La valeur par d&eacute;faut de <directive>ServerRoot</directive> peut
4390     &ecirc;tre modifi&eacute;e via l'argument <code>--prefix</code> de la commande <a
4391     href="../programs/configure.html"><code>configure</code></a>, et de
4392     nombreuses distributions tierces du serveur proposent une valeur
4393     diff&eacute;rente de celles list&eacute;es ci-dessus.</p>
4394
4395 </usage>
4396 <seealso><a href="../invoking.html">the <code>-d</code>
4397     options de <code>httpd</code></a></seealso>
4398 <seealso><a href="../misc/security_tips.html#serverroot">les conseils &agrave;
4399 propos de s&eacute;curit&eacute;</a> pour des informations sur la mani&egrave;re de d&eacute;finir
4400 correctement les permissions sur le r&eacute;pertoire indiqu&eacute; par la directive
4401 <directive>ServerRoot</directive></seealso>
4402 </directivesynopsis>
4403
4404 <directivesynopsis>
4405 <name>ServerSignature</name>
4406 <description>D&eacute;finit un pied de page pour les documents g&eacute;n&eacute;r&eacute;s par le
4407 serveur</description>
4408 <syntax>ServerSignature On|Off|EMail</syntax>
4409 <default>ServerSignature Off</default>
4410 <contextlist><context>server config</context><context>virtual
4411 host</context>
4412 <context>directory</context><context>.htaccess</context>
4413 </contextlist>
4414 <override>All</override>
4415
4416 <usage>
4417     <p>La directive <directive>ServerSignature</directive> permet de
4418     d&eacute;finir une ligne de pied de page fixe pour les documents g&eacute;n&eacute;r&eacute;s
4419     par le serveur (messages d'erreur, listings de r&eacute;pertoires ftp de
4420     <module>mod_proxy</module>, sorties de <module>mod_info</module>,
4421     etc...). Dans le cas d'une cha&icirc;ne de mandataires, l'utilisateur n'a
4422     souvent aucun moyen de d&eacute;terminer lequel des mandataires cha&icirc;n&eacute;s a
4423     g&eacute;n&eacute;r&eacute; un message d'erreur, et c'est une des raisons pour lesquelles
4424     on peut &ecirc;tre amen&eacute; &agrave; ajouter un tel pied de page.</p>
4425
4426     <p>La valeur par d&eacute;faut <code>Off</code> supprime la ligne de pied
4427     de page (et est ainsi compatible avec le comportement des
4428     versions 1.2 et ant&eacute;rieures d'Apache). la valeur <code>On</code>
4429     ajoute simplement une ligne contenant le num&eacute;ro de version du
4430     serveur ainsi que le nom du serveur virtuel issu de la directive
4431     <directive module="core">ServerName</directive>, alors que la valeur
4432     <code>EMail</code> ajoute en plus une r&eacute;f&eacute;rence "mailto:" &agrave;
4433     l'administrateur du document r&eacute;f&eacute;renc&eacute; issu la directive
4434     <directive module="core">ServerAdmin</directive>.</p>
4435
4436     <p>Apr&egrave;s la version 2.0.44, les d&eacute;tails &agrave; propos du num&eacute;ro de
4437     version du serveur sont contr&ocirc;l&eacute;s &agrave; l'aide de la directive
4438     <directive module="core">ServerTokens</directive>.</p>
4439 </usage>
4440 <seealso><directive module="core">ServerTokens</directive></seealso>
4441 </directivesynopsis>
4442
4443 <directivesynopsis>
4444 <name>ServerTokens</name>
4445 <description>Configure l'en-t&ecirc;te <code>Server</code> de la r&eacute;ponse
4446 HTTP</description>
4447 <syntax>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</syntax>
4448 <default>ServerTokens Full</default>
4449 <contextlist><context>server config</context></contextlist>
4450
4451 <usage>
4452     <p>Cette directive permet de contr&ocirc;ler le contenu de l'en-t&ecirc;te
4453     <code>Server</code> inclus dans la r&eacute;ponse envoy&eacute;e au client : cet
4454     en-t&ecirc;te peut contenir le type de syst&egrave;me d'exploitation du serveur,
4455     ainsi que des informations &agrave; propos des modules compil&eacute;s avec le
4456     serveur.</p>
4457
4458     <dl>
4459         <dt><code>ServerTokens Full</code> (ou non sp&eacute;cifi&eacute;)</dt>
4460
4461         <dd>Le serveur envoie par exemple : <code>Server: Apache/2.4.2
4462         (Unix) PHP/4.2.2 MyMod/1.2</code></dd>
4463
4464         <dt><code>ServerTokens Prod[uctOnly]</code></dt>
4465
4466       <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4467       Apache</code></dd>
4468
4469       <dt><code>ServerTokens Major</code></dt>
4470
4471       <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4472       Apache/2</code></dd>
4473
4474       <dt><code>ServerTokens Minor</code></dt>
4475
4476       <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4477       Apache/2.4</code></dd>
4478
4479       <dt><code>ServerTokens Min[imal]</code></dt>
4480
4481       <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4482       Apache/2.4.2</code></dd>
4483
4484       <dt><code>ServerTokens OS</code></dt>
4485
4486       <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4487       Apache/2.4.2 (Unix)</code></dd>
4488
4489       
4490       
4491     </dl>
4492
4493     <p>Cette d&eacute;finition s'applique &agrave; l'ensemble du serveur et ne peut
4494     &ecirc;tre activ&eacute;e ou d&eacute;sactiv&eacute;e pour tel ou tel serveur virtuel.</p>
4495
4496     <p>Dans les versions post&eacute;rieures &agrave; 2.0.44, cette directive contr&ocirc;le
4497     aussi les informations fournies par la directive <directive
4498     module="core">ServerSignature</directive>.</p>
4499
4500     <note>D&eacute;finir <directive>ServerTokens</directive> &agrave; une
4501     valeur inf&eacute;rieure &agrave; <code>minimal</code> n'est pas
4502     recommand&eacute; car le d&eacute;bogage des probl&egrave;mes
4503     interop&eacute;rationnels n'en sera alors que plus difficile. Notez
4504     aussi que la d&eacute;sactivation de l'en-t&ecirc;te Server:
4505     n'am&eacute;liore en rien la s&eacute;curit&eacute; de votre
4506     serveur ; le concept de "s&eacute;curit&eacute; par
4507     l'obscurit&eacute;" est un mythe et conduit &agrave;
4508     une mauvaise perception de ce qu'est la s&eacute;curit&eacute;.</note>
4509
4510
4511 </usage>
4512 <seealso><directive module="core">ServerSignature</directive></seealso>
4513 </directivesynopsis>
4514
4515 <directivesynopsis>
4516 <name>SetHandler</name>
4517 <description>Force le traitement des fichiers sp&eacute;cifi&eacute;s par un
4518 gestionnaire particulier</description>
4519 <syntax>SetHandler <var>nom gestionnaire</var>|None</syntax>
4520 <contextlist><context>server config</context><context>virtual
4521 host</context>
4522 <context>directory</context><context>.htaccess</context>
4523 </contextlist>
4524 <override>FileInfo</override>
4525
4526 <usage>
4527     <p>Lorsqu'elle se situe &agrave; l'int&eacute;rieur d'un fichier
4528     <code>.htaccess</code>, ou d'une section <directive type="section"
4529     module="core">Directory</directive> ou <directive type="section"
4530     module="core">Location</directive>, cette directive force le
4531     traitement de tous les fichiers sp&eacute;cifi&eacute;s par le <a
4532     href="../handler.html">gestionnaire</a> d&eacute;fini par l'argument
4533     <var>nom gestionnaire</var>. Par exemple, dans le cas d'un
4534     r&eacute;pertoire dont vous voulez interpr&eacute;ter le contenu comme des
4535     fichiers de r&egrave;gles d'images cliquables, sans tenir compte des
4536     extensions, vous pouvez ajouter la ligne suivante dans un fichier
4537     <code>.htaccess</code> de ce r&eacute;pertoire :</p>
4538
4539     <highlight language="config">SetHandler imap-file</highlight>
4540
4541     <p>Autre exemple : si vous voulez que le serveur affiche un
4542     compte-rendu d'&eacute;tat chaque fois qu'une URL du type <code>http://nom
4543     serveur/status</code> est appel&eacute;e, vous pouvez ajouter ceci dans
4544     <code>httpd.conf</code> :</p>
4545
4546     <highlight language="config">
4547 &lt;Location "/status"&gt;
4548   SetHandler server-status
4549 &lt;/Location&gt;
4550     </highlight>
4551
4552     <p>Vous pouvez aussi utiliser cette directive pour associer un
4553     gestionnaire &agrave; des fichiers poss&egrave;dant une extension de nom de
4554     fichier particuli&egrave;re. Par exemple :</p>
4555
4556     <highlight language="config">
4557 &lt;FilesMatch \.php$&gt;
4558     SetHandler application/x-httpd-php
4559 &lt;/FilesMatch&gt;
4560     </highlight>
4561
4562     <p>Vous pouvez &eacute;craser la d&eacute;finition ant&eacute;rieure d'une directive
4563     <directive>SetHandler</directive> en utilisant la valeur
4564     <code>None</code>.</p>
4565
4566     <note><title>Note</title>
4567     <p>Comme <directive>SetHandler</directive> l'emporte sur la
4568     d&eacute;finition des gestionnaires par d&eacute;faut, le comportement habituel
4569     consistant &agrave; traiter les URLs se terminant par un slash (/) comme
4570     des r&eacute;pertoires ou des fichiers index est d&eacute;sactiv&eacute;.</p></note>
4571 </usage>
4572
4573 <seealso><directive module="mod_mime">AddHandler</directive></seealso>
4574
4575 </directivesynopsis>
4576
4577 <directivesynopsis>
4578 <name>SetInputFilter</name>
4579 <description>D&eacute;finit les filtres par lesquels vont passer les requ&ecirc;tes
4580 client et les donn&eacute;es POST</description>
4581 <syntax>SetInputFilter <var>filtre</var>[;<var>filtre</var>...]</syntax>
4582 <contextlist><context>server config</context><context>virtual
4583 host</context>
4584 <context>directory</context><context>.htaccess</context>
4585 </contextlist>
4586 <override>FileInfo</override>
4587
4588 <usage>
4589     <p>La directive <directive>SetInputFilter</directive> permet de
4590     d&eacute;finir le ou les filtres par lesquels vont passer les requ&ecirc;tes
4591     client et les donn&eacute;es POST au moment o&ugrave; le serveur les re&ccedil;oit. Cette
4592     d&eacute;finition vient en ajout &agrave; tout autre filtre d&eacute;fini en
4593     quelqu'endroit que ce soit, y compris via la directive <directive
4594     module="mod_mime">AddInputFilter</directive>.</p>
4595
4596     <p>Si la directive comporte plusieurs filtres, ils doivent &ecirc;tre
4597     s&eacute;par&eacute;s par des points-virgules, et sp&eacute;cifi&eacute;s selon l'ordre dans
4598     lequel vous souhaitez les voir agir sur les contenus.</p>
4599 </usage>
4600 <seealso>documentation des <a
4601 href="../filter.html">Filtres</a></seealso>
4602 </directivesynopsis>
4603
4604 <directivesynopsis>
4605 <name>SetOutputFilter</name>
4606 <description>D&eacute;finit les filtres par lesquels vont passer les r&eacute;ponses
4607 du serveur</description>
4608 <syntax>SetOutputFilter <var>filtre</var>[;<var>filtre</var>...]</syntax>
4609 <contextlist><context>server config</context><context>virtual
4610 host</context>
4611 <context>directory</context><context>.htaccess</context>
4612 </contextlist>
4613 <override>FileInfo</override>
4614
4615 <usage>
4616     <p>La directive <directive>SetOutputFilter</directive> permet de
4617     d&eacute;finir les filtres par lesquels vont passer les r&eacute;ponses du serveur
4618     avant d'&ecirc;tre envoy&eacute;es au client. Cette d&eacute;finition vient en ajout &agrave;
4619     tout autre filtre d&eacute;fini en quelqu'endroit que ce soit, y compris
4620     via la directive <directive
4621     module="mod_mime">AddOutputFilter</directive>.</p>
4622
4623     <p>Par exemple, la configuration suivante va traiter tous les
4624     fichiers du r&eacute;pertoire <code>/www/data/</code> comme des inclusions
4625     c&ocirc;t&eacute; serveur (SSI) :</p>
4626
4627     <highlight language="config">
4628 &lt;Directory "/www/data/"&gt;
4629   SetOutputFilter INCLUDES
4630 &lt;/Directory&gt;
4631     </highlight>
4632
4633     <p>Si la directive comporte plusieurs filtres, ils doivent &ecirc;tre
4634     s&eacute;par&eacute;s par des points-virgules, et sp&eacute;cifi&eacute;s selon l'ordre dans
4635     lequel vous souhaitez les voir agir sur les contenus.</p>
4636 </usage>
4637 <seealso><a href="../filter.html">Filters</a> documentation</seealso>
4638 </directivesynopsis>
4639
4640 <directivesynopsis>
4641 <name>TimeOut</name>
4642 <description>Temps pendant lequel le serveur va attendre certains
4643 &eacute;v&egrave;nements avant de consid&eacute;rer qu'une requ&ecirc;te a &eacute;chou&eacute;</description>
4644 <syntax>TimeOut <var>secondes</var></syntax>
4645 <default>TimeOut 60</default>
4646 <contextlist><context>server config</context><context>virtual
4647 host</context></contextlist>
4648
4649 <usage>
4650     <p>La directive <directive>TimeOut</directive> permet de d&eacute;finir le
4651     temps maximum pendant lequel Apache httpd va attendre des entr&eacute;es/sorties
4652     selon les circonstances :</p>
4653
4654     <ol>
4655       <li>Lors de la lecture de donn&eacute;es en provenance du client, le
4656       temps maximum jusqu'&agrave; l'arriv&eacute;e d'un paquet TCP si le tampon est
4657       vide.</li>
4658
4659       <li>Lors de l'&eacute;criture de donn&eacute;es destin&eacute;es au client, le temps
4660       maximum jusqu'&agrave; l'arriv&eacute;e de l'accus&eacute;-r&eacute;ception d'un paquet si le
4661       tampon d'envoi est plein.</li>
4662
4663       <li>Avec <module>mod_cgi</module> et <module>mod_cgid</module>, le temps d'attente maximum des
4664       sorties d'un script CGI.</li>
4665
4666       <li>Avec <module>mod_ext_filter</module>, le temps d'attente
4667       maximum des sorties d'un processus de filtrage.</li>
4668
4669       <li>Avec <module>mod_proxy</module>, la valeur du d&eacute;lai par d&eacute;faut
4670       si <directive module="mod_proxy">ProxyTimeout</directive> n'est
4671       pas d&eacute;fini.</li>
4672     </ol>
4673
4674 </usage>
4675 </directivesynopsis>
4676
4677 <directivesynopsis>
4678 <name>TraceEnable</name>
4679 <description>D&eacute;termine le comportement des requ&ecirc;tes
4680 <code>TRACE</code></description>
4681 <syntax>TraceEnable <var>[on|off|extended]</var></syntax>
4682 <default>TraceEnable on</default>
4683 <contextlist><context>server config</context><context>virtual host</context></contextlist>
4684
4685 <usage>
4686     <p>Cette directive l'emporte sur le comportement de
4687     <code>TRACE</code> pour le noyau du serveur et
4688     <module>mod_proxy</module>. La d&eacute;finition par d&eacute;faut
4689     <code>TraceEnable on</code> permet des requ&ecirc;tes <code>TRACE</code>
4690     selon la RFC 2616, qui interdit d'ajouter tout corps &agrave; la requ&ecirc;te.
4691     La d&eacute;finition <code>TraceEnable off</code> indique au noyau du
4692     serveur et &agrave; <module>mod_proxy</module> de retourner un code
4693     d'erreur <code>405</code> (M&eacute;thode non autoris&eacute;e) au client.</p>
4694
4695     <p>En fait, et &agrave; des fins de test et de diagnostic seulement, on
4696     peut autoriser l'ajout d'un corps de requ&ecirc;te &agrave; l'aide de la
4697     d&eacute;finition non standard <code>TraceEnable extended</code>. Le noyau
4698     du serveur (dans le cas d'un serveur d'origine) va limiter la taille
4699     du corps de requ&ecirc;te &agrave; 64k (plus 8k pour les en-t&ecirc;tes de
4700     fractionnement si <code>Transfer-Encoding: chunked</code> est
4701     utilis&eacute;). Le noyau du serveur va reproduire l'ensemble des en-t&ecirc;tes,
4702     y compris les en-t&ecirc;tes de fractionnement avec le corps de la
4703     r&eacute;ponse. Dans le cas d'un serveur mandataire, la taille du corps de
4704     requ&ecirc;te n'est pas limit&eacute;e &agrave; 64k.</p>
4705
4706     <note><title>Note</title>
4707     <p>Bien que certains pr&eacute;tendent le contraire, <code>TRACE</code> ne
4708     constitue pas une vuln&eacute;rabilit&eacute; en mati&egrave;re de s&eacute;curit&eacute;, et il n'y a
4709     aucune raison suffisante pour le d&eacute;sactiver, ce qui rendrait
4710     votre serveur non conforme.</p>
4711     </note>
4712 </usage>
4713 </directivesynopsis>
4714
4715 <directivesynopsis>
4716 <name>UnDefine</name>
4717 <description>Invalide la d&eacute;finition d'une variable</description>
4718 <syntax>UnDefine <var>nom-variable</var></syntax>
4719 <contextlist><context>server config</context>
4720 <context>virtual host</context></contextlist>
4721
4722 <usage>
4723     <p>Annule l'effet d'une directive <directive
4724     module="core">Define</directive> ou d'un argument <code>-D</code> de
4725     <program>httpd</program> en invalidant l'existence de la variable
4726     correspondante.</p>
4727     <p>On peut utiliser cette directive pour inverser l'effet d'une
4728     section <directive module="core" type="section">IfDefine</directive>
4729     sans avoir &agrave; modifier les arguments <code>-D</code> dans les scripts
4730     de d&eacute;marrage.</p>
4731     <p>Si cette directive est définie au sein d'un bloc VirtualHost, les
4732     changements qu'elle induit sont visibles de toute directive
4733     ultérieure, au delà de tout bloc VirtualHost.</p>    
4734 </usage>
4735 </directivesynopsis>
4736
4737 <directivesynopsis>
4738 <name>UseCanonicalName</name>
4739 <description>D&eacute;finit la mani&egrave;re dont le serveur d&eacute;termine son propre nom
4740 et son port</description>
4741 <syntax>UseCanonicalName On|Off|DNS</syntax>
4742 <default>UseCanonicalName Off</default>
4743 <contextlist><context>server config</context><context>virtual
4744 host</context>
4745 <context>directory</context></contextlist>
4746
4747 <usage>
4748     <p>Dans de nombreuses situations, Apache httpd doit construire une URL
4749     <em>auto-identifiante</em> -- c'est &agrave; dire une URL qui fait
4750     r&eacute;f&eacute;rence au serveur lui-m&ecirc;me. Avec <code>UseCanonicalName
4751     On</code>, Apache httpd va utiliser le nom d'h&ocirc;te et le port sp&eacute;cifi&eacute;s par
4752     la directive <directive module="core">ServerName</directive> pour
4753     construire le nom canonique du serveur. Ce nom est utilis&eacute; dans
4754     toutes les URLs auto-identifiantes, et affect&eacute; aux variables
4755     <code>SERVER_NAME</code> et <code>SERVER_PORT</code> dans les
4756     programmes CGI.</p>
4757
4758     <p>Avec <code>UseCanonicalName Off</code>, Apache httpd va construire ses
4759     URLs auto-identifiantes &agrave; l'aide du nom d'h&ocirc;te et du port fournis
4760     par le client, si ce dernier en a fourni un (dans la n&eacute;gative,
4761     Apache utilisera le nom canonique, de la m&ecirc;me mani&egrave;re que
4762     ci-dessus). Ces valeurs sont les m&ecirc;mes que celles qui sont utilis&eacute;es
4763     pour impl&eacute;menter les <a
4764     href="../vhosts/name-based.html">serveurs virtuels &agrave; base de
4765     nom</a>, et sont disponibles avec les m&ecirc;mes clients. De m&ecirc;me, les
4766     variables CGI <code>SERVER_NAME</code> et <code>SERVER_PORT</code>
4767     seront affect&eacute;es des valeurs fournies par le client.</p>
4768
4769     <p>Cette directive peut s'av&eacute;rer utile, par exemple, sur un serveur
4770     intranet auquel les utilisateurs se connectent en utilisant des noms
4771     courts tels que <code>www</code>. Si les utilisateurs tapent un nom
4772     court suivi d'une URL qui fait r&eacute;f&eacute;rence &agrave; un r&eacute;pertoire, comme
4773     <code>http://www/splat</code>, <em>sans le slash terminal</em>, vous
4774     remarquerez qu'Apache httpd va les rediriger vers
4775     <code>http://www.example.com/splat/</code>. Si vous avez activ&eacute;
4776     l'authentification, ceci va obliger l'utilisateur &agrave; s'authentifier
4777     deux fois (une premi&egrave;re fois pour <code>www</code> et une seconde
4778     fois pour <code>www.example.com</code> -- voir <a
4779     href="http://wiki.apache.org/httpd/FAQ#Why_does_Apache_ask_for_my_password_twice_before_serving_a_file.3F">la
4780     foire aux questions sur ce sujet pour plus d'informations</a>).
4781     Par contre, si <directive>UseCanonicalName</directive> est d&eacute;finie &agrave;
4782     <code>Off</code>, Apache httpd redirigera l'utilisateur vers
4783     <code>http://www/splat/</code>.</p>
4784
4785     <p>Pour l'h&eacute;bergement virtuel en masse &agrave; base d'adresse IP, on
4786     utilise une troisi&egrave;me option, <code>UseCanonicalName
4787     DNS</code>, pour supporter les clients anciens qui ne
4788     fournissent pas d'en-t&ecirc;te <code>Host:</code>. Apache httpd effectue alors
4789     une recherche DNS inverse sur l'adresse IP du serveur auquel le
4790     client s'est connect&eacute; afin de construire ses URLs
4791     auto-identifiantes.</p>
4792
4793     <note type="warning"><title>Avertissement</title>
4794     <p>Les programmes CGI risquent d'&ecirc;tre perturb&eacute;s par cette option
4795     s'ils tiennent compte de la variable <code>SERVER_NAME</code>. Le
4796     client est pratiquement libre de fournir la valeur qu'il veut comme
4797     nom d'h&ocirc;te. Mais si le programme CGI n'utilise
4798     <code>SERVER_NAME</code> que pour construire des URLs
4799     auto-identifiantes, il ne devrait pas y avoir de probl&egrave;me.</p>
4800     </note>
4801 </usage>
4802 <seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
4803 <seealso><directive module="core">ServerName</directive></seealso>
4804 <seealso><directive module="mpm_common">Listen</directive></seealso>
4805 </directivesynopsis>
4806
4807 <directivesynopsis>
4808 <name>UseCanonicalPhysicalPort</name>
4809 <description>D&eacute;finit la mani&egrave;re dont le serveur
4810 d&eacute;termine son propre port</description>
4811 <syntax>UseCanonicalPhysicalPort On|Off</syntax>
4812 <default>UseCanonicalPhysicalPort Off</default>
4813 <contextlist><context>server config</context><context>virtual
4814 host</context>
4815 <context>directory</context></contextlist>
4816
4817 <usage>
4818     <p>Dans de nombreuses situations, Apache httpd doit construire une URL
4819     <em>auto-identifiante</em> -- c'est &agrave; dire une URL qui fait
4820     r&eacute;f&eacute;rence au serveur lui-m&ecirc;me. Avec <code>UseCanonicalPhysicalPort
4821     On</code>, Apache httpd va fournir le num&eacute;ro de port physique r&eacute;el utilis&eacute;
4822     par la requ&ecirc;te en tant que port potentiel, pour construire le port
4823     canonique afin que le serveur puisse alimenter la directive
4824     <directive module="core">UseCanonicalName</directive>. Avec
4825     <code>UseCanonicalPhysicalPort Off</code>, Apache httpd n'utilisera pas le
4826     num&eacute;ro de port physique r&eacute;el, mais au contraire se r&eacute;f&eacute;rera aux
4827     informations de configuration pour construire un num&eacute;ro de port
4828     valide.</p>
4829
4830     <note><title>Note</title>
4831     <p>L'ordre dans lequel s'effectue la recherche quand on utilise le
4832     port physique est le suivant :</p>
4833      <dl>
4834      <dt><code>UseCanonicalName On</code></dt>
4835      <dd>
4836      <ol>
4837       <li>Port indiqu&eacute; dans <directive module="core">Servername</directive></li>
4838       <li>Port physique</li>
4839       <li>Port par d&eacute;faut</li>
4840      </ol>
4841      </dd>
4842      <dt><code>UseCanonicalName Off | DNS</code></dt>
4843      <dd>
4844      <ol>
4845       <li>Port sp&eacute;cifi&eacute; dans l'en-t&ecirc;te <code>Host:</code></li>
4846       <li>Port physique</li>
4847       <li>Port sp&eacute;cifi&eacute; par <directive module="core">Servername</directive></li>
4848       <li>Port par d&eacute;faut</li>
4849      </ol>
4850      </dd>
4851      </dl>
4852
4853     <p>Avec <code>UseCanonicalPhysicalPort Off</code>, on reprend
4854     l'ordre ci-dessus en supprimant "Port physique".</p>
4855     </note>
4856
4857 </usage>
4858 <seealso><directive module="core">UseCanonicalName</directive></seealso>
4859 <seealso><directive module="core">ServerName</directive></seealso>
4860 <seealso><directive module="mpm_common">Listen</directive></seealso>
4861 </directivesynopsis>
4862
4863 <directivesynopsis type="section">
4864 <name>VirtualHost</name>
4865 <description>Contient des directives qui ne s'appliquent qu'&agrave; un nom
4866 d'h&ocirc;te sp&eacute;cifique ou &agrave; une adresse IP</description>
4867 <syntax>&lt;VirtualHost
4868     <var>adresse IP</var>[:<var>port</var>] [<var>adresse
4869     IP</var>[:<var>port</var>]] ...&gt; ...
4870     &lt;/VirtualHost&gt;</syntax>
4871 <contextlist><context>server config</context></contextlist>
4872
4873 <usage>
4874     <p>Les balises <directive type="section">VirtualHost</directive> et
4875     <code>&lt;/VirtualHost&gt;</code> permettent de rassembler un groupe
4876     de directives qui ne s'appliquent qu'&agrave; un serveur virtuel
4877     particulier. Toute directive autoris&eacute;e dans un contexte de serveur
4878     virtuel peut &ecirc;tre utilis&eacute;e. Lorsque le serveur re&ccedil;oit un requ&ecirc;te
4879     pour un document h&eacute;berg&eacute; par un serveur virtuel particulier, il
4880     applique les directives de configuration rassembl&eacute;es dans la section
4881     <directive type="section">VirtualHost</directive>. <var>adresse
4882     IP</var> peut &ecirc;tre une des entit&eacute;s suivantes, &eacute;ventuellement suivies
4883     d'un caract&egrave;re ':' et d'un num&eacute;ro de port (ou *) :</p>
4884
4885     <ul>
4886       <li>L'adresse IP du serveur virtuel ;</li>
4887
4888       <li>Un nom de domaine enti&egrave;rement qualifi&eacute; correspondant &agrave;
4889       l'adresse IP du serveur virtuel (non recommand&eacute;) ;</li>
4890
4891       <li>Le caract&egrave;re <code>*</code>, qui agit comme un
4892       caract&egrave;re g&eacute;n&eacute;rique, et correspond &agrave; toute adresse IP.</li>
4893
4894       <li>La cha&icirc;ne <code>_default_</code>, dont la signification est
4895       identique &agrave; celle du caract&egrave;re <code>*</code></li>
4896
4897     </ul>
4898
4899     <highlight language="config">
4900 &lt;VirtualHost 10.1.2.3:80&gt;
4901   ServerAdmin webmaster@host.example.com
4902   DocumentRoot /www/docs/host.example.com
4903   ServerName host.example.com
4904   ErrorLog logs/host.example.com-error_log
4905   TransferLog logs/host.example.com-access_log
4906 &lt;/VirtualHost&gt;
4907     </highlight>
4908
4909
4910     <p>Les adresses IPv6 doivent &ecirc;tre entour&eacute;es de crochets car dans le
4911     cas contraire, un &eacute;ventuel port optionnel ne pourrait pas &ecirc;tre
4912     d&eacute;termin&eacute;. Voici un exemple de serveur virtuel avec adresse IPv6
4913     :</p>
4914
4915     <highlight language="config">
4916 &lt;VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80&gt;
4917   ServerAdmin webmaster@host.example.com
4918   DocumentRoot /www/docs/host.example.com
4919   ServerName host.example.com
4920   ErrorLog logs/host.example.com-error_log
4921   TransferLog logs/host.example.com-access_log
4922 &lt;/VirtualHost&gt;
4923     </highlight>
4924
4925     <p>Chaque serveur virtuel doit correspondre &agrave; une adresse IP, un
4926     port ou un nom d'h&ocirc;te sp&eacute;cifique ; dans le premier cas, le serveur
4927     doit &ecirc;tre configur&eacute; pour recevoir les paquets IP de plusieurs
4928     adresses (si le serveur n'a qu'une interface r&eacute;seau, on peut
4929     utiliser &agrave; cet effet la commande <code>ifconfig alias</code> -- si
4930     votre syst&egrave;me d'exploitation le permet).</p>
4931
4932     <note><title>Note</title>
4933     <p>L'utilisation de la directive <directive
4934     type="section">VirtualHost</directive> n'affecte en rien les
4935     adresses IP sur lesquelles Apache httpd est en &eacute;coute. Vous devez vous
4936     assurer que les adresses des serveurs virtuels sont bien incluses
4937     dans la liste des adresses pr&eacute;cis&eacute;es par la directive <directive
4938     module="mpm_common">Listen</directive>.</p>
4939     </note>
4940     
4941     <p>Tout bloc <directive
4942     type="section">VirtualHost</directive> doit comporter une directive
4943     <directive module="core">ServerName</directive>. Dans le cas
4944     contraire, le serveur virtuel h&eacute;ritera de la valeur de la directive
4945     <directive module="core">ServerName</directive> issue de la
4946     configuration du serveur principal.</p>
4947
4948     <p>A l'arriv&eacute;e d'une requ&ecirc;te, le serveur tente de la
4949     faire prendre en compte par la section <directive
4950     type="section">VirtualHost</directive> qui correspond le mieux en ne
4951     se basant que sur la paire adresse IP/port. Les cha&icirc;nes sans
4952     caract&egrave;res g&eacute;n&eacute;riques l'emportent sur celles qui en contiennent. Si
4953     aucune correspondance du point de vue de l'adresse IP/port n'est
4954     trouv&eacute;e, c'est la configuration du serveur "principal" qui sera
4955     utilis&eacute;e.</p>
4956     
4957     <p>Si plusieurs serveurs virtuels correspondent du point de vue de
4958     l'adresse IP/port, le serveur s&eacute;lectionne celui qui correspond le
4959     mieux du point de vue du nom d'h&ocirc;te de la requ&ecirc;te. Si aucune
4960     correspondance du point de vue du nom d'h&ocirc;te n'est trouv&eacute;e, c'est le
4961     premier serveur virtuel dont l'adresse IP/port correspond qui sera
4962     utilis&eacute;. Par voie de cons&eacute;quence, le premier serveur virtuel
4963     comportant une certaine paire adresse IP/port est le serveur virtuel
4964     par d&eacute;faut pour cette paire adresse IP/port.</p>
4965
4966     <note type="warning"><title>S&eacute;curit&eacute;</title>
4967     <p>Voir le document sur les <a
4968     href="../misc/security_tips.html">conseils &agrave; propos de s&eacute;curit&eacute;</a>
4969     pour une description d&eacute;taill&eacute;e des raisons pour lesquelles la
4970     s&eacute;curit&eacute; de votre serveur pourrait &ecirc;tre compromise, si le r&eacute;pertoire
4971     contenant les fichiers journaux est inscriptible par tout autre
4972     utilisateur que celui qui d&eacute;marre le serveur.</p>
4973     </note>
4974 </usage>
4975 <seealso><a href="../vhosts/">Documentation des serveurs virtuels
4976 du serveur HTTP Apache</a></seealso>
4977 <seealso><a href="../dns-caveats.html">Probl&egrave;mes concernant le DNS et
4978 le serveur HTTP Apache</a></seealso>
4979 <seealso><a href="../bind.html">D&eacute;finition des adresses et ports
4980 qu'utilise le serveur HTTP Apache</a></seealso>
4981 <seealso><a href="../sections.html">Comment fonctionnent les sections
4982 &lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
4983 explication de la mani&egrave;re dont ces diff&eacute;rentes sections se combinent
4984 entre elles &agrave; la r&eacute;ception d'une requ&ecirc;te</seealso>
4985 </directivesynopsis>
4986
4987 <directivesynopsis>
4988 <name>RegisterHttpMethod</name>
4989 <description>Enregistrement de m&eacute;thodes HTTP non standards</description>
4990 <syntax>RegisterHttpMethod <var>m&eacute;thode</var> [<var>m&eacute;thode</var> [...]]</syntax>
4991 <contextlist><context>server config</context></contextlist>
4992
4993 <usage>
4994 <p>Normalement, les m&eacute;thodes HTTP non conformes aux RFCs correspondantes
4995 sont rejet&eacute;es au cours du traitement de la requ&ecirc;te par HTTPD. Pour
4996 &eacute;viter ceci, les modules peuvent enregistrer les m&eacute;thodes HTTP non
4997 standards qu'ils supportent. La directive
4998 <directive>RegisterHttpMethod</directive> permet d'enregistrer de telles
4999 m&eacute;thodes manuellement. Ceci peut s'av&eacute;rer utile si de telle m&eacute;thodes
5000 doivent &ecirc;tre utilis&eacute;es dans un traitement externe, comme un script CGI.</p>
5001 </usage>
5002 </directivesynopsis>
5003
5004 <directivesynopsis>
5005 <name>Warning</name>
5006 <description>Message d'avertissement personnalisable en provenance de
5007 l'interpr&eacute;tation du fichier de configuration</description>
5008 <syntax>Warning <var>message</var></syntax>
5009 <contextlist><context>server config</context><context>virtual host</context>
5010 <context>directory</context><context>.htaccess</context>
5011 </contextlist>
5012 <compatibility>Disponible &agrave; partir de la version 2.5 du serveur HTTP
5013 Apache.</compatibility>
5014
5015 <usage>
5016     <p>Cette directive permet de signaler la d&eacute;tection d'un probl&egrave;me de
5017     configuration en g&eacute;n&eacute;rant un message d'avertissement
5018     personnalisable. L'interpr&eacute;tation du fichier de configuration n'est
5019     pas interrompue. Un exemple typique d'utilisation est la
5020     v&eacute;rification de la d&eacute;finition de certaines options d&eacute;finies par
5021     l'utilisateur, et l'envoi d'un avertissement &eacute;ventuel.</p>
5022
5023     <highlight language="config">
5024 # Exemple
5025 # signale que ReverseProxy n'est pas d&eacute;fini
5026 &lt;IfDefine !ReverseProxy&gt;
5027   Warning "le mandataire inverse n'a pas &eacute;t&eacute; sp&eacute;cifi&eacute;, veuillez corriger
5028   si n&eacute;cessaire"
5029 &lt;/IfDefine&gt;
5030
5031 &lt;IfDefine ReverseProxy&gt;
5032   # d&eacute;finition de la configuration personnalis&eacute;e du mandataire
5033 &lt;/IfDefine&gt;
5034     </highlight>
5035
5036 </usage>
5037 </directivesynopsis>
5038
5039 <directivesynopsis>
5040 <name>MergeTrailers</name>
5041 <description>D&eacute;termine si les donn&eacute;es suppl&eacute;mentaires (trailers) sont
5042 fusionn&eacute;es avec les en-t&ecirc;tes</description>
5043 <syntax>MergeTrailers [on|off]</syntax>
5044 <default>MergeTrailers off</default>
5045 <contextlist><context>server config</context><context>virtual host</context></contextlist>
5046
5047 <usage>
5048     <p>Cette directive permet de contr&ocirc;ler la fusion des donn&eacute;es HTTP
5049     suppl&eacute;mentaires (trailers) avec la repr&eacute;sentation interne des
5050     en-t&ecirc;tes. Cette fusion intervient lorsque le corps de la requ&ecirc;te a
5051     &eacute;t&eacute; enti&egrave;rement re&ccedil;u, bien longtemps apr&egrave;s que la majeure partie du
5052     traitement des en-t&ecirc;tes ait une chance de pouvoir examiner ou
5053     modifier les en-t&ecirc;tes de la requ&ecirc;te.</p>
5054     <p>Cette option a &eacute;t&eacute; introduite dans un souci de compatibilit&eacute; avec
5055     les versions ant&eacute;rieures &agrave; 2.4.10, o&ugrave; les donn&eacute;es suppl&eacute;mentaires
5056     &eacute;taient syst&eacute;matiquement fusionn&eacute;es avec les en-t&ecirc;tes de la requ&ecirc;te.</p>
5057 </usage>
5058 </directivesynopsis>
5059
5060
5061 </modulesynopsis>