Gérer les erreurs sur un site web (e.g. erreur 404)

web,erreur,404,403,500,…

2008-12-15 – 11:40

2000-12-16 – 20:00

2008-12-15 – 11:40

Ô, l'infâme erreur 404 ! Quiconque a utilisé le web en a un jour été pour ses frais à se trouver confronté à une page introuvable. Ce n'est pour autant pas la seule erreur du protocole HTTP !

Plusieurs autres erreurs que l'erreur 404 existent. En voici la liste en droite ligne de wikipedia, mais vous pouvez aussi vous conformer aux informations qui proviennent du {{{W3C}}} (HTTP 1.1 - Status Code Definitions) :

Codes d'erreur HTTP (source: Wikipedia)
Code d'erreur Message Description
4xx : Erreurs Client
400 Bad Request La syntaxe de la requête est erronée
401 Unauthorized Accès à la ressource refusé
402 Payment Required Paiement requis pour accéder à la ressource (non utilisé)
403 Forbidden Refus de traitement de la requête
404 Not Found Document non trouvé
405 Method Not Allowed Méthode de requête non autorisée
406 Not Acceptable Toutes les réponses possibles seront refusées.
407 Proxy Authentication Required Accès à la ressource autorisé par identification avec le proxy
408 Request Time-out Temps d'attente d'une réponse du serveur écoulé
409 Conflict La requête ne peut être traitée à l'état actuel
410 Gone La ressource est indisponible et aucune adresse de redirection n'est connue
411 Length Required La longueur de la requête n'a pas été précisée
412 Precondition Failed Préconditions envoyées par la requête non-vérifiées
413 Request Entity Too Large Traitement abandonné dû à une requête trop importante
414 Request-URI Too Long URI trop longue
415 Unsupported Media Type Format de requête non-supportée pour une méthode et une ressource données
416 Requested range unsatisfiable Champs d'en-tête de requête 'range' incorrect.
417 Expectation failed Comportement attendu et défini dans l'en-tête de la requête insatisfaisable
5xx : Erreurs Serveur
500 Internal Server Error Erreur interne du serveur
501 Not Implemented Fonctionnalité réclamée non supportée par le serveur
502 Bad Gateway Mauvaise réponse envoyée à un serveur intermédiaire par un autre serveur.
503 Service Unavailable Service indisponible
504 Gateway Time-out Temps d'attente d'une réponse d'un serveur à un serveur intermédiaire écoulé
505 HTTP Version not supported Version HTTP non gérée par le serveur
509 Bandwidth Limit Exceeded Code non officiel utilisé par de nombreux serveurs pour indiquer un dépassement de quota.

Lorsqu'une de ces erreurs se présente, le serveur Web, Apache dans notre cas, renvoie un code d'erreur et affiche une explication brève de l'erreur en question. Ces messages sont, pour le commun des mortels, un peu rustres mais il est tout à fait possible de configurer Apache pour qu'un message d'erreur personnalisé soit renvoyé au visiteur.

C'est le sens de la directive ErrorDocument à mettre en {{œ}}uvre dans le fichier de configuration, httpd.conf :


ErrorDocument code-erreur "document"

Voici d'ailleurs ce qu'il est prévu de faire dans le cas du site de Lato Sensu Management :

<VirtualHost localhost:80>
    ServerAdmin patrick.boens@latosensu.be
    DocumentRoot "c:\WebSites\latosensu.be\www\httpdocs"
    ServerName latosensu.be
    ServerAlias latosensu.be *.latosensu.be
    ErrorDocument 400 /errdocs/error.php?id=400
    ErrorDocument 401 /errdocs/error.php?id=401
    ErrorDocument 402 /errdocs/error.php?id=402
    ErrorDocument 403 /errdocs/error.php?id=403
    ErrorDocument 404 /errdocs/error.php?id=404
    ErrorDocument 405 /errdocs/error.php?id=405
    ErrorDocument 406 /errdocs/error.php?id=406
    ErrorDocument 407 /errdocs/error.php?id=407
    ErrorDocument 408 /errdocs/error.php?id=408
    ErrorDocument 409 /errdocs/error.php?id=409
    ErrorDocument 410 /errdocs/error.php?id=410
    ErrorDocument 411 /errdocs/error.php?id=411
    ErrorDocument 412 /errdocs/error.php?id=412
    ErrorDocument 413 /errdocs/error.php?id=413
    ErrorDocument 414 /errdocs/error.php?id=414
    ErrorDocument 415 /errdocs/error.php?id=415
    ErrorDocument 416 /errdocs/error.php?id=416
    ErrorDocument 417 /errdocs/error.php?id=417
    
    ErrorDocument 500 /errdocs/error.php?id=500
    ErrorDocument 501 /errdocs/error.php?id=501
    ErrorDocument 502 /errdocs/error.php?id=502
    ErrorDocument 503 /errdocs/error.php?id=503
    ErrorDocument 504 /errdocs/error.php?id=504
    ErrorDocument 505 /errdocs/error.php?id=505
    
    ErrorDocument 509 /errdocs/error.php?id=509
