Qu'est-ce que API (interface de programmation d'application) ?

Ensemble de règles (noms des fonctions ou des opérations, arguments, valeurs de retour, formats de données, etc.) par lesquelles d'autres programmes appellent et utilisent les fonctions d'un logiciel. Exemples : les API des systèmes d'exploitation, les API des bibliothèques et les API web, qui échangent des données sur HTTP, comme les API REST. Les appelants n'ont pas besoin de connaître l'implémentation, et celle-ci peut être remplacée tant que l'API reste la même. L'accord équivalent au niveau du code machine s'appelle l'ABI.

Nom japonais: API

« API (interface de programmation d'application) » apparaît dans 9 questions d'entraînement réparties sur 4 thèmes, dont Bases des technologies web, Bases du cloud et des conteneurs, Cyberattaques et défense en pratique.

Domaine: Développement logiciel et gestion de projet

S'entraîner : questions sur API (interface de programmation d'application)

Un stockage cloud est utilisé pour trois usages : (1) le rattacher à une machine virtuelle comme disque, y créer un système de fichiers et y placer les fichiers de données d'une base de données ; (2) le monter depuis plusieurs serveurs en même temps et l'utiliser comme répertoire partagé ; (3) lire et écrire un grand nombre d'images par clé (nom) au moyen d'une API HTTP, et en augmenter la capacité sans la fixer à l'avance. Quelle association de types de stockage convient aux usages (1) à (3) ?

  1. A(1) stockage objet, (2) stockage en mode bloc, (3) stockage de fichiers
  2. B(1) stockage de fichiers, (2) stockage objet, (3) stockage en mode bloc
  3. C(1) stockage en mode bloc, (2) stockage de fichiers, (3) stockage objet
Afficher la réponse et l'explication

Réponse : C. (1) stockage en mode bloc, (2) stockage de fichiers, (3) stockage objet

Le stockage en mode bloc rattache à une machine virtuelle, comme disque virtuel, une zone de taille fixe ; on y crée un système de fichiers, et il convient à des usages comme les bases de données, qui effectuent rapidement de nombreuses petites lectures et écritures. Le stockage de fichiers fournit un système de fichiers partagé que plusieurs serveurs peuvent monter en même temps par NFS, SMB ou un protocole similaire. Le stockage objet lit et écrit les données sous forme d'objets entiers identifiés par des clés, au moyen d'une API HTTP ; sa capacité peut croître presque sans limite, et il convient aux images, aux sauvegardes et aux journaux. Il ne convient pas à la réécriture d'une partie d'un objet : on n'y place donc pas les fichiers de données d'une base de données.

Une API web renvoie des données au format JSON comme corps de sa réponse. Quel en-tête ajoute-t-on généralement à la réponse pour indiquer le format du corps ?

  1. AAccept: application/json
  2. BContent-Type: text/html
  3. CContent-Type: application/json
Afficher la réponse et l'explication

Réponse : C. Content-Type: application/json

Le type des données du corps est indiqué par l'en-tête Content-Type, dont la valeur est un type de média (type MIME) de la forme « type/sous-type », comme text/html ou image/png. Le type de média de JSON est application/json. JSON est un format texte qui représente les données par des paires nom-valeur et des tableaux, comme {"id": 42, "tags": ["a", "b"]} ; plus concis que XML et facile à manipuler depuis JavaScript, il est très utilisé dans les API web. L'en-tête Accept sert, dans une requête, à indiquer au serveur les formats que le client souhaite recevoir.

« API (interface de programmation d'application) » dans les explications

Questions mentionnant « API (interface de programmation d'application) » (9)

  1. Un stockage cloud est utilisé pour trois usages : (1) le rattacher à une machine virtuelle comme disque, y créer un système de fichiers et y placer les fichiers de données d'une base de données ; (2) le monter depuis plusieurs serveurs en même temps et l'utiliser comme répertoire partagé ; (3) lire et écrire un grand nombre d'images par clé (nom) au moyen d'une API HTTP, et en augmenter la capacité sans la fixer à l'avance. Quelle association de types de stockage convient aux usages (1) à (3) ?
  2. Une API web renvoie des données au format JSON comme corps de sa réponse. Quel en-tête ajoute-t-on généralement à la réponse pour indiquer le format du corps ?
  3. Quelle conception d'API web est conforme aux principes de REST ?
  4. Un développeur a par erreur validé (commit) dans un dépôt Git public un fichier de configuration contenant une clé d'API d'un service cloud. S'en apercevant, il a immédiatement validé une modification supprimant le fichier. Quelle est ensuite la réponse la plus appropriée ?
  5. Quelle description de l'ABI (interface binaire d'application) est correcte ?
  6. Le mot de passe d'une base de données est stocké dans un Secret Kubernetes. Quelle description d'un Secret est correcte ?
  7. Quelle description d'un JWT (JSON Web Token) signé typique est correcte ?
  8. Une application de tirage de photos lit, avec la permission de l'utilisateur, ses photos stockées sur le service de stockage de photos d'une autre entreprise. Dans OAuth 2.0, quel rôle présente à l'utilisateur l'écran qui lui demande sa permission et, s'il l'accorde, émet un jeton d'accès à l'application ?
  9. Une clé d'accès avec des privilèges d'administrateur autorisant toutes les opérations (un identifiant valable longtemps) avait été écrite dans un fichier de configuration et fournie à un traitement par lots exécuté dans le cloud. Quelle révision est la plus appropriée pour réduire les dommages si cette clé fuit ?

Termes associés

HTTP (Hypertext Transfer Protocol) Stockage objet (object storage) JSON (JavaScript Object Notation) API REST URL (Uniform Resource Locator) Méthode HTTP Git ABI (interface binaire d'application) Convention d'appel Pointeur

Retour au glossaire