{{tag>dev web api rest}} Notes et transcriptions du cours "[[000_start|Adoptez les API REST pour vos projets web]]" disponible sur la plateforme [[https://openclassrooms.com|Openclassrooms]] ====== Adoptez les API REST : Quizz partie 1 ====== **Qu’est-ce qu’une API ?** (Plusieurs réponses possibles). - Un nouveau langage informatique - Un set de données qui circule entre différentes applications - Un intermédiaire entre un client et une base de données d’une application ou d’un logiciel - Un système pour communiquer entre clients et bases de données - Un nouveau protocole qui remplacera le protocole HTTP ++++ Réponse| Choix 3 et 4. Une API est une interface qui sert d’intermédiaire entre plusieurs logiciels. C’est aussi un groupe de règles que les développeurs s’engagent à respecter pour faciliter la communication entre plusieurs logiciels ou applications. Les requêtes sont effectuées par le client et permettent d’effectuer des actions sur la base de données. ++++ **Parmi les propositions, pour lesquelles utilisez-vous une API dite "publique" ?** (Plusieurs réponses sont possibles). - Obtenir les tweets de Barack Obama - Modifier le contenu de ce cours OpenClassrooms - Obtenir des données météorologiques pour une application de surf - Obtenir votre nom d’utilisateur sur votre profil GitHub ++++ Réponse| Choix 1,3 et 4. Impossible de modifier le contenu de ce cours sans aucune autorisation de la part d'OpenClassrooms : c’est la seule réponse fausse ! Pour le reste, il est tout à fait possible d’obtenir ces données publiquement. ++++ **Que pourrez-vous faire avec une API privée ?** (Plusieurs réponses sont possibles). - Obtenir les tweets de Barack Obama - Modifier les données de votre compte OpenClassrooms - Modifier le contenu de ce cours OpenClassrooms - Obtenir votre nom d’utilisateur de votre profil GitHub ++++ Réponse| Choix 2 et 3. Pour modifier vos données personnelles sur OpenClassrooms ou bien ce cours, il vous faudrait avoir des droits précis sur l’API : impossible de les modifier sans être authentifié. Ce sont donc les deux bonnes réponses. ++++ **Imaginons : vous construisez une API pour vos boulangeries. Vous voulez que les utilisateurs puissent trouver les boulangeries, accéder au menu et acheter vos croissants et vos différents pains. Lesquelles de ces URI seraient appropriées pour les ressources de votre API ?** (Plusieurs réponses possibles). - ''/bakeries'' - ''/bakeries/123/pastries'' - ''/bakeries/icecream'' - ''/bakeries/123'' ++++ Réponse| Choix 1,2 et 4. ''/bakeries'' liste les boulangeries, ''bakeries/123'' retourne une boulangerie particulière, ''bakeries/123/pastries'' retourne les viennoiseries de la boulangerie 123. Par contre, ''bakeries/icecream'' ne retourne rien de valide dans notre cas. ++++ **Si vous voulez que votre API retourne la liste des viennoiseries de votre boulangerie, quel serait le bon format XML ?** 1. croissant chausson aux Pommes 2. croissant pain au chocolat 3. croissant pain au chocolat 4. croissant pain au chocolat ++++ Réponse| Choix 2. Pour le format XML, on stocke entre crochets les valeurs. Ici, nous voulons lister les viennoiseries (pastries). Chaque ressource est listée au sein de la collection (pastries). La bonne réponse est la deuxième ! ++++ **Même question que la précédente mais cette fois-ci sous format JSON. Laquelle de ces réponses est la bonne ?** 1. { "pastries":[ { "name": "Croissant" }, { "name": "Pain au Chocolat" } ] } 2. { pastries:[ { name: Croissant }, { name: Pain au Chocolat }, ]} 3. "pastries": "name": "Croissant", "name": "Pain au chocolat" 4. { "pastries": { "name": "Croissant" }, { "name": "Pain au chocolat"} } ++++ Réponse| Choix 1. Le format JSON est un format “clé”: “valeur”, le tout entouré d’accolades. Si plusieurs éléments sont contenus dans une clé, on les stocke dans un array ou tableau. La bonne réponse est donc la première. Il manque les guillemets pour la deuxième, les accolades pour la troisième et les crochets pour la dernière. ++++ **Vous voulez construire un site qui liste les meilleurs bars d’une ville donnée 🍻 — vous décidez donc d’utiliser une API qui retourne les 10 meilleurs bars d’une ville. Laquelle de ces réponses est correcte et vous retourne les meilleurs bars pour Paris ?** - ''cities/bars'' - ''/cities/paris/bars'' - ''cities/bars/paris'' - ''paris/cities/bar'' - ''bars/cities/paris'' ++++ Réponse| Choix 2. Partons de la collection qui nous intéresse et précisons l’URI pas à pas. La collection qui nous intéresse est "cities". Nous avons besoin de la ville de Paris, puis nous cherchons les bars. Dans cet ordre, cela nous donne donc /cities/paris/bars. On obtient la liste des bars de la ville de Paris : réponse 2. ++++ **Parmi les propositions suivantes, lesquelles sont vraies concernant les API stateless ?** (Plusieurs réponses possibles). - Stateless signifie que vous pouvez utiliser n’importe quel type d’API : REST ou SOAP - Les API stateless retournent toutes les informations sur l’état d’une API afin d’améliorer sa mise à jour. - Une API stateless API signifie que toutes les informations nécessaires seront envoyées en une seule fois au sein de la requête. - Si une API est stateless, cela signifie que le serveur ne stocke pas en base de données les requêtes et réponses, ce qui rend plus facilement une API scalable sur plusieurs serveurs. ++++ Réponse| Choix 3 et 4. Une API stateless signifie que le serveur ne sauvegarde aucune des requêtes ou réponses précédentes. Toutes les informations doivent être envoyées dans une même requête pour faciliter la récupération d’une donnée précise. ++++ **Quelle est la différence entre une API REST et une API SOAP ?** (Plusieurs réponses possibles). - Une API SOAP est plus rapide et plus efficace qu’une API REST grâce à la manière dont sont encodées les données - REST est moins compliqué à utiliser que SOAP grâce au standard de communication via HTTP - SOAP est un protocole, tandis que REST est seulement un style architectural qui utilise le protocole HTTP ++++ Réponse| Choix 2 et 3.Contrairement à REST, SOAP est considéré comme un protocole, et non comme un style d’architecture. REST utilise le protocole HTTP et ses standards et utiliser principalement une URL contrairement à SOAP. ++++ **Laquelle de ces réponses est juste au sujet des collections ?** - Une collection est un type d’authentification - Une collection est un ensemble de normes qui définit les règles d’une API - Une collection est un groupe d’API privées utilisé au sein d’une entreprise - Une collection est un groupe de ressources - Une collection est l’ensemble des champs d’une ressource ++++ Réponse| Choix 4. Une collection est un groupe de ressources et s’écrit toujours au pluriel. Pour une ressource skateboard, une collection se nommerait "skateboards". ++++ **Laquelle de ces réponses est juste au sujet des ressources ?** - Une ressource est un type d’authentification - Une ressource est un ensemble de normes qui définit les règles d’une API - Une ressource est le cœur d’une API et contient des données que le client veut obtenir ou manipuler - Une ressource est un groupe de collections - Une ressource est l’ensemble des champs d’une collection ++++ Réponse| Choix 3. Une ressource est le coeur d’une API et représente la donnée que l’utilisateur va vouloir manipuler. On lui attribue un nom et est toujours au singulier. Pour une collection skateboards la ressource serait Skateboard. ++++ [[130_ressources_et_collections_rest|◁ Précédent]] | ⌂ [[000_start|Retour au sommaire]] | [[210_formuler_requetes_avec_postman|Suivant ▷]]