Index: branches/PublicaMundi_David-devel/zoo-project/zoo-kernel/zoo_json.c
===================================================================
--- branches/PublicaMundi_David-devel/zoo-project/zoo-kernel/zoo_json.c	(revision 604)
+++ branches/PublicaMundi_David-devel/zoo-project/zoo-kernel/zoo_json.c	(revision 606)
@@ -33,10 +33,23 @@
 
 map* jsontomap(json_object * jobj){
-    map *m;
+    map *m = (map *) malloc (MAP_SIZE);
+    int i = 0;
     json_object_object_foreach(jobj, key, val){
         if (json_object_is_type(val, json_type_string)){
-            addMapToMap(&m,createMap(key,json_object_get_string(val)));
+            if (i==0){
+                m->name = zStrdup(key);
+                m->value = zStrdup(json_object_get_string(val));
+                m->next = NULL;
+                i = 1;
+            }
+            else {
+                map *tmp=createMap(key,json_object_get_string(val));
+                addMapToMap(&m,tmp);
+                freeMap(&tmp);
+                free(tmp);
+           }
         }
         else {
+            fprintf(stderr,"jsontomap not map :%s \n",key);
             /* Attention ce n'est pas une map */
             return NULL;
@@ -46,13 +59,27 @@
 }
 
-int jsontomaps(json_object * jobj,maps ** m){
-    maps *maps_tmp;
+maps * jsontomaps(json_object * jobj){
+    maps *mm = (maps *) malloc (MAPS_SIZE); 
+    int i =0;
     json_object_object_foreach(jobj, key, val){
-        maps_tmp = (maps *) malloc (MAPS_SIZE);
-        maps_tmp->content = jsontomap(val); 
-        maps_tmp->name = zStrdup(key);
-        addMapsToMaps(m,maps_tmp);
+        if (i ==0){
+            mm->content = jsontomap(val);
+            mm->name = zStrdup(key);
+            mm->next = NULL;
+            i = 1;
+        }
+        else {
+            maps *maps_tmp;
+            maps_tmp = (maps *) malloc (MAPS_SIZE);
+            maps_tmp->content = jsontomap(val); 
+            maps_tmp->name = zStrdup(key);
+            maps_tmp->next = NULL;
+            addMapsToMaps(&mm,maps_tmp);
+            freeMaps(&maps_tmp);
+            free(maps_tmp);
+            maps_tmp = NULL;
+       }
     }
-    return 0;
+    return mm;
 }
  
Index: branches/PublicaMundi_David-devel/zoo-project/zoo-kernel/zoo_json.h
===================================================================
--- branches/PublicaMundi_David-devel/zoo-project/zoo-kernel/zoo_json.h	(revision 604)
+++ branches/PublicaMundi_David-devel/zoo-project/zoo-kernel/zoo_json.h	(revision 606)
@@ -11,5 +11,5 @@
 
 map* jsontomap(json_object * jobj);
-int jsontomaps(json_object * jobj,maps **m);
+maps*  jsontomaps(json_object * jobj);
 
 #endif
