Introduction
Dans le développement backend, il est souvent nécessaire de lire, modifier ou enregistrer des fichiers. Que ce soit pour stocker des logs, gérer des fichiers de configuration ou manipuler des données sans base de données, Node.js offre des outils puissants pour interagir avec le système de fichiers.
Dans cet article, nous allons voir comment utiliser le module fs
(File System) de Node.js pour lire, écrire, modifier et supprimer des fichiers.
1. Pourquoi manipuler des fichiers avec Node.js ?
Contrairement aux bases de données, les fichiers sont une solution simple et rapide pour stocker des données temporairement ou enregistrer des logs d’application.
Les cas d’usage courants sont :
✔ Lire et écrire des fichiers de configuration (ex. fichiers .json
ou .txt
).
✔ Enregistrer des logs pour suivre l’activité d’un serveur.
✔ Gérer des fichiers envoyés par les utilisateurs (ex. images, documents).
✔ Stocker temporairement des données sans base de données.
2. Utilisation du module fs
de Node.js
2.1 Lire un fichier
Le module fs
de Node.js permet de lire un fichier de manière synchronisée ou asynchrone.
Exemple : Lecture d’un fichier message.txt
1️⃣ Créer un fichier message.txt
avec du texte
Bonjour, ceci est un fichier texte !
2️⃣ Lire le fichier avec Node.js
const fs = require('fs');
fs.readFile('message.txt', 'utf8', (err, data) => {
if (err) {
console.error('Erreur lors de la lecture du fichier', err);
return;
}
console.log('Contenu du fichier :', data);
});
✔ fs.readFile()
lit le fichier de façon asynchrone.
✔ Si une erreur survient, elle est affichée dans la console.
✔ Le contenu du fichier est affiché après lecture.
2.2 Écrire dans un fichier
On peut créer ou modifier un fichier en utilisant fs.writeFile()
.
Exemple : Écrire dans nouveau_fichier.txt
fs.writeFile('nouveau_fichier.txt', 'Ceci est un nouveau fichier.', (err) => {
if (err) {
console.error('Erreur lors de l\'écriture du fichier', err);
return;
}
console.log('Fichier créé avec succès !');
});
✔ Si le fichier existe, il est remplacé.
✔ Si le fichier n’existe pas, il est créé automatiquement.
2.3 Ajouter du contenu à un fichier existant
Si on veut ajouter du texte sans écraser le fichier, on utilise fs.appendFile()
.
fs.appendFile('nouveau_fichier.txt', '\nAjout d’une nouvelle ligne.', (err) => {
if (err) {
console.error('Erreur lors de l’ajout de texte', err);
return;
}
console.log('Texte ajouté avec succès !');
});
✔ Le texte est ajouté à la fin du fichier.
✔ appendFile()
ne remplace pas l’ancien contenu.
2.4 Supprimer un fichier
Pour supprimer un fichier inutile, on utilise fs.unlink()
.
fs.unlink('nouveau_fichier.txt', (err) => {
if (err) {
console.error('Erreur lors de la suppression', err);
return;
}
console.log('Fichier supprimé avec succès !');
});
✔ Le fichier est supprimé définitivement.
✔ Si le fichier n’existe pas, une erreur s’affiche.
3. Manipuler des dossiers avec Node.js
Créer un dossier
On peut créer un dossier avec fs.mkdir()
:
fs.mkdir('mon_dossier', (err) => {
if (err) {
console.error('Erreur lors de la création du dossier', err);
return;
}
console.log('Dossier créé avec succès !');
});
Lire le contenu d’un dossier
fs.readdir('.', (err, fichiers) => {
if (err) {
console.error('Erreur lors de la lecture du dossier', err);
return;
}
console.log('Fichiers présents :', fichiers);
});
✔ Le point '.'
représente le dossier actuel.
✔ Retourne la liste des fichiers et dossiers présents.
4. Bonnes pratiques pour manipuler les fichiers en Node.js
✔ Toujours gérer les erreurs (if (err) { ... }
).
✔ Utiliser des chemins absolus pour éviter les conflits (__dirname + '/fichier.txt'
).
✔ Ne pas stocker trop de données dans un fichier texte, préférer une base de données.
✔ Sécuriser l’accès aux fichiers sensibles (chmod
, accès restreints).
5. Sources
-
Documentation officielle de Node.js - Module
fs
: https://nodejs.org/api/fs.html (page consultée le 20 février 2025).
Voici la citation de la source selon les normes méthodologiques : - W3Schools - Node.js File System : https://www.w3schools.com/nodejs/nodejs_filesystem.asp (page consultée le 20 février 2025).
Commentaires2
C'est un article très…
C'est un article très intéressant. Je ne savais pas qu'il était aussi simple de faire des manipulations de fichiers. Je voulais savoir si la fonctions fs est déjà incluse dans Node.js, ou bien s'il faut l'importer ? De plus, sais-tu si cette fonction fonctionne dans tous les systèmes d'exploitation ?
L’article est clair, bien…
L’article est clair, bien structuré et pédagogique, avec des exemples pratiques et des bonnes pratiques essentielles. Il pourrait être enrichi en expliquant l’impact des méthodes synchrones sur la performance. Très utile pour les débutants en Node.js !