diff --git a/db.sql b/db.sql new file mode 100644 index 0000000..5483c3a --- /dev/null +++ b/db.sql @@ -0,0 +1,46 @@ +-- Création de la base de données +CREATE DATABASE IF NOT EXISTS pizzeria_it CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; + +-- Utilisation de la base de données +USE pizzeria_it; + +-- Création de la table users +CREATE TABLE users ( + id INT AUTO_INCREMENT PRIMARY KEY, + username VARCHAR(50) NOT NULL UNIQUE, + password VARCHAR(255) NOT NULL, + role ENUM('admin', 'chef', 'cook', 'waiter') NOT NULL, + status ENUM('active', 'inactive') DEFAULT 'active', + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +INSERT INTO users (username, password, role, status) +VALUES ('admin', '$2y$10$KbQi6nJESXwvMdN5RqZsruu/P1PnkkIzKjzwNlPRe7ghRuVJozr.u', 'admin', 'active'); + +-- Création de l'utilisateur SQL "pizzeria" avec le mot de passe "pizzeria" +CREATE USER 'pizzeria'@'localhost' IDENTIFIED BY 'pizzeria'; + +-- Accorder tous les privilèges sur la base de données "pizzeria_it" à l'utilisateur "pizzeria" +GRANT ALL PRIVILEGES ON pizzeria_it.* TO 'pizzeria'@'localhost'; + +-- Appliquer les changements +FLUSH PRIVILEGES; + +CREATE TABLE os ( + id INT AUTO_INCREMENT PRIMARY KEY, + operating_system VARCHAR(255) NOT NULL, + version VARCHAR(50) NOT NULL, + architecture VARCHAR(50) NOT NULL, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +INSERT INTO os (operating_system, version, architecture) +VALUES ('debian', '12', 'amd64'); + +CREATE TABLE language ( + id INT AUTO_INCREMENT PRIMARY KEY, + name VARCHAR(50) NOT NULL UNIQUE, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +INSERT INTO language (name) VALUES ('bash'); diff --git a/db_con.php b/db_con.php new file mode 100644 index 0000000..bf52668 --- /dev/null +++ b/db_con.php @@ -0,0 +1,17 @@ +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); +} catch (PDOException $e) { + // Gestion des erreurs de connexion + die("Database connection failed: " . $e->getMessage()); +} diff --git a/delete_os.php b/delete_os.php new file mode 100644 index 0000000..d29c790 --- /dev/null +++ b/delete_os.php @@ -0,0 +1,27 @@ +prepare("DELETE FROM os WHERE id = ?"); + $stmt->execute([$os_id]); +} + +// Rediriger vers la gestion des OS +header("Location: os_management.php"); +exit; diff --git a/edit_os.php b/edit_os.php new file mode 100644 index 0000000..6e1254a --- /dev/null +++ b/edit_os.php @@ -0,0 +1,70 @@ +prepare("SELECT * FROM os WHERE id = ?"); + $stmt->execute([$os_id]); + $os = $stmt->fetch(PDO::FETCH_ASSOC); + + if (!$os) { + echo "Système d'exploitation non trouvé."; + exit; + } +} + +// Gérer la mise à jour de l'OS +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $operating_system = $_POST['operating_system']; + $version = $_POST['version']; + $architecture = $_POST['architecture']; + + $stmt = $pdo->prepare("UPDATE os SET operating_system = ?, version = ?, architecture = ? WHERE id = ?"); + $stmt->execute([$operating_system, $version, $architecture, $os_id]); + + header("Location: os_management.php"); + exit; +} +?> + + + + + + + Modifier Système d'Exploitation + + +

Modifier Système d'Exploitation

+
+ + +
+ + +
+ + +
+ +
+ +
+ Retour à la gestion des OS + + diff --git a/edit_user.php b/edit_user.php new file mode 100644 index 0000000..b91c543 --- /dev/null +++ b/edit_user.php @@ -0,0 +1,71 @@ +prepare("SELECT * FROM users WHERE id = ?"); + $stmt->execute([$_GET['id']]); + $user = $stmt->fetch(); + + if (!$user) { + die("User not found."); + } +} + +// Mise à jour de l'utilisateur +if (isset($_POST['update_user'])) { + $user_id = $_POST['user_id']; + $username = $_POST['username']; + $password = !empty($_POST['password']) ? password_hash($_POST['password'], PASSWORD_DEFAULT) : $user['password']; + $role = $_POST['role']; + $status = $_POST['status']; + + $stmt = $pdo->prepare("UPDATE users SET username = ?, password = ?, role = ?, status = ? WHERE id = ?"); + $stmt->execute([$username, $password, $role, $status, $user_id]); + + header("Location: manage_users.php"); + exit; +} +?> + + + + + + Edit User + + +

Edit User

+
+ + + +
+ + +
+ + +
+ + +
+ +
+ + diff --git a/generate_hash.php b/generate_hash.php new file mode 100644 index 0000000..0f395b9 --- /dev/null +++ b/generate_hash.php @@ -0,0 +1,5 @@ + diff --git a/index.php b/index.php new file mode 100644 index 0000000..22b3cb6 --- /dev/null +++ b/index.php @@ -0,0 +1,53 @@ +prepare("SELECT * FROM users WHERE username = :username AND status = 'active'"); + $stmt->execute([':username' => $username]); + $user = $stmt->fetch(); + + // Vérification du mot de passe + if ($user && password_verify($password, $user['password'])) { + // Enregistrement des informations dans la session + $_SESSION['user_id'] = $user['id']; + $_SESSION['username'] = $user['username']; + $_SESSION['role'] = $user['role']; + + // Redirection vers main.php + header("Location: main.php"); + exit; + } else { + $error = 'Invalid username or password'; + } +} +?> + + + + + + Login + + +

Login

+ +

+ +
+ + +
+ + +
+ +
+ + diff --git a/language_management.php b/language_management.php new file mode 100644 index 0000000..f97ed31 --- /dev/null +++ b/language_management.php @@ -0,0 +1,91 @@ +prepare("INSERT INTO language (name) VALUES (:name)"); + $stmt->execute(['name' => $language_name]); +} + +// Modifier un langage +if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['edit_language'])) { + $language_id = $_POST['language_id']; + $language_name = $_POST['language_name']; + $stmt = $pdo->prepare("UPDATE language SET name = :name WHERE id = :id"); + $stmt->execute(['name' => $language_name, 'id' => $language_id]); +} + +// Supprimer un langage +if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['delete_language'])) { + $language_id = $_POST['language_id']; + $stmt = $pdo->prepare("DELETE FROM language WHERE id = :id"); + $stmt->execute(['id' => $language_id]); +} + +// Récupérer tous les langages +$stmt = $pdo->query("SELECT * FROM language"); +$languages = $stmt->fetchAll(); +?> + + + + + + + Manage Languages + + +

