Files
apache-http-server/docs/manual/custom-error.xml.fr
Vincent Deffontaines 7215340787 New .fr translations.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@788931 13f79535-47bb-0310-9956-ffa450edef68
2009-06-27 06:59:47 +00:00

206 lines
8.3 KiB
Plaintext

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- English Revision : 558686 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<manualpage metafile="custom-error.xml.meta">
<title>Messages d'erreur personnalis&eacute;s</title>
<summary>
<p>Une fonctionnalit&eacute; additionnelle permet aux webmasters de
configurer la r&eacute;ponse d'Apache &agrave; certaines erreurs ou probl&egrave;mes.</p>
<p>Il est possible de d&eacute;finir des r&eacute;ponses personnalisables comme
devant &ecirc;tre activ&eacute;es lorsque le serveur d&eacute;tecte une erreur ou un
probl&egrave;me.</p>
<p>Si un script se crashe et provoque l'envoi d'une r&eacute;ponse "500
Server Error", cette derni&egrave;re peut &ecirc;tre remplac&eacute;e soit par un texte
plus convivial, soit par une redirection vers une autre URL (locale
ou externe).</p>
</summary>
<section id="behavior">
<title>Comportement</title>
<section>
<title>Ancien comportement</title>
<p>httpd 1.3 de NCSA renvoyait d'antiques et obscurs messages
d'erreur ou de probl&egrave;me qui la plupart du temps n'avaient aucune
signification pour l'utilisateur, et ne permettaient pas de
journaliser les symptomes qui les avaient caus&eacute;s.</p>
</section>
<section>
<title>Nouveau comportement</title>
<p>Il est possible de demander au serveur :</p>
<ol>
<li>d'afficher un autre texte &agrave; la place du message NCSA cod&eacute; en
dur, ou</li>
<li>rediriger vers une URL locale, ou</li>
<li>rediriger vers une URL externe.</li>
</ol>
<p>La redirection vers une autre URL peut &ecirc;tre utile, mais
seulement s'il est possible de transmettre certaines informations
qui pourront &ecirc;tre utilis&eacute;es pour expliquer et/ou journaliser
l'erreur ou le probl&egrave;me plus clairement.</p>
<p>Pour y parvenir, Apache va d&eacute;finir de nouvelles variables
d'environnement de style CGI :</p>
<example>
REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap,
image/jpeg<br />
REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05
9000/712)<br />
REDIRECT_PATH=.:/bin:/usr/local/bin:/etc<br />
REDIRECT_QUERY_STRING=<br />
REDIRECT_REMOTE_ADDR=121.345.78.123<br />
REDIRECT_REMOTE_HOST=ooh.ahhh.com<br />
REDIRECT_SERVER_NAME=crash.bang.edu<br />
REDIRECT_SERVER_PORT=80<br />
REDIRECT_SERVER_SOFTWARE=Apache/0.8.15<br />
REDIRECT_URL=/cgi-bin/buggy.pl
</example>
<p>Notez le pr&eacute;fixe <code>REDIRECT_</code>.</p>
<p>Au minimum <code>REDIRECT_URL</code> et
<code>REDIRECT_QUERY_STRING</code> seront transmises &agrave; la nouvelle
URL (en supposant qu'il s'agit d'une inclusion ou d'un script
cgi). Les autres variables ne seront pr&eacute;sentes que si elles
existaient avant que l'erreur ou le probl&egrave;me ne survienne.
<strong>Aucune</strong> d'entre elles ne sera d&eacute;finie si votre
directive <directive module="core">ErrorDocument</directive>
sp&eacute;cifie une redirection <em>externe</em> (toute URL commen&ccedil;ant
par un protocole du style <code>http:</code>, m&ecirc;me si elle fait
r&eacute;f&eacute;rence au m&ecirc;me h&ocirc;te que le serveur).</p>
</section>
</section>
<section id="configuration">
<title>Configuration</title>
<p>L'utilisation de la directive <directive
module="core">ErrorDocument</directive> est activ&eacute;e pour les
fichiers .htaccess si la directive <directive
module="core">AllowOverride</directive> est positionn&eacute;e dans cette
optique.</p>
<p>Voici quelques exemples...</p>
<example>
ErrorDocument 500 /cgi-bin/crash-recover <br />
ErrorDocument 500 "Toutes nos excuses, notre script s'est crash&eacute;."
<br />
ErrorDocument 500 http://xxx/ <br />
ErrorDocument 404 /Lame_excuses/not_found.html <br />
ErrorDocument 401 /Subscription/how_to_subscribe.html
</example>
<p>La syntaxe est la suivante :</p>
<example>
ErrorDocument &lt;code &agrave; 3 chiffres&gt; &lt;action&gt;
</example>
<p>o&ugrave; action peut &ecirc;tre :</p>
<ol>
<li>Un texte &agrave; afficher. Entourez-le de guillemets (").</li>
<li>Une URL externe vers laquelle on sera redirig&eacute;.</li>
<li>Une URL locale vers laquelle on sera redirig&eacute;.</li>
</ol>
</section>
<section id="custom">
<title>Messages d'erreur et de redirection personnalis&eacute;s</title>
<p>Lors d'une redirection d'URL, Apache a modifi&eacute; son comportement
et les scripts ou inclusions c&ocirc;t&eacute; serveur disposent maintenant de
variables d'environnement suppl&eacute;mentaires.</p>
<section>
<title>Ancien comportement</title>
<p>Un script vers lequel une requ&ecirc;te avait &eacute;t&eacute; redirig&eacute;e
avait acc&egrave;s aux variables CGI standards, sans indication sur
l'origine de la redirection.</p>
</section>
<section>
<title>Nouveau comportement</title>
<p>Un nouveau jeu de variables d'environnement va &ecirc;tre initialis&eacute;
&agrave; des fins d'utilisation par un script vers lequel une requ&ecirc;te
aura &eacute;t&eacute; redirig&eacute;e. Chaque nouvelle variable sera pr&eacute;fix&eacute;e par
<code>REDIRECT_</code>. Les variables d'environnement
<code>REDIRECT_</code> sont cr&eacute;&eacute;es &agrave; partir des variables
d'environnement CGI existant avant la redirection, et renomm&eacute;es en
leur ajoutant le pr&eacute;fixe <code>REDIRECT_</code> ; par exemple,
<code>HTTP_USER_AGENT</code> devient
<code>REDIRECT_HTTP_USER_AGENT</code>. En plus de ces nouvelles
variables, Apache va d&eacute;finir <code>REDIRECT_URL</code> et
<code>REDIRECT_STATUS</code> pour aider le script &agrave; remonter &agrave;
l'origine de la redirection. L'URL originale et l'URL de
redirection peuvent &ecirc;tre enregistr&eacute;es dans le journal des
acc&egrave;s.</p>
<p>Si la directive ErrorDocument sp&eacute;cifie une redirection locale
vers un script CGI, ce dernier doit ajouter un en-t&ecirc;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&eacute; cette redirection. Par exemple, un script Perl sp&eacute;cifi&eacute;
par une directive ErrorDocument pourrait contenir ce qui suit
:</p>
<example>
... <br />
print "Content-type: text/html\n"; <br />
printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"}; <br />
...
</example>
<p>Si un script est d&eacute;di&eacute; &agrave; la gestion d'une condition d'erreur
sp&eacute;cifique, telle que <code>404&nbsp;Not&nbsp;Found</code>, il
peut utiliser le code et le texte de l'erreur sp&eacute;cifiques &agrave; la
place.</p>
<p>Notez que si la r&eacute;ponse contient un en-t&ecirc;te
<code>Location:</code>, le script <em>doit</em> &eacute;mettre un en-t&ecirc;te
<code>Status:</code> appropri&eacute; (tel que
<code>302&nbsp;Found</code>) afin de provoquer une redirection au
niveau du client. Dans le cas contraire, l'en-t&ecirc;te
<code>Location:</code> risque de n'avoir aucun effet.</p>
</section>
</section>
</manualpage>