public void Configurer(Scenario_Etape[] __etapes_du_scenario)
    {
        // méthode non robuste
        //p_etapes.AddRange(__etapes_du_scenario);

        // méthode  robuste
        // ====> vérifier si les étapes  passées en paramètres sont valides
        if (p_etapes != null)
        {
            p_etapes.Clear(); // vider le tableau (si 2ème ou suivantes exécutions....
        }
        else
        {
            p_etapes = new List <Scenario_Etape>(); // 1ere exécution : instantiation
        }
        nbEtapes = 0;

        foreach (Scenario_Etape _etape in __etapes_du_scenario)
        {
            // un objet valide ?
            if (_etape.interactiveObject == null)
            {
                CommonDevTools.QUIT_APP("objet étape " + nbEtapes + " non défini");
            }

            // un type d'intearction défini ?
            if (_etape.interaction == Scenario_Etape.Interactions.UNDEFINED)
            {
                CommonDevTools.ERROR("interaction étape " + nbEtapes + " non définie", this.gameObject);
            }

            // recherches des components dérivés de Action : ! seront tous ajoutés, qu'il soient activés ou non !
            _etape.actions = _etape.interactiveObject.GetComponents <Action_Scenario_Etape>();

            // au moins une action définie ?
            if (_etape.actions.Length == 0)
            {
                CommonDevTools.ERROR("pas d'actions pour l'étape " + nbEtapes + " et l'objet " + _etape.interactiveObject.name, this.gameObject);
            }
            else
            {
                CommonDevTools.DEBUG(_etape.actions.Length + " actions pour l'étape " + nbEtapes + " et l'objet " + _etape.interactiveObject.name);
            }

            // desactiver les actions et met isPartOf_Scenario à vrai
            foreach (Action_Scenario_Etape action in _etape.actions)
            {
                action.enabled           = false;
                action.isPartOf_Scenario = true;
            }

            // Etape valide : ajouté au scénario
            p_etapes.Add(_etape);
            nbEtapes++;
        }
    }
 //Launch one scene   by index
 public void LoadScene(int __num_scene)
 {
     if (__num_scene >= p_nbScenes)
     {
         CommonDevTools.QUIT_APP("! Erreur de référence de scène !");
     }
     else
     {
         SceneManager.LoadScene(p_arr_Scenes[__num_scene]);
     }
     // SceneManager.LoadScene(p_list_Scenes[i]);
     // pour les dictionnaires  pas vraiment adapté  car indexé par clé  (ici chaine)
 }
    //Launch one scene by name
    public void LoadScene(string __nom_scene)
    {
        // méthode non robuste : SceneManager.LoadScene(__scene_name);

        // méthode robuste : vérifier que le nom est correct    // le dictionnaire est ici approprié
        string _nom_scene_verifié;

        if (p_dict_Scenes.TryGetValue(__nom_scene, out _nom_scene_verifié))
        {
            SceneManager.LoadScene(_nom_scene_verifié);
        }
        else
        {
            CommonDevTools.QUIT_APP("! Erreur de référence de scène !");
        }
    }
 public void Quit()
 {
     CommonDevTools.QUIT_APP("quit");
 }
 public void PressQuit()
 {
     CommonDevTools.QUIT_APP("! fin demandée de l'application!");
 }