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

Débats sur le développement - Le Best Of Discussion :

Quels sont les pires noms de variables que vous avez déjà vus ?


Sujet :

Débats sur le développement - Le Best Of

  1. #21
    Membre éclairé
    Avatar de ProgVal
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 636
    Points : 752
    Points
    752
    Par défaut
    Une fois, on m'a demandé de déboguer un code, avec une classe dont tous les accesseurs étaient nommés toString(), toString1(), toString2(), ..., toString23().


    Dans le sujet de mon dernier DM d'info, les noms de fonctions et de variable traitant de listes semblaient utiliser au hasard "lst", "list", "liste", "lists", et "listes".

  2. #22
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Je ne suis pas de l'avis de M. Lester.... Les noms de variables volontairement "obfusqués" peuvent être utiles. Pour ma part, j'opère un distingo en fonction de la portée d'une variable.

    Tout ce qui est local, est volontairement "mal nommé", quelques lettres tout au plus, et des chiffres pourquoi pas. Cela car la durée de vie de ces variables étant très limitée, leur donner un nom bien choisi relève de l'overkill, et tend à indiquer qu'elle a une certaine importance ou dissipation dans le programme, alors que ce n'est pas le cas.

    Tout ce qui peut "déborder" hors du block/méthode courant (surtout les champs finalement...) possède un nom nettement mieux réfléchi (mais sans préfixe de type ou autre notation hongroise, car je fais du java et que les outils sont suffisament puissants pour qu'on n'ait pas besoin de tels artifices).

    Du coup c'est clair, les petits noms font partie de l'implémentation du bout de code local, le reste a une durée de vie bien plus longue... Un petit commentaire si vraiment l'implém est compliquée, et encore, et aucune fonction ne dépassant 100 lignes et c'est dans la boite, coco!


  3. #23
    Membre expert Avatar de air-dex
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 672
    Points : 3 832
    Points
    3 832
    Par défaut
    Citation Envoyé par befalimpertinent Voir le message
    Je rejoins ce qui disent que les pires sont les variables d'un seul caractère. J'ai même parfois vu des choses du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int a;//age du capitaine
    Mais Bo*$€|_ ! Pourquoi ne pas avoir écrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int age_du_capitaine;
    Pour les noms de variables assez courts, est-ce que cela ne remonte pas à une époque où les développeurs n'avaient pas d'autocomplétion et où ces derniers avaient autre chose à faire que de finir d'écrire des noms de variables à rallonge ? Tout le monde n'a pas toujours eu un Ctrl+Espace pour finir de taper un nom d'une variable.

    Citation Envoyé par rOnnie974 Voir le message
    Dans le genre pas mal, les mecs qui codent en français:
    Pas forcément d'accord. "Coder systématiquement en anglais parce que c'est comme ça" n'est pas forcément une bonne pratique. À mon avis le choix de la "langue de développement" dépend aussi de celles des développeurs derrière leur code. Est-ce un crime que de coder en français un programme dont on sait pertinemment qu'il ne sera jamais regardé par des personnes non francophones (comme un programme fait par et pour soi-même par exemple) ? Je ne le pense pas, bien au contraire.

    Pour moi la langue d'un programme devrait être avant tout la langue (maternelle) des développeurs qui ont affaire au code. Et ils ne sont pas toujours tous forcément anglais.

  4. #24
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 27
    Points : 85
    Points
    85
    Par défaut
    Histoire de rendre plus gaie mon job, j'ai appelé une méthode "PutChildInDaHouse" (cela concerne les assurances habitations).

    Sinon, je suis classique avec les var cpt, compteur ... etc etc.

  5. #25
    Membre du Club
    Inscrit en
    Février 2011
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 56
    Points : 59
    Points
    59
    Par défaut
    ben justement le probleme est que cette équipe peut partir et laisser le projet à d'autres développeurs. On sait jamais!

  6. #26
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 132
    Points : 419
    Points
    419
    Par défaut
    Concrètement, dès que l'on commence à avoir moultes variables (fonctions mathématiques, physiques, etc.) on se retrouve avec des choses telles que (par exemple) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     int mandel(double px, double py) {
        double zx = 0.0, zy = 0.0;
        double zx2 = 0.0, zy2 = 0.0;
        int value = 0;
        while (value < MAX && zx2 + zy2 < 4.0) {
          zy = 2.0 * zx * zy + py;
          zx = zx2 - zy2 + px;
          zx2 = zx * zx;
          zy2 = zy * zy;
          value++;
        }
        return value;
      }
    Qui n'est vous en conviendrez, succint mais pas des plus lisible.
    Pour ce qui est de la lisibilité, des "vrais exemples de best practices" sont introduit dans l'ouvrage de Robert C. Martin cité précédement par elmcherqui : Clean Coding (Coder Proprement) que je recommande vivement à tout développeur (les exemples sont malheureusement seulement en java...) un tant soit peu consciencieux.

    Pour les boucles, l'emploi d'itérateurs nommés avec une seule lettre (au hasard "i", "j", "k") relève quasi de la convention d'écriture.
    Oui mais il ya du pour et du contre dans le leur utilisation tel que. D'aucuns disent qu'une syntaxe telle que celle ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	for (int fruitNumber = 0; fruitNumber < fruits.size(); fruitNumber++) {
    			if (fruits.get(fruitNumber).isBanana()) {
    				// What to do with bananas
    			}
    		}
    bien que plus verbeuse est à préférer à quelquechose de ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for (int i=0;i < f.size(); i++) {
    			if (f.get(i).isB()) {
    				// What to do with bananas
    			}
    		}

  7. #27
    Membre éclairé
    Avatar de ProgVal
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 636
    Points : 752
    Points
    752
    Par défaut
    Citation Envoyé par air-dex Voir le message
    Pour les noms de variables assez courts, est-ce que cela ne remonte pas à une époque où les développeurs n'avaient pas d'autocomplétion et où ces derniers avaient autre chose à faire que de finir d'écrire des noms de variables à rallonge ? Tout le monde n'a pas toujours eu un Ctrl+Espace pour finir de taper un nom d'une variable.
    Je n'ai pas d'autocomplétion (Python + Vim), et ça ne m'empêche pas d'utiliser parfois des noms qui font plus de dix, voire quinze caractères.

  8. #28
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 832
    Points : 2 621
    Points
    2 621
    Par défaut
    Citation Envoyé par ProgVal Voir le message
    Je n'ai pas d'autocomplétion (Python + Vim), et ça ne m'empêche pas d'utiliser parfois des noms qui font plus de dix, voire quinze caractères.
    Hum... CTRL+N sur vim pour auto-compléter un nom de symbol local. Sinon je crois qu'il y a un autre artifice, avec les ctags. Bon , je peux me planter, je suis pas expert vim, mais ça marche en c++.

    Citation Envoyé par nu_tango Voir le message
    Concrètement, dès que l'on commence à avoir moultes variables (fonctions mathématiques, physiques, etc.) on se retrouve avec des choses telles que (par exemple) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     int mandel(double px, double py) {
        double zx = 0.0, zy = 0.0;
        double zx2 = 0.0, zy2 = 0.0;
        int value = 0;
        while (value < MAX && zx2 + zy2 < 4.0) {
          zy = 2.0 * zx * zy + py;
          zx = zx2 - zy2 + px;
          zx2 = zx * zx;
          zy2 = zy * zy;
          value++;
        }
        return value;
      }
    Qui n'est vous en conviendrez, succint mais pas des plus lisible.
    Pour ce qui est de la lisibilité, des "vrais exemples de best practices" sont introduit dans l'ouvrage de Robert C. Martin cité précédement par elmcherqui : Clean Coding (Coder Proprement) que je recommande vivement à tout développeur (les exemples sont malheureusement seulement en java...) un tant soit peu consciencieux.



    Oui mais il ya du pour et du contre dans le leur utilisation tel que. D'aucuns disent qu'une syntaxe telle que celle ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	for (int fruitNumber = 0; fruitNumber < fruits.size(); fruitNumber++) {
    			if (fruits.get(fruitNumber).isBanana()) {
    				// What to do with bananas
    			}
    		}
    bien que plus verbeuse est à préférer à quelquechose de ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for (int i=0;i < f.size(); i++) {
    			if (f.get(i).isB()) {
    				// What to do with bananas
    			}
    		}
    Dans ton cas, il aurait suffit que "f" ait été nommé "fruits" pour que le code soit lisible. Et même plus que le 1er.
    D'ailleurs, je ne sais pas de quel langage tu parles, mais pour java il y a des for_each, et pour c++, des algo qui font la même chose (le for_each d'avant C++11 est immonde imho, et je ne considère donc que le C++03 ici).

    D'ailleurs, en C++ ça aurait plus donné ceci dans ma convention perso:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    typedef FruitIter vector<Fruit>::iterator ;
    for (FruitIter it=fruit.begin();it < fruit.end(); ++it)
    {
      if(it->isBanana())
      {
          // What to do with bananas
      }
    }
    Bon, sans find_if, évidemment. Mais la on a juste la variable de boucle qui n'a pas de vrai nom, et pourtant, je pense que ça reste très lisible. Peut-être même plus que ton 1er exemple (j'imagine que ça peut dépendre des gens)

    Et en 2011 (qui ne fait que rattraper d'autres langages), ça aurait fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for(auto &i: fruit)
    {
      if(i.isBanana())
      {
        //...
      }
    }
    La, je trouve que ça ne souffre plus la comparaison. D'autant que le i est communément utilisé.

  9. #29
    Membre chevronné Avatar de LooserBoy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 1 085
    Points : 1 977
    Points
    1 977
    Par défaut
    Citation Envoyé par air-dex Voir le message
    Pas forcément d'accord. "Coder systématiquement en anglais parce que c'est comme ça" n'est pas forcément une bonne pratique. À mon avis le choix de la "langue de développement" dépend aussi de celles des développeurs derrière leur code. Est-ce un crime que de coder en français un programme dont on sait pertinemment qu'il ne sera jamais regardé par des personnes non francophones (comme un programme fait par et pour soi-même par exemple) ? Je ne le pense pas, bien au contraire.

    Pour moi la langue d'un programme devrait être avant tout la langue (maternelle) des développeurs qui ont affaire au code. Et ils ne sont pas toujours tous forcément anglais.
    Je dois être bizarre car même à titre personnel, dans un passé pas si lointain (j'ai arrêté, ma psychothérapie a fonctionné ), je codais en anglais. C'est probablement par la force des habitudes ou le fait que l'anglais soit ma deuxième langue, après le français, apprise très jeune et qui, par conséquent, ne me pose strictement aucun problème.

  10. #30
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2012
    Messages : 3
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par nu_tango Voir le message
    fonctions mathématiques
    j'ai lu hier:
    si "z" est le rayon d'une pizza et "a" son épaisseur, alors son volume est donné par: Pi*z*z*a

  11. #31
    Membre éclairé
    Avatar de ProgVal
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 636
    Points : 752
    Points
    752
    Par défaut
    Citation Envoyé par Freem Voir le message
    Hum... CTRL+N sur vim pour auto-compléter un nom de symbol local. Sinon je crois qu'il y a un autre artifice, avec les ctags. Bon , je peux me planter, je suis pas expert vim, mais ça marche en c++.
    Excellent, merci

    Même si ça ne peut pas être parfait pour un langage dynamique, ça reste très utile dans 95% des cas.

  12. #32
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut
    Citation Envoyé par Freem Voir le message
    Et en 2011 (qui ne fait que rattraper d'autres langages), ça aurait fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for(auto &i: fruit)
    {
      if(i.isBanana())
      {
        //...
      }
    }
    La, je trouve que ça ne souffre plus la comparaison. D'autant que le i est communément utilisé.
    i est communément utilisé en tant que variable représentants un indice. Ici i est un éléments de la liste fruit, j'aurai donc plutôt tendance à l'appeler e (pour élément) ou f ou même fruit (en renommant fruit par fruitS).

  13. #33
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut
    Classique mais efficace, les variables de debug $foo, $bar, $foobar, $barbar qui restent pour une appli en prod.
    Evidemment, le combo avec $foo1 est accepté.
    La variable $tableau est courante aussi.

  14. #34
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 627
    Points : 15 788
    Points
    15 788
    Par défaut
    Comme toujours tout dépends du contexte. Par exemple dans une méthode write(char[] data, int offset, int length) je ne vois pas en quoi l'usage de data ne serait pas adapté.

    De même, je ne voit pas vraiment de souci non plus à nommer des index qui ne servent qu'à faire une simple itération : "i", "j", "k". Quant à utiliser x et y pour une abscisse est une ordonnée, c'est juste du bon sens tant qu'on en manipule qu'une paire...

    J'ai rarement de problème avec les nom de variables dans les langages comme le C++/Java/... qui font que les variables ont le plus souvent des portées plutôt réduites.
    J'ai l'impression que c'est un problème plus caractéristique de langagues comme le VB ou le JavaScript qui même s'il ont des systèmes pour réduire la portée me donnent l'impression d'encourager a avoir des variables avec de longues portées.

  15. #35
    Membre chevronné
    Avatar de la.lune
    Homme Profil pro
    Directeur Technique
    Inscrit en
    Décembre 2010
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Comores

    Informations professionnelles :
    Activité : Directeur Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 545
    Points : 2 084
    Points
    2 084
    Par défaut
    En tout pour des programme de calcul intense surtout en programmation parallèle ou vectoriel la longueur de la variable n'est pas quelque chose à négliger, ça se voit considérablement dans le temps de l’exécution, ce qui fait que dans ces cas vaut mieux des variable plus courtes comme des variables mathématiques .

    D'où que je rejoint l'idée selon laquelle ça dépend du contexte.

  16. #36
    Membre du Club

    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2009
    Messages : 5
    Points : 41
    Points
    41
    Par défaut
    un de mes collègues avait pris l'habitude d'appeler ses variables t, tt, ttt, tttt, ttttt... c'était la grosse déprime quand il fallait passer derrière lui...

  17. #37
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 210
    Points : 459
    Points
    459
    Par défaut
    Citation Envoyé par atha2 Voir le message
    i est communément utilisé en tant que variable représentants un indice. Ici i est un éléments de la liste fruit, j'aurai donc plutôt tendance à l'appeler e (pour élément) ou f ou même fruit (en renommant fruit par fruitS).
    +1 !

    j'écris toujours "for (Fruit fruit : fruits) { ... }"

  18. #38
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 87
    Points : 158
    Points
    158
    Par défaut
    Au taf, je rigole parfois en voyant des :
    Sinon à l'inverse ceux qui sont un peu trop dans leur trip :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boolean est_la_valeur_entre_10_et_20 = ;

  19. #39
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Citation Envoyé par Hinault Romaric Voir le message
    ....
    N’importe quelle variable qui s’appuie sur un chiffre pour se distinguer d’une autre doit être immédiatement renommée.
    ....
    Quand tu manipule l'enfant 3 et que tu veux que ça soit l'enfant 3 et pas 2 ni 4 du couple... Tu le distingue avec un chiffre.

    Citation Envoyé par Hinault Romaric Voir le message
    Avez-vous déjà utilisé ces noms pour vos variables ?
    Oui, de manière exceptionnelle.
    Citation Envoyé par Hinault Romaric Voir le message
    Quels autres pires noms de variables avez-vous déjà vus ?
    Non de variable dans une classe :
    a b x y p
    (5 variables classes sans commentaire)

  20. #40
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Citation Envoyé par kolodz Voir le message
    Quand tu manipule l'enfant 3 et que tu veux que ça soit l'enfant 3 et pas 2 ni 4 du couple... Tu le distingue avec un chiffre.


    Oui, de manière exceptionnelle.

    Nom de variable dans une classe :
    a b x y p
    (5 variables classes sans commentaire)

Discussions similaires

  1. JO de Sotchi : quels sont les pires commentateurs ?
    Par Bovino dans le forum Sports
    Réponses: 3
    Dernier message: 21/02/2014, 15h51
  2. Quel est le pire bout de code que vous ayez jamais écrit ?
    Par Gordon Fowler dans le forum Débats sur le développement - Le Best Of
    Réponses: 61
    Dernier message: 31/10/2011, 13h18
  3. Modélisation : quels sont les livres que vous recommandez ?
    Par TheLeadingEdge dans le forum Modélisation
    Réponses: 3
    Dernier message: 26/08/2008, 10h11
  4. Réponses: 70
    Dernier message: 23/08/2007, 17h57

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