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