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

Android Discussion :

Envoi automatique de courriels


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de loupapet
    Homme Profil pro
    Retraité d'Eurocopter
    Inscrit en
    Janvier 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité d'Eurocopter
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 69
    Par défaut Envoi automatique de courriels
    Bonjour à tous,

    Après plus d'une semaine de recherche sur votre site comme sur d'autres, je me résous à poster un sujet sur votre forum. Si toutefois, le sujet a déjà été traité, je vous prie de bien vouloir m'excuser de ne pas l'avoir trouvé et me signaler, si c'est possible, où je peux le trouver. D'avance merci.

    Pour récupérer un parcours de compétition avec la puce GPS d'un smartphone, j'ai écrit une petite application sous Android avec son ADT pour me familiariser à la programmation Java sous ce système. Elle n'est pas très originale car j'en ai rencontrées pas mal sur la toile.

    Description sommaire : lors d'un parcours, en voiture, à pieds, en planeur, etc.., l'application capture les points de géolocalisation et les envoie par tronçon de trajectoire dans des courriels successifs vers un concentrateur qui les réceptionne et reconstitue le cheminement, ceci pour avoir une trace presqu'en temps réel. Pourquoi des courriels ? tout simplement pour que l'application du smartphone soit complètement déconnectée de l'application de concentrateur, un simple PC, toutes deux fonctionnant de manière asynchrone entre elles.

    Avec l'AVD d'Android, l'application fonctionne comme je le souhaitais à une seule chose près : lors des envois des courriels, la technique de programmation que j'ai adoptée à la suite de ce que j'ai lu et vu dans les tutos provoque l'affichage de panneaux sur l'écran au travers desquels ils doivent être envoyés manuellement alors que je voudrais la procédure complètement transparente et automatique. J'aimerais bien pouvoir tester mon application avec un smartphone Android que je compte acquérir à la fin de mon engagement en décembre.

    Qu'y a-t-il donc d’erroné dans le code que je vous présente ci-dessous :
    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
     
    /***********************************************************************************************
     
                      Méthode locale : envoi du tronçon de trajectoire par courriel
              
    ***********************************************************************************************/
    public void envoiTroncon()
    {
      Intent emailIntent = new Intent ( android.content.Intent.ACTION_SEND) ;
     
      String[] recipients = new String[]{courriel,""} ;
     
      emailIntent.putExtra( android.content.Intent.EXTRA_EMAIL
                          , recipients) ;
      emailIntent.putExtra( android.content.Intent.EXTRA_SUBJECT
                          , "Poursuite GPS : " + String.valueOf(nbCourriels)) ;
      emailIntent.putExtra( android.content.Intent.EXTRA_TEXT
                          , corpsMess) ;
      emailIntent.setType("text/plain") ;
      startActivity(Intent.createChooser( emailIntent
                                        , "Envoi du courriel " + String.valueOf(nbCourriels)
                                        )
                   ) ;
    }
    où :
    • courriel est l'adresse électronique du concentrateur spécifié au début du lancement de l'application
    • nbCourriels est le nombre de courriels envoyés
    • corpsMess contient les points de géolocalisation du tronçon courant de trajectoire.

    Les envois s'effectuent avec les deux type "text/plain" et "message/rfc822".

    N'y aurait-il pas une autre manière d'écrire l'instruction "startActivity" qui provoque cet état de fait ?

    En espérant votre éclairage, merci d'avance.

    Bien cordialement.

  2. #2
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Par définition, ton code demande à démarrer une activity (un écran) donc c'est normal. Pour gérer l'envoi d'un email en arrière-plan il faut le coder dans l'idée d'un appel de service. Typiquement, accéder à un serveur de courrier sortant (SMTP) pour déclencher l'envoi. C'est ce que font les clients mails justement.
    Je pense que l'API JavaMail peut t'aider à atteindre cet objectif plus facilement.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre confirmé Avatar de loupapet
    Homme Profil pro
    Retraité d'Eurocopter
    Inscrit en
    Janvier 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité d'Eurocopter
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 69
    Par défaut
    Bonsoir Hephaistos007,

    Tout d'abord, pardon de ne pas vous avoir répondu plus tôt pour vous remercier. Vous êtes le seul à l'avoir fait jusqu'ici. Mon PC a "fait la cavale" peu de temps après mon intervention. Je m'en suis donc trouvé privé jusqu'à l'achat d'un nouveau qu'il m'a fallu bien entendu reconfigurer pour retrouver ma petite application sous Android/Java ainsi que mes autres rubriques.

    Lors de mes recherches sur la Toile, comme vous me l'aviez proposé, j'avais déjà téléchargé les API's JavaMail que j'avais insérés dans mon projet sous Eclipse. Je n'avais jamais réussi à le faire fonctionner. C'est pourquoi je m'étais rabattu sur l'exemple que j'avais joint. Ce dernier fonctionnait correctement à l'affichage des panneaux près. Avec les API's JavaMail, je m'étais appuyé sur l'exemple de la page "https://javamail.java.net/nonav/docs/api/" avec le source ci-dessous :
    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
     
        Properties props = new Properties();
        props.put("mail.smtp.host", "my-mail-server");
        Session session = Session.getInstance(props, null);
     
        try {
            MimeMessage msg = new MimeMessage(session);
            msg.setFrom("me@example.com");
            msg.setRecipients(Message.RecipientType.TO,
                              "you@example.com");
            msg.setSubject("JavaMail hello world example");
            msg.setSentDate(new Date());
            msg.setText("Hello, world!\n");
            Transport.send(msg, "me@example.com", "my-password");
        } catch (MessagingException mex) {
            System.out.println("send failed, exception: " + mex);
        }
    J'avais bien recherché, comme je le fais aujourd'hui, dans la description des différentes méthodes. J'ai quelques difficultés à donner les bonnes informations sur certaines, pas très aidé par mon manque d'expérience en Java :
    • "mail.smtp.host" : je suppose que c'est imposé,
    • "my-mail-server" : l'adresse courriel destinatrice (?)
    • "me@example.com" : (FROM), l'adresse courriel du compte ouvert sur l'émulateur ADV,
    • "you@example.com" : (TO), l'adresse courriel destinatrice (?), la même que ci-dessus (?).

    Pour (SUBJECT) et (TEXT) pas de problème. J'aurais bien aimé trouver la méthode pour ajouter un document joint plus facile à traiter après extraction.
    Je suppose que "me@example.com" et "my-password" ne sont pas utiles comme j'ai pu le voir dans un autre exemple similaire.

    J'imagine qu'il y a peut-être autre chose à initialiser ou à configurer dans l'émulateur du téléphone !...

    Je me permets d'exprimer, en aparté, que je suis tout de même assez sidéré de voir la quantité de messages postés sur ce forum comme sur d'autres dans lesquels rejaillit le désarroi de beaucoup d'intervenants tout comme la quantité de tutoriels des mêmes sujets distillant des informations assez parcellaires conduisant la plupart du temps à des exemples qu'on a du mal à faire marcher. Je suis probablement d'une vielle école puisque j'ai 73 ans mais j'ai toujours pensé qu'un bon système est réalisé par des développeurs, en nombre restreint, n'hésitant pas à déployer une très grande énergie pour simplifier, faciliter et réduire la programmation de milliers d'utilisateurs pour qui le système n'est pas du tout une préoccupation pour leur productivité. Cela ne semble pas être le cas aujourd'hui !...

    Pour illustrer mon propos, j'ai été durant mon activité l'instigateur et le développeur d'une librairie graphique pour les ingénieurs du Bureau d’Études et de la Documentation Technique de ma société dans laquelle une quinzaine de primitives de base suffisaient pour remplir 80% de leurs besoins dans 80% des cas.

    J'espère que vous pourrez peut-être me mettre sur une voie pour mon petit problème ? d'avance merci.

    Bien cordialement.

    _______________________
    Pourquoi fait simple quand on peut faire encore plus simple !...
    Le plus simple est de ne pas faire.... seulement si c'est possible !...

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par loupapet Voir le message
    Bonsoir Hephaistos007,
    Et les autres non ?

    Avec les API's JavaMail, je m'étais appuyé sur l'exemple de la page "https://javamail.java.net/nonav/docs/api/" avec le source ci-dessous :
    ...
    J'avais bien recherché, comme je le fais aujourd'hui, dans la description des différentes méthodes. J'ai quelques difficultés à donner les bonnes informations sur certaines, pas très aidé par mon manque d'expérience en Java
    J'ai peur que cela n'ai hélas aucun rapport avec Java... mais avec le protocole d'envoi des mails (assez vieux hélas), à savoir SMTP.
    Pour envoyer un mail (j'entends par mail tout un contenu avec ses "headers" tels que le sujet, le from, le to, etc...) il faut avant tout un serveur SMTP. C'est ce serveur qui doit être défini dans "mail.smtp.host". Mais attention ! Il est (en général) interdit d'envoyer un mail à "toto.net" en passant par un serveur "titi.com". A moins de faire une (couteuse) requête DNS et récupérer l'adresse des serveurs de "toto.net", il faut passer par un serveur dit "relais". Hors aucun serveur n'accepte de faire de relais (pour éviter l'utilisation par des "spammers") *sauf* pour ses propres utilisateurs. Il faut donc en général un nom d'utilisateur et un mot de passe pour se connecter à ce serveur (ce sont les paramètres de la couche transport).
    Certains providers (par exemple free), ne demandent pas de mot de passe mais obligent l'utilisateur à être sur une adresse IP appartenant à "free". Ce qui est bien entendu impossible en 3G sur smartphone (troll inside).

    Une fois la connexion au serveur établie (voir ci-dessus), il faut aussi indiquer au serveur le MAIL-FROM (envoyeur) et le RCPT-TO (destinataire) du mail. Il se peut que le FROM doivent être identique au login utilisé pour la connexion.
    Pour le "TO" c'est bien entendue l'adresse de destination.


    Ensuite il faut plusieurs conditions:
    1. Que l'application déclare bien utiliser "internet".
    2. Que tout le code d'envoi/connexion soit bien utilisé dans une AsyncTask (de toute manière c'est nécessaire pour des question de relation avec l'utilisateur ).

    J'imagine qu'il y a peut-être autre chose à initialiser ou à configurer dans l'émulateur du téléphone !...
    Non du tout.

    Je me permets d'exprimer, en aparté, que je suis tout de même assez sidéré de voir la quantité de messages postés sur ce forum comme sur d'autres dans lesquels rejaillit le désarroi de beaucoup d'intervenants tout comme la quantité de tutoriels des mêmes sujets distillant des informations assez parcellaires conduisant la plupart du temps à des exemples qu'on a du mal à faire marcher.
    Pour le coup, developpez.net est probablement une des rares source "fiable" pour les développeurs francophones. Et si un tutoriel ne "marche pas", il faut immédiatement le rapporter dans la discussion attachée à ce tutoriel. L'aureur pourra alors modifier celui-ci (souvent une question de "nouvelle APIs", comme google maps v2), ou le cas échéant expliquer plus en détails.

    Je suis probablement d'une vielle école puisque j'ai 73 ans mais j'ai toujours pensé qu'un bon système est réalisé par des développeurs,
    C'est toujours le cas.
    en nombre restreint
    Ce n'est plus possible (et fort heureusement)... quand j'ai commencé l'informatique sur ZX81 on avait 1Ko de RAM... 1024 octets ! Même un développeur ne pouvait tout remplir, et le code d'un programme tenait sur une page manuscrite.
    Aujourd'hui un programme fait souvent le café avec un petit massage pendant que l'utilisateur regarde une vidéo Ce qui est nettement plus gratifiant pour lui, mais représente aussi, au bas mot, 10000 lignes de code... (et je parle d'un petit programme). Le code d'un SAAS moyen peut très vite augmenter en taille.

    n'hésitant pas à déployer une très grande énergie pour simplifier, faciliter et réduire la programmation de milliers d'utilisateurs pour qui le système n'est pas du tout une préoccupation pour leur productivité. Cela ne semble pas être le cas aujourd'hui !...
    C'est pourtant toujours le cas... Sauf qu'on est passé du mode:
    "Programmeur Debutant" fait un service pour "Ingénieurs" (années 80)
    à
    "Programmeurs Avancés" font un service pour "Passionnés" (années 90)
    à
    "Programmeurs Chevronnés font un service pour "Utilisateurs" (années 2000)
    Et quand je dis utilisateur je parle bien des gens derrière l'écran.

    Le plus simple est de ne pas faire.... seulement si c'est possible !...
    On ne leur avait jamais dit que c'était impossible... Alors ils l'ont fait!

  5. #5
    Membre confirmé Avatar de loupapet
    Homme Profil pro
    Retraité d'Eurocopter
    Inscrit en
    Janvier 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité d'Eurocopter
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 69
    Par défaut
    Bonjour Nicroman,

    Je vous remercie pour votre réponse intéressante.

    Ben, je veux bien, mais Hephaistos007 a été le seul à m'avoir répondu..... avec vous maintenant !...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mais avec le protocole d'envoi des mails (assez vieux hélas), à savoir SMTP.
    Oui, le protocole SMTP est vieux puisqu'il faisait déjà partie intégrante des applications-réseau quand je travaillais de 1985 à 1988 dans l'équipe-système de ma boîte à installer le réseau-usine. Il n'y avait pas internet et les e-mail à l'époque même si le concept existait déjà depuis le début des années 70 et utilisé aux US.

    Mais y a-t-il quelque chose de plus moderne aujourd'hui ?

    Je comprends votre excitation à me décrire ce qu'il faut faire pour envoyer automatiquement un courriel, excitation qui était la mienne à l'époque pour comprendre ce qu'il se cachait derrière certains outils. Aujourd'hui à la retraite, je ne suis plus un homme-système et suis plus intéressé par un outil générique qui me causerait le moins de souci possible pour atteindre mon objectif.

    Vous me parlez d'une AsyncTask. J'ai regardé ce qu'elle faisait. Je n'ai pas trouvé son usage dans les exemples que j'ai vus à moins qu'elle fasse partie des "prerequisites" ? Pourtant, vous me dites qu'il n'y a rien à configurer dans le téléphone !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .... Et si un tutoriel ne "marche pas", il faut immédiatement le rapporter dans la discussion attachée à ce tutoriel.
    Je ne me serais pas permis d’affirmer qu'un tutoriel ne marche pas. J'ai tout simplement dit que j'avais du mal à les faire marcher ce qui n'est pas du tout pareil. C'est moi qui me mets personnellement en cause.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .... Ce n'est plus possible (et fort heureusement)...
    Les développeurs ne sont nombreux que dans les boîtes de développement de système puisque la finalité est justement de produire du système. Mais ils restent très peu nombreux par rapport à tous les utilisateurs de la planète qui utilisent leurs produits.
    Dans une usine de production, c'est la même chose.

    De mon point de vue, je dirais plutôt "malheureusement" car j'ai bien l'impression que les développeurs-système de ces boîtes à logiciels se cantonnent dans leurs tours d'ivoire sans se préoccuper de la productivité des utilisateurs.
    Regardez le nombre de fois qu'une même fonction générique est écrite par des milliers d'utilisateurs alors qu'elle aurait pu être mise à disposition en standard. Cela n'empêcherait nullement les hommes-système lambda de regarder ce qu'il se passe derrière son appel. J'aurais bien vu une fonction... pardon une méthode du type :

    sendMail (context, mail_FROM, mail_TO, sujet, corps, liste_doc_joints) ; (un peu à l'image de PHP)

    J'aurais déjà résolu mon problème qui, pour moi, est plus intéressant que tout ce "charabia" qui faut écrire. Mais, peut-être, y a-t-il des préoccupations commerciales derrière cet état de fait ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    On ne leur avait jamais dit que c'était impossible... Alors ils l'ont fait!
    Votre remarque est très significative de la société actuelle où l'on se préoccupe guère de ce qui est utile ou non. Je prendrais un exemple tout simple qui touche absolument tout le monde : l'automobile. Le faite de proposer une voiture suréquipée est une véritable arnaque puisque, comme vous dites, "On ne leur avait jamais dit que c'était impossible" ... (sous entendu de proposer). Alors il propose en standard un tas de choses inutiles que vous ne demandez pas, même que vous ne voulez pas, mais que vous payez bien entendu puis que le prix de base de la voiture a été insidieusement majoré pour cela.... Même chose pour les garanties x années pour lesquelles on vous fait payer le max au départ. Certes, au final, vous n'êtes pas obligé d'acheter n'est-ce pas ?...

    Tout cela, c'est de la philosophie. Je fais tout de même avec et je finirai bien par faire marcher mon appli !...

    Bien cordialement.

  6. #6
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par loupapet Voir le message
    sendMail (context, mail_FROM, mail_TO, sujet, corps, liste_doc_joints) ; (un peu à l'image de PHP)
    Sauf que la fonction en question a besoin de plus de paramètres: serveur devant traiter le mail, identification sur serveur, éventuellement proxy pour accéder à ce serveur.... si ESMTP doit être utilisé ou non... quel charset utiliser (bien que SMTP soit ASCII par défaut, de nombreux serveurs acceptent d'autre charset), etc...

    Là on est en programmation orientée objet... et une fonction qui prend 20 paramètres a de fortes chances d'être mal écrite... La fonction prend donc seulement un unique paramètre: le message.

    Fort heureusement, il y a de grandes chances pour que les autres paramètres ne changent que rarement. C'est ainsi qu'on peut les définir une fois pour toutes dans les propriétés de la session (qui peut être conservée en mémoire). Ceci est fait par l'objet "Properties" (avec en particulier les propriétés "mail.user" et "mail.password", et "mail.host" bien sur).

    Mieux encore: ces "properties" peuvent être définies dans un fichier texte (et ainsi être modifiées sans toucher "au code").

    Encore mieux: la session peut être conservée au niveau JNDI (mais pour le coup pas très intéressant concernant Android) et ainsi donc définie au niveau de l'environnement (et non du programme).


    Si les propriétés sont définies correctement c'est simplement:
    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
     
    // le code ci-dessous peut être fait dans un singleton pour éviter de refaire 20x le rechargement des propriétés
    Properties props = new Properties();
    props.load(... un input-stream sur une ressource par exemple...)
    Session  session = Session.getInstance(props,null);
    try {
            MimeMessage msg = new MimeMessage(session);
            msg.setFrom("me@example.com"); // il faut bien un "from"
            msg.setRecipients(Message.RecipientType.TO,  "you@example.com"); // il faut au moins un "to"
            msg.setSubject("JavaMail hello world example"); // le sujet
            msg.setSentDate(new Date()); // la date ... mais il me semble que javamail le fait tout seul
            msg.setText("Hello, world!\n"); // le contenu
            Transport.send(session,msg); // l'envoi
        } catch (Exception mex) {
            Log.e(TAG,"Failed to send e-mail",mex);
        }
    Pourquoi ne pas avoir une fonction "send" toute faite avec juste les paramètres nécessaires ? parce que chacun a ses propres besoins... Moi je n'utilise pas MimeMessage mais une classe fille de MimeMessage (qui implémente par exemple une traduction automatique html/plain-text).
    Certains n'utiliseront pas SMTPTransport mais autre chose... enfin bref, ces APIs sont faites pour être souples.


    Mais, peut-être, y a-t-il des préoccupations commerciales derrière cet état de fait ?
    Non juste une préoccupation de souplesse et de ré-utilisabilité du code.


    Votre remarque est très significative de la société actuelle où l'on se préoccupe guère de ce qui est utile ou non.
    Quel rapport avec le fait que ce soit utile ou non ? Je ne suis pas très bien.
    Il y a des choses utiles à beaucoup de gens, des choses utiles à une seule personne.
    Ma remarque était juste pour marquer le fait qu'on ne fait pas quelque chose de "simple" parce que c'est plus facile, et en informatique, rien n'est impossible, tout est à inventer.

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

Discussions similaires

  1. [Mail] envoi automatique de mail
    Par calitom dans le forum Langage
    Réponses: 17
    Dernier message: 04/04/2006, 16h21
  2. envoi automatique d'email
    Par zorba49 dans le forum ASP
    Réponses: 3
    Dernier message: 20/12/2005, 13h43
  3. envoi automatique d'email
    Par zorba49 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 15/12/2005, 15h39
  4. envoi automatique d'un formulaire
    Par trialrofr dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/02/2005, 22h06
  5. Envoi automatique d'un mail toutes les heures
    Par VirginieGE dans le forum ASP
    Réponses: 8
    Dernier message: 24/08/2004, 08h10

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