summaryrefslogtreecommitdiff
path: root/docs/manual/custom-error.html.fr
blob: 3aa011bdfb92990d029cb81e74fd385ce741dd60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>Messages d'erreur personnalisés - Serveur Apache HTTP</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<script src="./style/scripts/prettify.js" type="text/javascript">
</script>

<link href="./images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p>
<p class="apache">Serveur Apache HTTP Version 2.5</p>
<img alt="" src="./images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Messages d'erreur personnalisés</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/custom-error.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="./fr/custom-error.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>

    <p>Le serveur HTTP Apache fournit des messages d'erreur génériques
    pour les codes de statut 4xx ou 5xx ; ces messages sont cependant
    relativement austères, imprécis, et peuvent s'avérer intimidants
    pour les visiteurs du site. Si vous le souhaitez, vous pouvez
    afficher des messages d'erreur plus conviviaux, dans un langage
    autre que l'anglais, ou même sous une forme plus en adéquation avec
    le style de votre site.</p>

    <p>Il est possible de définir des messages d'erreur personnalisés
    pour chaque code de statut HTTP associé à une condition d'erreur -
    c'est à dire tout code de statut 4xx ou 5xx.</p>

    <p>De plus, il est possible de
    personnaliser le message d'erreur en fonction d'un jeu de valeurs
    fourni, en utilisant les <a href="howto/ssi.html">Inclusions Côté
    Serveur (SSI)</a>. Un programme CGI ou un autre gestionnaire
    dynamique (PHP, mod_perl, etc...) peut aussi utiliser ces variables
    pour gérer les conditions d'erreur.</p>


  </div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#configuration">Configuration</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#variables">Variables disponibles</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#custom">Personnalisation des messages d'erreur</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#multi-lang">Messages d'erreur personnalisés
  multilingues</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="configuration" id="configuration">Configuration</a></h2>

    <p>Les messages d'erreur personnalisés sont configurés via la
    directive <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code>, qui
    peut être utilisée dans un contexte global, serveur virtuel ou
    répertoire. On peut utiliser cette directive dans les fichiers
    .htaccess si <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> est
    définie à FileInfo.</p>

    <div class="example"><p><code>
      ErrorDocument 500 "Désolé, notre script s'est crashé ; comme c'est
      dommage !"<br />
      ErrorDocument 500 /cgi-bin/crash-recover<br />
      ErrorDocument 500 http://erreur.example.com/erreur_serveur.html<br />
      ErrorDocument 404 /erreurs/non_trouve.html <br />
      ErrorDocument 401 /inscription/comment_s_inscrire.html
    </code></p></div>

