const fs = require("fs"); const path = require("path"); const dossierData = path.join(__dirname, "..", "data"); /** * Lit un fichier JSON et retourne son contenu. * Si le fichier n'existe pas, retourne la valeur par défaut. */ function lireJson(nomFichier, valeurParDefaut) { const chemin = path.join(dossierData, nomFichier); if (!fs.existsSync(chemin)) { return valeurParDefaut; } const contenu = fs.readFileSync(chemin, "utf8"); return JSON.parse(contenu); } /** * Écrit un objet JavaScript dans un fichier JSON. */ function ecrireJson(nomFichier, donnees) { if (!fs.existsSync(dossierData)) { fs.mkdirSync(dossierData, { recursive: true }); } const chemin = path.join(dossierData, nomFichier); fs.writeFileSync(chemin, JSON.stringify(donnees, null, 2), "utf8"); } /** * Génère un identifiant simple à partir de la date et d'un nombre aléatoire. */ function genererId() { return Date.now().toString(36) + Math.random().toString(36).slice(2, 8); } module.exports = { lireJson, ecrireJson, genererId, dossierData };