From a9afecf68a2b3f6033314ca196465981c24fa839 Mon Sep 17 00:00:00 2001
From: Leo Tuaillon <tleodev@MacBook-Air-de-Leo.local>
Date: Tue, 7 Nov 2023 14:19:56 +0100
Subject: [PATCH] connection + deconnection fonctionnelles

---
 php/public/assets/logo.png                   | Bin 0 -> 34574 bytes
 php/public/css/menu.css                      | 145 +++++++++++++++++++
 php/public/index.php                         |   5 +-
 php/src/controleur/FrontControleur.php       |   5 +-
 php/src/controleur/MembreControleur.php      |  10 +-
 php/src/controleur/UtilisateurControleur.php |  12 +-
 php/src/gateway/AlumniGateway.php            |   6 +
 php/src/modele/UtilisateurModele.php         |   9 +-
 php/templates/accueil.html                   |   9 +-
 php/templates/menu.html                      |  37 +++++
 10 files changed, 223 insertions(+), 15 deletions(-)
 create mode 100644 php/public/assets/logo.png
 create mode 100644 php/public/css/menu.css
 create mode 100644 php/templates/menu.html

diff --git a/php/public/assets/logo.png b/php/public/assets/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..d272825ec4ee1bc80e6dc583deb622b0fe860cb2
GIT binary patch
literal 34574
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
HfAaqUe7xV0

literal 0
HcmV?d00001

diff --git a/php/public/css/menu.css b/php/public/css/menu.css
new file mode 100644
index 0000000..6ab9e3d
--- /dev/null
+++ b/php/public/css/menu.css
@@ -0,0 +1,145 @@
+a {
+    text-decoration: none;
+}
+
+.navbar-container {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    padding: 0 2rem;
+    width: 100%;
+    height: 70px;
+    background: #fff;
+    color: #212121;
+    position: sticky;
+    top: 0;
+    left: 0;
+    z-index: 100;
+}
+
+.navbar-container .logo-container a {
+    font-size: 1.5rem;
+    font-weight: 500;
+    font-family: 'Kanit', sans-serif;
+    text-transform: uppercase;
+    cursor: pointer;
+    color: #212121;
+    max-height: 70px;
+}
+
+.navbar-container .nav-items {
+    display: flex;
+    align-items: center;
+    gap: 3rem;
+    list-style: none;
+}
+
+.navbar-container .nav-items .nav-link a {
+    color: #212121;
+    padding: 10px;
+    text-transform: uppercase;
+    transition: 0.2s;
+}
+
+.navbar-container .nav-items .nav-link:after {
+    content: '';
+    display: block;
+    border-top: 3px solid #00DBFF;
+    transform: scaleX(0);
+    transition: transform 250ms ease-in-out;
+}
+
+.navbar-container .nav-items .nav-link:hover:after {
+    transform: scaleX(0.8);
+}
+
+.navbar-container .nav-items .login-register {
+    display: flex;
+    flex-direction: row;
+    gap: 1rem;
+}
+
+.navbar-container .nav-items .login-register .button {
+    color: #00DBFF;
+    padding: 5px 20px;
+    text-transform: uppercase;
+    border-radius: 15px;
+    border: #fff 2px solid;
+}
+
+.navbar-container .nav-items .login-register .button2{
+    background: #00DBFF;
+    color: #fff;
+    border-radius: 15px;
+}
+
+.navbar-container .nav-items .login-register .button:hover {
+    border: #00DBFF 2px solid;
+}
+
+.navbar-container .nav-items .login-register .button2:hover {
+    border: #00A4FF 2px solid;
+}
+
+@media(max-width: 1030px) {
+    .navbar-container {
+        padding: 0 1rem;
+    }
+
+    .navbar-container .nav-items {
+        gap: 0.1rem;
+    }
+
+    .navbar-container .nav-items .nav-link a,
+    .navbar-container .nav-items .login-register .button {
+        font-size: 0.9rem;
+    }
+}
+
+@media(max-width: 915px) {
+    .navbar-container .nav-items {
+        flex-direction: column;
+        position: fixed;
+        top: 70px;
+        right: -100%;
+        width: 100vw;
+        height: 100vh;
+        padding: 1rem 0;
+        z-index: 99;
+        background: #fff;
+        transition: 0.2s ease-in;
+    }
+
+    .bars {
+        width: 22px;
+        height: auto;
+        cursor: pointer;
+    }
+
+    .bars .bar {
+        width: 100%;
+        height: 2px;
+        background: #212121;
+        margin: 5px;
+    }
+
+    .navbar-container .nav-items {
+        gap: 3rem;
+    }
+
+    .navbar-container .nav-items .login-register {
+        width: 50%;
+        text-align: center;
+        flex-direction: column;
+        gap: 2rem;
+    }
+
+    .navbar-container .nav-items .login-register .button {
+        padding: 1rem 0;
+    }
+
+}
+
+.navbar-container .nav-items.active {
+    right: 0;
+}
\ No newline at end of file
diff --git a/php/public/index.php b/php/public/index.php
index 8a015ce..6158841 100755
--- a/php/public/index.php
+++ b/php/public/index.php
@@ -12,5 +12,6 @@ $twig   = new \Twig\Environment($loader, [
     'cache' => false,
     'debug' => true
 ]);
