API signifie Application Programming Interface ou interface de programmation d’application (ou applicatif) en français. Celle-ci permet aux applications logicielles de communiquer entre elles. Bien qu’il existe de nombreux protocoles et technologies impliqués, l’objectif sous-jacent des API est toujours le même : permettre à un logiciel de communiquer avec un autre.
Définition
Les API sont parfois décrites comme des services Web. Celles-ci fonctionnent en arrière-plan chaque fois que deux applications interagissent. Celles-ci facilitent la tâche des développeurs et améliorent l’expérience des utilisateurs finaux.
Pour mieux comprendre, les API permettent aux développeurs de gagner du temps en tirant parti de la mise en œuvre d’une plateforme pour effectuer le travail de fond. Cela aide à réduire la quantité de code que les développeurs doivent créer. Ces codes permettent aussi de créer plus de cohérence entre les applications pour la même plateforme.
Concrètement, une API est un ensemble de code de programmation qui permet la transmission de données entre un produit logiciel et un autre. Cet ensemble contient également les modalités de cet échange de données.
Chaque ensemble de codes contient et est implémentée par des appels de fonction. Ce sont des instructions de langage qui demandent au logiciel d’effectuer des actions et des services particuliers. Les appels de fonction sont décrits dans la documentation de l’API.
Pourquoi les développeurs utilisent-ils des API ?
Globalement, elles simplifient et accélèrent le développement de logiciels. Les développeurs peuvent ajouter des fonctionnalités d’autres fournisseurs aux solutions existantes ou créer de nouvelles applications à l’aide de services de fournisseurs tiers.
Dans tous ces cas, les développeurs n’ont pas à s’occuper du code source en ayant recours à ce système. Ils connectent simplement leur logiciel à un autre. En d’autres termes, les codes servent de couche d’abstraction entre deux systèmes, masquant la complexité et les détails de fonctionnement de ces derniers.
Les API facilitent la vie des développeurs
Supposons qu’un développeur souhaite développer une application pour un iPhone. Le système d’exploitation iOS d’Apple fournit un grand nombre d’ API, comme tous les autres systèmes d’exploitation d’ailleurs pour lui faciliter la tâche.
Si le développeur souhaite intégrer un navigateur Web pour afficher une ou plusieurs pages Web par exemple, il n’a pas besoin de programmer son propre navigateur Web à partir de zéro pour cette seule application.
Et cela s’applique à toutes les plateformes. Pour un développeur qui veut créer une boîte de dialogue sous Windows ou un autre qui veut intégrer la prise en charge de l’authentification par empreinte digitale sur Android, le principe reste le même.
Contrôle de l’accès aux ressources
Les API sont également utilisées pour contrôler l’accès aux périphériques matériels. Celles-ci servent aussi aux fonctions logicielles qui nécessitent une autorisation d’accès.
D’autres raisons de l’utiliser une
L’API permet à deux logiciels différents de communiquer et d’échanger des données entre eux, mais pas seulement. Elle aide aussi à :
- intégrer plus efficacement le contenu de n’importe quel site ou application
- accéder aux composants de l’application
- publier automatiquement le contenu généré
- permettre à l’utilisateur ou à une entreprise de personnaliser les contenus et services qu’ils utilisent le plus
- anticiper les changements des logiciels qui évoluent en permanence.
Les différents types d’API
Les ensembles de codes sont généralement classées en 4 catégories : privée, partenaire, publique et composite.
Les API privées
Cette catégorie est conçue pour améliorer les solutions et les services au sein d’une organisation. Les développeurs ou sous-traitants internes peuvent les utiliser pour intégrer les systèmes ou applications informatiques d’une entreprise. Ils les utilisent aussi pour créer de nouveaux systèmes ou des applications destinées aux clients en exploitant les systèmes existants.
Même si les applications sont accessibles au public, l’interface elle-même reste uniquement disponible pour ceux qui travaillent directement avec l’éditeur. La stratégie privée permet à une entreprise de contrôler entièrement son utilisation.
API partenaires
Celles dites partenaires sont ouvertement promues, mais partagées avec des partenaires commerciaux qui ont signé un accord avec l’éditeur. Les API partenaires sont couramment utilisées pour l’intégration logicielle entre deux parties.
Une entreprise qui accorde à ses partenaires l’accès aux données ou aux capacités peut surveiller la façon dont les actifs numériques exposés sont utilisés. Elle s’assure que les solutions tierces utilisant leurs API améliorent l’expérience utilisateur et maintiennent l’identité de l’entreprise dans leurs applications.
API publiques
Ces API sont disponibles pour tous les développeurs tiers. Il en existe deux types : ouvertes (gratuites) et commerciales. La première catégorie suggère que toutes les fonctionnalités sont publiques et peuvent être utilisées sans condition restrictive.
Un développeur peut utiliser l’API publique pour créer une application sans l’approbation explicite de l’éditeur ni frais de licence. Ouverte est disponible gratuitement, cette catégorie peut être utilisée librement pour créer puis tester des applications.
Pour les API publiques commerciales, les développeurs paient des frais d’abonnement ou les utilisent sur une base de paiement à l’utilisation. Les éditeurs proposent souvent des essais gratuits afin que les utilisateurs puissent les évaluer avant de souscrire un abonnement.
API composite
Ce type d’API combine différentes API de données et de services.
Les catégories par cas d’utilisation
Les API peuvent également être classées en fonction des systèmes pour lesquels elles sont conçues.
API de base de données
Les API de base de données permettent la communication entre une application et un système de gestion de base de données. Les développeurs travaillent avec des bases de données en écrivant des requêtes pour accéder aux données, modifier des tables, etc.
API des systèmes d’exploitation
Ce groupe définit la manière dont les applications utilisent les ressources et les services des systèmes d’exploitation. Chaque système d’exploitation a son ensemble d’API.
API distantes
Les API distantes définissent des normes d’interaction pour les applications s’exécutant sur différentes machines. En d’autres termes, un produit logiciel accède à des ressources situées à l’extérieur de l’appareil qui les demande.
Étant donné que deux applications distantes sont connectées sur un réseau de communication, en particulier Internet, la plupart des API distantes sont écrites sur la base des normes Web.
API Web
Cette classe d’API est la plus courante. Les API Web fournissent des données lisibles par machine et un transfert de fonctionnalités entre les systèmes Web qui représentent l’architecture client-serveur. Ces API délivrent principalement des requêtes d’applications Web et des réponses de serveurs utilisant le protocole HTTP (Hypertext Transfer Protocol).
Les développeurs peuvent utiliser des API Web pour étendre les fonctionnalités de leurs applications ou sites. La plupart des entreprises utilisent plusieurs API pour connecter des applications et partager des informations. Certains finissent par avoir besoin d’un outil de gestion pour les aider à contrôler, distribuer et analyser différents systèmes utilisés.
Authentification et clés
Généralement, une API fait deux choses : soutenir la communication entre les outils et contrôler l’accès aux ressources. La façon dont les API contrôlent l’accès aux ressources se fait par l’authentification (identifiant l’utilisateur) et l’autorisation (déterminant ce à quoi l’utilisateur est autorisé à accéder).
La forme courante d’authentification utilise le nom d’utilisateur et le mot de passe. Avec les API, il faut une clé API. Il s’agit d’un identifiant intégré dans les appels API qui identifie l’utilisateur et détermine ce à quoi il est autorisé à accéder depuis le serveur.
La documentation
Peu importe le nombre d’opportunités de création ou d’extension de produits logiciels que l’API offre, cela resterait un morceau de code inutilisable si les développeurs ne comprenaient pas comment l’utiliser.
La documentation est un manuel de référence contenant toutes les informations nécessaires sur l’API. Une bonne documentation comprend entre autres :
- un guide de démarrage rapide
- des informations d’authentification
- des explications pour chaque appel (demande)
- des exemples de chaque demande et retour avec une description de la réponse, des messages d’erreur, …
- des exemples de code pour des langages de programmation populaires comme JavaScript, Python ou PHP
- des tutoriels
- exemples de SDK (si des SDK sont disponibles) illustrant comment accéder à la ressource, etc.
La documentation se compose généralement de deux colonnes : humain et machine. La colonne humaine contient des descriptions d’API. Celle de la machine a une console pour passer des appels. Cette partie contient également des informations qui intéressent les clients ainsi que les serveurs lors du test.
Cet article Voir la source
Aucune réponse