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

PyQt Python Discussion :

Application dans le systray pour Windows et Linux.


Sujet :

PyQt Python

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2016
    Messages : 13
    Par défaut Application dans le systray pour Windows et Linux.
    Bonjour,

    Je suis en plein développement d'un petit agent qui tournerai dans le systray, pour Windows et Linux.
    J’étais tombé sur l’exemple de tyrtamos, dont je me suis inspiré.
    Tout fonctionne comme prévu, sur Windows 7, Windows 10. Sur Linux, toutes les fonctionnalités sont aussi présentes et j'ai juste un petit souci d'affichage de l'icone de l'application sur un poste Debian 8.4 64bits.

    Je suis en Python 3.4 64bits + PyQt5.5.1_64
    Avant de poster sur le forum, j'ai fait des recherches, mais n'ai trouvé que peu d'informations pour Linux.
    J'ai essayé avec différentes icônes (png, svg, xpm) en différentes tailles, mais rien n'y fait...
    Je sais que l'icône est bien trouvée, car pour en être sûr je la met aussi sur une entrée du menu et là elle s'affiche bien.

    Voici le code de ma classe "SystemTrayIcon":
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    from PyQt5 import (QtWidgets, QtGui)
    import Model
    
    
    class SystemTrayIcon(QtWidgets.QSystemTrayIcon):
        """ Permet de mettre l'application dans la barre des taches """
        _model = Model.Model()
    
        def __init__(self, app, qicone, tooltip="", parent=None):
            super(SystemTrayIcon, self).__init__(qicone, app)
    
            self.app = app
            self.parent = parent
    
            # ajoute une bulle d'information quand la souris est sur l'icône tray
            if tooltip != "":
                self.setToolTip(self._model.app_tooltip)
    
            # initialise le menu
            self.initmenu()
    
        #
        def initmenu(self):
    
            # crée le menu
            menu = QtWidgets.QMenu(self.parent)
    
            ouvrirPopupIcon = QtGui.QIcon(self._model.app_icone)   # CELLE-CI S'AFFICHE !!
            ouvrirPopupAction = QtWidgets.QAction(ouvrirPopupIcon, '&Ouvrir Alerte', self)
            ouvrirPopupAction.triggered.connect(self.alerte)
            menu.addAction(ouvrirPopupAction)
    
            menu.addSeparator()
    
            # ferme la fenêtre et quitte le programme:
            # l'icône de l'item "Quitter" du menu sera une simple croix rouge
            quitterIcon = QtGui.QIcon.fromTheme("application-exit", QtGui.QIcon(self._model.quitter_icone))
            quitterAction = QtWidgets.QAction(quitterIcon, '&Quitter', self)
            quitterAction.triggered.connect(self.quitter)
            menu.addAction(quitterAction)
    
            self.setContextMenu(menu)
    
        def alerte(self):
            """ Ouvre une fenetre de type Alerte"""
            pass
    
    
        def quitter(self):
            """permet de quitter: ferme le programme ainsi que le systemtray"""
            reponse = QtWidgets.QMessageBox.question(None,
                                                     "Confirmez!",
                                                     "Voulez-vous vraiment quitter?",
                                                     QtWidgets.QMessageBox.Yes,
                                                     QtWidgets.QMessageBox.No)
            if reponse == QtWidgets.QMessageBox.Yes:
                # ferme la fenêtre si elle est encore ouverte
                try:
                    self.fen.close()
                except Exception:
                    pass
                # ferme l'application et arrête l'exécution
                self.app.quit()
    ... appelée de puis le programme principal comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ...
        # Landement de l'application dans la barre des taches
        trayIcon = SystemTrayIcon(app, QtGui.QIcon(model.app_icone), model.app_tooltip)   # ALORS QUE CELLE-LA NE S'AFFICHE PAS, UNIQUEMENT SUR LINUX !!
        trayIcon.show()
    ...
    Voila, si quelqu'un à une idée, je suis preneur, d'autant plus que si ça ne fonctionne pas mieux je vais devoir laisser tomber PyQt5 au profit de PyGObject, que je trouve un peu moins sexy.

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Citation Envoyé par Pingoo0 Voir le message
    J’étais tombé sur l’exemple de tyrtamos, dont je me suis inspiré.
    Très bonne source!

    Citation Envoyé par Pingoo0 Voir le message
    Sur Linux, toutes les fonctionnalités sont aussi présentes et j'ai juste un petit souci d'affichage de l'icone de l'application sur un poste Debian 8.4 64bits.
    A quel endroit l’icône n'apparait-elle pas alors qu'elle le devrait?

    Je viens d'essayer sur le dernier linux mint 18 (enfant d'ubuntu donc de debian) avec Python v3.5.1 et PyQt5 v5.5.1 le tout en 32bits . Avec un copier-coller des codes de mon site, il y a bien une icône dans la zone de notification (icone.png), et un clic sur cette icône fait bien apparaître la fenêtre voulue. Par contre, il n'y a pas d'icône en haut de cette fenêtre comme sous Windows, mais aucune application n'en a sur ce Linux (bureau cinnamon).

    Précise!

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2016
    Messages : 13
    Par défaut
    Merci de cette réponse rapide, et au passage, félicitations pour le livre de recettes Python, j'y ai vu des articles très intéressants.

    Citation Envoyé par tyrtamos Voir le message
    A quel endroit l’icône n'apparait-elle pas alors qu'elle le devrait?
    C'est uniquement l’icône du systray qui ne s'affiche pas ?!?
    Et sur 2 machines très différentes, mon portable de bureau et une installation toute propre sur mon ordi perso, c'est le même souci.
    Quand je fais apparaître la zone de notification du bas de l'écran, je vois ceci dans le coin en bas à droite: Nom : Capture d'écran de 2016-07-13 21:16:27.png
