// Chargement des variables d'environnement depuis .env require('dotenv').config(); // Importation des modules nécessaires const express = require('express'); const path = require('path'); // Importation des modules personnalisés const jwtMiddleware = require('./middlewares/jwtMiddleware'); const logger = require('./utils/logger'); const { db } = require('./db/db-connect'); const routes = require('./routes'); // Initialisation de l'application Express const app = express(); // Configuration du moteur de rendu HTML avec EJS app.set('view engine', 'ejs'); app.engine('ejs', require('ejs').__express); // Configuration pour la gestion des corps de requêtes en JSON app.use(express.json()); app.use(express.urlencoded({ extended: true })); // Middlewares on use app.use(jwtMiddleware); // Spécification du dossier contenant les fichiers statiques pour le frontend app.use(express.static(path.join(process.cwd(), 'public'))); // Initialisation de Materialize CSS pour le frontend app.use('/materialize', express.static(path.join(process.cwd(), 'public/css/materialize-css/dist'))); app.use('/', routes); // Middleware pour la gestion des erreurs app.use((err, req, res, next) => { logger.log('error', err.stack); res.status(500).send('Quelque chose a mal tourné !'); }); module.exports = app;