Share to: share facebook share twitter share wa share telegram print page

API Web

Capture d'écran de la documentation de l'API Web de la NASA

Une API Web est une interface de programmation d'application (API) pour un serveur Web ou un navigateur Web. En tant que concept de développement Web, il peut être lié au côté client d'une application Web (y compris à travers un framework web).

Côté client

Une API Web côté client est une interface de programmation permettant d'étendre les fonctionnalités d'un navigateur Web ou d'un autre client HTTP. À l'origine, celles-ci se présentaient le plus souvent sous la forme d'extensions de navigateur natives, mais la plupart des API les plus récentes se basent sur des appels JavaScript standardisées.

La Fondation Mozilla a créé sa spécification d'API Web qui est conçue pour aider à remplacer les applications mobiles natives par des applications HTML5[1],[2].

Google a créé son architecture Native Client qui est conçue pour aider à remplacer les plug-ins natifs non sécurisés par des extensions et des applications natives sécurisées en bac à sable. Ils l'ont également rendu portable en utilisant un compilateur LLVM AOT modifié.

Côté serveur

Une API Web côté serveur est servie au moyen d'un serveur Web basé sur HTTP. Elle se compose d'un ou plusieurs points d'accès exposés publiquement répondant avec des données, généralement exprimé en JSON ou XML. Une API serveur (SAPI) n'est pas considérée comme une API Web côté serveur, sauf si elle est publiquement accessible par une application Web distante.

Les applications composites sont des applications Web qui combinent l'utilisation de plusieurs API Web côté serveur[3],[4],[5]. Les webhooks sont des API Web côté serveur qui prennent en entrée un identificateur de ressource uniforme (URI) conçu pour être utilisé comme un canal nommé distant ou un type de rappel tel que le serveur agit en tant que client pour déréférencer l'URI fourni et déclencher un événement sur un autre serveur qui gère cet événement fournissant ainsi un type d'IPC peer-to-peer.

Points d'accès

Les points d'accès sont des aspects importants de l'interaction avec les API Web côté serveur, car ils spécifient où se trouvent les ressources accessibles par des logiciels tiers. Généralement l'accès se fait via une URI sur laquelle sont postées les requêtes HTTP, et dont la réponse est donc attendue. Les API Web peuvent être publiques ou privées, cette dernière nécessitant un jeton d'accès.

Les terminaux doivent être statiques, sinon le bon fonctionnement des logiciels qui interagissent avec eux ne peut être garanti. Si l'emplacement d'une ressource change (et avec lui le point de terminaison), alors le logiciel précédemment écrit tombera en panne, car la ressource requise ne peut plus être trouvée au même endroit. Comme les fournisseurs d'API souhaitent toujours mettre à jour leurs API Web, beaucoup ont introduit un système de gestion des versions dans l'URI qui pointe vers un point de terminaison.

Ressources contre services

Les API Web Web 2.0 utilisent souvent des interactions machine telles que REST et SOAP. Les API Web RESTful utilisent des méthodes HTTP pour accéder aux ressources via des paramètres encodés en URL et utilisent JSON ou XML pour transmettre des données. En revanche, les protocoles SOAP sont normalisés par le W3C et imposent l'utilisation de XML comme format de charge utile, généralement via HTTP. De plus, les API Web basées sur SOAP utilisent la validation XML pour garantir l'intégrité structurelle des messages, en tirant parti des schémas XML fournis avec les documents WSDL. Un document WSDL définit avec précision les messages XML et les liaisons de transport d'un service Web.

Documentation

Les API Web serveur sont des interfaces permettant au monde extérieur d'interagir avec la logique métier. Pour de nombreuses entreprises, cette logique commerciale interne et la propriété intellectuelle qui y est associée sont ce qui les distingue des autres entreprises et potentiellement ce qui leur donne un avantage concurrentiel. Ils ne veulent pas que ces informations soient exposées.

Cependant, il existe désormais des répertoires d'API Web côté serveur documentées populaires[6]. Il existe également des standards qui permettent d'universaliser les APIs, permettant d'accéder aux APIs sans consulter au préalable une documentation. Le W3C a notamment publié les standards Solid dans ce sens.

Croissance et impact

