Vous êtes sur la page 1sur 17

WHITEPAPER

Les secrets d'une


API efficace
Principes fondamentaux du
développement d'API performantes
Table des matières

Les secrets d'une API efficace  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   3


Les pièges d’une API inadaptée  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   4
La valeur d’une API efficace  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   5

Secret n° 1: une conception offrant une excellente


expérience utilisateur .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   7

Secret n° 2: une optimisation adaptée précisément


à l'utilisation  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   9

Secret n° 3: faciliter l'accès  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   12

Secret n° 4 : développer une communauté  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   14

Résumé  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   16

À propos de MuleSoft  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   17

2
Les secrets d'une API efficace

Les API ne datent pas d'hier. Elles servent d’interfaces aux


applications pour leur permettre de communiquer entre elles
depuis des décennies. Mais le rôle des API a radicalement
changé au cours des dernières années.
Des sociétés innovantes ont découvert qu'il était possible de
réunir les API au sein d'un même réseau d’applications afin
de gagner en dynamisme dans l’ensemble de l’entreprise. Les
API permettent aux entreprises de monétiser les ressources
numériques, de travailler de manière plus productive avec
les partenaires et de communiquer avec les clients par
l'intermédiaire de différents canaux et appareils.
En créant une API, vous autorisez d’autres personnes à
l’intérieur ou à l’extérieur de votre organisation à utiliser
votre service ou produit dans le but de créer de nouvelles
applications, attirer des clients ou développer leur activité.
Les API internes améliorent la productivité des équipes de
développement en optimisant la réutilisation et en imposant
une cohérence au sein des nouvelles applications. Les API
publiques peuvent apporter de la valeur ajoutée à votre
entreprise en permettant aux développeurs tiers d’améliorer
vos services ou de vous apporter leurs clients.
À mesure que les développeurs trouvent de nouvelles
applications pour vos services et données, un réseau se crée,
qui à son tour profite à la rentabilité. Par exemple, Expedia a
ouvert ses services de réservation de voyage à des partenaires
par le biais d’une API afin de lancer son réseau d’affiliation
Expedia, et ainsi développer un nouveau flux de revenus
qui représente aujourd'hui 2 milliards de dollars en chiffre
d'affaires annuel. Salesforce a publié des API permettant à
ses partenaires d’étendre les capacités de leur plate-forme et
génère désormais la moitié de ses revenus annuels via ces API.

3
Les pièges d’une API inadaptée
Les organisations décident souvent de développer une API
sans tenir pleinement compte des facteurs clés de réussite ou
sans faire participer en premier lieu leurs parties prenantes.
Dans les deux cas, les organisations risquent de créer une
API qui ne répond pas aux besoins de leurs utilisateurs. Et
les API qui ne correspondent pas aux besoins des utilisateurs
coûtent cher : une adoption limitée par les développeurs et,
en fin de compte, une incapacité à répondre aux objectifs
de l’entreprise. Une fois la conception et le développement
de l'API achevés, corriger ces erreurs s'avère complexe et
chronophage. Dans la plupart des cas, vos équipes doivent
repartir de zéro par la conception d’une toute nouvelle API,
son implémentation en la connectant aux services back-end,
puis son nouveau déploiement auprès d’une communauté
des développeurs. Pire que tout, vous devez faire passer tous
les utilisateurs existants à la nouvelle API. Cela nécessite un
travail supplémentaire que vos équipes n’auront peut-être
pas le temps ou la volonté de mettre en œuvre. À ce stade,
vous serez confronté à un choix difficile : continuer à prendre
en charge l’API d’origine et ses utilisateurs jusqu’à ce qu’ils
achèvent la migration (dans le meilleur des cas) ou y mettre un
terme et potentiellement aliéner et perdre ces utilisateurs.

« Ce qu'il vous faut, c'est une API simple


à comprendre et facile à utiliser. Les
développeurs doivent être en mesure d’évaluer
la fonctionnalité de votre API et de commencer
à l’utiliser en seulement quelques minutes. »

Autre piège courant des programmes d’API : la conception de


votre API peut être dictée par les contraintes des systèmes
ou processus internes. Ce n’est jamais une bonne idée. Cette
approche est d’autant plus périlleuse lorsque la fonctionnalité

4
back-end réside dans les systèmes legacy, car leurs schémas
de données sont excessivement complexes ou leur logique
métier a été étendue au fil des ans à l’aide de solutions de
contournement codées en dur et d’une logique compliquée.
Exposer ce genre de bricolage aux utilisateurs de vos API
vous mènera tout droit à l'échec. Les API modélisées en
fonction des systèmes internes sont difficiles à comprendre
et à utiliser, et les développeurs n’investissent tout
simplement pas le temps nécessaire pour devenir productifs
en les adoptant.
Ce qu'il vous faut, c'est une API simple à comprendre et facile
à utiliser. Les développeurs doivent être en mesure d’évaluer
la fonctionnalité de votre API et de commencer à l’utiliser en
seulement quelques minutes. Le seul moyen de délivrer cette
facilité d'utilisation est de la concevoir en amont.