</VirtualHost>

Ce que cette configuration assure, c'est de lancer un script PHP, error.php, dans le cas où une erreur se présente sur le site. En paramètre, on envoit le numéro d'erreur pour une gestion plus fine de l'erreur. Voyez effectivement ec qui se passe en cas d'erreur 404 :


    ErrorDocument 404 /errdocs/error.php?id=404

... le script error.php, se trouvant dans le répertoire errdocs, est exécuté avec en paramètre le code d'erreur rencontrée : ?id=404.

Il est dès lors aisé, dans le script error.php de prendre toutes les mesures nécessaires pour faire face à l'erreur. Voyons d'ailleurs ce qu'il en est de manière plus précise en cas d'erreur 404 !

Fournir l'information souhaitée

Pour envisager une approche de traitement de l'erreur, il est utile de se mettre à la place du visiteur qui rencontre l'erreur. Au demeurant, cette personne est intéressée par une page qui contient l'information qu'il recherche, car c'est bien l'information qu'il convoite et non pas la page en tant que telle.

Il est donc essentiel, tant que faire se peut, de lui prodiguer l'information sollicitée et toute stratégie qui met cela en {{œ}}uvre est bienvenue.

Pour autant, il n'est pas toujours facile de déterminer ce que le visiteur cherche ! C'est là que le bât blesse, dit-on.

Il est en tout cas un cas auquel vous ne pouvez rien faire, ou si peu. C'est le cas où le visiteur a mentionné lui-même l'{{{URL}}} à atteindre dans la zone de navigation de son browser. Dans ce cas particulier, il n'y a qu'à lui suggérer de retaper l'URL ou alors de se diriger vers votre plan de site (sitemap). Ce genre d'erreur survient souvent d'un signet (bookmark) obsolète.

Si par contre, l'erreur provient par l'utilisation d'une ancre (balise <a>…</a>) alors deux approches différentes peuvent être mises en branle :

  1. Soit l'erreur provient de votre propre site, et alors il est urgent que vous répariez le problème.
  2. Soit l'erreur provient d'un site qui vous a référencé (un moteur de recherches par exemple) et là il conviendra de prendre contact avec le site en question pour l'inviter à corriger l'erreur.

Renseigner le visiteur

Traduire l'explication de l'erreur

Prévenir le webmaster

Corriger les erreurs provenant de sites extérieurs

Commentaires des visiteurs

1. De le 20/09/2011 à 16:09learn hip hop danceing online now

fast cda to mp3 rippers http://mp3-s.co.uk/all_music-fernando-ballesteros-and-jesus-elices-5840-1/ queen victoria life

2. De le 07/11/2011 à 22:41WheedssodoLaT devastate bag online entanglement internet rafting

<a href="http://sentpercsetz.yuku.com/topic/16">cheap Celexa buy cod</a> <a href="http://tracurip.yuku.com/topic/33">purchase Diazepam</a> <a href="http://lethalchimanga.webs.com/apps/forums/topics/show/6688749-average-weight-loss-effexor-buy-effexor-in-england-soma">Buy Effexor in Albuquerque</a> <a href="http://earlysignsofpregnancy.webs.com/apps/forums/topics/show/6691225-get-celexa-over-the-counter-online-where-can-i-buy-celexa-no-prescription-cheap-watson-celexa-online">buy Celexa without</a> <a href="http://pacicumpa.yuku.com/topic/17">car insurance estimate</a> <a href="http://reslobicuti.springnote.com/pages/9194676">buy Celexa prescription online</a> <a href="http://clanuntouched.webs.com/apps/forums/topics/show/6688926-cheapest-effexor-home-effexor-cod-saturday-delivery-order-effexor-online-overnight">overnight Effexor ups cod</a> <a href="http://kransiolidistro.springnote.com/pages/9251772">term life insurance quote</a> <a href="http://voterzs.webs.com/apps/forums/topics/show/6692175-buy-lasix-overnight-cheap-lasix-fedex-no-prescription-buy-cod-online-lasix">Lasix on line health insurance lead</a> <a href="http://the50firstarmy.webs.com/apps/forums/topics/show/6655178-klonopin-before-and-after-pics-buy-klonopin-without-a-prescription-overnight-delivery-klonopin-without-prescription-medications">buy Klonopin from mexico online</a>

3. De le 13/12/2011 à 05:01ugg sale

aQtqTngChuZixYa <a href="http://www.wmontgomerysongs.com">ugg sale online</a> dXebQpmYpuAbrMp http://www.wmontgomerysongs.com

