item;
            foreach ($config_xml as $item) {
                $this->modules["$item[id]"] = $item;
            }
        } else {
            echo 'Impossible de trouver le fichier de configuration.';
        }
    }
    /**
     *
     * Initialise les modules activés uniquement
     */
    function getModules()
    {
        foreach ($this->modules as $module => $moduleConf) {
            if (file_exists('modules/' . $module . '/' . ucfirst($module) . '.php') && $moduleConf->visibility == "true") {
                $params = array();
                foreach ($moduleConf as $confParam) {
                    $params[$confParam->getName()] = "$confParam";
                }
                $module = new $module($params);
                if (is_subclass_of($module, 'Module')) {
                    $module->build();
                }
                // require 'modules/'.$module.'/'.ucfirst($module).'.php';
                // call_user_func(array($module, "start"), $module, $params);
            }
        }
    }
    /**
     *
     * @return le module donné avec ses paramètres actuellement présent en conf
     */
    public static function getModule($module)
    {
        if ($config = simplexml_load_file('../' . self::CONFIG_FILE)) {
            $config_xml = $config->item;
            foreach ($config_xml as $item) {
                if ($item["id"] == $module) {
                    $params = array();
                    foreach ($item as $confParam) {
                        $params[$confParam->getName()] = "$confParam";
                    }
                    //require '../modules/'.$module.'/'.ucfirst($module).'.php';
                    return new $module($params);
                }
            }
            echo "object not found";
            return;
        } else {
            echo "bad persistance";
            return;
        }
    }
    /**
     *
     * Construit et insère le menu de changement de config
     */
    function buildConfigMenu()
    {
        echo '