diff --git a/src/SDL_bis.c b/src/SDL_bis.c
index 3e6758a5cf8e13e4fdad8b8ab5027f352a415ba8..810b9b93fc7abb85c48cc2c24b0cdc34a14773d0 100644
--- a/src/SDL_bis.c
+++ b/src/SDL_bis.c
@@ -63,7 +63,8 @@ int SDL_bis()
     char nom_joueur1[15] = "";
     fgets(nom_joueur1, sizeof(nom_joueur1), stdin);
     char nom_joueur2[15] = "";
-    ajouter_joueurs(nom_joueur1,nom_joueur2, &etat); //a coder par colin
+    ajouterUnJoueur(nom_joueur1,&etat);
+    ajouterUnJoueur(nom_joueur2,&etat);
 
     while(quitter==0)
     {
diff --git a/src/controleur.c b/src/controleur.c
index 65fcb3f56a73399ff173dbaff29f70af2654eb3b..65ec869ec50f856f0ce5a1d15847cebb6de988a5 100644
--- a/src/controleur.c
+++ b/src/controleur.c
@@ -28,14 +28,25 @@ void initJeu(){
 
 /*!
  * \fn void ajouterUnJoueur(char * nomDuJoueur, Et)
- * \brief Fonction de construction d'un package contenant l'univers du jeu
+ * \brief Fonction ajoutant un Joueur à la Partie et faisant passer la partie à l'état suivant.
+ *        Si le joueur n'a pas correctement été ajouté, l'état reste le même.
  *
- * \return un Game_Package
+ * \param Le nom du joueur à ajouter à la partie
  */
  void ajouterUnJoueur(char * nomDuJoueur, EtatsJeu * etat){
     Joueur * j = nouveauJoueur();
-    setNomJoueur(j,nomDuJoueur);
-    addParticipant(partieGlobale,j);
+    if(j!=NULL){
+        setNomJoueur(j,nomDuJoueur);
+        if(addParticipant(partieGlobale,j)){
+            *etat =LANCEMENT;
+        }
+        else{
+            *etat=SAISIE_JOUEURS;
+        }
+    }
+    else{
+        *etat=SAISIE_JOUEURS;
+    }
  }