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