Cleanup the code, fix a lot of little things

This commit is contained in:
2023-05-31 01:01:27 +02:00
parent bb842bd147
commit 3cd5f948b9
12 changed files with 87 additions and 77 deletions

View File

@@ -47,7 +47,7 @@
<div class="main">
<div class="secondary">
<img id="img_analyse" src="src/img/Accueil/Analyse.jpg" alt="image montrant des personnes et des diagrammes">
<p id="who_we_are"><div id="LabHidden" class="slide-effect">Léquipe « Vision et Analyse de Données » est une équipe du laboratoire L@bISEN de lISEN <br>Yncréa Ouest. Léquipe mène une activité de R&D pour la conception de plateformes <br>technologiques dobservations et danalyses à partir de réseaux de capteurs intelligents.</div></p>
<p id="who_we_are"></p><div id="LabHidden">Léquipe « Vision et Analyse de Données » est une équipe du laboratoire L@bISEN de lISEN <br>Yncréa Ouest. Léquipe mène une activité de R&D pour la conception de plateformes <br>technologiques dobservations et danalyses à partir de réseaux de capteurs intelligents.</div>
<a href="recherche.html"class="btn">Voir nos axes de recherches</a>
<li class="actu">
<p>Fil d'actualité</p>

View File

@@ -59,13 +59,13 @@
<div class="modal-content">
<span class="close">&times;</span>
<div class="content_techno">
<div class="img_techno">
<img src="/src/img/plateforme_techno/laptop_meeting.jpg" alt="laptop meeting">
</div>
<div class="text_techno">
<h2>Chambre connectée (Living Lab)</h2>
<p id="LivingLabTextModal"></p>
</div>
<div class="img_techno">
<img src="/src/img/plateforme_techno/laptop_meeting.jpg" alt="laptop meeting">
</div>
</div>
</div>
</div>
@@ -83,13 +83,13 @@
<div class="modal-content">
<span class="close">&times;</span>
<div class="content_techno">
<div class="img_techno">
<img src="/src/img/plateforme_techno/server_and_wires.jpg" alt="server and wires">
</div>
<div class="text_techno">
<h2 id="EnvironnementHybridesConnectésTitle">Environnement hybrides connectés</h2>
<p id="EnvironnementHybridesConnectésTextModal">Cette plateforme est en cours de développement et vise à offrir des services à la personne dans des environnements indoor (bureau connecté, école connectée, usine connectée, ...). Parmi les services, nous envisageons létude du comportement des personnes, ladétection danomalies et la sécurité de lenvironnement. Deux enjeux majeurs sont traités : (1) lapplication des algorithmes dintelligence artificielle qui prend tout son sens pour la prédiction dévènements à risque ; (2) la mise en place de moyens numériques interopérables comme une architecture réseau dédiée et des technologies dacquisition et de communications standards permettant laccès aux données et la centralisation/distribution de la prise de décision.Pour cette plateforme nous disposons de moyens de calcul intensif comme le serveur GPU pour faire du FoG computing qui présente une alternative intéressante par rapport au cloud pour des raisons de sécurité de données et de coût.</p>
</div>
<div class="img_techno">
<img src="/src/img/plateforme_techno/server_and_wires.jpg" alt="server and wires">
</div>
</div>
</div>
</div>

View File

@@ -47,9 +47,13 @@
<div id="allButton">
<fieldset>
<legend>Choisir ce que vous souhaitez voir</legend>
<div>
<input id="all" type="radio" onclick="reset()" name="drone" checked>
<label>Toutes</label>
</div>
<div>
<input id="revue" type="radio" onclick="revue()" name="drone" checked>
<input id="revue" type="radio" onclick="revue()" name="drone">
<label>Revue</label>
</div>
@@ -58,10 +62,7 @@
<label>Communication</label>
</div>
<div>
<input id="all" type="radio" onclick="reset()" name="drone">
<label>Toutes</label>
</div>
</fieldset>
<input type="text" id="entry_title" placeholder="Title" onkeypress="searchTitle(event)">
<input type="text" id="entry_author" placeholder="Nom d'auteur" onkeypress="searchAuthor(event)">

View File

