diff --git a/app/controller/PartieController.php b/app/controller/PartieController.php
index 35d4fbdf73dcb788abaf0b144cc3874e154d6d27..63d65ea85e510a8cc9001992a68aa91982b1bb37 100644
--- a/app/controller/PartieController.php
+++ b/app/controller/PartieController.php
@@ -28,12 +28,26 @@ class PartieController extends Controller
         $data = $_POST;
 
         $scores = explode(";", $data["scores"]);
-        if (count($scores) != count($data["joueurs"])){
+        $ns = count($scores);
+        $nj = count($data["joueurs"]);
+        if ($ns != $nj){
             //appeler une fonction d'erreur
             echo "<h1>Erreur : scores et joueurs incohérents</h1>";
             die();
         }
-        
+
+        for ($j=0;$j<$nj;$j++){
+            if(!Profil::checkExists($data['joueurs'][$j])){
+                echo "<h1>Erreur : un des joueurs est entré est introuvable dans la BD.</h1>";
+                die();
+            }
+        }
+
+        if(!Jeu::checkExists($data['jeu'])){
+            echo "<h1>Erreur : le jeu entré est introuvable dans la BD.</h1>";
+            die();
+        }
+
         $pb = Partie::addPartie($data['joueurs'], $scores, $data['jeu']);
         if(!$pb)
             header('Location:valid'); // Redirection vers la page OK
@@ -46,16 +60,11 @@ class PartieController extends Controller
                 echo "<h1>Erreur de connexion à la BD.</h1>";
                 die();
                 break;
-            case 3:
-                echo "<h1>Erreur : un des joueurs est entré est introuvable dans la BD.</h1>";
-                die();
-                break;
-            case 4:
-                echo "<h1>Erreur : le jeu entré est introuvable dans la BD.</h1>";
+            default:
+                echo "<h1>Erreur non gérée.</h1>";
                 die();
                 break;
         }
-        
     }
 
 }
