À l’instar d’une interface uti­li­sa­teur qui permet la com­mu­ni­ca­tion entre l’homme et la machine, les API per­met­tent la com­mu­ni­ca­tion entre dif­fé­rentes ap­pli­ca­tions lo­gi­cielles. Grâce à ces in­ter­faces de pro­gram­ma­tion, les données peuvent être trans­fé­rées dans les deux sens de façon organisée. Ce transfert peut même être opéré lorsque les ap­pli­ca­tions ont été codées dans des langages de pro­gram­ma­tion dif­fé­rents.

API de IONOS pour dé­ve­lop­peurs
Gérez vos produits d'hé­ber­ge­ment grâce à notre puissante API
  • En­re­gis­tre­ments DNS
  • Ad­mi­nis­tra­tion SSL
  • Do­cu­men­ta­tion API

Qu’est-ce qu’une API ?

API signifie Ap­pli­ca­tion Pro­gram­ming Interface et peut être traduit par interface de pro­gram­ma­tion. Comme sa tra­duc­tion française l’indique, une API permet à des pro­gram­meurs tiers d’accéder à une sélection de fonc­tion­na­li­tés. En quelque sorte, les in­ter­faces servent de point d’entrée dans un autre logiciel. L’API permet aux deux pro­grammes de com­mu­ni­quer ensemble, d’échanger des données et de donner des ordres. Cela fonc­tionne aussi bien avec des logiciels sur un PC fixe qu’avec des ap­pli­ca­tions mobiles ou Web. Un programme in­di­vi­duel peut également être structuré de façon à ce que ses dif­fé­rents modules com­mu­ni­quent ensemble via des in­ter­faces.

Dé­fi­ni­tion : API

Une Ap­pli­ca­tion Pro­gram­ming Interface est une interface reliant dif­fé­rents pro­grammes entre eux afin de stan­dar­di­ser la trans­mis­sion des données et l’échange des ins­truc­tions entre les dif­fé­rentes parties d’un programme.

À quoi servent les API ?

De nos jours, les API sont mises à dis­po­si­tions par divers fa­bri­cants de logiciels afin de permettre aux pro­gram­meurs d’accéder plus fa­ci­le­ment aux com­po­sants de ces logiciels. SAP, Amazon et Google proposent par exemple des API pour dif­fé­rents domaines d’ap­pli­ca­tion. Grâce à ces in­ter­faces, les dé­ve­lop­peurs peuvent exécuter des tâches diverses :

  • trans­mettre une ins­truc­tion du pro­gram­meur à un logiciel et recevoir sa réaction ;
  • insérer du contenu dans des services web ;
  • réu­ti­li­ser les codes d’ap­pli­ca­tion grâce à une mise en réseau des pro­grammes ;
  • contrôler l’accès par d’autres pro­gram­meurs.

Au quotidien, les API peuvent par exemple être utilisées pour les services web. Un in­ter­naute sou­hai­tant réserver un vol peut demander à un moteur de recherche cor­res­pon­dant de trouver tous les vols et leurs prix vers une des­ti­na­tion précise, à une date précise. En cliquant sur « Re­cher­cher », le site Internet commence à com­mu­ni­quer avec les API des dif­fé­rentes com­pag­nies aériennes pour demander le prix des vols vers cette des­ti­na­tion. Cette demande est réalisée en quelques secondes seulement et le client obtient ra­pi­de­ment un aperçu des vols dis­po­nibles. Mais quel en est exac­te­ment le fonc­tion­ne­ment ?

Conseil

Vous souhaitez pro­gram­mer une ap­pli­ca­tion mobile ? Notre guide pour les débutants sur le Mobile App Design contient toutes les in­for­ma­tions es­sen­tielles.

Comment fonc­tion­nent les API ?

Même si elles profitent également à l’uti­li­sa­teur final, les API servent prin­ci­pa­le­ment aux pro­gram­meurs. En règle générale, une Ap­pli­ca­tion Pro­gram­ming Interface est mise à dis­po­si­tion par les dé­ve­lop­peurs d’un logiciel pour permettre aux pro­gram­meurs d’autres ap­pli­ca­tions d’utiliser l’interface. L'in­ter­face de pro­gram­ma­tion détermine comment les in­for­ma­tions et les données doivent être reçues et renvoyées par les modules. Google publie par exemple son API pour permettre à d’autres pro­gram­meurs de connecter leurs propres ap­pli­ca­tions aux services de Google. Pour ce faire, Google utilise un standard per­son­na­lisé que le logiciel externe doit respecter.

