From 2e3ac1718b36a64cee6d66212d6907643ed33509 Mon Sep 17 00:00:00 2001
From: Esteban
Date: Wed, 3 Jun 2026 18:32:59 +0200
Subject: [PATCH] Ajout des experiences pro (fonctionnel)
---
database/scriptDatabase.sql | 13 +++++
elements/header.php | 6 ++-
functions/listXP.php | 95 +++++++++++++++++++++++++++++++++++++
pages/xp.php | 68 ++++++++++++++++++++++++++
scripts/addProject.php | 2 +-
scripts/addXP.php | 56 ++++++++++++++++++++++
6 files changed, 237 insertions(+), 3 deletions(-)
create mode 100644 functions/listXP.php
create mode 100644 pages/xp.php
create mode 100644 scripts/addXP.php
diff --git a/database/scriptDatabase.sql b/database/scriptDatabase.sql
index 3e82769..c6305a8 100644
--- a/database/scriptDatabase.sql
+++ b/database/scriptDatabase.sql
@@ -34,6 +34,19 @@ CREATE TABLE IF NOT EXISTS projects (
PRIMARY KEY (id)
);
+-- Création de la table projects : (Généré par Beekeeper Studio)
+CREATE TABLE IF NOT EXISTS experiences (
+ id INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ title VARCHAR(100) NOT NULL,
+ xptype VARCHAR(100) NOT NULL,
+ tags VARCHAR(255) NULL,
+ description TEXT NOT NULL,
+ duration VARCHAR(100) NOT NULL,
+ image_url VARCHAR(255) NOT NULL, -- Stockage de l'image par URL (exemple : par CDN)
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (id)
+);
+
-- Compte de test
INSERT INTO users (username, password, role)
VALUES ('admin', 'admin', 'admin');
\ No newline at end of file
diff --git a/elements/header.php b/elements/header.php
index 916ad47..8f3be6f 100644
--- a/elements/header.php
+++ b/elements/header.php
@@ -7,10 +7,11 @@
// Ajout ici d'un démarrage de session : header étant dans toutes les pages
session_start();
+
+
+// Ajout du CSS Primaire (fait par IA)
?>
-
-
@@ -23,6 +24,7 @@ session_start();
"; } ?>
+
+
+
+
+
+
+
+Liste des expériences professionnelles
+
+
\ No newline at end of file
diff --git a/scripts/addProject.php b/scripts/addProject.php
index 300f119..860a0f4 100644
--- a/scripts/addProject.php
+++ b/scripts/addProject.php
@@ -1,6 +1,6 @@
prepare('INSERT INTO experiences (title, xptype, tags, description, duration, image_url) VALUES (:title, :xptype, :tags, :description, :duration, :image_url)');
+
+ // On execute la requete préparée
+ $stmt->execute([
+ ':title' => $title,
+ ':xptype' => $xptype,
+ ':tags' => $tags,
+ ':description' => $description,
+ ':duration' => $duration,
+ ':image_url' => $image_url
+ ]);
+
+ // Redirection vers xp.php ds que la requete est executée
+ header('Location: ../pages/xp.php');
+ exit;
+
+ } catch (PDOException $e) {
+ // En cas d'erreur :
+ echo "Erreur pendant l'ajout de l'experience : " . $e->getMessage();
+ exit;
+ }
+ } else {
+ echo "Veuillez remplir tous les champs obligatoires.";
+ exit;
+ }
+} else {
+ // Si on y accède de façon peu légitime sans requête POST on refuse
+ header('Location: ../pages/xp.php');
+ exit;
+}
+?>