diff --git a/src/competence.o b/src/competence.o
deleted file mode 100644
index 4fa2b65f07dbd315467dc6bdcf549825a3ed683d..0000000000000000000000000000000000000000
Binary files a/src/competence.o and /dev/null differ
diff --git a/src/deplacements.o b/src/deplacements.o
deleted file mode 100644
index c669e1ba84e984a0be34500c7279e7eb95cc7dc5..0000000000000000000000000000000000000000
Binary files a/src/deplacements.o and /dev/null differ
diff --git a/src/joueurList.c b/src/joueurList.c
index f4090ae5b3ad12d45132b1e68c04adaa4db528e6..abd646c233e5b43293a4dee8f770b21a319ea1fd 100644
--- a/src/joueurList.c
+++ b/src/joueurList.c
@@ -244,7 +244,7 @@ int deleteLastNodeJoueur(ListJoueur *l){
             while(!isNextNodeJoueurList(l,l->lastNodeJoueur)){
                 nextJoueur(l);
             }
-            l->currentNodeJoueur=l->lastNodeJoueur;
+            l->lastNodeJoueur=l->currentNodeJoueur;
             l->currentNodeJoueur->next=NULL;
             deleteNodeJoueur(tempNodeJoueur);
             return 1;
@@ -316,22 +316,23 @@ int deleteNodeJoueurFromList(ListJoueur * l, Joueur * j){
             NodeJoueur * tempCurrent=l->currentNodeJoueur;
             setOnFirstJoueur(l);
             while((getCurrentJoueur(l)!=j)&&(!outOfJoueurList(l))){
-                if(outOfJoueurList(l)){
-                    if(getCurrentJoueur(l)!=j){
-                        return 0;
-                    }
-                    else{
-                        i=deleteLastNodeJoueur(l);
-                        setOnFirstJoueur(l);
-                        return i;
-                    }
+                nextJoueur(l);
+            }
+            if(outOfJoueurList(l)){
+                if(getCurrentJoueur(l)!=j){
+                    return 0;
                 }
                 else{
-                    i=deleteCurrentNodeJoueur(l);
-                    l->currentNodeJoueur=tempCurrent;
+                    i=deleteLastNodeJoueur(l);
+                    setOnFirstJoueur(l);
                     return i;
                 }
             }
+            if(getCurrentJoueur(l)==j){
+                i=deleteCurrentNodeJoueur(l);
+                l->currentNodeJoueur=tempCurrent;
+                return i;
+            }
         }
     }
     return 0;
diff --git a/src/main.o b/src/main.o
deleted file mode 100644
index b95acdf46a03b7bf193e24b14621d7829db2c4f5..0000000000000000000000000000000000000000
Binary files a/src/main.o and /dev/null differ
diff --git a/src/partie.c b/src/partie.c
index 2726687ae5d4ac900ba832f85f74286adff66565..98174a737f73ba5e0d1625550129c46bb8036395 100644
--- a/src/partie.c
+++ b/src/partie.c
@@ -78,12 +78,13 @@ int getNbTour(Partie * p){
 
    /*!
  * \fn int removeParticipant(Partie * p, Joueur * j)
- * \brief La fonction retire un Joueur de la Partie.
+ * \brief La fonction retire un Joueur de la Partie et sauve ces informations.
  *
- * \param La Partie p a a modifier, le Joueur a retirer.
+ * \param La Partie p a a modifier, le Joueur a retirer et a sauver.
  * \return 1 si le Joueur a ete correctement retire, 0 sinon.
  */
 int removeParticipant(Partie * p, Joueur * j){
+    //A Ajouter : une fonction sauvant les informations du joueur a retire.
     return deleteNodeJoueurFromList(p->participants,j);
 }
 
@@ -150,5 +151,16 @@ int victoire(Partie * p){
     return (p->participants->firstNodeJoueur==p->participants->lastNodeJoueur);
 }
 
+   /*!
+ * \fn int victoire(Partie * p)
+ * \brief La fonction sauve les informations necessaires (Joueur) et supprime la partie.
+ *
+ * \param La Partie p a modifier
+ */
+void finPartie(Partie * p){
+    //A ajouter : une fonction sauvant les informations sur le Joueur.
+    deletePartie(p);
+}
+