diff --git a/src/ClassesXML.c b/src/ClassesXML.c
index 450a2b5df5f5f6079d99879495aa552b26613a82..b25513f83176ef61a327de8026fc50b9a8f4fb67 100644
--- a/src/ClassesXML.c
+++ b/src/ClassesXML.c
@@ -2,45 +2,59 @@
 #include <stdlib.h>
 #include <roxml.h>
 #include "ClassesXML.h"
-#include "structures.h"
 
 
-Classe** Remplir_Classes(const char *filename)   // Remplit le tableau de classes à partir du fichier XML
+Classe* Remplir_Classes(FILE* Classes_log, const char *filename) /* Remplit le tableau de classes à partir du fichier XML */
 {
 
+    fprintf(Classes_log,"I) Chargement du fichier XML - Definition des noeuds\n");
 
-    node_t *root, *Classes;
+    node_t *rootXML, *ClassesXML;
     unsigned int i=0, nb_classes=0;
 
-    char PV_text; /* a supprimer */
+    rootXML = roxml_load_doc(filename);            /* Ouvre le doc XML et créé le noeud de base */
+    ClassesXML = roxml_get_chld(rootXML, NULL, 0);    /* Descend d'un niveau dans l'arborescence */
+    nb_classes = roxml_get_chld_nb(ClassesXML);    /* Récupère le nombre de classes entrées dans le fichier XML */
 
-    root = roxml_load_doc(filename);            /* Ouvre le doc XML et créé le noeud de base */
-    Classes = roxml_get_chld(root, NULL, 0);    /* Descend d'un niveau dans l'arborescence */
-    nb_classes = roxml_get_chld_nb(Classes);    /* Récupère le nombre de classes entrées dans le fichier XML */
-    printf("Classes contient %d enfants\n", nb_classes);
+    fprintf(Classes_log,"Le fichier contient %d classes\n", nb_classes);
 
+/*---------------------------------------------------------------------------------------------------*/
 
+    fprintf(Classes_log,"II) Chargement des classes\n");
 
-    printf("Chargement des classes\n");
-    Classe** ListeClasse = malloc(nb_classes * sizeof(Classe));
+    Classe* ListeClasse = NULL;
+    ListeClasse = malloc(nb_classes * sizeof(Classe));     /* Allocation de la mémoire nécéssaire et test*/
+    if (ListeClasse == NULL)
+    {
+        fprintf(Classes_log,"Allocation impossible \n");
+        exit(EXIT_FAILURE);
+    }
+    fprintf(Classes_log,"1) Memoire allouee avec succes \n");
+    fprintf(Classes_log,"La memoire allouee fait %d octets\n", ListeClasse);
+    fprintf(Classes_log,"Elle devrait faire %d octets\n",nb_classes * sizeof(Classe));
+
+/*--------------------------------------------------------------------------------------------------*/
 
     for(i=0; i<nb_classes; i++)   /* Boucle de remplissage des classes */
     {
+    fprintf(Classes_log,"\nChargement de la classe numero %d\n", i+1);
+
     Classe Classe_en_cours;
-    node_t *Classe;
+
+    node_t *ClasseXML;
     char *id_text, *name_text, *PV_text, *PM_text, *MV_text, *DESC_text;
-    int Pv_max, mana_max, points_deplacement_max;
+    int PV_int, PMM_int, PD_int;
 
-    Classe = roxml_get_chld(Classes, NULL, i);
+    ClasseXML = roxml_get_chld(ClassesXML, NULL, i);
 
     node_t *Skills, *ID, *NAME, *PV, *PM, *MV, *DESC;
 
-    ID = roxml_get_attr(Classe, "id", 0);
-    NAME = roxml_get_attr(Classe, "name", 0);
-    PV = roxml_get_attr(Classe, "PV", 0);
-    PM = roxml_get_attr(Classe, "PM", 0);
-    MV = roxml_get_attr(Classe, "MV", 0);
-    DESC = roxml_get_attr(Classe, "Desc", 0);
+    ID = roxml_get_attr(ClasseXML, "id", 0);
+    NAME = roxml_get_attr(ClasseXML, "name", 0);
+    PV = roxml_get_attr(ClasseXML, "PV", 0);
+    PM = roxml_get_attr(ClasseXML, "PM", 0);
+    MV = roxml_get_attr(ClasseXML, "MV", 0);
+    DESC = roxml_get_attr(ClasseXML, "Desc", 0);
 
     id_text = roxml_get_content(ID, NULL, 0, NULL);
     name_text = roxml_get_content(NAME, NULL, 0, NULL);
@@ -48,34 +62,36 @@ Classe** Remplir_Classes(const char *filename)   // Remplit le tableau de classe
     PM_text = roxml_get_content(PM, NULL, 0, NULL);
     MV_text = roxml_get_content(MV, NULL, 0, NULL);
     DESC_text = roxml_get_content(DESC, NULL, 0, NULL);
-/*
-    printf("L'id est : %s\n", id_text);
-    printf("Le nom est : %s\n", name_text);
-    printf("Le nombre de PV est : %s\n", PV_text);
-    printf("Le nombre de PM est : %s\n", PM_text);
-    printf("Le nombre MV est : %s\n", MV_text);
-    printf("La description est : %s\n", DESC_text);
-*/
+
+    fprintf(Classes_log,"Id : %s\n", id_text);
+    fprintf(Classes_log,"Nom : %s\n", name_text);
+    fprintf(Classes_log,"PV : %s\n", PV_text);
+    fprintf(Classes_log,"PM : %s\n", PM_text);
+    fprintf(Classes_log,"MV : %s\n", MV_text);
+    fprintf(Classes_log,"DESC : %s\n", DESC_text);
 
     /* Convertion des caractéristiques lues vers les types de la struct Classe */
-    Pv_max = atoi(PV_text);
-    mana_max = atoi(PM_text);
-    points_deplacement_max = atoi(MV_text);
+    PV_int = atoi(PV_text);
+    PMM_int = atoi(PM_text);
+    PD_int = atoi(MV_text);
 
+/*----------------------------------------------------------------------------------------------------*/
 
     /* Remplissage des caractéristiques de la classe en cours */
-    Classe_en_cours.PV_max=Pv_max;
-    Classe_en_cours.mana_max=mana_max;
-    Classe_en_cours.points_deplacement_max=points_deplacement_max;
+    Classe_en_cours.PV_max=PV_int;
+    Classe_en_cours.mana_max=PMM_int;
+    Classe_en_cours.points_deplacement_max=PD_int;
 
+    fprintf(Classes_log,"Insertion de la classe %d dans le tableau\n", i+1);
 
     /* Ajout de la classe remplie au tableau */
-
+    ListeClasse[i] = Classe_en_cours;
     }
 
-roxml_free_node(Classes);
+roxml_free_node(rootXML);
+roxml_free_node(ClassesXML);
 
-return ListeClasse;
 
+return ListeClasse;
 }
 
