Vous écrivez des scripts qui reçoivent des arguments avec process.argv, lisent des variables d'environnement et renvoient un code de sortie.
Ouvrir cette leçon dans KodokonVous utilisez déjà des programmes en ligne de commande : node, npm, git... Chacun accepte des arguments, les mots tapés après son nom, qui modifient son comportement. Écrivons les nôtres. Node expose l'objet global process, qui décrit le programme en cours d'exécution - vous l'avez croisé avec process.version. Sa propriété process.argv est un tableau qui contient : à l'index 0, le chemin de Node ; à l'index 1, le chemin de votre script ; et à partir de l'index 2, les arguments réellement tapés par l'utilisateur.
console.log(process.argv);
const args = process.argv.slice(2);
console.log("Vos arguments :", args);Deuxième source d'information : les variables d'environnement. Ce sont des paires nom/valeur fournies au programme par le système au moment du lancement. Elles servent à la configuration : clé d'API secrète, mode debug, adresse d'une base de données... On les lit dans l'objet process.env. Une variable absente vaut undefined : prévoyez toujours une valeur par défaut, par exemple avec l'opérateur ??.
const level = process.env.LOG_LEVEL ?? "info";
console.log("Niveau de log :", level);LOG_LEVEL=debug node config.jsQuand un programme se termine, il renvoie au système un code de sortie : un nombre qui résume comment cela s'est passé. Convention universelle : 0 signifie « succès », toute autre valeur signale une erreur - c'est ce que les autres outils et scripts consultent pour savoir si tout a fonctionné. process.exit(1) arrête immédiatement le script avec le code 1. Utilisez aussi console.error pour les messages d'erreur : il écrit sur la sortie d'erreur (stderr), un canal séparé des affichages normaux. Assemblons tout dans un script complet.
const name = process.argv[2];
if (!name) {
console.error("Usage : node greet.js <nom>");
process.exit(1);
}
console.log(`Bonjour, ${name} !`);