am.registerAction(Constants.ACTION_DIRECTACCESS,new DirectAccessAction());
am.registerAction(Constants.ACTION_GOTOSTEP,new DirectAccessAction());
    private ApplicationManager()    {        try        {            String applicationPath = FilesManager.getInstance().getRootPath();            // si le repertoire des Langues n'existe pas            File languagesDirectory = new File(applicationPath                    + Constants.LANGUAGES_OUTPUT_DIRECTORY);            if (!languagesDirectory.exists())            {                // on cr?e le repertoire                languagesDirectory.mkdir();            }            // on extrait le fichier de langue par defaut            File defaultLanguageFile = new File(applicationPath                    + Constants.LANGUAGES_OUTPUT_FILE + ".properties");            InputStream defaultInputStream = ClassLoader                    .getSystemResourceAsStream(Constants.LANGUAGES_FILE                            + ".properties");            OutputStream defaultOutputStream = new FileOutputStream(                    defaultLanguageFile);            FilesManager.getInstance().copyFile(defaultInputStream,                    defaultOutputStream);            // on extrait le fichier de langue fr            File frLanguageFile = new File(applicationPath                    + Constants.LANGUAGES_OUTPUT_FILE + "_fr.properties");            InputStream frInputStream = ClassLoader                    .getSystemResourceAsStream(Constants.LANGUAGES_FILE                            + "_fr.properties");            OutputStream frOutputStream = new FileOutputStream(frLanguageFile);            FilesManager.getInstance().copyFile(frInputStream, frOutputStream);            // on extrait le fichier de langue en            File enLanguageFile = new File(applicationPath                    + Constants.LANGUAGES_OUTPUT_FILE + "_en.properties");            InputStream enInputStream = ClassLoader                    .getSystemResourceAsStream(Constants.LANGUAGES_FILE                            + "_en.properties");            OutputStream enOutputStream = new FileOutputStream(enLanguageFile);            FilesManager.getInstance().copyFile(enInputStream, enOutputStream);            // Definition de la locale            URL urls[] = { languagesDirectory.toURL() };            LanguagesManager.getInstance().setResourceFile(                    Constants.LANGUAGES_FILE_PREFIXE,                    new Locale(PreferencesManager.getInstance().getLanguage()),                    new URLClassLoader(urls));            // Definition du Chemin contenant les Icones de l'applications            ImagesManager.getInstance()                    .setImagePath(Constants.IMAGES_DIRECTORY);            // Creation et enregistrement des actions de l'application            ActionManager am = ActionManager.getInstance();            am.registerAction(Constants.ACTION_QUIT, new QuitAction());            am.registerAction(Constants.ACTION_OPEN, new OpenAction());            am.registerAction(Constants.ACTION_ABOUT, new AboutAction());            am.registerAction(Constants.ACTION_RUN_ACTIVITY,                    new RunActivityAction());            am.registerAction(Constants.ACTION_NEXT, new NextAction());            am.registerAction(Constants.ACTION_PREVIOUS, new PreviousAction());            am.registerAction(Constants.ACTION_TERMINATE,new TerminateAction());            am.registerAction(Constants.ACTION_DIRECTACCESS,new DirectAccessAction());                        am.registerAction(Constants.ACTION_PREFERENCES,                    new PreferencesAction());            am.registerAction(Constants.ACTION_TOOLSSETTINGS,                    new ToolsSettingsAction());            // creation de la fenetre principale            this.mfPagod = new MainFrame();            // mettre a jour l'etat de l'application            this.state = State.LOADED;        }        catch (Exception ex)        {            ExceptionManager.getInstance().manage(ex);        }    }