-
-$cont = new \App\controleur\FrontControleur();
\ No newline at end of file
+$twig->addExtension(new \Twig\Extension\DebugExtension());
+$cont = new \App\controleur\FrontControleur();
+//end session
\ No newline at end of file
diff --git a/php/src/controleur/FrontControleur.php b/php/src/controleur/FrontControleur.php
index 0fe94ad..791f1f5 100755
--- a/php/src/controleur/FrontControleur.php
+++ b/php/src/controleur/FrontControleur.php
@@ -16,7 +16,7 @@ class FrontControleur
                 //TODO
             ],
             "Membre" => [
-                "deconnexion","proposerOffre","consulterProfil","modifierProfil","signaler"
+                "deconnection","proposerOffre","consulterProfil","modifierProfil","signaler",
             ],
             "Utilisateur" => [
                 "connection", "inscription", "accueil","consulterProfilLimite"
@@ -41,10 +41,11 @@ class FrontControleur
             }
         }
         else if(in_array($action,$actions['Membre'])) {
-            if (!isset($_SESSION["login"])) {
+            if (!isset($_SESSION["utilisateur"])) {
                 $dVueErreur[] = 'Veuillez vous connecter';
                 echo $twig->render('erreur.html', ['dVueErreur' => $dVueErreur]);
             } else{
+                echo "controlleur membre instancié";
                 new MembreControleur();
             }
         }else{
diff --git a/php/src/controleur/MembreControleur.php b/php/src/controleur/MembreControleur.php
index c0b83ff..f73641d 100755
--- a/php/src/controleur/MembreControleur.php
+++ b/php/src/controleur/MembreControleur.php
@@ -12,8 +12,8 @@ class MembreControleur extends UtilisateurControleur
             $action = \App\config\Validation::nettoyerString($_REQUEST["action"]);
         }
         switch ($action) {
-            case "deconnexion":
-                $this->deconnexion();
+            case "deconnection":
+                $this->deconnection();
                 break;
             case "proposerOffre":
                 $this->proposerOffre();
@@ -32,9 +32,11 @@ class MembreControleur extends UtilisateurControleur
         }
     }
 
-    protected function deconnexion()
+    protected function deconnection()
     {
-        //TODO
+        session_destroy();
+        header('Location: index.php?action=accueil');
+        exit();
     }
 
     protected function proposerOffre()
diff --git a/php/src/controleur/UtilisateurControleur.php b/php/src/controleur/UtilisateurControleur.php
index 5df7d7d..2bf0eea 100755
--- a/php/src/controleur/UtilisateurControleur.php
+++ b/php/src/controleur/UtilisateurControleur.php
@@ -28,7 +28,7 @@ class UtilisateurControleur
                 $this->consulterProfilLimite();
                 break;
             default:
-                $dVueErreur[] ="Action inconnue ou non autorisée";
+                $dVueErreur[] ="Action rjhghuiergiuhou non autorisée";
                 echo $twig->render("erreur.html",['dVueErreur' => $dVueErreur]);
 
         }
@@ -89,9 +89,17 @@ class UtilisateurControleur
     protected function accueil()
     {
         global $twig;
-        echo $twig->render('accueil.html', []);
+        // Ajout d'un var_dump pour déboguer
+        if (isset($_SESSION['utilisateur']) && $_SESSION['utilisateur'] instanceof \App\metier\Alumni) {
+            $pseudo = $_SESSION['utilisateur']->getEmail(); // ou getPseudo() si la méthode existe
+        } else {
+            $pseudo = null;
+        }
+
+        echo $twig->render('accueil.html', ['pseudo' => $pseudo]);
     }
 