@@ -7,11 +7,15 @@ nav {
color: #fff;
padding: 20px;
margin-bottom: 10px;
z-index: 999;
position: relative;
}
.burger-menu {
display: block;
cursor: pointer;
align-items: center;
margin-right: 10px;
}
.menu {

View File

@@ -21,22 +21,19 @@ img{
list-style-type: none;
padding-left: 5px;
padding-right: 5px;
border-radius: 20px;
}
#img_analyse{
width: 500px;
height: 330px;
}
#img_analyse:hover{
width: 1000px;
height: 660px;
}
#who_we_are{
width: 100%;
height: 100%;
color: red;
color: black;
text-align: center;
z-index: 0;
}
.word {
@@ -68,10 +65,12 @@ img{
#img_competence{
width: 800px;
height: 450px;
transition: width 0.5s, height 0.5s;
}
#img_hover{
width: auto;
#img_competence:hover{
width: 1000px;
height: 550px;
}
#LabHidden{

View File

@@ -1,25 +1,25 @@
function validateForm() {
//Récupérer les valeurs des champs
var prenomNom = document.getElementById("usrnInp").value;
var email = document.getElementById("emailInp").value;
var message = document.getElementById("textarea1Inp").value;
let prenomNom = document.getElementById("usrnInp").value;
let email = document.getElementById("emailInp").value;
let message = document.getElementById("textarea1Inp").value;
//Définir les expressions régulières
var prenomNomRegex = /^[a-zA-Z]+\s[a-zA-Z]+$/;
var emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
let prenomNomRegex = /^[a-zA-Z]+\s[a-zA-Z]+$/;
let emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
//Tester les valeurs des champs avec les expressions régulières
var isPrenomNomValid = prenomNomRegex.test(prenomNom);
var isEmailValid = emailRegex.test(email);
var isMessageValid = message.length >= 20 && message.length <= 1000;
let isPrenomNomValid = prenomNomRegex.test(prenomNom);
let isEmailValid = emailRegex.test(email);
let isMessageValid = message.length >= 20 && message.length <= 1000;
//console.log(isPrenomNomValid, isEmailValid, isMessageValid);
//console.log(prenomNom, email, message);
//Récupérer les éléments d'erreur
var submitBtn = document.getElementById("submitBtn");
var prenomNomError = document.getElementById("usrnError");
var emailError = document.getElementById("emailError");
var messageError = document.getElementById("textarea1Error");
let submitBtn = document.getElementById("submitBtn");
let prenomNomError = document.getElementById("usrnError");
let emailError = document.getElementById("emailError");
let messageError = document.getElementById("textarea1Error");
//Afficher les messages d'erreur

View File

@@ -23,6 +23,7 @@ function displayWord() {
wordElement.classList.add('show');
}, 1000);
});
slideAndDisapear();
}
/*
@@ -39,41 +40,30 @@ displayWord();
slide(element, 100, 500, 200);
*/
function slide({ timing, draw, duration }) {
const start = performance.now();
requestAnimationFrame(function animate(time) {
// timeFraction passe de 0 à 1
let timeFraction = (time - start) / duration;
if (timeFraction > 1) timeFraction = 1;
// Calculer l'état courant de l'animation
const progress = timing(timeFraction);
draw(progress); // Dessinez-le
if (timeFraction < 1) {
requestAnimationFrame(animate);
}
});
}
function draw(progress) {
const train = document.getElementById('lahidden');
train.style.left = progress + 'px';
function slideAndDisapear(){
//Quand tout le texte est apparu, il fait une translation vers la droite puis vers la gauche avant de revenir à sa position initiale, puis tout sefface et le cycle recommence.
const element = document.getElementById('who_we_are'); // Récupérer l'élément à animer
setTimeout(() => { // Mettre l'élément a gauche
element.style.transform = 'translateX(-5%)';
}, 5000);
setTimeout(() => { // Remettre l'élément à sa position initiale
element.style.transform = 'translateX(0)';
}, 5500);
setTimeout(() => { // Mettre l'élément a droite
element.style.transform = 'translateX(5%)';
}, 6000);
setTimeout(() => { // Remettre l'élément à sa position initiale
element.style.transform = 'translateX(0)';
}, 6500);
setTimeout(() => {
element.innerHTML = '';
}, 7000);
setTimeout(() => {
displayWord();
}, 7250);
}
// Appel de la fonction displayWord
displayWord();
setTimeout(() => {
slide({
timing: function(timeFraction) {
return timeFraction; // Utilisation du timing linéaire par défaut
},
draw: draw,
duration: 2000 // Durée de l'animation en millisecondes
});
}, 1000); // Temps d'attente pour que l'animation des mots soit terminée (ajustez si nécessaire)
// Appel de la fonction slide

View File

@@ -65,6 +65,21 @@ document.addEventListener('DOMContentLoaded', function() {
addMember();
});
document.body.appendChild(addMemberButton);
let MembersJS = document.querySelectorAll('.NewMembresJS')
MembersJS.forEach(function(element) {
//Ajout du bouton supprimer
const deleteButton = document.createElement('button');
deleteButton.innerText = 'Supprimer';
deleteButton.id = 'deleteButton';
deleteButton.addEventListener('click', function() {
//Supprime le membre auquel le bouton appartient
const confirmation = confirm('Voulez vous vraiment supprimer ce membre ?');
if (confirmation === true) {
element.remove();
}
});
element.appendChild(deleteButton);
});
} else {
alert('Mot de passe du profil administrateur incorrect !');
console.error('Mot de passe du profil administrateur incorrect !');
@@ -83,8 +98,8 @@ document.addEventListener('DOMContentLoaded', function() {
'use strict';
var isDrawing, lastPoint;
var container = document.getElementById('js-container'),
let isDrawing, lastPoint;
let container = document.getElementById('js-container'),
canvas = document.getElementById('js-canvas'),
canvasWidth = canvas.width,
canvasHeight = canvas.height,
@@ -121,14 +136,14 @@ document.addEventListener('DOMContentLoaded', function() {
function getFilledInPixels(stride) {
if (!stride || stride < 1) { stride = 1; }
var pixels = ctx.getImageData(0, 0, canvasWidth, canvasHeight),
let pixels = ctx.getImageData(0, 0, canvasWidth, canvasHeight),
pdata = pixels.data,
l = pdata.length,
total = (l / stride),
count = 0;
// Iterate over all pixels
for(var i = count = 0; i < l; i += stride) {
for(let i = count = 0; i < l; i += stride) {
if (parseInt(pdata[i]) === 0) {
count++;
}
@@ -138,7 +153,7 @@ document.addEventListener('DOMContentLoaded', function() {
}
function getMouse(e, canvas) {
var offsetX = 0, offsetY = 0, mx, my;
let offsetX = 0, offsetY = 0, mx, my;
if (canvas.offsetParent !== undefined) {
do {
@@ -171,12 +186,12 @@ document.addEventListener('DOMContentLoaded', function() {
e.preventDefault();
var currentPoint = getMouse(e, canvas),
let currentPoint = getMouse(e, canvas),
dist = distanceBetween(lastPoint, currentPoint),
angle = angleBetween(lastPoint, currentPoint),
x, y;
for (var i = 0; i < dist; i++) {
for (let i = 0; i < dist; i++) {
x = lastPoint.x + (Math.sin(angle) * i) - 25;
y = lastPoint.y + (Math.cos(angle) * i) - 25;
ctx.globalCompositeOperation = 'destination-out';

View File

@@ -11,7 +11,7 @@ burger.onclick = function() {
function updateTime() {
//Afficher l'heure actuelle
setInterval(function() {var now = new Date();
setInterval(function() {let now = new Date();
let hours = now.getHours();
let minutes = now.getMinutes();
let seconds = now.getSeconds();
@@ -100,6 +100,7 @@ phoneNumbers.forEach(function(phoneNumber) {
if (input === copiedText){ // Si l'utilisateur a entré le numéro de téléphone correctement
console.log("Vous appelez ce numéro : " + copiedText);
let audio = new Audio('/src/sound/sonnerie.mp3');
audio.volume = 1;
audio.play();
// On arrête la sonnerie au bout de 5 secondes
setTimeout(function() {

View File

@@ -2,7 +2,7 @@ function returnToTopButton(){
//Attend 2 secondes avant de creer le bouton pour attendre la fin du loader
setTimeout(function (){
//Creation du bouton
var TopButton = document.createElement("button");
let TopButton = document.createElement("button");
TopButton.setAttribute("id", "returnToTopButton");
TopButton.setAttribute("onclick", "returnToTop()");
TopButton.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z"/></svg>';
@@ -34,7 +34,7 @@ function changeImage(image){
function changeImageUnderMouse(){
document.addEventListener('click', function(event){
var elementClicked = event.target;
let elementClicked = event.target;
//console.log(elementClicked);
//Verifie si l'element cliqué est une image
if(elementClicked.tagName == "IMG"){

View File

@@ -29,9 +29,9 @@ document.addEventListener('DOMContentLoaded', function() {
});
function truncateText(elementId, maxLength) {
var element = document.getElementById(elementId);
let element = document.getElementById(elementId);
if (element) {
var text = element.textContent.trim();
let text = element.textContent.trim();
if (text.length > maxLength) {
return text.substring(0, maxLength) + "...";
} else {

Binary file not shown.