diff --git a/app/controller/AdminController.php b/app/controller/AdminController.php
index e2952968c205c8c092fa7b0ad327d502269e86fb..2e065050f2cd8c0694090a0fcea4863467cee10e 100644
--- a/app/controller/AdminController.php
+++ b/app/controller/AdminController.php
@@ -1,4 +1,5 @@
 <?php
+include(ROOT."/Image.php");
 
 class AdminController extends Controller {
     
@@ -52,4 +53,41 @@ class AdminController extends Controller {
     public function displayUnAcceptJeuOK() {
         $this->view->display();
     }
+    
+    public function displayModifJeu() {
+        $slug = $this->route["params"]["slug"];
+        $this->view->jeu = Jeu::getFromSlug($slug);
+        $this->view->display();
+    }
+
+    public function displayModifJeuOK() {
+        $this->view->display();
+    }
+    public function verifyModifJeu() {
+        $slug = $this->route["params"]["slug"];
+        if(!isset($_POST['min_joueurs']) || !isset($_POST['type']) || !isset($_POST['type_scores'])) {
+            session_start();
+            $_SESSION['modifJeuErrCode'] = 1;
+            header("location:../modif");
+            die();
+        }
+        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");
+            } 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)
+                die();
+            }
+        }
+        $data = $_POST;
+        foreach (array('max_joueurs', 'min_equipes', 'max_equipes') as $truc) {
+            if ($data[$truc] == 0) {
+                $data[$truc] = null;
+            }
+        }
+        Admin::setModifJeu($slug, $data);
+        header("Location:ok");
+    }
 }
\ No newline at end of file
diff --git a/app/kernel/Router.php b/app/kernel/Router.php
index 3ff09c27f1d3a50bb67185cbf0d0ab84474a91a0..2973aa32452a1d0ef8bfe3e9fcc70c716a86f77e 100644
--- a/app/kernel/Router.php
+++ b/app/kernel/Router.php
@@ -229,6 +229,24 @@ class Router
 				$result["params"]["slug"] = $parts[2];
 			}
 
