diff --git a/app/controller/AdminController.php b/app/controller/AdminController.php
index 2ec7d37aa5e9b8b6b1df414a4a241110a769b5a7..e2952968c205c8c092fa7b0ad327d502269e86fb 100644
--- a/app/controller/AdminController.php
+++ b/app/controller/AdminController.php
@@ -8,7 +8,48 @@ class AdminController extends Controller {
 
     public function displayJeu() {
         $this->view->nonValide = Admin::getListeJeuNonValide();
+        $this->view->Valide = Admin::getListeJeuValide();
         $this->view->display();
     }
+    
+    public function acceptJeu() {
+        $slug = $this->route["params"]["slug"];
+        if(Admin::acceptJeu($slug)) {
+            header("Location:valide/ok");
+        } else {
+            session_start();
+            $_SESSION['adminErr'] = 1;
+            header("Location:../../jeu");
+        }
+    }
+    
+    public function displayAcceptJeuOK() {
+        $this->view->display();
+    }
+
+    public function supprimeJeu() {
+        $slug = $this->route["params"]["slug"];
+        Admin::supprJeu($slug);
+        unlink(ROOT."/www/images/jeu/".$slug.".jpg");
+        header("Location:supprime/ok");
+    }
 
+    public function displaySupprimeJeuOK() {
+        $this->view->display();
+    }
+    
+    public function unAcceptJeu() {
+        $slug = $this->route["params"]["slug"];
+        if(Admin::unacceptJeu($slug)) {
+            header("Location:unvalide/ok");
+        } else {
+            session_start();
+            $_SESSION['adminErr'] = 1;
+            header("Location:../../jeu");
+        }
+    }
+    
+    public function displayUnAcceptJeuOK() {
+        $this->view->display();
+    }
 }
\ No newline at end of file
diff --git a/app/kernel/Router.php b/app/kernel/Router.php
index f0850bed8cf678cb0645a69b1e849cf85eae4f54..60c0bc0561a141c36e4c2d44b393b63d985dd154 100644
--- a/app/kernel/Router.php
+++ b/app/kernel/Router.php
@@ -173,6 +173,42 @@ class Router
 				$result['action'] = "displayJeu";
 			}
 
+			else if($parts[0] == "admin" && count($parts) == 4 && $parts[1] == 'jeu' && $parts[3] == 'valide') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "acceptJeu";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 5 && $parts[1] == 'jeu' && $parts[3] == 'valide' && $parts[4] == 'ok') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "displayAcceptJeuOK";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 4 && $parts[1] == 'jeu' && $parts[3] == 'supprime') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "supprimeJeu";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 5 && $parts[1] == 'jeu' && $parts[3] == 'supprime' && $parts[4] == 'ok') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "displaySupprimeJeuOK";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 4 && $parts[1] == 'jeu' && $parts[3] == 'unvalide') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "unAcceptJeu";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 5 && $parts[1] == 'jeu' && $parts[3] == 'unvalide' && $parts[4] == 'ok') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "displayUnAcceptJeuOK";
+				$result["params"]["slug"] = $parts[2];
+			}
+
             else if ($parts[0] == "add_partie" && count($parts) == 2 && $parts[1] == "addjoueurs1") {
                 $result["controller"] = "Partie";
                 $result["action"] = "addjoueurs1";
diff --git a/app/model/Admin.php b/app/model/Admin.php
index 724a537eeced45d17970c7aad10dedb273999d81..bba11db4997e6a6a412c6ed64157b0f329b5e841 100644
--- a/app/model/Admin.php
+++ b/app/model/Admin.php
@@ -21,4 +21,52 @@ class Admin extends Model {
         return $res;
     }
 
+    public static function acceptJeu($slug) {
+        $db = Database::getInstance();
+        $sql = "UPDATE R_jeu SET est_valide = 1 WHERE slug = :slug";
+        $req = $db->prepare($sql);
+        return $req->execute(array(':slug' => $slug));
+    }
+
+    public static function supprJeu($slug) {
+        $db = Database::getInstance();
+        $sql= "SELECT * FROM R_partie WHERE jeu = :slug";
+        $req = $db->prepare($sql);
+        $req->execute(array(':slug' => $slug));
+        $sql= "DELETE FROM R_joueur_partie WHERE partie = :partie";
+        $req = $db->prepare($sql);
+        while($ligne = $req->fetch(PDO::FETCH_ASSOC)) {
+            $req->execute(array(':partie' => $ligne['id']));
+        }
+        $sql= "DELETE FROM R_partie WHERE jeu = :slug";
+        $req = $db->prepare($sql);
+        $req->execute(array(':slug' => $slug));
+        $sql= "DELETE FROM R_joueur_jeu WHERE jeu = :slug";
+        $req = $db->prepare($sql);
+        $req->execute(array(':slug' => $slug));
+        $sql = "DELETE FROM R_jeu WHERE slug = :slug";
+        $req = $db->prepare($sql);
+        $req->execute(array(':slug' => $slug));
+    }
+
+    public static function getListeJeuValide() {
+        $db = Database::getInstance(); // on récupère la connexion à la BDD
+        $sql = "SELECT * FROM R_jeu WHERE est_valide ORDER BY nom"; // on définit la requête qu'on enverra (on considère que le slug contient jeu/nomDuJeu pour le classement par jeu. Donc il faudrait encore faire un explode() sur le slug.
+        $req = $db->prepare($sql); // on prépare la requête (c'est là que la mémthode __call() est utile dans la classe Database d'ailleurs)
+        $req->execute();
+        $res = array();
+        while($ligne = $req->fetch(PDO::FETCH_ASSOC)) { // parcours toute la liste
+            $res[] = $ligne;
+        }
+        return $res;
+    }
+    
+    public static function unacceptJeu($slug) {
+        $db = Database::getInstance();
+        $sql = "UPDATE R_jeu SET est_valide = 0 WHERE slug = :slug";
+        $req = $db->prepare($sql);
+        return $req->execute(array(':slug' => $slug));
+    }
+    
+
 }
