API Deprecation : Définition, Best Practices, Exemples
L'API deprecation est le phase-out formel d'un endpoint, version ou champ — annoncé avec timeline, fonctionne pendant sunset, puis retiré.
Qu'est-ce que l'API deprecation ?
L'API deprecation est le processus formel de phase-out d'un endpoint API, version, paramètre ou champ response. Le thing deprecated continue de fonctionner pendant une période sunset, mais les consumers sont avertis de migrer. Eventuellement, le piece deprecated est retiré (appelé "sunset"), et les clients qui l'appellent encore se cassent.
La deprecation est le contrat entre API provider et consumers : "Nous changeons ceci. Voici le timeline. Voici l'alternative."
Lifecycle deprecation
| Phase | Ce qui se passe |
|---|---|
| 1. Annoncer | Public notice : date deprecation, date sunset, path migration |
| 2. Marquer deprecated | Headers Deprecation + Sunset ; docs updated |
| 3. Fenêtre sunset | Vieille API fonctionne ; warnings émis ; nouvelle API disponible |
| 4. Sunset | Vieille API retirée ; clients obtiennent 410 Gone |
Standards HTTP pour deprecation
HTTP/1.1 200 OK
Deprecation: Sat, 1 Jun 2026 00:00:00 GMT
Sunset: Sat, 1 Dec 2026 00:00:00 GMT
Link: <https://api.example.com/v2/users>; rel="successor-version"| Header | Standard | But |
|---|---|---|
Deprecation | RFC 9745 | Quand deprecation a pris effet |
Sunset | RFC 8594 | Quand la ressource sera retirée |
Link: rel="successor-version" | RFC 8288 | Pointer vers le replacement |
Ce qui est deprecated
- Versions API entières
- Endpoints spécifiques
- Paramètres request
- Champs response
- Méthodes authentification
- Types événements webhook
- Méthodes SDK
Best practices deprecation
- Annoncer tôt.
- Documenter le path migration.
- Utiliser headers Sunset/Deprecation.
- Email consumers connus.
- Tracker usage.
- Période transition avec les deux APIs tournant.
- Stratégie versioning.
- Documenter changelog.
- Brownouts avant sunset.
Pièges deprecation courants
- Breakage silencieux.
- Pas de path migration documenté.
- Fenêtre sunset trop courte.
- Retirer champ encore utilisé.
- Oublier les SDKs.
- Pas de replacement.
- Communication uniquement via blog.
Exemple : deprecation API GitHub
GitHub annonce les breaking changes ~12 mois à l'avance.
Exemple : versioning API Stripe
Stripe pin chaque API key à une date version spécifique.
FAQ : API deprecation
Combien de temps une fenêtre sunset devrait-elle durer ?
6+ mois pour petits changements ; 12+ mois pour version cuts majeurs.
Devrais-je versionner mon API ?
Oui pour toute API avec consumers externes.
Différence entre deprecation et sunset ?
Deprecation : annoncé. Sunset : réellement retiré.
Comment je sais qui appelle mon API deprecated ?
Logger usage per-endpoint avec consumer ID.
Quel code HTTP pour endpoints sunset ?
410 Gone.
Devrais-je deprecate ou seulement ajouter de nouveaux champs ?
Les changements additifs sont non-breaking.
Que faire si les customers ne migrent pas ?
Brownouts avant sunset final.
Testez la coexistence des versions API avec LoadFocus
Pendant les fenêtres deprecation, LoadFocus exécute des scripts JMeter et k6 contre les versions API anciennes et nouvelles. 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.