La valeur d’une API efficace


Une API performante est bien plus qu’une simple
fonctionnalité. En considérant votre API comme un produit,
vous pouvez l'utiliser comme l'un des catalyseurs de votre
stratégie d’entreprise. La magie des API réside en partie dans
le fait que les développeurs créatifs leur trouvent des usages
auxquels les concepteurs d’API n’ont jamais pensé. Si votre
API est bien conçue et facile à utiliser, elle peut constituer
un avantage et une opportunité énormes, en transformant
votre service en une plate-forme capable de se développer de
multiples façons.

« Une API efficace peut vous aider à


développer un écosystème d’employés,
de clients et de partenaires qui utilisent
votre API et contribuent à son évolution
de manières avantageuses dans un
sens comme dans l'autre. »

5
Plus une API est efficace, plus on a envie de l'utiliser. Les
développeurs partagent l’API avec d’autres, en créant un cycle
vertueux au sein duquel chaque implémentation réussie
supplémentaire mène à plus d’implication et à davantage
de contributions des autres développeurs, qui à leur tour
apportent de la valeur à votre service. Une API efficace peut
vous aider à développer un écosystème d’employés, de
clients et de partenaires qui utilisent votre API et contribuent
à son évolution de manières avantageuses dans un sens
comme dans l'autre.
Mais la promesse des API ne peut voir le jour que lorsque
les clients cibles commencent à les utiliser. Pour les
développeurs internes, les API introduisent une nouvelle
façon de travailler qui nécessite un certain investissement. En
outre, les développeurs internes n’utiliseront pas votre API s’ils
estiment qu'elle ne correspond pas au moyen le plus efficace
d'atteindre leurs objectifs. Si l'API est conviviale et bien conçue,
les développeurs auront envie de l'adopter, ce qui ouvre la
voie à une approche de développement mieux définie, plus
cohérente et pérenne. Pour les API publiques, la situation est
encore plus concurrentielle. Un pool d’API toujours croissant
se dispute l’attention des développeurs, ce qui rend critiques
la conception et la facilité d’utilisation de votre API quant à son
adoption et, au final, à son succès.
Malheureusement, de trop nombreux fournisseurs
développent leurs API avant de réfléchir pleinement
aux facteurs de réussite essentiels ; il en résulte des
API inadaptées aux objectifs opérationnels. Il n'est pas
compliqué de développer une API efficace si vous suivez
certains principes ayant déjà fait leurs preuves. Dans le
présent document, nous allons démystifier la stratégie de
développement des API en abordant les quatre secrets
d’une API efficace.

6
Secret n° 1: une conception offrant une
excellente expérience utilisateur

Figure 1: La solution API designer d’AnyPoint Design Center fournit un éditeur permettant
de rédiger la structure de l’API tout en offrant un rendu en temps réel.

Le développement d'API efficaces nécessite de mettre la


conception au premier plan. À l'instar de l’optimisation
axée sur l'expérience utilisateur (UX) qui est devenue
une préoccupation principale dans le développement de
l’interaction utilisateur (UI), l’optimisation pour l’expérience des
utilisateurs d'API (APX) doit être au centre des préoccupations
dans le développement des API. La conception d'une
API optimale permet aux développeurs d’applications de
comprendre facilement le but et les fonctionnalités de
l’API afin qu’ils puissent rapidement devenir productifs en
l’utilisant. Les organisations peuvent ainsi se focaliser sur la
conception d'une API adaptée et éviter les erreurs coûteuses
et chronophages dans l’implémentation back-end.

7
La meilleure façon de concevoir une API que les développeurs
voudront utiliser est de définir de façon itérative et explicite
la structure de l’API et de demander l'avis des développeurs
quant à sa convivialité et ses fonctionnalités au fur et à
mesure de son développement. API designer est un exemple
concret de ce concept. API designer est un environnement
de conception Open-source basé sur RAML® (RESTful API
Modeling Language). API design fournit un éditeur pour la
rédaction de la structure d’une API tout en rendant en temps
réel une console interactive permettant l’interaction avec
l'API. Tout en progressant dans la conception de l'API, les
développeurs d’applications peuvent tester son comportement
grâce à un service bouchon intégré qui renvoie les valeurs
que produirait une requête de l’API en production. Les API
conçues en RAML sont concises et faciles à comprendre, ce qui
permet aux développeurs d’applications d'évaluer rapidement
la fonctionnalité et la convivialité de l’API et de donner des avis
concrets sur les moyens de l’améliorer.

