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

Programmation pour enfants Discussion :

« Java pour les enfants » consultable en ligne !


Sujet :

Programmation pour enfants

  1. #81
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Le constructeur MoteurCalcul appelle: une reference à l'instance de l'objet calculatrice (page97).

    Je croyais qu'un objet était une instance d'une classe.
    Mais l'instance d'un objet c'est une référence? Au final c'est quoi une référence?Un objet?
    La phrase est imprécise voir fautive. Il aurait été, en effet, plus clair de dire "une référence à l'instance de la classe Calculatrice" ou "une référence à l'objet Calculatrice.

    Le but de la référence est de "récupérer" les variables de la classe Calculatrice, dans la Classe MoteurCalcul.
    Donc on peut récupérer toutes les variables d'un seul coup?
    Eh bien c'est juste qu'il faut imaginer dans notre programme les classes Calculatrice et MoteurCalcul. A un moment on initialise un objet Calculatrice. A un autre moment on initialise un objet MoteurCalcul. Ces deux objets sont donc utilisable mais invisible l'un de l'autre. N'ayant pas de référence entre l'un et l'autre, il n'est pas possible de les faire communiquer.

    Si l'on garde une référence d'un objet dans l'autre, là cette fois-ci, il est possible de communiquer entre ces objets. Donc, au sein de la classe MoteurCalcul, comme nous avons une variable de type Calculatrice, il devient possible d'utiliser toutes les méthodes de Calculatrice (si ces méthodes n'ont pas la visibilité private).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MoteurCalcul moteurCalcul = new MoteurCalcul(this);
    le "this" represente quoi? une Classe?Un objet (de classe Calculatrice)?
    Exactement, c'est l'instance courante donc en l’occurrence puisque le this se trouve dans la classe Calculatrice il représentera l'objet courant de type Calculatrice.

    Quel est la différence entre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NumberFormat formatNombres = NumberFormat.getInstance();
    Et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NumberFormat formatNombres = new NumberFormat();
    formatNombres est un objet et il n'a pas besoin d'etre instancié (par "new") parce que getInstance() est une méthode static?
    Oui. En fait "NumberFormat.getInstance()" est un pattern Singleton pour plus de détails. C'est à dire que via cette méthode de conception, il permet de disposer d'une référence unique de l'objet NumberFormat n'importe où dans le code. Il n'y a donc pas plusieurs objets de la classe NumberFormat. Mais ce point est un peu compliqué pour ce cours.

    Quel est la différence entre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    double monNombre = (Double)nombre.parse(maChaine, new ParsePosition(0));
    Et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    double monNombre = nombre.parse(maChaine, new ParsePosition(0)).doubleValue();
    "nombre" est une variable de quel type ?
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  2. #82
    Membre régulier
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par loncle

    Quel est la différence entre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    double monNombre = (Double)nombre.parse(maChaine, new ParsePosition(0));
    Et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    double monNombre = nombre.parse(maChaine, new ParsePosition(0)).doubleValue();
    nombre est un objet de classe NumberFormat.

    Dans le 1e cas il s'agit d'un casting si j'ai bien compris (même si je ne maitrise pas la portée de cette action ). Ce qui oblige à saisir uniquement des doubles.

    Dans le 2e cas quelquesoit le type de nombre, la méthode doubleValue() converti le nombre en double.

  3. #83
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par loncle Voir le message
    nombre est un objet de classe NumberFormat.

    Dans le 1e cas il s'agit d'un casting si j'ai bien compris (même si je ne maitrise pas la portée de cette action ). Ce qui oblige à saisir uniquement des doubles.

    Dans le 2e cas quelquesoit le type de nombre, la méthode doubleValue() converti le nombre en double.
    La première solution est plus casse gueule que la première même si les deux te rendront le même résultat au final dans le cas droit. La première méthode signifie que le développeur assure que le parse() lui donnera un objet de type Double. Si ce n'est pas le cas, tu auras une erreur de cast à l'exécution. La deuxième méthode elle fait une conversion du nombre en double.

    Je remarque également qu'il y a mélange dans ces lignes entre type primitif et type objet. Car tu castes en "Double" mais tu insères dans une variable de type "double".
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  4. #84
    Membre régulier
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 113
    Points
    113
    Par défaut
    J'ai un probleme de compilation dans Eclipse avec la classe MoteurCalcul. J'ai un peu de mal avec cette appli, jusqu'à présent je tournais avec un éditeur de texte

    Comme j'ai modifié (un peu ) le programme. J'ai ce message d'erreur avec le debugeur :affichageTexte cannot be resolved or is not a field

    sur la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     //recupere le texte affiché dans le JTextField de la calculatrice
               String champTexteAffiche = parent.affichageTexte.getText();
    C'est comme si la référence à l'objet maCalculatrice ne passait pas. Je reconnais que c'est mince, mais ce genre de problème peut etre lié à un mauvais import?

    D'autrepart quelle est la différence entre un JFormattedTextField et un JTextField.
    J'ai essayé les 2 et je n'ai pas vu de différence.

  5. #85
    Membre chevronné
    Avatar de tails
    Homme Profil pro
    Inscrit en
    Novembre 2003
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 799
    Points : 2 148
    Points
    2 148
    Billets dans le blog
    15
    Par défaut
    Citation Envoyé par loncle Voir le message
    J'ai un probleme de compilation dans Eclipse avec la classe MoteurCalcul. J'ai un peu de mal avec cette appli, jusqu'à présent je tournais avec un éditeur de texte

    Comme j'ai modifié (un peu ) le programme. J'ai ce message d'erreur avec le debugeur :affichageTexte cannot be resolved or is not a field

    sur la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     //recupere le texte affiché dans le JTextField de la calculatrice
               String champTexteAffiche = parent.affichageTexte.getText();
    C'est comme si la référence à l'objet maCalculatrice ne passait pas. Je reconnais que c'est mince, mais ce genre de problème peut etre lié à un mauvais import?

    D'autrepart quelle est la différence entre un JFormattedTextField et un JTextField.
    J'ai essayé les 2 et je n'ai pas vu de différence.

    Bonjour ,

    EDIT :
    en fait Eclipse te signale que la classe dont parent est issue, ne contient pas la variable de classe affichageTexte. Admettons que parent est de type MaFenetre : cela veut dire que MaFenetre n'a pas de variable de classe affichageTexte.

    pour ce qui est de la différence entre JTextField et JFormatedTextField : moi non plus je n'en ai vu aucune. Dans la correction - encore en cours de rédaction- j'ai d'ailleurs mentionné (si mes souvenirs sont bons) ce fait.

  6. #86
    Membre régulier
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 113
    Points
    113
    Par défaut
    Oui c'est exactement ça. J'avais déclaré les variables dans le constructeur Calculatrice().

    Est ce que ça veut dire que les variables déclarées dans un constructeur sont toujours "private"?

    Si les variables avaient été déclarées dans une méthode de type "public" ça aurait fonctionné?

    Enfin merci beaucoup parce que ça faisait 1 heure que je tournais en bourrique

  7. #87
    Membre chevronné
    Avatar de tails
    Homme Profil pro
    Inscrit en
    Novembre 2003
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 799
    Points : 2 148
    Points
    2 148
    Billets dans le blog
    15
    Par défaut
    En fait, c'est plus compliqué que cela :

    Si tu déclares des variables dans un constructeur/ ou une méthode, elles seront toujours locales à celle-ci (à celui-ci) : et ce que tu déclares le constructeur/ la méthode public ou private.

    Donc si tu veux que des variables soient accessibles dans toute les méthodes de ta classe, tu dois en faire des variables de classe. Et non de simples variables locales.

  8. #88
    Membre régulier
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 113
    Points
    113
    Par défaut
    Mais alors quel est l'interet d'avoir des méthodes public ou private si de toutes façons les variables qui sont déclarées à l'interieur sont de fait locales?

  9. #89
    Membre chevronné
    Avatar de tails
    Homme Profil pro
    Inscrit en
    Novembre 2003
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 799
    Points : 2 148
    Points
    2 148
    Billets dans le blog
    15
    Par défaut
    Citation Envoyé par loncle Voir le message
    Mais alors quel est l'interet d'avoir des méthodes public ou private si de toutes façons les variables qui sont déclarées à l'interieur sont de fait locales?
    Ben si tu veux
    • les méthodes déclarées public pourront être appellées depuis une autre classe
    • Les méthodes déclarées private ne pourront pas être accédées depuis une autre classe


    Bon c'est vrai, cela le livre n'en parle que dans le chapitre 10 : ce sont les restrictions d'accès entre classes. Et tu peux ainsi contrôler ce qui est utilisable à l'extérieur, de ce qui ne devrait pas l'être.

  10. #90
    Membre régulier
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 113
    Points
    113
    Par défaut
    Dans la classe MoteurCalcul :

    La boucle if :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if (!"".equals(texteChampAffichage)) {
    valeurAffichée =
    // analyse la chaîne de caractères
    formatNombres.parse(
    texteChampAffichage,
    new ParsePosition(0) /* ne sert pas */).
    // puis donne sa valeur en tant que double
    doubleValue();
    }
    est lié à la boucle else?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    else {
    // Pour tous les boutons numériques, ajoute le libellé
    // du bouton au champ texte
    String libelléBoutonCliqué = boutonCliqué.getText();
    parent.champAffichage.setText(texteChampAffichage +
    libelléBoutonCliqué);
    }
    A l'initialisation :

    texteChampAffichage = "" donc la boucle Else tourne et texteChampAffichage prend la valeur qu'il y a sur le bouton?

  11. #91
    Membre chevronné
    Avatar de tails
    Homme Profil pro
    Inscrit en
    Novembre 2003
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 799
    Points : 2 148
    Points
    2 148
    Billets dans le blog
    15
    Par défaut Astuce Eclipse
    Je pense que tu te trompes de boucles if.
    La première boucle if que tu as citée, n'a rien à voir avec la clause else que tu as mis juste en dessous.

    Si tu copie/Colle le code dans Eclipse (effectue juste un coller dans l'un des projets, Eclipse créera automatiquement le fichier), tu auras un moyen de vérifier quelle accolade de fermeture correspond à une accolade d'ouverture donnée : double-clique juste après l'accolage d'ouverture, et l'ensemble du bloc qui lui est associé, sera mis en évidence.
    Si tu double-cliques juste après l'accolade fermante qui t'intéresse, cela fera la même chose.

    J'espère que cela pourra t'aider.

  12. #92
    Membre régulier
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 113
    Points
    113
    Par défaut
    Bonjour,

    Je bloque sur le moyen d'empecher l'affichage de plusieurs virgules.
    J'ai crée cette boucle :
    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
    else
                            {
                              // Pour tous les boutons numériques, ajoute le libellé
                              // du bouton au champ texte
    
                              String libelleBoutonClique = boutonClique.getText();
                              int testChampAffiche = champTexteAffiche.indexOf(',');
                              
                              if (testChampAffiche == -1 )
                              
                              {
                              parent.affichageTexte.setText(champTexteAffiche +
                              libelleBoutonClique);
                               }
                                }

    Mais je n'ai pas l'idée pour bloquer l'affichage d'une autre virgule.

  13. #93
    Membre chevronné
    Avatar de tails
    Homme Profil pro
    Inscrit en
    Novembre 2003
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 799
    Points : 2 148
    Points
    2 148
    Billets dans le blog
    15
    Par défaut
    Bonjour,

    il faut que tu appelles la méthode getText() sur le composant champTextAfffiche si tu veux lire son texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    parent.affichageTexte.setText(champTexteAffiche.getText() +
                              libelleBoutonClique);

  14. #94
    Membre régulier
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 113
    Points
    113
    Par défaut
    Si j'ai bien compris, l'idée c'est de renvoyer le contenu du JTextField à l'identique lorsqu'une virgule est détectée dans la chaine?
    Le probleme c'est qu'une fois détecté une virgule, la valeur retournée par la méthode indexOf() devient différente de -1 et que ça bloque ma boucle.
    Il faut donc utiliser une autre méthode de String?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                           if (testChampAffiche != -1)
    	                        	 
    	                         { 
    	                          parent.affichageTexte.setText(parent.affichageTexte.getText() + 
    	                          libelleBoutonClique);
    	                         }

  15. #95
    Membre chevronné
    Avatar de tails
    Homme Profil pro
    Inscrit en
    Novembre 2003
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 799
    Points : 2 148
    Points
    2 148
    Billets dans le blog
    15
    Par défaut
    Enfin moi je ne m'y étais pas pris comme cela :

    Le code original étant organisé comme suit (approximativement) :
    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
    if (source == boutonPlus){
         // code de calcul
    }
    else if (source == boutonMoins){
         // code de calcul
    }
    else if (source == boutonMultiplie){
         // code de calcul
    }
    else if (source == boutonDivise){
         // code de calcul
    }
    else {
        // pour ajouter les chiffres et virgules
    }
    Et bien, dans le dernier else, j'ai testé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    S'il s'agit du bouton virgule
          Si n'existe pas encore dans le texte
                 Ajouter la virgule
    Sinon // il s'agit d'un chiffre
           Aouter le chiffre correspondant
    J'espère que cela pourra mieux t'aider.

  16. #96
    Membre régulier
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 113
    Points
    113
    Par défaut
    Nickel! Je vote pour toi

  17. #97
    Membre chevronné
    Avatar de tails
    Homme Profil pro
    Inscrit en
    Novembre 2003
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 799
    Points : 2 148
    Points
    2 148
    Billets dans le blog
    15
    Par défaut
    Citation Envoyé par loncle Voir le message
    Nickel! Je vote pour toi
    Merci, je suis content d'voir pu t'aider (surtout que la formulation de mon message était loin d'être parfaite)/

  18. #98
    Membre chevronné
    Avatar de tails
    Homme Profil pro
    Inscrit en
    Novembre 2003
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 799
    Points : 2 148
    Points
    2 148
    Billets dans le blog
    15
    Par défaut
    Bonjour à tous

    J'ai le plaisir de vous annoncer que les corrections pour les exercices de l'article sont disponibles à l'adresse suivante : http://laurent-bernabe.developpez.co...-pour-enfants/.

    Je vous en souhaite une bonne lecture :p

    N'hésitez pas à laisser vos commentaires dans la discussion suivante :
    http://www.developpez.net/forums/d12...grand-parents/

    Pour informations, voici ma page personnelle :
    http://laurent-bernabe.developpez.com/

  19. #99
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    Citation Envoyé par sylvaine Voir le message
    Bonjour!!
    Shhh ne dites rien, mais pssttt!! Où se trouvent les corrigés des exercices?
    Merci d'avance
    À toutes fins utiles:

    http://laurent-bernabe.developpez.co...-pour-enfants/

  20. #100
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 5
    Points : 18
    Points
    18
    Par défaut javac/path/classpath
    Bonjour,
    je ne suis pas sûr que je poste au bon endroit. J'ai commencé la lecture du livre Java pour les enfants afin de m'initier à la programmation java. Je rencontre malheureusement un problème. Après avoir installé la dernière version de java trouvé sur le site de sun, j'ai mis des valeurs a path et classpath comme indiqué dans le livre. Puis je recopie le programme BonjourMonde et j utilise le mot javac pour compiler et là ça marche pas; c'est pas reconnu. J'ai cherché des réponses et fais des essais variés mais ça ne fonctionne pas. Si quelqu'un peut me dépanner...merci par avance.

Discussions similaires

  1. "Java pour les enfants" consultable en ligne !
    Par Mickael Baron dans le forum Débuter avec Java
    Réponses: 128
    Dernier message: 27/09/2015, 10h22
  2. Programmation Java pour les enfants, les parents et les grands-parents
    Par imaintsoanala dans le forum Général Java
    Réponses: 1
    Dernier message: 25/01/2011, 13h08

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