Interface de programmation : définition simple et exemples concrets
Une interface de programmation, en informatique, est un ensemble de fonctions qui laisse avoir accès aux prestations d'une application, par le moyen d'un langage de programmation (tel que Java).
Qu'est-ce qu'une interface en informatique ?
Une interface de programmation (aussi nommée API pour Application Programming Interface) est un ensemble standardisé de méthodes, de classes, de fonctions et de constantes. Cela sert d’intermédiaire, par lequel un logiciel offre des prestations à d’autres logiciels. Ces derniers peuvent ainsi s’échanger réciproquement des données ou des services, en communiquant entre eux, grâce à un langage de programmation.
De nos jours, les applications informatiques utilisent une multitude d’interfaces de programmation, en se servant des « briques » de fonctionnalités données par des logiciels tiers. Cette architecture, par assemblage, sollicite pour le codeur d’apprendre la manière d’interagir avec les autres logiciels, qui découle de leur interface de programmation. Le codeur n’a ainsi pas l’utilité de connaître les spécificités de la logique interne du logiciel tiers.
Les langages de programmation, tels que Java, par exemple, utilisent une interface de programmation.
À quoi sert une interface ?
Une API concède à donner un certain degré d’abstraction au programmeur. C’est-à-dire qu’elle lui cache la difficulté d’accès à un système ou à un logiciel, en présentant un jeu de fonctions standards, dont uniquement les valeurs retournées et les paramètres sont établis. Par exemple, avec une voiture, le conducteur n’a pas besoin de savoir comment fonctionne un moteur pour pouvoir conduire. Il utilise l’interface simplifiée pour le consommateur : les pédales, le volant, etc. En informatique, grâce à ces interfaces, un programmeur n’a pas à se préoccuper de la façon dont un logiciel fonctionne ou comment il a été paramétré pour pouvoir le faire fonctionner. Il pourra mettre en place de manière automatique des campagnes d’e-mailing sans avoir à en comprendre le fonctionnement.
Vous entendrez aussi parfois parler de « service web ». L’unique différence avec une API est le fait qu’un service web facilite les échanges entre deux ordinateurs situés sur un réseau. Alors qu’une API sert d’interface entre deux logiciels différents, afin qu’ils réussissent à communiquer ensemble.
Exemples de langages fait pour l'interfaçage
Deux grands protocoles de communication, sur lesquels s’appuient les API, sortent du lot. Le protocole SOAP (Simple Object Access Protocol) et le protocole REST (Representational State Transfert). Ce dernier s’est largement imposé, car il est plus maniable que son concurrent. Il s’est ainsi décliné en interface dite REST ou RESTful.
Les interfaces de programmation peuvent aussi avoir différentes utilisations. Par exemple, pour JavaEE, on rencontre les fonctions suivantes : API de communication synchrone/asynchrone, API de connexions (base de données, annuaire), API d’analyse XML, API de gestion de mails, API de gestion des transactions, API de sérialisation par XML, API de gestion des registres XML (comme ebXML).