Bibliothèque standard JavaScript (Node.js) : aperçu complet

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Bibliothèque standard JavaScript (Node.js) : aperçu complet



Node.js est un environnement d'exécution JavaScript construit sur le moteur V8 de Google. Contrairement au JavaScript de navigateur, Node.js propose une puissante bibliothèque standard intégrée qui permet de travailler avec le système de fichiers, le réseau, les flux de données, la cryptographie et bien plus encore. Dans cet article, nous examinerons en détail les modules clés de la bibliothèque standard Node.js, essentiels pour tout développeur.



1. Module fs (File System)

Le module fs fournit une API pour interagir avec le système de fichiers. Il prend en charge les opérations synchrones et asynchrones.



  • Lecture d'un fichier :
const fs = require('fs');

// Lecture asynchronefs.readFile('example.txt', 'utf8', (err, data) => { if (err) throw err; console.log(data);});

// Lecture synchroneconst data = fs.readFileSync('example.txt', 'utf8');console.log(data);


  • Écriture dans un fichier :
const fs = require('fs');

fs.writeFile('output.txt', 'Bonjour le monde !', (err) => { if (err) throw err; console.log('Fichier enregistré');});


Le module prend également en charge le travail avec les répertoires, les flux et les permissions d'accès.



2. Module path (Gestion des chemins)

Le module path simplifie les manipulations de chemins de fichiers et assure la compatibilité multiplateforme.



const path = require('path');

const fullPath = '/users/docs/file.txt';console.log(path.dirname(fullPath)); // /users/docsconsole.log(path.basename(fullPath)); // file.txtconsole.log(path.extname(fullPath)); // .txt

// Construction de cheminconst newPath = path.join('/users', 'docs', 'file.txt');console.log(newPath); // /users/docs/file.txt


3. Module http (Serveur et client HTTP)

Avec http, vous pouvez créer des serveurs web et envoyer des requêtes HTTP sans bibliothèques externes.



  • Serveur HTTP simple :
const http = require('http');

const server = http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('Bonjour de Node.js !');});

server.listen(3000, () => { console.log('Serveur démarré sur le port 3000');});


  • Requête HTTP (client) :
const http = require('http');

http.get('http://api.example.com/data', (res) => { let data = ''; res.on('data', chunk => data += chunk); res.on('end', () => console.log(data));});


4. Module stream (Flux de données)

Les flux permettent de traiter de grands volumes de données par morceaux, sans les charger entièrement en mémoire. Node.js prend en charge quatre types de flux : Readable, Writable, Duplex et Transform.



const fs = require('fs');const zlib = require('zlib');

// Lecture depuis un fichier, compression et écritureconst readStream = fs.createReadStream('input.txt');const writeStream = fs.createWriteStream('output.txt.gz');const gzip = zlib.createGzip();

readStream.pipe(gzip).pipe(writeStream);


5. Module crypto (Cryptographie)

Le module crypto fournit des fonctionnalités de hachage, de chiffrement et de génération de nombres aléatoires.



const crypto = require('crypto');

// Hachage d'un mot de passeconst hash = crypto.createHash('sha256').update('myPassword123').digest('hex');console.log(hash);

// Génération d'octets aléatoirescrypto.randomBytes(16, (err, buffer) => { console.log(buffer.toString('hex'));});


6. Module events (Événements)

De nombreux objets dans Node.js (par exemple, les flux, les serveurs) héritent de EventEmitter. Ce module permet de créer vos propres événements

Recommendations