IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GLUT Discussion :

Menu


Sujet :

GLUT

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Par défaut Menu
    Slt,

    J'ai créé un menu que j'ai rattaché au clic droit avec glutAttachMenu(GLUT_RIGHT_BUTTON).

    Maintenant je voudrai ouvrir le menu d'une autre façon, en faisant un clic sur une zone de la fenêtre où j'aurai préalablement afficher "MENU".

    Comment déclencher l'affichage du menu avec ces conditions ?
    ( Est-ce possible ? )

    Merci

  2. #2
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut Re: Menu
    Citation Envoyé par Corpio
    Slt,

    J'ai créé un menu que j'ai rattaché au clic droit avec glutAttachMenu(GLUT_RIGHT_BUTTON).

    Maintenant je voudrai ouvrir le menu d'une autre façon, en faisant un clic sur une zone de la fenêtre où j'aurai préalablement afficher "MENU".

    Comment déclencher l'affichage du menu avec ces conditions ?
    ( Est-ce possible ? )

    Merci
    Cela me semble difficile...

    La seule solution avec Glut que je vois est d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    void glutMotionFunc(void (*func) (int x,int y));
    void glutPassiveMotionFunc(void (*func) (int x, int y));
    Pour gérer le mouvement de la souris. Lorsque la souris se trouve dans la zone où tu veux que le menu s'affiche, tu utilises

    Lorsque la souris sors de la zone, tu feras un

    Je n'ai aucune idée du coût d'une telle technique. Une optimisation serait de n'appeler glutAttachMenu seulement à l'entrée de la zone et glutDetachMenu à la sortie de la zone.

    Bonne chance,
    Jc

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Par défaut
    Merci fearyourself,

    Je savais pas qu'on pouvait utilisé glutAttachMenu sans passer de paramètre. Tu répond donc à ma question. Avec cette précision je vais donc pouvoir m'y mettre et essayer qqchose avec ça.

  4. #4
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par Corpio
    Merci fearyourself,

    Je savais pas qu'on pouvait utilisé glutAttachMenu sans passer de paramètre. Tu répond donc à ma question. Avec cette précision je vais donc pouvoir m'y mettre et essayer qqchose avec ça.
    Où est-ce que j'ai dit qu'on pouvait utilisé glutAttachMenu sans passer de paramètre?

    Si il faut lui donner l'indice du menu, mais tu pourrais enlever le menu avec glutDetachMenu lorsque tu sors de la zone.

    Les prototypes des deux fonctions sont:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void glutAttachMenu
                  	(	int button
                  );
    void glutDetachMenu
                  	(	int button
                  );
    Donc il faudra toujours passer un entier en paramètre...
    Jc

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Par défaut
    J'ai une nouvelle question à propos du menu :

    Lorsque j'attache mon menu et que je clic en dehors de ma fenetre, celle-ci se ferme et j'ai cette erreur qui apparait dans l'invite de cmde (j'utilise glut et Python) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GLUT: Warning in foo: The following is a new check for GLUT 3.0; update your code.
    GLUT: Fatal Error in foo: menu manipulation not allowed while menus in use.
    Faut-il que je détecte ce clic et faire un glutDetachMenu ?
    Si oui, comment ?

    Merci

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Par défaut
    Mais qu'est ce que je passe comme bouton ?
    Il suffit pas de faire glutAttachMenu(bouton) pour que le menu apparaisse.

  7. #7
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par Corpio
    J'ai une nouvelle question à propos du menu :

    Lorsque j'attache mon menu et que je clic en dehors de ma fenetre, celle-ci se ferme et j'ai cette erreur qui apparait dans l'invite de cmde (j'utilise glut et Python) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GLUT: Warning in foo: The following is a new check for GLUT 3.0; update your code.
    GLUT: Fatal Error in foo: menu manipulation not allowed while menus in use.
    Faut-il que je détecte ce clic et faire un glutDetachMenu ?
    Si oui, comment ?

    Merci
    Etonnant comme message, je ne suis pas un spécialiste de Glut mais la version 3 a jouté la spécifications qu'on ne peut plus modifier un menu lorsqu'il est attaché. Donc ce message dit que ton programme est en train de modifier le menu d'une manière ou une autre.

    Tu peux utiliser glutEntryFunc pour détecter l'entrée et la sortie de la souris par rapport à la souris... Mais en principe, ce ne serait pas normal. Il est bizarre qu'un clic extérieur à ta fenêtre ferait réagir ton programme. Le gestionnaire de fenêtre (Windows, X) ne devrait même lui faire part...

    Mais qu'est ce que je passe comme bouton ?
    Il suffit pas de faire glutAttachMenu(bouton) pour que le menu apparaisse.
    Bien que cela ne répondra peut-être pas à toutes tes questions, voici un morceau de code en Python qui crée un menu et l'attache.

    http://cvs.sourceforge.net/viewcvs.py/pyopengl/PyOpenGL2/OpenGL/Demo/suite/GLUT.py?rev=HEAD&content-type=text/vnd.viewcvs-markup

    Remarque aussi que tu trouveras ici toutes les informations sur glut:
    http://pyopengl.sourceforge.net/documentation/manual/glut.3GLUT.xml

    Jc

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Par défaut
    Je viens de finir mon menu come je le voulais :

    J'ai utilisé la méthode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    glutPassiveMotionFunc(mouseMoveP);
    Lorsque la souris est dans la zone que j'ai défini (là ou j'affiche un bitmap MENU) j'attache le menu au clic gauche sinon je le détache.

    Je rappelle que j'utilise le langage Python (pour ceux qui ne comprendraient pas)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def mouseMoveP(*args):
     
        if args[0] > X and args[1] < Y:
            glutAttachMenu(GLUT_LEFT_BUTTON)
        else:
            glutDetachMenu(GLUT_LEFT_BUTTON)


    Pour ce qui est de mon second problème :

    Si je détache le menu alors qu'il est ouvert cela va-t-il le fermé ?
    Je ne pense pas.

    Il faudrait donc que je trouve un moyen de fermer le menu automatiquement (dans la fonction glutEntryFunc) si la condition est vraie.

  9. #9
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par Corpio
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def mouseMoveP(*args):
     
        if args[0] > X and args[1] < Y:
            glutAttachMenu(GLUT_LEFT_BUTTON)
        else:
            glutDetachMenu(GLUT_LEFT_BUTTON)
    Il ne faudrait pas vérifier la taille du menu aussi?

    Quelque chose du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def mouseMoveP(*args):
     
        if args[0] > X and args[1] < Y and args[0] < X+LARGEUR and args[1] > Y + HAUTEUR:
            glutAttachMenu(GLUT_LEFT_BUTTON)
        else:
            glutDetachMenu(GLUT_LEFT_BUTTON)
    Pour ce qui est de mon second problème :

    Si je détache le menu alors qu'il est ouvert cela va-t-il le fermé ?
    Je ne pense pas.

    Il faudrait donc que je trouve un moyen de fermer le menu automatiquement (dans la fonction glutEntryFunc) si la condition est vraie.
    Finalement, je pense que tu vas avoir du mal à faire ce que tu veux... Plus je regarde la spec de glut, plus je me dis que ce n'est pas vraiment fait pour ce genre de chose.

    A ce que j'ai vu, tu ne peux pas demander la fermeture du popup (ce qui me semble absurde...). Par contre, depuis la version 3, il ne faut pas tenter de modifier/détruire le popup s'il est utilisé, cela provoquera une erreur.

    Il faudrait peut-être pensé à faire son propre menu ou utiliser autre chose que glut mais rien ne me vient à l'esprit sauf GTK...

    Jc

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Par défaut
    Ne t'en fait pas, j'ai tenu compte de la taille du menu (dans mon code je n'ai pas "X" et "Y" mais qqchose de plus long).
    Comme mon menu se trouve en bas à gauche à l'extreme, les 2 conditions que j'ai mis suffisent (evidemment si on veut le placer plus centré dans la fenêtre il faudra 4 conditions)

    Le second probleme que j'ai n'est pas tres génant dc si je n'arrive pas a le resoudre c'est pas trop grave (mais comme je suis tombé dessus j'ai qd meme voulu demandé, on sait jamais)

    Merci pour l'aide

  11. #11
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Sinon, ce que tu fais, c'est tu mets en place un booléen qui dit je suis dans le fenêtre ou non.

    Si tu n'es pas dans la fenêtre, tu ne gères aucun des appels souris/clavier que peut générer GLUT. Sinon, tu exécutes ton code.

    Cela pourrait peut-être suffire...

    Jc

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Par défaut
    Récapitulatif :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GLUT: Warning in foo: The following is a new check for GLUT 3.0; update your code.
    GLUT: Fatal Error in foo: menu manipulation not allowed while menus in use.
    Glut / Python

    Ce message d'erreur apparait lorsque mon menu est ouvert et que je clic en dehors de ma fenêtre ou sur la barre de contour. Cette erreur provoque l'arret de l'appli et donc la fermeture de ma fenêtre.

    J'ai découvert qu'il peut aussi se déclencher seulement en cliquant pour ouvrir le menu dans la zone de la fenetre où il est attaché (là où j'ai écrit "MENU") d'une façon assez aléatoire (après qq manipulation !?!?)

    Si qqun à déjà vu ces messages ou a une idee pour résoudre le problème ...

    C'est quoi foo ??
    ( Warning in foo: , Error in foo: )

    fearyourself, je n'ai pas essayer d'appliquer ton idée pque je pense que sa poserai qq problèmes si je ne gère aucun des appels souris/clavier générés par glut dans le cas où je ne suis plus dans la fenetre.
    En effet, l'appli permet de se déplacer dans la scène avec entre autre une rotation or si je sors de ma fenetre après avoir enclencher ma rotation celle-ci doit pouvoir continuer à marcher.
    De plus, cela ne résoudrerai pas la deuxieme facon dt est generé l'erreur.

    Merci pour vos conseils donnés et à venir.

  13. #13
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    A mon avis, le probème se situe dans la partie du code qui gère le menu:

    Es-tu sûr que tu ne modifies en aucune façon le menu?

    En gros, les menus glut sont des "Set and forget". Tu les mets en places et après tu ne fais plus rien avec, ils se gèrent tous seuls (sauf la fonction handler bien sûr)...

    Est-ce le cas?

    A la limite, montre le code qui gère le menu,
    Jc

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Par défaut
    Une fois le menu créé dans ma fonction d'affichage je ne fait que l'attacher ou le détacher selon la position du curseur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    def DisplayGLScene():
     
        # Efface l'écran
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
        glLoadIdentity()
        glPushMatrix()
     
        # Création du menu
        sousMenu = glutCreateMenu(ChoixSousMenu)
        glutAddMenuEntry("Afficher/Masquer étiquettes",10)
        glutAddMenuEntry("Afficher/Masquer ID",20)
        glutAddMenuEntry("Dimensions réduites\tT",1)
        glutAddMenuEntry("Dimensions normales\tT",2)
        glutAddMenuEntry("Dimensions grossies\tT",3)
     
        glutCreateMenu(ChoixMenuPrincipal)
        glutAddSubMenu("Options",sousMenu)
        glutAddMenuEntry("Capture d'écran",7)
        glutAddMenuEntry("Impression d'écran",8)
        glutAddMenuEntry("Quitter",10)
     
        Afficher('MENU',                          # Texte à afficher
                 [0,HAUTEUR+20-Hauteur(Menu)],    # Coordonnées
                 MENU_POLICE,                     # Police
                 NOIR)                            # Couleur
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    def ChoixMenuPrincipal(value):
     
        if value == 7:
            capture()
        elif value == 8:
            impression()
        elif value == 10:
            glutDestroyWindow(GLUT_FENETRE)
            sys.exit()
     
    def ChoixSousMenu(value):
     
        global ID
        global LABEL
        global MODE
     
        if value == 10:
            LABEL = abs(LABEL - 1)
        elif value == 20:
            ID = abs(ID - 1)
        else:
            MODE = value
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    def mouseMoveP(*args):
        global x_pos_last
        global y_pos_last
     
        if args[0] < X and args[1] > Y:
            glutAttachMenu(GLUT_LEFT_BUTTON)
        else:
            glutDetachMenu(GLUT_LEFT_BUTTON)
     
        #---- Mise à jour des coordonnées de la souris -----
        x_pos_last = args[0]
        y_pos_last = args[1]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    def main():
    ...
        glutDisplayFunc(DisplayGLScene)
        glutPassiveMotionFunc(mouseMoveP)
    ...

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Par défaut
    Pourquoi mon message se retrouve dans la partie Développement 2D, 3D et Jeux alors que je l'ai posté dans OpenGL

  16. #16
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par Corpio
    Pourquoi mon message se retrouve dans la partie Développement 2D, 3D et Jeux alors que je l'ai posté dans OpenGL
    Je t'ai envoyé un message pour te prévenir que j'avais déplacé ce fil puisqu'il ne traite pas d'OpenGL directement mais de Glut.

    Les gens de ce forum seront plus aptes à répondre à tes questions.

    Jc

  17. #17
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par Corpio
    Une fois le menu créé dans ma fonction d'affichage je ne fait que l'attacher ou le détacher selon la position du curseur.
    Arg! C'est bien ce que je craignais. Il ne faut pas ajouter tout le temps ton menu comme tu le fais. Tu le fais une fois au début du programme dans une fonction d'initialisation et ensuite plus jamais dans la fonction d'affichage...

    Jc

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Par défaut
    En fait c pas moi qui est commencé à coder cette appli moi je doit y ajouter des fonctionnalités et l'améliorer.
    Bref, c'est vrai que d'habitude, dans mes codes, je crée les menus dans le main et basta ms là j'avais pas fait le lien qu'il était dans le display.
    Je change tt ça et je vois si ça bug encore.

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Par défaut
    OK autant pour moi, maintenant il y a plus le bug.

    Merci de ton aide fearyourself, j'ai fait une belle erreur de débutant enfin c'est bien en faisant des erreurs qu'on apprend.

    Affaire classée (enfin j'espère)









    PS : Comment on fait pour ajouter [Résolu] en début du sujet ???

  20. #20
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par Corpio
    OK autant pour moi, maintenant il y a plus le bug.
    Tant mieux!

    Merci de ton aide fearyourself, j'ai fait une belle erreur de débutant enfin c'est bien en faisant des erreurs qu'on apprend.
    Je serais le premier à le dire!

    Affaire classée (enfin j'espère)
    Sinon tu peux refaire un post!

    PS : Comment on fait pour ajouter [Résolu] en début du sujet ???
    [/quote]

    Il y a un bouton en bas à gauche de la page!

    PS: Oublie pas de regarder tes mp de temps en temps

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. TreeView et menu contextuel...
    Par agh dans le forum Composants VCL
    Réponses: 6
    Dernier message: 06/04/2009, 12h23
  2. [système] Comment ajouter un item dans le context menu de Windows ?
    Par ddmicrolog dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 29/06/2005, 17h03
  3. Menu d'installation
    Par Le Yannos dans le forum Langage
    Réponses: 3
    Dernier message: 27/08/2002, 22h15
  4. Inserer Un Menu dans un autre en execution
    Par apt dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/08/2002, 11h22
  5. Menu en GL
    Par Kaïn dans le forum OpenGL
    Réponses: 2
    Dernier message: 06/05/2002, 11h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo