Vous êtes sur la page 1sur 12

MINISTÈRE EN CHARGE DE LA PLANIFICATION, DU

DEVELOPPEMENT ET DE L’AMÉNAGEMENT DU
TERRITOIRE

Institut Africain d’Informatique

Représentation du TOGO (IAI-TOGO)

Email : iaitogo@yahoo.fr

Site web : www.iai-togo.com

INTRODUCTION AU GENIE LOGICIEL


Filière : Génie Logiciel (3ième année)

Thème :

LES APIs (APLICATION PROGRAMMING


INTERFACE)

Année académique : 2018-2019

AUTEURS PROFESSEUR

AGBETO Kevin Monsieur SANI


DOSSEH George
MIENGUE
TEPE Amélé Raïssa
Table des matières
Table des matières ...................................................................................................... 1
I. INTRODUCTION .................................................................................................... 2
II. PRESENTATION .................................................................................................... 3
2.1 Définition .......................................................................................................... 3
2.2 Domaine d’application de l’API ............................................................... 3
2.3 Les types d’API ............................................................................................... 4
Les API locales ......................................................................................... 4
Les API Web ............................................................................................. 4
Les API de Programme ........................................................................ 4
2.4 Exemple de logiciels de gestion des APIs ............................................ 4
III. EXEMPLE D’APIs ............................................................................................... 5
3.1 API de navigateur courantes .................................................................... 5
3.2 API Web tierces courantes ........................................................................ 6
3.3 API SOAP ET API REST ................................................................................ 7
API SOAP.................................................................................................... 7
API REST .................................................................................................... 9
IV. AVANTAGES ET INCONVENIENTS DES APIs......................................... 9
4.1 Avantages ......................................................................................................... 9
4.2 Inconvénients ............................................................................................... 10
V. CONCLUSION........................................................................................................ 11

Page 1 sur 11
I. INTRODUCTION

L'informatique fait aujourd'hui partie intégrante de notre monde, à un tel point


que le métier d'informaticien s'est diversifié en une multitude de fonctions
spécialisées, touchant au réseau, à la conception et au développement, à la
sécurité des systèmes informatiques ou encore à l'infographie ou l'ergonomie. La
bonne connaissance du cœur de métier de chaque fonction peut permettre d'en
connaître les spécificités, les limites ainsi que les compétences indispensables.
Parmi ces métiers on trouve la conception et la programmation qui consistent à
analyser un besoin, à concevoir des solutions, les modéliser informatiquement et
les implémenter, c'est-à-dire les transcrire dans un langage informatique. Pour
une meilleure et facile interaction entre le programme et l’interface de la solution
à concevoir, l’utilisation des APIs s’avèrent être indispensable, surtout dans la
programmation web.
Les APIs (Application Programming Interfaces) sont des constructions
disponibles dans les langages de programmation pour permettre aux
développeurs de créer plus facilement des fonctionnalités complexes. Elles
s’occupent des parties de codes plus complexes, fournissant aux développeur une
syntaxe plus facile à utiliser à la place.
Ce document sera structuré en 3 (trois) parties. En première position sera
présenter une brève définition des APIs et leur domaine ; en second lieu type et
quelques exemples d’API; au final les avantages et inconvénients éventuels de
l’utilisation des APIs.

Page 2 sur 11
II. PRESENTATION
2.1 Définition

En informatique, API est l’acronyme d’Application Programming Interface,


que l’on traduit en français par interface de programmation applicative. Il
s’agit d’un ensemble normaliser de classes, de méthodes ou de fonctions qui sert
de façade par laquelle un logiciel offre des services à d’autres logiciels.
L’API est une solution informatique qui permet à des applications de
communiquer entre elles et de s’échanger des services ou données.

❖ Application : une application, c’est un service accessible par un humain ou


un programme informatique via internet.
❖ Programming : un programme est un ensemble de fonctions
informatiques écrites par un développeur qui exécute des tâches
spécifiques.
❖ Interface : Une interface est la porte d’entrée à travers laquelle le
programme pourra interagir avec l’application.

C’est à travers cette interface, qu’un programme pourra interagir avec une
application.

Une API, c’est une abstraction qui permet d’utiliser un service sous-jacent.
D’aucuns diront qu’une API est une brique logicielle ou un morceau de code qui
lorsqu’il est sollicité délivre un service ou une information définie.

2.2 Domaine d’application de l’API

Dans le domaine d’internet, l’API permet aux développeurs de pouvoir utiliser


