feat: add CSS styling

This commit is contained in:
Morph01
2025-02-04 17:30:04 -08:00
parent e3243dd018
commit fcc7e22fdb
9 changed files with 395 additions and 124 deletions

269
assets/css/style.css Normal file
View File

@@ -0,0 +1,269 @@
/* Reset et styles de base */
* {
margin: 0;
box-sizing: border-box;
}
/* Menu Lists specific padding */
.menu-content ul {
padding-left: 40px;
}
.menu-content ul ul {
padding-left: 20px;
}
/* Content containers */
.menu-content,
.profile-content {
margin: 20px;
padding: 15px;
background: #fff;
border-radius: 5px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.logout-form {
position: absolute;
top: 20px;
right: 20px;
background: transparent;
border: none;
padding: 0;
margin: 0;
}
.logout-button {
background-color: #3498db;
color: white;
padding: 10px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
}
.logout-button:hover {
background-color: #2980b9;
}
.action-buttons {
text-align: center;
padding: 8px 0;
}
.btn {
display: inline-block;
padding: 6px 12px;
margin: 0 15px;
border-radius: 4px;
text-decoration: none;
color: white;
min-width: 80px;
}
.btn-edit {
background-color: #3498db;
}
.btn-edit:hover {
background-color: #2980b9;
text-decoration: none;
}
.btn-delete {
background-color: #e74c3c;
}
.btn-delete:hover {
background-color: #c0392b;
text-decoration: none;
}
body {
font-family: Arial, sans-serif;
line-height: 1.6;
padding: 20px;
background-color: #f4f4f4;
color: #333;
}
/* En-têtes */
h1,
h2,
h3 {
color: #2c3e50;
margin-bottom: 15px;
}
h1 {
font-size: 2em;
}
h2 {
font-size: 2em;
margin: 20px
}
h3 {
font-size: 1.2em;
}
/* Tableaux */
table {
width: 100%;
border-collapse: collapse;
margin: 15px 0;
background: #fff;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
th,
td {
padding: 12px;
text-align: left;
border: 1px solid #ddd;
}
th {
background-color: #3498db;
color: white;
font-weight: bold;
}
tr:nth-child(even) {
background-color: #f9f9f9;
}
/* Formulaires */
form {
background: #fff;
padding: 20px;
border-radius: 5px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
max-width: 500px;
margin: 20px auto;
}
label {
display: block;
margin: 10px 0 5px;
font-weight: bold;
}
input[type="text"],
input[type="password"],
input[type="email"],
select {
width: 100%;
padding: 8px;
margin-bottom: 10px;
border: 1px solid #ddd;
border-radius: 4px;
}
input[type="submit"],
button {
background-color: #3498db;
color: white;
padding: 10px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
margin-top: 10px;
}
input[type="submit"]:hover,
button:hover {
background-color: #2980b9;
}
/* Liens */
a {
color: #3498db;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
/* Menu Lists */
.menu ul {
list-style: none;
padding-left: 20px;
margin: 15px 0;
}
.menu li {
margin-bottom: 15px;
padding: 10px;
background: rgba(255, 255, 255, 0.8);
border-radius: 4px;
}
.menu ul ul {
margin-left: 20px;
border-left: 3px solid #3498db;
padding-left: 15px;
}
.menu ul ul li {
margin: 8px 0;
padding: 5px 10px;
background: rgba(255, 255, 255, 0.5);
}
.ou-list {
margin-top: 20px;
}
.ou-section {
padding: 15px;
background: #fff;
border-radius: 5px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
margin-bottom: 15px;
}
.ou-section h4 {
color: #2c3e50;
margin-bottom: 10px;
}
.ou-section a {
display: inline-block;
margin: 5px 10px;
padding: 5px 0;
}
/* Messages */
.error {
color: #e74c3c;
padding: 10px;
background: #fde;
border-left: 4px solid #e74c3c;
margin: 10px 0;
}
.success {
color: #27ae60;
padding: 10px;
background: #dfd;
border-left: 4px solid #27ae60;
margin: 10px 0;
}
/* Bouton de déconnexion */
.logout-form {
position: absolute;
top: 20px;
right: 20px;
}
.logout-button {
background-color: #e74c3c;
}
.logout-button:hover {
background-color: #c0392b;
}

View File

@@ -366,7 +366,7 @@ class LDAPAuth
$this->bindServiceAccount(); $this->bindServiceAccount();
$filter = "(objectClass=user)"; $filter = "(objectClass=user)";
$attributes = ["givenName", "sn", "mail", "sAMAccountName"]; $attributes = ["Name", "sn", "givenName","mail", "sAMAccountName"];
$result = ldap_read($this->ad, $dn, $filter, $attributes); $result = ldap_read($this->ad, $dn, $filter, $attributes);
$entries = ldap_get_entries($this->ad, $result); $entries = ldap_get_entries($this->ad, $result);

View File

@@ -1,31 +0,0 @@
<?php
$ldap_server = 'ldap://intranet.epul3a.local';
$service_dn = "CN=Service LDAP Reader,CN=Users,DC=epul3a,DC=local";
$service_pwd = "Test@123";
$ldapconn = ldap_connect($ldap_server);
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);
if (@ldap_bind($ldapconn, $service_dn, $service_pwd)) {
echo "✅ Connexion réussie avec svc_ldap_read !";
} else {
echo "❌ Erreur de connexion : " . ldap_error($ldapconn);
}
ldap_close($ldapconn);
// === TEST ===
require_once __DIR__ . '/models/LDAPAuth.php';
$ldap = new LDAPAuth();
$result = $ldap->authenticate("a.gathor", "Test@123");
if ($result['success']) {
echo "✅ Authentification réussie pour " . $result['dn'];
} else {
echo "" . $result['message'];
}
$ldap->close();

View File

@@ -5,6 +5,7 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Authentification</title> <title>Authentification</title>
<link rel="stylesheet" href="assets/css/style.css">
</head> </head>
<body> <body>

View File

@@ -12,6 +12,7 @@ if (!isset($_SESSION["login"]) || !$_SESSION["is_admin"]) {
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Créer un utilisateur</title> <title>Créer un utilisateur</title>
<link rel="stylesheet" href="../assets/css/style.css">
</head> </head>
<body> <body>

View File

@@ -14,6 +14,7 @@ $user_dn = urldecode($_GET['dn']);
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Supprimer un utilisateur</title> <title>Supprimer un utilisateur</title>
<link rel="stylesheet" href="../assets/css/style.css">
</head> </head>
<body> <body>

View File

@@ -19,6 +19,7 @@ $user_details = $ldapAuth->getUserDetailsByDn($user_dn);
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Modifier un utilisateur</title> <title>Modifier un utilisateur</title>
<link rel="stylesheet" href="../assets/css/style.css">
</head> </head>
<body> <body>
@@ -26,10 +27,13 @@ $user_details = $ldapAuth->getUserDetailsByDn($user_dn);
<form action="../controllers/edit_user.php" method="post"> <form action="../controllers/edit_user.php" method="post">
<input type="hidden" name="dn" value="<?= htmlspecialchars($user_dn) ?>"> <input type="hidden" name="dn" value="<?= htmlspecialchars($user_dn) ?>">
<input type="text" id="firstname" name="firstname" value="<?= htmlspecialchars($user_details['givenName'] ?? '') ?>"> <label for="lastname">Nom :</label>
<input type="text" id="lastname" name="lastname" value="<?= htmlspecialchars($user_details['sn'] ?? '') ?>"> <input type="text" id="lastname" name="lastname" value="<?= htmlspecialchars($user_details['sn'] ?? '') ?>">
<label for="firstname">Prénom :</label>
<input type="text" id="firstname" name="firstname" value="<?= htmlspecialchars($user_details['givenname'] ?? '') ?>">
<label for="email">E-mail :</label>
<input type="email" id="email" name="email" value="<?= htmlspecialchars($user_details['mail'] ?? '') ?>"> <input type="email" id="email" name="email" value="<?= htmlspecialchars($user_details['mail'] ?? '') ?>">
<label for="new_password">Nouveau mot de passe :</label> <label for="new_password">Nouveau mot de passe :</label>

View File

@@ -1,3 +1,13 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Liste des utilisateurs</title>
<link rel="stylesheet" href="../assets/css/style.css">
</head>
<body>
<?php <?php
session_start(); session_start();
require_once __DIR__ . '/../controllers/controllerAdmin.php'; require_once __DIR__ . '/../controllers/controllerAdmin.php';
@@ -35,9 +45,9 @@ if (!empty($users)) {
<td>" . ($entry['givenname'][0] ?? '') . "</td> <td>" . ($entry['givenname'][0] ?? '') . "</td>
<td>" . ($entry['mail'][0] ?? '') . "</td> <td>" . ($entry['mail'][0] ?? '') . "</td>
<td>" . ($entry['distinguishedname'][0] ?? '') . "</td> <td>" . ($entry['distinguishedname'][0] ?? '') . "</td>
<td> <td class='action-buttons'>
<a href='../views/edit_user.php?dn=" . urlencode($entry['distinguishedname'][0]) . "'>Modifier</a> <a href='../views/edit_user.php?dn=" . urlencode($entry['distinguishedname'][0]) . "' class='btn btn-edit'>Modifier</a>
<a href='../controllers/delete_user.php?dn=" . urlencode($entry['distinguishedname'][0]) . "' onclick='return confirm(\"Confirmer la suppression ?\")'>Supprimer</a> <a href='../controllers/delete_user.php?dn=" . urlencode($entry['distinguishedname'][0]) . "' class='btn btn-delete' onclick='return confirm(\"Confirmer la suppression ?\")'>Supprimer</a>
</td> </td>
</tr>"; </tr>";
} }

View File

@@ -1,3 +1,14 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Menu</title>
<link rel="stylesheet" href="../assets/css/style.css">
</head>
<body>
<?php <?php
if (session_status() == PHP_SESSION_NONE) { if (session_status() == PHP_SESSION_NONE) {
session_start(); session_start();
@@ -12,10 +23,12 @@ require_once __DIR__ . '/../controllers/controllerAdmin.php';
echo "Bienvenue " . $_SESSION["sAMAccountName"] . " !"; echo "Bienvenue " . $_SESSION["sAMAccountName"] . " !";
if ($_SESSION["is_admin"]) {
// Affichage du menu // Affichage du menu
echo "<h2>Menu</h2>"; echo "<h2>Menu</h2>";
echo "<div class='menu-content'>";
echo "<ul>"; echo "<ul>";
if ($_SESSION["is_admin"]) {
echo "Vous êtes un administrateur.<br>"; echo "Vous êtes un administrateur.<br>";
echo "Vous avez des droits sur les OUs suivantes :"; echo "Vous avez des droits sur les OUs suivantes :";
echo "<ul>"; echo "<ul>";
@@ -37,8 +50,10 @@ if ($_SESSION["is_admin"]) {
echo "<a href='../views/list_users.php'>Liste complète des utilisateurs des OUs administrées</a><br>"; echo "<a href='../views/list_users.php'>Liste complète des utilisateurs des OUs administrées</a><br>";
} }
echo "</ul>"; echo "</ul>";
echo "</div>";
echo "<h2>Profil</h2>"; echo "<h2>Profil</h2>";
echo "<div class='profile-content'>";
$ldapAuth = new LDAPAuth(); $ldapAuth = new LDAPAuth();
$user_dn = $ldapAuth->getUserDN($_SESSION['sAMAccountName']); $user_dn = $ldapAuth->getUserDN($_SESSION['sAMAccountName']);
@@ -74,9 +89,10 @@ foreach ($user_details as $key => $value) {
} }
} }
echo "</table>"; echo "</table>";
echo "</div>";
// Bouton de déconnexion // Bouton de déconnexion
echo "<form method='post' action='../controllers/logout.php'>"; echo "<form method='post' action='../controllers/logout.php' class='logout-form'>";
echo "<input type='submit' value='Déconnexion'>"; echo "<input type='submit' value='Déconnexion' class='logout-button'>";
echo "</form>"; echo "</form>";
// Reste du code (admin/user) // Reste du code (admin/user)