diff --git a/TP4/ex1/controller/ControleurAdherants.php b/TP4/ex1/controller/ControleurAdherants.php
new file mode 100644
index 0000000000000000000000000000000000000000..c83bf3ee595635054353626ddf9acf482c47365e
--- /dev/null
+++ b/TP4/ex1/controller/ControleurAdherants.php
@@ -0,0 +1,6 @@
+<?php
+
+class ControleurAdherants
+{
+
+}
\ No newline at end of file
diff --git a/TP4/ex1/controller/ControleurAuteur.php b/TP4/ex1/controller/ControleurAuteur.php
index a90cb64ffe8340febb6796c474a3cf669dfff2f0..e787d51151446ee34ff8a9e665f6eb31b9153205 100644
--- a/TP4/ex1/controller/ControleurAuteur.php
+++ b/TP4/ex1/controller/ControleurAuteur.php
@@ -1,35 +1,38 @@
 <?php
-  require_once("models/Auteur.php");
+require_once("models/Auteur.php");
 
-  class ControleurAuteur {
+class ControleurAuteur
+{
 
-    public static function lireAuteurs() {
-      $titre = "les auteurs";
-      $tableau = Auteur::getAllAuteurs();
-      $tableauAffichage = array();
-      foreach($tableau as $auteur) {
-        $numAuteur = $auteur->getNumAuteur();
-        $nom = $auteur->getNom();
-        $prenom = $auteur->getPrenom();
-        $lienDetails = "<a class='bouton' href=\"index.php?controller=controleurAuteur&action=lireAuteur&numAuteur=$numAuteur\"> détails </a>";
-        $tableauAffichage[] = "<div class='ligne'><div>Auteur $prenom $nom</div><div> $lienDetails</div></div>";
-      }
-      include("resources/views/debut.php");
-      include("resources/views/menu.html");
-      include("resources/views/lesAuteurs.php");
-      include("resources/views/fin.html");
+    public static function lireAuteurs()
+    {
+        $titre = "les auteurs";
+        $tableau = Auteur::getAllAuteurs();
+        $tableauAffichage = array();
+        foreach ($tableau as $auteur) {
+            $numAuteur = $auteur->getNumAuteur();
+            $nom = $auteur->getNom();
+            $prenom = $auteur->getPrenom();
+            $lienDetails = "<a class='bouton' href=\"index.php?controller=controleurAuteur&action=lireAuteur&numAuteur=$numAuteur\"> détails </a>";
+            $tableauAffichage[] = "<div class='ligne'><div>Auteur $prenom $nom</div><div> $lienDetails</div></div>";
+        }
+        include("resources/views/debut.php");
+        include("resources/views/menu.html");
+        include("resources/views/lesAuteurs.php");
+        include("resources/views/fin.html");
     }
 
-    public static function lireAuteur() {
-      $titre = "un auteur";
-      $numAuteur = $_GET["numAuteur"];
-      $auteur = Auteur::getAuteurByNum($numAuteur);
-      include("resources/views/debut.php");
-      include("resources/views/menu.html");
-      include("resources/views/unAuteur.php");
-      include("resources/views/fin.html");
+    public static function lireAuteur()
+    {
+        $titre = "un auteur";
+        $numAuteur = $_GET["numAuteur"];
+        $auteur = Auteur::getAuteurByNum($numAuteur);
+        include("resources/views/debut.php");
+        include("resources/views/menu.html");
+        include("resources/views/unAuteur.php");
+        include("resources/views/fin.html");
     }
 
-  }
+}
 
 ?>
diff --git a/TP4/ex1/helpers/views.php b/TP4/ex1/helpers/views.php
new file mode 100644
index 0000000000000000000000000000000000000000..f5ecd7ce23c37ffd99e86d8b6ee8f2df329a1289
--- /dev/null
+++ b/TP4/ex1/helpers/views.php
@@ -0,0 +1,18 @@
+<?php
+function view(string $viewName, array $args): bool
+{
+    $viewPathParts = explode(".", $viewName);
+    $viewPath = "";
+    foreach ($viewPathParts as $pathPart){
+        $viewPath .= "/" . $pathPart;
+    }
+    $viewPath = "resources/views" . $viewPath . ".php";
+    if(file_exists($viewPath)){
+        extract($args);
+        include $viewPath;
+        return true;
+    }else{
+        echo "La vue " . $viewName . " est introuvable.";
+        return false;
+    }
+}
\ No newline at end of file
diff --git a/TP4/ex1/index.php b/TP4/ex1/index.php
index 78b8ba951ddf501d52bc3f3dc2daaa2a7009c098..9887eb04acdd3fdbf50db06e4fd23a257ca6385e 100644
--- a/TP4/ex1/index.php
+++ b/TP4/ex1/index.php
@@ -2,12 +2,16 @@
 ini_set('display_errors', 1);
 ini_set('display_startup_errors', 1);
 error_reporting(E_ALL);
+
 require_once("config/Database.php");
-Database::connect();
+require_once("helpers/views.php");
 require_once("controller/ControleurAuteur.php");
+
+Database::connect();
+
 $action = "lireAuteurs";
 if (isset($_GET["action"]) && in_array($_GET["action"], get_class_methods('ControleurAuteur'))) {
     $action = $_GET["action"];
 }
-controleurAuteur::$action();
+ControleurAuteur::$action();
 ?>