API, une introduction

Vous êtes-vous déjà demandé comment Facebook affiche automatiquement vos photos Instagram ? Brian Cooksey commence ici une série d'articles passionnants sur les API, dans un langage clair, imagé, sans jargon inutile.


Par

Vous êtes-vous déjà demandé comment Facebook affiche automatiquement vos photos Instagram ? ou comment Evernote synchronise vos notes entre votre ordinateur et votre smartphone ? Si c'est le cas, ce qui suit devrait vous passionner.

Dans cette série d'articles (1), nous allons passer en revue tout ce qui est nécessaire pour faire communiquer entre eux deux systèmes. Nous allons commencer tranquillement, en révisant le jargon technique que vous avez peut-être déjà lu mais pas entièrement intégré. Puis chaque article introduira quelque chose de nouveau et consolidera l'acquis, jusqu'au point où vous pourrez vous sentir à l'aise avec le concept d'API, voire vous lancer dans leur utilisation !

À qui s'adressent ces articles ?
Si vous n'êtes pas un(e) technicien(ne), la structure de ces articles est faite pour vous. Pour les développeurs, les deux premiers articles ne seront pas absolument nécessaires, mais qui sait ? ils vous apporteront peut-être quelques informations.

Introduction

Les API (application programming interface, en français interfaces de programmation) forment une part importante du web. En 2013, plus de 10.000 API étaient publiées pour la consommation publique, soit 4 fois plus qu'en 2010.

Bien connaître le fonctionnement des API est de plus en plus important lorsqu'on travaille dans le développement web. Commençons par quelques concepts fondamentaux.

Un cadre de référence

Quand on parle d'API, les conversations se focalisent en général sur des concepts abstraits, mais nous allons partir de quelque chose de concret et commencer par un objet physique : le serveur. Un serveur n'est rien d'autre qu'un gros ordinateur. Il est construit avec les mêmes composants que votre ordinateur, mais il est plus rapide et plus puissant. Généralement les serveurs n'ont pas de moniteur, pas de clavier ni de souris, ce qui leur donne un aspect distant... et ça tombe bien, on se connecte avec eux à distance pour travailler.

Les serveurs sont utilisés à un tas de choses, certains stockent des données, d'autres envoient des emails, mais ceux avec lesquels nous interagissons le plus ce sont les serveur web. Ce sont eux qui vous envoient une page quand vous visitez un site web. Pour mieux comprendre comment tout cela fonctionne, rien de mieux qu'une analogie :

De même qu'un programme tel que Solitaire attend que vous cliquiez sur une carte pour jouer à son tour, un serveur web exécute un programme qui attend qu'une personne lui demande une page web.

Rien de magique ni de spectaculaire là-dedans, donc. Un développeur écrit un programme, le donne au serveur, et le serveur exécute le programme en continu.

Qu'est-ce qu'une API ?

Les sites web sont conçus pour s'appuyer sur les facultés humaines. Les êtres humains ont une faculté extraordinaire d'adaptation et d'interprétation. À partir d'une information visuelle, qu'ils rapportent à leurs expériences passées, ils peuvent déduire un sens à partir duquel ils peuvent agir. Lorsque vous voyez un formulaire dans une page web, vous savez que la petite boîte contenant le mot "prénom" signifie que vous êtes censés taper les mots que vous utilisez habituellement pour vous identifier.

Mais que se passe-t-il lorsque vous devez vous lancer dans une tâche répétitive, comme copier les informations de contact d'un millier de consommateurs, d'un site vers un autre ? Vous aimeriez pouvoir déléguer ce travail à un ordinateur qui le fera rapidement et précisément. Malheureusement, les caractéristiques qui font les sites optimaux pour les humains les rendent difficiles à utiliser par les ordinateurs.

La solution est une API. Une API est un outil qui rend les données d'un site web digestibles par un ordinateur. Grâce à elle, un ordinateur peut voir et modifier des données, exactement comme une personne peut charger des pages et soumettre un formulaire.

la personne communique avec le site, le serveur communique via une API
Figure 1 - La communication avec un serveur

En facilitant la possibilité de traiter les données, on permet à l'utilisateur d'automatiser des tâches rébarbatives et consommatrices de temps. Ce qu'un être humain accomplirait en plusieurs heures peut être réalisé en quelques secondes par un ordinateur.

Comment utiliser une API

Lorsque deux systèmes (sites web, ordinateur, smartphone) sont reliés grâce à une API, on dit qu'ils sont "intégrés". Dans une intégration, il y a deux côtés, chacun porte un nom. Nous avons déjà parlé de l'un d'eux : le serveur. C'est le côté qui fournit l'API. Techniquement, une API n'est rien d'autre qu'un ensemble de règles (une interface) sur lesquelles les deux parties s'entendent. On peut dire que l'API n'est au fond qu'un programme exécuté par le serveur, il peut faire partie du programme qui gère le trafic web du serveur, ou il peut être complètement distinct. Dans les deux cas, il est là, et il attend qu'on lui demande des données.

L'autre côté s'appelle le "client". C'est un programme distinct, qui sait quelles données sont disponibles à travers une API et qui peut les manipuler, à la demande de l'utilisateur. Un bon exemple serait un smartphone qui se synchronise avec un site web : lorsque vous appuyez sur le bouton "rafraîchissement", il s'adresse à un serveur, via une API, et va chercher les informations les plus récentes.

Le même principe s'applique aux sites web intégrés. Lorsqu'un site extrait une donnée d'un autre site, le site qui fournit la donnée se comporte comme le serveur, celui qui reçoit la donnée est le client.

Récapitulation

Cet article vous a donné les bases de la terminologie et du modèle de l'API, ce qu'elle est et comment on l'utilise.

Les termes-clés que nous avons appris sont :

Serveur : Un ordinateur puissant qui exécute un programme nommé API
API : La partie "cachée" d'un site web qui est destinée à être consommée par les ordinateurs
Client : Un programme qui échange des données avec un serveur, au moyen d'une API

La suite : dans l'article suivant, nous allons voir comment un client parle avec une API.

Lire l'article suivant


Liste des articles parus :   ↩︎


Autres ressources en français

Qu'est-ce qu'une interface de programmation, par futura-sciences.com


original paru le dans Zapier.com.

Sur l'auteur : travaille chez Zapier.com, vous pouvez le suivre sur Twitter ainsi que Zapier.

Traduit avec l'aimable permission de Zapier et de l'auteur.
Copyright Zapier © 2014.