<p>La syntaxe de la directive <code>ErrorDocument</code> est :</p>
      <div class="example"><p><code>
      ErrorDocument &lt;code_3_chiffres&gt; &lt;action&gt;
    </code></p></div>
      <p>où action peut être traitée comme :</p>
        <ol>
      <li>Une URL de redirection local (si l'action commence par un "/").</li>
      <li>Une URL de redirection externe (si action est une URL valide).</li>
      <li>Le texte à afficher (si l'action ne répond à aucune des
      deux conditions précédentes). Entourez le texte de guillemets (")
      s'il contient plusieurs mots.</li>
        </ol>

    <p>Dans le cas d'une redirection vers une URL locale, des variables
    d'environnement supplémentaires sont définies de façon à ce que la
    réponse puisse être personnalisée par la suite. Elles ne sont pas
    envoyées aux URLs externes.</p>

  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="variables" id="variables">Variables disponibles</a></h2>

      <p>La redirection vers une autre URL peut être utile, mais
      seulement s'il est possible de transmettre certaines informations
      qui pourront être utilisées pour expliquer ou journaliser
      la condition d'erreur ou le problème plus clairement.</p>

	<p>Pour y parvenir, lorsque la redirection d'erreur est envoyée,
	des variables d'environnement supplémentaires sont définies à
	partir des en-têtes de la requête originale en préfixant le nom
	d'origine de l'en-tête par 'REDIRECT_', ce qui permet de fournir au
	message d'erreur le contexte de la requête originelle.</p>

      <p>Par exemple, en plus des variables d'environnement habituelles,
      vous pouvez recevoir ce qui suit :</p>


      <div class="example"><p><code>
        REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/jpeg, image/png<br />
        REDIRECT_HTTP_USER_AGENT=Mozilla/5.0 Fedora/3.5.8-1.fc12 Firefox/3.5.8<br />
        REDIRECT_PATH=.:/bin:/usr/local/bin:/sbin<br />
        REDIRECT_QUERY_STRING=<br />
        REDIRECT_REMOTE_ADDR=121.345.78.123<br />
        REDIRECT_REMOTE_HOST=client.example.com<br />
        REDIRECT_SERVER_NAME=www.example.edu<br />
        REDIRECT_SERVER_PORT=80<br />
        REDIRECT_SERVER_SOFTWARE=Apache/2.2.15<br />
        REDIRECT_URL=/cgi-bin/buggy.pl
      </code></p></div>

      <p>Les variables d'environnement <code>REDIRECT_</code> sont
      créées à partir des variables d'environnement préexistantes à la
      redirection qui sont préfixées par la chaîne <code>REDIRECT_</code> ;
      par exemple, <code>HTTP_USER_AGENT</code> devient
      <code>REDIRECT_HTTP_USER_AGENT</code>.</p>

      <p><code>REDIRECT_URL</code>, <code>REDIRECT_STATUS</code>, et
      <code>REDIRECT_QUERY_STRING</code> sont systématiquement définies,
      les autres variables n'étant définies que si l'en-tête
      correspondant existait avant la condition d'erreur.</p>

      <p><strong>Aucune</strong> d'entre elles ne sera définie si votre
      directive <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code>
      spécifie une redirection <em>externe</em> (toute URL commençant
      par un protocole du style <code>http:</code>, même si elle fait
      référence au même hôte que le serveur).</p>

  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="custom" id="custom">Personnalisation des messages d'erreur</a></h2>


	<p>Si vous faites pointer votre directive
	<code>ErrorDocument</code> vers certains gestionnaires
	dynamiques comme les inclusions côté serveur, les scripts CGI ou
	d'autres gestionnaires, vous pouvez utiliser les variables
	d'environnement supplémentaires disponibles pour personnaliser
	le message.</p>


      <p>Si la directive ErrorDname-basedocument spécifie une redirection locale
      vers un script CGI, ce dernier doit ajouter un en-tête
      "<code>Status:</code>" dans sa sortie afin de s'assurer du bon
      acheminement jusqu'au client de la condition d'erreur qui a
      provoqué cette redirection. Par exemple, un script Perl spécifié
      par une directive ErrorDocument pourrait contenir ce qui suit
      :</p>

      <div class="example"><p><code>
        ... <br />
        print  "Content-type: text/html\n"; <br />
        printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"}; <br />
        ...
      </code></p></div>

      <p>Si un script est dédié à la gestion d'une condition d'erreur
      spécifique, telle que <code>404&nbsp;Not&nbsp;Found</code>, il
      peut utiliser le code et le texte de l'erreur spécifiques à la
      place.</p>

      <p>Notez que si la réponse contient un en-tête
      <code>Location:</code> (afin d'initier une redirection côté
      client), le script <em>doit</em> émettre un en-tête approprié
      (comme <code>302&nbsp;Found</code>). Dans le cas contraire,
      l'en-tête <code>Location:</code> ne produira aucun effet.</p>
  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="multi-lang" id="multi-lang">Messages d'erreur personnalisés
  multilingues</a></h2>

    <p>Vous trouverez dans la distribution du serveur HTTP Apache un
    répertoire contenant des messages d'erreur personnalisés traduits en
    16 langues différentes. Pour activer cette fonctionnalité, vous
    pouvez aussi inclure un fichier de configuration qui se trouve dans
    le répertoire de configuration <code>conf/extra</code>.</p>

    <p>Dans le fichier de configuration de votre serveur, vous trouverez
    un groupe de lignes du style :</p>

    <div class="example"><p><code>
    # Multi-language error messages<br />
    #Include conf/extra/httpd-multilang-errordoc.conf
    </code></p></div>

    <p>Décommentez la ligne <code>Include</code> pour activer cette
    fonctionnalité, et présenter des messages d'erreur dont le langage
    sera négocié en fonction du langage préféré défini au niveau du
    navigateur du client.</p>

    <p>De plus, ces documents contiennent diverses variables
    <code>REDIRECT_</code>, de façon à ce que l'utilisateur final
    dispose d'informations supplémentaires à propos de ce qui a pu se
    produire, et de ce qu'il est susceptible de faire maintenant.</p>

    <p>Ces documents peuvent être personnalisés en fournissant autant
    d'informations utiles que vous le souhaitez aux utilisateurs à
    propos de votre site, et de ce qu'ils sont susceptibles d'y trouver.</p>

    <p>Pour pouvoir utiliser cette fonctionnalité, vous devez activer
    <code class="module"><a href="./mod/mod_include.html">mod_include</a></code> et <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>.</p>

 </div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/custom-error.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="./fr/custom-error.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/custom-error.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2012 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript">
    if (typeof(prettyPrint) !== undefined) {
        prettyPrint();
    }
</script>
</body></html>