Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Utilisation des Fichiers comme Stockage Simple | Section
/
Fondamentaux de Node.js

bookUtilisation des Fichiers comme Stockage Simple

Glissez pour afficher le menu

Jusqu'à présent, vous avez appris à :

  • Lire des données à partir d'un fichier ;
  • Écrire des données dans un fichier ;
  • Ajouter du nouveau contenu.

Il est maintenant temps d'utiliser les fichiers comme un système de stockage simple.

Pourquoi avons-nous besoin de données structurées

Stocker du texte brut n'est pas suffisant pour des applications réelles.

Par exemple :

First note
Second note

Ceci est difficile à gérer car :

  • Il n'est pas facile de mettre à jour une note spécifique ;
  • Il n'est pas possible d'organiser les données ;
  • Il n'est pas possible d'ajouter des informations supplémentaires.

Utilisation de JSON pour le stockage

Pour stocker des données structurées, nous utilisons JSON.

JSON ressemble à un objet JavaScript :

[
  { "text": "First note" },
  { "text": "Second note" }
]

Ce format permet de :

  • Stocker plusieurs éléments ;
  • Organiser les données de manière claire ;
  • Manipuler les données dans le code.

Étape 1 : Lire les données à partir d'un fichier

const fs = require('fs');

const data = fs.readFileSync('notes.json', 'utf-8');

Ceci retourne une chaîne de caractères.

Étape 2 : Convertir le JSON en JavaScript

const notes = JSON.parse(data);

Maintenant, notes est un véritable tableau exploitable.

Étape 3 : Mettre à jour les données

notes.push({ text: 'New note' });

Un nouvel élément est ajouté au tableau.

Étape 4 : Sauvegarder les données dans le fichier

fs.writeFileSync('notes.json', JSON.stringify(notes));
  • JSON.stringify convertit le JavaScript en JSON ;
  • le fichier est mis à jour avec les nouvelles données.

Exemple complet

const fs = require('fs');

// Read file
const data = fs.readFileSync('notes.json', 'utf-8');

// Convert to JS
const notes = JSON.parse(data);

// Update data
notes.push({ text: 'Learn Node.js' });

// Save back
fs.writeFileSync('notes.json', JSON.stringify(notes));

Gestion de la première exécution (fichier vide)

Si le fichier n'existe pas ou est vide, l'application plantera.

Ce problème peut être résolu en commençant avec un tableau vide :

let notes = [];

try {
  const data = fs.readFileSync('notes.json', 'utf-8');
  notes = JSON.parse(data);
} catch (error) {
  notes = [];
}
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 24

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 1. Chapitre 24
some-alt