Partage
  • Partager sur Facebook
  • Partager sur Twitter

Un mini école direct, pronote, etc ...

    5 novembre 2017 à 18:23:40

    Bonsoir,

    Notre professeur nous a donné un exercice un peu particulier puisque nous devons créer une sorte de mini école directe ou pronote ou quelque chose de similaire... Je ne sais pas si vous voyez ce que c'est mais nous avons ça dans la majorité des collèges et lycées. Normalement, ces sites calculent toutes nos moyennes dans chaque matières, nous permettent de communiquer avec nos professeurs, marquent nos absences, etc ...

    Enfin bref, dans le nôtre, pour une matière, on doit pouvoir :

    - saisir les notes au début

    - ajouter une note choisie

    - supprimer une note choisie

    - modifier une note au rang choisi

    - faire la moyenne de l'ensemble des notes

    - trier les notes dans l'ordre croissant

    - trier les notes dans l'ordre décroissant

    J'ai déjà bien avancé le programme en créant tous ces petis sous programmes (et ils fonctionnent !!) et l'ensemble des notes sont gérées au sein d'une liste.

    Cependant, il faut maintenant que j'arrive a créer une sorte de boîte de dialogue avec celui qui l'utilise (dans la situation : le professeur d'une matière). Il doit pouvoir saisir les notes au début puis de "façon infinie" pouvoir modifier, supprimer, etc ... ainsi le programme ne doit jamais s'arrêter, comme s'il était permanent. 

    J'ai essayé de faire une sorte de boucle infinie avec un "while" avec comme condition 1==1, et l'appel d'un sous-programme avec "import".

    Le seul problème c'est que je n'arrive par à coordonner la réponse de l'utilisateur avec le lancement d'un de mes sous-programmes. 

    J'espère que ce que j'ai écrit n'est pas trop confu et que c'est relativement compréhensible.

    Si vous pouviez m'aider dans mes recherches ça serai super.

    Merci d'avance.

    Marie

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      5 novembre 2017 à 18:49:01

      La boîte de dialogue tu là fais avec ?

      Je ne sais pas si vous voyez ce que c'est mais nous avons ça dans la majorité des collèges et lycées.

      C'est national !

      • Partager sur Facebook
      • Partager sur Twitter
        5 novembre 2017 à 19:32:34

        Ah je ne svais pas ...

        La boîte de dialogue est sur le shell non ?

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          5 novembre 2017 à 19:40:56

          MarieMaria a écrit:

          La boîte de dialogue est sur le shell non ?


          Non... Quel framework vas-tu utiliser ? Tkinter, PyQt, wxWindows, ... ? Normalement on utilise le plus simple quand on débute, c'est à dire Tkinter.

          Que te conseilles ton professeur ?

          • Partager sur Facebook
          • Partager sur Twitter
            5 novembre 2017 à 20:22:51

            On a aucune idication et nous n'avons rien étudié en cours de tout ce que vous me proposer ...

            Qu'est ce que c'est exactement un framework ?

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              5 novembre 2017 à 20:51:14

              Qu'as-tu étudié alors ? Ça sera plus simple pour t'aiguiller...

              Pour le framework, t'as pas google ? Va falloir s'habituer à l'utiliser !

              • Partager sur Facebook
              • Partager sur Twitter
                6 novembre 2017 à 22:03:37

                Pas grand chose .. j'ai commencé il y a un mois avec la spé ISN en Terminal S.

                Je me suis renseignée sur ces framework et plus particulièrement Tkinter. Si j'ai bien compris ce sont des interfaces graphiques et notre professeur nous a dit que l'on les étudirait plus tard dans l'année et que l'on pourrait faire sans ... 

                Est-il vraiment possible de réaliser mon exercice sans ?

                • Partager sur Facebook
                • Partager sur Twitter
                  7 novembre 2017 à 12:17:12

                  Si ton professeur ne veut pas que t'utilises d'interface graphique, le seul choix qu'il te reste c'est en ligne de commandes.

                  Tu peux utiliser input() pour rentrer ce que tu tapes au clavier dans le programme. Tu pourrais imaginer un menu du genre "Voulez vous 1) ajouter une note ? 2) Modifier une note ? ...", et suivant que l'utilisateur tape 1, 2 ou 3 tu rentres dans l'une ou l'autre de tes fonctions

                  • Partager sur Facebook
                  • Partager sur Twitter
                    9 novembre 2017 à 20:36:40

                    Ah oui c'est une bonne idée je vais essayer.

                    Merci beaucoup pour votre aide.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      11 novembre 2017 à 12:34:09

                      J'ai fini mon programme mais il me reste un problème ....

                      La boucle tant que se répette sans exécuter les  sous-programme. Où est mon erreur ?

                      Merci d'avance.

                      def ajouter ():
                          """ Permet l'ajout d'une note dans votre liste."""
                          new=input("Saisir une nouvelle note : ")
                          new=int(new)
                          list_note.append(new)
                          print(list_note)
                          print("Votre note a bien été ajoutée")
                      
                      def supprimer () :
                          """ Permet de supprimer une note de votre liste. """
                          supp=input("Saisir la note que vous souhaitez supprimer : ")
                          supp=int(supp)
                          elementSupprime = list_note.pop(supp)
                          print("La note a bien été suprimée")
                          print(list_note)
                      
                      def modifier () :
                          """ Permet la modification d'une note choisie de votre liste."""
                          print(list_note)
                          #on affiche la liste pour l'utilisateur
                          rang=input("Saisir le rang de la note que vous voulez modifier sachant que la 1er note est de rang 0 : ")
                          rang=int(rang)
                          #choix du rang
                          new_note=input("Saisir la nouvelle note : ")
                          new_note=int(new_note)
                          list_note[rang]=new_note
                          #choix de la nouvelle note
                          print("Voici les notes après modification : ",list_note)
                      
                      def moyenne () :
                          """ Permet de calculer la moyenne de votre liste de note."""
                          import statistics
                          # utilistaion de statistics.mean(liste)
                          from statistics import mean
                          # utilisation de mean(liste)
                          moyenne=mean(list_note)
                          print("La moyenne des notes est de ",moyenne)
                      
                      def tri_croissant () :
                          """ Permet de ranger vos notes dans l'ordre croissant."""
                          list_note.sort()
                          print(list_note)
                          print("Les notes sont maintenant rangées par ordre croissant")
                      
                      def tri_décroissant () :
                          """Permet de ranger dans l'ordre décroissant les notes de votre liste"""
                          list_note.sort(reverse=True)
                          print(list_note)
                          print("Les notes sont maintenant rangées par ordre décroissant")
                      
                          
                      
                      list_note=list()
                      
                      print ("Bonjour et bienvenue sur le répertoire de note scolaire.")
                      
                      list_note=input("Veuillez saisir la liste de note initiale : ")
                      
                      while (1==1):
                          ask=input("Que voulez vous faire ? \n Ajouter une note    (1) \n Supprimer une note  (2) \n Modifier une note   (3) \n Calculer la moyenne (4) \n Trier les notes     (5) \n Entrer votre choix (numéro) : ")
                          ask=int(ask)
                          
                          if (ask!=1) and (ask!=2) and (ask!=3) and (ask!=4) and (ask!=5):
                              {
                              }
                      
                          if (ask==1):
                              import ajouter
                      
                          if (ask==2):
                              import supprimer
                      
                          if (ask==3):
                              import modifier
                      
                          if (ask==4):
                              import moyenne
                      
                          if (ask==5):
                              ask_bis=input("Dans quel ordre voulez-vous trier les notes ? \n Ordre croissant (1) \n Ordre décroissant (2)")
                              ask_bis=int(ask_bis)
                              if (ask_bis!=1) and (ask_bis!=2):
                                  {
                                  }
                              if (ask_bis==1):
                                  import tri_croissant
                              if (ask_bis==2):
                                  import tri_décroissant
                      



                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        11 novembre 2017 à 13:39:51

                        Tu as fais un résumé de toutes les mauvaises pratiques en python ? Des fois je me demande si vous vous prenez la peine de lire un tutoriel...

                        Une boucle infinie, pour info, se termine à la condition où elle rencontre le mot clé break.

                        Ton code ressemble un peu à ce qu'on appelle la théorie de la fenêtre brisée. Plus tu fais de fautes techniques, plus le nombre d'erreurs s'intensifient et plus il est difficile de debugger.

                        Pour éviter ça, on répare bug après bug, tronçon par tronçon afin d'éviter ce genre de catastrophe. Mais trop tard, tu l'as fais, reste plus qu'à tout recommencer !

                        -
                        Edité par Anonyme 11 novembre 2017 à 13:48:51

                        • Partager sur Facebook
                        • Partager sur Twitter
                          11 novembre 2017 à 14:42:39

                          C'est vrai queje ne lis pas tous les tutoriels car je suis à la base des cours à mon lycée donc logiquement mon professeur est cencé me donner toutes les informations et lorsque l'on a aborder le boucles tant que, il n'a jamais fait allusion au mot break ...

                          Par "C'est beau ces accolades !" vous sous-entendez quoi ?

                          Excusez-moi mais je demandais juste un peu d'aide...

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            11 novembre 2017 à 15:16:54

                            MarieMaria a écrit:

                            mon professeur est cencé me donner toutes les informations

                            Non ! Et je parle en connaissance de cause. Ce n'est surtout pas son rôle de faire le travail à votre place pour que vous ayez juste à copier des lignes de code les unes en dessous des autres. Son rôle est de vous guider dans le cas où l'investigation est présente, que l'élève a montré un investissement minimum et qu'il respecte un minimum ses consignes. Le but n'est pas le langage, mais apprendre à résoudre un problème de la façon la plus optimisée possible. Depuis quand déterminez vous le rôle d'un professeur ? Avez-vous lu le programme lié à sa discipline ?

                            MarieMaria a écrit:

                            lorsque l'on a aborder le boucles tant que, il n'a jamais fait allusion au mot break ...

                            Le mot break n'est pas un mot clé vu par votre professeur, car lors de cette étude, la boucle tant que était utilisé pour montrer une limite de répétition. Hors vous présentez une boucle infinie (sans limite) qui n'a pas été un terme abordé je suppose.

                            ----------------------------------------

                            En ce qui concerne votre investigation je vous propose des suggestions,

                            • Utiliser votre interpréteur python pour tester de petites lignes de code
                            • Utiliser ce tutoriel en français et gratuit qui est une référence en python

                            Votre investissement dans le langage ne doit pas être trop important, ce qui importe c'est la manière dont vous allez résoudre votre problématique. La solution peut être écrite en version manuscrite, avec des si - sinon - tant que - pour i allant de ... à ..., etc. Puis pour terminer très basiquement traduire cette version en python... 99% du travail sera fait !

                            • Partager sur Facebook
                            • Partager sur Twitter
                              11 novembre 2017 à 19:23:37

                              MarieMaria a écrit: > Par "C'est beau ces accolades !" vous sous-entendez quoi ?

                              Que les blocs de code Python se délimitent par l'indentation et les : qui les précèdent, pas par des accolades. Quand tu souhaites avoir un bloc d'instructions vide, utilise le mot-clé pass.

                              Au fait, tu confonds importations de modules et appels de fonctions.

                              • Partager sur Facebook
                              • Partager sur Twitter
                                12 novembre 2017 à 20:10:33

                                Merci pour votre aide, je vais modifier mon programme.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  13 novembre 2017 à 10:45:50

                                  @oldProgrammer t'y vas assez violemment quand même. C'est sensé être un forum d'entraide, pas un forum de "t'as intérêt à être indépendant sinon je vais t'écrire tout un pavé pour te décrire à quel point t'es mauvais". En l'occurence, il a juste à modifier quelques éléments de son programme et ça devrait fonctionner.. A moins que tu veuilles absolument le dégoûter de la programmation, auquel cas ton post est parfait.

                                  while (1 == 1):

                                  Tu peux remplacer ça par

                                  while (True):

                                  Effectivement, comme l'ont dit les autres, la condition est toujours vraie, donc ça fait une boucle infinie. Si tu ne veux pas de boucle infinie, tu peux faire un break 

                                  while (True):
                                    # ...
                                    if ( ... ): # si l'utilisateur veut sortir
                                      break

                                  Sinon tu peux aussi modifier ta condition de boucle avec un truc du genre

                                  continuer = True
                                  while(continuer):
                                    # ...
                                    if ( ... ): # si l'utilisateur veut sortir
                                      continuer = False

                                   Problème suivant

                                      if (ask!=1) and (ask!=2) and (ask!=3) and (ask!=4) and (ask!=5):
                                          {
                                          }

                                  Ce que tu fais, c'est que si la condition est remplie, alors tu demandes à Python de te construire un dictionnaire vide (les accolades c'est pour les dictionnaires).

                                  Remplace { } par pass ; pass c'est l'instruction Python qui ne fait rien

                                      if (ask==1):
                                          import ajouter

                                  Je ne sais pas ce que ça fait, mais ça ne fait sûrement pas ce que tu veux.

                                  import est l'équivalent du #include en C (si t'en as déjà fait) ; ça va (plus ou moins) te copier coller le contenu de ajouter.py dans le if. Vu que ajouter.py n'existe pas, j'avoue que je ne sais pas vraiment ce que ça fait.

                                  La vraie façon propre d'appeler des sous programmes (ou dirais-je plutôt, des fonctions), c'est comme ça :

                                      if (ask==1):
                                          ajouter()

                                  Je te conseille de lire la partie sur les fonctions du tutoriel Python






                                  -
                                  Edité par potterman28wxcv 13 novembre 2017 à 10:50:34

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    13 novembre 2017 à 10:52:44

                                    Il n'y a pas de parenthèses à mettre derrière les if, while et autres mots-clés.

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      13 novembre 2017 à 11:40:45

                                      entwanne a écrit:

                                      Il n'y a pas de parenthèses à mettre derrière les if, while et autres mots-clés.


                                      Question de style. Mais effectivement les parenthèses ne sont pas obligatoires.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Anonyme
                                        13 novembre 2017 à 16:34:53

                                        potterman28wxcv a écrit:

                                        @oldProgrammer t'y vas assez violemment quand même

                                        ???

                                        potterman28wxcv a écrit:

                                        C'est sensé être un forum d'entraide

                                        Pas d'assisté !

                                        potterman28wxcv a écrit:

                                        "t'as intérêt à être indépendant sinon je vais t'écrire tout un pavé pour te décrire à quel point t'es mauvais"

                                        Relis les règles du forum, un minimum de recherche est requis, google est utilisé pour cela...

                                        potterman28wxcv a écrit:

                                        Si tu ne veux pas de boucle infinie, tu peux faire un break

                                        Mal dit !

                                        potterman28wxcv a écrit:

                                            if (ask==1):
                                                ajouter()

                                        Je te conseille de lire la partie sur les fonctions du tutoriel Python

                                        Mieux est

                                        if ask:
                                            # traitement

                                        Et finalement tu le renvois comme moi dans la lecture d'un tutoriel, ça va pas l'arranger toutes ces lectures :-°

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          13 novembre 2017 à 16:55:28

                                          oldProgrammer a écrit:

                                          potterman28wxcv a écrit:

                                          @oldProgrammer t'y vas assez violemment quand même

                                          ???

                                          potterman28wxcv a écrit:

                                          C'est sensé être un forum d'entraide

                                          Pas d'assisté !

                                          Et après tu te demandes pourquoi je trouve que t'y vas assez violemment. Je sais que c'est Internet, mais ça ne te choque pas de traiter un forummeur d'assisté ?

                                          oldProgrammer a écrit:

                                          potterman28wxcv a écrit:

                                          "t'as intérêt à être indépendant sinon je vais t'écrire tout un pavé pour te décrire à quel point t'es mauvais"

                                          Relis les règles du forum, un minimum de recherche est requis, google est utilisé pour cela...

                                          Il y a une grosse différence entre indiquer de faire une recherche, et complètement détruire le travail qu'il a fait en disant à quel point c'est mauvais et qu'il faut tout recommencer de zéro.

                                          oldProgrammer a écrit:

                                          potterman28wxcv a écrit:

                                          Si tu ne veux pas de boucle infinie, tu peux faire un break

                                          Mal dit !

                                          Je ne pense pas que ma phrase soit ambigüe.

                                          oldProgrammer a écrit:

                                          potterman28wxcv a écrit:

                                              if (ask==1):
                                                  ajouter()

                                          Je te conseille de lire la partie sur les fonctions du tutoriel Python

                                          Mieux est

                                          if ask:
                                              # traitement

                                          Je ne pense pas. ask n'est pas un booléen, c'est bien un entier dans son exemple. Si tu fais if ask: tu vas juste tester si ask est différent de 0 ou de None. A priori, il veut des branchements plus spécifiques que ça : if ask == 1, if ask == 2, if ask == 3, etc..

                                          oldProgrammer a écrit:

                                          Et finalement tu le renvois comme moi dans la lecture d'un tutoriel, ça va pas l'arranger toutes ces lectures :-°

                                          La différence c'est que je l'ai renvoyé à une section spécifique du tutoriel, et non au tutoriel en entier. Tout le monde n'a pas le temps de lire un tuto entier rien que pour faire un simple exo en Python.


                                          Après, effectivement, il serait préférable qu'il le lise en entier. Mais pour son exo en particulier, et étant donné la simplicité de son problème, je ne pense pas qu'il soit obligé.

                                          -
                                          Edité par potterman28wxcv 13 novembre 2017 à 16:56:00

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Anonyme
                                            13 novembre 2017 à 17:10:07

                                            potterman28wxcv a écrit:

                                            Et après tu te demandes pourquoi je trouve que t'y vas assez violemment. Je sais que c'est Internet, mais ça ne te choque pas de traiter un forummeur d'assisté ?

                                            Non, des choses bien plus graves mais tout aussi réalistes me choquent bien plus...

                                            potterman28wxcv a écrit:

                                            Il y a une grosse différence entre indiquer de faire une recherche, et complètement détruire le travail qu'il a fait en disant à quel point c'est mauvais et qu'il faut tout recommencer de zéro.

                                            Je dis qu'il faut debugger tronçon par tronçon, sinon on ajoute des difficultés supplémentaires en ajoutant erreur par erreur, je ne vois pas ce qu'il y a à détruire un code qui ne prend en recommençant que très peu de temps. C'est mieux ainsi, ça prend moins de temps que le debuggage.

                                            potterman28wxcv a écrit:

                                            Je ne pense pas que ma phrase soit ambigüe.

                                            Elle l'est, tu es tout simplement en train de dire que pour remplacer la boucle infinie, on utilise le mot clé break. Alors que le seul intérêt de break et d'interrompre une boucle.

                                            potterman28wxcv a écrit:

                                            Je ne pense pas. ask n'est pas un booléen, c'est bien un entier dans son exemple. Si tu fais if ask: tu vas juste tester si ask est différent de 0 ou de None. A priori, il veut des branchements plus spécifiques que ça : if ask == 1, if ask == 2, if ask == 3, etc..

                                            Effectivement je n'avais pas lu son morceau de code, juste ta ligne...

                                            --------------------------

                                            Il faut lire le tutoriel en entier, en tout cas le début du tutoriel en entier, car se sont les bases qui y sont exprimées... Et c'est un besoin lié à son exercice dans sa totalité.

                                            -
                                            Edité par Anonyme 13 novembre 2017 à 17:10:29

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              13 novembre 2017 à 20:59:21

                                              Merci @potterman28wxcv pour tes conseils en suplément de celui des autres.

                                              J'ai modifié et continué mon programme et il est presque fini, merci à vous tous.

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                14 novembre 2017 à 10:07:54

                                                MarieMaria a écrit:

                                                J'ai modifié et continué mon programme et il est presque fini


                                                Par contre il n'y a pas besoin de toutes les parenthèses dans ton code. Comme l'a souligné entwanne, if et while sont des mots-clés et non des fonctions. Et ce n'est pas une question de style, c'est juste de comprendre ce qu'on fait ;):

                                                if ask != 1 and ask != 2 and ask !=3 and ask !=4 and ask !=5:
                                                    ...
                                                 
                                                if ask == 1:
                                                    ...
                                                
                                                while True:
                                                    ...


                                                Concernant ton code, toutes les notes entrées sont-elles forcément des entiers? Ne peut-il pas y avoir des valeurs décimales (ex: 13.5)? Car tu convertis toutes les valeurs en entier (avec int) alors qu'il faudrait utiliser float si les notes décimales sont acceptées?

                                                Ensuite, je ne vois pas l'intérêt du bloc suivant:

                                                if ask != 1 and ask != 2 and ask !=3 and ask !=4 and ask !=5:
                                                    pass


                                                Puisque tu ne fais rien, autant ne pas le mettre.

                                                Étant donné que ask ne peut avoir qu'une seule valeur (soit il vaut 1, soit il vaut 2, .... soit il vaut 5) on peut utiliser des conditions exclusives en remplaçant la série de if par des elif:

                                                if ask == 1:
                                                    ...
                                                 
                                                elif ask == 2:
                                                    ...
                                                 
                                                elif ask == 3:
                                                    ...
                                                 
                                                elif ask == 4:
                                                    ...
                                                 
                                                elif ask == 5:
                                                    ...


                                                Ça évite de faire des tests inutiles ;)

                                                À l'instar de mes camarades, je t'encourages à lire un tuto pour au moins connaître les bases de la programmation python ^^

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Précepte: Le mieux est l'ennemi du bien
                                                  14 novembre 2017 à 11:40:46

                                                  Olygrim a écrit:

                                                  Par contre il n'y a pas besoin de toutes les parenthèses dans ton code. Comme l'a souligné entwanne, if et while sont des mots-clés et non des fonctions. Et ce n'est pas une question de style, c'est juste de comprendre ce qu'on fait ;):

                                                  Désolé d'être relou, mais si tu fais if (ask == 1): ça ne va pas appeler la fonction if, ça fait bien exactement la même chose que si tu faisais if ask == 1: .

                                                  Pour moi, c'est bien une question de style plus qu'une question de sémantique.

                                                  D'ailleurs PEP8 préconise l'usage des parenthèses dans le cas où la ligne doit être cassée en plusieurs lignes

                                                  if (abcdefghijklmnopqrstuvwxyz > some_other_long_identifier and
                                                      here_is_another_long_identifier != and_finally_another_long_name):
                                                      # ... your code here ...
                                                      pass

                                                  Dans le cas où la ligne est courte, en général je ne mets pas de parenthèse, mais ça ne me choque pas d'en voir

                                                  -
                                                  Edité par potterman28wxcv 14 novembre 2017 à 11:41:08

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    14 novembre 2017 à 12:27:41

                                                    potterman28wxcv a écrit:

                                                    mais si tu fais if (ask == 1): ça ne va pas appeler la fonction if


                                                    C'est sûr que ça ne va pas appeler la fonction if car if est un mot réservé et donc il est impossible de donner ce nom à une fonction / variable ;)

                                                    Ma remarque était surtout là pour faire comprendre qu'en face on a un débutant, et qu'en tant que tel ils ne savent pas toujours ce qui est obligatoire ou pas, ce qui est juste ou non. Donc autant leur délivrer dès le départ les bonnes pratiques ;)

                                                    potterman28wxcv a écrit:

                                                    mais ça ne me choque pas d'en voir


                                                    Moi ça me choque un peu étant donné que le code est truffé de ça (lignes 59, 63, 67, 70, 73, 76, 79, 82, 85, 87) donc là on est pas sur un style (les débutants non pas de style) mais plutôt sur une mauvaise interprétation. Et donc ça ne coûte rien de lui en faire la remarque ;). Surtout que ça alourdit inutilement le code.

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    Précepte: Le mieux est l'ennemi du bien

                                                    Un mini école direct, pronote, etc ...

                                                    × 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