Le nombre d'API Web disponibles n'a cessé d'augmenter au cours des dernières années, à mesure que les entreprises réalisent les opportunités de croissance associées à l'exécution d'une plate-forme ouverte, avec laquelle tout développeur peut interagir. ProgrammableWeb suit plus de 24 000 API Web disponibles en 2022, contre 105 en 2005[7].

Les API Web sont devenues omniprésentes. Il existe peu d'applications/services logiciels majeurs qui n'offrent pas une certaine forme d'API Web. L'une des formes les plus courantes d'interaction avec ces API Web consiste à intégrer des ressources externes, telles que des tweets, des commentaires Facebook, des vidéos YouTube, etc. En fait, il existe des entreprises très prospères, telles que Disqus, dont le service principal est de fournir des outils intégrables, tels qu'un système de commentaires riche en fonctionnalités[8]. Tout site Web du TOP 100 des sites Web classés par Alexa Internet utilise des API et/ou fournit ses propres API, ce qui est un indicateur très distinct de l'échelle prodigieuse et de l'impact des API Web dans leur ensemble[9].

À mesure que le nombre d'API Web disponibles augmentait, des outils open source ont été développés pour fournir une recherche et une découverte plus sophistiquées. APIs.json fournit une description lisible par machine d'une API et de ses opérations, et le projet connexe APIs.io propose une liste publique consultable d'API basée sur le format de métadonnées APIs.json[10],[11].

En entreprise

Entreprises privées

De nombreuses entreprises et organisations s'appuient fortement sur leur infrastructure d'API Web pour servir leurs principaux clients commerciaux. En 2014, Netflix a reçu environ 5 milliards de demandes d'API, la plupart au sein de son API privée[12].

Gouvernements

De nombreux gouvernements collectent beaucoup de données, et certains gouvernements ouvrent désormais l'accès à ces données. Les interfaces par lesquelles ces données sont généralement rendues accessibles sont les API Web. Les API Web permettent à tout développeur d'accéder de manière pratique à des données telles que "les données budgétaires, les travaux publics, la criminalité, les données juridiques et autres"[13].

Exemple

Un exemple d'API Web populaire est l'API Astronomy Picture of the Day exploitée par l'agence spatiale américaine NASA. Il s'agit d'une API côté serveur utilisée pour récupérer des photographies de l'espace ou d'autres images d'intérêt pour les astronomes, ainsi que des métadonnées sur les images.

Selon la documentation de l'API[14], l'API a un point de terminaison :

https://api.nasa.gov/planetary/apod

La documentation indique que ce point de terminaison accepte les requêtes GET. Il nécessite une information de l'utilisateur, une clé API, et accepte plusieurs autres informations facultatives. Ces éléments d'information sont appelés paramètres. Les paramètres de cette API sont écrits dans un format connu sous le nom de chaîne de requête, qui est séparé par un point d'interrogation ( ? ) du point de terminaison. Une esperluette ( & ) sépare les paramètres de la chaîne de requête les uns des autres. Ensemble, le point de terminaison et la chaîne de requête forment une URL qui détermine la manière dont l'API répondra. Cette URL est également connue sous le nom de requête ou d' appel d'API.

Dans l'exemple ci-dessous, deux paramètres sont transmis (ou transmis) à l'API via la chaîne de requête. Le premier est la clé API requise et le second est un paramètre facultatif - la date de la photographie demandée.

https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&date=1996-12-03

La visite de l'URL ci-dessus dans un navigateur Web lancera une requête GET, appelant l'API et affichant à l'utilisateur un résultat, appelé valeur de retour. Cette API renvoie JSON, un type de format de données destiné à être compris par les ordinateurs, mais qui est également assez facile à lire pour un humain. Dans ce cas, le JSON contient des informations sur une photographie d'une naine blanche :

{
 "date":"1996-12-03",
 "explanation":"Like a butterfly,\r a white dwarf star begins its life\r by casting off a cocoon that enclosed its former self. In this\r analogy, however, the Sun would be\r a caterpillar\r and the ejected shell of gas would become the prettiest of all!\r The above cocoon, the planetary nebula\r designated NGC 2440, contains one of the hottest white dwarf stars known.\r The white dwarf can be seen as the bright dot near the photo's\r center. Our Sun will eventually become a \"white dwarf butterfly\",\r but not for another 5 billion years. The above false color image recently entered the public domain\r and was post-processed by F. Hamilton.\r",
 "hdurl":"https://apod.nasa.gov/apod/image/9612/ngc2440_hst2_big.jpg",
 "media_type":"image",
 "service_version":"v1",
 "title":"Cocoon of a New White Dwarf\r\nCredit:",
 "url":"https://apod.nasa.gov/apod/image/9612/ngc2440_hst2.jpg"
}

