mardi 12 novembre 2019

Les APIs

source: How-to Geek

21 MARS 2018,

CHRIS HOFFMAN

traduction: GoogleTranslate/GrosseFille

Qu'est-ce qu'une API?


Vous avez probablement déjà rencontrer  le terme «API». Les mises à jour du système d'exploitation, du navigateur Web et des applications annoncent souvent de nouvelles API pour les développeurs. Mais qu'est-ce qu'une API?

Interface de programmation d'applications


Le terme API est un acronyme et signifie «Application Programming Interface».

 Une API resemble un peu à un menu dans un restaurant. Le menu fournit une liste de plats que vous pouvez commander, avec une description de chaque plat. Lorsque vous spécifiez les éléments de menu que vous souhaitez, la cuisine du restaurant fait le travail et vous fournit des plats finis. Vous ne savez pas exactement comment le restaurant prépare cette nourriture et cela vous importe peu.

De même, une API répertorie un ensemble d'opérations que les développeurs peuvent utiliser, ainsi qu'une description de leurs tâches. Le développeur n'a pas nécessairement besoin de savoir comment, par exemple, un système d'exploitation construit et présente une boîte de dialogue «Enregistrer sous». Ils ont juste besoin de savoir que celle-ci est disponible pour une utilisation dans leur application.

Cette métaphore n'est pas parfaite, car les développeurs doivent peut-être fournir leurs propres données à l'API pour obtenir des résultats. Il s'agit donc peut-être davantage d'un restaurant chic où vous pouvez fournir certains de vos propres ingrédients avec lesquels la cuisine travaillera.

Mais globalement, c'est exact. Les APIs permettent aux développeurs de gagner du temps en tirant parti de l'implémentation d'une plate-forme pour effectuer un travail essentiel. Cela permet de réduire la quantité de code nécessaire aux développeurs et de créer davantage de cohérence entre les applications pour la même plate-forme. Les APIs peuvent contrôler l'accès aux ressources matérielles et logicielles.

Les API simplifient la vie des développeurs

Supposons que vous souhaitiez développer une application pour un iPhone. Le système d'exploitation iOS d'Apple fournit un grand nombre d' APIs - comme tous les autres systèmes d'exploitation - pour vous faciliter la tâche.

Si vous souhaitez intégrer un navigateur Web pour afficher une ou plusieurs pages Web, par exemple, vous n'avez pas à programmer votre propre navigateur Web à partir de rien, uniquement pour votre application. Vous utilisez l' API WKWebView pour incorporer un objet de navigateur WebKit (Safari) dans votre application.

Si vous souhaitez capter des photos ou des vidéos à partir de la caméra de l'iPhone, vous n'avez pas à écrire votre propre interface de caméra. Vous utilisez l'API de caméra pour intégrer la caméra intégrée de l'iPhone dans votre application. Si les APIs n'existaient pas pour simplifier les choses, les développeurs d'applications devraient créer leur propre logiciel de caméra et interpréter les entrées du matériel de la caméra. Mais les développeurs de systèmes d’exploitation d’Apple ont fait tout ce travail difficile pour que les développeurs puissent simplement utiliser l’API de la caméra pour intégrer une caméra, et ainsi poursuivre la construction de leur application. De plus, lorsque Apple améliorera l'API de l'appareil photo, toutes les applications qui en dépendent en profiteront automatiquement.

Cela s'applique à toutes les plateformes. Par exemple, vous désirez créer une boîte de dialogue sous Windows? Il y a une API pour ça . Voulez-vous prendre en charge l'authentification par empreinte digitale sur Android? Il existe une API pour cela aussi, vous n'avez donc pas à tester le capteur d'empreinte de chaque fabricant Android. Les développeurs n'ont pas à réinventer la roue encore et encore.

Les API contrôlent l'accès aux ressources

Les API permettent également de contrôler l'accès aux périphériques matériels et aux fonctions logicielles qu'une application n'est peut-être pas autorisée à utiliser. C'est pourquoi les API jouent souvent un rôle important dans la sécurité.

