Index: XMLIO_V2/dev/dev_rv/src/xmlio/array_impl.hpp
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/array_impl.hpp	(revision 170)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/array_impl.hpp	(revision 171)
@@ -77,5 +77,5 @@
          shape.push_back(temp);
       }
-      this->reshape(shape);
+      this->resize(shape);
       is.read (reinterpret_cast<char*>(&nelem), sizeof(LSize));
       is.read (reinterpret_cast<char*>(this->data()), nelem * sizeof(ValueType));
Index: XMLIO_V2/dev/dev_rv/src/xmlio/attribute_map.cpp
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/attribute_map.cpp	(revision 170)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/attribute_map.cpp	(revision 171)
@@ -14,8 +14,14 @@
       CAttributeMap::~CAttributeMap(void)
       { /* Ne rien faire de plus */ }
-
+      
+      ///--------------------------------------------------------------
+      
       bool CAttributeMap::hasAttribute(const StdString & key) const
-      { return (this->find(key) != this->end()); }
-
+      { 
+         return (this->find(key) != this->end()); 
+      }
+      
+      //---------------------------------------------------------------
+      
       void CAttributeMap::setAttribute(const StdString & key, CAttribute * const attr)
       {
@@ -28,5 +34,7 @@
          this->find(key)->second->setAnyValue(attr->getAnyValue());
       }
-
+      
+      //---------------------------------------------------------------
+      
       CAttribute * CAttributeMap::operator[](const StdString & key)
       {
@@ -36,5 +44,7 @@
          return (SuperClassMap::operator[](key));
       }
-
+      
+      //---------------------------------------------------------------
+      
       StdString CAttributeMap::toString(void) const
       {
@@ -51,12 +61,20 @@
          return (oss.str());
       }
-
+      
+      //---------------------------------------------------------------
+      
       void CAttributeMap::fromString(const StdString & str)
-      { ERROR("CAttributeMap::fromString(const StdString & str)",
-             << "[ str = " << str << "] Not implemented yet !"); }
+      { 
+         ERROR("CAttributeMap::fromString(const StdString & str)",
+               << "[ str = " << str << "] Not implemented yet !"); 
+      }
+      
+      //---------------------------------------------------------------
 
       //StdOStream & operator << (StdOStream & os, const CAttributeMap & attributmap)
       //{ os << attributmap.toString(); return (os); }
-
+      
+      //---------------------------------------------------------------
+      
       void CAttributeMap::setAttributes(const xml::THashAttributes & attributes)
       {
@@ -71,5 +89,7 @@
             }
       }
-
+      
+      //---------------------------------------------------------------
+      
       void CAttributeMap::setAttributes(const CAttributeMap * const _parent)
       {
@@ -90,4 +110,65 @@
          }
       }
+      
+      //---------------------------------------------------------------
+      
+      void CAttributeMap::toBinary(StdOStream & os) const
+      {
+         typedef std::pair<StdString, CAttribute*> StdStrAttPair;
+         SuperClassMap::const_iterator it = this->begin(), end = this->end();
+         
+         const StdSize nbatt = SuperClassMap::size();
+         os.write (reinterpret_cast<const char*>(&nbatt) , sizeof(StdSize));
+         
+         for (; it != end; it++)
+         {
+            const StdString & key   = it->first;
+            const CAttribute* value = it->second;            
+            const StdSize size = key.size();
+            
+            os.write (reinterpret_cast<const char*>(&size) , sizeof(StdSize));
+            os.write (key.data(), size * sizeof(char));
+            
+            if (!value->isEmpty())
+            {
+               bool b = true;
+               os.write (reinterpret_cast<const char*>(&b) , sizeof(bool));
+               value->toBinary(os);
+            }
+            else 
+            {
+               bool b = false;
+               os.write (reinterpret_cast<const char*>(&b) , sizeof(bool));
+            }
+         }
+      }
+      
+      //---------------------------------------------------------------
+      
+      void CAttributeMap::fromBinary(StdIStream & is)
+      {
+         StdSize nbatt = 0;
+         is.read (reinterpret_cast<char*>(&nbatt), sizeof(StdSize));
+         
+         for (StdSize i = 0; i < nbatt; i++)
+         {
+            bool hasValue = false;
+            StdSize size  = 0;
+            is.read (reinterpret_cast<char*>(&size), sizeof(StdSize));
+            StdString key(size, ' ');
+            is.read (const_cast<char *>(key.data()), size * sizeof(char));
+            
+            if (!this->hasAttribute(key))
+               ERROR("CAttributeMap::fromBinary(StdIStream & is)",
+                     << "[ key = " << key << "] key not found !"); 
+                     
+            is.read (reinterpret_cast<char*>(&hasValue), sizeof(bool));
+            
+            if (hasValue)          
+               this->operator[](key)->fromBinary(is);
+         }
+      }
+      
+      ///--------------------------------------------------------------
 
    } // namespace tree
