Qu'est-ce que Swagger ? OpenAPI Spec, Outils, Exemples
Swagger est une suite d'outils API construite autour de l'OpenAPI Spec — concevoir, documenter, mocker, tester APIs REST. Inclut UI, Editor, Codegen.
Qu'est-ce que Swagger ?
Swagger est un écosystème d'outils open-source construits autour de l'OpenAPI Specification (OAS) pour concevoir, documenter et consommer des APIs REST. Originalement développé par SmartBear, la spec a été donnée à la Linux Foundation en 2016 et renommée OpenAPI — mais le nom Swagger est resté pour le tooling.
L'OpenAPI Specification (actuellement 3.1) est un document YAML ou JSON qui décrit une API REST : endpoints, paramètres, schémas request/response, authentification, exemples. Les outils génèrent ensuite documentation, SDKs client, server stubs, serveurs mock et tests depuis cette spec.
Swagger vs OpenAPI : quelle est la différence ?
| Terme | Ce que ça signifie |
|---|---|
| OpenAPI Specification (OAS) | Le standard / format pour décrire les APIs REST |
| Swagger | Le nom originel (pré-2016) de la spec ; maintenant la marque pour le tooling SmartBear |
| Swagger UI | Outil open-source qui rend les specs OpenAPI comme docs HTML interactives |
| Swagger Editor | Éditeur browser-based pour écrire des specs OpenAPI avec live preview |
| Swagger Codegen | Génère SDKs client et server stubs en 40+ langages |
| Swagger Hub | Plateforme hosted de SmartBear pour design API collaboratif |
Anatomie d'une spec OpenAPI
openapi: 3.1.0
info:
title: Pet Store API
version: 1.0.0
servers:
- url: https://api.petstore.example.com/v1
paths:
/pets:
get:
summary: List all petsOutils écosystème Swagger
| Outil | But | Open source ? |
|---|---|---|
| Swagger UI | Rendre specs comme docs interactives | Oui |
| Swagger Editor | Écrire specs avec live validation | Oui |
| Swagger Codegen | Générer clients/server stubs | Oui |
| OpenAPI Generator | Fork de Codegen, développement plus actif | Oui |
| Swagger Hub | Design API collaboratif hosted | Non |
| Stoplight Studio | Éditeur OpenAPI visuel | Oui |
| Redoc | Renderer alternatif | Oui |
| Prism | Serveur mock depuis spec OpenAPI | Oui |
| Spectral | Linter OpenAPI | Oui |
Pourquoi utiliser Swagger / OpenAPI ?
- Single source of truth.
- APIs design-first.
- SDKs client auto-générés.
- Docs interactives.
- Serveurs mock.
- Contract testing.
- Format standardisé.
- Code-first ou design-first.
OpenAPI 3.0 vs 3.1 : qu'est-ce qui a changé ?
| Aspect | OpenAPI 3.0 | OpenAPI 3.1 |
|---|---|---|
| Compat JSON Schema | Subset | Full 2020-12 |
| Webhooks | Non supporté | First-class |
| Exemples | Single par response | Multiples par response |
| Nullable | nullable: true | type: [string, null] |
Workflows OpenAPI courants
Design-first (recommandé)
- Écrire la spec OpenAPI collaborativement.
- Reviewer avec stakeholders.
- Générer server stubs + SDKs client.
- Implémenter logique business dans stubs.
- Utiliser spec pour contract tests en CI.
Code-first
- Annoter code avec decorators framework-specific.
- Framework auto-génère spec OpenAPI.
- Spec servie à
/openapi.json. - Swagger UI rend docs interactives.
Pièges et best practices
- Spec dévie de la réalité.
- Exemples manquants.
- Naming inconsistant.
- Nesting trop profond.
- Auth mal documentée.
- Versioning ignoré.
FAQ : Swagger / OpenAPI
Swagger est-il gratuit ?
Les outils open-source sont gratuits. Swagger Hub a un tier gratuit et plans payants.
Devrais-je utiliser Swagger ou Postman ?
Buts différents. Swagger/OpenAPI est le format spec ; Postman est pour testing/exploring.
Devrais-je utiliser design-first ou code-first ?
Design-first pour APIs stables, publiques. Code-first pour APIs internes.
Qu'est-ce qui remplace Swagger Codegen ?
OpenAPI Generator — un fork communautaire plus actif.
Puis-je utiliser Swagger pour GraphQL ou gRPC ?
Non — OpenAPI est REST-specific.
Comment versionner mon API ?
URL versioning (/v1/users) ou header versioning.
Load-testez votre API documentée avec Swagger avec LoadFocus
Si vous avez une spec OpenAPI et voulez load-tester l'implémentation, LoadFocus exécute des scripts JMeter et k6 contre votre vraie API depuis 25+ régions avec jusqu'à 12 500 VUs. Inscrivez-vous sur loadfocus.com/signup.
Outils LoadFocus connexes
Mettez ce concept en pratique avec LoadFocus — la plateforme même qui propulse tout ce que vous venez de lire.