un programme sans avoir à se soucier du fonctionnement complexe d’une
application. Les API peuvent par exemple être utilisées pour déclencher des
campagnes publicitaires d’e-mailing de façon automatique sans avoir à passer
par la compréhension d’une telle application (c’est le cas avec l’API AdWords de
Google, par exemple).
On les retrouve aujourd’hui dans de nombreux logiciels, en particulier dans les
systèmes d’exploitation, les serveurs d’applications, dans le monde du graphisme
(OpenGL), dans les applications Saas (Office365, G Suite, Salesforce…), les bases
de données, l’open data etc.

Page 3 sur 11
2.3 Les types d’API

Les API prennent trois formes de base : Locale, Web et Programme.


Les API locales

Les API locales sont la forme d’origine, d’où provient le nom. Ils offrent des
services d’exploitation ou middleware aux programmes d’application. Les API
.NET de Microsoft, les API TAPI (Telephony) pour les applications vocales et
les API d’accès aux bases de données sont des exemples de la forme de l’API
locale.
Les API Web

Les API Web sont conçues pour représenter les ressources largement utilisées
telle que les pages HTML et sont accessibles via les technologies du web,
notamment le protocole HTTP (HyperText Transfer Protocol) ou sa version
sécurisée HTTPS. Toute URL Web active une API web. Les API Web
appartiennent généralement à deux catégories :
❖ API du navigateur : Elles sont intégrées au navigateur Web ; elles
peuvent afficher des données provenant du navigateur et de son
environnement informatique et faire des choses complexes utiles avec les
dites données.
❖ API tierces : Elles ne sont pas intégrées au navigateur par défaut, et vous
devez généralement récupérer le code de l'API et des informations depuis
un site Web.
Les API de Programme

Les API de programme sont basées sur la technologie RPC (Remote Procedure
Call) qui permet à un composant de programme distant de sembler local au
reste du logiciel. Les API SOA (Service Oriented Architecture), telles que les
API WS de la série Microsoft, sont des API de programme.

2.4 Exemple de logiciels de gestion des APIs

❖ 3scale
❖ Dell Boomi
❖ Azure

Page 4 sur 11
❖ Anypoint Platform
❖ Cyclr
❖ APPSeCONNECT
❖ Toolkit
❖ IBM API Management
❖ Fusio
❖ OpenLegacy

III. EXEMPLE D’APIs

Il existe plusieurs APIs capable d’aider les programmeurs à aller plus vite et à
bénéficier de certains services qu’ils n’ont plus besoin de coder par eux même.
Quelques exemples d’APIs dans la communauté des développeurs sont les
suivants :

3.1 API de navigateur courantes

❖ API DOM (Document Object Model) : chargé dans le navigateur elle


fait partie des API permettant de manipuler les documents. Elle permet
de manipuler le HTML et CSS, créer, supprimer et modifier du code
HTML, appliquer de nouveaux styles à votre page dynamiquement, etc
(exemple des fenêtre pop-up).

❖ XMLHttpRequest et l’API Fecth (Ajax) : permet de récupérer les


données du serveur, afin de mettre à jour des sections d’une page web.
Permet de mettre par exemple à jour une liste de produits ou afficher de
nouveaux articles disponibles instantanément sans avoir à recharger toute
la page du serveur. Cela rend le site ou l’application beaucoup plus réactif
et « accrocheur ».

❖ Canvas et WebGL : elles permettent la mise à jour, par programmation,


des pixels contenus dans un élément HTML « canvas » pour créer des
scènes 2D et 3D. De telles APIs sont souvent combinées avec d’autres par
exemple window.requestAnimationFrame(), pour créer des boucles
d’animation (faire des mises à jour continues de scènes) et ainsi créer des
dessins animés et des jeux.

Page 5 sur 11
❖ Web Audio API ou WebRTC : permettent de faire des choses vraiment
intéressantes avec du multimédia, telles les créations pour jouer de l’audio
et vidéo, l’affichage des textes comme des légendes et des sous-titres, la
récupération des vidéos depuis votre webcam pour l’afficher sur
l’ordinateur d’une autre personne dans une visio-conférence ou encore
l’ajout d’effets sur des pistes audio.

❖ API Notifications et API Vibration : indique à l’utilisateur qu’une mise


à jour est disponible pour une application web via des notifications
système ou des vibrations.

❖ API de géolocalisation (geocoling) : accède aux données


d’emplacement de l’appareil afin que vous puissiez repérez votre position
sur une carte.

3.2 API Web tierces courantes

❖ API Twitter : Vous permet par exemple d’afficher vos derniers tweets
sur votre site Web.

