Académique Documents
Professionnel Documents
Culture Documents
1
En informatique, une interface de programmation d’application ou interface de programmation
2, 3, 4
applicative (souvent désignée par le terme API pour Application Programming Interface) est un
ensemble normalisé de classes, de méthodes, de fonctions et de constantes qui sert de façade par laquelle
un logiciel offre des services à d'autres logiciels. Elle est offerte par une bibliothèque logicielle ou un
service web, le plus souvent accompagnée d'une description qui spécifie comment des programmes
consommateurs peuvent se servir des fonctionnalités du programme fournisseur.
De manière plus générale, on parle d'API à partir du moment où une entité informatique cherche à agir
avec ou sur un système tiers, et que cette interaction se fait de manière normalisée en respectant les
contraintes d'accès définies par le système tiers. On dit que le système tiers « expose une API. » À ce
titre, des choses aussi diverses que la signature d'une fonction, une URL, un RPC… sont parfois
considérés comme des API (ou micro-API) à part entière.
Des logiciels tels que les systèmes d'exploitation, les systèmes de gestion de base de données, les
langages de programmation, ou les serveurs d'applications comportent une ou plusieurs interface(s) de
programmation.
Sommaire
Description
Utilisation
Marché
Exemples d'API
Exemples en fonction du domaine applicatif
Fonctions des interfaces de programmation en Java
Données véhiculées
API management
Notes et références
Voir aussi
Articles connexes
Liens externes
Description
Une interface de programmation est une façade clairement délimitée par laquelle un logiciel offre des
5
services à d'autres logiciels . L'objectif est de fournir une porte d'accès à une fonctionnalité en cachant
5
les détails de la mise en œuvre . Une interface de programmation peut comporter des classes, des
5
méthodes ou des fonctions, des types de données et des constantes . Le plus souvent, une interface de
programmation est mise en œuvre par une bibliothèque logicielle qui fournit une solution à un problème
5
informatique en faisant abstraction de son fonctionnement .
La description de l'interface de programmation spécifie comment des clients peuvent interagir avec un
5
logiciel en mettant l'accent sur les fonctionnalités offertes par le logiciel et en cachant les détails de son
5
fonctionnement . Une interface de programmation peut être utilisée dans de nombreux programmes et
sert alors de jeu de construction, offrant des pièces de fonctionnalités qui peuvent être incorporées dans
5
des applications . Les programmeurs créent des interfaces de programmation pour les autres
5
programmeurs, pour l'industrie informatique, mais aussi parfois pour leurs propres besoins .
Utilisation
La création et l'utilisation des interfaces de programmation est un sujet incontournable de la
5
programmation contemporaine . Une application se sert généralement de nombreuses interfaces de
programmation ; mises en œuvre par des bibliothèques logicielles qui peuvent elles-mêmes se servir
5
d'autres interfaces de programmation .
En architecture orientée services les applications peuvent dépendre de fonctionnalités tierces offertes par
5
des logiciels via des interfaces de programmation mises en œuvre par des services web .
Une interface de programmation permet par exemple à un programme d'accéder aux services offerts par
le système d'exploitation qui héberge le programme. L'interface sockets est un exemple classique
d'interface de programmation qui permet à un programme d'exploiter les possibilités de la couche réseau
7
du système d'exploitation .
Une des interfaces les plus connues est la Windows API. C'est une collection de fonctions, de types de
données et de constantes, en langage de programmation C (alors que windows a été essentiellement écrit
en Pascal...), qui permet à des programmeurs de créer des applications pour les systèmes d'exploitation
Windows. Elle offre la possibilité de manipuler des fichiers, des processus, communiquer par les réseaux
5
et manipuler des interfaces graphiques .
Marché
Dans l'industrie contemporaine du logiciel, les applications informatiques se servent de nombreux
logiciels tiers, tels qu'un système d'exploitation, des bibliothèques standard, ou des serveurs d'application.
Chacun de ces produits a sa propre interface de programmation. Ainsi chaque programmeur impliqué
dans le développement de tels produits est impliqué, consciemment ou non, dans le business des
6
interfaces de programmation . Du point de vue business une interface de programmation est un contrat
par lequel un fournisseur de fonctionnalité décrit son offre, les fonctionnalités qu'il offre et les
8
éventuelles limitations .
La construction par assemblage de logiciels nécessite pour le constructeur de savoir comment les pièces
interagissent entre elles. Celui qui réalise l'assemblage n'a pas besoin de connaitre tous les détails des
6
mécanismes internes d'une pièce, du moment qu'il connait son interface de programmation . L'interface
de programmation est le minimum qu'un programmeur a besoin de connaitre pour pouvoir se servir d'une
pièce de logiciel tierce. Pour une fonction c'est le nom de celle-ci, les paramètres et le type du résultat,
9
ainsi que les effets observables de la fonction .
Une interface de programmation est distribuée sur le marché comme un produit logiciel ordinaire,
régulièrement amélioré. La mise en œuvre des fonctionnalités utilisables à travers l'interface de
8
programmation peut changer régulièrement, tout en maintenant la façade conforme au contrat .
Exemples d'API
10
Azure API (dont API App, API Management )
Graph API de Facebook
Google Maps API
11
API de Salesforce
API JAXP permet facilement l'accès à différentes implémentations des API SAX et DOM
(XML4J, Apache Xerces (en)).
Données véhiculées
Les interfaces de programmation peuvent véhiculer des métadonnées.
Dans les interfaces prévues par les progiciels de gestion intégrée. Exemples : Oracle 9i
Metadata API et Relational metadata API de SAP.
Dans les langages de programmation. Exemple du langage Java : API d'accès et de
traitement des données enregistrées dans une source de données.
Dans les systèmes décisionnels. Exemple : Métadonnées dans les API de SAS.
Dans les bases de données relationnelles. Exemple : DB2 Cube.
Dans les applications d'ingénierie des connaissances. Exemple Loading metadata to
Livelink using Bulk Loader API's.
API management
L'API Management est une discipline, un outil de gestion des API, une solution informatique qui a pour
vocation d'aider les organisations, les entreprises à exploiter et à publier au mieux les API sans mettre en
12
péril le système d’information . C'est un moyen d’interconnecter de façon sécurisée des services
internes et externes. En outre, l'API Management permet aussi d’avoir une certaine visibilité sur les
demandes d’accès à ses APIs. Celui-ci sécurise les API exposées, facilite la gestion de leur cycle de vie,
13
aide à piloter la consommation des API, outille le reporting pour le suivi des contrats . L'API
Management implique donc la création de ressources d'assistance à l'utilisateur, qui définissent et
14
documentent les API .
Notes et références
1. « interface de programmation » (http://www.gdt.oqlf.gouv.qc.ca/ficheOqlf.aspx?Id_Fiche=83
94269), Le Grand Dictionnaire terminologique, Office québécois de la langue française
(consulté le 27 mai 2019).
2. « Interface de programmation : API ou Application Programming Interface » (https://www.jou
rnaldunet.fr/web-tech/dictionnaire-du-webmastering/1203559-api-application-programming-i
nterface-definition-traduction/), sur journaldunet.fr, 20 janvier 2019 (consulté le
27 juin 2019).
3. Jean-Noël Anderruthy, Techniques de veille et de e-réputation, Éditions ENI, juin 2009,
355 p. (lire en ligne (https://books.google.com/books?id=UFC9bNYRKxUC&pg=PT31&dq
=%22interface+de+programmation+applicative%22&hl=fr&sa=X)), p. 24 :
Voir aussi
Droit d'auteur : les textes sont disponibles sous licence Creative Commons attribution, partage dans les mêmes
conditions ; d’autres conditions peuvent s’appliquer. Voyez les conditions d’utilisation pour plus de détails, ainsi que
les crédits graphiques. En cas de réutilisation des textes de cette page, voyez comment citer les auteurs et
mentionner la licence.
Wikipedia® est une marque déposée de la Wikimedia Foundation, Inc., organisation de bienfaisance régie par le
paragraphe 501(c)(3) du code fiscal des États-Unis.