Aller au contenu principal
Version: version du dispositif : 1.1.0.0

Dépannage technique

Introduction​

Même des API bien documentées et robustes peuvent poser des difficultés inattendues lors de l'intégration. Des problèmes d'authentification à la gestion des limites de débit, en passant par l'analyse de réponses complexes, ces obstacles courants peuvent ralentir le développement et compliquer les déploiements en production. Les conseils de dépannage suivants visent à vous aider à identifier les schémas d'erreur courants, à en comprendre les causes profondes et à appliquer des solutions pratiques, afin de développer des applications fiables reposant sur l'API.

Problèmes les plus courants de l'API REST​

Cette section décrit les problèmes courants que vous pouvez rencontrer lors de l'utilisation de l'API et fournit des conseils pour les résoudre. Si les problèmes persistent malgré ces solutions, n'hésitez pas à contacter notre équipe d'assistance.

Erreurs d'authentification​

Problèmes observés :

  • Réception d'une réponse HTTP 401 (Unauthorized) ou 403 (Forbidden).
  • Réponses indiquant « Invalid token » ou « Expired token ».

Causes possibles :

  • En-tête Authorization absent ou mal formé.
  • Jeton d'accès expiré ou invalide.
  • Identifiants ou noms de champs incorrects dans les données du formulaire lors de l'appel au point de terminaison (endpoint) /login.

Solutions :

  • Assurez-vous d'avoir inclus le jeton d'accès (bearer token) access_token dans l'en-tête Authorization pour les endpoints protégés.
  • Les jetons JSON Web Token (JWT) générés par l'API ont une durée de validité limitée. Si le jeton a expiré, demandez un nouveau jeton via /login en utilisant des identifiants valides.
  • Vérifiez que vos username et password sont corrects et n'ont pas été modifiés ou révoqués.

Charges utiles de requête invalides ou mal formées​

Problèmes observés :

  • Réception d'une erreur HTTP 400 (Bad Request).
  • Messages d'erreur relatifs à un JSON mal formé ou à des champs obligatoires manquants.

Causes possibles :

  • Charge utile (payload) JSON mal formatée (par exemple, accolades ou virgules manquantes).
  • Paramètres obligatoires non inclus.
  • Type de contenu autre que JSON dans les en-têtes de la requête.

Solutions :

  • Utilisez un validateur JSON avant d'envoyer la requête afin de vérifier la syntaxe JSON.
  • Consultez la documentation de l'endpoint pour vous assurer que tous les champs obligatoires (par exemple, media, bodySite) sont présents.
  • Incluez Content-Type: application/json dans l'en-tête de la requête pour les services cliniques.

Problèmes de téléversement et de qualité des images​

Problèmes observés :

  • Réception de réponses HTTP 400 ou 422 (Unprocessable Entity) indiquant des données ou un format d'image invalides.
  • Résultats incohérents ou inattendus de /diagnosis-support ou de /severity-assessment.

Causes possibles :

  • Formats d'image non pris en charge (seules les images encodées en Base64 sont prises en charge).
  • Le fichier image est corrompu ou incomplet.
  • Mauvaise qualité d'image entraînant un faible niveau de confiance des modèles cliniques de vision par ordinateur.
  • Images non dermatologiques soumises à des services attendant un contenu dermatologique.

Solutions :

  • Vérifiez que l'image est encodée en Base64 et utilise un format de fichier pris en charge, tel que JPEG ou PNG.
  • Vérifiez que le fichier image n'est pas corrompu et que les données de l'image sont correctement encodées.
  • Utilisez des images de plus haute résolution, sans flou, avec un bon éclairage et une bonne mise au point.
  • Assurez-vous que l'image est de nature dermatologique. Les images non dermatologiques peuvent conduire le modèle de domaine du dispositif à renvoyer des résultats très incertains.

Résultats peu clairs ou inattendus​

Problèmes observés :

  • Distribution inattendue des catégories CIM-11 possibles, des signes visuels ou masques prédits, ou des scores issus des systèmes de cotation automatique.
  • Résultats qui s'écartent sensiblement de ce qui est attendu sur le plan clinique.