❖ API Google Maps et API Picker Google Maps : vous permet d’afficher
des cartes sur vos pages web.

❖ API Facebook : vous permet d’utiliser diverses parties de l’écosystème


Facebook au profit de votre application, par exemple permettre de se
connecter via Facebook, accepter des paiements via l’application, déployer
des campagnes publicitaires ciblées, etc.

❖ API YouTube : vous permet d’intégrer des vidéos YouTube sur votre
site, de recherche sur Youtube, de créer des playlists, etc.

❖ API Twilio : fournit un Framework permettant de créer des


fonctionnalités d’appel vocal et vidéo dans votre application, d’envoyer
des SMS/MMS depuis votre application, et plus encore.

Page 6 sur 11
Pour plus d’information visiter le site ci-dessous :
www.programmableweb.com/apis/directory

3.3 API SOAP ET API REST

Simple Object Access Protocol (SOAP) et Representational State Transfer


(REST) sont deux solutions pour un même problème : comment accéder à des
services Web. Le choix d'abord peut sembler facile, mais parfois il peut être
étonnamment difficile.
SOAP est un protocole d'accès aux services Web basés sur des normes qui
existent depuis un certain temps et bénéficie de tous les avantages de l'utilisation
à long terme. Initialement développé par Microsoft, SOAP n’est vraiment pas
aussi simple que son acronyme le semble.
REST est le nouveau venu. Il vise à résoudre les problèmes rencontrés avec
SOAP et fournir une méthode vraiment simple, d'accéder à des services Web.
Les deux techniques ont des problèmes à prendre en compte au moment de
décider quel protocole utiliser.
Avant d'aller plus loin, il est important de préciser que même si SOAP et REST
présentent des similitudes en utilisant le protocole HTTP, SOAP est un
ensemble plus rigide de modèles de messagerie que REST. Les règles de SOAP
sont importantes parce que sans ces règles, vous ne pouvez pas atteindre tous
les niveaux de la normalisation. REST a une architecture qui ne nécessite pas de
traitement et qui est naturellement plus flexible. SOAP et REST reposent sur
des règles bien établies que tout le monde a accepté de respecter dans l'intérêt
de l'échange d'informations.

API SOAP

SOAP repose exclusivement sur XML pour fournir des services de messagerie.
Microsoft a initialement développé SOAP pour remplacer des technologies plus
anciennes qui ne fonctionnent pas parfaitement sur le web tels que le Distributed
Component Object Model (DCOM) et le Common Object Request Broker
Architecture (CORBA). Ces technologies échouent parce qu'elles comptent sur
la messagerie binaire ; la messagerie XML employée par SOAP fonctionne
mieux sur le web.

Page 7 sur 11
Après une première version, Microsoft a présenté SOAP à l'Internet
Engineering Task Force (IETF) où il a été normalisé. SOAP est conçu pour
soutenir l'expansion, il a donc toutes sortes d'autres sigles et abréviations qui y
sont associés, tels que WS-Addressing, WS-Policy, WS-Security, WS-
Federation, WS-ReliableMessaging, WS-Coordination, WS-
AtomicTransaction et WS-RemotePortlets.
Le fait est que SOAP est fortement extensible, mais vous pouvez utiliser
uniquement les parties dont vous avez besoin pour une tâche particulière. Par
exemple, lorsque vous utilisez un service Web public qui est librement accessible
à tout le monde, vous n'avez plus vraiment besoin de WS-Security.
Le XML utilisé pour envoyer des requêtes et recevoir des réponses dans SOAP
peut devenir extrêmement complexe. Dans certains langages de
programmation, vous devez construire ces requêtes manuellement, ce qui
devient problématique parce que SOAP ne tolère pas les erreurs. Cependant,
d'autres langages peuvent utiliser des raccourcis que SOAP fournit ; qui peut
vous aider à réduire l'effort nécessaire pour créer la requête et pour analyser la
réponse. Et quand on travaille avec les langages comme le .NET, vous ne voyez
même le XML.
Une partie de cette magie réside dans le WSDL (Web Services Description
Language). Il s'agit d'un autre fichier qui est associé à SOAP. Il donne une
définition de la façon dont le service Web fonctionne, de sorte que lorsque vous
créez une référence à celui-ci, l'IDE peut complètement automatiser le processus.
Donc, la difficulté d'utiliser SOAP dépend dans une large mesure du langage que
vous utilisez.
L'une des caractéristiques les plus importantes de SOAP concerne la gestion des
erreurs. S'il y a un problème avec votre requête, la réponse contient des
informations d'erreur que vous pouvez utiliser pour résoudre le problème. Étant
donné que vous pourriez ne pas pouvoir accéder au service Web, cette
particularité est extrêmement importante ; sinon vous devriez deviner les
raisons pour lesquelles vos requêtes ne fonctionnaient pas. Le rapport d'erreurs
fournit même des codes normalisés de sorte qu'il est possible d'automatiser des
tâches de gestion des erreurs dans votre code.
Une autre caractéristique intéressante de SOAP est que vous ne devez pas
nécessairement l'utiliser avec le protocole HTTP (HyperText Transfer
Protocol). Il existe actuellement une possibilité pour l'utilisation de SOAP à
travers le protocole SMTP (Simple Mail Transfer) et il n'y a aucune raison que
vous ne puissiez pas l'utiliser avec d'autre protocoles de transfert. C'est ce que
font les développeurs dans certains langages, comme Python et PHP.