Le retour d'API ci-dessus a été reformaté afin que les noms des éléments de données JSON, appelés clés, apparaissent au début de chaque ligne. La dernière de ces clés, nommée url, indique une URL qui pointe vers une photographie :

https://apod.nasa.gov/apod/image/9612/ngc2440_hst2.jpg

En suivant l'URL ci-dessus, un utilisateur de navigateur Web verrait cette photo :

Cocoon of a New White Dwarf

Bien que cette API puisse être appelée par un utilisateur final avec un navigateur Web (comme dans cet exemple), elle est destinée à être appelée automatiquement par un logiciel ou par des programmeurs informatiques lors de l'écriture d'un logiciel. Le JSON est destiné à être parsé par un programme informatique, qui en extrairait l'URL de la photographie et les autres métadonnées. La photo résultante peut être intégrée à un site Web, envoyée automatiquement par SMS ou utilisée à toute autre fin envisagée par un développeur de logiciel.

Voir aussi

Références

  1. « Mozilla's WebAPI Wants to Replace Native Apps With HTML5 | Webmonkey | Wired.com » [archive du ], (consulté le )
  2. Mozilla WebAPI Wiki
  3. (en-US) « What is mash-up? - Definition from WhatIs.com », WhatIs.com (consulté le )
  4. « Mashup Dashboard », ProgrammableWeb.com, (consulté le )
  5. (en-US) Maximilien, Ranabahu et Gomadam, « An Online Platform for Web APIs and Service Mashups », IEEE Internet Computing, vol. 12, no 5,‎ sep–oct 2008, p. 32–43 (DOI 10.1109/MIC.2008.92, S2CID 14949046)
  6. « API Directory », ProgrammableWeb (consulté le )
  7. « API Directory | ProgrammableWeb », sur web.archive.org, (consulté le )
  8. « Disqus – The Web's Community of Communities », Disqus (consulté le )
  9. « Alexa Top 500 Global Sites », www.alexa.com (consulté le )
  10. « APIs.json », apisjson.org (consulté le )
  11. « APIs.io - the API search engine », apis.io (consulté le )So make it clearly understandable & share your knowledge.
  12. (en) « Top 10 Lessons Learned from the Netflix API - OSCON 2014, Slide 73 »,
  13. « Tech Trends 2015, API economy », Deloitte University Press (consulté le )
  14. « Astronomy Picture of the Day », NASA APIs

Bibliographie

Read other articles:

عزبة سعد داود  -  قرية مصرية -  تقسيم إداري البلد  مصر المحافظة محافظة البحيرة المركز الدلنجات المسؤولون السكان التعداد السكاني 708 نسمة (إحصاء 2006) معلومات أخرى التوقيت ت ع م+02:00  تعديل مصدري - تعديل   قرية عزبة سعد داود هي إحدى القرى التابعة لمركز الدلنجات في مح

