total_1ère

This commit is contained in:
2026-07-20 16:33:04 +02:00
parent dd49ba357b
commit d49cf88d99
275 changed files with 63607 additions and 5599 deletions

150
app_aduzuki.js Normal file
View File

@@ -0,0 +1,150 @@
/////////////////////////////////////////////////
// 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
// not for STRIPE WEBHOOK
app.use('/wh_stripe', express.raw({ type: 'application/json' }));
// for the others
app.use(express.json());
// BODY-PARSER
//// Pour récupérer les saisies des formulaires des pages via express (req.body)
app.use(bodyparser.urlencoded({ extended: true}));
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 : DOMAIN/assets/images/kitten.jpg
app.use('/public', express.static('public'));
/////////////////////////////////////////////////
// ROUTES
/////////////////////////////////////////////////
const appRouter = require("./routes/appRouter");
const adhesionRouter = require("./routes/adhesionRouter");
const stagenatRouter = require("./routes/stagenatRouter");
const rassemblementRouter = require("./routes/rassemblementRouter");
const rassemblementraRouter = require("./routes/rassemblementraRouter");
const concertRouter = require("./routes/concertRouter");
const donRouter = require("./routes/donRouter");
const ventevideoRouter = require("./routes/ventevideoRouter");
const wuzukiRouter = require("./routes/wuzukiRouter");
// Accueil du site
// [DOMAIN]/
app.use("/", appRouter);
// Adhésion
// [DOMAIN]/adhésion
app.use("/adhesion", adhesionRouter);
// STAGE NATIONAL
// [DOMAIN]/stagenational
app.use("/stagenational", stagenatRouter);
// RASSEMBLEMENT IDF
// [DOMAIN]/rassemblementidf
app.use("/rassemblementidf", rassemblementRouter);
// RASSEMBLEMENT IDF
// [DOMAIN]/rassemblementidf
app.use("/rassemblementra", rassemblementraRouter);
// CONCERT ANNUEL
// [DOMAIN]/concert
app.use("/concert", concertRouter);
// DON
// [DOMAIN]/don
app.use("/don", donRouter);
// VENTE VIDEO
// [DOMAIN]/boutique
app.use("/boutique", ventevideoRouter);
// WUZUKI
// [DOMAIN]/wuzuki
app.use("/wuzuki", wuzukiRouter);