\ No newline at end of file
diff --git a/app/view/Admin/displayAcceptJeuOK.html b/app/view/Admin/displayAcceptJeuOK.html
new file mode 100644
index 0000000000000000000000000000000000000000..e4f181cf7f618949e93c0ee5a6294ff35ffddf16
--- /dev/null
+++ b/app/view/Admin/displayAcceptJeuOK.html
@@ -0,0 +1,17 @@
+<?php
+	$page_title = "Page d'administration";
+include(ROOT."/app/view/Includes/header.include.html");
+?>
+
+<?php if(isset($_SESSION['user']) && Admin::estAdmin($_SESSION['user']->slug)) { ?>
+
+<article class="msg-valide"><h2>Ajout réussi !</h2></article>
+
+
+<?php } else { ?>
+
+<article class="msg-erreur">Vous n'êtes pas connecté comme administrateur</article>
+
+<?php } ?>
+
+<?php include(ROOT."/app/view/Includes/footer.include.html"); ?>
diff --git a/app/view/Admin/displayJeu.html b/app/view/Admin/displayJeu.html
index 76a24270bec28d36d6c3fcbc07e498c3ed3c6fa9..168e1040b715450dfcffd6c605f2282cf9082a88 100644
--- a/app/view/Admin/displayJeu.html
+++ b/app/view/Admin/displayJeu.html
@@ -5,6 +5,18 @@ include(ROOT."/app/view/Includes/header.include.html");
 
 <?php if(isset($_SESSION['user']) && Admin::estAdmin($_SESSION['user']->slug)) { ?>
 
+<?php
+			if(isset($_SESSION['addRequestErrCode'])) { // si message d'erreur
+				$errCode = $_SESSION['addRequestErrCode'];
+				if($errCode == 1) { // on détermine le message
+					$errMsg = '<h3>Impossible !</h3>';
+                }
+            echo '<article class="msg-erreur">'.$errMsg.'</article>'; // on affiche le message
+            unset($_SESSION['addRequestErrCode']); // on retire la variable de session
+            }
+?>
+
+
 <article>
     <h3 class="stat-title">Jeu(x) non Validé(s)</h3>
     <table class="jeux-preferes">
@@ -18,7 +30,7 @@ include(ROOT."/app/view/Includes/header.include.html");
             <th>Min équipe</th>
             <th>Max équipe</th>
         </tr>
-        <?php 
+        <?php
             foreach($this->nonValide as $ligne) {
             print "
             <tr>
@@ -26,12 +38,12 @@ include(ROOT."/app/view/Includes/header.include.html");
                 <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['nom']."</a></td>
                 <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['min_joueurs']."</a></td>
                 <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['max_joueurs']."</a></td>
+                <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['type']."</a></td>
                 <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['min_equipes']."</a></td>
                 <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['max_equipes']."</a></td>
-                <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['type']."</a></td>
-                <td><a href=\"\"><img src=\"".BASE_URL."/images/ok.svg\" /></a></td>
+                <td><a href=\"jeu/".$ligne['slug']."/valide\"><img src=\"".BASE_URL."/images/ok.svg\" /></a></td>
                 <td><a href=\"\"><img src=\"".BASE_URL."/images/modif.svg\" /></a></td>
-                <td><a href=\"\"><img src=\"".BASE_URL."/images/cancel.svg\" /></a></td>
+                <td><a href=\"jeu/".$ligne['slug']."/supprime\"><img src=\"".BASE_URL."/images/cancel.svg\" /></a></td>
             </tr>
             ";
             }
@@ -40,6 +52,40 @@ include(ROOT."/app/view/Includes/header.include.html");
         }
         ?>
     </table>