diff --git a/src/ClassesXML.h b/src/ClassesXML.h
index f7a26102a14480b0a2aa132943fd71a3874f813b..06aa841261b3e19f2f6b0d135c6707915d98fc3a 100644
--- a/src/ClassesXML.h
+++ b/src/ClassesXML.h
@@ -5,7 +5,7 @@
 #include "classe.h"
 #include "structures.h"
 
+Classe* Remplir_Classes(FILE* Classes_log, const char *filename);
 
-Classe** Remplir_Classes(const char *filename);
 
 #endif // CLASSESXML_H_INCLUDED
diff --git a/src/classe.c b/src/classe.c
index aeab4f27afd6e40e8518197995976f229a6726a1..c890c932372c5c1ab77c02918fe2396285ee1ef9 100644
--- a/src/classe.c
+++ b/src/classe.c
@@ -6,29 +6,29 @@
 
 
 
-Classe** Librairie_Classes(const char *filename){
+Classe* Librairie_Classes(const char *filename){
 
+return Remplir_Classes_log(filename);
 
-Remplir_Classes_log(filename);
-
-return NULL;
 }
 
 
 /* Generation d'un fichier log decrivant le deroulement de la procedure d'aquisition des classes */
-Classe** Remplir_Classes_log(const char *filename)   /* Remplit le tableau de classes à partir du fichier XML */
+Classe* Remplir_Classes_log(const char *filename)
 {
 
     FILE* Classes_log = NULL;
     Classes_log = fopen("Classes_XML_log", "w");
     if (Classes_log != NULL)
     {
+        fprintf(Classes_log,"Fichier decrivant le deroulement de la procedure d'aquisition des classes\n\n");
         return Remplir_Classes(Classes_log, filename);
         fclose(Classes_log);
     }
     else
     {
         fprintf(stderr,"Impossible d'ouvrir le fichier Classes_XML_log");
+        return 0;
     }
 }
 
diff --git a/src/classe.h b/src/classe.h
index bd8372f16a9911353678fbce721049dd77c9053e..e6525345f1ade2933e230257481c18656727b8f5 100644
--- a/src/classe.h
+++ b/src/classe.h
@@ -5,8 +5,8 @@
 //#include "ClassesXML.h"
 
 
-Classe** Librairie_Classes(const char *filename);
+Classe* Librairie_Classes(const char *filename);
 
-Classe** Remplir_Classes_log(const char *filename);
+Classe* Remplir_Classes_log(const char *filename);
 
 #endif // CLASSE_H_INCLUDED
diff --git a/src/main.c b/src/main.c
deleted file mode 100644
index f49f29bb8907ff1e3d7d5b5634a8240a214ebe5b..0000000000000000000000000000000000000000
--- a/src/main.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include "structures.h"
-#include "AffichageConsole.h"
-#include "joueur.h"
-
-int init_jeu(){ /* crée les différents types de terrains, de classes et d'attaques en lisant dans un fichier */
-    FILE *fichier;
-    fichier=fopen("../resources/fichier_init.txt","r");
-    if (fichier==NULL){
-        fprintf(stderr,"erreur dans l'ouverture du fichier");
-        return 1;
-    }
-
-}
-
-int main()
-{
-
-    return 0;
-}
-