# API & Architecture web

Les APIs sont devenues l'interface universelle entre les systèmes logiciels. Une API bien conçue est un contrat clair, stable et agréable à utiliser ; une API mal conçue est une source permanente de friction, de bugs et de dette technique. Ce livre traite de la conception, de l'implémentation et de l'exploitation des APIs — REST, GraphQL, gRPC, WebSocket — et de l'architecture des systèmes qui les hébergent.

Le prérequis est une bonne maîtrise du développement backend et des concepts d'architecture logicielle. Le livre Réseaux et protocoles de cette collection couvre les protocoles sous-jacents (HTTP, TLS, WebSocket, gRPC) ; ce livre part de là pour se concentrer sur ce qui est spécifique à la conception d'APIs : comment structurer les ressources, versionner un contrat, sécuriser les accès, gérer la cohérence du cache, orchestrer les backends avec un API Gateway ou un BFF, mesurer la qualité de service et faire évoluer une API sans casser ses clients.

Les exemples de code sont principalement en Python statique (blocs non-exécutables) pour montrer du code réaliste avec FastAPI, et en Python exécutable pour les simulations, visualisations et démos de concepts (JWT, OAuth flows, métriques, rate limiting).

## Partie I — Fondations de la conception d'API

- [HTTP pour les APIs](01_http_pour_les_apis.md)
- [Authentification et autorisation](02_authentification_autorisation.md)
- [Sécurité des APIs](03_securite_apis.md)
- [Design d'API : principes fondamentaux](04_design_principes.md)

## Partie II — REST en profondeur

- [Conception REST avancée](05_rest_avance.md)
- [Conventions REST](06_conventions_rest.md)
- [OpenAPI 3.1](07_openapi.md)
- [Tester les APIs](08_tester_apis.md)

## Partie III — Au-delà de REST

- [GraphQL](09_graphql.md)
- [gRPC avancé](10_grpc_avance.md)
- [Temps réel et événements](11_temps_reel_evenements.md)

## Partie IV — Architecture des systèmes API

- [API Gateway](12_api_gateway.md)
- [BFF — Backend for Frontend](13_bff.md)
- [Caching applicatif](14_caching_applicatif.md)
- [Scalabilité et résilience des APIs](15_scalabilite_resilience.md)

## Partie V — Qualité et gouvernance

- [Évolution et versioning d'API](16_evolution_versioning.md)
- [Observabilité des APIs](17_observabilite.md)
- [API-first et workflow de design](18_api_first.md)
- [Patterns avancés](19_patterns_avances.md)
- [Bonnes pratiques et synthèse](20_bonnes_pratiques.md)

---

**À propos de ce livre.** Ces notes couvrent la conception et l'exploitation des APIs web — REST, GraphQL, gRPC, WebSocket — ainsi que l'architecture des systèmes qui les hébergent : API Gateway, BFF, caching, scalabilité, observabilité et gouvernance. Le prérequis est une bonne maîtrise du développement backend et des concepts d'architecture logicielle. La rédaction a été réalisée par Lôc Cosnier avec l'assistance de Claude (Anthropic). Le contenu a été relu, structuré et validé par l'auteur ; toute erreur restante lui est imputable.
