Développer une API en Javascript avec ExpressJS

27 Jan, 2022
Node JS est une plateforme destiné à vous permettre d'exécuter du code javascript côté Serveur. Avec Node JS vous pouvez développer des API puissantes en exploitant tout les avantages de l'asynchrone que vous offre Javascript.

Au cours des 10 dernières années, NodeJS est devenu un écosystème bien présent dans les services en ligne. À travers notamment la démocratisation des applications SAAS (Software as a Service) et la standardisation de API REST, NodeJS associé au Framework Express, a pu prouver par ses nombreux avantages qu’il était une solution efficace pour la mise en place d’API.

Node JS : Écosystème et plus-value pour une API

Node JS est un « plateforme logicielle » qui permet d’exécuter des applications Javascript depuis un serveur. Elle s’appuie notamment sur le moteur V8 (un moteur de compilation de code Javascript en code machine natif, plus d’infos ici). Node JS est principalement connue et reconnue pour :

  • Son traitement « non bloquant »
  • La multitude de « packages » libres de droits disponibles pour accompagner le développement de votre solution.
  • Sa performance

Node JS, des traitements « non bloquant »

Node JS de par le langage sur lequel il est développé et qu’il exécute permet de construire du code avec un fonctionnement asynchrone d’une part, et non bloquant au sens où l’erreur d’exécution d’un processus, n’empêche pas les autres processus d’être exécutés (dès lors que les développements ont été réalisés ainsi).

Node JS, un écosystème a forte contribution

Node JS est doté d’un gestionnaire de paquets qui s’utilise en ligne de commande : npm (pour NodeJS Package Manager), à travers lequel vous pouvez installer une multitude de packages présents dans les répertoires de packages NodeJS (on l’appelle « la registry »), vous pourrez en trouver des milliers, ils permettent notamment de réaliser tout ou partie de processus. Express est notamment un package et s’installe à travers ce gestionnaire.

Node JS, un écosystème performant

Il permet d’une part le « multithreading », c’est-à-dire l’utilisation de plusieurs moteurs d’exécution des requêtes entrantes (à travers l’installation des librairies adéquates), mais dispose d’autre part d’un système de « child-process » qui vise un peu de la même manière à générer des processus parallèles moins impactant pour le processus initial, l’utilisation de tous ces outils vient renforcer la rapidité de réponse d’un serveur NodeJS sur certains types de traitements.

Express : la librairie idéale pour vos APIs

Express est un package NPM (ou « librairie ») qui vous permet aisément de démarrer la création de votre serveur web avec NodeJS. Cette librairie une fois installée, permet aisément de créer un serveur web sur un port défini et de pouvoir faire interagir ainsi d’autres applications avec ce serveur pour la réalisation de traitements.

Le démarrage est plutôt simple, il suffit d’installer le package sur votre projet Node :

npm install express

Puis de réaliser sur votre fichier de script l’import de cette librairie, la déclaration du serveur avec son port en paramètre et votre première API est prête à fonctionner. Exemple de notre script server.js :

const express = require('express')
const app = express()
app.listen(8080, () => {
  console.log('Serveur à l'écoute')
})

Vous pouvez par la suite déclarer vos différents chemins d’accès ainsi que vos actions à réaliser pour l’appel de chacun d’entre eux.

Aller plus loin

Votre serveur d’API avec Node JS lancée, il vous reste à développer autour de celui-ci l’ensemble des fonctionnalités et traitement que vous souhaitez réaliser à travers cette API, sans oublier de sécuriser cette dernière.

Node JS vous permettra entre autres d’interagir avec des bases de données, de gérer de l’envoi et du téléchargement de fichiers, et de réaliser à peu près toutes les actions qui vous seront nécessaires dans la construction de votre API à partir des packages existant sur NPM.

Découvrez notre formation pour le développement d’API avec Node JS.