TW3 — Technologies du Web 3

Concepts essentiels de npm

Ce qu'est un gestionnaire de paquets, le rôle de npm et le fichier package.json (dépendances, scripts, versions, lockfile).

📦 Un gestionnaire de paquets

Un gestionnaire de paquets automatise l'installation, la mise à jour et la suppression des bibliothèques d'un projet. npm (Node Package Manager) est celui de Node.js : il centralise les dépendances, gère les versions et exécute des scripts d'automatisation. Sans lui, on copierait les bibliothèques à la main et on perdrait la reproductibilité de l'environnement.

Erreur fréquente

Toucher aux bibliothèques installées sans passer par npm dérègle package.json et la reproductibilité.

📄 Le fichier package.json

C'est le point d'entrée du projet : il centralise son identité, ses dépendances et ses scripts.

{
  "name": "mon-projet",
  "version": "1.0.0",
  "scripts": {
    "start": "node index.js",
    "test": "mocha"
  },
  "dependencies": {
    "express": "^4.17.1"
  },
  "devDependencies": {
    "nodemon": "^2.0.7"
  }
}
  • dependencies : paquets nécessaires à l'exécution en production (express). Ajoutés avec npm install <pkg>.
  • devDependencies : outils de développement uniquement (nodemon, tests, build). Ajoutés avec npm install -D <pkg>.
  • scripts : commandes nommées, lancées via npm run <nom> (npm start, npm test). Ils remplacent les commandes longues et se partagent entre développeurs.

Le symbole ^ autorise les mises à jour mineures et correctives (^4.17.1 → toute version 4.x.x) ; ~ se limite aux correctives (~4.17.1 → 4.17.x).

npm install sans argument

npm install (sans argument) installe tout ce qui est listé dans package.json et génère node_modules. npm crée aussi package-lock.json, qui fige les versions exactes : il doit être versionné pour garantir des installations identiques sur chaque machine.

✅ À retenir

  • npm n'est pas qu'un installeur : il structure et standardise le projet ;
  • package.json est la référence unique (métadonnées, dépendances, scripts) ;
  • dependencies + devDependencies + scripts = workflows reproductibles ;
  • package-lock.json assure la cohérence entre les machines.

npm

Terminez le quiz du chapitre pour le marquer comme complété.

Tableau de bord

On this page