Le Framework Node.js Express

Par alouragli, 22 mars, 2025
Node.js

Introduction

Dans le dernier article, nous avons vu comment lire une requête dans un projet Node.js. Aujourd'hui, je vais vous présenter une méthode plus efficace et plus simple pour développer n'importe quelle application sur Node.js. C'est Express !

Dans cet article, je vais vous expliquer ce qu'est Express.js, quand l'utiliser et comment l'utiliser.

Qu'est-ce qu'Express.js ?

Express.js, souvent appelé simplement Express, est un framework backend minimaliste et flexible pour Node.js. Il fournit un ensemble robuste de fonctionnalités pour développer des applications web et mobiles.

L'une des caractéristiques clés d'Express est son utilisation des middlewares. Un middleware est une fonction qui a accès aux objets de requête (req) et de réponse (res), ainsi qu'à la fonction suivante dans le cycle de requête-réponse de l'application. Il gère le cheminement d'une requête HTTP (GET, POST, PUT, DELETE, etc.) envoyée par un client (navigateur, application mobile, etc.) jusqu'à la réponse envoyée par le serveur.

En d'autres termes, un middleware est une fonction qui reçoit les requêtes, les traite et envoie la réponse à l'utilisateur. Il agit comme un intermédiaire entre le serveur et le client. Lorsqu'une requête HTTP arrive, elle peut être traitée par plusieurs middlewares, chacun effectuant une tâche spécifique.

Par exemple :

  • Un middleware peut vérifier si la requête contient un jeton d'authentification valide pour sécuriser l'application.

  • Un autre middleware peut transformer le corps de la requête en JSON si nécessaire.

Express offre également des gestionnaires de routes qui permettent de définir des traitements spécifiques pour différentes routes. Par exemple, on peut spécifier que pour la route /books, une certaine fonction sera exécutée, tandis que pour la route /home, une autre fonction sera exécutée. Cela permet de structurer l'application de manière claire et efficace.

De plus, Express facilite l'intégration avec les bases de données via divers modules complémentaires, simplifiant ainsi l'accès et la manipulation des données.

Quand l'utiliser ?

Il est recommandé d'utiliser Express.js pour la plupart des applications Node.js en raison de sa simplicité et de son efficacité. Il est particulièrement utile lorsque des middlewares sont nécessaires pour effectuer des opérations courantes sur l'ensemble des requêtes, comme :

  • La gestion de l'authentification

  • La journalisation

  • Le traitement des données

Installation

Pour installer Express.js, exécutez la commande suivante dans le terminal, à l'intérieur de votre projet :

npm install --save express

Cette commande télécharge Express et l'ajoute aux dépendances de votre projet. Ces dépendances sont enregistrées dans le fichier package.json, et npm les installe dans un dossier nommé node_modules. Les dépendances sont enregistrées dans le fichier package.json à l'aide de --save, et npm les installe dans un dossier nommé node_modules via Internet. Vous remarquerez que node_modules contient plusieurs dépendances téléchargées automatiquement avec Express.

Comment l'utiliser ?

Nous allons utiliser notre application habituelle et supprimer tout ce qui a été fait dans le fichier app.js.

Voici les étapes pour utiliser Express :

  1. Importer le module Express

    const express = require('express');
    
  2. Instancier le framework Express

    const app = express();
    
  3. Créer un serveur

    
    app.listen(3000, () => { console.log("Serveur Node.js démarré sur le port 3000");
    });
    
  4. Créer des middlewares

    • Créons un premier middleware pour la route "/". Comme dans le dernier article, nous utiliserons setHeader() pour définir le type de contenu HTML.

      app.get("/",  (req,  resp)  =>  {
      
      resp.setHeader("content-type",  "text/html");
      
      resp.send("<h3>Hello World!<h3>");
      
      });
      

    Résultat attendu :

    Lorsqu'un utilisateur accède à http://localhost:3000/, il verra "Hello World!" affiché en HTML.

    resultat-middlware1
    • Créons maintenant un second middleware pour gérer la route "/books/:id". Nous allons lire le paramètre id dans la requête et afficher un livre sous forme de JSON.

          app.get("/books/:id",  (req,  resp)  =>  {
      
      	resp.setHeader("content-type",  "application/json");
      
      	resp.status(200).json({id:  req.params.id,  auteur:  'Mike Taylor',  					nom:'La comédie des erreurs',
      			prix:'5$'})
      
      });
      

    Résultat attendu :

    En accédant à http://localhost:3000/books/1, vous obtiendrez la réponse suivante en image

    resultat-middleware2

    Le paramètre id changera selon l'identifiant spécifié dans la requête.

    resultat-middleware2-1

Correction finale

Voici le code final de app.js :

const  express  =  require('express');

  

const  app  =  express();

  

app.get("/",  (req,  resp)  =>  {

resp.setHeader("content-type",  "text/html");

resp.send("<h3>Hello World!<h3>");

});

  

app.get("/books/:id",  (req,  resp)  =>  {

resp.setHeader("content-type",  "application/json");

resp.status(200).json({id:  req.params.id,  auteur:  'Mike Taylor',  nom:'La comédie des erreurs',  prix:'5$'})

});

  

app.listen(3000,  ()  =>  {

console.log("Serveur Node.js démarré");

});

Conclusion

Félicitations ! Vous avez appris à utiliser Express.js pour créer un serveur Node.js simple et efficace.

Quelques points à retenir :

  • Toutes ces opérations sont asynchrones, ce qui signifie que si une opération prend du temps, l'application ne reste pas bloquée et passe à autre chose.

  • Vous pouvez aussi utiliser app.post(), app.put() et app.delete() pour gérer d'autres types de requêtes HTTP.

Nous arrivons à la fin de cet article sur Node.js. Si vous avez des questions, n'hésitez pas à les poser dans les commentaires. Bonne chance et bon codage !

Références

Commentaires