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