diff --git a/app/controller/JeuController.php b/app/controller/JeuController.php
index bc6d4bac7e0e129e92bb82c18405655bad4ed57f..a4e7e5eed04e9505ed2113f88f4ff9252099def2 100644
--- a/app/controller/JeuController.php
+++ b/app/controller/JeuController.php
@@ -74,25 +74,89 @@ class JeuController extends Controller {
         $data['slug_jeu'] = self::slugify($_POST['nom']);
 
         $result = Jeu::checkExists($data['slug_jeu']); // vérifie si le jeu n'est pas encore dans la BDD
-
+        $_POST['type_scores'] = self::slugify($_POST['type_scores']);
         if($result == 0) { // connexion valide
 			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 == 1) {
-					session_start(); // on démarre une session pour avoir accès aux variables superglobales de session
 					$_SESSION["addRequestErrCode"] = 2; // on stocke le code d'erreur
 					header('Location:../addjeu'); // on redirige vers la page de formulaire (il faut faire un retour dans le dossier parent pour que ça fonctionne)
 					die();
 				} else {
-					session_start(); // on démarre une session pour avoir accès aux variables superglobales de session
 					$_SESSION["addRequestErrCode"] = $err; // on stocke le code d'erreur
 					header('Location:../addjeu'); // on redirige vers la page de formulaire (il faut faire un retour dans le dossier parent pour que ça fonctionne)
 					die();
 				}
-				Jeu::addRequest($data['nom'], $data['description'], $data['slug_jeu'], 0);// on ajoute le jeu à la BDD avec
+
+				if(!is_numeric($data['max_joueurs'])) {
+					$_SESSION["addRequestErrCode"] = 8; // on stocke le code d'erreur
+					header('Location:../addjeu'); // on redirige vers la page de formulaire (il faut faire un retour dans le dossier parent pour que ça fonctionne)
+					die();
+				}
+
+				if($data['min_joueurs'] < 0) {
+					$_SESSION["addRequestErrCode"] = 9; // on stocke le code d'erreur
+					header('Location:../addjeu'); // on redirige vers la page de formulaire (il faut faire un retour dans le dossier parent pour que ça fonctionne)
+					die();
+				}
+
+				if(!isset($data['max_joueurs_inf']) && ($data['max_joueurs'] < 0 || $data['max_joueurs'] < $data['min_joueurs'])) {
+                    if(!is_numeric($data['min_joueurs']))
+                        $_SESSION["addRequestErrCode"] = 8;
+                    else
+                        $_SESSION["addRequestErrCode"] = 9; // on stocke le code d'erreur
+					header('Location:../addjeu'); // on redirige vers la page de formulaire (il faut faire un retour dans le dossier parent pour que ça fonctionne)
+					die();
+				}
+
+				if($data['type'] == "Chacun pour soi"){
+                    $_POST['type'] = "duels";
+					if(isset($data['max_joueurs_inf']) && $data['max_joueurs_inf'])
+						Jeu::addRequest($data['nom'], $data['description'], $data['slug_jeu'], 0, $_POST['type'], $data['type_scores'], $data['min_joueurs']);// on ajoute le jeu à la BDD avec
+					else{
+						Jeu::addRequest($data['nom'], $data['description'], $data['slug_jeu'], 0, $_POST['type'], $data['type_scores'], $data['min_joueurs'], $data['max_joueurs']);// on ajoute le jeu à la BDD avec
+					}
 				header('Location:requestvalid'); // on redirige vers la  page OK
+				}
+				else if ($data['type'] == "Équipes"){
+                    $_POST['type'] = "equipes";
+					if(!isset($data['max_equipes']) || !isset($data['min_equipes'])) {
+						echo "<h1>Erreur : variables absentes</h1>";
+						die();
+					}
+					if(!is_numeric($data['max_equipes']) || !is_numeric($data['min_equipes'])) {
+						$_SESSION["addRequestErrCode"] = 8; // on stocke le code d'erreur
+						header('Location:../addjeu'); // on redirige vers la page de formulaire (il faut faire un retour dans le dossier parent pour que ça fonctionne)
+						die();
+					}
+					if($data['min_equipes'] < 0) {
+						$_SESSION["addRequestErrCode"] = 9; // on stocke le code d'erreur
+						header('Location:../addjeu'); // on redirige vers la page de formulaire (il faut faire un retour dans le dossier parent pour que ça fonctionne)
+						die();
+					}
+					if(!isset($data['max_equipes_inf']) && ($data['max_equipes'] < 0 || $data['max_equipes'] < $data['min_equipes'])) {
+						$_SESSION["addRequestErrCode"] = 9; // on stocke le code d'erreur
+						header('Location:../addjeu'); // on redirige vers la page de formulaire (il faut faire un retour dans le dossier parent pour que ça fonctionne)
+						die();
+					}
+                    if(isset($data['max_joueurs_inf']) && $data['max_joueurs_inf']){
+					if(isset($data['max_equipes_inf']) && $data['max_equipes_inf'])
+						Jeu::addRequest($data['nom'], $data['description'], $data['slug_jeu'], 0, $data['type'], $data['type_scores'], $data['min_joueurs'], null, $data['min_equipes']);// on ajoute le jeu à la BDD avec
+					else{
+						Jeu::addRequest($data['nom'], $data['description'], $data['slug_jeu'], 0, $data['type'], $data['type_scores'], $data['min_joueurs'], null, $data['min_equipes'], $data['max_equipes']);// on ajoute le jeu à la BDD avec
+					}
+                    }
+                    else{
+                        if(isset($data['max_equipes_inf']) && $data['max_equipes_inf'])
+                            Jeu::addRequest($data['nom'], $data['description'], $data['slug_jeu'], 0, $data['type'], $data['type_scores'], $data['min_joueurs'], $data['max_joueurs'], $data['min_equipes']);// on ajoute le jeu à la BDD avec
+                        else{
+                            Jeu::addRequest($data['nom'], $data['description'], $data['slug_jeu'], 0, $data['type'], $data['type_scores'], $data['min_joueurs'], $data['max_joueurs'],  $data['min_equipes'], $data['max_equipes']);// on ajoute le jeu à la BDD avec
+                        }
+                    }
+                    header('Location:requestvalid');
+				}
 			} else {
 				session_start(); // on démarre une session pour avoir accès aux variables superglobales de session
 				$_SESSION["addRequestErrCode"] = 2; // on stocke le code d'erreur
diff --git a/app/model/Jeu.php b/app/model/Jeu.php
index f873c0355e543749ab6e61aef73c25f3e11c95f4..672342e38d2dd9899d2572ca13682bbf4175d36b 100644
--- a/app/model/Jeu.php
+++ b/app/model/Jeu.php
@@ -75,11 +75,22 @@ class Jeu extends Model {
       return 0; // on aurait pu mettre deux return (un dans le if et un ici), mais bon...
    }
 
-   public static function addRequest($nom_jeu, $description, $slug_jeu, $est_valide) {
+   public static function addRequest($nom_jeu, $description, $slug_jeu, $est_valide, $type, $type_scores, $min_joueurs, $max_joueurs=null, $min_equipes=null, $max_equipes=null) {
       $db = Database::getInstance();
-      $sql = "INSERT INTO R_jeu (nom, description, slug, est_valide) VALUES (:nom, :description, :slug, :est_valide);";
-      $stmt = $db->prepare($sql);
-      if($stmt->execute(array(":nom" => $nom_jeu, ":description" => $description, ":slug" => $slug_jeu, ":est_valide" => $est_valide))) {
+      $sql = "INSERT INTO R_jeu (nom, description, slug, est_valide, min_joueurs, max_joueurs, min_equipes, max_equipes, type, type_scores)
+              VALUES (:nom, :description, :slug, :est_valide, :min_joueurs, :max_joueurs, :min_equipes, :max_equipes, :type, :type_scores);";
+      print($nom_jeu);
+       print($description);
+       print($slug_jeu);
+       print($est_valide);
+       print($type);
+       print($type_scores);
+       print($min_joueurs);
+       print($max_joueurs);
+       print($min_equipes);
+       print($max_equipes);
+       $stmt = $db->prepare($sql);
+      if($stmt->execute(array(":nom" => $nom_jeu, ":description" => $description, ":slug" => $slug_jeu, ":est_valide" => $est_valide, ":type" => $type, ":type_scores" => $type_scores, ":min_joueurs" => $min_joueurs, ":max_joueurs" => $max_joueurs, ":min_equipes" => $min_equipes, ":max_equipes" => $max_equipes))) {
           //ok
       }
        else {