diff --git a/app/controller/AdminController.php b/app/controller/AdminController.php
index bc3d23635ad76ab00315b9a43a557460a9599a96..f75758e9dd7698f67cb7d5dfe2a5db9f2c016b3b 100644
--- a/app/controller/AdminController.php
+++ b/app/controller/AdminController.php
@@ -74,7 +74,7 @@ class AdminController extends Controller {
         if(isset($_FILES['image'])) {
             list($err, $image) = getImage($_FILES['image'], 512, 512);
             if ($err == 0) {
-                saveImage($image, ROOT . "/www/images/jeu/" . $data['slug_jeu'] . ".jpg");
+                saveImage($image, ROOT . "/www/images/jeu/" . $_POST['slug_jeu'] . ".jpg");
             } elseif($err == 2) {
                 $_SESSION["addRequestErrCode"] = $err; // on stocke le code d'erreur
                 header('Location:../modif'); // on redirige vers la page de formulaire (il faut faire un retour dans le dossier parent pour que ça fonctionne)
@@ -105,4 +105,393 @@ class AdminController extends Controller {
     public function displaySupprimeJoueurOK() {
         $this->view->display();
     }
+    
+    public function displayListPartie() {
+        $this->view->listPartie = Admin::getListPartie();
+        $this->view->display();        
+    }
+    
+    public function initModifPartie()  {
+        session_start();
+        $id = $this->route["params"]["slug"];
+        $partie = Partie::getFromId($id);
+        $jeuactuel = Jeu::getFromSlug($partie->jeu);
+        if($jeuactuel->type == "equipes"){
+            $_SESSION['equipes'] = Admin::getEquipes($id);
+            $_SESSION['jeu_select'] = $jeuactuel;
+            header("location:modif/stepe1");
+        } else {
+            $_SESSION['joueurs_select'] = Admin::getListeJoueur($id);
+            $_SESSION['jeu_select'] = $jeuactuel;
+            header("location:modif/step1");
+        }
+    }
+    
+    public function displayModifPartieStepe1()
+    {
+        session_start();
+        if (!isset($_SESSION['jeu_select']) || !isset($_SESSION['equipes'])) {
+            header("Location:../add_partie");
+            die();
+        }
+        if(isset($_SESSION['errMsg'])){
+            $this->view->errMsg = $_SESSION['errMsg'];
+            unset($_SESSION['errMsg']);
+        }
+        if (is_null($_SESSION['jeu_select']->max_joueurs)) {
+            $this->view->maxj = "plus de";
+        }
+        else {
+            $this->view->maxj = $_SESSION['jeu_select']->max_joueurs;
+        }
+        if (is_null($_SESSION['jeu_select']->max_equipes)) {
+            $this->view->maxe = "plus d'";
+        }
+        else{
+            $this->view->maxe = $_SESSION['jeu_select']->max_equipes." ";
+        }
+        $this->view->jeuactuel = $_SESSION['jeu_select'];
+        $this->view->listej = Profil::getList();
+        $this->view->equipes = $_SESSION['equipes'];
+        $this->view->display();
+    }
+
+    public function displayModifPartieStep1()
+    {
+        session_start();
+        if (!isset($_SESSION['jeu_select'])) {
+            header("Location:../add_partie");
+			die();
+		}
+        if(isset($_SESSION['errMsg'])){
+            $this->view->errMsg = $_SESSION['errMsg'];
+            unset($_SESSION['errMsg']);
+        }
+
+        if ($_SESSION['jeu_select']->max_joueurs === "")
+            $this->view->max = "plus";
+        else
+            $this->view->max = $_SESSION['jeu_select']->max_joueurs;
+
+        $this->view->jeuactuel = $_SESSION['jeu_select'];
+        $this->view->listej = Profil::getList();
+        $this->view->display();
+    }
+
+    private static function error($errstr, $step){
+        session_start();
+        $_SESSION['errMsg'] = $errstr;
+        if($step == "step0") {
+            header("Location:../add_partie");
+            die();
+        }
+        else if($step == "step1") {
+            header("Location:step1");
+            die();
+        }
+        else if($step == "step2") {
+            header("Location:step2");
+            die();
+        }
+        else if($step == "stepe1") {
+            header("Location:stepe1");
+            die();
+        }
+        else if($step == "stepe2") {
+            header("Location:stepe2");
+            die();
+        }
+        else {
+            header("Location:../add_partie");
+            die();
+        }
+    }
+
+    public static function ModifPartieaddjoueurs1()
+    {
+        session_start();
+        if (!isset($_SESSION['jeu_select'])) {
+            header("Location:../add_partie");
+            die();
+        }
+
+        $jeu = $_SESSION['jeu_select'];
+
+        if (!isset($_POST["joueur"])) {
+            if ($jeu->type == 'equipes') {
+                self::error("<h1>Erreur : pas de joueur entré.</h1>", "stepe1");
+                die();
+            }
+            else {
+                self::error("<h1>Erreur : pas de joueur entré.</h1>", "step1");
+                die();
+            }
+        }
+
+        $joueur = $_POST["joueur"];
+
+        if (Profil::checkExists($joueur)) {
+            $joueur_objet = Profil::getFromSlug($joueur);
+        }
+        else {
+            if ($jeu->type == 'equipes') {
+                self::error("<h1>Erreur : le joueur est introuvable dans la base de données.</h1>", "stepe1");
+                die();
+            }
+            else {
+                self::error("<h1>Erreur : le joueur est introuvable dans la base de données.</h1>", "step1");
+                die();
+            }
+        }
+
+        if ($jeu->type == 'equipes') {
+            $ke = $_POST['equipejadd'];
+            foreach ($_SESSION['equipes'] as $equipe) {
+                if (in_array($joueur_objet, $equipe)) {
+                    self::error("<h1>Erreur : le joueur a déjà été inscrit pour cette partie.</h1>", "stepe1");
+                    die();
+                }
+            }
+            array_push($_SESSION['equipes'][$ke], $joueur_objet);
+            header("Location:stepe1");
+            die();
+        }
+        else {
+            if (!isset($_SESSION['joueurs_select'])) {
+                $_SESSION['joueurs_select'] = array($joueur_objet);
+                header("Location:step1");
+                die();
+            }
+
+            if (!in_array($joueur_objet, $_SESSION['joueurs_select']))
+                array_push($_SESSION['joueurs_select'], $joueur_objet);
+            else {
+                self::error("<h1>Erreur : le joueur a déjà été inscrit pour cette partie.</h1>", "step1");
+                die();
+            }
+            header("Location:step1");
+            die();
+        }
+    }
+
+    public static function ModifPartieclearstep1()
+    {
+        session_start();
+        if (!isset($_SESSION['jeu_select'])) {
+            header("Location:../add_partie");
+            die();
+        }
+        $jeu_actuel = $_SESSION['jeu_select'];
+        if ($jeu_actuel->type == 'equipes') {
+            if (!isset($_SESSION['equipes'])) {
+                header("Location:stepe1");
+                die();
+            }
+            $_SESSION['equipes'] = array(array());
+            header("Location:stepe1");
+            die();
+        }
+        else {
+            if (!isset($_SESSION['joueurs_select'])) {
+                header("Location:step1");
+                die();
+            }
+            unset($_SESSION['joueurs_select']);
+            header("Location:step1");
+            die();
+        }
+    }
+
+    public static function ModifPartiedeljoueurs1()
+    {
+        session_start();
+        if (!isset($_SESSION['jeu_select'])) {
+            header("Location:../add_partie");
+            die();
+        }
+
+        if ($_SESSION['jeu_select']->type == 'duels') {
+            if (!isset($_SESSION['joueurs_select'])) {
+                header("Location:step1");
+                die();
+            }
+        }
+        if ($_SESSION['jeu_select']->type == 'equipes') {
+            if (!isset($_SESSION['equipes'])) {
+                header("Location:stepe1");
+                die();
+            }
+        }
+
+        if (!isset($_POST['joueurdel'])) {
+            if ($_SESSION['jeu_select']->type == 'equipes') {
+                self::error("<h1>Erreur : variables manquantes.</h1>", "stepe1");
+                die();
+            }
+            else {
+                self::error("<h1>Erreur : variables manquantes.</h1>", "step1");
+                die();
+            }
+        }
+
+        if ($_SESSION['jeu_select']->type == 'equipes') {
+            unset($_SESSION['equipes'][$_POST['equipejdel']][$_POST['joueurdel']]);
+            $equipe_tmp = array();
+            foreach ($_SESSION['equipes'][$_POST['equipejdel']] as $j) {
+                array_push($equipe_tmp, $j);
+            }
+            $_SESSION['equipes'][$_POST['equipejdel']] = $equipe_tmp;
+            header("Location:stepe1");
+            die();
+        }
+        else {
+            unset($_SESSION['joueurs_select'][$_POST['joueurdel']]);
+            $joueurs_tmp = array();
+            foreach ($_SESSION['joueurs_select'] as $j) {
+                array_push($joueurs_tmp, $j);
+            }
+            $_SESSION['joueurs_select'] = $joueurs_tmp;
+            header("Location:step1");
+            die();
+        }
+    }
+
+    public static function ModifPartiedelequipe()
+    {
+        session_start();
+        if (!isset($_SESSION['jeu_select'])) {
+            header("Location:../add_partie");
+            die();
+        }
+        if (!isset($_SESSION['equipes'])) {
+            header("Location:stepe1");
+            die();
+        }
+        if (count($_SESSION['equipes']) <= 1) {
+            self::error("<h1>Erreur : vous ne pouvez pas supprimer la seule équipe restante.</h1>", "stepe1");
+            die();
+        }
+
+        if (!isset($_POST['equipe'])) {
+            self::error("<h1>Erreur : variables manquantes.</h1>", "stepe1");
+            die();
+        }
+
+        unset($_SESSION['equipes'][$_POST['equipe']]);
+        $equipe_tmp = array();
+        foreach ($_SESSION['equipes'] as $e) {
+            array_push($equipe_tmp, $e);
+        }
+        $_SESSION['equipes'] = $equipe_tmp;
+        header("Location:stepe1");
+        die();
+    }
+
+    public static function ModifPartieaddequipe()
+    {
+        session_start();
+        if (!isset($_SESSION['jeu_select'])) {
+            header("Location:../add_partie");
+			die();
+		}
+        if (count($_SESSION['equipes']) == $_SESSION['jeu_select']->max_equipes) {
+            self::error("<h1>Erreur : vous ne pouvez pas créer d'équipe supplémentaire.</h1>", "stepe1");
+			die();
+        }
+
+        array_push($_SESSION['equipes'], array());
+        header("Location:stepe1");
+		die();
+    }
+
+    public static function verifyModifPartieStep1()
+    {
+        session_start();
+        if (!isset($_SESSION['jeu_select'])) {
+            header("Location:../add_partie");
+            die();
+        }
+        $jeu_actuel = $_SESSION['jeu_select'];
+        if ($jeu_actuel->type == 'equipes') {
+            if (!isset($_SESSION['equipes'])) {
+                header("Location:stepe1");
+                die();
+            }
+            $equipes = $_SESSION['equipes'];
+            if (count($equipes) < $jeu_actuel->min_equipes) {
+                self::error("<h1>Erreur : il n'y a pas assez d'équipes.</h1>", "stepe1");
+                die();
+            }
+            if (count($equipes) > $jeu_actuel->max_equipes) {
+                self::error("<h1>Erreur : il y a trop d'équipes.</h1>", "stepe1");
+                die();
+            }
+
+            foreach ($equipes as $ke => $e) {
+                if (count($e) < $jeu_actuel->min_joueurs) {
+                    $ke = $ke + 1;
+                    self::error("<h1>Erreur : il n'y a pas assez de joueurs dans l'équipe $ke.</h1>", "stepe1");
+                    die();
+                }
+                if (!is_null($jeu_actuel->max_joueurs)) {
+                    if (count($e) > $jeu_actuel->max_joueurs) {
+                        $ke = $ke + 1;
+                        self::error("<h1>Erreur : il y a trop de joueurs dans l'équipe $ke.</h1>", "stepe1");
+                        die();
+                    }
+                }
+            }
+
+            header("Location:stepe2");
+            die();
+        }
+        else {
+            if (!isset($_SESSION['joueurs_select'])) {
+                header("Location:step1");
+                die();
+            }
+            $joueurs = $_SESSION['joueurs_select'];
+            if (count($joueurs) < $jeu_actuel->min_joueurs) {
+                self::error("<h1>Erreur : il n'y a pas assez de joueurs.</h1>", "step1");
+                die();
+            }
+            if (count($joueurs) > $jeu_actuel->max_joueurs) {
+                self::error("<h1>Erreur : il y a trop de joueurs.</h1>", "step1");
+                die();
+            }
+            header('Location:step2');
+            die();
+        }
+    }
+
+
+
+    public function displayModifPartieStep2()
+    {
+        session_start();
+        $id = $this->route["params"]["slug"];
+        if (!isset($_SESSION['jeu_select'])) {
+            header("Location:../add_partie");
+            die();
+        }
+        if (!isset($_SESSION['joueurs_select'])) {
+            header("Location:../add_partie/step1");
+            die();
+        }
+        if(isset($_SESSION['errMsg'])){
+            $this->view->errMsg = $_SESSION['errMsg'];
+            unset($_SESSION['errMsg']);
+        }
+
+
+        $this->view->jeuactuel = $_SESSION['jeu_select'];
+        $this->view->listejactuel = $_SESSION['joueurs_select'];
+        if($this->view->jeuactuel->type_scores == "scores") {
+            $this->view->scorePartie = Admin::getListeScorePartie($id);
+        } else {
+            $this->view->classement = Admin::getListeClassement($id);
+        }
+        $this->view->display();
+    }
+
 }
diff --git a/app/kernel/Router.php b/app/kernel/Router.php
index 78ccafef6360a222159a880a9c296cd35284cff4..70f8405bc359ec79428821eca3e228eefaa334c1 100644
--- a/app/kernel/Router.php
+++ b/app/kernel/Router.php
@@ -264,6 +264,83 @@ class Router
 				$result["params"]["slug"] = $parts[2];
 			}
 
+			else if($parts[0] == "admin" && count($parts) == 2 && $parts[1] == 'partie') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "displayListPartie";
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 4 && $parts[1] == 'partie' && $parts[3] == 'modifinit') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "initModifPartie";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 4 && $parts[1] == 'partie' && $parts[3] == 'modif') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "initModifPartie";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 5 && $parts[1] == 'partie' && $parts[3] == 'modif' && $parts[4] == 'stepe1') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "displayModifPartieStepe1";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 5 && $parts[1] == 'partie' && $parts[3] == 'modif' && $parts[4] == 'step1') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "displayModifPartieStep1";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 5 && $parts[1] == 'partie' && $parts[3] == 'modif' && $parts[4] == 'addjoueurs1') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "ModifPartieaddjoueurs1";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if ($parts[0] == "admin" && count($parts) == 5 && $parts[1] == 'partie' && $parts[3] == 'modif' && $parts[4] == "clearstep1") {
+				$result["controller"] = "Admin";
+				$result["action"] = "ModifPartieclearstep1";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 5 && $parts[1] == 'partie' && $parts[3] == 'modif' && $parts[4] == 'deljoueurs1') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "ModifPartiedeljoueurs1";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 5 && $parts[1] == 'partie' && $parts[3] == 'modif' && $parts[4] == 'delequipe') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "ModifPartiedelequipe";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 5 && $parts[1] == 'partie' && $parts[3] == 'modif' && $parts[4] == 'addequipe') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "ModifPartieaddequipe";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 5 && $parts[1] == 'partie' && $parts[3] == 'modif' && $parts[4] == 'verifystep1') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "verifyModifPartieStep1";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 5 && $parts[1] == 'partie' && $parts[3] == 'modif' && $parts[4] == 'step2') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "displayModifPartieStep2";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 5 && $parts[1] == 'partie' && $parts[3] == 'modif' && $parts[4] == 'stepe2') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "displayModifPartieStepe2";
+				$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 73df4e4ed4a360e3c6ac486ce27cd60c17f8744b..3a6a101612c7ef7c52aa0f8797ee8dae73f62d50 100644
--- a/app/model/Admin.php
+++ b/app/model/Admin.php
@@ -97,4 +97,84 @@ class Admin extends Model {
         $req = $db->prepare($sql);
         $req->execute(array(':slug' => $slug));
     }
