Infrastructure
Node.js : environnement d'exécution JavaScript côté serveur, bâti sur le moteur V8. Il fait tourner le code sur un seul fil principal piloté par une boucle d'événements, avec des entrées/sorties non bloquantes.
Boucle d'événements : Un seul fil exécute le JavaScript. Les opérations lentes (disque, réseau, DNS) partent chez libuv, et leur callback revient dans la file une fois le travail terminé.
Forces et limites : Il encaisse très bien des milliers de connexions concurrentes peu gourmandes en calcul (API, websockets, proxys). Un calcul lourd sur le fil principal gèle en revanche tout le processus, d'où les worker_threads.
Écosystème npm : Le registre npm héberge des millions de paquets, dont certains servent uniquement à savoir si un nombre est pair. Chaque dépendance ajoutée pour gagner cinq minutes élargit d'autant la surface d'attaque de la chaîne d'approvisionnement.
Sécurité : Par défaut, aucun bac à sable : un script lit les fichiers et ouvre des connexions avec les droits du processus. Les versions récentes proposent un modèle de permissions à activer explicitement.
Explication de la marmotte
Imagine un restaurant avec un seul serveur, mais très malin. Il prend ta commande et la passe en cuisine. Au lieu d'attendre bêtement devant les fourneaux, il file prendre celle de la table d'à côté. Quand un plat est prêt, la cuisine sonne et il vient le chercher. Avec cette méthode, un seul serveur s'occupe de dizaines de tables. Node.js fonctionne pareil, pour les ordinateurs qui répondent aux sites web et aux applis : il lance les tâches longues, passe à la suite et revient quand c'est fini. Seul piège : si on lui demande de cuisiner lui-même un plat très long, toute la salle attend.
Où ce terme est utilisé
- JavaScript et SQL côté web, ce qu'il faut savoir des deux langages (11 occurrences)
- CICD-SEC-3 : abus de la chaîne de dépendances (2 occurrences)
- Démonstration de pollution de prototype JavaScript (2 occurrences)
- Hermes Agent, le harnais d'agent autonome de Nous Research (2 occurrences)
- Déployer WebAuthn FIDO2 passwordless sur une application web (1 occurrence)
- Écrire un Dockerfile durci avec condensé, multi-étapes et non root (1 occurrence)
- Installer et utiliser GitHub Copilot en mode agent (1 occurrence)
- Installer WSL 2 sous Windows 10 et 11, configuration et sécurité (1 occurrence)
- Intégrer SAST, DAST et IAST dans une CI/CD (1 occurrence)
- JWS : signer et sécuriser vos échanges JSON (1 occurrence)
