Skip to main content

Bienvenue au bar API-ritif 🍹

Tout au long de ce cours, nous allons fréquenter un établissement très particulier : API-ritif, le bar de l'école de dev. On n'y entre pas par la porte, mais par HTTP.

L'adresse exacte du bar est donnée en cours.

Consommation responsable : les cocktails d'API-ritif sont 100 % virtuels.
L'abus de requêtes est sanctionné par le barman (voir 429).

La carte

Cocktail Description du barman
Hello World Sans alcool. Le premier de tout développeur.
Null Pointer Mojito Sans alcool : contient null alcool.
Segfault Sunrise Un classique. Plante rarement, mais sans prévenir.
Pull Request Colada Doux et crémeux. Nécessite deux approbations.
Blue Screen Lagoon Bleu. Très bleu.
Java Martini Un espresso martini. Long à démarrer, puis très efficace.
Merge Conflict Deux alcools qui ne s'entendent pas. À résoudre à la main.
Kernel Panic Le plus fort de la carte. Redémarrage conseillé après.
404 Spritz Introuvable, comme son nom l'indique.
Sudo Rhum Pour ceux qui ont les droits.
Infinite Loop On en reprend un, puis un autre, puis un autre…

Le barman murmure qu'il existe d'autres cocktails, qui ne figurent pas sur la première page de la carte…

Les règles de la maison

  • Toutes les routes commencent par /v1.
  • Le bar parle JSON. Pensez au header Content-Type: application/json quand vous envoyez des données.
  • Les listes sont paginées : paramètres ?page= et ?per_page=.
  • Certaines routes demandent d'être client du bar : envoyez votre clé dans le header X-API-Key.
  • Les erreurs sont renvoyées au format application/problem+json : lisez-les, elles sont souvent bavardes.
  • Le barman n'est pas une machine : trop de requêtes d'un coup et il vous demande de patienter.

Les principales ressources

Ressource Description
/v1/ L'accueil du bar
/v1/customers Les clients (inscription)
/v1/me Votre profil
/v1/cocktails La carte
/v1/cocktails/{id}/reviews Les avis sur un cocktail
/v1/orders Vos commandes

La documentation complète de l'API (le contrat OpenAPI) sera étudiée au chapitre 6. D'ici là, explorez !

La vie d'une commande

Une commande ne reste pas figée : elle avance toute seule dans le temps.

pending ──▶ preparing ──▶ ready ──▶ served
   │
   └──▶ cancelled   (uniquement tant qu'elle est pending)

Comme dans un vrai bar : une fois que le barman a commencé à préparer la commande, il est trop tard pour annuler !