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