diff --git a/resources/Skins/logo.bmp b/resources/Skins/logo.bmp
index 2b94361ebe11f42d60c21bd15bf72ef02431e106..be85a439eccdcf174290477a71975caef2d9ab5e 100644
Binary files a/resources/Skins/logo.bmp and b/resources/Skins/logo.bmp differ
diff --git a/src/classe.c b/src/classe.c
index 8a44840f173534add844d8c2408a1ac8bf911758..6b62c19a3b7d94a186ade1a137e6b7ffa5233c3b 100644
--- a/src/classe.c
+++ b/src/classe.c
@@ -86,5 +86,9 @@ char * getNomClasse(Classe * c){
     return c->nom;
 }
 
+char * getNomAttaques(Classe * c, int i){
+    return c->attaques[i].nom;
+}
+
 
 
diff --git a/src/classe.h b/src/classe.h
index 9bea4f5826ca33413825c96071966a9133f02281..65a228c7ae58e6f0954bc5cd9739c78b5f87cfb8 100644
--- a/src/classe.h
+++ b/src/classe.h
@@ -26,4 +26,6 @@ int getManaMax(Classe * c);
 
 int getPDMax(Classe * c);
 
+char * getNomAttaques(Classe * c, int i);
+
 #endif // CLASSE_H_INCLUDED
diff --git a/src/controleur.c b/src/controleur.c
index 76db9ed18c21985340e78b42fea89a296da6a29a..3f65b18569222203aaa8f16a3fa49df06af67fdd 100644
--- a/src/controleur.c
+++ b/src/controleur.c
@@ -770,22 +770,33 @@ int obtenirPDMaxPersonnage(int numero){
  *
  * \return un tableau de chaine de charactères (char**).
  */
-/*char ** obtenirNomsAttaquesPersonnage(int numero){
+char ** obtenirNomsAttaquesPersonnage(int numero){
+    //allocation en memoire du tableau de resultats.
     int i;
+    Joueur * actuel = getCurrentJoueur(getListJoueur(partieGlobale));
     char ** tabNomsAttPerso = malloc(NB_ATTAQUES_MAX * sizeof(char *));
     for(i=0;i<NB_ATTAQUES_MAX;i++){
         tabNomsAttPerso[i]= malloc(TAILLE_NOMS*sizeof(char));
     }
+
+    //Recherche du nom des attaques du Personnage
     if((numero>0) && (numero<=3)){
-       for(i=0;i<NB_ATTAQUES_MAX;i++){
-        strncpy(tabNomsAttPerso[i],packGlobal.Classes_Package->attaques->nom, TAILLE_NOMS);
-       }
+        setOnFirstJoueur(getListJoueur(partieGlobale));
+        for(i=0;i<NB_ATTAQUES_MAX;i++){
+            strncpy(tabNomsAttPerso[i], getNomAttaques(getClasse(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-1)),i),TAILLE_NOMS);
+        }
+        setOnJoueur(getListJoueur(partieGlobale),actuel);
     }
-    else if ((numero>3)&&(numero>6)){
-        strncpy(tabNomsAttPerso[i],packGlobal.Classes_Package->attaques->nom, TAILLE_NOMS);
+    else if ((numero>3)&&(numero<=6)){
+        setOnFirstJoueur(getListJoueur(partieGlobale));
+        nextJoueur(getListJoueur(partieGlobale));
+        for(i=0;i<NB_ATTAQUES_MAX;i++){
+            strncpy(tabNomsAttPerso[i], getNomAttaques(getClasse(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),numero-4)),i),TAILLE_NOMS);
+        }
+        setOnJoueur(getListJoueur(partieGlobale),actuel);
     }
     return tabNomsAttPerso;
-}*/
+}
 
   /*!
  * \fn void debutDuTour()
@@ -828,7 +839,7 @@ char * joueurVictorieux(){
 // Je met ici mes tests réalisés dans le main pour éviter de les réécrire si jamais il y a un problème.
 // Si vous voulez tester aussi, à recopier dans le main avant l'appel à initJeu().
 void testControlleurConsole(){
-    int i,j,n,x,y;
+    int i,j,n,k,x,y;
     EtatsJeu state = SAISIE_JOUEURS;
     extern Partie * partieGlobale;
     extern Game_Package packGlobal;
@@ -884,6 +895,10 @@ void testControlleurConsole(){
                 printf("%d\n", obtenirManaMaxPersonnage(n));
                 printf("%d\n", obtenirPDPersonnage(n));
                 printf("%d\n", obtenirPDMaxPersonnage(n));
+                char ** tabNomAtt = obtenirNomsAttaquesPersonnage(n);
+                for(k=0;k<NB_ATTAQUES_MAX;k++){
+                    printf("%s\n",tabNomAtt[k]);
+                }
             }
         }
     }
diff --git a/src/structures.h b/src/structures.h
index c606279cac91b02d916b1468ceffd391646ae411..d345a06d6a075391d37828e68fc52e052d80cf2c 100644
--- a/src/structures.h
+++ b/src/structures.h
@@ -135,7 +135,7 @@ typedef struct Attaque{
  */
 typedef struct Classe{
     char nom[25]; /*!< Nom de la classe de taille TAILLE_NOMS*/
-    Attaque attaques[5]; /*!< Les attaques disponibles pour la classe*/
+    Attaque attaques[NB_ATTAQUES_MAX]; /*!< Les attaques disponibles pour la classe*/
     unsigned short int points_deplacement_max; /*!< Les PD maximums accordés a la classe*/
     unsigned short int PV_max; /*!< Les PV maximums accordés a la classe*/
     unsigned short int mana_max; /*!< Le mana maximum accordé a la classe*/