///////////////////////////////////////////////// // LOGGING ///////////////////////////////////////////////// const logger = require("./public/js/app/logger"); logger.info('bonjour Julie'); ///////////////////////////////////////////////// // VARIABLES D'ENVIRONNEMENT ///////////////////////////////////////////////// // DOTENV // Ne pas utiliser de fichiers .env dans votre environnement de production, // mais définir plutôt les valeurs d'environnement sur l'hébergeur require('dotenv').config(); logger.info('process.env.PORT : ' + process.env.PORT); ///////////////////////////////////////////////// // APPELS DES MODULES ///////////////////////////////////////////////// // EXPRESS const express = require('express'); // EXPRESS-SESSION const session = require('express-session'); // BODY-PARSER //Le package body-parser permet de décomposer les requêtes HTTP POST, PATCH, etc. afin de pouvoir extraire les infoirmations tranmises dans des formulaires. Ces informations apparaissent dans le champ req.body. const bodyparser = require('body-parser'); ///////////////////////////////////////////////// // MIDDLEWARE // INITIALISER LES MODULES DANS LE PROJET APP ///////////////////////////////////////////////// // EXPRESS //// "app" étant la variable qui désigne le projet const app = express(); // EXPRESS-SESSION var session_cookie = { secret: process.env.COOKIE_SECRET, resave: false, saveUninitialized: false, cookie: {} } logger.info("process.env.ENV : " + process.env.ENV); if (process.env.ENV === 'production') { logger.info("express-session secured"); app.set('trust proxy', 1); // trust first proxy session_cookie.cookie.secure = true; // serve secure cookies } app.use(session(session_cookie)) // JSON //// Read datas on API //// needed by Express to read post from HTML Form app.use(express.json()); // BODY-PARSER //// Pour la méthode post du formulaire app.use(bodyparser.urlencoded({ extended: false})); app.use(bodyparser.json()); ///////////////////////////////////////////////// // PORT D'ÉCOUTE WEB ///////////////////////////////////////////////// // port dans variable d'environnement OU (||) par défaut 8888 const port = process.env.PORT; app.listen(port); ///////////////////////////////////////////////// // MOTEUR DE TEMPLATE HTML ///////////////////////////////////////////////// // appeler le moteur de template html ejs app.set('view engine', 'ejs'); // le répertoire dans lequel se trouvent les fichiers modèles app.set('views', './views') ///////////////////////////////////////////////// // ASSETS (de Express) ///////////////////////////////////////////////// // donner au programme le nom du dossier où sont les assets (css, image...) // Le chemin d’accès que vous fournissez à la fonction express.static est en rapport // avec le répertoire à partir duquel vous lancez votre processus node. // Si vous exécutez l’application express à partir d’un autre répertoire, // il est plus sûr d’utiliser le chemin d’accès absolu que vous voulez servir // ex : http://localhost:8080/assets/images/kitten.jpg app.use('/public', express.static('public')); ///////////////////////////////////////////////// // ROUTES ///////////////////////////////////////////////// // APPELER LE FICHIER ROUTE // Exemple à modifier : const appRouter = require("./routes/appRouter"); const adhesionRouter = require("./routes/adhesionRouter"); const stagenatRouter = require("./routes/stagenatRouter"); const rassemblementRouter = require("./routes/rassemblementRouter"); // Accueil du site // [DOMAIN]/ app.use("/", appRouter); // Adhésion // [DOMAIN]/inscription adhésion app.use("/inscription", adhesionRouter); // STAGE NATIONAL // [DOMAIN]/stagenational app.use("/stagenational", stagenatRouter); // RASSEMBLEMENT IDF // [DOMAIN]/rassemblementidf app.use("/rassemblementidf", rassemblementRouter);