+
+    public static function getListPartie() {
+        $db = Database::getInstance(); // on récupère la connexion à la BDD
+        $sql = "SELECT * FROM R_partie JOIN R_jeu ON R_partie.jeu = R_jeu.slug ORDER BY date"; // 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 getEquipes($id) {
+        $db = Database::getInstance(); // on récupère la connexion à la BDD
+        $sql = "SELECT * FROM R_joueur_partie WHERE partie = :id ORDER BY classement"; // 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(array(':id' => $id));
+        $res = array();
+        $i = -1;
+        $classement_old = 0;
+        while($ligne = $req->fetch(PDO::FETCH_ASSOC)) {
+            if($classement_old != $ligne['classement']) {
+                $i = $i +1;
+                $classement_old = $ligne['classement'];
+                $res[$i] = array();
+            }
+            $res[$i][] = Profil::getFromSlug($ligne['joueur']);
+        }
+        return $res;
+    }
+
+    public static function getListeJoueur($id) {
+        $db = Database::getInstance(); // on récupère la connexion à la BDD
+        $sql = "SELECT * FROM R_joueur_partie WHERE partie = :id ORDER BY classement"; // 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(array(':id' => $id));
+        $res = array();
+        while($ligne = $req->fetch(PDO::FETCH_ASSOC)) { // parcours toute la liste
+            $res[] = Profil::getFromSlug($ligne['joueur']);
+        }
+        return $res;
+    }
+
+    public static function getListeScore($id) {
+        $db = Database::getInstance(); // on récupère la connexion à la BDD
+        $sql = "SELECT * FROM R_joueur_partie WHERE partie = :id ORDER BY classement"; // 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(array(':id' => $id));
+        $res = array();
+        while($ligne = $req->fetch(PDO::FETCH_ASSOC)) { // parcours toute la liste
+            $res[$ligne['joueur']] = $ligne['score'];
+        }
+        return $res;
+    }
+
+    public static function getListeScorePartie($id) {
+        $db = Database::getInstance(); // on récupère la connexion à la BDD
+        $sql = "SELECT * FROM R_joueur_partie WHERE partie = :id ORDER BY classement"; // 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(array(':id' => $id));
+        $res = array();
+        while($ligne = $req->fetch(PDO::FETCH_ASSOC)) { // parcours toute la liste
+            $res[$ligne['joueur']] = $ligne['score_partie'];
+        }
+        return $res;
+    }
+
+    public static function getListeClassement($id) {
+        $db = Database::getInstance(); // on récupère la connexion à la BDD
+        $sql = "SELECT * FROM R_joueur_partie WHERE partie = :id ORDER BY classement"; // 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(array(':id' => $id));
+        $res = array();
+        while($ligne = $req->fetch(PDO::FETCH_ASSOC)) { // parcours toute la liste
+            $res[$ligne['joueur']] = $ligne['classement'];
+        }
+        return $res;
+    }
+
 }
