-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
121 lines (82 loc) · 4.47 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
const express = require('express'); //Déclérations des différents modules (ce n'est pas obligatoire, mais si vous n'avez pas installer le module, vous n'aurez pas d'erreur)
fs = require('fs');
bodyParser = require('body-parser');
ejs = require('ejs');
let activerdesactiver; //Let, permet de créer une variable qui sotck une chaîne de caractère
let nomprenom;
let app = express(); //Création d'un serveur web avec le module express, serveur hébergé sur le port 8080
port = process.env.PORT | 8080;
app.use(bodyParser.urlencoded({
extended: true
}))
app.set('view engine', 'ejs'); //EJS est un module, qui permet d'afficher un des variables particulières
app.set('views', "./views")
app.get('/', (req, res) => { //Si le serveur reçois une requette http de type GET alors ...
fs.readFile('files/ouvertferme.txt', (err, ouvertferme) => { //Le serveur lit le contenu du fichier et le copie dans un variable nommé "ouvetrferme"
fs.readFile('files/fichier1er.txt', (err, fichier1er) => {
fs.readFile('files/fichier2nd.txt', (err, fichier2nd) => {
fs.readFile('files/fichier3eme.txt', (err, fichier3eme) => {
res.render('index', {ouvertferme: ouvertferme, historique1er: fichier1er, historique2nd: fichier2nd, historique3eme: fichier3eme}); //Le serveur envoie la page web nommé "index" au client
if (ouvertferme == "Activé")
{
fs.writeFile('files/ouvertferme.txt', 'Fermé', (err) => {});
}
});
});
});
});
});
app.post('/post/etat/desactiver', (req, res) => { //Si le serveur reçois une requette http de type POST alors sur cette URL...
fs.writeFile('files/ouvertferme.txt', 'Désactivé', (err) => {}); //Il écrit "Désactivé" dans le fichier "ouvertferme"
activerdesactiver = 'Désactivé'; //activerdesactiver stock désormais "Désactivé"
res.redirect('/'); //Pour finir, il redirige le client vers la première page
})
app.post('/post/etat/activer', (req, res) => { //Même situation que juste au dessus
fs.writeFile('files/ouvertferme.txt', 'Activé', (err) => {});
activerdesactiver = 'Activé';
res.redirect('/');
})
app.get('/post/activerdesactiver', (req, res) => { //Cette partie de code est utilisé par l'Arduino, ceci permet de savoir si le portail est activé ou désactivé
res.end(activerdesactiver); //Envoie au client soit l'Arduino le contenu de la variable "activerdesactiver"
})
app.get('/post/fauchert', (req, res) => {
nomprenom = 'Théo Faucher';
fonction( req, res); //Execute le fonction nommé "fonction"
})
app.get('/post/lejeunem', (req, res) => {
nomprenom = 'Maxime Le Jeune';
fonction( req, res);
})
function fonction( req, res) //Fontion qui permet d'éxécuter à plusieurs endroits ce code, tout en étant à un seul endroit
{
let my_date = new Date(); //Création d'une date nommé "my_date"
let my_minute = my_date.getMinutes(); //Stock les minutes par rapport à l'heure qui l'est
if(my_minute < 10) //Si ...
{
my_minute = "0" + my_minute; // On rajoute un 0 pour obtenir 09 au lieu de 9
}
let my_good_time =my_date.getHours() +1 + "h" + my_minute; //Nous assemblons les différentes variables dans une chaîne de caractères
fs.writeFile('files/ouvertferme.txt', 'Ouvert', (err) => {});
fs.copyFileSync('files/fichier2nd.txt', 'files/fichier3eme.txt', (err) => {}); //Copie le contenue du fichier nommé "fichier2nd" dans le fichier nommé "fichier3eme"
fs.copyFileSync('files/fichier1er.txt', 'files/fichier2nd.txt', (err) => {});
fs.writeFile('files/fichier1er.txt', nomprenom + " à " + my_good_time , (err) => {});
res.end(my_good_time);
}
app.get('/post/ferme', (req, res) => {
fs.writeFile('files/ouvertferme.txt', 'Fermé', (err) => {
res.end("ferme");
})
});
app.use((req, res, next) =>
{
res.status(404).send("Erreur 404: Page non existante") //Cela envoie ce message si, l'URL, saisie est incorrect
});
app.use((err, req, res, next) =>
{
console.error(err.stack)
res.status(500).send('Quelque chose est cassé ! Désolé du dérangement') //Si, le serveur rencontre un problème, il rend ca au client
});
app.listen(port, () =>
{
console.log(`Server running on localhost:${port}`); //Ecrit dans la console ce message
});