Page 8 sur 11
API REST

REST a été décrit par Roy Thomas Fielding dans sa thèse « Architectural Styles
and the Design of Network-based Software Architectures ». REST est
l’acronyme de Representational State Transfer. C’est un style d’architecture.
Un style d’architecture est un ensemble de contraintes qui permettent,
lorsqu’elles sont appliquées aux composants d’une architecture, d’optimiser
certains critères propres au cahier des charges du système à concevoir.
De nombreux développeurs ont trouvé SOAP encombrant et difficile à utiliser.
Par exemple, travailler avec SOAP en JavaScript signifie écrire une tonne de
code pour effectuer des tâches extrêmement simples parce que vous devez créer
à chaque fois la structure XML requise.
REST offre une alternative plus simple. Au lieu d'utiliser XML pour faire une
demande, REST repose sur une simple URL. Dans certaines situations, vous
devez fournir des informations supplémentaires de façon particulière, mais la
plupart des services Web qui utilisent REST compter exclusivement sur
l'obtention de l'information nécessaire en utilisant l'approche de l'URL. REST
peut utiliser quatre différents méthodes HTTP (GET, POST, PUT et
DELETE) pour effectuer des tâches.
Contrairement à SOAP, REST n'a pas à utiliser XML pour fournir la réponse.
Vous pouvez trouver des services Web en REST qui ont comme sortie des
données au format CSV (Command Separated Value), JavaScript Object
Notation (JSON) ou encore Really Simple Syndication (RSS). Vous pouvez donc
obtenir la sortie dont vous avez besoin sous une forme qui est facile à analyser
avec le langage dont vous avez besoin pour votre application.
Les applications qui respectent pleinement REST sont appelées RESTful.

IV. AVANTAGES ET INCONVENIENTS DES APIs


4.1 Avantages

On distingue plusieurs avantages offerts par les APIs.


❖ Les APIs rendent les systèmes d’informations agiles car elles peuvent
fonctionner seule ou interagir entre elles ;
❖ Une même API peut être appelée par une ou plusieurs applications
clientes, tout en garantissant un traitement personnalisé de l’information ;
❖ Une API est une même fonction qui est développée une seule fois et peut
profiter à tous ;

Page 9 sur 11
❖ Elles peuvent être des sources d’intelligence supplémentaire dans la
réalisation d’un projet informatique ;
❖ Leur utilisation peut apporter de la valeur et servir d’autres cas d’usages.

4.2 Inconvénients

Les APIs n’offrent pas que seulement des avantages.


❖ L’incapacité à assurer la sécurité des APIs ;
❖ La difficulté d’adaptation ;
❖ Le piratage ;
❖ Le coût de certains API est vraiment hors norme.

Page 10 sur 11
V. CONCLUSION

Pour conclure, il est essentiel de noter qu’on a différentes formes d’API à


savoir : L’API Locale, Web, et programme. Il existe deux types d’APIs, l’API
du navigateur et l’API tierce. Chaque forme et type d’API a sa particularité.
Mais on peut noter que ces APIs permettent d’avoir accès à d’autres services.
Elles communiquent avec d’autres applications permettant ainsi au
programmeur qui s’en serre de pouvoir implémenter des fonctionnalités
complexes au sein de son application. Ces APIs possède des avantages ainsi
que des inconvénients. Même si elles permettent au développeur
(programmeur) de gagner du temps dans son développement, lui évite de coder
des fonctionnalités complexes déjà même existantes et bien d’autres choses, il
faut remarquer que l’utilisation de ces APIs ne garantit pas la sécurité de son
programme.

Page 11 sur 11

Vous aimerez peut-être aussi