Consommer une API avec fetch en JavaScript et gérer correctement les erreurs

Une promesse fetch résolue ne signifie pas toujours que la requête a réussi. Construisez une fonction robuste qui distingue erreur réseau, réponse HTTP, JSON invalide et données inattendues.