8
Secret n° 2: une optimisation adaptée
précisément à l'utilisation

Figure 2: Développement d’une application mobile avec API designer.

Une API générique n'existe pas. Que ce soit pour le même


service ou un ensemble de services sous-jacents, plusieurs API
peuvent être nécessaires pour prendre en charge différents
types d’utilisateurs et de cas d’utilisation. Une API doit être
optimisée pour répondre à une demande opérationnelle
précise dans un contexte spécifique. Trop souvent, les API
sont modélisées en fonction de la conception des services ou
des applications back-end auxquelles elles sont rattachées
plutôt qu'au rôle qu'elles doivent remplir. Il en résulte une
application cliente peu performante, dont l'expérience
utilisateur est inadaptée, et qui ne sera finalement adoptée
que par peu de personnes.
Afin d'optimiser votre API à une utilisation spécifique,
réfléchissez à son degré de précision. Par exemple, si vous
concevez une API permettant d'activer l’accès à l'état des
commandes client depuis un appareil mobile, vous devez

9
prendre en compte certaines contraintes. Une application
mobile a une plus grande sensibilité au nombre d'échanges
sur le réseau, à la latence et à la taille des données qu’une
application Web. Par conséquent, cette API doit être conçue
de façon à limiter les requêtes de type back-end et à réduire
la taille des données renvoyées. De plus, ce cas d’utilisation
est assez granulaire. L’API recherche une commande
d'après un numéro de commande et renvoie un état. Par
conséquent, l’API doit exposer cette fonctionnalité spécifique
au niveau le plus précis afin de pouvoir être appelée de façon
indépendante. Si le service sous-jacent auquel il accède est
défini de manière moins précise et que vous prévoyez de
créer des API supplémentaires sur ce service afin de traiter
des cas d’utilisation supplémentaires, envisagez une approche
hiérarchisée. Mettez en avant les services précis auxquels
les utilisateurs peuvent accéder directement, et ajoutez des
services plus généraux à un niveau hiérarchique supérieur
afin de prendre en charge des cas d’utilisation plus larges.
Les utilisateurs peuvent choisir d’appeler directement les
API affectées à une seule tâche, et s'ils ont besoin d'une
fonctionnalité combinant plusieurs requêtes précises, ils
peuvent utiliser les API générales. L'API conçue dans API
designer est un exemple d’API optimisée pour ce cas précis.

10
Figure 3: Utilisez API designer pour mettre en avant les services précis auxquels les
utilisateurs peuvent accéder directement, et ajoutez des services plus généraux à un
niveau hiérarchique supérieur afin de prendre en charge des cas d’utilisation plus larges
comme une application de suivi de livraison.

11
Secret n° 3: faciliter l'accès

Figure 4: Votre portail de développeur doit inclure tous les outils dont les développeurs
ont besoin pour s'informer sur votre API et commencer à l'utiliser.

La recherche d’un public pour votre API commence par la


publication sur un portail qui permet aux développeurs de
la découvrir et de l'évaluer par rapport à l'utilisation qu'ils en
feront. Le portail de développeur doit inclure tous les outils
dont les développeurs ont besoin pour s'informer sur votre
API et commencer à l'utiliser. Les développeurs qui examinent
votre API ne prendront que quelques minutes avant de
décider s’ils souhaitent ou non aller plus loin. Le fait de mettre
à disposition des informations dans un format clair et facile
à passer en revue les incitera à ne pas aller voir ailleurs. Les
développeurs parcourent rapidement votre documentation
afin d'avoir une vue d'ensemble des fonctionnalités de votre
API, puis ils se concentrent sur ce dont ils auront besoin
pour être opérationnels. De là, ils voudront rapidement voir
quelques exemples et, idéalement, commencer à interagir
avec l’API. Évitez les pages de documentation statiques. Les
12
développeurs sont beaucoup plus susceptibles d’utiliser une
API s'ils peuvent interagir avec elle tout en s'informant.

« Le portail d'API fourni dans AnyPoint


Platform de MuleSoft™ est un bon exemple des
fonctionnalités à valeur ajoutée qui permettent
aux développeurs d’applications de s'impliquer
dans votre API et de commencer à l'utiliser. »

Le portail d'API fourni dans AnyPoint Platform de MuleSoft™


est un bon exemple des fonctionnalités à valeur ajoutée qui
permettent aux développeurs d’applications de s'impliquer
dans votre API et de commencer à l'utiliser. Ce portail d'API
comprend une documentation interactive qui non seulement
décrit la finalité, mais également les champs nécessaires
pour appeler cette API, ainsi que les données renvoyées. Par
ailleurs, vous pouvez ajouter des exemples de code pour
donner aux développeurs un début de création du code
permettant d'accéder à votre API au sein des applications
qu’ils développent. Enfin, l'API Console intègre la fonctionnalité
« Try it » qui permet aux développeurs d’interagir et de
tester l’API. Au cours de la phase de conception avant
l’implémentation de l’API, le service bouchon permet aux
développeurs de tester son comportement et de visualiser
le corps du programme que produirait un appel de cette
API. Une fois l’API implémentée, les développeurs peuvent la
tester en direct.