Le protocole REST est très apprécié pour la com­mu­ni­ca­tion entre les ap­pli­ca­tions, en par­ti­cu­lier sur le Web. Les API REST utilisent les mêmes commandes que le HTTP. Les ins­truc­tions ne sont pas complexes et fa­ci­li­tent gran­de­ment l’échange des in­for­ma­tions. Par ailleurs, ce protocole simple permet aux pro­gram­meurs d’établir une connexion avec l’API.

Pour pouvoir mettre à dis­po­si­tion l’interface de pro­gram­ma­tion, la stan­dar­di­sa­tion est donc es­sen­tielle, quel que soit le protocole utilisé pour l’échange. En outre, il est également né­ces­saire d’apprendre aux autres pro­gram­meurs à utiliser cor­rec­te­ment l’interface. C’est la raison pour laquelle une API est souvent proposée avec des do­cu­men­ta­tions dé­tail­lées sur la syntaxe et les fonc­tion­na­li­tés.

Quels types d’API existe-t-il ?

En principe, il existe quatre classes dif­fé­rentes d’in­ter­faces de pro­gram­ma­tion :

  • les API orientées fonc­tion­na­li­tés ;
  • les API orientées fichier ;
  • les API orientées protocole ;
  • les API orientées objet.

Le choix de la classe dépend du domaine d’ap­pli­ca­tion. Les in­ter­faces de pro­gram­ma­tion orientées fonc­tion­na­li­tés sont des in­ter­faces re­la­ti­ve­ment complexes. Elles per­met­tent par exemple aux dé­ve­lop­peurs d’accéder à des com­po­sants matériels. Dans ce cadre, seules les fonc­tion­na­li­tés sont in­ter­ro­gées. Les API orientées fichiers per­met­tent la connexion au niveau des fichiers. Ceci permet de consulter et écrire des données. Les in­ter­faces orientées protocole servent dans le cadre de la com­mu­ni­ca­tion stan­dar­di­sée entre les pro­grammes et sont in­dé­pen­dantes des systèmes d’ex­ploi­ta­tion ou du matériel. Les API orientées objets peuvent être utilisées de façon flexible.

Dans les API, on opère également une dis­tinc­tion entre les in­ter­faces internes (ou privées) et les in­ter­faces publiques. Les in­ter­faces privées sont uni­que­ment mises à dis­po­si­tion au sein d’une en­tre­prise. Elles sont souvent utilisées pour connecter les fonc­tion­na­li­tés propres à l’en­tre­prise de façon à permettre aux col­la­bo­ra­teurs ou aux clients d’accéder à des réseaux privés. Les in­ter­faces publiques sont mises à la dis­po­si­tion de chacun et peuvent souvent être utilisées en toute sim­pli­cité par les dé­ve­lop­peurs de logiciel. Google, Amazon, eBay, Facebook, Twitter et PayPal sont de bons exemples d’API publiques. De nombreux fa­bri­cants (par ex. Google) invitent ac­ti­ve­ment les dé­ve­lop­peurs à con­tri­buer au dé­ve­lop­pe­ment de leur API.

Quels sont les avantages d’une API ?

Les API pré­sen­tent certains avantages et s’adressent à dif­fé­rentes personnes : les uti­li­sa­teurs profitent autant des in­ter­faces de pro­gram­ma­tion que les dé­ve­lop­peurs internes ou externes.

Les dé­ve­lop­peurs équipant leurs pro­grammes avec de bonnes in­ter­faces de pro­gram­ma­tion peuvent compter sur une plus large diffusion. Les ap­pli­ca­tions avec de bonnes API sont en effet davantage ap­pré­ciées puisqu’elles per­met­tent à d’autres pro­gram­meurs d’interagir plus fa­ci­le­ment avec elles. Les dé­ve­lop­peurs externes peuvent con­si­dé­ra­ble­ment étendre la palette de fonc­tion­na­li­tés de leur propre logiciel en la rat­ta­chant à d’autres ap­pli­ca­tions. À terme, ce sont les uti­li­sa­teurs qui pro­fi­te­ront de cette connexion via l’interface : de cette façon, ils pourront combiner sans problème divers pro­grammes afin d’offrir davantage de confort d’uti­li­sa­tion.

