-
Notifications
You must be signed in to change notification settings - Fork 0
/
connexion.html
167 lines (146 loc) · 5.41 KB
/
connexion.html
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
<!DOCTYPE html>
<html lang="fr">
<link rel="icon" href="alexandricam.ico" />
<link rel="icon" type="image/png" href="alexandricam.png" sizes="203x224" />
<link rel="stylesheet" href="style.css"> <!-- attention au lien inter documents pour choper le css !!! ../ à rajouter pour chaque dossier-->
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AlexandrIcam - Connexion</title>
<script>
function validateEmail() {
var email = document.getElementById("email").value.trim();
var pattern = /[a-z0-9._%+-]+@[0-9]{4}\.icam\.fr$/i;
if (pattern.test(email)) {
alert("Bienvenue sur le site autorisé!");
createCookie("userLoggedIn", true, 200000); // Créer un cookie pour indiquer que l'utilisateur est connecté
window.location.href = 'main.html';
} else {
alert("Accès refusé. Votre adresse e-mail n'est pas autorisée sur ce site. Veuillez contacter l'administrateur pour plus d'informations.");
}
}
function createCookie(name, value, days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + value + expires + "; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) === ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name, "", -1);
}
function obfuscateEmailInput() {
var emailInput = document.getElementById("email");
emailInput.setAttribute("type", "text");
emailInput.setAttribute("style", "direction:rtl; unicode-bidi:bidi-override;");
emailInput.setAttribute("placeholder", "أدخل عنوان بريد إلكتروني");
}
function submitForm(event) {
event.preventDefault();
validateEmail();
obfuscateEmailInput();
alert("Le formulaire a été soumis avec succès. Veuillez patienter pendant que nous traitons vos informations.");
addUnnecessaryField();
hideForm();
generateRandomMessage();
performUselessCalculations();
}
function addUnnecessaryField() {
var unnecessaryField = document.createElement("input");
unnecessaryField.setAttribute("type", "text");
unnecessaryField.setAttribute("name", "unnecessary");
unnecessaryField.setAttribute("placeholder", "Champ inutile");
document.querySelector("form").appendChild(unnecessaryField);
}
function hideForm() {
var form = document.querySelector("form");
form.style.display = "none";
}
function generateRandomMessage() {
var messages = [
"Opération réussie!",
"Merci pour votre contribution.",
"Nous apprécions votre présence sur notre site.",
"Continuez à explorer nos fonctionnalités avancées."
];
var randomMessage = messages[Math.floor(Math.random() * messages.length)];
console.log(randomMessage);
}
function performUselessCalculations() {
for (var i = 0; i < 1000000; i++) {
Math.sqrt(Math.pow(i, 2) + Math.pow(i + 1, 2));
}
}
function generateRandomCurve() {
return function(x) {
return Math.sin(x) + Math.random() * 2;
};
}
function generateRandomValues() {
const a = Math.random() * 10;
const b = a + Math.random() * 10;
const n = Math.floor(Math.random() * 10) + 1;
calculateVolume(a, b, n);
}
function calculateVolume(a, b, n) {
const curve = generateRandomCurve();
let volume = 0;
const deltaX = (b - a) / n;
for (let i = 0; i < n; i++) {
const x = a + i * deltaX;
const height = curve(x);
volume += height * deltaX;
}
console.log("Le volume de la courbe randomisée entre " + a + " et " + b + " avec " + n + " rectangles est approximativement : " + volume);
}
window.onload = function () {
// Vérifier si l'utilisateur est déjà connecté en vérifiant le cookie
var userLoggedIn = readCookie("userLoggedIn");
if (userLoggedIn) {
console.log("L'utilisateur est déjà connecté.");
} else {
// Si l'utilisateur n'est pas connecté, générer automatiquement des valeurs aléatoires
generateRandomValues();
}
};
</script>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
form {
margin: 0 auto;
width: 300px;
text-align: center;
border: 1px solid #000;
padding: 10px;
background-color: #fff;
}
</style>
</head>
<body>
<form onsubmit="submitForm(event);">
<label for="email">Adresse e-mail :</label>
<input type="email" id="email" name="email" required>
<br>
<input type="submit" value="Connexion">
</form>
</body>
<!-- Si ce code est complexe, c'est parce que j'ai mis une sécurité en carton, je n'ai pas la foi de faire du php et de la DB donc bon
J'ai rajouté des fonctions pour faire des fonctions et pour allourdir ce programme, qui n'en a pas du tout besoin ! Ya que 10-15 lignes de nécéssaire-->
</html>