Skip to content

Vue d'ensemble

Thomas Chauchefoin edited this page Mar 29, 2016 · 1 revision

L'API d'EtuUTT utilise REST, JSON et OAuth pour donner aux développeurs de l'UTT un accès aisé aux données étudiantes et associatives.

Cette API est codée au sein même du site étudiant (elle utilise donc elle aussi Symfony2). Vous pouvez retrouver le code du site et de l'API sur Github :

http://github.com/ungdev/site-etu

Outils requis et recommandations

.. note::

Les outils listés ci-dessous vous sont requis dans le cas où vous créez une
application réelle. Pour tester l'API, vous pouvez utiliser des interfaces
comme **Postman** (https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm)
qui vous permettront d'effectuer des requêtes visuellement.

Méthode d'accès

L'API d'EtuUTT se base activement sur HTTP. La méthode recommandée pour y accéder est donc d'utiliser un client HTTP dans votre language de programmation. Par exemple, pour PHP, Guzzle est un client HTTP complet et très bien fait.

Stockage

L'API d'EtuUTT utilise des tokens d'authentifications pour limiter l'accès des applications aux données privées acceptées par l'utilisateur. Vous devez donc avoir à votre disposition un moyen de stocker ces tokens d'accès pendant plusieurs jours (typiquement, une base de données).

Cache

L'API d'EtuUTT peut tout à fait servir de base de donnée pour vos applications. Cependant, étant donné que chaque requête passe par le réseau, votre application pourrait être ralentie pendant cet accès à l'API. N'hésitez pas à mettre en place du cache de votre coté pour éviter les requêtes inutiles.

.. note::

Même si il n'y a pas de limite du nombre de requêtes par jour, il est de
bonne augure d'éviter le plus possible les requêtes inutiles, ceci pour garder
une infrastructure stable et ne pas surcharger la plateforme.

En bref, pour commencer à utiliser l'API, vous devriez avoir à votre disposition :

  • une base de donnée ou toute autre méthode de stockage (nécessaire à l'utilisation des tokens) ;
  • un système de cache (nécessaire pour le bien de tous) ;
  • un client REST dans votre language de programmation favrois (optionnel mais utile) ;