+			else if($parts[0] == "admin" && count($parts) == 4 && $parts[1] == 'jeu' && $parts[3] == 'modif') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "displayModifJeu";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 5 && $parts[1] == 'jeu' && $parts[3] == 'modif' && $parts[4] == "verify") {
+				$result["controller"] = 'Admin';
+				$result['action'] = "verifyModifJeu";
+				$result["params"]["slug"] = $parts[2];
+			}
+
+			else if($parts[0] == "admin" && count($parts) == 5 && $parts[1] == 'jeu' && $parts[3] == 'modif' && $parts[4] == 'ok') {
+				$result["controller"] = 'Admin';
+				$result['action'] = "displayModifJeuOK";
+				$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 bba11db4997e6a6a412c6ed64157b0f329b5e841..227e6a4514a9210438dced8dedb53b137ad27ec5 100644
--- a/app/model/Admin.php
+++ b/app/model/Admin.php
@@ -1,4 +1,5 @@
 <?php
+
 class Admin extends Model {
 
     public static function estAdmin($slug) {
@@ -68,5 +69,19 @@ class Admin extends Model {
         return $req->execute(array(':slug' => $slug));
     }
     
-
+    public static function setModifJeu($slug, $data) {
+        $db = Database::getInstance();
+        $sql = "UPDATE R_jeu SET description = :description, max_joueurs = :max_joueurs,
+                min_joueurs = :min_joueurs, max_equipes = :max_equipes, min_equipes = :min_equipes,
+                 type = :type, type_scores = :type_scores WHERE slug = :slug";
+        $req = $db->prepare($sql);
+        return $req->execute(array(':slug' => $slug,
+                                    ':description' => $data['description'] ,
+                                    ':type' => $data['type'],
+                                    ':max_joueurs' => $data['max_joueurs'],
+                                    ':min_joueurs' => $data['min_joueurs'],
+                                    ':max_equipes' => $data['max_equipes'],
+                                    ':min_equipes' => $data['min_equipes'],
+                                    ':type_scores' => $data['type_scores']));
+    }
 }
\ No newline at end of file
diff --git a/app/view/Admin/displayJeu.html b/app/view/Admin/displayJeu.html
index 168e1040b715450dfcffd6c605f2282cf9082a88..52d1cb7a4084d4b3036a062faa073570e6a612ba 100644
--- a/app/view/Admin/displayJeu.html
+++ b/app/view/Admin/displayJeu.html
@@ -41,8 +41,8 @@ include(ROOT."/app/view/Includes/header.include.html");
                 <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=\"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=\"jeu/".$ligne['slug']."/valide\"><img src=\"".BASE_URL."/images/ok.svg\" alt=\"Valider\"/></a></td>
+                <td><a href=\"jeu/".$ligne['slug']."/modif\"><img src=\"".BASE_URL."/images/modif.svg\" alt=\"Modifier\"//></a></td>
                 <td><a href=\"jeu/".$ligne['slug']."/supprime\"><img src=\"".BASE_URL."/images/cancel.svg\" /></a></td>
             </tr>
             ";
@@ -76,7 +76,7 @@ include(ROOT."/app/view/Includes/header.include.html");
             <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']."/modif\"><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>
         ";
diff --git a/app/view/Admin/displayModifJeu.html b/app/view/Admin/displayModifJeu.html
new file mode 100644
index 0000000000000000000000000000000000000000..c7b499a78405837f53daf74152f51da7d7ce8c48
--- /dev/null
+++ b/app/view/Admin/displayModifJeu.html
@@ -0,0 +1,82 @@
+<?php
+	$page_title = "Page d'administration";
+include(ROOT."/app/view/Includes/header.include.html");
+?>
+
+<?php if(isset($_SESSION['user']) && Admin::estAdmin($_SESSION['user']->slug)) { ?>
+
+<?php
+			if(isset($_SESSION['modifJeuErrCode'])) { // si message d'erreur
+				$errCode = $_SESSION['modifJeuErrCode'];
+				if($errCode == 1) { // on détermine le message
+					$errMsg = '<h3>Erreur une variable est manquante</h3>';
+                } elseif($errCode == 2) {
+                    $errMsg = '<h3>Image manquante</h3>';
+                } elseif($errCode == 5) {
+                    $errMsg = '<h3>Problème sur l\'image</h3>';
+                } elseif($errCode == 6) {
+                    $errMsg = '<h3>Le fichier n\'est pas une image</h3>';
+                } elseif($errCode == 7) {
+                    $errMsg = '<h3>L\'image est trop grande</h3>';
+                }
+                echo '<article class="msg-erreur">'.$errMsg.'</article>'; // on affiche le message
+                unset($_SESSION['modifJeuErrCode']); // on retire la variable de session
+            }
+?>
+
+<article>
+    <h2>Modifcation de <?php print $this->jeu->nom; ?></h2>
+    <div class="addjeu-form">
+        <form method="post" action="modif/verify" enctype="multipart/form-data">
+            <label for="nom">Nom du jeu :</label> <input type="text" name="nom" required="" id="nom" disabled value="<?php print $this->jeu->nom; ?>"/> <br/>
+            <label for="description">Description :</label> <textarea name="description" id="description" ><?php print $this->jeu->description; ?></textarea> <br/>
+            <label for="min_joueurs">Joueurs minimum*:</label> <input type="number" name="min_joueurs" required="" id="min_joueurs" value="<?php print $this->jeu->min_joueurs; ?>"/> <br/>
+            <label for="max_joueurs">Joueurs maximum :</label> <input type="number" name="max_joueurs" id="max_joueurs" value="<?php print $this->jeu->max_joueurs; ?>"/> <br/>
+            <label for="type">Type de jeu*:</label>
+                <select name="type" required="" id="type" >
+                    <?php if($this->jeu->type == "duels") {
+                        print '
+                            <option value="duels" selected="selected">Duels</option>
+                            <option value="equipes">Equipes</option>
+                        ';
+                        } else {
+                        print '
+                            <option value="duels">Duels</option>
+                            <option value="equipes" selected="selected">Equipes</option>
+                        ';
+                        }
+                    ?>
+                </select><br/>
+            <label for="min_equipes">Nombre d'équipes minimum :</label> <input type="number" name="min_equipes" id="min_equipes" value="<?php print $this->jeu->min_equipes; ?>"/> <br/>
+            <label for="max_equipes">Nombre d'équipes maximum :</label> <input type="number" name="max_equipes" id="max_equipes" value="<?php print $this->jeu->max_equipes; ?>"/> <br/>
+            <label for="type_scores">Type de classement*:</label>
+                <select name="type_scores" required="" id="type_scores" >
+                    <?php if($this->jeu->type == "classement") {
+                        print '
+                            <option value="classement" selected="selected">Classement</option>
+                            <option value="scores">Scores</option>
+                        ';
+                        } else {
+                        print '
+                            <option value="classement">Classement</option>
+                            <option value="scores" selected="selected">Scores</option>
+                        ';
+                        }
+                    ?>
+                </select><br/>
+            <label for="image">Image du jeu: </label>	<input type="file" name="image" id="image" /><br/>
+            <div class="submit">
+                <input type="reset" name="reset" value="Réinitialiser">
+                <input type="submit" name="submit" value="Modifier">
+            </div>
+        </form>
+    </div>
+</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/displayModifJeuOK.html b/app/view/Admin/displayModifJeuOK.html
new file mode 100644
index 0000000000000000000000000000000000000000..43e5476ba5afdf21178f247dc382974f8fbd34ac
--- /dev/null
+++ b/app/view/Admin/displayModifJeuOK.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>Modification 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"); ?>