Assiste.com
cr 01.04.2012 r+ 22.10.2024 r- 22.10.2024 Pierre Pinard. (Alertes et avis de sécurité au jour le jour)
Sommaire (montrer / masquer) |
---|
API = Application Programming Interface (Interface de Programmation Applicative)
Une API est une interface entre un logiciel qui demande un service et un autre logiciel qui offre le service. Le logiciel qui offre le service peut être local (bibliothèque de services) ou distant (service Web). Une API sert à exposer à un demandé (un logiciel/service) les capacités du demandeur (appareil, système d'exploitation, etc.) afin que le demandeur puisse exploiter une ou des capacités et caractéristiques du demandé sans entrer dans les arcanes du demandé.
L'aspect Web (service Web) participe du concept général du DRY ("Don't Repeat Yourself" - « Ne vous répétez pas »). Au lieu d'avoir une fonction répétée des milliards de fois sur des milliards d'ordinateurs ou objets connectés, avec tous les problèmes de mises à jour et d'homogénéité, il n'y a plus qu'un seul exemplaire de la fonction, sur un seul serveur, et les milliards d'ordinateurs utilisent juste une API pour solliciter la fonction (sur le Web) qui retourne sa réponse (qui rend un service). Mais ces ordinateurs distants, pompeusement appelés d'un nom « vendeur » et « ronflant », les « clouds », ne sont que des ordinateurs :
appartenant à on ne sait qui,
se trouvant on ne sait où (dont les risques juridiques),
que l'on ne maîtrise pas.
Chaque appel à une API déportée fait l'objet d'un tracking (des raisons statistiques sont avancées, mais les autres raisons sont passées sous silence, dont les injonctions faites aux opérateurs du Web par les officines obscures qui ont conduit à, par exemple, Prism et Cie).
Au lieu d'avoir, dans un seul ordinateur, des fonctions standard répétées partout, dans chaque programme qui en a besoin, on les développe une bonne fois pour toutes et on les met à disposition des programmes qui appellent ces fonctions, par une API, en lui passant les arguments sur lesquels la fonction doit travailler pour rendre un résultat. Tous les Frameworks sont de cette nature.
Ce n'est pas nouveau. Dans un développement de programmation « propre » (antonyme de « brouillon », mal écrit, indéchiffrable, impossible à maintenir sur les 10, 20 ou 50 ans de durée de vie d'un programme, bordélique, etc. ...), les « routines » sont développées séparément et structurées. Cela est plus facile à maintenir, documenter, utiliser et réutiliser, etc.
Au début des années 70, j'avais déjà mis très logiquement cela en place pour mes besoins personnels, car, dans des développements de plusieurs millions de lignes de code, apparaît très vite un besoin de rationalisation de l'écriture des programmes (pas de monolithisme, mais des assemblages de briques logicielles). Si ma mémoire est bonne, j'appelais ces appels aux services externes que j'avais développés, des « call blocks » (ce que l'on appellerait, aujourd'hui, des APIs). Le « call block » était, outre la désignation du programme externe appelé, un buffer (une zone mémoire) dont l'organisation (la structure) était dépendante du programme externe appelé (type de données, taille de chacune des données, etc. ...). Les arguments étaient passés et, si nécessaire, des résultats étaient récupérés au retour dans le même « call block ». Il est probable que toutes les équipes de développement de grands projets, au monde, faisaient la même chose à la même époque, sous je ne sais quels noms.
Un programmeur qui développe une application fenêtrée, sous Windows, ne développe jamais la programmation de l'interface graphique utilisateur (le GUI), mais passe, uniquement, des arguments aux fonctions graphiques de Windows. Ce sont des APIs. Windows est, entre autres choses, une vaste collection d'APIs grâce auxquelles un programmeur peut communiquer avec des couches techniques de Windows sans avoir à se préoccuper de leur écriture.
L'installation de VTZilla comporte l'usage d'une API pour solliciter le service VirusTotal. Mais ce « service », vous le « payez gratuitement » par le fait que le propriétaire du service VirusTotal, la société Google, surveille et note dans ses infinies mémoires (depuis le premier jour où vous vous êtes connecté sur le Web), tout ce que vous manipulez (les programmes, images, fichiers, sites Internet, URLs, etc.), à chaque instant, afin de savoir à quoi vous vous intéressez). Si quelqu'un regardait par-dessus votre épaule, 24/24, 365/365, ce que vous faites sur votre smartphone, tablette, ordinateur, réfrigérateur, voiture, GPS, etc. vous lui ficheriez votre poing dans la figure ! Et bien, sur le Web, ils sont des dizaines en même temps à vous suivre/surveiller/espionner, 24/24, 365/365, et tout le monde s'en fiche ! C'est là le problème des APIs comme de tout ce qui fait une requête HTTP tant que ces requêtes resteront des chevaux de Troie.
Les « requêtes HTTP » sont le « cheval de Troie » |
Lorsque vous regardez la page sur la commune Saint-Laurent-du-Var, le dessin de la carte (Google Maps) et votre déplacement sur cette carte sont appelés par une simple API écrite dans la page Web visitée, tout le reste est un service Web distant. Encore un service de Google que « vous payez gratuitement ».
Le gratuit, ça n'a pas de prix, mais ça a un coût !
Lorsque le produit est gratuit, c'est que vous êtes le produit.
Lorsque le service est gratuit, c'est que vous êtes le service.
La multiplication du déport des fonctions locales vers des « services Web » simplifie certaines actions (maintenance, mise à jour homogène pour tous les utilisateurs du monde en même temps, etc.), mais universalise la surveillance et le tracking, raisons pour lesquelles le principe des « Web applications » est poussé, en même temps que les Clouds.
L'appel à un service externe (un service se trouvant sur un serveur distant, dont on ne connaît ni la géolocalisation ni les intentions de l'opérateur), nécessite une ou des requêtes HTTP (et leurs entêtes) porteuses de révélations sur les faits et gestes des internautes.
Les navigateurs Web se vident de plus en plus des actions locales au profit d'actions déportées appelées avec des APIs. Ceci va de pair avec les tentatives industrielles de nous vendre ce que nous n'avons pas encore (principe industriel et commercial de créer le besoin) - des tablettes et smartphones : sortes d'ordinateurs :
Typiquement, l'abandon des plug-ins dans les navigateurs Web (les plug-ins dans l'ordinateur de l'internaute), pour les remplacer par des services Web (et des APIs pour les solliciter) universalise définitivement la surveillance et le tracking de la totalité des internautes du monde, ce que les acteurs avaient commencé à faire avec leurs principes d'encerclement.
|
Les encyclopédies |
---|