From d8c7540083a019b97bb6ac4827d1aa3d5131107e Mon Sep 17 00:00:00 2001
From: Noah
Date: Fri, 5 Jun 2026 11:59:05 +0200
Subject: [PATCH] suppression des fichiers inutiles / parties de codes inutiles
/ liens entre lespages
---
controllers/auth_ctrl2.php | 51 +++------
controllers/modif_compte_ctrl.php | 68 ++++++------
controllers/utilisateur_ctrl.php | 60 +++++------
css/global.css | 16 +++
index.php | 41 +++----
models/modif_compte_model.php | 82 ++++++--------
models/user_crud.php | 15 +--
models/utilisateur_crud.php | 15 +++
views/contact_views.php | 85 ++++++++-------
views/creation_compte_view.php | 42 +++-----
views/header.php | 33 +++---
views/login_views.php | 18 ++--
views/modif_compte_view.php | 170 ++++++++++++------------------
13 files changed, 318 insertions(+), 378 deletions(-)
diff --git a/controllers/auth_ctrl2.php b/controllers/auth_ctrl2.php
index 04e05e9..5ea9b0b 100644
--- a/controllers/auth_ctrl2.php
+++ b/controllers/auth_ctrl2.php
@@ -1,63 +1,46 @@
diff --git a/controllers/utilisateur_ctrl.php b/controllers/utilisateur_ctrl.php
index 789b847..30a448e 100644
--- a/controllers/utilisateur_ctrl.php
+++ b/controllers/utilisateur_ctrl.php
@@ -1,41 +1,37 @@
Erreur : Le nom ou le login contient des caractère non autorisés.";
- require('views/creation_compte_view.php');
-
- } else {
-
- $mdp_hache = password_hash($mdp, PASSWORD_DEFAULT);
-
- create_utilisateur_crud($nom, $prenom, $role, $nomdep, $num_tel, $login, $mdp_hache);
-
- $_SESSION['notification'] = "Ajout du nouvel utilisateur réussi";
-
- header('Location: index.php');
- exit();
- }
+ if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
+ header('Location: index.php?route=add_utilisateurs_form');
+ exit;
}
+
+ $nom = $_POST['nom'];
+ $prenom = $_POST['prenom'];
+ $role = $_POST['role'];
+ $nomdep = $_POST['nomdep'];
+ $num_tel = $_POST['num_tel'];
+ $login = $_POST['login'];
+ $mdp = $_POST['mdp'];
+
+ if (!preg_match('/^[a-zA-Z0-9_-]+$/', $login)) {
+ $_SESSION['notification'] = 'Erreur : le login contient des caractères non autorisés.';
+ require('views/creation_compte_view.php');
+ return;
+ }
+
+ $mdp_hache = password_hash($mdp, PASSWORD_DEFAULT);
+
+ require('models/connection.php');
+ $c = connection();
+ require('models/utilisateur_crud.php');
+ create_utilisateur_crud($c, $nom, $prenom, $role, $nomdep, $num_tel, $login, $mdp_hache);
+
+ $_SESSION['notification'] = 'Utilisateur créé avec succès.';
+ header('Location: index.php');
+ exit;
}
diff --git a/css/global.css b/css/global.css
index 3d29a12..f76742e 100644
--- a/css/global.css
+++ b/css/global.css
@@ -80,6 +80,22 @@ article {
article h2 { color: #3b4a2e; margin-top: 0; }
+/* SOUS-NAVIGATION */
+.sub-nav {
+ margin-bottom: 15px;
+ padding-bottom: 10px;
+ border-bottom: 1px solid #e8e2d2;
+}
+
+.sub-nav a {
+ display: inline-block;
+ margin-right: 15px;
+ color: #c49a3c;
+ text-decoration: none;
+}
+
+.sub-nav a:hover { text-decoration: underline; }
+
/* TABLEAUX */
table { width: 100%; border-collapse: collapse; margin: 10px 0; }
table th { background: #f8f6f0; color: #3b4a2e; padding: 10px; text-align: left; border-bottom: 2px solid #c49a3c; }
diff --git a/index.php b/index.php
index b580207..a89fbc0 100644
--- a/index.php
+++ b/index.php
@@ -35,37 +35,13 @@
require('views/welcome_view.php');
break;
- case 'families':
- require('controllers/family_ctrl.php');
- families_list_ctrl();
- break;
-
- case 'family':
- require('controllers/family_ctrl.php');
- family_print_ctrl();
- break;
-
- case 'contact':
- require('views/contact_view.php');
- break;
-
- case 'solutions':
- require('controllers/solution_ctrl.php');
- solutions_list_ctrl();
- break;
-
- case 'add_equipment':
- require('controllers/equipment_ctrl.php');
- add_equipment_ctrl();
- break;
-
case 'auth':
- require('controllers/auth_ctrl.php');
+ require('controllers/auth_ctrl2.php');
login_ctrl();
break;
-
+
case 'logout':
- require('controllers/auth_ctrl.php');
+ require('controllers/auth_ctrl2.php');
logout_ctrl();
break;
@@ -78,7 +54,16 @@
require('controllers/utilisateur_ctrl.php');
add_utilisateurs_write_ctrl();
break;
-
+
+ case 'modif_utilisateurs_form':
+ require('controllers/modif_compte_ctrl.php');
+ modif_utilisateurs_form_ctrl();
+ break;
+
+ case 'modif_utilisateurs':
+ require('controllers/modif_compte_ctrl.php');
+ modif_utilisateurs_write_ctrl();
+ break;
case 'operations':
require('views/operations_view.php');
diff --git a/models/modif_compte_model.php b/models/modif_compte_model.php
index 5743a1c..e77e919 100644
--- a/models/modif_compte_model.php
+++ b/models/modif_compte_model.php
@@ -1,56 +1,44 @@
query($req);
+ $comptes = $res->fetchAll(PDO::FETCH_ASSOC);
+ $res->closeCursor();
+ return $comptes;
}
-// Fonction pour récupérer un seul compte à partir de son ID
-function getCompteById($conn, $id) {
- $sql = "SELECT Utilisateur.ID, Utilisateur.login, Utilisateur.type,
- Sauveteur.nom, Sauveteur.prenom, Sauveteur.departement, Sauveteur.NumTel
- FROM Utilisateur
- JOIN Sauveteur ON Sauveteur.ID = Utilisateur.ID
- WHERE Utilisateur.ID = $id";
-
- $result = mysqli_query($conn, $sql);
- // On retourne directement la ligne du résultat
- return mysqli_fetch_assoc($result);
+// Récupère un compte par son ID
+function get_compte_by_id(PDO $c, int $id): ?array {
+ $req = "SELECT ID, login, type, nom, prenom, nomdep, num_tel FROM Utilisateur WHERE ID = :id";
+ $prep = $c->prepare($req);
+ $prep->bindValue(':id', $id, PDO::PARAM_INT);
+ $prep->execute();
+ $compte = $prep->fetch(PDO::FETCH_ASSOC);
+ $prep->closeCursor();
+ return $compte ?: null;
}
-// Fonction pour mettre à jour un compte dans la base de données
-function updateCompte($conn, $id, $nom, $prenom, $role, $departement, $numtel, $login, $passwd) {
+// Met à jour un compte utilisateur
+function update_compte(PDO $c, int $id, string $nom, string $prenom, string $role, string $nomdep, string $num_tel, string $login, string $passwd): void {
+ $req = "UPDATE Utilisateur SET nom = :nom, prenom = :prenom, type = :role, nomdep = :dep, num_tel = :tel, login = :login WHERE ID = :id";
+ $prep = $c->prepare($req);
+ $prep->bindValue(':nom', $nom);
+ $prep->bindValue(':prenom', $prenom);
+ $prep->bindValue(':role', $role);
+ $prep->bindValue(':dep', $nomdep);
+ $prep->bindValue(':tel', $num_tel);
+ $prep->bindValue(':login', $login);
+ $prep->bindValue(':id', $id, PDO::PARAM_INT);
+ $prep->execute();
- // Mise à jour de la table Sauveteur (nom, prénom, département, téléphone)
- $sql1 = "UPDATE Sauveteur
- SET nom = '$nom', prenom = '$prenom', departement = '$departement', NumTel = '$numtel'
- WHERE ID = $id";
- mysqli_query($conn, $sql1);
-
- // Mise à jour de la table Utilisateur (login, type/rôle)
- $sql2 = "UPDATE Utilisateur
- SET login = '$login', type = '$role'
- WHERE ID = $id";
- mysqli_query($conn, $sql2);
-
- // On met à jour le mot de passe seulement si l'utilisateur en a saisi un nouveau
- if ($passwd != "") {
- // On utilise password_hash pour ne pas stocker le mot de passe en clair
- $passwd_hash = password_hash($passwd, PASSWORD_DEFAULT);
- $sql3 = "UPDATE Utilisateur
- SET passwd = '$passwd_hash'
- WHERE ID = $id";
- mysqli_query($conn, $sql3);
+ if (!empty($passwd)) {
+ $hash = password_hash($passwd, PASSWORD_DEFAULT);
+ $req2 = "UPDATE Utilisateur SET passwd = :passwd WHERE ID = :id";
+ $prep = $c->prepare($req2);
+ $prep->bindValue(':passwd', $hash);
+ $prep->bindValue(':id', $id, PDO::PARAM_INT);
+ $prep->execute();
}
}
-?>
diff --git a/models/user_crud.php b/models/user_crud.php
index da9d67f..88d2eab 100644
--- a/models/user_crud.php
+++ b/models/user_crud.php
@@ -1,16 +1,11 @@
prepare($req);
- $prep->bindValue(':id', $id);
+ $prep = $c->prepare($req);
+ $prep->bindValue(':login', $login);
$prep->execute();
$auth = $prep->fetch(PDO::FETCH_ASSOC);
$prep->closeCursor();
- return $auth;
- }
-
\ No newline at end of file
+ return $auth ?: null;
+}
diff --git a/models/utilisateur_crud.php b/models/utilisateur_crud.php
index e69de29..a95829c 100644
--- a/models/utilisateur_crud.php
+++ b/models/utilisateur_crud.php
@@ -0,0 +1,15 @@
+prepare($req);
+ $prep->bindValue(':login', $login);
+ $prep->bindValue(':passwd', $mdp_hache);
+ $prep->bindValue(':type', $role);
+ $prep->bindValue(':nom', $nom);
+ $prep->bindValue(':prenom', $prenom);
+ $prep->bindValue(':nomdep', $nomdep);
+ $prep->bindValue(':num_tel', $num_tel);
+ $prep->execute();
+}
diff --git a/views/contact_views.php b/views/contact_views.php
index 93fa94e..515fa5c 100644
--- a/views/contact_views.php
+++ b/views/contact_views.php
@@ -1,45 +1,50 @@
-
+
-Ajouts de personnes
+Ajout de personnes
+
+
- Département :
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/views/creation_compte_view.php b/views/creation_compte_view.php
index 140af5e..32921c2 100644
--- a/views/creation_compte_view.php
+++ b/views/creation_compte_view.php
@@ -1,15 +1,12 @@
-
-
+
-