\ No newline at end of file
diff --git a/app/model/Partie.php b/app/model/Partie.php
index 8401ccbcbba1a243abe272d504b91af81b1c5f0d..c60355a3fb1892bb308010d0d95d8ccd5e1a33fd 100644
--- a/app/model/Partie.php
+++ b/app/model/Partie.php
@@ -11,13 +11,13 @@ class Partie extends Model
 {
     public $joueurs, $scores, $lejeu, $date, $slug;
 
-    public static function getFromSlug($slug_partie)
+    public static function getFromId($id)
     {
         $db = Database::getInstance();
-        $sql = "SELECT * FROM R_partie WHERE slug = :slug";
+        $sql = "SELECT * FROM R_partie WHERE id = :id";
         $stmt = $db->prepare($sql);
         $stmt->setFetchMode(PDO::FETCH_CLASS, "Partie"); // règle le type dans lequel on doit mettre les données (PDO va chercher les attributs de la classe de même nom que ses colonnes de BDD et mettre dedans les valeurs correspondantes)
-        $stmt->execute(array(":slug" => $slug_partie));
+        $stmt->execute(array(":id" => $id));
         return $stmt->fetch();
     }
 
diff --git a/app/view/Admin/display.html b/app/view/Admin/display.html
index ad92559aab280fe58061d67837d18766c7f32ae8..8c349c82d29668d360ea7e2799565de53b00d3ce 100644
--- a/app/view/Admin/display.html
+++ b/app/view/Admin/display.html
@@ -13,7 +13,7 @@ include(ROOT."/app/view/Includes/header.include.html");
             <a href="admin/joueur">Gestion des Joueurs</a>
         </h3>
         <h3>
-            Gestion des Parties
+            <a href="admin/partie">Gestion des Parties</a>
         </h3>
     </article>
 
diff --git a/app/view/Admin/displayListPartie.html b/app/view/Admin/displayListPartie.html
new file mode 100644
index 0000000000000000000000000000000000000000..201744481a0d71a414d3ad2c62ad380e13f192e8
--- /dev/null
+++ b/app/view/Admin/displayListPartie.html
@@ -0,0 +1,41 @@
+<?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>
+    <h3 class="stat-title">Listes des parties</h3>
+    <table class="jeux-preferes">
+        <tr>
+            <th>Image</th>
+            <th>Jeu</th>
+            <th>Date</th>
+        </tr>
+        <?php
+            foreach($this->listPartie as $ligne) {
+        print "
+        <tr>
+            <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\"> <img src=\"".BASE_URL."/images/jeu/".$ligne['slug'].".jpg\" alt=\"image de ".$ligne['jeu']."\" /></a></td>
+            <td><a href=\"".BASE_URL."/jeu/".$ligne['slug']."\">".$ligne['nom']."</a></td>
+            <td><a href=\"".BASE_URL."/admin/partie/".$ligne['slug']."\">".$ligne['date']."</a></td>
+            <td><a href=\"partie/".$ligne['id']."/modifinit\"><img src=\"".BASE_URL."/images/modif.svg\" alt=\"Modifier\"//></a></td>
+        </tr>
+        ";
+        }
+        ?>
+    </table>
+</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"); ?>
\ No newline at end of file
diff --git a/app/view/Admin/displayModifPartieStep1.html b/app/view/Admin/displayModifPartieStep1.html
new file mode 100644
index 0000000000000000000000000000000000000000..5a76afa8f06e1f842d1fced02b4eb3e7716f84c9
--- /dev/null
+++ b/app/view/Admin/displayModifPartieStep1.html
@@ -0,0 +1,51 @@
+<?php 
+	$page_title = "Formulaire d'ajout de partie"; 
+	include(ROOT."/app/view/Includes/header.include.html");
+?>
+<?php $jeuactuel = $this->jeuactuel ?>
+<?php	if (!is_null($this->errMsg)){ ?>
+<article class="msg-erreur"><?php echo $this->errMsg;?></article>
+<?php } ?>
+<article>
+    <h2>Formulaire d'ajout de partie</h2>
+    <h3>Sélection des joueurs</h3>
+    <div class="addjeu-form">
+
+        <h4>Jeu : <?php echo $jeuactuel->nom; ?></h4>
+        <h4>De <?php echo $jeuactuel->min_joueurs; ?> à <?php echo $this->max; ?> joueurs</h4>
+        <form method="post" action="addjoueurs1">
+            <label for="joueur">Ajouter un joueur (pseudo) :</label>
+            <input type="text" id="joueur" name="joueur"/>
+            <input type="submit" name="submit" value="ajouter un joueur"/>
+        </form>
+        <?php if (isset($_SESSION['joueurs_select'])) { ?>
+        <h5>Joueurs actuellement sélectionnés :</h5>
+        <ul>
+            <?php foreach($_SESSION['joueurs_select'] as $k => $j){ ?>
+            <li>
+                <?php echo $j->pseudo; ?>
+
+
+                <form method="post" action="deljoueurs1">
+                    <input type="hidden" value="<?php echo $k;?>" name="joueurdel">
+                    <input type="submit" name="submit" value="supprimer ce joueur"/>
+                </form>
+            </li>
+            <?php } ?>
+            <?php } ?>
+        </ul>
+        <div class="submit">
+            <form method="post" action="clearstep1">
+                <input type="submit" name="submit" value="Remise à zéro"/>
+            </form>
+            <form method="post" action="../modif">
+                <input type="submit" name="submit" value="Réinitialiser"/>
+            </form>
+            <form method="post" action="verifystep1">
+                <input type="submit" name="submit" value="Étape suivante"/>
+            </form>
+        </div>
+    </div>
+</article>
+
+<?php include(ROOT."/app/view/Includes/footer.include.html"); ?>
diff --git a/app/view/Admin/displayModifPartieStep2.html b/app/view/Admin/displayModifPartieStep2.html
new file mode 100644
index 0000000000000000000000000000000000000000..7ec88e8071688099c6bb39f11578f7a5e13f5e68
--- /dev/null
+++ b/app/view/Admin/displayModifPartieStep2.html
@@ -0,0 +1,47 @@
+<?php 
+	$page_title = "Formulaire d'ajout de partie"; 
+	include(ROOT."/app/view/Includes/header.include.html"); 
+?>
+<?php $jeuactuel = $this->jeuactuel ?>
+<?php	if (!is_null($this->errMsg)){ ?>
+<article class="msg-erreur"><?php echo $this->errMsg;?></article>
+<?php } ?>
+<article>
+    <h2>Formulaire d'ajout de partie</h2>
+    <h3>Entrée des scores</h3>
+    <div class="addjeu-form">
+        <form method="post" action="verifystep2">
+            Jeu : <?php echo $jeuactuel->nom; ?><br/>
+            Joueurs :
+            <ul>
+                <?php foreach($this->listejactuel as $joueur){ ?>
+                <li><?php echo $joueur->pseudo; ?>
+                    <?php if($jeuactuel->type_scores == 'scores'){ ?>
+                    Score obtenu : <input type="text" title="score" required="" name="scores[]" value="<?php echo isset($this->scorePartie[$joueur->slug]) ? $this->scorePartie[$joueur->slug] : "" ; ?>"/>
+                    <?php } else { ?>
+                    Classement obtenu : <select title="score" required="" name="scores[]">
+                        <?php for ($j=1;$j<=count($this->listejactuel);$j++){ ?>
+                        <option value="<?php echo count($this->listejactuel)-$j;?>" <?php echo ((isset($this->classement[$joueur->slug]) && $this->classement[$joueur->slug] == $j)? "selected" : "") ?>><?php echo $j;?></option>
+
+                        <?php } ?>
+                    </select>
+                    <?php } ?>
+                </li>
+                <?php } ?>
+            </ul>
+            <br/>
+            <div class="submit">
+
+                <input type="reset" name="reset" value="Réinitialiser"/>
+                <input type="submit" name="submit" value="Modifier"/>
+            </div>
+        </form>
+        <div class="submit">
+            <form action="step1">
+                <input type="submit" name="submit" value="Étape précédente"/>
+            </form>
+        </div>
+    </div>
+</article>
+
+<?php include(ROOT."/app/view/Includes/footer.include.html"); ?>
diff --git a/app/view/Admin/displayModifPartieStepe1.html b/app/view/Admin/displayModifPartieStepe1.html
new file mode 100644
index 0000000000000000000000000000000000000000..dbcea70e3f31a163a8e59b7ec18fe7f3fb94913b
--- /dev/null
+++ b/app/view/Admin/displayModifPartieStepe1.html
@@ -0,0 +1,65 @@
+<?php 
+	$page_title = "Formulaire de Modification de partie";
+	include(ROOT."/app/view/Includes/header.include.html");
+?>
+<?php $jeuactuel = $this->jeuactuel ?>
+<?php	if (!is_null($this->errMsg)){ ?>
+<article class="msg-erreur"><?php echo $this->errMsg;?></article>
+<?php } ?>
+<article>
+    <h2>Formulaire de Modifaction de partie</h2>
+    <h3>Sélection des joueurs</h3>
+    <div class="addjeu-form">
+
+        <h4>Jeu : <?php echo $jeuactuel->nom; ?></h4>
+        <h4>De <?php echo $jeuactuel->min_equipes; ?> à <?php echo $this->maxe; ?>équipes (de <?php echo $jeuactuel->min_joueurs; ?> à <?php echo $this->maxj; ?> joueurs)</h4>
+
+        <?php foreach($this->equipes as $ke => $e) { ?>
+        <h5>Équipe <?php echo $ke+1; ?> </h5>
+        <ul>
+            <?php
+            foreach($e as $k => $j){ ?>
+            <li>
+                <?php echo $j->pseudo; ?>
+                <form method="post" action="deljoueurs1">
+                    <input type="hidden" value="<?php echo $k;?>" name="joueurdel"/>
+                    <input type="hidden" value="<?php echo $ke;?>" name="equipejdel"/>
+                    <input type="submit" name="submit" value="supprimer ce joueur"/>
+                </form>
+
+            </li>
+            <?php } ?>
+            <form method="post" action="addjoueurs1">
+                <label for="joueur">Ajouter un joueur à l'équipe <?php echo $ke+1;?> :</label>
+                <input type="text" id="joueur" name="joueur"/>
+                <input type="hidden" value="<?php echo $ke;?>" name="equipejadd" id="equipejadd"/>
+                <input type="submit" name="submit" value="Ajouter un joueur"/>
+            </form>
+            <form method="post" action="delequipe">
+                <input type="hidden" value="<?php echo $ke;?>" name="equipe"/>
+                <input type="submit" name="submit" value="Supprimer l'équipe <?php echo $ke+1;?>"/>
+            </form>
+        </ul>
+        <?php } ?>
+        <div class="submit">
+            <form method="post" action="addequipe">
+                <input type="submit" name="submit" value="Ajouter une équipe"/>
+            </form>
+
+            <form method="post" action="clearstep1">
+                <input type="submit" name="submit" value="Mise à zéro"/>
+            </form>
+            <form method="post" action="../modif">
+                <input type="submit" name="submit" value="Réinitialisation"/>
+            </form>
+            <form method="post" action="verifystep1">
+
+
+                <input type="submit" name="submit" value="Étape suivante"/>
+
+            </form>
+        </div>
+    </div>
+</article>
+
+<?php include(ROOT."/app/view/Includes/footer.include.html"); ?>
diff --git a/app/view/Admin/displayModifPartieStepe2.html b/app/view/Admin/displayModifPartieStepe2.html
new file mode 100644
index 0000000000000000000000000000000000000000..ecf8b2a6d88efa9ee1c5fa265a6a67bd179f1686
--- /dev/null
+++ b/app/view/Admin/displayModifPartieStepe2.html
@@ -0,0 +1,49 @@
+<?php 
+	$page_title = "Formulaire d'ajout de partie"; 
+	include(ROOT."/app/view/Includes/header.include.html"); 
+?>
+<?php $jeuactuel = $this->jeuactuel ?>
+<?php	if (!is_null($this->errMsg)){ ?>
+<article class="msg-erreur"><?php echo $this->errMsg;?></article>
+<?php } ?>
+<article>
+    <h2>Formulaire d'ajout de partie</h2>
+    <h3>Entrée des scores</h3>
+    <div class="addjeu-form">
+        <form method="post" action="verifystep2">
+            Jeu : <?php echo $jeuactuel->nom; ?><br/>
+            Équipes :<br/>
+            <?php foreach($this->equipes as $ke => $e) { ?>
+            <h4>Équipe <?php echo $ke+1; ?> </h4>
+            <ul>
+                <?php
+                    foreach($e as $k => $j){ ?>
+                <li>
+                    <?php echo $j->pseudo; ?>
+                </li>
+                <?php } ?>
+            </ul>
+            <?php if($jeuactuel->type_scores == 'scores'){ ?>
+            Score obtenu : <input type="text" title="score" required="" name="scores[]"/>
+            <?php } else { ?>
+            Classement obtenu : <select title="score" required="" name="scores[]">
+            <?php for ($j=1;$j<= count($this->equipes);$j++){ ?>
+            <option value="<?php echo count($this->equipes)-$j;?>"><?php echo $j;?></option>
+            <?php } ?>
+        </select>
+            <?php } ?>
+            <?php } ?>
+            <div class="submit">
+                <input type="reset" name="reset" value="Réinitialiser"/>
+                <input type="submit" name="submit" value="Demander l'ajout"/>
+            </div>
+        </form>
+        <div class="submit">
+            <form action="../add_partie/stepe1">
+                <input type="submit" name="submit" value="Étape précédente"/>
+            </form>
+        </div>
+    </div>
+</article>
+
+<?php include(ROOT."/app/view/Includes/footer.include.html"); ?>