Causes possibles :

  • L'image d'entrée peut ne pas montrer clairement l'affection cutanée concernée.
  • La confiance du modèle dans l'identification de certaines affections peut être faible en raison d'images ambiguës (par exemple, des images montrant plus d'une affection cutanée).
  • La génération des résultats cliniques repose sur plusieurs modèles ; si les modèles en amont (par exemple, de domaine ou de qualité) produisent des sorties incertaines, les interprétations cliniques en aval peuvent être affectées.

Solutions :

  • Fournissez des images montrant clairement la zone cutanée atteinte, de préférence avec un éclairage et une mise au point appropriés.
  • Consultez la documentation pour vérifier que l'affection soumise fait partie de l'ensemble des affections prises en charge par les endpoints /diagnosis-support ou /severity-assessment.
  • Si possible, fournissez des images sous d'autres angles ou dans de meilleures conditions de prise de vue afin d'aider le modèle à produire des résultats plus exacts.

Problèmes de réseau et de performances​

Problèmes observés :

  • L'API n'est pas joignable.
  • Temps de réponse lents ou expiration des requêtes.
  • Connectivité intermittente ou erreurs d'indisponibilité du serveur (par exemple, HTTP 502 ou 503).

Causes possibles :

  • Blocage au niveau du DNS ou du pare-feu.
  • Erreurs inattendues dans la logique côté serveur.
  • Indisponibilité temporaire du serveur ou maintenance.
  • Charge élevée du serveur.
  • Mauvaise connexion réseau côté client.
  • Taille importante des images entraînant un temps de traitement accru.

Solutions :

  • Consultez la page d'état de l'API (le cas échéant) ou contactez l'assistance pour savoir si une maintenance est en cours ou si une interruption de service est connue.
  • Vérifiez que vos paramètres de réseau ou de pare-feu autorisent les requêtes sortantes vers le domaine de l'API.
  • En cas d'incident temporaire côté serveur, attendez quelques minutes avant de réessayer.
  • Réduisez la taille des fichiers image (sans compromettre leur netteté) afin d'améliorer les temps de traitement. Les performances ne seront pas affectées, car nos modèles de vision par ordinateur sont conçus pour fonctionner avec des images de qualité moyenne.
  • Assurez-vous que votre client dispose d'une connexion Internet stable et envisagez d'ajuster les délais d'expiration des requêtes.

Limitation du débit​

Problèmes observés :

  • Réception de réponses HTTP 429 (Too Many Requests).
  • Impossibilité soudaine et temporaire d'accéder aux endpoints protégés, même avec une authentification valide.

Causes possibles :

  • Dépassement de la limite de requêtes autorisée dans une fenêtre de temps donnée.
  • Envoi rapide de plusieurs requêtes ou opérations en masse sans espacement adéquat.

Solutions :

  • À la réception d'une erreur 429, attendez la durée indiquée dans l'en-tête Retry-After avant d'envoyer une nouvelle requête. Si cet en-tête est absent, attendez quelques secondes et réessayez la requête.
  • Dans la mesure du possible, planifiez ou regroupez les requêtes afin d'éviter d'en envoyer un grand nombre en rafale sur un court intervalle.
  • Consultez les limites de débit indiquées pour l'API et adaptez votre utilisation afin de rester dans les quotas autorisés.
  • Mettez en cache les informations statiques ou rarement modifiées afin de réduire au minimum les appels répétés à l'API.

URL incorrectes, endpoints obsolètes ou incompatibilités de version​

Problèmes observés :

  • Réception d'une erreur HTTP 404 (Not Found).
  • Erreurs inattendues après une mise à jour récente de l'API ou la publication d'une nouvelle version.
  • Erreurs indiquant que certains paramètres ou endpoints ne sont pas reconnus.

Causes possibles :

  • Fautes de frappe dans l'URL.
  • Utilisation d'endpoints ou de paramètres obsolètes.
  • Non-respect de la documentation la plus récente de l'API ou des consignes de version.

Solutions :

  • Vérifiez que l'URL de base et/ou les segments de chemin correspondent exactement à la documentation. Vérifiez également que vous utilisez la bonne méthode HTTP (GET ou POST).
  • Assurez-vous d'utiliser les URL d'endpoints et les schémas de données les plus récents pour le corps de la requête.
  • Si des endpoints sont devenus obsolètes, mettez à jour votre application cliente afin d'utiliser les alternatives recommandées.
  • Consultez le journal des modifications (changelog) ou les notes de version pour obtenir des détails sur les comportements ou les champs de données mis à jour.

Besoin d'une aide supplémentaire ?​

Si les solutions ci-dessus ne résolvent pas votre problème et que vous souhaitez nous contacter, veuillez vous rendre à la section Besoin d'assistance ?.