const express = require("express"); const fs = require("fs"); const path = require("path"); const bodyParser = require("body-parser"); const app = express(); const PORT = 3000; // Middleware app.use(bodyParser.json()); app.use(express.static("public")); // Route pour récupérer le montant précédent app.get("/montant_precedent", (req, res) => { const filePath = path.join(__dirname, "data", "montant_precedent.txt"); // Vérifier si le fichier existe, sinon le créer avec une valeur par défaut if (!fs.existsSync(filePath)) { fs.writeFileSync(filePath, "0"); } const montant = fs.readFileSync(filePath, "utf-8").trim(); res.send(montant || "0"); }); // Route pour sauvegarder les données app.post("/save", (req, res) => { const { date, previousAmount, articles, articleTotal, finalTotal } = req.body; // Validation des données const validPreviousAmount = parseFloat(previousAmount) || 0; const validArticleTotal = parseFloat(articleTotal) || 0; const validFinalTotal = parseFloat(finalTotal) || 0; // Définir les chemins des fichiers const suiviPath = path.join(__dirname, "data", "suivi.csv"); const montantPath = path.join(__dirname, "data", "montant_precedent.txt"); // Format de la ligne pour le fichier CSV const line = [ date, validPreviousAmount.toFixed(2), JSON.stringify(articles), validArticleTotal.toFixed(2), validFinalTotal.toFixed(2) ].join(",") + "\n"; try { // Ajouter la ligne au fichier suivi.csv fs.appendFileSync(suiviPath, line); // Mettre à jour le montant précédent dans montant_precedent.txt fs.writeFileSync(montantPath, validFinalTotal.toFixed(2)); res.sendStatus(200); } catch (error) { console.error("Erreur lors de l'écriture des fichiers :", error); res.status(500).send("Erreur lors de l'écriture des fichiers."); } }); // Démarrer le serveur app.listen(PORT, () => { console.log(`Server running on http://localhost:${PORT}`); });