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

GTK+ avec C & C++ Discussion :

OpenGL avec Gtk3/Cairo, problemes de saccades


Sujet :

GTK+ avec C & C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 17
    Points : 6
    Points
    6
    Par défaut OpenGL avec Gtk3/Cairo, problemes de saccades
    Salut les développeurs,

    J'ai créé un programme de modélisation, animation, rendu 3d appelé Gloss3D. Au début, j'utilisais OpenMotif pour la partie interface graphique. Mais j'ai aussi écrit un front-end basé sur GTK+3 :

    Nom : GTK_GLOSS.png
Affichages : 865
Taille : 146,3 Ko

    Frontend Motif :

    Nom : MOTIF_GLOSS.png
Affichages : 819
Taille : 115,4 Ko

    Mais j'ai un problème avec le widget OpenGL. Sachant que gtkglarea n'existe pas pour GTK3, j'ai écrit mon propre widget en utilisant les fonctions x11 offertes par gdk. Le widget est dans SOURCE_ROOT/g3dui/gtk3/g3duiview.c. Quand on tourne autour d'un object low-poly, l'affichage est fluide, mais quand je crée un objet avec beaucoup de polygones, c'est non seulement saccadé (ça, c'est normal), mais en plus les saccades sont irrégulières (le framerate est irrégulier). Je n'ai pas ce probleme avec la version Motif/X11. Les saccades se produisent a intervalles réguliers.

    Vous pouvez télécharger le code source ici : http://velotrip.free.fr/gloss3d-beta-0.2.3.tar.gz[/url]

    compiler avec :

    ./configure --prefix=/usr --with-gtk3
    make
    ensuite executer ./gloss3d. Pas besoin de faire "make install", lancez le depuis le répertoire local.

    Ensuite copier le code source dans un autre répertoire pour la version Motif, puis faites :
    ./configure --prefix=/usr --with-motif
    make
    ./gloss3d

    Créez n'importe quelle primitive, genre une sphère, convertissez la en mesh en utilisant le bouton Nom : convert_primitive.png
Affichages : 341
Taille : 1,2 Ko et utilisez le panneau a droite pour subdiviser la sphère. Tournez autour de la sphère en utilisant le bouton de rotation Nom : orbit.png
Affichages : 791
Taille : 654 octets. Sur mon ordi plutôt vieux, l'affichage saccade vers la subdivision niveau 3 ou 4.

    Pour la version Motif, dans SOURCE_ROOT/g3dui/motif/g3duiview.c, ligne 289, pour forcer le re-dessin OpenGL, je fais juste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
                XClearArea ( XtDisplay ( ogl ), XtWindow  ( ogl ), 0, 0, 0, 0, True );
    et ça marche sans souci. Les saccades sont régulières lorsque les objets sont "lourds".

    Pour la version GTK3, le code qui pose problème est dans SOURCE_ROOT/g3dui/gtk3/g3duiview.c, ligne 747 a 750 dans l’évènement GDK_MOTION_NOTIFY :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                    gtk_view_redraw_area ( widget ); /* <---- redessiner le GL Drawing Area */
     
                    while (gtk_events_pending ()) gtk_main_iteration ( ); /* <---- attendre la fin du dessin ***/
    Si je n'utilise pas la boucle while, les saccades sont encore plus irrégulières. Est-ce que quelqu'un aurait une solution pour que le comportement soit le même que dans la version Motif/X11 ?


    Merci de votre aide.

    Gary.

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Bonjour.

    J'ai tenté une compilation mais... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    g3dimage.c:49:19: fatal error: Xm/Xm.h: No such file or directory
     #include <Xm/Xm.h>
                       ^
    compilation terminated.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Salut Gerald3d.

    Merci de m'avoir remonté le souci. J'ai corrigé les inclusions. Tu devrais pouvoir compiler ça :

    http://velotrip.free.fr/gloss3d-beta-0.2.32.tar.gz

    je précise que pour la version Motif, il y a encore beaucoup de warnings a la compilation car c'est en cours de dev. Pour la version Gtk+3 en revanche, c'est a peu près propre.


    A plus.

    Gary.

  4. #4
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Je progresse . Mais cette fois-ci c'est peut être de mon côté qu'il manque quelque chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    In file included from common/g3dui.c:30:0:
    ../include/g3dui.h:31:26: fatal error: GL/GLwMDrawA.h: No such file or directory
     #include <GL/GLwMDrawA.h>
    Peux-tu m'éclairer ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Aaaargh, je te corrige ça dans 10 minutes

    Gary.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Corrige. Dis moi s'il y a un souci.

    http://velotrip.free.fr/gloss3d-beta-0.2.33.tar.gz


    Gary.

  7. #7
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Là je pense que tu vas craquer :
    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
    In file included from /usr/include/libpng12/png.h:540:0,
                     from ../include/r3dnet.h:64,
                     from ../include/g3dui.h:38,
                     from common/g3dui.c:30:
    /usr/include/libpng12/pngconf.h:371:21: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
                __pngconf.h__ in libpng already includes setjmp.h;
                         ^
    /usr/include/libpng12/pngconf.h:372:12: error: unknown type name '__dont__'
                __dont__ include it again.;
                ^
    /usr/include/libpng12/pngconf.h:372:29: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'it'
                __dont__ include it again.;
                                 ^
    /usr/include/libpng12/pngconf.h:372:29: error: unknown type name 'it'
    common/g3dui.c: In function 'common_g3dui_dispatchGLMenuButton':
    common/g3dui.c:303:5: warning: implicit declaration of function 'addMenuListButton' [-Wimplicit-function-declaration]
         if ( tool_flags & OBJECTMODETOOL ) addMenuListButton ( gui, lobjmenu, mou );
         ^
    Makefile:1149: recipe for target 'common/g3dui.lo' failed

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Mmmh... je regarde. Je vais compiler ça sur une Debian amd64 wheezy pour voir.

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Hello gerald3d,

    Bon j'ai pu résoudre le problème de compilation sur une Ubuntu14 (j'avais auparavant obtenu la même erreur que toi). Ça devrait marcher aussi sur une Debian du coup :

    http://velotrip.free.fr/gloss3d-beta-0.2.34.tar.gz

    Il subsiste quelques warnings de formatage de chaines que je n'ai pas chez moi car je ne bosse par sur une distro linux debian/ubuntu et les options par défaut de gcc diffèrent je suppose.


    A plus,

    Gary

  10. #10
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Ca progresse . Mais le Graal n'est toujours pas atteint ! Il me manque peut être quelques bibliothèques pour y arriver.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    /usr/bin/ld: cannot find -lXm
    /usr/bin/ld: cannot find -lGLw
    collect2: error: ld returned 1 exit status

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Salut gerald3d.

    Merci de ta persévérance !

    Bon là, je mets ma main à couper que ca va compiler :

    http://velotrip.free.fr/gloss3d-beta-0.2.35.tar.gz



    A++

    Gary.

  12. #12
    Membre confirmé
    Profil pro
    Retraité
    Inscrit en
    Novembre 2009
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2009
    Messages : 329
    Points : 606
    Points
    606
    Par défaut
    Bonjour,

    J'ai essayé de compiler ton programme (dernière mouture, configure avec GTK3) sous Mint 17, et la compilation est allé jusqu'au bout avec un certain nombre de warnings (je peux t'envoyer la liste si cela t'es utile) après avoir installé freeglut3-dev/
    Je l'ai ensuite lancé, mais comme je suis complètement ignorant du fonctionnement de ce type de programme, j'ai du mal à l'utiliser.
    En utilisant le bouton de droite de la souris, j'ai bien créé un sphère.
    Ensuite, en cliquant sur le bouton indiqué, j'ai fait apparaître un menu avec des entrées "subdivisions" et j'ai rajouté 1 pour chaque ligne (ce qui n'a rien modifié dans l'aspect de la sphère visible dans le 1er quadran), puis cliqué sur le bouton pour la faire tourner, et en draguant avec le bouton de gauche de la souris, fait tourner les axes (rien d'autre de visible).
    Ensuite, en m'amusant avec les différents boutons, cela c'est terminé par :
    Selected: Sphere:1
    Selected: Sphere:2
    Selected: Sphere:2
    NBRTFAC = 1984, MEMSIZE = 317440 Bytes
    NBRTFAC = 1984, MEMSIZE = 317440 Bytes
    Erreur de segmentation (core dumped)
    au moment où j'ai cliqué sur un des boutons du bas...
    En fait, je n'avais même as eu conscience de créer une deuxième sphère.
    GraceGTK: a plotting tool at https://sourceforge.net/projects/gracegtk

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par pvincent Voir le message
    Bonjour,
    [...]
    au moment où j'ai cliqué sur un des boutons du bas...
    En fait, je n'avais même as eu conscience de créer une deuxième sphère.

    Salut Vincent,

    Merci pour ce retour. Pour les warnings, je vais m'en occuper. Pour le crash, est-ce que tu te souviens sur quel bouton tu as cliqué ?


    Merci !

    Gary.

  14. #14
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Ca y est ! Le Graal est atteint . Ca compile et ca se lance. Hormis les petits problèmes rencontrés par PVincent (que j'ai pas rencontrées de mon côté) il n'y a aucune saccade de mon côté.
    Pour être précis je dispose d'un AMD Athlon 5500+ et d'une carte graphique GeForce GT640.

    Par contre l'affichage à droite pour les subdivisions est disgracieux :

    Nom : capture d'écran1.png
Affichages : 714
Taille : 267,7 Ko

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Salut Gerald,

    Super, je garde ma main

    Pour l'affichage, c'est surement dû au thême que tu utilises et au fait que j'ai utilisé des GtkFixed, donc ça ne s'ajuste pas bien aux fonts. Va falloir que je revoie ça (c'est pas faute de ne pas avoir été prévénu par la documntation)

    Pour que ça rame, il faudrait que tu montes à un niveau de subdivision plus elevé, genre 5 ou 6 voire plus car ta machine semble un peu plus puissante que la mienne (j'ai un Celeron T3500, 4GB RAM, GeForce 310M).

    Sinon tu peux aussi telecharger les fichiers .g3d ici :

    http://sourceforge.net/projects/gloss3d/files/

    Le T-Rex animé et la femme. Si tu mets des niveaux de subdivision elevés, ça devrait ramer mais pas de façon régluière, contrairement à Motif.


    A+

    Gary.

  16. #16
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Après téléchargement du Trex j'ai été obligé de faire C-t C. Le Trex se charge correctement mais que je demande à subdiviser grosse fuite mémoire semble-t-il !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Import finished
    NBRTFAC = 10800, MEMSIZE = 1728000 Bytes
    ...Done!
    Selected: T-Rex:4
    NBRTFAC = 43200, MEMSIZE = 6912000 Bytes
    NBRTFAC = 172800, MEMSIZE = 27648000 Bytes
    NBRTFAC = 691200, MEMSIZE = 110592000 Bytes
    NBRTFAC = 2764800, MEMSIZE = 442368000 Bytes
    NBRTFAC = 11059200, MEMSIZE = 1769472000 Bytes
    NBRTFAC = 44236800, MEMSIZE = 7077888000 Bytes
    Passé une subdivision de 3 la RAM est pleine (3Go) et j'attaque gaiement mon swap .

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par gerald3d Voir le message
    Après téléchargement du Trex j'ai été obligé de faire C-t C. Le Trex se charge correctement mais que je demande à subdiviser grosse fuite mémoire semble-t-il !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Import finished
    NBRTFAC = 10800, MEMSIZE = 1728000 Bytes
    ...Done!
    Selected: T-Rex:4
    NBRTFAC = 43200, MEMSIZE = 6912000 Bytes
    NBRTFAC = 172800, MEMSIZE = 27648000 Bytes
    NBRTFAC = 691200, MEMSIZE = 110592000 Bytes
    NBRTFAC = 2764800, MEMSIZE = 442368000 Bytes
    NBRTFAC = 11059200, MEMSIZE = 1769472000 Bytes
    NBRTFAC = 44236800, MEMSIZE = 7077888000 Bytes
    Passé une subdivision de 3 la RAM est pleine (3Go) et j'attaque gaiement mon swap .
    Ah non ça c'est pas des fuites de mémoire, c'est normal . Les polygones sont mis dans un buffer pour pouvoir rendre tout d'un coup (avant on pouvait subdiviser à la volée, c'est à dire avec un usage minime de la RAM, mais au prix d'un ralentissement CPU non-négligeable). D'ailleurs si tu fais avancer la timeline, tu verras que le T-Rex bouge et prend une forme subdivisée de niveau 1, c'est parcque pour l'animation c'est l'algorithme à la volée qui est utilisé.

    Bon là tu es monté trop haut :

    NBRTFAC = 44 236 800 (44 millions de polygones ).

    MEMSIZE = 7 077 888 000 Bytes ( 7 giga de RAM, tu m'étonnes que ça swappe ).

    En gros, à chaque subdivision, tu multiplies par 4 la quantité de mémoire que le programme va utiliser. Dans la version Motif j'avais fait une fenetre de Warning lorsque la RAM requise était trop elevée, il faut que je mette ça dans la version GTK.


    Gary.

  18. #18
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    OK. Je n'ai rien dit alors .

    Je relance donc mon Trex. Voila une capture d'écran. Tu remarqueras qu'il fait une drôle de tête .

    Pendant que j'y suis j'ai essayé de déplacer un peu les vues des côtés et là écran noir pour ces mêmes vues !

    Nom : capture d'écran2.png
Affichages : 706
Taille : 53,3 Ko

    [EDIT] Ca serait bien d'avoir un bouton supplémentaire pour chaque fenêtre pour remettre la vue par défaut.

  19. #19
    Membre confirmé
    Profil pro
    Retraité
    Inscrit en
    Novembre 2009
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2009
    Messages : 329
    Points : 606
    Points
    606
    Par défaut
    J'ai essayé de charger le Trex,voilà ce que ça donne
    Nom : t-rex.png
Affichages : 685
Taille : 69,0 Ko
    et quand je clique en haut sur le 4ème bouton à partir de la gauche (celui en dessous de "objects"), ça plante et du coup, le fichier *.g3d devient vide.
    GraceGTK: a plotting tool at https://sourceforge.net/projects/gracegtk

  20. #20
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par gerald3d Voir le message
    [EDIT] Ca serait bien d'avoir un bouton supplémentaire pour chaque fenêtre pour remettre la vue par défaut.
    De ce que je vois, tu as trop zoomé. en fait pour se déplacer dans la scène il faut faire un clic-droit sur la croix à côte du bouton rotation : et tu bouge la souris en maintenant le bouton appuyé. En fait l'interface de gloss3d reprend celle de Cinema4D, mais si tu n'es pas habitué a Cinema4D effectivement tu peux être un peu perdu. Le bouton zoom quand a lui change la focale (sauf si la aussi tu fais un clic-droit).

    Pour remettre la vue par défaut, tu vas dans le menu "Option" de la vue et tu fais "reset camera" (ou qqchose comme ça).


    A plus.

    Gary.

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/09/2009, 20h10
  2. probleme Texturage en openGL avec SDL
    Par bahamutdragoon dans le forum SDL
    Réponses: 0
    Dernier message: 24/05/2009, 15h36
  3. GTK et OPENGL avec gtkglarea
    Par Vincent|Dev dans le forum OpenGL
    Réponses: 1
    Dernier message: 09/02/2005, 14h33
  4. erreurs opengl avec devcpp
    Par Vermin dans le forum OpenGL
    Réponses: 2
    Dernier message: 13/04/2004, 15h50
  5. comment utiliser de l'OpenGL avec du Java ?
    Par DjiZ dans le forum OpenGL
    Réponses: 3
    Dernier message: 14/01/2004, 16h21

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