Manage Programming Languages

+ + +

Add Language

+
+ + +
+ +

Existing Languages

+ + + + + + + + + + + + + +
IDNameActions
+ +
+ + + +
+ +
+ + +
+
+ Retour à la page principale + + diff --git a/logout.php b/logout.php new file mode 100644 index 0000000..c6454e7 --- /dev/null +++ b/logout.php @@ -0,0 +1,10 @@ + + + + + + + + Main Page + + +

Bienvenue,

+ + + Déconnexion + + + Gérer les systèmes d'exploitation + Manage Programming Languages + + + + Gérer les utilisateurs + + + diff --git a/os_management.php b/os_management.php new file mode 100644 index 0000000..4473076 --- /dev/null +++ b/os_management.php @@ -0,0 +1,83 @@ +prepare("INSERT INTO os (operating_system, version, architecture) VALUES (?, ?, ?)"); + $stmt->execute([$operating_system, $version, $architecture]); +} + +// Récupérer tous les systèmes d'exploitation +$stmt = $pdo->query("SELECT * FROM os"); +$os_list = $stmt->fetchAll(PDO::FETCH_ASSOC); +?> + + + + + + + Gestion des Systèmes d'Exploitation + + +

Gestion des Systèmes d'Exploitation

+ +

Ajouter un Système d'Exploitation

+
+ + +
+ + +
+ + +
+ +
+ +

Liste des Systèmes d'Exploitation

+ + + + + + + + + + + + + + + + + +
IDSystème d'ExploitationVersionArchitectureActions
+ Modifier + Supprimer +
+ +
+ Retour à la page principale + + diff --git a/user_management.php b/user_management.php new file mode 100644 index 0000000..3f9f898 --- /dev/null +++ b/user_management.php @@ -0,0 +1,94 @@ +prepare("INSERT INTO users (username, password, role, status) VALUES (?, ?, ?, ?)"); + $stmt->execute([$username, $password, $role, $status]); +} + +// Suppression d'un utilisateur +if (isset($_POST['delete_user'])) { + $user_id = $_POST['user_id']; + $stmt = $pdo->prepare("DELETE FROM users WHERE id = ?"); + $stmt->execute([$user_id]); +} + +// Récupération des utilisateurs pour affichage +$users = $pdo->query("SELECT * FROM users")->fetchAll(PDO::FETCH_ASSOC); +?> + + + + + + User Management + + +

User Management

+ + +

Add New User

+
+ + +
+ + +
+ + +
+ + +
+ +
+ + +

Existing Users

+ + + + + + + + + + + + + + + +
UsernameRoleStatusActions
+
+ + +
+ Edit +
+Retour à la page principale + +