Qu'est-ce qu'une API ?

Le mot API apparaît de plus en plus dans le vocabulaire du digital. Internet regorge d’explications plus ou moins compréhensibles sur ce que sont les APIs et à quoi elles servent. Il vous arrive parfois de nous demander si nous pouvons connecter vos applications à des composants tierces. Il est alors fait mention d'API et, la plupart du temps, cet acronyme soulève des questions. Triotech a choisi de vous en dire plus sur ces messagers silencieux...

Les demoiselles du téléphone

Vous vous demandez sûrement pourquoi se référer aux "demoiselles du téléphone" dans un article sur une technologie digitale. L’analogie est pourtant pertinente. 

Les compagnies de téléphone émergent au XXe siècle. Un utilisateur appelle le standard pour être mis en relation avec une entité. Après avoir réceptionné l’appel de l’utilisateur, les standardistes connectent (physiquement) un câble à la prise correspondant à la demande de l'utilisateur. Ce dernier peut alors communiquer avec son destinataire. 

Le principe est exactement le même pour les APIs. Les Application Programming Interfaces font le lien entre une application côté client et un serveur.

Prenons l’expemple d’un site e-commerce qui propose la vente de chaussures. Lorsque vous ajustez les filtres de votre recherche pour spécifier la taille, la couleur, ou la tranche de prix, c’est l’API qui se charge de demander à la base de données du site quels produits correspondent à votre recherche. Elle vous renvoie ensuite l’information que vous avez demandée. Les APIs remplissent donc la même fonction d'interconnectivité que les demoiselles du téléphone.

Interconnectivité et répartition des tâches

Bien évidemment, le fonctionnement des Application Programming Interfaces est plus complexe que ne le laisse penser cette analogie. Les appels APIs ne sont pas seulement des requêtes envoyées par l’utilisateur qui retournent une information. Il s’agit aussi des coulisses du programme. L'application se charge aussi de transmettre des informations entre différentes parties d'une application.

À l’échange de données, s’associe en effet un certain nombre de traitements de celles-ci. Il s'agit de fonctionnalités exécutées en arrière-plan qui permettent de subdiviser les tâches que doivent effectuer les applications.
Ces sous-tâches (subroutines) aident le développeur à optimiser le fonctionnement des programmes. Au lieu d’exécuter l’intégralité d’un programme de zéro à chaque demande de l'utilisateur, les requêtes APIs ne font appel qu’aux fonctionnalités qui y répondent directement.

Mais elles vont encore plus loin. Prenez l’exemple d’un site comparateur de prix. Afin de receuillir les différents prix d’un billet d’avion, pour une destination donnée, le site fait appel aux APIs des compagnies ciblées. Les APIs respectives font alors appel à la base de donnée des sites, qui renvoient les informations demandées. L’avantage est de taille : l’utilisateur peut avoir accès aux offres de chaque compagnie sans avoir de contact direct avec leur base de données. Ces dernières bénéficient donc d'une couche d'isolation entre les applications externes et leur propre système, sécurisant ainsi les échanges de données.

Vers une ère des microservices ?

Nombre d’APIs sont à présent publiques et documentées. Les développeurs peuvent ainsi intégrer des tâches (par exemple un système de paiement en ligne, la gestion d'une billetterie...) depuis des applications externes. À condition qu’ils respectent la marche à suivre indiquée dans les documentations.

Cette tendance a fait émerger la notion de microservices. De nos jours, une application, grâce aux APIs, peut-être morcelée et composée à partir de plusieurs bases de données indépendantes. Pour reprendre l'analogie, il s'agirait de faire appel non pas à une seule demoiselle du téléphone, mais à plusieurs standards différents. Pour chaque service dont votre application a besoin, vous utilisez indépendamment les service d'une différente standardiste.

Pratique, n'est-ce pas ? Oui. Mais cette tendance présente aussi des inconvénients. Bien qu'une ligne directrice existe pour créer et documenter les APIs, elles sont toutes différentes, et leur implémentation est plus ou moins aisée.

Admettons que vous choisissiez d'intégrer les éléments suivants à votre site e-commerce, provenants tous d'applications tierces :

  • un comparateur de prix
  • un service de paiement en ligne
  • un système de suivi des colis

L'implémentation de chaque composant se fera via des appels APIs. Il y aura cependant des limites : le nombre de requêtes que vous pourrez faire, la personnalisation des informations à récupérer, l'affichage de ces données sur votre site, les possibilités de débogage... La diversité des composants "tout prêts" offre effectivement nombre de possibilités de personnalisation pour votre application. Cependant, et vous l'aurez compris, trouver une association parfaite et harmonieuse entre toutes ces entités est à peu près aussi simple que d'arranger les couleurs d'un patchwork.

APIs multiples ? Application unique ? Triotech trouve votre solution sur-mesure

Triotech est bien évidemment en mesure de vous aider à connecter des APIs tierces à vos applications web et nos développeurs pourront le faire pour vous. Malgré tout, nous restons persuadés que chaque entreprise est différente, chaque métier singulier. Entre se soumettre aux contraintes d'applications tierces développées aux quatre coins du monde, de passer de longues heures à essayer de les comprendre et les implémenter, nous préférons investir notre temps (et le vôtre) dans une solution qui vous conviendra parfaitement. Une solution qui vous correspond et qui vous simplifie la vie, au lieu de vous la compliquer.

Le monde des APIs dépasse notre analogie des demoiselles du téléphone. Il est difficile à appréhender. Quoi qu'il en soit, Triotech est là pour vous accompagner, vous conseiller et implémenter les solutions qui feront grandir votre entreprise.

Vous êtes porteur d'un projet digital ?
Demandez l'avis d'un expert.

Nos experts vont analyser votre besoin afin de vous apporter une réponse rapide et concrète.
La confidentialité est garantie par contrat.