Index: XMLIO_V2/dev/dev_rv/src/xmlio/attribute_map.hpp
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/attribute_map.hpp	(revision 170)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/attribute_map.hpp	(revision 171)
@@ -43,4 +43,7 @@
             virtual StdString toString(void) const;
             virtual void fromString(const StdString & str);
+            
+            virtual void toBinary  (StdOStream & os) const;
+            virtual void fromBinary(StdIStream & is);
 
          protected :
Index: XMLIO_V2/dev/dev_rv/src/xmlio/attribute_template.cpp
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/attribute_template.cpp	(revision 170)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/attribute_template.cpp	(revision 171)
@@ -10,4 +10,5 @@
 
       /** SpÃ©cialisations des templates pour la fonction [toString] **/
+      
       template <>
          StdString CAttributeTemplate<bool>::toString(void) const
Index: XMLIO_V2/dev/dev_rv/src/xmlio/exception.hpp
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/exception.hpp	(revision 170)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/exception.hpp	(revision 171)
@@ -47,7 +47,7 @@
 
 #ifdef XIOS_DEBUG
-   #define DEBUG(x) std::clog << "> Debug " << INFO(x)
+#  define DEBUG(x) std::clog << "> Debug " << INFO(x)
 #else
-   #define DEBUG(x)
+#  define DEBUG(x)
 #endif
 
Index: XMLIO_V2/dev/dev_rv/src/xmlio/main_server.cpp
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/main_server.cpp	(revision 170)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/main_server.cpp	(revision 171)
@@ -80,4 +80,10 @@
       CTreeManager::PrintTreeToFile("data/def/test.xml");
       
+      
+      ARRAY_CREATE(sarray, double, 1, [1]);
+      StdIFStream ifs("data/monfichierbinaire");
+      sarray->fromBinary(ifs);
+      ifs.close();
+      
      
      
Index: XMLIO_V2/dev/dev_rv/src/xmlio/xml_node.cpp
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/xml_node.cpp	(revision 170)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/xml_node.cpp	(revision 171)
@@ -17,5 +17,7 @@
 
       StdString CXMLNode::getElementName(void) const
-      { return (this->node->name()); }
+      { 
+         return (this->node->name()); 
+      }
 
       bool CXMLNode::goToNextElement(void)
@@ -24,7 +26,12 @@
          for(rapidxml::xml_node<char> * nextElement = this->node->next_sibling();
                                       ; nextElement = this->node->next_sibling())
+         {
             if (nextElement == NULL) break;
             else if (nextElement->type() == rapidxml::node_element)
-            { node = nextElement; return (!retvalue); }
+            { 
+               node = nextElement;
+               return (!retvalue);
+            }
+         }
          return (retvalue);
       }
@@ -37,7 +44,12 @@
          {
             for(;;nextElement = this->node->next_sibling())
+            {
                if (nextElement == NULL) break;
                else if (nextElement->type() == rapidxml::node_element)
-               { node = nextElement; return (!retvalue); }
+               { 
+                  node = nextElement; 
+                  return (!retvalue); 
+               }
+            }
          }
          return (retvalue);
@@ -54,5 +66,7 @@
 
       const StdString & CXMLNode::GetRootName(void)
-      { return (CXMLNode::RootName); }
+      { 
+         return (CXMLNode::RootName); 
+      }
 
       THashAttributes CXMLNode::getAttributes(void) const
@@ -62,9 +76,12 @@
 
          if ((currentAttr = this->node->first_attribute()) != NULL)
-            do {
+         {
+            do 
+            {
                attributes.insert(std::pair<StdString, StdString>
                                 (StdString(currentAttr->name()),
                                  StdString(currentAttr->value())));
             } while ((currentAttr = currentAttr->next_attribute()) != NULL);
+         }
 
          return (attributes) ;
