Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
---
title: API REST
created: 2026-06-06
updated: 2026-06-06
type: concept
tags: [tech, protocol, web]
confidence: high
contested: false
sources: [synthesized]
---
# 📡 API REST
## Définition Courte
**REpresentational State Transfer** : style d'architecture pour les APIs web basé sur le protocole HTTP, les méthodes standard (GET, POST, PUT, DELETE) et des ressources identifiées par URL.
## Explication Détaillée
REST a été défini par Roy Fielding en 2000. Les principes clés :
- **Stateless** : chaque requête contient toute l'info nécessaire (pas de session serveur).
- **Ressources** identifiées par URI (`/users/42`).
- **Représentations** : JSON, XML, etc. (le plus souvent JSON aujourd'hui).
- **Méthodes HTTP sémantiques** : GET (lecture), POST (création), PUT/PATCH (modif), DELETE (suppression).
- **HATEOAS** (optionnel) : liens hypermédia dans les réponses.
## Cas d'Usage
- APIs publiques (GitHub, Stripe, Twilio).
- Communication frontend ↔ backend.
- Microservices.
## Outils Liés
- **Frameworks** : Express, FastAPI, Gin, Spring.
- **Documentation** : OpenAPI / Swagger.
- **Tests** : Postman, Insomnia, HTTPie.
## Pages Liées
- [[concepts-web]]
- [[graphql]]
## Questions Ouvertes
- REST vs GraphQL : quel trade-off pour quel projet ?
- Comment versionner une API REST proprement ?