4. De le 02/01/2012 à 09:39Adepex Pills

doowjipilliff, http://www.communitychurchofsyosset.org/ - valium 5mg So before you decide to take Valium, make sure that you notify your doctor of any pre existing condition you may have that may affect the drugís safety. <a href=http://www.communitychurchofsyosset.org/>diazepam price</a>

5. De le 04/01/2012 à 18:02fastwrite.com is cool!

I love to come back to fastwrite.com <a href=http://topmusclesupplements.org>prohormones</a>

6. De le 14/01/2012 à 03:35Suntrust Mortgage

pAppopzyxkeighogd <a href=http://reviewss.net/business/business-letter-format/>Business Letter Format</a> whyeertsfubbfi

Ajoutez un nouveau commentaire


(non affichée)





Machine de turing




(*) zone obligatoire.

Évitez d'enfoncer le bouton “ Poster ” plus d'une fois. Le traitement de votre commentaire peut prendre quelques secondes sur le serveur avant que vous ne soyez averti de sa prise en compte.

Notes à propos des commentaires

Nous vous demandons de bien vouloir faire diligence et de respecter les règles les plus élémentaires de bienséance. Les commentaires non appropriés ou offensants pourront être édités voire supprimés.

Les adresses email que vous pourriez nous laisser ne sont JAMAIS affichées par mesure de confidentialité : elles ne nous servent qu'à vous contacter pour éclaircir un point ou l'autre si besoin était.

Notez bien que toutes les balises HTML sont retirées de votre commentaire néanmoins vous pouvez utiliser les marques suivantes pour vous aider à formater votre texte :

  • [p] et [/p] : paragraphe
  • [b] et [/b] : gras (bold)
  • [i] et [/i] : italique
  • [q] et [/q] : citation
  • [http] et [/http] : ancre
  • [pre] et [/pre] : texte préformaté
  • [code] et [/code] : code source

Merci

< Février 2012 >
Lu Ma Me Je Ve Sa Di
    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        
lifetime-episode

Nos autres articles

  1. Articles
    1. /articles-core.php
    2. /articles/core/MiFID/index.php
    3. /articles/core/SEPA/index.php
    4. /articles/core/accessibility-seo/index.php
    5. /articles/core/accessible-popups/index.php
    6. /articles/core/ajax/index.php
    7. /articles/core/blogs/index.php
    8. /articles/core/business-case/index.php
    9. /articles/core/closure-report/index.php
    10. /articles/core/cmmi/index.php
    11. /articles/core/css/index.php
    12. /articles/core/doctype/index.php
    13. /articles/core/dynamic-input/index.php
    14. /articles/core/dynamic-theme/index.php
    15. /articles/core/effort-de-gestion-de-projet/index.php
    16. /articles/core/estimations-programmeurs/index.php
    17. /articles/core/expressions-regulieres-php/index.php
    18. /articles/core/gestion-des-couleurs/index.php
    19. /articles/core/glossary/index.php
    20. /articles/core/ideal-team-duration/index.php
    21. /articles/core/image-transition/index.php
    22. /articles/core/inline-javascript/index.php
    23. /articles/core/investir/index.php
    24. /articles/core/it-budget/index.php
    25. /articles/core/javascript-animation/index.php
    26. /articles/core/junctions/index.php
    27. /articles/core/les-malheurs-IT/IT-soumis-business.php
    28. /articles/core/limites-de-la-croissance/club-de-rome.php
    29. /articles/core/link-rel-canonical/eviter-duplication-url-canonique.php
    30. /articles/core/link-rel/index.php
    31. /articles/core/longitude-latitude-google-maps/index.php
    32. /articles/core/meetings/index.php
    33. /articles/core/pack-and-go/index.php
    34. /articles/core/pageframe-tabs/index.php
    35. /articles/core/phases-de-projet/index.php
    36. /articles/core/php-server-variables/index.php
    37. /articles/core/pre-business-case/index.php
    38. /articles/core/project-management/principes-de-gestion-de-projet.php
    39. /articles/core/project-typology/index.php
    40. /articles/core/pso/index.php
    41. /articles/core/requirements management/index.php
    42. /articles/core/risk management/index.php
    43. /articles/core/rss/index.php
    44. /articles/core/scrum/index.php
    45. /articles/core/search-engine-optimization/accessibility-guidelines.php
    46. /articles/core/sepia/index.php
    47. /articles/core/sponsorship-meeting/index.php
    48. /articles/core/stylesheet-switching/index.php
    49. /articles/core/v-model/index.php
    50. /articles/core/vaesoli-transform-images/index.php
    51. /articles/core/wiki/index.php
    52. /articles/core/xhtml-tooltips/index.php
    53. /articles/core/xml-sitemap/index.php