Qu’est qu’une API ?
Une API (Application Programming Interface) est une interface d’accès aux données permettant des interactions entre des applications de tous types : applications web, applications mobiles, objets connectés. Ces partages de données entre applications issues d’entreprises sans lien particulier simplifient la création de nouveaux services innovants.
Pourquoi faire de l’Open API ?
L’Open API est l’ouverture de ces APIs aux communautés de développeurs externes à l’entreprise via un portail. Ces développeurs peuvent alors proposer de nouvelles applications, des expériences utilisateurs simplifiés et sécurisés. Ils répondent ainsi aux besoins des consommateurs de l’ère du digital.
L’objectif pour une entreprise qui se lance dans un programme Open API est d’attirer le maximum de développeurs et d’animer les différentes communautés via son portail afin de booster son innovation et gagner de nouveaux marchés. Quelques facteurs déterminants favorisent le lancement d’un programme Open API dans une entreprise :
1.Respecter la réglementation– Exemple : la directive européenne DSP2 impose aux acteurs du secteur bancaire d’exposer les données de paiement aux développeurs externes afin d’ouvrir le marché aux startups/fintech et favoriser la mobilité des clients.
2.Avoir une position dominante sur le marché– Exemple : face à la multiplication des applications web et mobiles, Facebook, LinkedIn et Google exposent chacun leur API d’authentification pour se connecter à plusieurs applications via un seul compte et de récupérer les informations déjà remplies par le consommateur dont il accepte le partage. Ces géants du web connaissent ainsi toutes les préférences de leurs utilisateurs.
3.Accélérer l’innovation – Exemple : certains acteurs du digital consolident les données d’entreprises du secteur de la distribution (retail) avec des sources de données externes (big data) grâce aux APIs exposées par tous les acteurs. Ces partages profitent aux entreprises qui bénéficient de nouvelles applications rapidement sans investir massivement sur le lancement de projets d’envergure en interne, mais aussi aux développeurs agiles qui monétisent l’utilisation de leurs APIs ou applications.
Quelle est la bonne démarche pour lancer un programme Open API ?
Le lancement d’un programme Open API est complexe. Il se fait en plusieurs phases afin de remporter l’adhésion des divers acteurs internes et externes à l’entreprise.
Phase 1 – « On essaie » : Exposition d’APIs privées aux collaborateurs internes
Qui impliquer pour le succès de la démarche en interne ?
Réponse : L’organisation avec une équipe dédiée à la gouvernance et la conception des APIs. Son rôle est de :
- Partager une vision synthétique des thèmes des APIs
- Définir les normes (nommage, etc…). En effet, les principes REST sont interprétés différemment, la conception technique n’est pas suffisante et les enjeux des APIs sont aussi business.
Les acteurs de la gouvernance sont :
Quels éléments définir et référencer dès la conception avec les équipes projets ?
L’équipe dédiée API a la vision transverse sur l’ensemble des APIs et des projets à venir et accompagne donc la transformation en définissant un minimum de règles :
- L’ontologie (français ou anglais) est définie dès le début du programme en se basant sur des termes métier (business). Le nommage des APIs et des ressources se détache des noms historiques techniques ou des noms d’application. L’utilisation des verbes (GET, POST, PUT, DELETE, …) est cohérente quel que soit l’API
- L’identification, la conception d’une API, la granularité des ressources et des opérations composant une API sont validées par l’équipe dédiée Des codes retour sont préconisés pour la gestion des erreurs
- La documentation est claire et comporte des exemples d’appel et de réponse
- La scalabilité des infrastructures est gérée avec les équipes en charge du socle technique.
- Les tests de performance et de non régression sont automatisés et systématiquement réalisés
- La sécurité des accès est testée sur les applications internes. Les différents scénarii de déploiement possible (Dockerisation) sont mis en œuvre dès cette phase
Phase 2 – « On ouvre quelques APIs à nos partenaires en se basant sur les échanges existants » : Exposition d’API sur un portail public
Les entreprises échangent des informations avec les partenaires mais dans divers formats d’échange (exemples : fichier plat en mode Batch ou WebService). Cette phase 2 consiste à convertir les échanges existants en mode API REST.
L’ouverture à des partenaires s’accompagne de l’ajout de nouveaux composants et règles pour les APIs notamment :
- Le throttling des APIs est déterminé par les projets consommateurs de l’API
- Le processus d’authentification
- L’initialisation d’un portail « commercial » pour s’abonner aux APIs
- Le monitoring des appels en environnement de Production est suivi par l’équipe d’exploitation et remonté à l’équipe dédiée API
Phase 3 – « On a assez d’expérience pour passer à l’Open API » : Exposition d’API open sur un portail public
Quelle langue utilisée ?
Première différence avec les APIs privées où les entreprises privilégient généralement leurs langues locales, les APIs publiques sont en « anglais ».
Quels sont les facteurs à ne pas négliger pour se lancer ?
- L’importance du portail « commercial »: Le design doit être simple et clair pour les développeurs. La documentation doit être complète et concise. En trois clics, le développeur doit pouvoir créer un compte et essayer une API qui l’intéresse
- Le succès d’une API publique repose sur un indicateur clé : sa réutilisabilité. Les APIs publiques sont documentées, accessibles en self-service via un portail développeur parfaitement intuitif et fonctionnel.
- S’appuyer sur une ontologie existante auprès des APIs les plus utilisées sur le marché sur un secteur donné (mail = google / identification = facebook, linkedin)
- Les tests de performance volumétrie doivent être effectués pour assurer que les APIs tiennent la charge une fois en production
- Stratégie de mise à disposition de la sandbox (quelles données – générées à la volée, etc…)
Conclusions
Les bonnes pratiques doivent impérativement couvrir tout le cycle de vie des APIs depuis l’environnement de Développement jusqu’à la Production.
La consistance dans la façon de travailler est la clé de l’adoption des APIs. Il faudra toujours faire de la même façon et donc limiter les développements d’APIs spécifiques. En effet, les développeurs assimileront la logique des APIs du portail Open API et gagneront en efficacité.
Dans le cadre de l’Open API, la monétisation des APIs publiques n’est à mettre en place qu’après le succès d’utilisation de celle-ci par les consommateurs (nombre significatif d’appels à l’API).