Vous avez probablement vu le terme "API" apparaître. Le système d'exploitation, le navigateur Web et les mises à jour d'applications annoncent souvent de nouvelles API pour les développeurs. Mais qu'est-ce qu'une API?
Le terme API est un acronyme, et signifie "Application Programming Interface".
Pensez à une API comme 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 voulez, la cuisine du restaurant fait le travail et vous fournit quelques plats finis. Vous ne savez pas exactement comment le restaurant prépare cette nourriture, et vous n'avez pas vraiment besoin de le faire.
De même, une API répertorie un tas d'opérations que les développeurs peuvent utiliser, ainsi qu'une description de ce qu'ils font. 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 qu'il est disponible pour une utilisation dans leur application.
Ce n'est pas une métaphore parfaite, car les développeurs peuvent devoir fournir leurs propres données à l'API pour obtenir les résultats, alors c'est peut-être plus un restaurant chic où vous pouvez fournir certains de vos propres ingrédients avec lesquels la cuisine travaillera.
Mais c'est globalement exact. Les API permettent aux développeurs de gagner du temps en tirant parti de l'implémentation d'une plate-forme pour effectuer le travail de base. Cela permet de réduire la quantité de code que les développeurs doivent créer et permet également de créer plus de cohérence entre les applications pour la même plate-forme. Les API peuvent contrôler l'accès aux ressources matérielles et logicielles.
Supposons que vous souhaitiez développer une application pour iPhone. Le système d'exploitation iOS d'Apple fournit un grand nombre d'API, 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 ne le faites pas. Je dois programmer votre propre navigateur Web à partir de rien pour votre application. Vous utilisez l'API WKWebView pour intégrer un objet navigateur WebKit (Safari) dans votre application.
Si vous souhaitez capturer des photos ou des vidéos depuis l'appareil photo de l'iPhone, vous n'avez pas besoin d'écrire votre propre interface. Vous utilisez l'API de l'appareil photo pour intégrer l'appareil photo intégré de l'iPhone dans votre application. Si les API n'existaient pas pour rendre cela facile, 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 du système 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 ensuite continuer à construire leur application. De plus, lorsqu'Apple améliore l'API de l'appareil photo, toutes les applications qui en dépendent profiteront automatiquement de cette amélioration.
Cela s'applique à toutes les plates-formes. Par exemple, voulez-vous créer une boîte de dialogue sur Windows? Il y a une API pour ça. Voulez-vous soutenir l'authentification par empreintes digitales sur Android? Il existe également une API pour cela, vous n'avez donc pas besoin de tester le capteur d'empreintes digitales de tous les fabricants Android. Les développeurs n'ont pas besoin de réinventer la roue.
Les API sont également utilisées pour contrôler l'accès aux périphériques matériels et aux fonctions logicielles qu'une application n'est pas nécessairement autorisée à utiliser. C'est pourquoi les API jouent souvent un rôle important dans la sécurité.
CONNEXION: Comment empêcher les sites Web de demander votre position
Par exemple, si vous avez déjà visité un site Web et vu un message dans votre navigateur le site Web demande à voir votre emplacement précis, ce site Web tente d'utiliser l'API de géolocalisation dans votre navigateur Web. Les navigateurs Web exposent les API de cette manière pour que les développeurs Web puissent facilement accéder à votre position: ils peuvent simplement demander «où êtes-vous?» Et le navigateur fait un travail acharné pour accéder au GPS ou aux réseaux Wi-Fi proches.
Cependant, les navigateurs exposent également ces informations via une API car il est possible de contrôler l'accès à celles-ci. Lorsqu'un site Web veut accéder à votre emplacement physique exact, la seule façon de l'obtenir est via l'API de localisation. Et, lorsqu'un site Web essaie de l'utiliser, vous-l'utilisateur-pouvez choisir d'autoriser ou de refuser cette demande. La seule façon d'accéder à des ressources matérielles telles que le capteur GPS est de passer par l'API, afin que le navigateur puisse contrôler l'accès au matériel et limiter ce que les applications peuvent faire.
Ce même principe est utilisé sur les systèmes d'exploitation mobiles modernes comme iOS et Android, où les applications mobiles ont des autorisations qui peuvent être appliquées en contrôlant l'accès aux API. 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.
Systèmes de fichiers utilisant des autorisations et Linux: ces autorisations sont 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 également utilisées pour toutes sortes d'autres raisons. Par exemple, si vous avez déjà vu un objet Google Maps incorporé sur un site Web, ce dernier utilise l'API Google Maps pour intégrer cette carte. Google propose des API comme celle-ci aux développeurs Web, qui peuvent ensuite utiliser les API pour placer des objets complexes directement sur leur site Web. Si de telles API n'existaient pas, les développeurs pourraient devoir créer leurs propres cartes et fournir leurs propres données cartographiques simplement pour mettre une petite carte interactive sur un site Web.
Et, parce que c'est une API, Google peut contrôler l'accès à Google Effectue des mises en correspondance sur des sites Web tiers, en veillant à les utiliser de manière cohérente plutôt que d'essayer d'incorporer un cadre affichant le site Web 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'intégrer des commentaires ou des tweets Facebook sur Twitter sur un site Web.
CONNEXION: Qu'est-ce que OAuth? Fonctionnement des boutons Facebook, Twitter et Google
La norme OAuth définit également un certain nombre d'API qui vous permettent de vous connecter à un site Web avec un autre service, par exemple pour utiliser vos comptes Facebook, Google ou Twitter. pour vous connecter à un nouveau site Web sans créer de nouveau compte d'utilisateur uniquement pour ce site. Les API sont des contrats standard qui définissent la manière dont les développeurs communiquent avec un service, et le type de sortie que ces développeurs doivent s'attendre à recevoir.
Si vous avez compris cela, vous aurez 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 un développeur. Mais, si vous voyez une plate-forme logicielle ou un service a ajouté de nouvelles API pour divers matériels 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.
Qu'est-ce que le processus "commerce" et pourquoi fonctionne-t-il sur mon Mac?
Il existe actuellement un processus appelé "commerce" sur votre Mac. Vous pouvez le trouver en utilisant Activity Monitor, mais avec un nom générique comme ça, comment êtes-vous censé savoir ce qu'il fait? RELATED: Qu'est-ce que ce processus et pourquoi il fonctionne sur mon Mac? Cet article fait partie de notre série en cours expliquant différents processus trouvés dans Activity Monitor, comme kernel_task, hidd, mdsworker, installd, WindowServer, blued, launchd, sauvegarde, opendirectoryd, powerd, coreauthd, configd, mdnsresponder, UserEventAgent, nsurlstoraged, et beaucoup d'autres .
Comment changer la couleur d'une pièce entière avec Philips Hue
Dans l'application Philips Hue, si vous appuyez sur une pièce, vous pouvez contrôler chaque ampoule séparément. Mais si vous voulez changer la couleur de toute une salle de lumières en une seule fois, il y a un raccourci rapide qui rend la chose facile à faire. Jusqu'à tout récemment, si vous vouliez changer la couleur de toutes les lumières d'un chambre, vous deviez changer la couleur de chaque ampoule séparément.