Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

90 total results found

Bienvenue au bar API-ritif 🍹

Concevoir une API REST Chapitre 3 - Outils et fil rouge

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'AP...

curl, Bruno et Postman

Concevoir une API REST Chapitre 3 - Outils et fil rouge

Pour parler à une API, pas besoin d'écrire du code : des outils permettent d'envoyer des requêtes HTTP à la main. curl curl est l'outil en ligne de commande de référence. Il est installé par défaut sur Linux, macOS et Windows 10+. curl http://api-ritif.port...

TP : La chasse au trésor

Concevoir une API REST Chapitre 3 - Outils et fil rouge

Objectif Le barman d'API-ritif a caché un trésor quelque part dans son API. Pour le trouver, il faudra lire attentivement chaque réponse : codes de statut, headers, body… Rien n'est là par hasard. Chaque étape franchie vous donne un flag : il se trouve dans ...

Appeler une API avec requests

Concevoir une API REST Chapitre 4 - Consommer une API en code

curl et Bruno, c'est bien pour explorer. Mais pour automatiser, il faut appeler l'API depuis du code. Les exemples sont donnés en Python, avec la bibliothèque requests. Prérequis Python 3 et la bibliothèque requests : pip install requests. Votre clé d'API n'a...

Pagination, erreurs, 401 et 429

Concevoir une API REST Chapitre 4 - Consommer une API en code

Un script qui marche sur la première page, avec un serveur de bonne humeur, c'est facile. Un script robuste doit aussi gérer la pagination, les erreurs et un serveur qui demande de ralentir. La pagination Une API ne renvoie jamais une liste de 10 000 élément...

Les machines consomment aussi vos API

Concevoir une API REST Chapitre 4 - Consommer une API en code

Jusqu'ici, les clients de nos API étaient des programmes écrits par des humains. Depuis l'arrivée des LLM, un nouveau type de client apparaît : l'IA elle-même. Un LLM qui utilise des outils Un modèle de langage ne fait que produire du texte. Pour agir sur le...

TP : Script de statistiques

Concevoir une API REST Chapitre 4 - Consommer une API en code

Objectif Pendant la chasse au trésor, toute la promo a passé des commandes au bar. Le patron d'API-ritif veut maintenant des statistiques, et il compte sur vous. Vous allez compléter un script Python qui récupère les données par l'API et calcule des statistiqu...

Nommer les ressources et les routes

Concevoir une API REST Chapitre 5 - Concevoir une API

Une URL est la première chose qu'un développeur voit de votre API. Si elle est claire, il devine la suite. Si elle ne l'est pas, il ouvre la documentation… ou abandonne. Les règles Des noms, pas des verbes L'URL désigne une ressource. L'action, c'est la métho...

Filtres, tri et pagination

Concevoir une API REST Chapitre 5 - Concevoir une API

Une collection peut contenir des milliers d'éléments. Le client doit pouvoir n'en demander qu'une partie, dans l'ordre qui l'intéresse. Tout passe par les paramètres de query : la ressource reste la même, on ne change que la vue. Les filtres Un paramètre par ...

Versioning

Concevoir une API REST Chapitre 5 - Concevoir une API

Une API publiée a des clients que vous ne connaissez pas : des applications mobiles qui ne seront pas mises à jour avant des mois, des scripts oubliés sur un serveur, des intégrations de partenaires… Changer l'API peut tous les casser d'un coup. Ce qui casse,...

Les erreurs avec problem+json

Concevoir une API REST Chapitre 5 - Concevoir une API

Le code de statut dit qu'il y a une erreur. Le body doit dire laquelle, et comment la corriger. PlutĂ´t que d'inventer un format par API, il existe un standard : application/problem+json. Le format HTTP/1.1 409 Conflict Content-Type: application/problem+json...

Exercice : L'API du stagiaire de 2009

Concevoir une API REST Chapitre 5 - Concevoir une API

Objectif En rangeant la réserve du bar, le patron d'API-ritif a retrouvé une clé USB étiquetée « API v0 — NE PAS TOUCHER — Kévin, stage 2009 ». Elle contient la documentation de l'ancienne API du bar, toujours utilisée par la vieille caisse enregistreuse. Votr...

Lire un contrat OpenAPI

Concevoir une API REST Chapitre 6 - Documenter avec OpenAPI

Pendant la chasse au trésor, vous avez découvert API-ritif à tâtons, en lisant les réponses une par une. Il existe une méthode plus reposante : lire son contrat. Qu'est-ce qu'un contrat d'API ? Un contrat décrit tout ce qu'une API sait faire, dans un format ...

Structure YAML et schémas

Concevoir une API REST Chapitre 6 - Documenter avec OpenAPI

YAML en 30 secondes YAML est un format de données lisible, basé sur l'indentation (des espaces, jamais de tabulations). nom: Segfault Sunrise # une clé et une valeur prix: 9.5 # un nombre sans_alcool: false # un booléen tags...

Code-first ou design-first

Concevoir une API REST Chapitre 6 - Documenter avec OpenAPI

Le contrat et le code doivent dire la même chose. Mais lequel écrit-on en premier ? Code-first On écrit le code, et le contrat est généré à partir de lui (annotations, types, décorateurs…). C'est ce que fait FastAPI : les types Python et les modèles Pydantic ...

Swagger UI, Redoc et Scalar

Concevoir une API REST Chapitre 6 - Documenter avec OpenAPI

Un contrat en YAML, c'est précis mais austère. Des outils le transforment en une documentation agréable à lire, sans rien écrire de plus. Trois outils, un même contrat OutilPoints forts Swagger UILe classique. Chaque route est testable directement (Try it o...

Générer des clients

Concevoir une API REST Chapitre 6 - Documenter avec OpenAPI

Un contrat OpenAPI est lisible par les machines. Elles peuvent donc écrire à votre place le code qui appelle l'API : c'est ce qu'on appelle un client ou un SDK. Avantages : plus besoin d'écrire les URL, les headers et la sérialisation à la main ; l'autocomplé...

Premiers pas avec FastAPI

Concevoir une API REST Chapitre 7 - Exposer une API

Assez consommé : passons derrière le comptoir. Dans ce chapitre, on construit une API en Python avec FastAPI. C'est un framework « tout compris » : à partir de vos fonctions et de leurs types, il gère la validation des données (avec Pydantic) et génère tout se...

Routes, paramètres et body

Concevoir une API REST Chapitre 7 - Exposer une API

On construit une mini carte de cocktails, stockée en mémoire. Elle disparaît au redémarrage du serveur : c'est volontaire, on se concentre sur HTTP. Tout le code de cette page s'ajoute dans le même fichier main.py, celui de la page précédente. Gardez fastapi d...

Validation et codes de retour

Concevoir une API REST Chapitre 7 - Exposer une API

À la page précédente, FastAPI refusait déjà un prix en lettres ou un nom manquant, mais avec son propre format d'erreur. Et il acceptait un nom vide ou un prix négatif. Corrigeons tout ça. Règle n°1 d'une API : ne jamais faire confiance au client. Tout ce qui ...