Les APIs sont de plus en plus présentes aujourd’hui sur le web, et sont utilisées au quotidien dans les systèmes informatiques – même si on ne le voit pas. Lorsque vous comparez les prix de vos billets d’avion, regardez le menu d’un restaurant en ligne ou regardez la météo sur votre smartphone, vous utilisez une API.

Mais que veulent réellement dire ces trois lettres ?

  • A : Application
  • P : Programming
  • I : Interface

Une API, qu’est-ce que c’est ?

Une API, Interface de Programmation d’Application, « Application Programming Interface » en anglais, est un ensemble de fonctions, types de données et constantes, disponible sur une bibliothèque logiciel. Une API expose, rend accessible certaines données ou fonctionnalités. Elle peut être publique et donc accessible à tous, ou privée. Lorsqu’elle est privée, elle dispose d’une clé, « API key » qui permet à son utilisateur de s’identifier comme ayant le droit d’accès à ses informations.

L’API REST « Representational State Transfert » est aujourd’hui le type d’API le plus utilisé. REST est un type d’architecture utilisé pour les APIs qui centralisent des services partagés. L’API REST est conçue pour être naturellement flexible, et se doit d’être « sans état », ce qui signifie que le serveur n’a aucune information sur l’état du client entre deux requêtes. Chaque demande à l’API est strictement indépendante.

A quoi sert une API ?

Une API permet à une source de données et à une application de communiquer entre elles. Cette notion d’interface de programmation applicative facilite le travail des développeurs. Les développeurs en charge du projet de développement de l’application peuvent, en effet, utiliser une API existante, développée et programmée par d’autres et ainsi l’exploiter dans le cadre de nouvelles applications ou fonctionnalités, sans avoir à redévelopper la source de l’information. Elle leur offre une interface donnant accès aux fonctionnalités d’un autre programme.
Vous l’avez compris, l’API est l’intermédiaire permettant à deux systèmes informatiques totalement indépendants d’interagir entre eux, de manière automatique, sans intervention humaine.

Pourquoi faire appel aux APIs ?

L’API est dotée de nombreux avantages comme le gain de temps généré grâce à son utilisation. En effet, cet outil facilite le travail des développeurs qui augmentent leur efficacité en récupérant un programme ou une brique de programme développés en amont. Le but étant de les exploiter au sein de leurs propres programmes et fonctionnalités. De plus, l’API est très pratique car elle utilise un langage universel. Lors de la transmission des données d’un système à un autre, l’API n’a pas besoin d’être « traduite » dans le langage adapté, aussi différents qu’ils soient. On parle de langage agnostique, également appelé langage neutre, sa plus grande force.

 

Quelles sont les étapes nécessaires à la création d’une API ?

Prenons l’exemple d’une API nécessaire à la création d’une application de réservation de tickets de cinéma. Cette application a pour objectifs d’afficher :

  • les films à l‘affiche
  • les séances proposées
  • les tarifs
  • le nombre de places restantes, etc…

Il faut dans un premier temps organiser les données, et pour cela définir les grandes entités du projet, c’est-à-dire ses ressources.

Dans cet exemple, les ressources sont les suivantes :

  • films
  • utilisateurs
  • salles
  • séances
  • réalisateurs
  • tarifs

A la suite de cela, il faut établir les relations entre ces ressources.

  • un réalisateur peut être associé à plusieurs films
  • un film est associé à un réalisateur
  • une salle peut diffuser plusieurs séances
  • un film peut être diffusé dans plusieurs salles
  • un film peut être diffusé sur plusieurs séances
  • un film peut avoir plusieurs tarifs
  • etc…

Une fois les liens établis, il faut définir les actions possibles pour chaque ressource. Et… l’API est créée !

Pour mieux comprendre comment elle est ensuite utilisée, parlons de la relation application/API.

Comment les applications consomment les APIs ?

La relation entre l’application, le “client” et l’API est un échange à double sens. L’application fait dans une premier temps appel à une API pour récupérer, supprimer ou ajouter une information spécifique. L’API, à la réception de cette demande, analyse les critères qu’on lui soumet et recherche l’information. Une fois la recherche terminée, l’API émet une réponse à l’application via un fichier JSON, sa réponse étant toujours accompagnée d’un code de statut indiquant si l’action a bien été réalisée, ou pas.

En conclusion, vous l’aurez compris, les APIs sont aujourd’hui indispensables dans le développement d’applications digitales, et disposent de nombreux avantages dont nous bénéficions au quotidien.
Elles permettent un gain de temps considérable pour les développeurs et facilitent leur travail en leur mettant à disposition les informations de manière publique ou privée.
De plus, elles influent sur leur efficacité au travail grâce à une rapidité de mise en place de nouvelles fonctionnalités, pour reprogrammer, ajouter une fonction, etc.
Elles permettent une meilleure interopérabilité entre différents systèmes programmés dans divers langages.
Enfin, la force des APIs réside dans le nombre infini de possibilités de mise en application :

  • liste publique de commerces de proximité
  • météo
  • horaires de transport
  • comparateur de prix
  • sites de réservation en ligne
  • catalogues
  • etc…

Toutes ces mises en application étant autant d’améliorations pour les usagers d’outils digitaux.