Acronyme de Application Programming Interface ou Interface de Programmation d’Application, les API permettent à deux applications informatiques de communiquer entre elles. Une méthode indispensable notamment pour personnaliser un programme, exploiter des données ou interfacer deux systèmes différents !
Qu’est ce qu’une interface de programmation ?
Une interface de programmation se présente sous forme d’une méthode d’accès dont les modalités d’appel sont publiées par son éditeur. Une application tierce qui souhaite communiquer avec elle applique le protocole décrit par son éditeur et, si elle dispose des droits nécessaires, elle va recevoir l’information demandée en retour.
L’innovation majeure apportée par le système des interface de programmation d’application est de simplifier à l’extrême les communications entre applications.
Comment l’interface de programmation a-t-elle été créée ?
Le mode de fonctionnement par API a été imaginé dès le début des années 2000 alors qu’Internet montait en puissance dans les entreprises. Les éditeurs de logiciels ont créé ce que l’on appelle les architectures orientées services (SOA pour Service Oriented Architecture). Les ingénieurs ont proposé un système très sophistiqué dans lequel chaque application offrait un catalogue d’interfaces de programmation d’application appelées Web Services, des moyens de recherche dans ce catalogue, des protocoles d’échanges de données, etc. S’appuyant sur des standards internationaux, cette architecture a été mise en œuvre par les grands éditeurs d’ERP, mais c’est avec l’explosion de la transformation digitale que le rôle-clé des interfaces de programmation s’est vraiment révélé.
Reprenant certains des concepts de SOA mais sans s’encombrer des lourdeurs de cette approche, les développeurs d’applications et de services Internet ont commencé à proposer des interfaces de programmation sur Internet aux autres développeurs. Ceux-ci ont notamment repris le principe du couplage lâche entre applications (loosely-coupled) qui permet à une application d’en solliciter une seconde directement via Internet, sans imposer la mise en place d’une lourde intégration technique au préalable.
En outre, la transaction entre les applications n’est pas nécessairement en temps réel, ce qui simplifie grandement les problématiques techniques de mise en place. Autre facteur du succès des API, la simplicité de son protocole de communication. Baptisé REST (pour REpresentational State Transfer), ce format est bien plus simple que celui introduit par SOA. Cette simplicité et cette souplesse de mise en œuvre ont largement contribué au succès des API REST auprès des développeurs.
Quelle est l’utilité d’une interface de programmation aujourd’hui ?
Désormais, une application moderne ne peut se concevoir sans interface de programmation d’application. Pour être ouverte et interopérable, celle-ci doit exposer aux autres applications un jeu d’API ouvertes afin de transmettre des données ou effectuer des traitements pour le compte d’autres applications. C’est notamment le cas des grandes applications SaaS sur le Cloud qui vont ainsi interagir avec d’autres applications via Internet par ce moyen. Ainsi les outils marketing peuvent piocher des données clients dans l’outil CRM de l’entreprise via ses interfaces de programmation. À noter qu’il est possible d’automatiser les échanges de données entre les systèmes ERP, RH ou de production au moyen d’API.
Les interfaces de programmation sont populaires auprès des développeurs, car celles-ci répondent à un besoin fort des entreprises de décloisonner leur système d’information. Les entreprises créent de la valeur en créant des liens entre leurs différentes applications et cette approche constitue un moyen d’accélérer la circulation des données dans les entreprises, d’automatiser et de fluidifier les processus et donc d’accroître la réactivité tout en optimisant les coûts.
Une technologie incontournable pour les éditeurs
Les API constituent la base des architectures informatiques de nouvelle génération, une architecture ouverte et communicante dans laquelle chaque brique applicative expose un catalogue d’interfaces de programmation d’application et va elle-même solliciter d’autres applications par le même moyen.
Mais au-delà de la technologie seule, cette approche ouverte a fait naître ce que l’on appelle l’économie des interfaces de programmation. En effet, les services proposés en interfaces de programmation génèrent un volume d’activité de plus en plus significatif pour les entreprises qui les mettent en œuvre. Ainsi, selon le cabinet d’étude Gartner¹, 60 % de l’activité du service eBay ne serait pas engendrée par son site Web ou son application mobile, mais via ses API. Cette part est encore plus spectaculaire chez Expedia dont 90 % de l’activité est désormais générée par ses interfaces de programmation d’application. Les analystes estiment également que les fournisseurs de services d’infrastructure réalisaient 15 % de leur chiffre d’affaires via les interfaces de programmation en 2018. Ce montant sera de 65 % dès 2023, preuve de l’essor fulgurant de l’économie des API à l’échelle mondiale.
¹ Explore the API Economy of Infrastructure Services, 2018.
Découvrez d’autres définitions de l’univers du numérique :