Untuk tokoh Perjanjian Baru, lihat Menahem dari Antiokhia. MenahemRaja IsraelMenahem pada Promptuarii Iconum Insigniorum karya Guillaume RouilléPendahuluSalum bin YabeshPenerusPekahya bin Menahem Menahem (Ibrani: מְנַחֵם Menaẖem, Menạḥēm, Menachem, artinya Penghibur; bahasa Akkadia:

For the high performance sport coupé versions, see Toyota Sprinter Trueno. For the 4-door hardtop sedan version, see Toyota Sprinter Marino. For the all-wheel drive wagons version, see Toyota Sprinter Carib. Motor vehicle Toyota SprinterToyota Sprinter 1.6 GT sedan (AE92)OverviewManufacturerToyotaProductionApril 1968 – July 2002[1][2]ChronologySuccessorToyota Allex (for Sprinter)Toyota Probox (for Sprinter van/business wagon) The Toyota Sprinter (Japanese: トヨタ・スプ

American actor Charley FoyBornCharles J. Fitzgerald(1898-06-12)June 12, 1898New York City, United StatesDiedAugust 22, 1984(1984-08-22) (aged 86)Los Angeles, California, United StatesOccupationActorYears active1915–55SpouseGrace Hayes (1929-34 d.) Charley Foy (June 12, 1898 – August 22, 1984) was an American actor of both the vaudeville stage and film. Son of Eddie Foy Sr., he was one of the famous The Seven Little Foys, the seven children of the senior Foy, who joined him on stage…

コトシーヒンの著作の手稿 グリゴリー・カルポヴィチ・コトシーヒン(英語: Grigory Karpovich Kotoshikhin、ロシア語: Григорий Карпович Котошихин, tr. Grigoriy Karpovich Kotoshikhin)、1630年頃 - 1667年11月)は、ロシア・ツァーリ国の外交官、ポソルスキのプリカースのポジャーチ(英語版)、作家。 生涯 グリゴリー・コトシーヒンは1658年から1661年まで、スウェーデン

Doña Paz beralih ke halaman ini. Untuk marga, lihat Paz (disambiguasi). Untuk gelar Maria, lihat Bunda Perdamaian. Don Sulpicio beralih ke halaman ini. Untuk santo, lihat Saint-Sulpice (disambiguasi). MV Doña Paz Doña Paz berlabuh di Tacloban tahun 1984. Sejarah Jepang Nama Himeyuri MaruPemilik RKK LineRegistrasi KagoshimaPembangun Onomichi DockyardNomor galangan 118Diluncurkan 25 April 1963Nasib Dijual ke Sulpicio Lines Filipina Nama Don SulpicioPemilik Sulpicio LinesRegistrasi ManilaRute Ta…

此條目翻譯品質不佳。 (2023年11月2日)翻譯者可能不熟悉中文或原文語言,也可能使用了機器翻譯。請協助翻譯本條目或重新編寫,并注意避免翻译腔的问题。明顯拙劣的翻譯請改掛{{d|G13}}提交刪除。 玻利維亞多民族國西班牙語:Estado Plurinacional de Bolivia 國旗 国徽 格言:團結就是力量西班牙語:La Unión es la Fuerza!国歌:Himno Nacional del Estado Plurinacional de Bolivia《玻利维亚国歌

City in Missouri, United StatesBlue Springs, MissouriCityMotto: City of CooperationLocation of Blue Springs, MissouriCoordinates: 39°1′4″N 94°16′28″W / 39.01778°N 94.27444°W / 39.01778; -94.27444CountryUnited StatesStateMissouriCountyJacksonIncorporated1880Founded1845Government • MayorCarson Ross (R) • City ClerkSheryl Morgan • City AdministratorOpen • City AttorneySarah CarnesArea[1] • T…

Untuk kegunaan lain, lihat Miracle in Cell No. 7. Miracle in Cell No. 7Sutradara Mehmet Ada Öztekin ProduserSinan TuranSaner AyarDitulis olehÖzge EfendioğluKubilay TatSkenarioÖzge EfendioğluKubilay TatBerdasarkanMiracle in Cell No. 7 (2013)oleh Lee Hwan-kyungPemeranAras Bulut İynemli Nisa AksongurDeniz Baysalİlker AksumPenata musikHasan ÖzsütIşıl ÖzsütPerusahaanproduksiMotion Content GroupLanistar MedyaDistributorCJ Entertainment TurkeyTanggal rilis 11 Oktober 2019 (2019-…

منارة رأس بن غوت   الموقع دلس، ولاية بومرداس، الجزائر إحداثيات 36°55′19″N 3°53′34″E / 36.92194°N 3.89278°E / 36.92194; 3.89278  الارتفاع 28.9 متر  ارتفاع بؤري 63 متر  نطاق المنارة 29 ميل بحري  صفات الضوء Fl(4) W 15s  رقم الأميرالية E6592  تعديل مصدري - تعديل   منارة رأس بن غوت أ

Сипахитур. Sipahi Тип телесеріал Телеканал(и) Show TVЖанр бойовикТривалість серії 140 хв.Компанія CNP FilmСценарист Алі ДоганчайРежисер Гокан Інан Доган Уміт КараджаПродюсери Мехмет Канполат Саді КанполатУ головних ролях Каан Йилдирим Озге Гюрель Керем Алишик Сінан Тузджу Ерка

Station of the Istanbul Metro This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: Kirazlı Istanbul Metro – news · newspapers · books · scholar · JSTOR (June 2016) KirazlıIstanbul Metro rapid transit complexThe M3 platform.General informationCoordinates41°01′52″N 28°50′31″E / þ…

Опис файлу Обґрунтування добропорядного використання для статті «Ворошиловський стрілець» [?] Опис Фотографія радянської відзнаки значка Ворошиловський стрілець Джерело falerist.org Автор Невідомий фотограф Час створення Невідомо Мета використання Це зображення (ме…

Organization Asian Handball FederationAHFSportHandballOther sportsBeach handballOfficial websitewww.asianhandball.orgHistoryYear of formation26 August 1974; 49 years ago (1974-08-26)at Tehran, Imperial State of Iran DemographicsMembership size44 MembersAffiliationsInternational federationInternational Handball Federation (IHF)IHF member since1974Other affiliation(s)Olympic Council of AsiaGovernancePresident Yoshihide Watanabe (acting)1st Vice-President Yoshihide WatanabeSecreta…

American actress (1930–1991) Julie BovassoBovasso in 1956BornJulia Anne Bovasso[1]August 1, 1930Brooklyn, New York, U.S.DiedSeptember 14, 1991(1991-09-14) (aged 61)New York City, U.S.OccupationActressYears active1958–1991SpouseGeorge Earl Ortman Julia Anne Bovasso (August 1, 1930 – September 14, 1991) was an American actress of stage, screen, and television. Life and career Bovasso was born in Brooklyn, New York and raised in the Bensonhurst neighborhood of this borough, …

British civil servant (born 1919) Henry JamesDowning Street Press SecretaryIn office1979–1979Prime MinisterMargaret ThatcherPreceded bySir Tom McCaffreySucceeded byBernard Ingham Personal detailsBornHenry James(1919-12-12)12 December 1919Alum Rock, BirminghamDied10 November 1998(1998-11-10) (aged 78)Richmond, SurreySpouse Sylvia Bickell ​(m. 1949)​ChildrenNoneEducationKing Edward VI SchoolAlma materThe University of BirminghamOccupationCivil servant Henry Jame…

Admiral of the navy of the Ottoman Empire Hayreddin Barbarossa, Kapudan Pasha of the Ottoman Navy. The Kapudan Pasha (Ottoman Turkish: قپودان پاشا, modern Turkish: Kaptan Paşa), also known as the Kapudan-ı Derya (Ottoman Turkish: قپودان دریا, modern: Kaptan-ı Derya, Captain of the Sea) was the Grand Admiral of the navy of the Ottoman Empire. Typically, he was based at Galata and Gallipoli during the winter and charged with annual sailings during the summer months.[1 …

Hoa là cơ quan sinh sản ở nhiều loài thực vật. Trong sinh học, cơ quan là tập hợp các mô cùng thực hiện một chức năng chung.[1] Tập hợp các cơ quan theo một hệ thống được gọi là hệ cơ quan. Ở thực vật, các cơ quan chính là rễ, thân, lá, cơ quan sinh sản. Ở động vật, có các hệ tiêu hóa, hệ hô hấp, hệ sinh sản... Đối với các động vật đơn bào, các phần thực hiện một chức n…

Village in Ontario, CanadaOil SpringsVillage (lower-tier)Village of Oil SpringsNickname: Canada’s Premier Oil TownOil SpringsShow map of Lambton CountyOil SpringsShow map of Southern OntarioCoordinates: 42°47′N 82°07′W / 42.783°N 82.117°W / 42.783; -82.117Country CanadaProvince OntarioCountyLambtonSettled1850sIncorporated1865Government • MayorIan Veen • Federal ridingSarnia—Lambton • Prov. ridingSarnia—Lambt…

زلزال كشمير 2019 معلومات التاريخ 24 سبتمبر 2019 البلد باكستان  الوقت 11:02 UTC الحجم 5.8 MW العمق 10 كـم (6.2 ميل) إحداثيات 33°06′22″N 73°45′58″E / 33.106°N 73.766°E / 33.106; 73.766  القوة 5.9 (مقياس درجة العزم)  النتائج الخسائر البشرية 26 قتيل، 300 جريح الوفيات 40   الإصابات 850   المنا…

Kembali kehalaman sebelumnya