NodeJS & Typescript

Découvrir et comprendre Node JS pour concevoir des application Backend dans le cloud avec Javascript et Typescript

NodeJS & Typescript

Retourner au cours

Node.js: un moteur JavaScript pour serveur web

Tout d’abord, regardons ce qui existe et comment fonctionne les outils actuel pour concevoir des serveur web.

Le model simple et satandard

Dans un site web traditionnel, le serveur répond aux requêtes des clients en renvoyant le contenu d’un fichier:

Si un client requiert l’adresse https://exemple.com/contact.html, typiquement le serveur du domaine exemple.com va aller chercher le fichier contact.html, le lire et l’envoyer sur le réseau en réponse. C’est ce que propose par défaut les serveurs web traditionnel et basic.
Un modèle un tout petit peu plus dynamique permet à un serveur internet d’exécuter un script pour répondre à une requête, et à rediriger la sortie du script en réponse à la requête.

Voici quelque exemple de langages usuels de scripts qui permetent cela:

  • Perl (avec l’extension “.pl”)
  • PHP (avec l’extension “.php”)
  • ASP
  • Python
  • Ruby

Le modèle Node.js

À l’inverse de ce schéma, Node.js est un programme autonome. Il est basé sur le moteur d’exécution JavaScript V8 de Google. Écrit en C++, c’est essentiellement une plateforme d’exécution javascript avec des APIs spécialisées pour gérer le fait d’être un serveur: la gestion des connections réseaux, mais aussi le système de fichiers,… On a donc pas de “comportement par défaut”, et tout doit se programmer en javascript.

La philosophie de Node.js est de créer une boucle d’événements au lieu de se dupliquer (créer des threads), pour gérer plusieurs tâches en parallèle (multi-threads). De cette manière, un serveur web Node.js peut gérer des millions de connexions concourantes.

Les grands principes de Node.js sont:

  • Éxécution pilotée par les événements
  • Appels de fonctions asynchrones (utilisation de callback)
  • Entrées/sorties non bloquantes

Les deux premiers sont “standards” dans la philosophie javascript mais le troisième principe est essentiel de la part d’un serveur: on souhaite qu’il reste réactif autant que possible.

Un serveur Node.js consiste au minimum en

  • le programme nodejs
  • un fichier javascript

Pas grand chose pour un début.

Un script pour Node.js va faire les choses suivantes:

  • Initialiser des objets correspondant aux librairies avec la fonction require
  • par exemple, la librairie http qui gère le protocole HTTP
  • définir un serveur
  • lancer le serveur

Inscription à la formation

Gratuit

Vous inscrire