This commit is contained in:
julliechaumard
2023-02-28 01:15:30 +01:00
parent e09ebe2d92
commit dd49ba357b
151 changed files with 17859 additions and 0 deletions

123
app.js Normal file
View File

@@ -0,0 +1,123 @@
/////////////////////////////////////////////////
// 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 daccè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 lapplication express à partir dun autre répertoire,
// il est plus sûr dutiliser le chemin daccè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);