\ No newline at end of file
diff --git a/app/model/Partie.php b/app/model/Partie.php
index 3b9ea7b6f95befc914ee86c8f384ce7e9b7dec23..f1a3e40b59cb904cc72cc8eb6f13a85a825ffda5 100644
--- a/app/model/Partie.php
+++ b/app/model/Partie.php
@@ -99,108 +99,82 @@ class Partie extends Model
 
         if ($stmt0->execute(array(":nom_jeu" => $nom_jeu))) {
             // lecture du slug du jeu
-            if ($row = $stmt0->fetch()) {
-                $id_jeu = $row[0];
-                if (!Jeu::checkExists($id_jeu)){
-                    return 1;
-                }
-
-                if ($stmt1->execute(array(":id_jeu" => $id_jeu, ":date" => $datestr))) {
-                    // insertion d'une nouvelle partie
-                    // on suppose que si l'insertion fonctionne, la lecture aussi, donc que les droits d'accés sont bons
-                    $stmtp->execute(array(":id_jeu" => $id_jeu, ":date" => $datestr));
-                    $id_partie = $stmtp->fetch()['id'];
-
-                    $m = count($joueurs);
-                    $id_joueur = array_fill(0, $m, 0);
+            $row = $stmt0->fetch();
+            $id_jeu = $row[0];
+            if (!Jeu::checkExists($id_jeu)) {
+                return 1;
+            }
 
-                    for ($j = 0; $j < $m; $j++) {
-                        // Parcours des joueurs
+            if ($stmt1->execute(array(":id_jeu" => $id_jeu, ":date" => $datestr))) {
+                // insertion d'une nouvelle partie
+                // on suppose que si l'insertion fonctionne, la lecture aussi, donc que les droits d'accés sont bons
+                $stmtp->execute(array(":id_jeu" => $id_jeu, ":date" => $datestr));
+                $id_partie = $stmtp->fetch()['id'];
+
+                $m = count($joueurs);
+                $id_joueur = array_fill(0, $m, 0);
+
+                for ($j = 0; $j < $m; $j++) {
+                    // Parcours des joueurs
+                    $id_joueur[$j] = $row[0];
+                    // lecture des slugs des joueur
+                    if ($stmt2->execute(array(":joueur" => $joueurs[$j]))) {
+                        $row = $stmt2->fetch();
                         $id_joueur[$j] = $row[0];
-                        // lecture des slugs des joueur
-                        if ($stmt2->execute(array(":joueur" => $joueurs[$j]))) {
-                            if ($row = $stmt2->fetch()) {
-                                $id_joueur[$j] = $row[0];
-                            }
-                            else
-                                return 3;
-                        }
-                        else{
-                            echo "test";
-                            return 2;
-                        }
-                    }
-
-                    $old_score = array_fill(0, $m, 0);
-
-                    for ($j = 0; $j < $m; $j++) {
-                        // récupération du score actuel de chaque joueur
-                        if ($stmt3->execute(array(":id_joueur" => $id_joueur[$j], ":id_jeu" => $id_jeu))) {
-                            if ($row = $stmt3->fetch()) {
-                                // Le joueur a déja joué à ce jeu
-                                $old_score[$j] = $row[0];
-                            } else {
-                                // ou le joueur n'a jamais joué à ce jeu, on je rajoute à la relation.
-                                $old_score[$j] = 1000;
-                                $stmtN = $db->prepare($sqlN);
-                                if ($stmtN->execute(array(":id_joueur" => $id_joueur[$j], ":id_jeu" => $id_jeu, ":score" => 1000))) {
-
-                                }
-                                else{
-                                    echo test;
-                                    return 2;
-                                }
-                            }
+                    } else
+                        return 2;
+                }
 
+                $old_score = array_fill(0, $m, 0);
+
+                for ($j = 0; $j < $m; $j++) {
+                    // récupération du score actuel de chaque joueur
+                    if ($stmt3->execute(array(":id_joueur" => $id_joueur[$j], ":id_jeu" => $id_jeu))) {
+                        if ($row = $stmt3->fetch()) {
+                            // Le joueur a déja joué à ce jeu
+                            $old_score[$j] = $row[0];
+                        } else {
+                            // ou le joueur n'a jamais joué à ce jeu, on je rajoute à la relation.
+                            $old_score[$j] = 1000;
+                            $stmtN = $db->prepare($sqlN);
+                            if ($stmtN->execute(array(":id_joueur" => $id_joueur[$j], ":id_jeu" => $id_jeu, ":score" => 1000))) {
+
+                            } else
+                                return 2;
                         }
+
                     }
-                    // Calcul de la nouvelle différence de scores et du nouveau classement de chacun
-                    $diff_scores = ELO_scores($scores, $scores, 32);
-                    $classement = self::calcul_classement($diff_scores);
-
-                    for ($j = 0; $j < $m; $j++) {
-                        // Insertion des infos de la partie (avec le score et le classement avant la partie)
-                        // pour chaque joueur
-                        if ($stmt4->execute(array(":id_partie" => $id_partie,
-                            ":id_joueur" => $id_joueur[$j], "id_jeu" => $id_jeu,
-                            ":classement" => $classement[$j], ":score" => $old_score[$j]))
+                }
+                // Calcul de la nouvelle différence de scores et du nouveau classement de chacun
+                $diff_scores = ELO_scores($scores, $scores, 32);
+                $classement = self::calcul_classement($diff_scores);
+
+                for ($j = 0; $j < $m; $j++) {
+                    // Insertion des infos de la partie (avec le score et le classement avant la partie)
+                    // pour chaque joueur
+                    if ($stmt4->execute(array(":id_partie" => $id_partie,
+                        ":id_joueur" => $id_joueur[$j], "id_jeu" => $id_jeu,
+                        ":classement" => $classement[$j], ":score" => $old_score[$j]))
+                    ) {
+                        $newS = $old_score[$j] + $diff_scores[$j];
+                        $classement_jeu = Partie::classeur($newS, $id_jeu);
+                        // On met à jour le score et le classement du joueur actuel dans sa relation avec le jeu
+                        if ($stmt5->execute(array(":new_score" => $newS,
+                            ":id_jeu" => $id_jeu, ":id_joueur" => $id_joueur[$j], ":new_classement" => $classement_jeu))
                         ) {
-                            $newS = $old_score[$j] + $diff_scores[$j];
-                            $classement_jeu = Partie::classeur($newS, $id_jeu);
-                            // On met à jour le score et le classement du joueur actuel dans sa relation avec le jeu
-                            if ($stmt5->execute(array(":new_score" => $newS,
-                                ":id_jeu" => $id_jeu, ":id_joueur" => $id_joueur[$j], ":new_classement" => $classement_jeu))
-                            ) {
-                                // on met à jour le classement des autres joueurs
-                                if ($stmt6->execute(array(":new_classement" => $classement_jeu))) {
-                                    return 0;
-                                }
-                                else{
-                                    echo "test";
-                                    return 2;
-                                }
-                            }
-                            else{
-                                echo "test";
+                            // on met à jour le classement des autres joueurs
+                            if ($stmt6->execute(array(":new_classement" => $classement_jeu))) {
+                                return 0;
+                            } else
                                 return 2;
-                            }
-                        }
-                        else{
-                            echo "test";
+                        } else
                             return 2;
-                        }
-                    }
-                }
-                else{
-                    echo "test1";
-                    return 2;
+                    } else
+                        return 2;
                 }
-
-            }
-            else
-                return 4;
-        }
-        else
+            } else
+                return 2;
+        } else
             return 2;
         return 0;
     }