diff --git a/TP4/ex1/controller/ControleurAdherent.php b/TP4/ex1/controller/ControleurAdherent.php
index 1cb10daee0aa30255db17f085eb682fb7faa6c5f..b4900c608c4147057656cf64702924ffce00eba0 100644
--- a/TP4/ex1/controller/ControleurAdherent.php
+++ b/TP4/ex1/controller/ControleurAdherent.php
@@ -6,6 +6,15 @@ class ControleurAdherent
     public static function lireAdherents()
     {
         $adherents = Adherent::getAllAdherents();
-        return view('adherents.liste-adherents', ['adherents' => $adherents]);
+        return view('adherents.les-adherents', ['adherents' => $adherents]);
+    }
+
+    public static function lireAdherent()
+    {
+        if (empty($_GET["login"])) {
+            die("Le paramètre login n'est pas spécifié.");
+        }
+        $adherent = Adherent::getAdherentByLogin($_GET["login"]);
+        return view('adherents.un-adherent', ['adherent' => $adherent]);
     }
 }
\ No newline at end of file
diff --git a/TP4/ex1/controller/ControleurAuteur.php b/TP4/ex1/controller/ControleurAuteur.php
index 304477314df310a973a2d2f5e839919dc6c58642..9a80bab36ca2a4bd322bf4f221c26894b322ea9e 100644
--- a/TP4/ex1/controller/ControleurAuteur.php
+++ b/TP4/ex1/controller/ControleurAuteur.php
@@ -6,7 +6,7 @@ class ControleurAuteur
     public static function lireAuteurs()
     {
         $auteurs = Auteur::getAllAuteurs();
-        return view('auteurs.liste-auteurs', ['auteurs' => $auteurs]);
+        return view('auteurs.les-auteurs', ['auteurs' => $auteurs]);
     }
 
     public static function lireAuteur()
@@ -15,7 +15,7 @@ class ControleurAuteur
             die("Le paramètre numAuteur n'est pas spécifié.");
         }
         $auteur = Auteur::getAuteurByNum($_GET["numAuteur"]);
-        return view('auteurs.auteur-info', ['auteur' => $auteur]);
+        return view('auteurs.un-auteur', ['auteur' => $auteur]);
     }
 
 }
diff --git a/TP4/ex1/models/Adherent.php b/TP4/ex1/models/Adherent.php
index 13026fb49af7d3cd19427a1dc14368a40816ec26..9b09e4c2bad3d41fc3a2d6004219117eb65f0ae9 100644
--- a/TP4/ex1/models/Adherent.php
+++ b/TP4/ex1/models/Adherent.php
@@ -33,15 +33,6 @@ class Adherent
         $this->numCategorie = $numCategorie;
     }
 
-    public function __set($property, $value){
-        echo "test";
-        if($property === "dateAdhesion"){
-            $this->dateAdhesion = new DateTime($value);
-        }else{
-            $this->$property = $value;
-        }
-    }
-
     public static function getAllAdherents(): array
     {
         // écriture de la requête
@@ -65,6 +56,35 @@ class Adherent
         return $tableau;
     }
 
+    public static function getAdherentByLogin($login) : Adherent
+    {
+        // écriture de la requête
+        $requetePreparee = "SELECT * FROM Adherent WHERE login = :login;";
+        $req_prep = Database::pdo()->prepare($requetePreparee);
+        // le tableau des valeurs
+        $valeurs = array("login" => $login);
+        $response = null;
+        try {
+            // envoi de la requête
+            $req_prep->execute($valeurs);
+            // traitement de la réponse
+            $req_prep->setFetchmode(PDO::FETCH_ASSOC);
+            // récupération de l'auteur
+            $row = $req_prep->fetch();
+            $response = new Adherent($row['login'],
+                $row['mdp'],
+                $row['nomAdherent'],
+                $row['prenomAdherent'],
+                $row['email'],
+                new DateTime($row['dateAdhesion']),
+                $row['numCategorie']);
+
+        } catch (PDOException $e) {
+            echo $e->getMessage();
+        }
+        return $response;
+    }
+
     /**
      * @return string
      */
diff --git a/TP4/ex1/models/Auteur.php b/TP4/ex1/models/Auteur.php
index 6a965130d1b031e783c526acc97f46354fa1b89b..c73ec32f63a939e0d5f96923a13894a0f2520d27 100644
--- a/TP4/ex1/models/Auteur.php
+++ b/TP4/ex1/models/Auteur.php
@@ -39,18 +39,20 @@ class Auteur
         $req_prep = Database::pdo()->prepare($requetePreparee);
         // le tableau des valeurs
         $valeurs = array("num_tag" => $numAuteur);
+        $response = null;
         try {
             // envoi de la requête
             $req_prep->execute($valeurs);
             // traitement de la réponse
             $req_prep->setFetchmode(PDO::FETCH_CLASS, 'Auteur');
             // récupération de l'auteur
-            $a = $req_prep->fetch();
+            $response = $req_prep->fetch();
             // retour
-            return $a;
-        } catch (PDEException $e) {
+
+        } catch (PDOException $e) {
             echo $e->getMessage();
         }
+        return $response;
     }
 
     public function getNumAuteur()
