Express.js

De EduTech Wiki
Aller à la navigation Aller à la recherche

Cet article est en construction: un auteur est en train de le modifier.

En principe, le ou les auteurs en question devraient bientôt présenter une meilleure version.



Introduction

Express.js est un framework basé sur Node.js pour le développement d'applications web.

Objectifs de cette page

Cette page fait principalement référence au cours STIC I du Master MALTT et s'inscrit dans la perspective d'aborder les fondamenteaux de la programmation à travers JavaScript. Plus en détail, Express.js permet de montrer de manière concrète et pragmatique des éléments conceptuels et techniques liés à l'architecture requête/réponse des applications web.

Pour comprendre le contenu de cette page la lecture des pages suivantes et conseillée :

Comprendre Express.js

Pour bien comprendre le fonctionnement de Express.js, il peut être utile de faire une comparaison avec un server web "normal" tel que Apache.

Cycle requête/réponse avec un server web traditionnel

La carte conceptuelle suivante montre le cycle requête/réponse lorsque le server utilise un server HTTP "traditionnel". Ce server, sous forme de logiciel, intercepte les requêtes, cherche la ressource associée. Si la ressource et de type dynamique (e.g. elle recupère des informations d'une base de données, etc.), le server fait processer la page par un interprète (comme PHP) qui genère l'HTML de output à envoyer en tant que réponse.

Cycle requête/réponse avec un server HTTP "traditionnel".

Cycle requête/réponse avec un server web Node.js/Express.js

Le cycle requête/réponse avec Express.js.

Le même cycle requête/réponse est par contre très différent avec un server créé avec Node.js, comme c'est le cas de Express.js. Node.js permet en effet de créer directement un server HTTP qui est chargé de traiter les requêtes faites par un client et genérer des réponses, comme par exemple des pages HTML. En d'autres termes, en accord avec le principe événementielle de Node.js, les requêtes faites à travers un protocol HTTP ne représentent qu'un type d'événement particulier, qui peut être gérés avec un module http. Express.js est tout simplement un ensemble de propriétés et méthodes qui peuvent être utiles pour gérer le cycle requête/réponse. La carte conceptuelle suivante montre ce cycle avec Express.js :