+
+    <h3 class="stat-title">Jeu(x) Validé(s)</h3>
+    <table class="jeux-preferes">
+        <?php if($this->nonValide != array()){ ?>
+        <tr>
+            <th>Logo</th>
+            <th>Nom</th>
+            <th>Min joueurs</th>
+            <th>Max joueurs</th>
+            <th>Type</th>
+            <th>Min équipe</th>
+            <th>Max équipe</th>
+        </tr>
+        <?php
+            foreach($this->Valide as $ligne) {
+        print "
+        <tr>
+            <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\"> <img src=\"".BASE_URL."/images/jeu/".$ligne['slug'].".jpg\" alt=\"logo de ".$ligne['nom']."\" /></a></td>
+            <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['nom']."</a></td>
+            <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['min_joueurs']."</a></td>
+            <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['max_joueurs']."</a></td>
+            <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['type']."</a></td>
+            <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['min_equipes']."</a></td>
+            <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['max_equipes']."</a></td>
+            <td><a href=\"\"><img src=\"".BASE_URL."/images/modif.svg\" /></a></td>
+            <td><a href=\"jeu/".$ligne['slug']."/unvalide\"><img src=\"".BASE_URL."/images/cancel.svg\" /></a></td>
+        </tr>
+        ";
+        }
+        } else {
+        print "Il n'y a pas de jeu validé.";
+        }
+        ?>
+    </table>
 </article>
 
 <?php } else { ?>
diff --git a/app/view/Admin/displaySupprimeJeuOK.html b/app/view/Admin/displaySupprimeJeuOK.html
new file mode 100644
index 0000000000000000000000000000000000000000..fb721522c37496cced358d77ad7ee9a0ce26b1a6
--- /dev/null
+++ b/app/view/Admin/displaySupprimeJeuOK.html
@@ -0,0 +1,17 @@
+<?php
+	$page_title = "Page d'administration";
+include(ROOT."/app/view/Includes/header.include.html");
+?>
+
+<?php if(isset($_SESSION['user']) && Admin::estAdmin($_SESSION['user']->slug)) { ?>
+
+<article class="msg-valide"><h2>Suppression réussie !</h2></article>
+
+
+<?php } else { ?>
+
+<article class="msg-erreur">Vous n'êtes pas connecté comme administrateur</article>
+
+<?php } ?>
+
+<?php include(ROOT."/app/view/Includes/footer.include.html"); ?>
diff --git a/app/view/Admin/displayUnAcceptJeuOK.html b/app/view/Admin/displayUnAcceptJeuOK.html
new file mode 100644
index 0000000000000000000000000000000000000000..d4f0a3005a5853bbadf793b9cfcf3dffb339b8b5
--- /dev/null
+++ b/app/view/Admin/displayUnAcceptJeuOK.html
@@ -0,0 +1,17 @@
+<?php
+	$page_title = "Page d'administration";
+include(ROOT."/app/view/Includes/header.include.html");
+?>
+
+<?php if(isset($_SESSION['user']) && Admin::estAdmin($_SESSION['user']->slug)) { ?>
+
+<article class="msg-valide"><h2>Rejet réussi !</h2></article>
+
+
+<?php } else { ?>
+
+<article class="msg-erreur">Vous n'êtes pas connecté comme administrateur</article>
+
+<?php } ?>
+
+<?php include(ROOT."/app/view/Includes/footer.include.html"); ?>