diff --git a/TP4/ex1/resources/views/adherents/liste-adherents.php b/TP4/ex1/resources/views/adherents/les-adherents.php
similarity index 83%
rename from TP4/ex1/resources/views/adherents/liste-adherents.php
rename to TP4/ex1/resources/views/adherents/les-adherents.php
index cc865eafab5dff39122a0c018c3f1c81b122a198..01e941b7e5d1b23ca42554a897678d08963af671 100644
--- a/TP4/ex1/resources/views/adherents/liste-adherents.php
+++ b/TP4/ex1/resources/views/adherents/les-adherents.php
@@ -2,7 +2,7 @@
 <head>
     <meta charset="utf-8">
     <title>Liste des adhérents</title>
-    <?=view('layouts.head')?>
+    <?=view('components.head')?>
 </head>
 <body class="">
 <div class="container">
@@ -16,7 +16,7 @@
                     <p class="card-text">ID: <?=$adherent->getLogin()?><br>
                         Date de naissance: <?=$adherent->getDateAdhesion()->format("Y-m-d")?></p>
                     <a class="btn btn-primary"
-                       href="index.php?controller=controleurAuteur&action=lireAuteur&numAuteur=<?=$adherent->getLogin()?>">
+                       href="index.php?action=lireAdherent&login=<?=$adherent->getLogin()?>">
                         Lire les détails
                     </a>
                 </div>
@@ -24,6 +24,6 @@
         <?php } ?>
     </div>
 </div>
-<?=view('layouts.footer')?>
+<?=view('components.footer')?>
 </body>
 </html>
\ No newline at end of file
diff --git a/TP4/ex1/resources/views/adherents/un-adherent.php b/TP4/ex1/resources/views/adherents/un-adherent.php
new file mode 100644
index 0000000000000000000000000000000000000000..387bdcc9652f3756ad5689d3f7e7339d9aab18af
--- /dev/null
+++ b/TP4/ex1/resources/views/adherents/un-adherent.php
@@ -0,0 +1,14 @@
+<html lang="fr">
+<head>
+    <meta charset="utf-8">
+    <title>Info de l'adhérent</title>
+    <?=view('components.head')?>
+</head>
+<body class="">
+<div class="container">
+    <h1>Information de l'adhérent</h1>
+    <?=$adherent->afficher()?>
+</div>
+<?=view('components.footer')?>
+</body>
+</html><?php
\ No newline at end of file
diff --git a/TP4/ex1/resources/views/auteurs/liste-auteurs.php b/TP4/ex1/resources/views/auteurs/les-auteurs.php
similarity index 83%
rename from TP4/ex1/resources/views/auteurs/liste-auteurs.php
rename to TP4/ex1/resources/views/auteurs/les-auteurs.php
index a756b37c9bbfeca58db03a06f88261b47d3af77b..d9ad9238b485c6c8a8fa26acfb431a6760f3d416 100644
--- a/TP4/ex1/resources/views/auteurs/liste-auteurs.php
+++ b/TP4/ex1/resources/views/auteurs/les-auteurs.php
@@ -2,7 +2,7 @@
 <head>
     <meta charset="utf-8">
     <title>Liste des auteurs</title>
-    <?=view('layouts.head')?>
+    <?=view('components.head')?>
 </head>
 <body class="">
     <div class="container">
@@ -16,7 +16,7 @@
                         <p class="card-text">ID: <?=$auteur->getNumAuteur()?><br>
                         Date de naissance: <?=$auteur->getAnneeNaissance()?></p>
                         <a class="btn btn-primary"
-                           href="index.php?controller=controleurAuteur&action=lireAuteur&numAuteur=<?=$auteur->getNumAuteur()?>">
+                           href="index.php?action=lireAuteur&numAuteur=<?=$auteur->getNumAuteur()?>">
                             Lire les détails
                         </a>
                     </div>
@@ -24,6 +24,6 @@
             <?php } ?>
         </div>
     </div>
-    <?=view('layouts.footer')?>
+    <?=view('components.footer')?>
 </body>
 </html>
\ No newline at end of file
diff --git a/TP4/ex1/resources/views/auteurs/auteur-info.php b/TP4/ex1/resources/views/auteurs/un-auteur.php
similarity index 78%
rename from TP4/ex1/resources/views/auteurs/auteur-info.php
rename to TP4/ex1/resources/views/auteurs/un-auteur.php
index b8357ea968ab7232b5a3d0c2c7edc87443cc9f3c..b8ac9ab9e44c9a1e05ba36441a4dc15792b574c8 100644
--- a/TP4/ex1/resources/views/auteurs/auteur-info.php
+++ b/TP4/ex1/resources/views/auteurs/un-auteur.php
@@ -2,13 +2,13 @@
 <head>
     <meta charset="utf-8">
     <title>Info de l'auteur</title>
-    <?=view('layouts.head')?>
+    <?=view('components.head')?>
 </head>
 <body class="">
 <div class="container">
     <h1>Information de l'auteur</h1>
     <?=$auteur->afficher()?>
 </div>
-<?=view('layouts.footer')?>
+<?=view('components.footer')?>
 </body>
 </html><?php
diff --git a/TP4/ex1/resources/views/layouts/footer.php b/TP4/ex1/resources/views/components/footer.php
similarity index 100%
rename from TP4/ex1/resources/views/layouts/footer.php
rename to TP4/ex1/resources/views/components/footer.php
diff --git a/TP4/ex1/resources/views/layouts/head.php b/TP4/ex1/resources/views/components/head.php
similarity index 100%
rename from TP4/ex1/resources/views/layouts/head.php
rename to TP4/ex1/resources/views/components/head.php