Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
DEVELOPPEMENT ET DE L’AMÉNAGEMENT DU
TERRITOIRE
Email : iaitogo@yahoo.fr
Thème :
AUTEURS PROFESSEUR
Page 1 sur 11
I. INTRODUCTION
Page 2 sur 11
II. PRESENTATION
2.1 Définition
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.
Page 3 sur 11
2.3 Les types d’API
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.
❖ 3scale
❖ Dell Boomi
❖ Azure
Page 4 sur 11
❖ Anypoint Platform
❖ Cyclr
❖ APPSeCONNECT
❖ Toolkit
❖ IBM API Management
❖ Fusio
❖ OpenLegacy
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 :
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 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 YouTube : vous permet d’intégrer des vidéos YouTube sur votre
site, de recherche sur Youtube, de créer des playlists, etc.
Page 6 sur 11
Pour plus d’information visiter le site ci-dessous :
www.programmableweb.com/apis/directory
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.
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
Page 10 sur 11
V. CONCLUSION
Page 11 sur 11