Introduction
Node.js fournit un petit ensemble de commandes qui couvrent la majorité du travail quotidien : exécuter du code, installer des packages, lancer des scripts et déboguer. Ce guide présente les commandes indispensables, quand les utiliser et des exemples sûrs, copiables‑collables, que vous pouvez lancer sur macOS, Linux ou Windows.
Public cible :
- Développeurs qui livrent des services et des CLI
- Consultants DevOps qui standardisent les flux de travail
- Équipes de startups construisant des API avec Express, des couches de données avec MongoDB ou Redis, et automatisant les builds avec Docker et GitLab CI/CD
Ce que vous obtiendrez :
- Un flux de travail minimal, de la configuration du projet au débogage
- Des exemples pratiques de
node,npmetnpx - Un petit pilote local réalisable en moins de 20 minutes
---
Aperçu du flux de travail
Suivez cette séquence pour garder votre travail prévisible et à faible risque.
- Vérifier les versions
node --version
npm --version
npx --version
Pourquoi : Confirme votre chaîne d’outils et aide à reproduire les problèmes sur d’autres machines.
- Initialiser un projet
mkdir mon-app && cd mon-app
npm init -y
Pourquoi : Crée package.json afin de suivre les scripts et les dépendances.
- Tester rapidement des one‑liners
node -e "console.log('hello world')"
node -p "1 + 2"
Pourquoi : Valide les fonctionnalités du runtime ou reproduit un bogue rapidement sans créer de fichiers.
- Ajouter des dépendances
npm install express
npm install --save-dev nodemon
Pourquoi : Sépare les dépendances d’exécution des outils de développement.
- Configurer les scripts npm (
package.json)
{
"scripts": {
"start": "node index.js",
"dev": "npx nodemon index.js",
"test": "node test.js"
}
}
Pourquoi : Des points d’entrée standardisés rendent les exécutions locales et l’automatisation cohérentes.
- Exécuter et déboguer
npm run start
node --inspect index.js
node --inspect-brk index.js
Pourquoi : Inspecter les variables et parcourir le code au démarrage quand c’est nécessaire.
- Maintenir l’installation
npm list --depth=0
npm uninstall <pkg>
npm prune
npm cache verify
Pourquoi : Garde l’arbre de dépendances propre et l’état prévisible.
- Installations reproductibles pour l’automatisation
# À utiliser quand un lockfile (package-lock.json) existe
npm ci
Pourquoi : Installation plus rapide et propre qui correspond exactement au lockfile.
---
Commandes de base avec exemples
Voici les commandes que vous utiliserez au quotidien, regroupées par tâche.
Vérifier et explorer le runtime
- Versions
node -v
npm -v
- REPL (shell interactif)
node
> 2 + 2
4
> .exit
- One‑liners
node -e "console.log(process.platform)"
node -p "[1,2,3].map(x=>x*2)"
- Exécuter un fichier
node index.js
Débogage et diagnostics
- Inspecter via un port de débogage
node --inspect index.js
node --inspect-brk index.js # pause à la première ligne
- Tracer les avertissements jusqu’à la source
node --trace-warnings index.js
Astuce : Utilisez ces drapeaux seulement lors d’investigations ; retirez‑les pour les exécutions normales.
Initialiser et gérer les packages
- Créer rapidement package.json
npm init -y
- Installer les dépendances d’exécution et de développement
npm install express
npm install --save-dev nodemon eslint
- Supprimer des dépendances et nettoyer les extras
npm uninstall express
npm prune
- Lister les packages de premier niveau
npm list --depth=0
- Mettre à jour dans les plages semver autorisées
npm update
- Installation propre et reproductible (CI, conteneurs)
npm ci
Note : npm ci supprime node_modules et installe exactement selon package-lock.json.
Exécuter les scripts du projet
- Ajouter des scripts (exemple)
{
"scripts": {
"start": "node index.js",
"dev": "npx nodemon index.js",
"lint": "npx eslint .",
"test": "node test.js"
}
}
- Lister les scripts disponibles et les lancer
npm run # liste les scripts
npm run dev
npm run lint
npm test # alias pour npm run test
Utiliser npx pour exécuter des binaires du projet
npx cherche les exécutables dans votre projet ou les télécharge si nécessaire.
- Préférer les outils de développement locaux pour garder les versions cohérentes :
# Après avoir installé eslint comme dépendance de développement
npm install --save-dev eslint
npx eslint .
- Lancer un nodemon installé localement sans installation globale :
npx nodemon index.js
Astuces d’environnement pour les opérations quotidiennes
- Définir le port dans le code est plus sûr que dans le shell :
// index.js
const port = process.env.PORT || 3000
- Dans Docker ou CI, privilégiez :
npm ci --omit=dev # installation uniquement production
- Pour les monorepos ou plusieurs services, lancez les scripts depuis la racine de chaque package afin de conserver un contexte clair.
---
Plan de pilote local
Construisez une petite API Express locale. Ce pilote est ciblé, mesurable et facile à inspecter.
- Pré‑vérifications
node --version
npm --version
Critères de réussite : Node et npm répondent avec leurs versions.
- Initialiser et installer
mkdir node-pilot && cd node-pilot
npm init -y
npm install express
npm install --save-dev nodemon
- Créer une API minimale
// index.js
const express = require('express')
const app = express()
const port = process.env.PORT || 3000
app.get('/health', (req, res) => {
res.json({ status: 'ok' })
})
app.get('/time', (req, res) => {
res.json({ now: new Date().toISOString() })
})
app.listen(port, () => {
console.log(`API listening on http://localhost:${port}`)
})
- Ajouter les scripts
{
"scripts": {
"start": "node index.js",
"dev": "npx nodemon index.js",
"test": "node test.js"
}
}
- Exécuter localement
npm run start
# ou rechargement à chaud pendant le développement
npm run dev
- Valider le comportement
# Dans un autre terminal
curl -s http://localhost:3000/health | jq .
curl -s http://localhost:3000/time | jq .
Critères de passage :
/healthrenvoie{"status":"ok"}/timerenvoie un horodatage ISO
- Diagnostics optionnels
node --inspect index.js
node --trace-warnings index.js
- Nettoyage
Appuyez sur Ctrl+C pour arrêter le serveur, puis :
npm prune
Notes :
- Étendez le pilote en ajoutant une route POST et un magasin en mémoire simple avant d’introduire MongoDB ou Redis.
- Lors de la conteneurisation, remplacez
npm installparnpm cipour des builds cohérents.
---
Conclusion
Vous disposez maintenant d’un ensemble compact de commandes Node.js, d’un flux de travail clair et d’un pilote local que vous pouvez lancer dès aujourd’hui. Appliquez ces habitudes aux services qui utilisent Express, se connectent à MongoDB ou Redis, et s’exécutent dans Docker ou GitLab CI/CD. Prochaines étapes :
- Standardiser les scripts :
start,dev,test,lint - Utiliser
npm cidans les conteneurs et l’automatisation pour des installations reproductibles - Garder les drapeaux de débogage à portée de main pour un diagnostic rapide, mais les désactiver en exploitation normale
Avec ces commandes et ces patterns, votre équipe avancera plus vite avec moins de surprises.