import express from 'express'; import { promises as fs } from 'fs'; import path from 'path'; import { fileURLToPath } from 'url'; const app = express(); const port = 3000; // Obtenir le chemin du répertoire parent const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); // Middleware pour gérer les requêtes depuis le frontend app.use((req, res, next) => { res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST'); next(); }); // Le dossier assets est situé un niveau au-dessus du dossier services const assetsDir = path.join(__dirname, '..', 'quizz/geography-history'); console.log(assetsDir) // Middleware pour servir les fichiers statiques app.use('/images', express.static(assetsDir)); // API pour lister les fichiers d'image app.get('/images-list', async (req, res) => { try { const files = await fs.readdir(assetsDir); // Filtrer pour ne renvoyer que les fichiers d'image (par ex : .jpg, .png) const images = files.filter(file => /\.(jpg|jpeg|png|gif)$/.test(file)); res.json(images); } catch (err) { res.status(500).send('Erreur lors de la lecture du dossier'); } }); app.listen(port, () => { console.log(`Serveur démarré sur http://localhost:${port}`); });