13
Secret n° 4 : développer une communauté

Figure 5: API Notebook, une fonctionnalité du portail d'API, permet aux développeurs
de documenter les nouvelles utilisations et de faire grandir le marché potentiel pour
votre API.

Les développeurs d’applications qui utilisent votre API ne sont


pas seulement vos clients ; ils constituent l’écosystème qui
mènera votre API à sa réussite. Les considérer comme des
membres précieux de votre communauté peut engendrer
un avantage mutuel important. L'avantage évident d’une
communauté de développeurs prospère est une portée plus
large pour votre API. Afin de soutenir la croissance organique
de votre API, votre portail de développeur doit intégrer
un moyen facile pour les développeurs de partager leurs
connaissances les uns avec les autres. L’API Notebook du
portail API illustre ce concept de façon concrète. Il permet aux
développeurs de découvrir et de documenter de nouvelles
utilisations pour votre API et de développer son marché
potentiel. De plus, ils peuvent partager des conseils et astuces
dans les forums et même ajouter des exemples de code

14
permettant aux autres membres de se lancer plus rapidement
avec votre API. Enfin, un avantage précieux parfois négligé
qu'apporte une communauté réside dans le fait que plus il y
a de développeurs qui utilisent votre API, plus les bugs et les
problèmes sont rapidement identifiés et communiqués afin
que vous puissiez continuer à améliorer la valeur de votre API.

« Afin de soutenir la croissance organique


de votre API, votre portail de développeur
doit intégrer un moyen facile pour
les développeurs de partager leurs
connaissances les uns avec les autres. »

Par ailleurs, il est très avantageux de mettre en place un réseau


de communication avec votre communauté de développeurs.
Votre API n’est pas une entité statique. L'identification de
nouveaux cas d’utilisation et l’utilisation croissante de votre
API mènent forcément à des améliorations et des correctifs.
Lorsque vous publiez une nouvelle version de votre API, vous
pouvez facilement en communiquer les améliorations par
l'intermédiaire de votre portail de développeur. Vous pouvez
également évaluer rapidement qui utilise chaque version de
votre API et fournir à chacun un lien de mise à niveau à mesure
que les anciennes versions deviennent obsolètes. Enfin,
comprendre votre communauté de développeurs et avoir un
aperçu précis des cas d’utilisation et des modèles vous offrira
des connaissances inestimables que vous pourrez utiliser pour
améliorer votre API au fil du temps.

15
Résumé

Les API deviennent omniprésentes car le potentiel des


programmes d’API et des réseaux d’applications transformant
l'activité des entreprises est aujourd'hui largement reconnu.
Mais la mise en œuvre d’un programme d’API performant
permettant d'atteindre des objectifs opérationnels définis
nécessite une approche systématique de la conception et
de la gestion des API. Les API efficaces ne sont pas difficiles
à développer si vous concevez votre API de l'extérieur
vers l'intérieur. Il faut donc concevoir votre API en fonction
des utilisateurs et des processus métiers qu'elle prend en
charge. Avant même que vous ne vous en rendiez compte,
les développeurs utiliseront votre API de façon active et vous
donneront leurs avis afin de l'améliorer. En traitant votre
communauté de développeurs comme une extension de
votre activité, vous développez non seulement des API d'une
grande qualité, mais également les connexions flexibles et
résilientes nécessaires pour accélérer les processus et faire
place à l’innovation à tous les niveaux.

Commencez à concevoir vos API avec Anypoint Platform

16
17

À propos de MuleSoft

MuleSoft, une société Salesforce


La mission de MuleSoft consiste à aider les organisations
à évoluer et à innover plus rapidement en facilitant la mise
en relation des applications, des données et des appareils à
travers le monde. Grâce à son approche de la connectivité
dirigée par les API, la solution AnyPoint Platform de MuleSoft™,
leader sur le marché, fournit à plus de 1 600 organisations
réparties dans environ 60 pays les outils leur permettant de
créer des réseaux d’applications. En déverrouillant l’accès
aux données à l’échelle de l’entreprise grâce aux réseaux
d’applications, les organisations peuvent facilement générer
de nouvelles sources de revenus, améliorer l’efficacité
opérationnelle et créer des expériences client différenciées.
Pour plus d’informations, rendez-vous sur mulesoft.com

MuleSoft est une marque déposée de MuleSoft LLC, une société Salesforce.
Toutes les autres marques sont celles de leurs propriétaires respectifs.

17