Début du projet
This commit is contained in:
commit
43b1f166d7
28 files changed
+4284
No files matched your search
@@ -0,0 +1,50 @@
|
||||
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
|
||||
};
|
||||