N03 — Exercices Système de Fichiers
10 exercices progressifs · Valide en temps réel · Solutions incluses
readFile avec callback
Utilisez fs.readFile(chemin, 'utf8', callback) pour lire un fichier de façon asynchrone. Gérez l'erreur dans le callback.
readFile avec Promises / async-await
Utilisez fs/promises ou fs.promises avec async/await ou .then() pour lire un fichier.
writeFile avec données JSON
Utilisez fs.writeFile() pour écrire un objet JavaScript sérialisé en JSON avec JSON.stringify().
readdir — Lister les fichiers d'un dossier
Utilisez fs.readdir() pour lister le contenu d'un dossier. Affichez chaque fichier/dossier.
stat — Informations sur un fichier
Utilisez fs.stat() pour récupérer les informations d'un fichier (taille, dates, type).
mkdir — Créer un dossier
Utilisez fs.mkdir(chemin, {'{'} recursive: true {'}'}) pour créer un dossier (et ses parents si nécessaire).
unlink — Supprimer un fichier
Utilisez fs.unlink(chemin) pour supprimer un fichier. Gérez le cas où le fichier n'existe pas (err.code === 'ENOENT').
path.join avec __dirname
Utilisez path.join(__dirname, ...) pour construire des chemins absolus portables. __dirname est le dossier du fichier en cours.
createReadStream + pipe
Utilisez fs.createReadStream() pour lire un fichier en stream et connectez-le à une destination avec .pipe().
Gestionnaire de fichiers complet — async/await
Défi final : créez un gestionnaire complet avec async/await qui lit un fichier JSON, le modifie et le réécrit. Utilisez try/catch, readFile ET writeFile. Code substantiel requis.