+
     protected function consulterProfilLimite()
     {
         //TODO
diff --git a/php/src/gateway/AlumniGateway.php b/php/src/gateway/AlumniGateway.php
index 9f140bc..59b9033 100644
--- a/php/src/gateway/AlumniGateway.php
+++ b/php/src/gateway/AlumniGateway.php
@@ -69,6 +69,12 @@ class AlumniGateway
             ':e' => array($email, PDO::PARAM_STR),
         ));
         $res=$this->con->getResults();
+        var_dump($res);
+        if(count($res)==0){
+            echo "Aucun utilisateur trouvé";
+            return null;
+        }
+        echo "Utilisateur trouvé";
         return new \App\metier\Alumni($res[0]['mail'],$res[0]['mdp'],$res[0]['role']);
     }
 
diff --git a/php/src/modele/UtilisateurModele.php b/php/src/modele/UtilisateurModele.php
index e11d866..b4f7cff 100755
--- a/php/src/modele/UtilisateurModele.php
+++ b/php/src/modele/UtilisateurModele.php
@@ -18,7 +18,7 @@ class UtilisateurModele
      * @param string hash
      * @return \App\metier\Alumni
      */
-    public function connection(string $email, string $hash) : \App\metier\Alumni
+    public function connection(string $email, string $hash) : ? \App\metier\Alumni
     {
         $dsn = "mysql:host=localhost;dbname=dbAlica";
         $username = "Dev";
@@ -32,14 +32,15 @@ class UtilisateurModele
             // L'utilisateur existe, vérifiez le mot de passe
             if ($hash==$utilisateur->getPassword()) {
                 // Le mot de passe est correct, retournez l'utilisateur
+                session_start();
                 return $utilisateur;
             } else {
                 // Le mot de passe est incorrect, renvoyez null
-                return new \App\metier\Alumni(null, null, null);
+                return null;
             }
         } else {
             // L'utilisateur n'existe pas, renvoyez null
-            return new \App\metier\Alumni(null, null, null);
+            return null;
         }
     }
 
@@ -56,7 +57,7 @@ class UtilisateurModele
         $username = "Dev";
         $password = "Dev";
 
-        $role = "Utilisateur";
+        $role = "Membre";
         $con = new \App\gateway\Connection($dsn, $username, $password);
         $gate = new \App\gateway\AlumniGateway($con);
         // Insérez le nouvel utilisateur dans la base de données en utilisant AlumniGateway
diff --git a/php/templates/accueil.html b/php/templates/accueil.html
index 18b3aa3..87ab6bb 100755
--- a/php/templates/accueil.html
+++ b/php/templates/accueil.html
@@ -9,9 +9,16 @@
 
 
   <body>
+  <header>
+    {% include 'menu.html' %}
+  </header>
   <h1>Accueil</h1>
   <!-- Bienvenu suivie du mail des informations sessions de l'utilisateur -->
-  <p>Bienvenue {{session.mail}}</p>
+  <p>{% if pseudo %}
+  Bienvenue, {{ pseudo }}!
+  {% else %}
+  Bienvenue, invité!
+  {% endif %}</p>
   <p>Vous êtes sur la page d'accueil</p>
   <p>Vous pouvez vous connecter ou vous inscrire</p>
   <p>Vous pouvez aussi consulter les articles</p>
diff --git a/php/templates/menu.html b/php/templates/menu.html
new file mode 100644
index 0000000..603ceea
--- /dev/null
+++ b/php/templates/menu.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html lang="fr">
+<head>
+  <link rel="stylesheet" type="text/css" href="../public/css/menu.css">
+  <title></title>
+</head>
+<nav class="navbar-container">
+  <div class="logo-container">
+    <a href="index.php">
+      <img src="assets/logo.png" alt="Logo" height="70px">
+    </a>
+  </div>
+  <div class="bars">
+    <div class="bar"></div>
+    <div class="bar"></div>
+    <div class="bar"></div>
+  </div>
+  <ul class="nav-items">
+    <li class="nav-link"><a href="#">A propos</a></li>
+    <li class="nav-link"><a href="#">Evenements</a></li>
+    <li class="nav-link"><a href="#">Offres</a></li>
+    <li class="nav-link"><a href="#">Nous contacter</a></li>
+  </ul>
+  <ul class="nav-items">
+    <!-- Afficher boutons de connexion et d'inscription -->
+    {% if pseudo %}
+    <!-- Afficher bouton de déconnexion -->
+    <a href="index.php?action=deconnection" class="button">Déconnexion</a>
+    {% else %}
+    <div class="login-register">
+      <a href="index.php?action=connection" class="button">Connexion</a>
+      <a href="index.php?action=inscription" class="button button2">Inscription</a>
+    </div>
+    {% endif %}
+  </ul>
+</nav>
+</html>
\ No newline at end of file