CONNEXE: Comment empêcher les sites Web de demander votre emplacement

Par exemple, si vous avez déjà visité un site Web et vu un message dans votre navigateur indiquant que celui-ci demande à connaître votre position précise, ce site Web tente d'utiliser l'API de géolocalisation dans votre navigateur Web. Les navigateurs Web exposent des API telles que celle-ci pour faciliter l'accès des développeurs Web à votre emplacement. Cela permet de simplement demander «Où êtes-vous?

Cependant, les navigateurs 'exposent' également ces informations via une API car il est possible de contrôler leur accès. Lorsqu'un site Web souhaite accéder à votre emplacement physique exact, la seule façon de l'obtenir consiste à utiliser l'API d'emplacement. Et, lorsqu'un site Web tente de l'utiliser, vous, l'utilisateur, pouvez choisir d'autoriser ou de refuser cette demande. L'API est le seul moyen d'accéder aux ressources matérielles, telles que le capteur GPS, afin que le navigateur puisse contrôler l'accès au matériel et limiter les tâches des applications.

Ce même principe est utilisé sur les systèmes d'exploitation mobiles modernes comme iOS et Android, où les applications mobiles disposent d'autorisations pouvant être appliquées en contrôlant l'accès aux APIs. Par exemple, si un développeur tente d'accéder à la caméra via l'API de la caméra, vous pouvez refuser la demande d'autorisation et l'application n'a aucun moyen d'accéder à la caméra de votre appareil.

Les systèmes de fichiers qui utilisent des autorisations, comme ils le font sous Windows, Mac et Linux, ont ces autorisations appliquées par l'API du système de fichiers. Une application typique n'a pas d'accès direct au disque dur physique brut. Au lieu de cela, l'application doit accéder aux fichiers via une API.

Les API sont utilisées pour la communication entre services


Les API sont utilisées pour toutes sortes d'autres tâches. Par exemple, si vous avez déjà vu un objet Google Maps incorporé sur un site Web, celui-ci utilise l'API Google Maps pour incorporer cette carte. Google expose les API de ce type aux développeurs Web, qui peuvent ensuite les utiliser pour importer des objets complexes directement sur leur site Web. Si de telles API n'existaient pas, les développeurs pourraient être amenés à créer leurs propres cartes et à fournir leurs propres données cartographiques pour créer une petite carte interactive sur un site Web.

De plus, comme il s'agit d'une API, Google peut contrôler l'accès à Google Maps sur des sites Web tiers, en s'assurant qu'ils l'utilisent de manière cohérente plutôt que d'essayer d'incorporer de manière désordonnée un cadre montrant le site Web de Google Maps, par exemple.

Cela s'applique à de nombreux services en ligne différents. Il existe des API permettant de demander la traduction de texte à partir de Google Traduction ou d'incorporer des commentaires Facebook ou des tweets de Twitter sur un site Web.

CONNEXE: Qu'est-ce que la norme OAuth? Comment fonctionnent ces boutons de connexion Facebook, Twitter et Google


La norme OAuth définit également un certain nombre d’APIs qui vous permettent de vous connecter à un site Web avec un service tiers, par exemple, d’utiliser vos comptes Facebook, Google ou Twitter pour vous connecter à un nouveau site Web sans créer de compte utilisateur uniquement pour ce site. . Les APIs sont des contrats standard qui définissent la manière dont les développeurs communiquent avec un service et définissent le type de sortie que ces développeurs doivent recevoir.

Arrivés ici, vous avez donc une meilleure idée de ce qu'est une API. En fin de compte, vous n'avez pas vraiment besoin de savoir ce qu'est une API, sauf si vous êtes développeur. Toutefois, si vous voyez qu'une plate-forme logicielle ou un service a ajouté de nouvelles API pour divers matériaux ou services, il devrait être plus facile pour les développeurs de tirer parti de ces fonctionnalités.

Crédit d'image: patpitchaya /Shutterstock.com.

https://www.howtogeek.com/343877/what-is-an-api/

Aucun commentaire: