diff --git a/src/ClassesXML.c b/src/ClassesXML.c
index 12611ce60164751e0e0fbc4527ef793c0910c6db..450a2b5df5f5f6079d99879495aa552b26613a82 100644
--- a/src/ClassesXML.c
+++ b/src/ClassesXML.c
@@ -5,13 +5,11 @@
 #include "structures.h"
 
 
-
-
-
 Classe** Remplir_Classes(const char *filename)   // Remplit le tableau de classes à partir du fichier XML
 {
 
-    node_t *root, *Classes, *Classe;
+
+    node_t *root, *Classes;
     unsigned int i=0, nb_classes=0;
 
     char PV_text; /* a supprimer */
@@ -20,16 +18,18 @@ Classe** Remplir_Classes(const char *filename)   // Remplit le tableau de classe
     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);
-    //roxml_free_node(Classes);
+
 
 
     printf("Chargement des classes\n");
-    Classe *ListeClasse = malloc(nb_classes * sizeof(Classe));
+    Classe** ListeClasse = malloc(nb_classes * sizeof(Classe));
 
-    for(i=0; i<nb_classes; i++)   //Boucle de remplissage des classes
+    for(i=0; i<nb_classes; i++)   /* Boucle de remplissage des classes */
     {
-
+    Classe Classe_en_cours;
+    node_t *Classe;
     char *id_text, *name_text, *PV_text, *PM_text, *MV_text, *DESC_text;
+    int Pv_max, mana_max, points_deplacement_max;
 
     Classe = roxml_get_chld(Classes, NULL, i);
 
@@ -42,26 +42,39 @@ Classe** Remplir_Classes(const char *filename)   // Remplit le tableau de classe
     MV = roxml_get_attr(Classe, "MV", 0);
     DESC = roxml_get_attr(Classe, "Desc", 0);
 
-
-
     id_text = roxml_get_content(ID, NULL, 0, NULL);
     name_text = roxml_get_content(NAME, NULL, 0, NULL);
     PV_text = roxml_get_content(PV, NULL, 0, NULL);
     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);
+*/
+
+    /* 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);
+
 
-    ListeClasse[i][]= ?
+    /* 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;
+
+
+    /* Ajout de la classe remplie au tableau */
 
     }
 
+roxml_free_node(Classes);
+
 return ListeClasse;
 
 }
diff --git a/src/classe.c b/src/classe.c
index a240f9c897b320e8591d93b2d032b8836ebccae7..3275055b9744a7ce34971da6b907dcfe4d11116b 100644
--- a/src/classe.c
+++ b/src/classe.c
@@ -8,11 +8,6 @@
 Classe** Librairie_Classes(char *filename)
 {
 
-Classe **Tab_Classes;
-Tab_Classes = Remplir_Classes("Classes.xml");
-
-
-
-
+return Remplir_Classes("Classes.xml");
 
 }