Il est hautement improbable qu'une unique application même élaborée soit capable d'offrir à elle seule toutes les fonctions nécessaires. Au contraire, elle doit communiquer et interagir avec d'autres parties d'autres logiciels afin d'obtenir des données, les traiter et les renvoyer ailleurs. Cela devient particulièrement vrai pour n'importe quelle partie de logiciel qui dépend d'Internet pour fonctionner. Afin de standardiser ces interactions, les logiciels doivent implémenter des API (Application Programming Interface, interface de programmation) qui définissent les types exacts d'entrée et de sorties qu'ils peuvent générer.
Les API web sont les moyens avec lesquels les programmeurs externes peuvent créer de nouveaux outils pour utiliser un site web et ses services, à côté de ce que propose le site lui-même via un navigateur internet. Ils peuvent également autoriser un réseau de services indépendant à se communiquer mutuellement des informations. Des exemples bien connus sont des applications pour téléphones mobiles pour poster des photos, billets de blogs, ou tweets vers un site web sans avoir à charger à chaque fois un navigateur complet.
Parfois, un propriétaire de services fournit une API pour que « les autres » puissent faire des activités dans le service, et pouvoir accéder en échange aux utilisateurs et donc aux données des utilisateurs. Cela enrichit à la fois le propriétaire de l'API et le développeur de l'API, c'est donc une stratégie régulièrement utilisée qui génère un flot continu de développeurs tiers avides d'aller vers Facebook, l'app Store de Apple et d'autres plateformes populaires propriétaires.
En apparence, un site web qui publie une API et qui autorise les autres sites web et applications à se connecter à ses services donne à priori une impression de web ouvert. Pour certains, l'existence des API donne l'impression de permettre aux développeurs (et par extension aux utilisateurs) d'avoir plus de choix pour interagir avec leur services en ligne favoris. Les API permettent également aux développeurs de construire de nouvelles applications qui viennent s'ajouter aux services en ligne.
Tandis que les API Web ont leur propres droits définis publiquement, elles sont loin des standards au sens strict, notamment les standards ouverts et publics mis en place par une entité neutre comme le World Wide Web Consortium (W3C). En effet, ces API sont créées au bon vouloir des sites web qui les fournissent. Elles peuvent changer à tout moment, et on ne peut pas garantir qu'elles vont fournir une fonctionnalité dont l'utilisateur a besoin ou qu'il souhaite.
Il n'y a généralement pas de méthode facile pour utiliser sur un autre site un programme créé avec l'API particulière d'un site. Par exemple, l'ordinateur client qui utilise un logiciel pour la radio en ligne last.fm ne sert pas de miroir à d'autres services de musique du genre Pandora (N.D.T : n'existe que aux USA) ou encore Spotify1. En d'autres termes les API n'utilisent pas des standards publiquement contrôlés pour transférer les données, et le plus souvent, les développeurs doivent programmer des applications nouvelles pour chaque plateforme. Les exceptions sont les API construites sur des CMS (Content Management Systems) open-source populaires comme Wordpress, MediaWiki ou Drupal ; cela permet de faire fonctionner l'API sur quasiment tous les sites qui l'utilisent.
Un exemple parmi d'autres, un écosystème entier de sites webs et applications tierces s'est développé autour de l'API de Twitter. Au point que l'entreprise a découvert que 75% de son trafic vient de ses API. Alors que cela a permis aux utilisateurs d'avoir un éventail de choix sur la manière de recevoir et envoyer des messages sur Twitter, cela a mis les utilisateurs et les développeurs à la merci d'une seule entreprise qui fournit le service : Twitter. Gardez à l'esprit qu'elle n'a aucune obligation contractuelle de continuer à rendre son API disponible pour tous. Si elle bloque l'accès à l'API, toutes les entreprises et les utilisateurs qui ont pris appui dessus seront dans un sacré pétrin.
There has been error in communication with Booktype server. Not sure right now where is the problem.
You should refresh this page.