Les divers composants techniques de TesfriX communiquent entre eux et synchronisent leurs données via API.

Le fonctionnement et la stabilité des API est donc important pour assurer la fiabilité du fonctionnement de TesfriX.


A cette fin, diverses mesures techniques ont été mise en place pour assurer la robustesse des API. Par exemple:


Gestion des exceptions

Les réponses des API en cas de problèmes, lèvent systématiquement des "exceptions" qui sont traitées par le composant qui les réceptionnent. Un problème est donc toujours intercepté, il n'est jamais ignoré.

Il a été choisi de ne pas afficher la réponse technique (Json d'erreur) qui n'a aucune signification pour l'utilisateur final, mais de la "traduire" avec un code HTTP adapté 

Mise en place de limites [TO DO]

Prochainement, des limites ("rate limiting) vont être mise en place, afin d'éviter qu'un composant client (voire un robot) n'envoie des milliers de requêtes et ne sature le serveur

Gestion de timeout [TO DO]

Des analyses vont être menées afin de déterminer la pertinence de positionner des timeout sur les requêtes sortantes, ou sur des appels à la base de données. 

Utilisation de cache

L'utilisation de cache est une pratique mise en place. Elle doit se généraliser au fil de l'évolution de TesfriX.