diff --git a/lib/aeos.lib.php b/lib/aeos.lib.php
new file mode 100644
index 0000000..d20f5c7
--- /dev/null
+++ b/lib/aeos.lib.php
@@ -0,0 +1,259 @@
+xml = $xml;}
+
+ public function setXml($xml)
+ {
+ if(!empty($xml))
+ {
+ $this->xml = $xml;
+ }
+ }
+
+ public function get_array()
+ {
+ if($this->get_dom() === false){return false;}
+ $this->xml_array = array();
+ $root_element = $this->xml_dom->firstChild;
+ $this->xml_array[$root_element->tagName] = $this->node_2_array($root_element);
+ return $this->xml_array;
+ }
+
+ private function node_2_array($dom_element)
+ {
+ if($dom_element->nodeType != XML_ELEMENT_NODE){return false;}
+ $children = $dom_element->childNodes;
+
+ foreach($children as $child)
+ {
+ if($child->nodeType != XML_ELEMENT_NODE){continue;}
+ $prefix = ($child->prefix) ? $child->prefix.':' : '';
+
+ if(!is_array(@$result[$prefix.$child->nodeName]))
+ {
+ $subnode = false;
+
+ foreach($children as $test_node)
+ {
+ if($child->nodeName == $test_node->nodeName && !$child->isSameNode($test_node))
+ {
+ $subnode = true;
+ break;
+ }
+ }
+ }
+ else
+ {
+ $subnode = true;
+ }
+
+ if ($subnode)
+ {
+ $result[$prefix.$child->nodeName][] = $this->node_2_array($child);
+ }
+ else
+ {
+ $result[$prefix.$child->nodeName] = $this->node_2_array($child);
+ }
+ }
+
+ if (!is_array(@$result))
+ {
+ $result['#text'] = html_entity_decode(htmlentities($dom_element->nodeValue, ENT_COMPAT, 'UTF-8'), ENT_COMPAT,'ISO-8859-1');
+ }
+
+ if ($dom_element->hasAttributes())
+ {
+ foreach ($dom_element->attributes as $attrib)
+ {
+ $prefix = ($attrib->prefix) ? $attrib->prefix.':' : '';
+ $result["@".$prefix.$attrib->nodeName] = $attrib->nodeValue;
+ }
+ }
+
+ return $result;
+ }
+
+ private function get_dom()
+ {
+ if(empty($this->xml))
+ {
+ echo 'Aucun fichier XML trouvé.';
+ return false;
+ }
+
+ $this->xml_dom = @DOMDocument::load($this->xml);
+
+ if($this->xml_dom)
+ {
+ return $this->xml_dom;
+ }
+
+ echo 'Données XML invalide'; exit;
+ }
+ }
+
+// Renvoi le XML en ARRAY
+function lecture_xml($config)
+{
+ $converter = new Xml2Array();
+ $converter->setXml($config);
+ $xml_array = $converter->get_array();
+ return $xml_array;
+}
+
+// Renvoi le listing d'un dossier dans un ARRAY
+function listing_dossier($folder)
+{
+ $dossier = opendir($folder);
+ $i=0;
+ while ($Fichier = readdir($dossier)) {
+ if ($Fichier != "." && $Fichier != "..") {
+ $array[$i]=$Fichier;
+ $i++;
+ }
+ }
+ @natsort($array);
+return $array;
+closedir($dossier);
+}
+
+// Enregistre une donnée dans un XML - Chemin, OldElement, NewElement
+function ecriture_xml($a, $b, $c)
+{
+ $dom = new DomDocument;
+ $dom->load($a);
+ $xml = $dom->getElementsByTagName($b);
+ //echo $xml->item(0)->nodeValue;
+ $titre = $xml->item(0);
+ $titre->nodeValue = utf8_encode($c);
+ //echo $dom->saveXML();
+ $dom->save($a);
+}
+
+// Renvoi une donnée en STRING
+function donnee_xml($a, $b)
+{
+ $dom = new DomDocument;
+ $dom->load($a);
+ $xml = $dom->getElementsByTagName($b);
+ return $xml->item(0)->nodeValue;
+}
+
+// Upload $fichier, le dézippe dans $dossier et affiche le message $page
+function upload_unzip($fichier, $dossier, $page)
+{
+ $filename = $fichier["name"];
+ $source = $fichier["tmp_name"];
+ $type = $fichier["type"];
+
+ if ($type=="application/zip" || $type=="application/x-zip-compressed" || $type=="multipart/x-zip" || $type=="application/x-compressed")
+ {
+ $target_path = $dossier.$filename;
+ if(move_uploaded_file($source, $target_path))
+ {
+ $nom = basename($filename, ".zip");
+ if (is_dir($dossier.$nom)==TRUE)
+ {
+ echo "Ce ".$page." est déjà installé.";
+ unlink($target_path);
+ }
+ else
+ {
+ $zip = new ZipArchive();
+ $x = $zip->open($target_path);
+ if ($x === true)
+ {
+ $zip->extractTo($dossier.$nom);
+ $zip->close();
+ unlink($target_path);
+ }
+ echo "Votre ".$page." a bien été installé.";
+ }
+ }
+ else {echo "Une erreur est survenue. Veuillez recommencer.";}
+ }
+ else {echo "Votre fichier n'est pas un zip.";}
+}
+
+// Inverse de nl2br by OverSu
+function br2nl($replace) {
+ return preg_replace("/
/i", "", $replace);
+}
+
+//Merci à holger1 de php.net
+// Supprime un dossier
+function removeFolder($dir) {
+ if (is_dir($dir))
+ {
+ $objects = scandir($dir);
+ foreach ($objects as $object)
+ {
+ if ($object != "." && $object != "..")
+ {
+ if (filetype($dir."/".$object) == "dir") removeFolder($dir."/".$object); else unlink($dir."/".$object);
+ }
+ }
+ reset($objects);
+ rmdir($dir);
+ }
+}
+
+// Vide un dossier
+function clearFolder($folder)
+{
+ $dossier=opendir($folder);
+ while ($fichier = readdir($dossier))
+ {
+ if ($fichier != "." && $fichier != "..")
+ {
+ $Vidage= $folder.$fichier;
+ unlink($Vidage);
+ }
+ }
+ closedir($dossier);
+}
+
+// Génère un mot de passe de $nbr caractères
+function generer_mdp($nbr)
+{
+ $str = "";
+ $chaine = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
+ srand((double)microtime()*1000);
+
+ for($i=0; $i<$nbr; $i++) {
+ $str .= $chaine[rand()%strlen($chaine)];
+ }
+
+ return $str;
+}
+
+// Envoi un mail
+function sendMail($expediteur, $destinataire, $titre, $messageHTML){
+ date("D, j M Y H:i:s");
+ $entete = "From: ".$expediteur."\n";
+ $entete .= "Cc: \n";
+ $entete .= "Reply-To: ".$expediteur." \n";
+ $entete .= "X-Mailer: PHP/" . phpversion() . "\n" ;
+ $entete .= "Date: ". date("D, j M Y H:i:s");
+ mail($destinataire, $titre, $messageHTML, $entete);
+}
+
+// Retourne un boolean
+// Vérifie si une adresse est belle et bien au format mail.
+function checkMail($adresse)
+{
+ $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#';
+ if(preg_match($Syntaxe,$adresse)) return true;
+ else return false;
+}
+?>
diff --git a/lib/config.lib.php b/lib/config.lib.php
new file mode 100644
index 0000000..aab50dd
--- /dev/null
+++ b/lib/config.lib.php
@@ -0,0 +1,20 @@
+
\ No newline at end of file
diff --git a/lib/var.lib.php b/lib/var.lib.php
new file mode 100644
index 0000000..6d3239f
--- /dev/null
+++ b/lib/var.lib.php
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/lib/wysiwyg.lib.php b/lib/wysiwyg.lib.php
new file mode 100644
index 0000000..dd5e86d
--- /dev/null
+++ b/lib/wysiwyg.lib.php
@@ -0,0 +1,26 @@
+
+
\ No newline at end of file