Rechercher sur Wikipédia Rechercher Faire un don Créer un compte Se connecter
Interface de programmation 70 langues
Sommaire masquer Article Discussion Lire Modifier Modifier le code Voir l’historique Outils Apparence masquer
Début Taille du texte
Pour les articles homonymes, voir API.
Description
1 Petite
Utilisation En informatique, une interface de programmation d’application ou interface de
2, 3 Standard
Marché programmation applicative , souvent désignée par le terme API pour « Application
Programming Interface » en anglais, est un ensemble normalisé de classes, de méthodes, de Démonstration d'une routine Grande
Exemples d'API
fonctions et de constantes qui sert de façade par laquelle un logiciel offre des services à appelant une base de données dans
Exemples en fonction du une interface de programmation. Largeur
domaine applicatif d'autres logiciels. Elle est offerte par une bibliothèque logicielle ou un service web, le plus
Fonctions des interfaces de souvent accompagnée d'une description qui spécifie comment des programmes Standard
programmation en Java « consommateurs » peuvent se servir des fonctionnalités du programme « fournisseur ». Large
Données véhiculées
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 Couleur (bêta)
API management
fait de manière normalisée en respectant les contraintes d'accès définies par le système tiers. On dit alors que le système tiers
Notes et références Automatique
« expose une API ».
Voir aussi
Clair
Articles connexes À ce titre, des interactions aussi diverses que la signature d'une fonction, une URL ou un RPC par exemple sont parfois considérés
Sombre
Liens externes comme des API (ou micro-API) à part entière.
Dans l'industrie contemporaine du logiciel, les applications informatiques se servent de nombreuses interfaces de programmation, car
la programmation réutilise des briques de fonctionnalités fournies par des logiciels tiers. Cette construction par assemblage nécessite
pour le programmeur de connaître la manière d’interagir avec les autres logiciels qui dépend de leur interface de programmation. Le
programmeur n'a pas besoin de connaître les détails de la logique interne du logiciel tiers, et celle-ci n'est pas nécessairement
documentée par le fournisseur. Seule l'API est réellement nécessaire pour utiliser le système tiers en question.
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 interfaces de programmation.
Description [ modifier | modifier le code ]
4
Une interface de programmation est une façade clairement délimitée par laquelle un logiciel offre des services à d'autres logiciels
5
afin que des données ou des fonctionnalités soient échangées . L'objectif est de fournir une porte d'accès à une fonctionnalité en
4
cachant les détails de la mise en œuvre . Une interface de programmation peut comporter des classes, des méthodes ou des
4
fonctions, des types de données et des constantes . Le plus souvent, une interface de programmation est mise en œuvre par une
4
bibliothèque logicielle qui fournit une solution à un problème informatique en faisant abstraction de son fonctionnement .
La description de l'interface de programmation spécifie comment des clients peuvent interagir avec un logiciel en mettant l'accent sur
4
les fonctionnalités offertes par le logiciel et en cachant les détails de son 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
4
incorporées dans des applications . Les programmeurs créent des interfaces de programmation pour les autres programmeurs, pour
4
l'industrie informatique, mais aussi parfois pour leurs propres besoins .
Utilisation [ modifier | modifier le code ]
4
La création et l'utilisation des interfaces de programmation sont un sujet incontournable de la programmation contemporaine . Une
application se sert généralement de nombreuses interfaces de programmation, mises en œuvre par des bibliothèques logicielles, qui
4
peuvent elles-mêmes se servir d'autres interfaces de programmation .
En architecture orientée services les applications peuvent dépendre de fonctionnalités tierces offertes par des logiciels via des
4
interfaces de programmation mises en œuvre par des services web .
Les interfaces de programmation permettent de gagner du temps par la collaboration et la spécialisation des équipes de
développement de logiciels. L'apparition de standards tels que le SQL et les premiers SGBD en 1979 sont un bon exemple de
système utilisant des API, et avec la complexité croissante des bases de données, plus personne n'écrit un SGBD maison pour une
application informatique. Les programmeurs réutilisent les SGBD existant dans le commerce, fournis par des entreprises spécialisées
dans ce type de produit, et se concentrent sur la logique propre à leur application. De nombreux produits d'infrastructure sont ainsi
6
disponibles sous forme de framework ou de bibliothèque .
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
7
d'exploiter les possibilités de la couche réseau 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
8
langage de programmation C (Windows ayant été essentiellement écrit en C, notamment le noyau, et partiellement en C++ ), qui
permet à des programmeurs de créer des applications pour les systèmes d'exploitation Windows. Elle offre la possibilité de manipuler
4
des fichiers, des processus, de communiquer par les réseaux et de manipuler des interfaces graphiques .
Marché [ modifier | modifier le code ]
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 standards 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,
6
dans le business des interfaces de programmation . Du point de vue du business, une interface de programmation est un contrat par
9
lequel un fournisseur de fonctionnalité décrit son offre, les fonctionnalités qu'il offre et les é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 connaître tous les détails des mécanismes internes d'une pièce, du moment qu'il
6
connaît son interface de programmation . L'interface de programmation est le minimum qu'un programmeur a besoin de connaître
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,
10
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 programmation peut changer régulièrement, tout en maintenant la façade
9
conforme au contrat .
Exemples d'API [ modifier | modifier le code ]
11
Azure API (dont API App, API Management )
Graph API de Facebook
Google Maps API
API de Salesforce
API de PicWish
Exemples en fonction du domaine applicatif [ modifier | modifier le code ]
graphisme 3D : OpenGL ou plus récemment Vulkan (Khronos Group), Direct3D (de la série DirectX de Microsoft), Mantle (en)
(AMD)
manipulation de documents XML : SAX (Simple API for XML) et DOM (Document Object Model)
accès à des bases de données : ODBC, JDBC
cartographie et SIG : APIs OpenStreetMap
Fonctions des interfaces de programmation en Java [ modifier | modifier le code ]
Les interfaces de programmation peuvent avoir plusieurs fonctions. Par exemple, dans Java EE, on trouve des fonctions telles que
des API de communication synchrone ou asynchrone, des API de connexions (annuaires, bases de données, progiciels de gestion
intégrés), des API de gestion de transactions, des API de gestion de courriels, des API de sérialisation par XML, des API d'analyse
XML ou des API de gestion des registres XML (par exemple ebXML).
Des API peuvent servir à simplifier l'accès à d'autres API, par exemple l'API JAXP qui permet facilement l'accès à différentes
implémentations des API SAX et DOM (XML4J, Apache Xerces).
Données véhiculées [ modifier | modifier le code ]
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 [ modifier | modifier le code ]
L'API Management est un outil de gestion des API, une solution informatique qui a pour vocation d'aider les organisations, les
12
entreprises à exploiter et à publier au mieux les API sans mettre en 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, aide à piloter la
13
consommation des API, outille le reporting pour le suivi des contrats . L'API Management implique donc la création de ressources
14 [pas clair]
d'assistance à l'utilisateur, qui définissent et documentent les API .
Notes et références [ modifier | modifier le code ]
1. ↑ « interface de programmation [archive] », 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 [archive] », sur journaldunet.fr, 20 janvier 2019 (consulté le
27 juin 2019).
3. ↑ François Mouzard, Lexique de l'informatique : Bulletin de terminologie no 233, Ministre des Travaux publics et Services gouvernementaux - Bureau
de la traduction, 2011, 553 p. (ISBN 978-0-660-60165-6 et 0-660-60165-6, lire en ligne [archive]).
4. ↑ a b c d e f g h i j et k (en) Martin Reddy, API Design for C++, Elsevier - 2011, (ISBN 9780123850041).
5. ↑ « Interface de programmation d’application (API) | CNIL [archive] », sur www.cnil.fr (consulté le 1er décembre 2022)
6. ↑ a b et c (en) Jaroslav Tulach, Practical API Design: Confessions of a Java Framework Architect, Apress - 2008, (ISBN 9781430209744).
7. ↑ (en) Joe Casad, Sams Teach Yourself Tcp/Ip in 24 Hours, Sams Publishing - 2004, (ISBN 9780672325656).
8. ↑ « One Dev Question with Raymond Chen - What Programming Language is Windows Written In? [archive] » (consulté le 13 janvier 2021)
9. ↑ a et b (en) Daniel Jacobson - Dan Woods - Greg Brail, APIs: A Strategy Guide, O'Reilly Media Inc. - 2011, (ISBN 9781449308926).
10. ↑ (en) David A. Watt, Programming Language Design Concepts, John Wiley & Sons - 2004, (ISBN 9780470020470).
11. ↑ « Gestion des API : établissement de passerelles d’API | Microsoft Azure [archive] », sur azure.microsoft.com (consulté le 11 janvier 2018)
12. ↑ « Présentation de Gestion des API [archive] », sur microsoft.com, 23 janvier 2017 (consulté le 31 mai 2017)
13. ↑ Frédérick Miszewski, « Pourquoi l’API Management n’est pas un sujet IT [archive] », sur nexworld.fr (consulté le 31 mai 2017)
14. ↑ Margaret Rouse, « Gestion des API [archive] », sur lemagit.fr (consulté le 31 mai 2017)
Voir aussi [ modifier | modifier le code ]
Articles connexes [ modifier | modifier le code ] Sur les autres projets Wikimedia :
API Management interface de programmation,
sur le Wiktionnaire
Java ME
API, sur le Wiktionnaire
Java EE
Interface (informatique)
Migration d'interfaces de programmation
Liens externes [ modifier | modifier le code ]
(en) SAX, Simple API for XML [archive]
(en) What is an API? Your guide to the Internet Business (R)evolution [archive]
v·m
Éléments de programmation informatique [masquer]
Bibliothèque
Bibliothèque standard · Espace de noms · Framework · Gabarit · Interface · Interface de programmation (API)
logicielle
Algorithme · Expression · Indentation · Instruction · Ligne de code · Opérateur · Pseudo-code · Ramasse-miettes
Convention de nommage · Dispatch multiple · Factorisation · Fonction imbriquée ·
Fonctions Fonction de rappel · Fonction d'ordre supérieur · Fonction récursive · Généricité ·
Vocabulaire Opérande · Paramètre · Polymorphisme · Procédure · Signature de type · Surcharge
Classe · Constructeur · Destructeur · Encapsulation · Héritage · Héritage multiple ·
Objet
Instance · Méthode
Événementiel Inversion de contrôle
Structures de Arbre · Attribut · Caractère · Enregistrement · Ensemble · File · Liste · Liste chaînée · Pile ·
données Propriété · Sémaphore · Tableau · Tas · Type abstrait · Vecteur
Affectation · Pointeur · Portée · Référence · Tableau associatif · Type énuméré ·
Déclarations
Code source Type récursif · Typage statique · Variable · Variable globale · Variable locale
Structures de
Case · Do · Else · Eval · If · For · Goto · Loop · Switch · While
contrôle
Fonctions usuelles Concaténation · Incrémentation · malloc · printf
Outil de Environnement de développement · Générateur de documentation · Gestion de versions · Modèle · Patch ·
développement Spécification
Folklore Hello world · Principe KISS · Langage de programmation exotique
Catégories : Programmation informatique · Développement logiciel
Portail de la programmation informatique Portail de l’informatique
Catégories : Interface de programmation Programmation informatique Interopérabilité [+]
La dernière modification de cette page a été faite le 24 février 2025 à 13:38.
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.
Politique de confidentialité À propos de Wikipédia Avertissements Contact Code de conduite Développeurs Statistiques Déclaration sur les témoins (cookies) Version mobile