API : Interface de Programmation d'Application

API : Interface de Programmation d'Application

En tant que développeur, j'ai l'impression d'utiliser ou de concrétiser cette notion tous les jours. Cependant, si théoriquement je devais l'expliquer je commencerais par dire qu'il s'agit d'un concept qui englobe beaucoup de choses.

Il s'agirait, dans les grandes lignes, d'une palette de définitions et de protocoles qui faciliteraient la création et l'intégration d'applications.

Par ailleurs, cette interface de programmation applicative permet à un produit ou à un service de communiquer, et c'est sans doute l'idée principale, avec d'autres produits et services. Mais il y a encore mieux. En effet, cette communication s'établit sans besoin de connaître l'ensemble des mécanismes de fonctionnement desdits produits et services.

On peut relier à ce concept quelques objectifs clefs : un gain de temps, une source de simplification en matière de conception et de développement d'applications et tout simplement un moyen expédient de rendre la communication plus flexible. Nous verrons comment plus tard.

Ensuite, il ne faut pas croire que quelques petits détails ne sont pas à prendre en compte. En effet, le contrat d'interface entre le logiciel émetteur de la requête et le logiciel récepteur de la requête suppose l'existence de conditions. La requête doit ainsi respecter une structure particulière , structure qui sera reconnu par le récepteur de la requête qui adaptera sa réponse en fonction.

Personnellement j'aime faire des API avec Node.js (runtime). Je crée une architecture logicielle qui me permet de contrôler les requêtes qui parviennent du navigateur par exemple et d'effectuer quelques opérations de sécurisation (sanitizer, express-validator, cors, bcrypt). Enfin, si la structure et le contenu des requêtes correspondent à mes attentes je permets d'effectuer des opérations CRUD sur une base de données distante. Ceci est juste un exemple d'utilisation d'une API : un intermédiaire entre une base de données (des ressources) et un client (ici le navigateur).

Identifiez-vous pour afficher ou ajouter un commentaire

Plus d’articles de Boris Rose

  • Architecture REST

    Architecture REST

    Même si j'ai déjà écrit quelques petites choses sur le sujet, mieux vaut préciser les choses. REST (Representational…

  • Passport

    Passport

    A web application needs the ability to identify users as they browse from page to page. This series of requests and…

  • Le nombre magique

    Le nombre magique

    Le "nombre magique" d'un fichier, "magic number" en anglais, est un terme utilisé en informatique pour désigner un…

  • Les API Web

    Les API Web

    Dans mon précédent article sur les API, j'avais évoqué le rôle d'intermédiaire entre un client et des ressources et…

  • Next.js : Template

    Next.js : Template

    Templates are similar to layouts in that they wrap each child layout or page. Unlike layouts that persist across routes…

  • Python : why use a virtual environment

    Python : why use a virtual environment

    Python applications will often use packages and modules that don’t come as part of the standard library. Applications…

  • SEO: Définir son type de contenu

    SEO: Définir son type de contenu

    Vous allez sûrement avoir besoin de rajouter du contenu à votre site web, que ce soit: → parce que vous devez créer des…

  • JavaScript: Enchaîner des requêtes avec les callbacks

    JavaScript: Enchaîner des requêtes avec les callbacks

    Comment faire nos 2 requêtes en parallèle, suivies d’une requête en séquence avec les callbacks? Dans le cadre de cet…

  • WCAG: Contenu web robuste

    WCAG: Contenu web robuste

    Le principe de robustesse est le plus opaque de tous dans les règles WCAG. Il a pour but de faciliter…

  • SEO: Paramétrer votre compte Google My Business

    SEO: Paramétrer votre compte Google My Business

    Google My Business sert à indiquer à Google la position de votre business sur la carte et sert à récupérer des avis. Il…

Autres pages consultées

Explorer les sujets