diff --git a/app/controller/PartieController.php b/app/controller/PartieController.php
index 61a4ba76ab3dcaecb22e1dc79d0b79741399c711..4b58ec7e032a5cd66ea7099bd8a1680f6543d934 100644
--- a/app/controller/PartieController.php
+++ b/app/controller/PartieController.php
@@ -8,346 +8,534 @@
  */
 class PartieController extends Controller
 {
-    public function displayStep0(){
+    public function displayStep0()
+    {
+		session_start();
+        if(isset($_SESSION['errMsg'])){
+            $this->view->errMsg = $_SESSION['errMsg'];
+            unset($_SESSION['errMsg']);
+        }
+
         $this->view->liste = Jeu::getList();
         $this->view->display();
     }
 
-    public function displayStep1(){
+    public function displayStep1()
+    {
         session_start();
-        if(!isset($_SESSION['jeu_select']))
+        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();
     }
 
-    public function displayStep2(){
+    public function displayStep2()
+    {
         session_start();
-        if(!isset($_SESSION['jeu_select']))
+        if (!isset($_SESSION['jeu_select'])) {
             header("Location:../add_partie");
-        if(!isset($_SESSION['joueurs_select']))
+			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'];
         $this->view->display();
     }
 
-    public function displayStepe1(){
+    public function displayStepe1()
+    {
         session_start();
-        if(!isset($_SESSION['jeu_select']) || !isset($_SESSION['equipes']))
+        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 displayStepe2(){
+    public function displayStepe2()
+    {
         session_start();
-        if(!isset($_SESSION['jeu_select']))
+        if (!isset($_SESSION['jeu_select'])) {
             header("Location:../add_partie");
-        if(!isset($_SESSION['equipes']))
+			die();
+		}
+        if (!isset($_SESSION['equipes'])) {
             header("Location:../add_partie/stepe1");
-
+			die();
+		}
+        if(isset($_SESSION['errMsg'])){
+            $this->view->errMsg = $_SESSION['errMsg'];
+            unset($_SESSION['errMsg']);
+        }
 
         $this->view->jeuactuel = $_SESSION['jeu_select'];
         $this->view->equipes = $_SESSION['equipes'];
         $this->view->display();
     }
-    
-    public function displayValid(){
+
+    public function displayValid()
+    {
         $this->view->display();
     }
-    
-    public static function verifyStep0(){
 
-        if(!isset($_POST['jeu'])) {
+    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 verifyStep0()
+    {
+
+        if (!isset($_POST['jeu'])) {
             //appeler une fonction d'erreur
-            echo "<h1>Erreur : variables absentes</h1>";
-            die();
+            self::error("<h1>Erreur : variables absentes</h1>", "step0");
+			die();
         }
         $jeu = $_POST['jeu'];
 
-        if(!Jeu::checkExistsNom($jeu)) {
-            echo "<h1>Erreur : le jeu entré est introuvable dans la BD.</h1>";
-            die();
+        if (!Jeu::checkExistsNom($jeu)) {
+            self::error("<h1>Erreur : le jeu entré est introuvable dans la BD.</h1>", "step0");
+			die();
         }
 
         $jeu = Jeu::getFromNom($jeu);
         session_start();
         $_SESSION['jeu_select'] = $jeu;
-        if($jeu->type == 'equipes'){
+        if ($jeu->type == 'equipes') {
             $_SESSION['equipes'] = array(array());
             header('Location:stepe1');
-        }
-        else
+			die();
+        } 
+		else {
             header('Location:step1');
+			die();
+		}
     }
 
-    public static function addjoueurs1(){
+    public static function addjoueurs1()
+    {
         session_start();
-        if(!isset($_SESSION['jeu_select']))
+        if (!isset($_SESSION['jeu_select'])) {
             header("Location:../add_partie");
-        if(!isset($_POST["joueur"])){
-            echo "<h1>Erreur : pas de joueur entré.</h1>";
-            die();
-        }
+			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)){
+        if (Profil::checkExists($joueur)) {
             $joueur_objet = Profil::getFromSlug($joueur);
-        }
-        else{
-            echo "<h1>Erreur : le joueur est introuvable dans la base de données.</h1>";
-            die();
+        } 
+		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'){
+        if ($jeu->type == 'equipes') {
             $ke = $_POST['equipejadd'];
-            foreach ($_SESSION['equipes'] as $equipe){
-                if(in_array($joueur_objet, $equipe)){
-                    echo "<h1>Erreur : le joueur a déjà été inscrit pour cette partie.</h1>";
-                    die();
+            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");
-        }
-        else{
-        if (!isset($_SESSION['joueurs_select'])){
-            $_SESSION['joueurs_select'] = array($joueur_objet);
-            echo "<h1>L'ajout s'est bien passé.</h1>";
+			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();
         }
+    }
 
-        if(!in_array($joueur_objet, $_SESSION['joueurs_select']))
-            array_push($_SESSION['joueurs_select'], $joueur_objet);
-        else{
-            echo "<h1>Erreur : le joueur a déjà été inscrit pour cette partie.</h1>";
-            die();
-        }
-        echo "<h1>L'ajout s'est bien passé.</h1>";
-        header("Location:step1");
+    public static function clearstep1()
+    {
+        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 deljoueurs1(){
+    public static function deljoueurs1()
+    {
         session_start();
-        if(!isset($_SESSION['jeu_select']))
+        if (!isset($_SESSION['jeu_select'])) {
             header("Location:../add_partie");
+			die();
+		}
 
-        if($_SESSION['jeu_select']->type == 'duels') {
-            if (!isset($_SESSION['joueurs_select']))
+        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']))
+        if ($_SESSION['jeu_select']->type == 'equipes') {
+            if (!isset($_SESSION['equipes'])) {
                 header("Location:stepe1");
+				die();
+			}
         }
 
-        if(!isset($_POST['joueurdel']))
-        {
-            echo "<h1>Erreur : variables manquantes.</h1>";
-            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'){
+        if ($_SESSION['jeu_select']->type == 'equipes') {
             unset($_SESSION['equipes'][$_POST['equipejdel']][$_POST['joueurdel']]);
             $equipe_tmp = array();
-            foreach ($_SESSION['equipes'][$_POST['equipejdel']] as $j)
+            foreach ($_SESSION['equipes'][$_POST['equipejdel']] as $j) {
                 array_push($equipe_tmp, $j);
+			}
             $_SESSION['equipes'][$_POST['equipejdel']] = $equipe_tmp;
             header("Location:stepe1");
-        }
-        else{
+			die();
+        } 
+		else {
             unset($_SESSION['joueurs_select'][$_POST['joueurdel']]);
             $joueurs_tmp = array();
-            foreach ($_SESSION['joueurs_select'] as $j)
+            foreach ($_SESSION['joueurs_select'] as $j) {
                 array_push($joueurs_tmp, $j);
+			}
             $_SESSION['joueurs_select'] = $joueurs_tmp;
             header("Location:step1");
+			die();
         }
     }
-    public static function delequipe(){
+
+    public static function delequipe()
+    {
         session_start();
-        if (!isset($_SESSION['jeu_select']))
+        if (!isset($_SESSION['jeu_select'])) {
             header("Location:../add_partie");
-        if (!isset($_SESSION['equipes']))
+			die();
+		}
+        if (!isset($_SESSION['equipes'])) {
             header("Location:stepe1");
-        if (count($_SESSION['equipes']) <= 1){
-            echo "<h1>Erreur : vous ne pouvez pas supprimer la seule équipe restante.</h1>";
-            die();
+			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'])){
-            echo "<h1>Erreur : variables manquantes.</h1>";
-            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)
+        foreach ($_SESSION['equipes'] as $e) {
             array_push($equipe_tmp, $e);
+		}
         $_SESSION['equipes'] = $equipe_tmp;
         header("Location:stepe1");
+		die();
     }
 
-    public static function addequipe(){
+    public static function addequipe()
+    {
         session_start();
-        if (!isset($_SESSION['jeu_select']))
+        if (!isset($_SESSION['jeu_select'])) {
             header("Location:../add_partie");
-        if (count($_SESSION['equipes']) == $_SESSION['jeu_select']->max_equipes){
-            echo "<h1>Erreur : vous ne pouvez pas créer d'équipe supplémentaire.</h1>";
-            die();
+			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 verifyStep1(){
+    public static function verifyStep1()
+    {
         session_start();
-        if(!isset($_SESSION['jeu_select']))
+        if (!isset($_SESSION['jeu_select'])) {
             header("Location:../add_partie");
+			die();
+		}
         $jeu_actuel = $_SESSION['jeu_select'];
-        if ($jeu_actuel->type == 'equipes'){
-            if(!isset($_SESSION['equipes']))
+        if ($jeu_actuel->type == 'equipes') {
+            if (!isset($_SESSION['equipes'])) {
                 header("Location:stepe1");
+				die();
+			}
             $equipes = $_SESSION['equipes'];
-            if (count($equipes) < $jeu_actuel->min_equipes){
-                echo "<h1>Erreur : il n'y a pas assez d'équipes.</h1>";
-                die();
+            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){
-                echo "<h1>Erreur : il y a trop d'équipes.</h1>";
-                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;
-                    echo "<h1>Erreur : il n'y a pas assez de joueurs dans l'équipe $ke.</h1>";
-                    die();
-                }
-                if (!is_null($jeu_actuel->max_joueurs)){
-                if (count($e) > $jeu_actuel->max_joueurs){
-                    $ke = $ke+1;
-                    echo "<h1>Erreur : il y a trop de joueurs dans l'équipe $ke.</h1>";
-                    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']))
+		else {
+            if (!isset($_SESSION['joueurs_select'])) {
                 header("Location:step1");
+				die();
+			}
             $joueurs = $_SESSION['joueurs_select'];
-            if (count($joueurs) < $jeu_actuel->min_joueurs){
-                echo "<h1>Erreur : il n'y a pas assez de joueurs.</h1>";
-                die();
+            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){
-                echo "<h1>Erreur : il y a trop de joueurs.</h1>";
-                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 verifyStep2(){
+    public function verifyStep2()
+    {
         session_start();
-        if(!isset($_SESSION['jeu_select']))
-            header("Location:../add_partie");
+        if (!isset($_SESSION['jeu_select'])) {
+            self::error("<h1>Erreur : le jeu doit être renseigné.</h1>", "step0");
+			die();
+		}
 
         $jeu = $_SESSION['jeu_select'];
         if ($jeu->type == 'equipes') {
-            if (!isset($_SESSION['equipes']))
+            if (!isset($_SESSION['equipes'])){
                 header("Location:stepe1");
+				die();
+            }
         }
-        else{
-        if(!isset($_SESSION['joueurs_select']))
-            header("Location:../add_partie/step1");
+		else {
+            if (!isset($_SESSION['joueurs_select'])) {
+                header("Location:step1");
+				die();
+			}
         }
 
-        if(!isset($_POST['scores'])) {
-            //appeler une fonction d'erreur
-            echo "<h1>Erreur : variables absentes</h1>";
-            die();
+        if (!isset($_POST['scores'])) {
+            if ($jeu->type == 'equipes') {
+                self::error("<h1>Erreur : variables absentes</h1>", "stepe2");
+				die();
+			}
+            else {
+                self::error("<h1>Erreur : variables absentes</h1>", "step2");
+				die();
+			}
         }
 
 
         $scores = $_POST["scores"];
-        foreach ($scores as $s){
-            if(!is_numeric($s)) {
-                echo "<h1>Erreur : les scores doivent être des nombres.</h1>";
-                die();
+        foreach ($scores as $s) {
+            if (!is_numeric($s)) {
+                if ($jeu->type == 'equipes') {
+                    self::error("<h1>Erreur : les scores doivent être des nombres.</h1>", "stepe2");
+					die();
+				}
+                else {
+                    self::error("<h1>Erreur : les scores doivent être des nombres.</h1>", "step2");
+					die();
+				}
             }
         }
         if ($jeu->type == 'equipes') {
             $equipes = $_SESSION['equipes'];
             $ns = count($scores);
             $nj = count($equipes);
-            if ($ns != $nj){
-                //appeler une fonction d'erreur
-                echo "<h1>Erreur : scores et joueurs incohérents</h1>";
-                die();
+            if ($ns != $nj) {
+                self::error("<h1>Erreur : scores et joueurs incohérents</h1>", "stepe2");
+				die();
             }
 
             $pb = Partie::addPartie($equipes, $scores, $jeu);
-            if(!$pb) {
+            if (!$pb) {
                 unset($_SESSION['equipes']);
                 unset($_SESSION['jeu_select']);
                 header('Location:valid'); // Redirection vers la page OK
+				die();
             }
             switch ($pb) {
                 case 2:
-                    echo "<h1>Erreur de connexion à la BD.</h1>";
-                    die();
+                    self::error("<h1>Erreur de connexion à la BD.</h1>", "stepe2");
+					die();
                     break;
                 default:
-                    echo "<h1>Erreur non gérée.</h1>";
-                    die();
+                    self::error("<h1>Erreur non gérée.</h1>", "stepe2");
+					die();
                     break;
             }
-        }
-        else{
+        } 
+		else {
             $joueurs = $_SESSION['joueurs_select'];
             $ns = count($scores);
             $nj = count($joueurs);
-            if ($ns != $nj){
-            //appeler une fonction d'erreur
-                print_r($scores);
-                echo "<h1>Erreur : scores et joueurs incohérents</h1>";
-            die();
-        }
-        $pb = Partie::addPartie($joueurs, $scores, $jeu);
-        if(!$pb) {
-            unset($_SESSION['jeu_select']);
-            unset($_SESSION['joueurs_select']);
-            header('Location:valid'); // Redirection vers la page OK
-        }
-        switch ($pb) {
-            case 2:
-                echo "<h1>Erreur de connexion à la BD.</h1>";
-                die();
-                break;
-            default:
-                echo "<h1>Erreur non gérée.</h1>";
-                die();
-                break;
-        }
+            if ($ns != $nj) {
+                self::error("<h1>Erreur : scores et joueurs incohérents</h1>", "step2");
+				die();
+            }
+            $pb = Partie::addPartie($joueurs, $scores, $jeu);
+            if (!$pb) {
+                unset($_SESSION['jeu_select']);
+                unset($_SESSION['joueurs_select']);
+                //self::error("<h1>DEBUGGING</h1>", "step2");
+				//die();
+                header('Location:valid'); // Redirection vers la page OK
+				die();
+            }
+            switch ($pb) {
+                case 2:
+                    self::error("<h1>Erreur de connexion à la BD.</h1>", "step2");
+					die();
+                    break;
+                default:
+                    self::error("<h1>Erreur non gérée.</h1>", "step2");
+					die();
+                    break;
+            }
         }
     }
 }
\ No newline at end of file
diff --git a/app/kernel/Router.php b/app/kernel/Router.php
index 00fc88f638856a6910eadbdc0d05477d064e2644..d74851724ba6d03ff526a008e9320a069d296ae3 100644
--- a/app/kernel/Router.php
+++ b/app/kernel/Router.php
@@ -197,6 +197,10 @@ class Router
                 $result["controller"] = "Partie";
                 $result["action"] = "delequipe";
             }
+			else if ($parts[0] == "add_partie" && count($parts) == 2 && $parts[1] == "clearstep1") {
+				$result["controller"] = "Partie";
+				$result["action"] = "clearstep1";
+			}
 
 
             // à chaque fois qu'on crée une nouvelle page, il faut rajouter un cas à cet endroit !
diff --git a/app/model/Partie.php b/app/model/Partie.php
index 6ec08a224ac58c088001b63ab912d161b3b56466..044bdb113b730ed5a86ea6d75904a050f9c1387f 100644
--- a/app/model/Partie.php
+++ b/app/model/Partie.php
@@ -23,7 +23,7 @@ class Partie extends Model
 
     public static function getList()
     {
-        $db = Database::getInstance()   ;
+        $db = Database::getInstance();
         $sql = "SELECT * FROM R_partie";
         $stmt = $db->query($sql);
         $stmt->setFetchMode(PDO::FETCH_CLASS, "Partie");
@@ -72,16 +72,14 @@ class Partie extends Model
                 if ($stmt2->execute(array(":classement" => $i, ":joueur" => $row['joueur'], ":jeu" => $jeu->slug))) {
 
                 } else {
-                    echo "pb updateClassement";
-                    die();
+                    return 2;
                 }
                 $i++;
             }
         } else {
-            echo "pb updateClassement";
-            die();
+            return 2;
         }
-
+        return 0;
     }
 
     public static function addPartie($joueurs, $scores, $jeu)
@@ -111,62 +109,59 @@ class Partie extends Model
 
             $old_score = array_fill(0, $m, 0);
             $old_score_e = array();
-            foreach ($joueurs as $k => $joueur){
+            foreach ($joueurs as $k => $joueur) {
                 // version avec équipes
-                if ($jeu->type == 'equipes'){
+                if ($jeu->type == 'equipes') {
                     $old_score_e[$k] = array();
-                    foreach ($joueur as $kj => $j){
+                    foreach ($joueur as $kj => $j) {
                         if ($stmt3->execute(array(":id_joueur" => $j->slug, ":id_jeu" => $jeu->slug))) {
                             if ($row = $stmt3->fetch()) {
                                 // Le joueur a déja joué à ce jeu
-                                $old_score_e[$k][$kj]= $row[0];
+                                $old_score_e[$k][$kj] = $row[0];
                             } else {
                                 // ou le joueur n'a jamais joué à ce jeu, on je rajoute à la relation.
-                                $old_score_e[$k][$kj]= 1000;
+                                $old_score_e[$k][$kj] = 1000;
                                 $stmtN = $db->prepare($sqlN);
                                 if ($stmtN->execute(array(":id_joueur" => $j->slug, ":id_jeu" => $jeu->slug, ":score" => 1000))) {
 
                                 } else
                                     return 2;
                             }
-                            $old_score[$k] = array_sum($old_score_e[$k])/count($old_score_e[$k]);
                         }
                     }
-                }
-                else{
+                    $old_score[$k] = array_sum($old_score_e[$k]) / count($old_score_e[$k]);
+                } else {
                     // récupération du score actuel de chaque joueur
-                if ($stmt3->execute(array(":id_joueur" => $joueur->slug, ":id_jeu" => $jeu->slug))) {
-                    if ($row = $stmt3->fetch()) {
-                        // Le joueur a déja joué à ce jeu
-                        $old_score[$k] = $row[0];
-                    } else {
-                        // ou le joueur n'a jamais joué à ce jeu, on je rajoute à la relation.
-                        $old_score[$k] = 1000;
-                        $stmtN = $db->prepare($sqlN);
-                        if ($stmtN->execute(array(":id_joueur" => $joueur->slug, ":id_jeu" => $jeu->slug, ":score" => 1000))) {
+                    if ($stmt3->execute(array(":id_joueur" => $joueur->slug, ":id_jeu" => $jeu->slug))) {
+                        if ($row = $stmt3->fetch()) {
+                            // Le joueur a déja joué à ce jeu
+                            $old_score[$k] = $row[0];
+                        } else {
+                            // ou le joueur n'a jamais joué à ce jeu, on je rajoute à la relation.
+                            $old_score[$k] = 1000;
+                            $stmtN = $db->prepare($sqlN);
+                            if ($stmtN->execute(array(":id_joueur" => $joueur->slug, ":id_jeu" => $jeu->slug, ":score" => 1000))) {
 
-                        } else
-                            return 2;
-                    }
+                            } else
+                                return 2;
+                        }
 
-                }
+                    }
                 }
             }
             // Calcul de la nouvelle différence de scores et du classement de chacun dans la partie
             $diff_scores = ELO_scores($old_score, $scores, 32);
             $classement = self::calcul_classement($diff_scores);
-            print_r($joueurs);
-            print_r($old_score_e);
             foreach ($joueurs as $k => $joueur) {
                 if ($jeu->type == 'equipes') {
-                    foreach ($joueur as $kj => $j){
+                    foreach ($joueur as $kj => $j) {
                         // Insertion des infos de la partie (avec le score avant la partie et le classement interne à la partie)
                         // pour chaque joueur
                         if ($stmt4->execute(array(":partie" => $id_partie,
                             ":joueur" => $j->slug,
                             ":classement" => $classement[$k], ":score" => $old_score_e[$k][$kj]))
                         ) {
-                            $newS = $old_score[$k][$kj] + $diff_scores[$k];
+                            $newS = $old_score_e[$k][$kj] + $diff_scores[$k];
                             // On met à jour le score du joueur actuel dans sa relation avec le jeu
                             if ($stmt5->execute(array(":new_score" => $newS,
                                 ":id_jeu" => $jeu->slug, ":id_joueur" => $j->slug))
@@ -176,8 +171,7 @@ class Partie extends Model
                         } else
                             return 2;
                     }
-                }
-                else {
+                } else {
                     // Insertion des infos de la partie (avec le score avant la partie et le classement interne à la partie)
                     // pour chaque joueur
                     if ($stmt4->execute(array(":partie" => $id_partie,
@@ -198,7 +192,6 @@ class Partie extends Model
         } else
             return 2;
         // met à jour le classement de tous les joueurs
-        self::updateClassement($jeu);
-        return 0;
+        return self::updateClassement($jeu);
     }
 }
diff --git a/app/view/Partie/displayStep0.html b/app/view/Partie/displayStep0.html
index 8d5b6d4ba4fe77296da1aaeed1aa9b838a213f44..0b95e1e2a8b017becb88763fe32ccdbe72c6afed 100644
--- a/app/view/Partie/displayStep0.html
+++ b/app/view/Partie/displayStep0.html
@@ -1,5 +1,5 @@
 <?php 
-	session_start();
+	// session déjà lancée dans le contrôleur
 	
 	if(!isset($_SESSION['connected']) || $_SESSION['connected'] != true) {
 		header('Location:'.BASE_URL);
@@ -8,7 +8,9 @@
 	$page_title = "Formulaire d'ajout de partie"; 
 	include(ROOT."/app/view/Includes/header.include.html"); 
 ?>
-
+<?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 d'un jeu</h3>
diff --git a/app/view/Partie/displayStep1.html b/app/view/Partie/displayStep1.html
index ebeeaae4c80ec459cb8be67129a795455553aa9f..c1e125ac650d78104d0b0ea5ed87aaa9b8941eae 100644
--- a/app/view/Partie/displayStep1.html
+++ b/app/view/Partie/displayStep1.html
@@ -3,43 +3,50 @@
 	include(ROOT."/app/view/Includes/header.include.html");
 ?>
 <?php $jeuactuel = $this->jeuactuel ?>
-    <article>
-        <h2>Formulaire d'ajout de partie</h2>
-		<h3>Sélection des joueurs</h3>
-        <div class="addjeu-form">
+<?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">
 
-				Jeu : <?php echo $jeuactuel->nom; ?><br />
-				Joueurs :<br />
-            <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'])) { ?>
-            Joueurs actuellement sélectionnés :
-            <ul>
+        <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" />
+                    <input type="submit" name="submit" value="supprimer ce joueur"/>
                 </form>
             </li>
             <?php } ?>
-            </ul>
-
-            <form method="post" action="verifystep1">
-                <div class="submit">
-					<input type="reset" name="reset" value="Réinitialiser" />
-					<input type="submit" name="submit" value="Étape suivante" />
-				</div>
-			</form>
             <?php } ?>
+        </ul>
+        <div class="submit">
+            <form method="post" action="clearstep1">
+                <input type="submit" name="submit" value="Réinitialiser"/>
+            </form>
+            <form method="post" action="verifystep1">
+                <input type="submit" name="submit" value="Étape suivante"/>
+            </form>
+
             <form action="../add_partie">
-                <input type="submit" name="submit" value="Étape précédente" />
+                <input type="submit" name="submit" value="Étape précédente"/>
             </form>
-		</div>
-	</article>
+        </div>
+    </div>
+</article>
 
 <?php include(ROOT."/app/view/Includes/footer.include.html"); ?>
diff --git a/app/view/Partie/displayStep2.html b/app/view/Partie/displayStep2.html
index c63162b2667e78aed4ea9a9e21f620a174a88cb8..83f9e07cdf6d5b2297d5815754c338f4581bcd7a 100644
--- a/app/view/Partie/displayStep2.html
+++ b/app/view/Partie/displayStep2.html
@@ -3,29 +3,45 @@
 	include(ROOT."/app/view/Includes/header.include.html"); 
 ?>
 <?php $jeuactuel = $this->jeuactuel ?>
-    <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; ?> Score obtenu : <input type="text" title="score" name="scores[]" /></li>
+<?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[]"/>
+                    <?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 $j;?></option>
+
+                        <?php } ?>
+                    </select>
                     <?php } ?>
-                </ul>
-                <br />
-				<div class="submit">
+                </li>
+                <?php } ?>
+            </ul>
+            <br/>
+            <div class="submit">
 
-					<input type="reset" name="reset" value="Réinitialiser" />
-					<input type="submit" name="submit" value="Demander l'ajout" />
-				</div>
-			</form>
+                <input type="reset" name="reset" value="Réinitialiser"/>
+                <input type="submit" name="submit" value="Demander l'ajout"/>
+            </div>
+        </form>
+        <div class="submit">
             <form action="step1">
-                <input type="submit" name="submit" value="Étape précédente" />
+                <input type="submit" name="submit" value="Étape précédente"/>
             </form>
-		</div>
-	</article>
+        </div>
+    </div>
+</article>
 
 <?php include(ROOT."/app/view/Includes/footer.include.html"); ?>
diff --git a/app/view/Partie/displayStepe1.html b/app/view/Partie/displayStepe1.html
index f133dc1ececaac7a67da0b61b330b8a24de976d6..8133544788def29ae2b0c990cc09d56c85413cb0 100644
--- a/app/view/Partie/displayStepe1.html
+++ b/app/view/Partie/displayStepe1.html
@@ -3,15 +3,19 @@
 	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">
 
-        Jeu : <?php echo $jeuactuel->nom; ?><br/>
-        Équipes :<br/>
+        <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) { ?>
-        <h4>Équipe <?php echo $ke+1; ?> </h4>
+        <h5>Équipe <?php echo $ke+1; ?> </h5>
         <ul>
             <?php
             foreach($e as $k => $j){ ?>
@@ -27,7 +31,7 @@
             <?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="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>
@@ -37,19 +41,24 @@
             </form>
         </ul>
         <?php } ?>
-        <form method="post" action="addequipe">
-            <input type="submit" name="submit" value="Ajouter une équipe"/>
-        </form>
+        <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="Réinitialiser"/>
+            </form>
+            <form method="post" action="verifystep1">
+
 
-        <form method="post" action="verifystep1">
-            <div class="submit">
-                <input type="reset" name="reset" value="Réinitialiser"/>
                 <input type="submit" name="submit" value="Étape suivante"/>
-            </div>
-        </form>
-        <form action="../add_partie">
-            <input type="submit" name="submit" value="Étape précédente"/>
-        </form>
+
+            </form>
+            <form action="../add_partie">
+                <input type="submit" name="submit" value="Étape précédente"/>
+            </form>
+        </div>
     </div>
 </article>
 
diff --git a/app/view/Partie/displayStepe2.html b/app/view/Partie/displayStepe2.html
index fdfd21d90b1e67bf10b4369906da695911810f4c..ecf8b2a6d88efa9ee1c5fa265a6a67bd179f1686 100644
--- a/app/view/Partie/displayStepe2.html
+++ b/app/view/Partie/displayStepe2.html
@@ -3,34 +3,47 @@
 	include(ROOT."/app/view/Includes/header.include.html"); 
 ?>
 <?php $jeuactuel = $this->jeuactuel ?>
-    <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
+<?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>
-                Score obtenu : <input type="text" title="score" name="scores[]" />
+                <li>
+                    <?php echo $j->pseudo; ?>
+                </li>
                 <?php } ?>
-                    <div class="submit">
-                        <input type="reset" name="reset" value="Réinitialiser"/>
-                        <input type="submit" name="submit" value="Demander l'ajout"/>
-                    </div>
-                </form>
-                <form action="../add_partie/stepe1">
-                    <input type="submit" name="submit" value="Étape précédente"/>
-                </form>
+            </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>
-    </article>
+    </div>
+</article>
 
 <?php include(ROOT."/app/view/Includes/footer.include.html"); ?>
diff --git a/valeurs.sql b/valeurs.sql
index 68537978e8caf73ba7156c44fd32ba2ca4e9d0ff..6498eaee968495f677157281a4f41e5b5cd8c955 100644
--- a/valeurs.sql
+++ b/valeurs.sql
@@ -1,5 +1,5 @@
 INSERT INTO R_jeu (nom, description, slug, est_valide, min_joueurs, max_joueurs, min_equipes, max_equipes, type, type_scores) VALUES
-('Rencontres Cosmiques', 'Jeu de plateau de 3 à 6 joueurs dont le but consiste à remporter cinq planètes adverses.', 'rencontres-cosmiques', 1, 3, 5, NULL, NULL, 'duels', 'scores'),
+('Rencontres Cosmiques', 'Jeu de plateau de 3 à 6 joueurs dont le but consiste à remporter cinq planètes adverses.', 'rencontres-cosmiques', 1, 3, 5, NULL, NULL, 'duels', 'classement'),
 ('Jeu Équipes', 'cats', 'jeu-equipes', 0, 0, NULL, 0, 4, 'equipes', 'scores');
 
 INSERT INTO R_joueur (slug, pseudo, password, nom, prenom, email, description, avatar) VALUES