Exemple : les API et les SDK pour Google Maps

Google Maps est un exemple très connu d’in­té­gra­tion d’API. Ce célèbre service de cartes de na­vi­ga­tion en ligne a été présenté en février 2005 et est depuis lors in­dis­pen­sable pour de nombreux uti­li­sa­teurs finaux, que ce soit sur un or­di­na­teur ou en tant qu’ap­pli­ca­tion sur des smart­phones.

Sur la plate-forme Google Maps, les dé­ve­lop­peurs peuvent accéder à des SDK et à des API qu’ils pourront intégrer dans leurs propres ap­pli­ca­tions, pro­grammes et sites internet. Ils per­met­tent d’intégrer ra­pi­de­ment et fa­ci­le­ment les fonc­tion­na­li­tés de Google Maps dans d’autres ap­pli­ca­tions. Grâce à l’API Maps Ja­vaS­cript, les pro­prié­taires de sites internet peuvent par exemple ajouter des cartes in­te­rac­tives en toute sim­pli­cité. Cette pos­si­bi­lité est par­ti­cu­liè­re­ment in­té­res­sante pour les boutiques et les res­tau­rants dont le succès com­mer­cial dépend souvent de la capacité de leurs clients à trouver leurs locaux.

Conseil

Les serveurs cloud de IONOS peuvent également être contactés à l’aide d’une interface. Pour découvrir comment cela fonc­tionne, consultez la do­cu­men­ta­tion détaillée.

Comment tester des API ?

Si vous souhaitez intégrer des Ap­pli­ca­tion Pro­gram­ming In­ter­faces dans des pro­grammes ou des ap­pli­ca­tions, vous devez tout d’abord les tester afin de vous assurer que tout fonc­tionne comme prévu et que les API ne mettent pas trop longtemps pour accéder aux in­for­ma­tions. Les dé­ve­lop­peurs écrivant leurs propres API doivent également les tester dans un premier temps. Heu­reu­se­ment, il est au­jour­d'hui re­la­ti­ve­ment simple de tester des API, en par­ti­cu­lier grâce à des ap­pli­ca­tions comme Postman ou CURL.

Postman permet de tester les appels API définis par l’uti­li­sa­teur. Les dé­ve­lop­peurs peuvent ainsi importer et tester les spé­ci­fi­ca­tions de leur API. D’autre part, Postman supporte les schémas pour les formats tels que RAML, WADL, OpenAPI et GraphQL. Il est ainsi possible de tester les API à leur stade de départ ou à leur stade final de dé­ve­lop­pe­ment. La structure de prix de Postman varie en fonction de la taille requise. Les petites équipes peuvent concevoir et tester des API pour 12 dollars US par uti­li­sa­teur et par mois alors que les en­tre­prises plus im­por­tantes dis­po­se­ront de services plus étendus avec Postman Business pour 24 dollars US par mois (par uti­li­sa­teur). Un pack en­tre­prise est dis­po­nible pour les sociétés com­por­tant plus de 100 uti­li­sa­teurs.

CURL est un outil de ligne de commande per­met­tant de tester des API. Cette ap­pli­ca­tion requiert une bonne com­pré­hen­sion des fonc­tion­na­li­tés des lignes de commande. Elle n’est pas aussi simple à utiliser que Postman et ne comporte pas d’interface graphique uti­li­sa­teur. Cependant, CURL est gratuit. Vous pouvez consulter des documents sur dif­fé­rents sujets sur la page de projet de CURL.

Postman CURL
Les prix com­men­cent à 12 dollars US par mois Gratuit, open source
Basé sur une plate-forme Outil de ligne de commande
Postman permet de tester les API dans le détail CURL est plus souvent utilisé pour consulter ra­pi­de­ment l’en-tête http
Hé­ber­ge­ment Web
Hé­ber­ge­ment Web de pointe au meilleur prix
  • 3x plus rapide, 60 % d'éco­no­mie
  • Haute dis­po­ni­bi­lité >99,99 %
  • Seulement chez IONOS : jusqu'à 500 Go inclus
Aller au menu principal