]> granicus.if.org Git - apache/blob - docs/manual/custom-error.xml.fr
Updates.
[apache] / docs / manual / custom-error.xml.fr
1 <?xml version="1.0" encoding="ISO-8859-1" ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
4 <!-- English Revision : 1328589 -->
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 <manualpage metafile="custom-error.xml.meta">
26
27   <title>Messages d'erreur personnalis&eacute;s</title>
28
29   <summary>
30     <p>Le serveur HTTP Apache fournit des messages d'erreur g&eacute;n&eacute;riques
31     pour les codes de statut 4xx ou 5xx ; ces messages sont cependant
32     relativement aust&egrave;res, impr&eacute;cis, et peuvent s'av&eacute;rer intimidants
33     pour les visiteurs du site. Si vous le souhaitez, vous pouvez
34     afficher des messages d'erreur plus conviviaux, dans un langage
35     autre que l'anglais, ou m&ecirc;me sous une forme plus en ad&eacute;quation avec
36     le style de votre site.</p>
37
38     <p>Il est possible de d&eacute;finir des messages d'erreur personnalis&eacute;s
39     pour chaque code de statut HTTP associ&eacute; &agrave; une condition d'erreur -
40     c'est &agrave; dire tout code de statut 4xx ou 5xx.</p>
41
42     <p>De plus, il est possible de
43     personnaliser le message d'erreur en fonction d'un jeu de valeurs
44     fourni, en utilisant les <a href="howto/ssi.html">Inclusions C&ocirc;t&eacute;
45     Serveur (SSI)</a>. Un programme CGI ou un autre gestionnaire
46     dynamique (PHP, mod_perl, etc...) peut aussi utiliser ces variables
47     pour g&eacute;rer les conditions d'erreur.</p>
48
49
50   </summary>
51
52   <section id="configuration"><title>Configuration</title>
53
54     <p>Les messages d'erreur personnalis&eacute;s sont configur&eacute;s via la
55     directive <directive module="core">ErrorDocument</directive>, qui
56     peut &ecirc;tre utilis&eacute;e dans un contexte global, serveur virtuel ou
57     r&eacute;pertoire. On peut utiliser cette directive dans les fichiers
58     .htaccess si <directive module="core">AllowOverride</directive> est
59     d&eacute;finie &agrave; FileInfo.</p>
60
61     <example>
62       ErrorDocument 500 "D&eacute;sol&eacute;, notre script s'est crash&eacute; ; comme c'est
63       dommage !"<br />
64       ErrorDocument 500 /cgi-bin/crash-recover<br />
65       ErrorDocument 500 http://erreur.example.com/erreur_serveur.html<br />
66       ErrorDocument 404 /erreurs/non_trouve.html <br />
67       ErrorDocument 401 /inscription/comment_s_inscrire.html
68     </example>
69
70 <p>La syntaxe de la directive <code>ErrorDocument</code> est :</p>
71       <example>
72       ErrorDocument &lt;code_3_chiffres&gt; &lt;action&gt;
73     </example>
74       <p>o&ugrave; action peut &ecirc;tre trait&eacute;e comme :</p>
75         <ol>
76       <li>Une URL de redirection local (si l'action commence par un "/").</li>
77       <li>Une URL de redirection externe (si action est une URL valide).</li>
78       <li>Le texte &agrave; afficher (si l'action ne r&eacute;pond &agrave; aucune des
79       deux conditions pr&eacute;c&eacute;dentes). Entourez le texte de guillemets (")
80       s'il contient plusieurs mots.</li>
81         </ol>
82
83     <p>Dans le cas d'une redirection vers une URL locale, des variables
84     d'environnement suppl&eacute;mentaires sont d&eacute;finies de fa&ccedil;on &agrave; ce que la
85     r&eacute;ponse puisse &ecirc;tre personnalis&eacute;e par la suite. Elles ne sont pas
86     envoy&eacute;es aux URLs externes.</p>
87
88   </section>
89
90         <section id="variables"><title>Variables disponibles</title>
91
92       <p>La redirection vers une autre URL peut &ecirc;tre utile, mais
93       seulement s'il est possible de transmettre certaines informations
94       qui pourront &ecirc;tre utilis&eacute;es pour expliquer ou journaliser
95       la condition d'erreur ou le probl&egrave;me plus clairement.</p>
96
97         <p>Pour y parvenir, lorsque la redirection d'erreur est envoy&eacute;e,
98         des variables d'environnement suppl&eacute;mentaires sont d&eacute;finies &agrave;
99         partir des en-t&ecirc;tes de la requ&ecirc;te originale en pr&eacute;fixant le nom
100         d'origine de l'en-t&ecirc;te par 'REDIRECT_', ce qui permet de fournir au
101         message d'erreur le contexte de la requ&ecirc;te originelle.</p>
102
103       <p>Par exemple, en plus des variables d'environnement habituelles,
104       vous pouvez recevoir ce qui suit :</p>
105
106
107       <example>
108         REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/jpeg, image/png<br />
109         REDIRECT_HTTP_USER_AGENT=Mozilla/5.0 Fedora/3.5.8-1.fc12 Firefox/3.5.8<br />
110         REDIRECT_PATH=.:/bin:/usr/local/bin:/sbin<br />
111         REDIRECT_QUERY_STRING=<br />
112         REDIRECT_REMOTE_ADDR=121.345.78.123<br />
113         REDIRECT_REMOTE_HOST=client.example.com<br />
114         REDIRECT_SERVER_NAME=www.example.edu<br />
115         REDIRECT_SERVER_PORT=80<br />
116         REDIRECT_SERVER_SOFTWARE=Apache/2.2.15<br />
117         REDIRECT_URL=/cgi-bin/buggy.pl
118       </example>
119
120       <p>Les variables d'environnement <code>REDIRECT_</code> sont
121       cr&eacute;&eacute;es &agrave; partir des variables d'environnement pr&eacute;existantes &agrave; la
122       redirection qui sont pr&eacute;fix&eacute;es par la cha&icirc;ne <code>REDIRECT_</code> ;
123       par exemple, <code>HTTP_USER_AGENT</code> devient
124       <code>REDIRECT_HTTP_USER_AGENT</code>.</p>
125
126       <p><code>REDIRECT_URL</code>, <code>REDIRECT_STATUS</code>, et
127       <code>REDIRECT_QUERY_STRING</code> sont syst&eacute;matiquement d&eacute;finies,
128       les autres variables n'&eacute;tant d&eacute;finies que si l'en-t&ecirc;te
129       correspondant existait avant la condition d'erreur.</p>
130
131       <p><strong>Aucune</strong> d'entre elles ne sera d&eacute;finie si votre
132       directive <directive module="core">ErrorDocument</directive>
133       sp&eacute;cifie une redirection <em>externe</em> (toute URL commen&ccedil;ant
134       par un protocole du style <code>http:</code>, m&ecirc;me si elle fait
135       r&eacute;f&eacute;rence au m&ecirc;me h&ocirc;te que le serveur).</p>
136
137   </section>
138
139   <section id="custom"><title>Personnalisation des messages d'erreur</title>
140
141
142         <p>Si vous faites pointer votre directive
143         <code>ErrorDocument</code> vers certains gestionnaires
144         dynamiques comme les inclusions c&ocirc;t&eacute; serveur, les scripts CGI ou
145         d'autres gestionnaires, vous pouvez utiliser les variables
146         d'environnement suppl&eacute;mentaires disponibles pour personnaliser
147         le message.</p>
148
149
150       <p>Si la directive ErrorDname-basedocument sp&eacute;cifie une redirection locale
151       vers un script CGI, ce dernier doit ajouter un en-t&ecirc;te
152       "<code>Status:</code>" dans sa sortie afin de s'assurer du bon
153       acheminement jusqu'au client de la condition d'erreur qui a
154       provoqu&eacute; cette redirection. Par exemple, un script Perl sp&eacute;cifi&eacute;
155       par une directive ErrorDocument pourrait contenir ce qui suit
156       :</p>
157
158       <example>
159         ... <br />
160         print  "Content-type: text/html\n"; <br />
161         printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"}; <br />
162         ...
163       </example>
164
165       <p>Si un script est d&eacute;di&eacute; &agrave; la gestion d'une condition d'erreur
166       sp&eacute;cifique, telle que <code>404&nbsp;Not&nbsp;Found</code>, il
167       peut utiliser le code et le texte de l'erreur sp&eacute;cifiques &agrave; la
168       place.</p>
169
170       <p>Notez que si la r&eacute;ponse contient un en-t&ecirc;te
171       <code>Location:</code> (afin d'initier une redirection c&ocirc;t&eacute;
172       client), le script <em>doit</em> &eacute;mettre un en-t&ecirc;te appropri&eacute;
173       (comme <code>302&nbsp;Found</code>). Dans le cas contraire,
174       l'en-t&ecirc;te <code>Location:</code> ne produira aucun effet.</p>
175   </section>
176
177   <section id="multi-lang"><title>Messages d'erreur personnalis&eacute;s
178   multilingues</title>
179
180     <p>Vous trouverez dans la distribution du serveur HTTP Apache un
181     r&eacute;pertoire contenant des messages d'erreur personnalis&eacute;s traduits en
182     16 langues diff&eacute;rentes. Pour activer cette fonctionnalit&eacute;, vous
183     pouvez aussi inclure un fichier de configuration qui se trouve dans
184     le r&eacute;pertoire de configuration <code>conf/extra</code>.</p>
185
186     <p>Dans le fichier de configuration de votre serveur, vous trouverez
187     un groupe de lignes du style :</p>
188
189     <example>
190     # Multi-language error messages<br />
191     #Include conf/extra/httpd-multilang-errordoc.conf
192     </example>
193
194     <p>D&eacute;commentez la ligne <code>Include</code> pour activer cette
195     fonctionnalit&eacute;, et pr&eacute;senter des messages d'erreur dont le langage
196     sera n&eacute;goci&eacute; en fonction du langage pr&eacute;f&eacute;r&eacute; d&eacute;fini au niveau du
197     navigateur du client.</p>
198
199     <p>De plus, ces documents contiennent diverses variables
200     <code>REDIRECT_</code>, de fa&ccedil;on &agrave; ce que l'utilisateur final
201     dispose d'informations suppl&eacute;mentaires &agrave; propos de ce qui a pu se
202     produire, et de ce qu'il est susceptible de faire maintenant.</p>
203
204     <p>Ces documents peuvent &ecirc;tre personnalis&eacute;s en fournissant autant
205     d'informations utiles que vous le souhaitez aux utilisateurs &agrave;
206     propos de votre site, et de ce qu'ils sont susceptibles d'y trouver.</p>
207
208     <p>Pour pouvoir utiliser cette fonctionnalit&eacute;, vous devez activer
209     <module>mod_include</module> et <module>mod_negotiation</module>.</p>
210
211  </section>
212
213
214 </manualpage>