Affichages : 661
Taille : 21,9 Ko

    Et pourtant, si je promène ma souris dans le coin, il y a bien une application qui est cachée... Nom : Capture d'écran de 2016-07-13 21:16:45.png
Affichages : 612
Taille : 25,4 Ko

    Citation Envoyé par tyrtamos Voir le message
    Je viens d'essayer sur le dernier linux mint 18 (enfant d'ubuntu donc de debian) avec Python v3.5.1 et PyQt5 v5.5.1 le tout en 32bits . Avec un copier-coller des codes de mon site, il y a bien une icône dans la zone de notification (icone.png), et un clic sur cette icône fait bien apparaître la fenêtre voulue. Par contre, il n'y a pas d'icône en haut de cette fenêtre comme sous Windows, mais aucune application n'en a sur ce Linux (bureau cinnamon).
    Il me semble bien que c’était mon premier test, mais pour être sûr, je viens de le refaire, et j'ai le même résultat, une application invisible si on ne passe pas le pointeur dessus.

  4. #4
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Une idée: regarde la dimension de l'icône.

    Extrait de la doc de Qt5:

    On Windows, the system tray icon size is 16x16; on X11, the preferred size is 22x22. The icon will be scaled to the appropriate size as necessary.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2016
    Messages : 13
    Par défaut
    Oui, j'avais déjà vu ce passage de la doc, et même si il est écrit que le redimensionnement est pris en charge, j'ai essayé avec toutes les tailles de 16 à 512px...
    Et devinez quoi ? Ça n'a rien changé.

  6. #6
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Si ça marche chez moi et pas chez toi cela provient probablement d'une différence entre les bureaux graphiques utilisés.

    Autre idée: ajouter .setVisible(True). En principe, .show() devrait suffire, mais ça ne coûte pas grand chose d'essayer. Ce qui donnerait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        # lancement du tray
        trayIcon = SystemTrayIcon(qicone, bulle) # bulle est une variable globale
        trayIcon.setVisible(True)
        trayIcon.show()

  7. #7
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2016
    Messages : 13
    Par défaut
    J'ai essayé, mais ça n'a rien changé à mon souci.

    Pour aller plus loin, j'ai fais le test sur les bureaux Cinnamon, KDE, Mate...
    Alors effectivement, ça fonctionne correctement sur Cinnamon et KDE, mais il y a le même symptôme sur Mate et Gnome.

    Donc, il semble que ce soit plutôt un problème de l'environnement de bureau et non de Python/PyQt.
    Mais ça me gêne un peu dans la mesure ou Gnome est le bureau par défaut, utilisé dans mon entreprise.

    Donc soit je fait changer le bureau de tous les postes Linux, soit je développe en GTK+

    Je vais encore chercher un peu, mais il ne semble pas y avoir d'autre issue.
    En attendant, merci pour l'aide

  8. #8
    Membre éclairé
    Homme Profil pro
    Amateur
    Inscrit en
    Juin 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Amateur
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2015
    Messages : 52
    Par défaut
    Il semblerait que ce soit un bug rapporté ici: https://bugreports.qt.io/browse/QTBUG-32811

    Pas sûr que ça puisse aider.

  9. #9
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 304
    Par défaut
    Salut,

    Ton code fonctionne très bien avec Mate, les icônes apparaissent toutes.

    Je l'ai modifié parce que je n'ai pas ton modèle mais ça ne change rien en principe.
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
     
    import sys
    from PyQt5 import (QtWidgets, QtGui)
    #import Model
     
     
    class SystemTrayIcon(QtWidgets.QSystemTrayIcon):
        """ Permet de mettre l'application dans la barre des taches """
        #_model = Model.Model()
     
        def __init__(self, app, qicon, tooltip="", parent=None):
            super(SystemTrayIcon, self).__init__(qicon, app)
     
            self.app = app
            self.parent = parent
            self.ttip = tooltip
            self.qicon = qicon
            if tooltip != "":
                self.setToolTip(tooltip)
            self.initmenu()
     
        def initmenu(self):
            menu = QtWidgets.QMenu(self.parent)
            ouvrirPopupAction = QtWidgets.QAction(self.qicon, '&Ouvrir Alerte', self)
            ouvrirPopupAction.triggered.connect(self.alerte)
            menu.addAction(ouvrirPopupAction)
            menu.addSeparator()
            quitterAction = QtWidgets.QAction(self.qicon, '&Quitter', self)
            quitterAction.triggered.connect(self.quitter)
            menu.addAction(quitterAction)
            self.setContextMenu(menu)
     
        def alerte(self):
            """ Ouvre une fenetre de type Alerte"""
            pass
     
     
        def quitter(self):
            """permet de quitter: ferme le programme ainsi que le systemtray"""
            reponse = QtWidgets.QMessageBox.question(None,
                                                     "Confirmez!",
                                                     "Voulez-vous vraiment quitter?",
                                                     QtWidgets.QMessageBox.Yes,
                                                     QtWidgets.QMessageBox.No)
            if reponse == QtWidgets.QMessageBox.Yes:
                try:
                    self.fen.close()
                except Exception:
                    pass
                self.app.quit()
     
    if __name__ == '__main__':
        app = QtWidgets.QApplication([])
        ic = QtGui.QIcon("/home/vincent/Bureau/emblem-web.png")
        trayIcon = SystemTrayIcon(app, ic, 'Application web')
        trayIcon.setVisible(True)
        trayIcon.show()
        sys.exit(app.exec_())
    J'allume une autre machine et je te dis quoi avec Gnome 3.

  10. #10
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 304
    Par défaut
    Bon ben, sous Gnome 3 (et openSUZE 42) c'est une autre affaire, le systray n'existe plus par défaut.

    Les divers trucs et astuces trouvés sur la toile pour le faire réapparaître n'y font rien.

    Et pourtant si je fais print(QSystemTrayIcon.isSystemTrayAvailable()) il me retourne True

    Après avoir lu ceci, j'abandonne:
    http://www.linuxquestions.org/questi...ns-4175535141/

  11. #11
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Sincèrement, le fait qu'il "déteste" les tray icon (je parle de la discussion du lien), on s'en fiche!

    On trouve de tout sur la toile. Je me rappelle avoir "osé" poser une question sur le graphique sur un forum debian. On m'a gentiment demandé d'aller voir ailleurs. En gros, pour ces fans, les gens sérieux n'utilisent que la console! Si j'avais continué avec eux, j'aurais abandonné Linux tout simplement. Pour moi, la console, c'est l'Unix des années 70 et j'ai plutôt envie d'avancer.

    Bref, si on veut suivre tous les avis du net: on éteint tout!

  12. #12
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2016
    Messages : 13
    Par défaut
    Meri à tous pour ces réponses.
    Citation Envoyé par Dan737 Voir le message
    Il semblerait que ce soit un bug rapporté ici: https://bugreports.qt.io/browse/QTBUG-32811

    Pas sûr que ça puisse aider.
    Mais bien sûr que ca aide. Pas à résoudre mon problème, mais au moins à comprendre se qu'il se passe.
    Et d’après ce rapport de bug, seul les versions de Qt antérieures à 5.4.2 et 5.5.0 (seulement en environnement 64 bits ???) seraient concernées.
    Et bingo ! Sur Debian 8.4 64 bits on est bien en Qt5.3.0.

    Citation Envoyé par VinsS Voir le message
    Ton code fonctionne très bien avec Mate, les icônes apparaissent toutes.
    Si on reprend ce que je résume ci-dessus, et pour peu que tu travailles sur un Linux plus à jour que ma Debian, ça semble logique.


    Citation Envoyé par VinsS Voir le message
    J'allume une autre machine et je te dis quoi avec Gnome 3.
    Effectivement c'est intéressant de savoir, car dans mon cas, il y a des bureaux avec lesquels ça fonctionne et d'autres non.
    Il y a donc aussi l'environnement de bureau qui est en cause, car sur tous les bureaux le code fonctionne avec le même Python/PyQt5.

    Citation Envoyé par VinsS Voir le message
    Les divers trucs et astuces trouvés sur la toile pour le faire réapparaître n'y font rien.
    Tout semble envoyé à la barre de messages, cachée en bas de l'écran...

    Citation Envoyé par VinsS Voir le message
    Pourtant en suivant le lien on peut lire ceci :
    GNOME 3.14 and older just decided to hide them to make the GNOME design much better, which it did make them much better at the cost of functionality.

    GNOME 3.16 on the other hand has actually improved the functionality while at the same time still keeping the nice design even with ugly tray icons. = Screenshot of the new GNOME 3.16 Icon Tray Pane
    Tout n'est donc pas perdu pour ceux qui développent des applications qui n'ont pas besoin de camper sur un bureau, mais utilisent seulement une p'tite icône...

  13. #13
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 304
    Par défaut
    Salut Tyrtamos,

    En fait il s'agit d'un des liens visités dans ma recherche pour retrouver le systray dans Gnome 3.

    Mais hélas, il est significatif de l'orientation choisie par les devs de Gnome.

    Comme développeur Linux je tâche de garder diverses saveurs de cet os avec divers environnements de bureau pour pouvoir tester ce que je propose mais je ne vais pas au-delà de l'offre.
    Dans le sens "Si Gnome estime que le systemTray est distrayant et inutile" et bien il n'y aura pas de notification pour Gnome.

    C'est un principe communément accepté dans l'univers Linux.

  14. #14
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 304
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Les divers trucs et astuces trouvés sur la toile pour le faire réapparaître n'y font rien.
    Tout semble envoyé à la barre de messages, cachée en bas de l'écran...
    Rien de cela sur ma version, pas de barre de message et en regardant avec AST je peux pas trouver directement cette version de Gnome mais je trouve un gconf-3.2 et un gnome-keyring-3.16

    Si tu connais un moyen d'avoir sa propre version de Gnome ...



    Edit: En fait toutes la plupart des libs de gnome sont en version 3.16

  15. #15
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour VinsS,

    Citation Envoyé par VinsS Voir le message
    Dans le sens "Si Gnome estime que le systemTray est distrayant et inutile" et bien il n'y aura pas de notification pour Gnome.
    J'en suis conscient, et c'est pour ce genre d'évolution que j'ai déjà changé plusieurs fois de bureau graphique depuis mes débuts sur Linux: KDE => gnome => unity => mate => cinnamon. Pour moi, un bureau graphique doit être avant tout pratique et permettre d'être efficace. Il peut être beau en plus, mais ce n'est pas le 1er objectif.

    Et tel que j'utilise couramment la zone de notification, je trouve ça vraiment très pratique. J'ai par exemple une calculatrice scientifique (PyQt5+cx_freeze) qui vient à l'écran avec un clic sur l'icône et qui disparait avec un clic sur la croix de la fenêtre. Je l'utilise au moins une fois par jour et je suis plus rapide avec elle que si j'avais une calculatrice sur la table. Celui qui dirait que c'est seulement distrayant et inutile aurait vraiment un problème...

Discussions similaires

  1. Insertion d'une Application dans le Systray
    Par mkiba dans le forum Langage
    Réponses: 1
    Dernier message: 07/11/2007, 14h05
  2. Compiler pour Windows sous Linux
    Par YuGiOhJCJ dans le forum Choisir un environnement de développement
    Réponses: 11
    Dernier message: 05/09/2007, 19h40
  3. Quel langage d'avenir simple choisir pour du calcul, pour Windows et Linux ?
    Par c-paspire dans le forum Langages de programmation
    Réponses: 26
    Dernier message: 09/03/2007, 11h46
  4. [perl packager] package pour windows depuis linux
    Par doudweb dans le forum Modules
    Réponses: 1
    Dernier message: 10/09/2006, 22h54
  5. Quel langage pour un logiciel avec BD pour Windows et Linux
    Par Guilhem_mdg dans le forum Windows
    Réponses: 3
    Dernier message: 19/03/2006, 16h47

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