JavaScript : rendre le Web interactif (école d'ingénieur) · Chapitre 10 · Exercice de TD
Des messages pour l'utilisateur
Dialoguer avec un serveur : fetch · niveau 2
Énoncé
Les messages techniques (« fetch failed », « erreur HTTP 500 ») n'ont pas leur place sous les yeux d'un client. Écrire messageUtilisateur(e), qui renvoie, pour une erreur levée par obtenirJson : « Le serveur met trop de temps à répondre. Réessayez dans un instant. » pour un délai dépassé ; « Connexion impossible : vérifiez votre accès à Internet. » pour une erreur réseau ; « Ce livre n’existe pas ou n’est plus au catalogue. » pour un 404 ; « Le serveur rencontre un problème. Réessayez plus tard. » pour un statut 5xx. La tester sur quatre requêtes.
Corrigé
export function messageUtilisateur(e) {
if (e.name === "TimeoutError") return "Le serveur met trop de temps à répondre. Réessayez dans un instant.";
if (e.name === "TypeError") return "Connexion impossible : vérifiez votre accès à Internet.";
if (e.statut === 404) return "Ce livre n’existe pas ou n’est plus au catalogue.";
if (e.statut >= 500) return "Le serveur rencontre un problème. Réessayez plus tard.";
return `Erreur inattendue : ${e.message}`;
}
Testée (exercices/ex4-messages.mjs) sur un ISBN inconnu, une panne, un délai de 2 s borné à 1 s, et un port sans serveur, elle donne les quatre messages dans cet ordre. On teste le nom de l'erreur et le statut, jamais le texte du message, qui change d'un navigateur à l'autre.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.