]> granicus.if.org Git - apache/blob - docs/manual/custom-error.xml.fr
update transformation
[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 : 558686 -->
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>Une fonctionnalit&eacute; additionnelle permet aux webmasters de
31     configurer la r&eacute;ponse d'Apache &agrave; certaines erreurs ou probl&egrave;mes.</p>
32
33     <p>Il est possible de d&eacute;finir des r&eacute;ponses personnalisables comme
34     devant &ecirc;tre activ&eacute;es lorsque le serveur d&eacute;tecte une erreur ou un
35     probl&egrave;me.</p>
36
37     <p>Si un script se crashe et provoque l'envoi d'une r&eacute;ponse "500
38     Server Error", cette derni&egrave;re peut &ecirc;tre remplac&eacute;e soit par un texte
39     plus convivial, soit par une redirection vers une autre URL (locale
40     ou externe).</p>
41   </summary>
42
43   <section id="behavior">
44     <title>Comportement</title>
45
46     <section>
47       <title>Ancien comportement</title>
48
49       <p>httpd 1.3 de NCSA renvoyait d'antiques et obscurs messages
50       d'erreur ou de probl&egrave;me qui la plupart du temps n'avaient aucune
51       signification pour l'utilisateur, et ne permettaient pas de
52       journaliser les symptomes qui les avaient caus&eacute;s.</p>
53     </section>
54
55     <section>
56       <title>Nouveau comportement</title>
57
58       <p>Il est possible de demander au serveur :</p>
59
60       <ol>
61         <li>d'afficher un autre texte &agrave; la place du message NCSA cod&eacute; en
62         dur, ou</li>
63
64         <li>rediriger vers une URL locale, ou</li>
65
66         <li>rediriger vers une URL externe.</li>
67       </ol>
68
69       <p>La redirection vers une autre URL peut &ecirc;tre utile, mais
70       seulement s'il est possible de transmettre certaines informations
71       qui pourront &ecirc;tre utilis&eacute;es pour expliquer et/ou journaliser
72       l'erreur ou le probl&egrave;me plus clairement.</p>
73
74       <p>Pour y parvenir, Apache va d&eacute;finir de nouvelles variables
75       d'environnement de style CGI :</p>
76
77       <example>
78         REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap,
79             image/jpeg<br />
80         REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05
81             9000/712)<br />
82         REDIRECT_PATH=.:/bin:/usr/local/bin:/etc<br />
83         REDIRECT_QUERY_STRING=<br />
84         REDIRECT_REMOTE_ADDR=121.345.78.123<br />
85         REDIRECT_REMOTE_HOST=ooh.ahhh.com<br />
86         REDIRECT_SERVER_NAME=crash.bang.edu<br />
87         REDIRECT_SERVER_PORT=80<br />
88         REDIRECT_SERVER_SOFTWARE=Apache/0.8.15<br />
89         REDIRECT_URL=/cgi-bin/buggy.pl
90       </example>
91
92       <p>Notez le pr&eacute;fixe <code>REDIRECT_</code>.</p>
93
94       <p>Au minimum <code>REDIRECT_URL</code> et
95       <code>REDIRECT_QUERY_STRING</code> seront transmises &agrave; la nouvelle
96       URL (en supposant qu'il s'agit d'une inclusion ou d'un script
97       cgi). Les autres variables ne seront pr&eacute;sentes que si elles
98       existaient avant que l'erreur ou le probl&egrave;me ne survienne.
99       <strong>Aucune</strong> d'entre elles ne sera d&eacute;finie si votre
100       directive <directive module="core">ErrorDocument</directive>
101       sp&eacute;cifie une redirection <em>externe</em> (toute URL commen&ccedil;ant
102       par un protocole du style <code>http:</code>, m&ecirc;me si elle fait
103       r&eacute;f&eacute;rence au m&ecirc;me h&ocirc;te que le serveur).</p>
104     </section>
105   </section>
106
107   <section id="configuration">
108     <title>Configuration</title>
109
110     <p>L'utilisation de la directive <directive
111     module="core">ErrorDocument</directive> est activ&eacute;e pour les
112     fichiers .htaccess si la directive <directive
113     module="core">AllowOverride</directive> est positionn&eacute;e dans cette
114     optique.</p>
115
116     <p>Voici quelques exemples...</p>
117
118     <example>
119       ErrorDocument 500 /cgi-bin/crash-recover <br />
120       ErrorDocument 500 "Toutes nos excuses, notre script s'est crash&eacute;."
121       <br />
122       ErrorDocument 500 http://xxx/ <br />
123       ErrorDocument 404 /Lame_excuses/not_found.html <br />
124       ErrorDocument 401 /Subscription/how_to_subscribe.html
125     </example>
126
127     <p>La syntaxe est la suivante :</p>
128
129     <example>
130       ErrorDocument &lt;code &agrave; 3 chiffres&gt; &lt;action&gt;
131     </example>
132
133     <p>o&ugrave; action peut &ecirc;tre :</p>
134
135     <ol>
136       <li>Un texte &agrave; afficher. Entourez-le de guillemets (").</li>
137
138       <li>Une URL externe vers laquelle on sera redirig&eacute;.</li>
139
140       <li>Une URL locale vers laquelle on sera redirig&eacute;.</li>
141     </ol>
142   </section>
143
144   <section id="custom">
145     <title>Messages d'erreur et de redirection personnalis&eacute;s</title>
146
147     <p>Lors d'une redirection d'URL, Apache a modifi&eacute; son comportement
148     et les scripts ou inclusions c&ocirc;t&eacute; serveur disposent maintenant de
149     variables d'environnement suppl&eacute;mentaires.</p>
150
151     <section>
152       <title>Ancien comportement</title>
153
154       <p>Un script vers lequel une requ&ecirc;te avait &eacute;t&eacute; redirig&eacute;e
155       avait acc&egrave;s aux variables CGI standards, sans indication sur
156       l'origine de la redirection.</p>
157     </section>
158
159     <section>
160       <title>Nouveau comportement</title>
161
162       <p>Un nouveau jeu de variables d'environnement va &ecirc;tre initialis&eacute;
163       &agrave; des fins d'utilisation par un script vers lequel une requ&ecirc;te
164       aura &eacute;t&eacute; redirig&eacute;e. Chaque nouvelle variable sera pr&eacute;fix&eacute;e par
165       <code>REDIRECT_</code>. Les variables d'environnement
166       <code>REDIRECT_</code> sont cr&eacute;&eacute;es &agrave; partir des variables
167       d'environnement CGI existant avant la redirection, et renomm&eacute;es en
168       leur ajoutant le pr&eacute;fixe <code>REDIRECT_</code> ; par exemple,
169       <code>HTTP_USER_AGENT</code> devient
170       <code>REDIRECT_HTTP_USER_AGENT</code>. En plus de ces nouvelles
171       variables, Apache va d&eacute;finir <code>REDIRECT_URL</code> et
172       <code>REDIRECT_STATUS</code> pour aider le script &agrave; remonter &agrave;
173       l'origine de la redirection. L'URL originale et l'URL de
174       redirection peuvent &ecirc;tre enregistr&eacute;es dans le journal des
175       acc&egrave;s.</p>
176
177       <p>Si la directive ErrorDocument sp&eacute;cifie une redirection locale
178       vers un script CGI, ce dernier doit ajouter un en-t&ecirc;te
179       "<code>Status:</code>" dans sa sortie afin de s'assurer du bon
180       acheminement jusqu'au client de la condition d'erreur qui a
181       provoqu&eacute; cette redirection. Par exemple, un script Perl sp&eacute;cifi&eacute;
182       par une directive ErrorDocument pourrait contenir ce qui suit
183       :</p>
184
185       <example>
186         ... <br />
187         print  "Content-type: text/html\n"; <br />
188         printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"}; <br />
189         ...
190       </example>
191
192       <p>Si un script est d&eacute;di&eacute; &agrave; la gestion d'une condition d'erreur
193       sp&eacute;cifique, telle que <code>404&nbsp;Not&nbsp;Found</code>, il
194       peut utiliser le code et le texte de l'erreur sp&eacute;cifiques &agrave; la
195       place.</p>
196
197       <p>Notez que si la r&eacute;ponse contient un en-t&ecirc;te
198       <code>Location:</code>, le script <em>doit</em> &eacute;mettre un en-t&ecirc;te
199       <code>Status:</code> appropri&eacute; (tel que
200       <code>302&nbsp;Found</code>) afin de provoquer une redirection au
201       niveau du client. Dans le cas contraire, l'en-t&ecirc;te
202       <code>Location:</code> risque de n'avoir aucun effet.</p>
203     </section>
204   </section>
205 </manualpage>