#TLDR

Node.js : Environnement d’exécution JavaScript côté serveur

Node.js permet d’exécuter du code JavaScript en dehors du navigateur, sur le serveur. Il repose sur une architecture orientée événements et un modèle I/O non-bloquant, ce qui le rend performant et idéal pour les applications nécessitant une grande scalabilité, telles que les serveurs web et les API REST.

Modules dans Node.js

Node.js dispose de modules intégrés (comme http, fs, path, etc.) qui permettent d’interagir facilement avec le système. Grâce à require(), il est possible d’importer ces modules ou d’utiliser des modules personnalisés pour structurer le code de manière modulaire et réutilisable.

Gestion asynchrone

Node.js fonctionne de manière non-bloquante, ce qui signifie que les opérations d’entrée/sortie (I/O) sont exécutées de façon asynchrone, sans bloquer le processus principal. Il existe trois principaux moyens de gérer l’asynchronisme dans Node.js :

  • Callbacks : La méthode traditionnelle pour exécuter du code après une opération asynchrone.
  • Promesses : Elles permettent une meilleure gestion des erreurs et une syntaxe plus lisible.
  • Async/Await : Syntaxe moderne qui rend le code asynchrone plus facile à lire et à maintenir.

Serveur HTTP avec Node.js

Avec le module http, il est possible de créer un serveur HTTP qui écoute les requêtes des utilisateurs et y répond. Le serveur peut gérer différentes méthodes HTTP (GET, POST, etc.) et traiter plusieurs routes (ex. /, /about), offrant ainsi une base pour construire des API ou des applications web.

Express.js : Simplification du développement web

Express est un framework léger qui simplifie la création d’applications web et d’API avec Node.js. Il offre des outils pour gérer facilement les requêtes HTTP, définir des routes, utiliser des middlewares pour traiter les requêtes avant de les renvoyer, et gérer les erreurs. Express est souvent utilisé pour construire des applications back-end modernes.