diff --git a/autopost/server.js b/autopost/server.js index db97fee..b114d25 100644 --- a/autopost/server.js +++ b/autopost/server.js @@ -1,5 +1,6 @@ const express = require('express'); const session = require('express-session'); +const FileStore = require('session-file-store')(session); const path = require('path'); const fs = require('fs'); const AnsiToHtml = require('ansi-to-html'); @@ -19,9 +20,17 @@ const port = config.port; app.use(express.urlencoded({ extended: true })); app.use(session({ + store: new FileStore({ + path: './sessions', // dossier où stocker les fichiers + ttl: 24 * 60 * 60, // durée de vie en secondes (ici 1 jour) + retries: 0 + }), secret: config.sessionSecret, resave: false, - saveUninitialized: false + saveUninitialized: false, + cookie: { + maxAge: 24 * 60 * 60 * 1000 // 1 jour en ms + } })); app.use(express.static('public')); @@ -98,6 +107,16 @@ autopostRouter.get('/', async (req, res) => { const offset = (page - 1) * limit; try { + const [stats] = await db.query(` + SELECT + COUNT(*) AS total, + SUM(status = 0) AS attente, + SUM(status = 1) AS termine, + SUM(status = 2) AS erreur, + SUM(status = 3) AS deja, + SUM(status = 4) AS encours + FROM \`${config.DB_TABLE}\` + `); // Récupérer le nombre total d'enregistrements const [countResult] = await db.query(`SELECT COUNT(*) as total FROM \`${config.DB_TABLE}\``); const totalRecords = countResult[0].total; @@ -120,13 +139,105 @@ autopostRouter.get('/', async (req, res) => {
-

Suivi Autopost

-

- Déconnexion -

+
+
+

+ Suivi Autopost +

+ + + + + Déconnexion + +
+

Vue d’ensemble des traitements en cours et de l’état des envois.

+
+ + +
+ +
+
+
+ + + +
+
En attente
+
+
${stats[0].attente}
+
+ + +
+
+
+ + + +
+
Terminé
+
+
${stats[0].termine}
+
+ + +
+
+
+ + + +
+
Erreur
+
+
${stats[0].erreur}
+
+ + +
+
+
+ + + +
+
Déjà dispo
+
+
${stats[0].deja}
+
+
+ + +
+ +
+ + +
+ +
+ + + + + + +
+
-
- - - - - - - - - - +
NameStatusIDActions
+ + + + + + + + + `; rows.forEach(row => { @@ -258,168 +369,13 @@ autopostRouter.get('/', async (req, res) => { + `; diff --git a/install.sh b/install.sh index 87f76ac..dfdf0a3 100644 --- a/install.sh +++ b/install.sh @@ -363,7 +363,7 @@ export NVM_DIR="$HOME/.nvm" # Vérification des modules npm nécessaires log "Vérification des modules npm requis..." -modules=("express" "express-session" "sqlite3" "ansi-to-html" "@tailwindcss/browser" "autoprefixer" "jquery" "mysql2") +modules=("express" "express-session" "sqlite3" "ansi-to-html" "@tailwindcss/browser" "autoprefixer" "jquery" "mysql2" "session-file-store") missing_modules=() for module in "${modules[@]}"; do diff --git a/update.sh b/update.sh index 58b6bfb..442aebb 100644 --- a/update.sh +++ b/update.sh @@ -209,7 +209,7 @@ export NVM_DIR="$HOME/.nvm" # Vérification des modules npm nécessaires log "Vérification des modules npm requis..." -modules=("express" "express-session" "sqlite3" "ansi-to-html" "@tailwindcss/browser" "jquery" "mysql2") +modules=("express" "express-session" "sqlite3" "ansi-to-html" "@tailwindcss/browser" "jquery" "mysql2" "session-file-store") missing_modules=() for module in "${modules[@]}"; do
NameStatusIDActions