Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C]Problème sauvegarde de niveaux

    25 avril 2006 à 21:18:20

    Bonjour à tous :)

    J'ai un problème : j'ai un fichier niveaux.lvl qui contient plusieurs lignes de niveaux et lorsque je veus sauvegarder à partir de l'éditeur : le fichier ne se modifie pas :'(

    Mon code:
    sauvegarderNiveau(carte,numNiveau);

    /* ------------- */

    int sauvegarderNiveau(int niveau[][NB_BLOCS_HAUTEUR],int numNiveau)
    {
        FILE* fichier = NULL;
        int i = 0, j = 0, ligne = 0;
        char ligneFichier[NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR + 1] = {0};

        fichier = fopen("niveaux.lvl", "r+");
        if (fichier == NULL)
            return 0;

         ligne = 0 ;

         while ( ligne <= numNiveau ) // On se place a la bonne ligne
            {
                fscanf(fichier, "%s\n",ligneFichier ) ;
                ligne ++ ;
            }

        for (i = 0 ; i < NB_BLOCS_HAUTEUR ; i++) //on essai de modifier le fichier
            {
                for (j = 0 ; j < NB_BLOCS_LARGEUR ; j++)
                {
                    fputc( niveau[j][i], fichier) ;
                    fprintf(fichier, "%f", niveau[j][i]);
                }
            }

        fclose(fichier);
        return 1;
    }


    Voilà, si vous voyez d'où ça peu viendre ... ;)
    • Partager sur Facebook
    • Partager sur Twitter
      25 avril 2006 à 21:38:17

      Citation : Pas de titre

      FILE* fichier = NULL;



      NULL est inutile ici puisque implicite.

      Citation : Pas de titre

      i = 0, j = 0, ligne = 0



      Inutile de le citer deux fois.

      Citation : Pas de titre

      fscanf(fichier, "%s\n",ligneFichier ) ;



      fscanf(fichier, "%s\n", &ligneFichier )
      • Partager sur Facebook
      • Partager sur Twitter
        25 avril 2006 à 21:57:43

        Je n'ai pas trop compri ce que tu a marqué defnet. Je met tout le temps NULL pour les fichiers, avant de les charger. Apres il y a un i et un j (ce n'est pas la même lettre :p )Et enfin : Je ne pense pas qui'l faille mettre un '&' !ligneFichier est un tableau ...

        Qu'oi qu'il en siot le problème n'est pas résolu. :-°
        • Partager sur Facebook
        • Partager sur Twitter
          25 avril 2006 à 22:25:18

          Pour i et j c'est pas grave.

          Pour le &, c'est vrai, je n'ai pas vu que ce n'était pas un tableau mais cela ne change rien que tu met un & ou pas.
          • Partager sur Facebook
          • Partager sur Twitter
            25 avril 2006 à 22:33:08

            Oui, c'est ce qu'il me semblait aussi pour le &. ;)

            Sinon personne ne voit d'ou peut provenir l'erreur ?
            J'ai pensé à l'ouverture en r+ ("fichier = fopen("niveaux.lvl", "r+");") qui ne conviendrait pas. Peut être que si on lit un fichier d'abord on ne peut pas écrire dedans ensuite. J'en sais rien ! :p
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              25 avril 2006 à 22:35:08

              Heu si le & change queque chose.
              Je pense que si tu met &ligneFichier ça modifie la VARIABLE est non le tableau.
              Enfin ça c'est ce que je pense apèrs je sait pas vraiment.
              Mais je suis sur à 99,99% (on est j'amais sur :p ) que ça change quelque chose.
              • Partager sur Facebook
              • Partager sur Twitter
                25 avril 2006 à 22:36:46

                Oui mais moi je veus modier le tableau. Donc c'set bon! Nan ? ^^

                Edit: Le problème ne vient pas de là de toute façon. C'est juste que je ne peut pas modifier le fichier. Ca doit être la ligne
                fprintf(fichier, "%d", niveau[j][i]);
                qui bug.

                Edit2: DjKill> Je préfère toujours initialiser mes variables. Sinon tu a parfaitement raison, c'était une faute de frappe lors du dernier test. (f est a coté de d). Mais le problème reste inchangé :(

                Edit3: Le mode a ne convient pas, car on ne veut pas forcément creer un nouveau niveau. On peut être amené à en modifier un déjà éxistant. :)
                • Partager sur Facebook
                • Partager sur Twitter
                  25 avril 2006 à 22:36:53

                  Pour ce qui est des variables i et j, tu n'ai pas obligé de les initialiser; en effet s'ils ne te servent qu'à parcourir tes tableaux (comme c'est quasiement toujours le cas) avec des boucles for tu l'initialise dans la boucle (en mettant i=0;condition;incrémentation...)

                  Pour ce qui est de ton fichier afin de t'éviter de chercher la dernière ligne pourquoi ne pas l'ouvrir en "mode" "a" ??en effet ceci te permet d'aller directement sur la dernière ligne et donc d'écrire à la suite.

                  Sinon je pense que ton erreur pourrait provenir d'ici:
                  fprintf(fichier, "%f", niveau[j][i]);

                  Je pense que le type de données serait plutot des entiers (enfin pour le sokoban en tout cas); et par conséquent il voudrait mieux mettre "%d" plutot que "%f".

                  Voilà jeper t'avoir aidé.

                  @+

                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 avril 2006 à 23:06:49

                    Citation : Pas de titre

                    Je pense que le type de données serait plutot des entiers (enfin pour le sokoban en tout cas); et par conséquent il voudrait mieux mettre "%d" plutot que "%f"



                    Tiens moi qui pensais que ça n'avais aucunne influence sur le fonctionnement.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      25 avril 2006 à 23:40:44

                      Citation : auteur du post

                      int sauvegarderNiveau(int niveau[][NB_BLOCS_HAUTEUR],int numNiveau)



                      Je ne suis pas sur mais essaye avec ça :
                      int sauvegarderNiveau(int niveau[NB_BLOCS_LARGEUR][NB_BLOCS_HAUTEUR],int numNiveau)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        26 avril 2006 à 9:33:48

                        Citation : defnet

                        Citation : Pas de titre

                        FILE* fichier = NULL;



                        NULL est inutile ici puisque implicite.


                        La variable est de classe automatique. Elle n'est donc pas initialisée.

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Music only !
                          26 avril 2006 à 10:59:25

                          Je me doutait que ça n'allait pas fonctionner mais j'ai tester ton code Thibdumont, et en effet ... Ca ne marche pas ^^ Enfin ça change rien.

                          Je n'ai toujours pas trouvé d'où venait le problème. :colere:
                          Je crois que je vais me refaire la fonction...
                          • Partager sur Facebook
                          • Partager sur Twitter
                            26 avril 2006 à 12:14:52

                            Citation : BaDaBouM

                            Je n'ai toujours pas trouvé d'où venait le problème.


                            Explique mieux ce que tu veux faire. Donne des exempls de fihciers (avant/après...)

                            La spécification doit être calire. Ensuite, on verra en fonction de ce qu'on sait faire en C...
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Music only !
                              26 avril 2006 à 13:13:09

                              J'ai le même problème moi (pas tout a fait), j'arrive a sauvegarder le premier niveau mais pas les autre .... :colere2:
                              Voilà mon code :
                              int sauvegarderNiveau(int niveau[][NB_BLOCS_HAUTEUR], long choixLvl)
                              {
                                      FILE* fichier = NULL;
                                      long nombreLvl = 0, lvlChoisi = 0;
                                      char ligneFichier[NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR + 1] = {0};
                                      int i = 0, j = 0;
                                      int caractereLu = 0;

                                      fichier = fopen("niveaux.lvl", "r+");

                                      if (fichier == NULL)
                                          return 0;


                                      lvlChoisi = choixLvl;
                                      rewind(fichier);

                                      while (lvlChoisi > 0)
                                      {
                                          caractereLu = fgetc(fichier);
                                          if (caractereLu == '\n')
                                              lvlChoisi--;
                                      }

                                      for (i = 0 ; i < NB_BLOCS_HAUTEUR ; i++)
                                      {
                                          for (j = 0 ; j < NB_BLOCS_LARGEUR ; j++)
                                          {
                                              fprintf(fichier, "%d", niveau[j][i]);
                                          }
                                      }

                                  fclose(fichier);
                                  return 1;
                              }

                              Je me demande si le fprintf n'écrirait pas a partir du début du fichier ...
                              • Partager sur Facebook
                              • Partager sur Twitter
                                26 avril 2006 à 13:23:24

                                Bon, alors je la refait :

                                J'ai un fichier niveaux.lvl :
                                Plusieurs lignes contenant des 0, des 1, des 2, un 3 et un 4.

                                004001111111111111111111111111111111
                                110010000000000000112020020020041111

                                Ici c'est tout racourcis, mais en vrai les lignes sont bien plus grandes. ^^
                                Chaque ligne correspond à un niveau.

                                Dans mon jeu, j'ai un éditeur de niveau intégré. On choisis le niveau que l'on veut modifier, il s'affiche à l'écran. On le modifie et ... on veut le sauvegarder. En fait la ligne de "niveaux.lvl"contenant l'ancien niveau devrait être remplacée par celle qui contient le niveau modifié. ;)

                                Donc voici ma fonction sauvegarder :

                                int sauvegarderNiveau(int niveau[NB_BLOCS_LARGEUR][NB_BLOCS_HAUTEUR], int numNiveau)
                                {
                                    FILE* fichier = NULL;
                                    int i = 0, j = 0, ligne = 0;
                                    char ligneFichier[NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR + 1] = {0};

                                    fichier = fopen("niveaux.lvl", "r+");
                                    if (fichier == NULL)
                                        return 0;

                                     ligne = 0 ;

                                     while ( ligne <= numNiveau ) // On se place a la bonne ligne
                                        {
                                            fscanf(fichier, "%s\n",ligneFichier ) ;
                                            ligne ++ ;
                                        }

                                    fprintf(stderr, "=>\n");

                                    for (i = 0 ; i < NB_BLOCS_HAUTEUR ; i++)
                                        {
                                            for (j = 0 ; j < NB_BLOCS_LARGEUR ; j++)
                                            {
                                                fputc( niveau[j][i], fichier) ;
                                                fprintf(stderr, "%d", niveau[j][i]);
                                                fprintf(fichier, "%d", niveau[j][i]);
                                            }
                                        }

                                    fprintf(stderr, "\n");

                                    fclose(fichier);
                                    return 1;
                                }

                                J'ai mis la ligne "fprintf(stderr, "%d", niveau[j][i]);" pour voir si tout fonctionne bien. Et c'est bon, le fichier stderr.txt contient bien la ligne du niveau modifié. Image utilisateur

                                Le problème c'est que "niveaux.lvl" ne change pas. :(
                                Par contre, j'ai remarqué que lorsqu'on voulait creer un nouveau niveau (numNiveau > nombre de lignes de niveaux.lvl) cela me rajoutait des caractères bizards. (Avec Notepad++ c'est des "null" et avec le bloc note des carrés noirs) :euh:

                                Voilà, j'ésper que vous avez compris mon problème. :)

                                Edit: Moi même le premier niveau ne se modifie pas. Moi je me demande si on peut écrire dans un fichier, si on a commencé par le lire.

                                Edit 2: Avec ton code, tu devrait pouvoir utiliser fseek pour te positionner au bon endroit ;)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  26 avril 2006 à 13:32:52

                                  Ce que je trouve bizare moi, c'est que j'arrive a sauvegarder mon premier niveau mais ps les autres.... o_O
                                  EDIT : Pour me positionner j'utilise ca :
                                          while (lvlChoisi > 0)
                                          {
                                              caractereLu = fgetc(fichier);
                                              if (caractereLu == '\n')
                                                  lvlChoisi--;
                                          }


                                  et ca marche pour changer de lvl donc je ne voit pas pkoi ca ne marcherai pas pour sauvegarder ;)
                                  Tenez vla le code pour changer de lvl
                                  int changerLvl(int niveau[][NB_BLOCS_HAUTEUR], long choixLvl)
                                  {
                                          FILE* fichier = NULL;
                                          long nombreLvl = 0, lvlChoisi = 0;
                                          char ligneFichier[NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR + 1] = {0};
                                      int i = 0, j = 0;
                                          int caractereLu = 0;

                                      fichier = fopen("niveaux.lvl", "r");

                                      if (fichier == NULL)
                                          return 0;

                                      do
                                      {
                                          caractereLu = fgetc(fichier);
                                          if (caractereLu == '\n')
                                              nombreLvl++;
                                      } while(caractereLu != EOF);

                                          lvlChoisi = choixLvl;
                                          rewind(fichier);

                                          while (lvlChoisi > 0)
                                      {
                                          caractereLu = fgetc(fichier);
                                          if (caractereLu == '\n')
                                              lvlChoisi--;
                                      }
                                          fgets(ligneFichier, NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR + 1, fichier);

                                      for (i = 0 ; i < NB_BLOCS_HAUTEUR ; i++)
                                      {
                                          for (j = 0 ; j < NB_BLOCS_LARGEUR ; j++)
                                          {
                                              switch (ligneFichier[(i * NB_BLOCS_LARGEUR) + j])
                                              {
                                                  case '0':
                                                      niveau[j][i] = 0;
                                                      break;
                                                  case '1':
                                                      niveau[j][i] = 1;
                                                      break;
                                                  case '2':
                                                      niveau[j][i] = 2;
                                                      break;
                                                  case '3':
                                                      niveau[j][i] = 3;
                                                      break;
                                                  case '4':
                                                      niveau[j][i] = 4;
                                                      break;
                                                                  case '5':
                                                                          niveau[j][i] = 5;
                                                                          break;
                                              }
                                          }
                                      }
                                      fclose(fichier);
                                      return 1;
                                  }

                                  Celui la marche nickel, je pense que je n'arrive pas a sauvegarder a cause du fprintf...
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    26 avril 2006 à 13:36:58

                                    Ce serait pas mieux w+ au lieu de r+ ...
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      26 avril 2006 à 13:40:17

                                      Non car sinon je perds ton mon fichier..
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        26 avril 2006 à 13:43:47

                                        Citation : tomtom91

                                        Non car sinon je perds ton mon fichier..


                                        De toutes façons, les manips avec les '+' sont dangereuses. Je les déconseille formellement aux débutants.

                                        Pour ajouter à la fin : "a". Pour modifier : copie dans un autre fichier avec le fitre appropiée, puis rename(), remove()... (possibilité de garder la version précédente du fichier)
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Music only !
                                          26 avril 2006 à 13:44:18

                                          Moi aussi le niveau1 se modifie. Et losqu'on demande le niveau1, la boucle pour se positionner à la bonne ligne ne se lance pas. C'est à mno avis ici qu'est le problème. :)

                                          T'as esséyé avec fssek ? :euh:

                                          EDIT: YOUHOUUUUUUUUUU CA MARCHE !!!!! :D
                                          Ca marche avec fseek !!!


                                          Code qui marche:
                                          int sauvegarderNiveau(int niveau[NB_BLOCS_LARGEUR][NB_BLOCS_HAUTEUR], int numNiveau)
                                          {
                                              FILE* fichier = NULL;
                                              int i = 0, j = 0, ligne = 0;
                                              char ligneFichier[NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR + 1] = {0};

                                              fichier = fopen("niveaux.lvl", "r+");
                                              if (fichier == NULL)
                                                  return 0;

                                               ligne = 1 ;

                                               while ( ligne < numNiveau ) // On se place a la bonne ligne
                                                  {
                                                      fseek(fichier, NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR , SEEK_CUR);
                                                      ligne ++ ;
                                                  }

                                              fprintf(stderr, "=>\n");

                                              for (i = 0 ; i < NB_BLOCS_HAUTEUR ; i++)
                                                  {
                                                      for (j = 0 ; j < NB_BLOCS_LARGEUR ; j++)
                                                      {
                                                          fprintf(stderr, "%d", niveau[j][i]);
                                                          fprintf(fichier, "%d", niveau[j][i]);
                                                      }
                                                  }

                                              fprintf(stderr, "\n");

                                              fclose(fichier);
                                              return 1;
                                          }
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            26 avril 2006 à 14:00:49

                                            Ca marche FSEEK MARCHE !!!!!!!
                                            EDIT : Toi aussi ^^
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              26 avril 2006 à 14:25:27

                                              En fait ça ne marche pas parfaitement non plus . ^^
                                              Il y a des décalages, des trucs qui n'apparaissent pas au bon endroit ... enfin pas top quoi ! :)
                                              C'est top bon toi ? Si oui passe moi ton code STP :p
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                26 avril 2006 à 14:36:16

                                                Non ca merde j'ai cru que c'étai bon parcek les 2 premier lvl marcher, mais après ya des décalage ou sa enregistre un lvl par dessus un autre ...
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  26 avril 2006 à 14:43:33

                                                  Citation : tomtom91

                                                  Non ca merde j'ai cru que c'étai bon parcek les 2 premier lvl marcher, mais après ya des décalage ou sa enregistre un lvl par dessus un autre ...


                                                  Faites ce que vous voulez, mais...

                                                  http://www.siteduzero.com/forum-83-35923-274462.html#r274462
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                  Music only !
                                                    26 avril 2006 à 14:47:23

                                                    De toute facon je ne vois pas du tout ce que ça change ton truc -ed-, au final ça revient au même. C'est juste que tu peut garder la vertion précédente du fichier ... Nan ? :euh:
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      26 avril 2006 à 14:52:25

                                                      Citation : BaDaBouM

                                                      De toute facon je ne vois pas du tout ce que ça change ton truc -ed-, au final ça revient au même. C'est juste que tu peut garder la vertion précédente du fichier ... Nan ? :euh:


                                                      C'est surtout que ça évite de détruire les fichiers et de perdre son temps en manips vaines.

                                                      Je n'ai pas analysé ce que tu veux faire exactement, mais est-tu bien conscient que les modes "+" ne permettent que de remplacer un ou des caractères par d'autres, mais ni de raccourcir, ni d'insérer ?
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      Music only !
                                                        26 avril 2006 à 15:05:11

                                                        Oui oui, t'inquiettes, j'ai parfaitement compris. :)

                                                        Comme le nombre de caractères d'une ligne ne change pas (LARGEUR * HAUTEUR), il suffit (logiquement) de se situer avant la ligne qui correspond au niveau, et copier la nouvelle vertion. Normalement la ligne modifiée prend la place de l'ancienne ligne et c'est tout bon. Mais ce n'est pas le cas :'(
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          28 avril 2006 à 9:43:03

                                                          Pourquoi ne pas réécrire le fichier, plutôt que de s'embêter à le modifier ?
                                                          Tu parcours ton fichier ligne par ligne, que tu réécris dans un second fichier. Quand tu arrives à la ligne que tu voulais modifier, tu mets la bonne. Puis tu continues jusque la fin du fichier.

                                                          Après vérification que ton code marche, tu rajouteras deux lignes pour supprimer l'ancien fichier, et renommer le nouveau. Hop.
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            28 avril 2006 à 10:43:39

                                                            Oui je croi que je vais faire comme ça ;)

                                                            Je vais voir ce que ça donne. ^^

                                                            Edit:

                                                            int sauvegarderNiveau(int niveau[NB_BLOCS_LARGEUR][NB_BLOCS_HAUTEUR], int numNiveau)
                                                            {

                                                                fprintf(stderr, "SAVE\n");

                                                                /* ---------- */

                                                                FILE* fichierSource = NULL;
                                                                FILE* fichier = NULL;
                                                                char ligneFichier[NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR + 1] = {0};
                                                                int i = 0, j = 0, ligne = 0 ;

                                                                fichierSource = fopen("niveaux_30x20.lvl", "r");
                                                                if (fichierSource == NULL)
                                                                    return 0;

                                                                fichier = fopen("niveaux_temp.lvl", "w");
                                                                //fichier = fopen("niveaux_30x20.lvl", "r+");
                                                                if (fichier == NULL)
                                                                    return 0;

                                                                 ligne = 0 ;

                                                                 fprintf(stderr, "NB_NIVEAU = : %ld\n", NB_NIVEAU);

                                                                 while ( ligne < NB_NIVEAU ) // On se place a la bonne ligne
                                                                    {

                                                                        fprintf(stderr, "Ligne = : %ld\n", ligne); //

                                                                        fgets(ligneFichier, NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR + 1, fichierSource); //On récupère la ligne du Fichier source

                                                                        if( ligne == numNiveau ) // on écri la ligne correspondant au niveau
                                                                        {
                                                                            for (i = 0 ; i < NB_BLOCS_HAUTEUR ; i++)
                                                                            {
                                                                                for (j = 0 ; j < NB_BLOCS_LARGEUR ; j++)
                                                                                {
                                                                                    //fprintf(stderr, "%d", niveau[j][i]);
                                                                                    fprintf(fichier, "%d", niveau[j][i]);

                                                                                }
                                                                            }
                                                                            //fprintf(fichier, "\n");
                                                                        }
                                                                        else  //On écrit la mêm ligne
                                                                        {
                                                                            fprintf(fichier, "%s", ligneFichier);
                                                                        }

                                                                        ligne++ ;

                                                                    }

                                                                fclose(fichier);
                                                                return 1;
                                                            }


                                                            Ca marche pas mal mais, il y a encore quelques bugs.
                                                            Déjà, NB_NIVEAU vaut 20 mais je me retrouve avec un fichier qui ne fait que 10 lignes. Pourtant :

                                                            Citation : stderr.txt

                                                            SAVE
                                                            NB_NIVEAU = : 20
                                                            Ligne = : 0
                                                            Ligne = : 1
                                                            Ligne = : 2
                                                            Ligne = : 3
                                                            Ligne = : 4
                                                            Ligne = : 5
                                                            Ligne = : 6
                                                            Ligne = : 7
                                                            Ligne = : 8
                                                            Ligne = : 9
                                                            Ligne = : 10
                                                            Ligne = : 11
                                                            Ligne = : 12
                                                            Ligne = : 13
                                                            Ligne = : 14
                                                            Ligne = : 15
                                                            Ligne = : 16
                                                            Ligne = : 17
                                                            Ligne = : 18
                                                            Ligne = : 19


                                                            Image utilisateur
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              28 avril 2006 à 13:00:23

                                                              J'ai réussi d'une autre manière : J'ai fais un fichier lvl par niveau (donc une ligne par fichier).
                                                              Et ca marche...

                                                              Pourtant dans la version amélioré de mateo, mateo n'utilise qu'un fichier .lvl.... :o
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              [C]Problème sauvegarde de niveaux

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown