Vidéo 38 • Évolution du Service
API Versioning :
L'Art de ne rien casser
Apprenez à faire évoluer votre Cloud sans déconnecter les clients qui utilisent encore vos anciennes versions.
Le Drame de la "Breaking Change"
Mise à jour sans Versioning
Vous décidez de renommer le champ ID_CLIENT en UUID_CUSTOMER pour faire plus "pro".
Le serveur attend le nouveau nom, mais 500 caisses locales envoient encore l'ancien.
RÉSULTAT : 500 erreurs 400 (Bad Request). Parc paralysé.
La Cohabitation Pacifique
"En SaaS, on ne supprime jamais une route API. On la déprécie et on maintient un traducteur tant que le dernier client ne l'a pas quittée."
Laboratoire : Le Dispatcher intelligent
Requêtes Entrantes
Legacy Parser
Procedure_v1()
Modern Parser
Procedure_v2()
> Cloud Gateway active...
Les 2 méthodes de Versioning
1. Versioning par URL (URI)
https://api.monsaas.com/v1/sync
https://api.monsaas.com/v2/sync
https://api.monsaas.com/v2/sync
"Simple à router, mais pollue les URLs de votre application."
2. Versioning par Header (Pro)
Headers HTTP :
X-API-VERSION : 2.1.0
X-API-VERSION : 2.1.0
"Méthode la plus propre. Permet de changer de version sans changer de code d'appel."
Code Serveur : Le Filtre de Version
// 1. On récupère la version demandée par le client dans les Headers sMaVersionRecue est une chaîne = HTTPDonneEntête("X-API-VERSION") SELON sMaVersionRecue CAS "1.0" // On redirige vers l'ancienne logique de traitement Traitement_V1() CAS "2.0", "2.1" // On utilise la logique moderne (nouveau schéma JSON) Traitement_V2() AUTRE CAS // Version inconnue ou trop vieille HTTPRéponse(426) // "Upgrade Required" FIN