let resoud_naivement ?(printP = print_plateau) (mon_instance:instance) =
        myprint Verbeux_textuel ("##############################################################################################");
        myprint Verbeux_textuel ("Appel a 'resoud_naivement' avec l'instance suivante :");
        if (Verbeux_textuel = Verbeux_textuelthen print_instance mon_instance;
        let liste_solutions = 
                (try (resoud_naivement_aux ~printP:printP ~liste_piece:mon_instance.pi ~plateau:(creer_plateau_vide ~printP:printP mon_instance) ~icourant:0 ~jcourant:0) 
                with  Solution_trouvee_arg(ele)                ->
                        (print_string "\n\nUne solution a été trouvée. La voici :\n";
                        print_string "###############\n";
                        printP ele;
                        print_string "###############";
                        [ele]; (* On renvoit la solution en plus de l'afficher. *)
                        )
                )
(*                (resoud_naivement_aux ~liste_piece:mon_instance.pi ~plateau:(creer_plateau_vide mon_instance) ~icourant:0 ~jcourant:0)*)
                in
        match liste_solutions with
        | []                ->
                print_string "\n\nAucune solution n'a été trouvée.\n";
                raise Aucune_solution;
        | el :: ssl        ->
        print_string "\n\n\tVoila tout les plateaux renvoyés :";
        List.map (fun k -> print_string "\n"; printP k;) (el :: ssl);
        print_string ("\n\n\t"^(string_of_int (List.length (el :: ssl)))^" candidats solutions ont été trouvés.");
                (try (est_valide_plateau el; el;) with
                | Solution_trouvee                ->
                        (print_string "\n\nUne solution a été trouvée. La voici :\n";
                        printP el;
                        el; (* On renvoit la solution en plus de l'afficher. *)
                        )
                | Mauvais_tableau                ->
                        (print_string "\n\nLa plateau construit n'est pas structurelement correct.\n Erreur de construction !";
                        raise Mauvais_tableau;
                        )
                | Erreur_compatibilite_h(i,j)        ->
                        (print_string ("\n\nLa plateau construit n'est pas valide.\n Erreur de compatibilité horizontale aux cases : i="^(string_of_int i)^" et j="^(string_of_int j)^" !");
                        raise (Erreur_compatibilite_h(i,j));
                        )
                | Erreur_compatibilite_v(i,j)        ->
                        (print_string ("\n\nLa plateau construit n'est pas valide.\n Erreur de compatibilité verticale aux cases : i="^(string_of_int i)^" et j="^(string_of_int j)^" !");
                        raise (Erreur_compatibilite_v(i,j));
                        )
                )