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

Haskell Discussion :

[Haskell] Craft of functional programming


Sujet :

Haskell

  1. #41
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    Merci pour ces conseils. Pour le moment, j'attends le livre de Gaham Hutton "Programming in Haskell" que j'ai commandé à la bibliothèque. Je vais débuter avec ça. Je pense que j'ai pas mal de matière pour débuter mon apprentissage.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  2. #42
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par gorgonite Voir le message
    qui te dis que je considère que les mutables font partie du paradigme fonctionnel...

    donc je persiste et signe... tant qu'on reste en paradigme fonctionnel PUR et qu'on ne joue pas avec des foncteurs, ça reste quand même du lambda calcul typé
    Mais je ne t'ai jamais dis ça !
    J'ai dis que je n'ai pas compris ta phrase !

    Vu ce que tu viens de rajouter je comprends mieux.

  3. #43
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par Thierry Chappuis Voir le message
    On s'éloigne du sujet du fil, mais bon je suis curieux. Pourquoi dis-tu que Python ne dispose pas d'une réelle fermeture? Il me semble que c'est le cas depuis Python 2.2, non? Quelles propriété doit avoir une réelle fermerture?[...]
    Ah ? Tu connais mieux Python que moi. Peut être me trompes-je. J'irais voir. Si les fonctions capturent un environnement d'appel alors effectivement Python dispose de fermeture.

  4. #44
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par Thierry Chappuis Voir le message
    Aurez-vous quelques références abordables au sujet des aspects théoriques du lambda calcul, typé ou non?

    Le lambda calcul et la théorie de catégories sont-il les deux points à étudier si je désire étoffer un peu mes connaissances théorique par rapport à la programmation fonctionnelle ou y a-t'il d'autres aspects à creuser?

    Thierry
    Non tu n'as pas besoin de connaître le lambda-calcul pour faire de la programmation fonctionnelle correctement. C'est une habitude très française de croire ça.

    Attention cependant, si tu peux te lancer dedans, certains aspects du lambda-calcul permettent de mieux comprendre des notions de paradigmes fonctionnels. Mais c'est loin d'être nécessaire. Ça serait comme dire que tu as besoin de connaître les machines de Turing ou les automates à piles pour programmer en Fortran.

  5. #45
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par SpiceGuid Voir le message
    Surtout ne place pas la théorie avant le langage, la théorie vient après le langage. Aucune de ces trois théories n'est accessible si tu n'es pas déjà un expert en programmation fonctionnelle
    C'est amusant dit comme ça
    Que dire alors des gens qui ont appris et fait le lambda-calcul sans jamais avoir touché à la programmation ? Ce n'était pas accessible ?

    Je te tease un peu. Je comprends ce que tu as voulu dire.

  6. #46
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 832
    Points : 1 104
    Points
    1 104
    Par défaut
    C'est pour cela que les monades ont été introduites. Les monades sont LA façon dans un langage paresseux comme Haskell d'effectuer des actions ou d'évaluer des valeurs dans un ordre prédéterminé.
    En pratique ce n'est pas exact. Comme il est dit dans l'article An Introduction to Category Theory, Category Theory Monads, and Their Relationship to Functional Programming :
    Monads are typically equated with single-threadedness, and are therefore used as a technique for incorporating imperative features into a purely functional language. Category theory monads have little to do with signle-threadedness; it is the sequencing imposed by composition that ensures single-threadedness. [...] There is nothing new in this connection. Peter Landin in his Algo60 paper used functional composition to model semi-colon. Semi-colon can be thought of as a state transforming operator that threads the state of the machine throughout a program.
    Il me semble que les monades ont été introduites en programmation pour leurs vertus de généralisation / modélisation, et non pas en relation directe avec l'évaluation paresseuse. D'ailleurs, avant d'utiliser les monades, Haskell utilisait pour l'entrée/sortie une méthode reposant beaucoup plus sur la paresse (et qui était d'ailleurs, de l'aveu de la plupart, complètement imbuvable).

  7. #47
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Je vois ce que tu veux dire, mais je me demande très honnêtement ce qui est venu en premier dans le cas de Haskell : l'implantation des monades dans le langage ou sa justification ?
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  8. #48
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Citation Envoyé par Garulfo
    Que dire alors des gens qui ont appris et fait le lambda-calcul sans jamais avoir touché à la programmation ?
    C'est des crétins, c'est tout.

    Ca me fait penser à une présentation en cours, avant-hier, par un groupe d'étudiants.

    La personne en question a présenté les caps et les floors, deux produits utilisés en finance pour se couvrir. Il a montré tout plein de formules mathématiques, et quand je lui ai posé la question dix minutes après "C'est quoi un cap ? C'est quoi un floor ?", il m'a tout de suite montré les formules qu'il avait écrites au tableau. J'ai tout de même réussi à lui arracher de la bouche "C'est une option avec un actif sans risque.". En fait, ça n'a rien à voir avec ça.

    Et ce mec-là va se retrouver dans quatre mois dans une grosse salle de marchés à jouer avec de grosses sommes d'argent tous les jours.

    Donc bon, les gens qui font de la théorie sans pratique, moi je pense que ça fait de belles pièces de musées.
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  9. #49
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par InOCamlWeTrust Voir le message
    C'est des crétins, c'est tout.
    Ce serait sympa que tu arrêtes avec tes provocation gratuites, ça éviterait à mes posts de se faire supprimer quand je te réponds... Et tu pourrais éventuellement penser à monsieur Church avant de te prononcer de façon si catégorique...
    Et évidement, s'il n'y avait pas de théoricien pur, l'informatique serait bien loin de son point d'avancement actuel.

  10. #50
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    De plus, je ne pense pas que les théoriciens aient fait réellement avancer l'informatique. Certaines théories ont peut-être, au commencement, fait émerger certaines idées, mais ce n'est certainement pas la théorie qui a boosté l'informatique.

    - le transistor : découverte théorique ?)
    - la micro-puce : pas réellement une avancée théorique, même si ça fait certainement appel à des notions de physique pointues
    - LISP : oui, à la rigueur, la première implantation du lambda-calcul
    - FORTRAN : non, clairement
    - MULTICS : 1000 fois non
    - UNIX : là encore, non, même si c'est sorti de labos de recherche
    - C : idem
    - l'augmentation incessante de la puissance des processeurs : non, encore
    - PROLOG : une belle histoire montrant qu'il faut savoir combiner théorie et pratique

    Par contre, il est vrai que du côté de la preuve formelle et du cryptage les choses sont autres, mais je considère qu'ils pèsent à eux seuls bien peu vis-à-vis de ceux cités ci-dessus.
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  11. #51
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 832
    Points : 1 104
    Points
    1 104
    Par défaut
    Je vois ce que tu veux dire, mais je me demande très honnêtement ce qui est venu en premier dans le cas de Haskell : l'implantation des monades dans le langage ou sa justification ?
    À ma connaissance, les monades telles qu'on les connait aujourd'hui ont fait leur apparition en info à la fin des années 80, dans les travaux de E. Moggi (entre autres http://citeseer.ist.psu.edu/417447.html, et surtout Notions of computations and monads).
    Il emploie les monades au niveau de la sémantique du langage de programmation, mais il y a déjà l'idée de la modularité (l'exemple 1, page 3 du deuxième article le montre bien).

    Les articles de Wadler qui reprennent ce travail (et qui l'ont popularisé chez les Haskelliens) mettent l'accent sur les fonctionnalités "impératives" apportées, mais gardent l'idée de la modularité (par exemple il présente aussi les monades de Continuation Passing Style, qui sont tout à fait différentes).


    Par ailleurs, pour ce qui est de ton "OCaml doit mourrir", je ne suis pas de ton avis. Je fais le même constat que toi : la communauté Haskell est très vivante, la communauté OCaml peine à se constituer.

    Mais ça ne veut pas dire que les deux langages n'ont pas leur place : leurs différences les enrichissent, et OCaml a des possibiltés que Haskell n'a pas (contrairement à ce que disent certain qui voudraient nous faire croire que OCaml n'est qu'un brouillon de Haskell).
    En particulier il me paraît dangereux de tout miser sur l'évaluation paresseuse, et tout à fait profitable de pouvoir utiliser deux langages, l'un principalement paresseux et l'autre principalement strict.

    Je pense donc maintenant qu'il faut constituer une communauté OCaml, ou plutôt rendre celle qui existe actuellement plus visible. Ce n'est pas facile, mais ce n'est pas impossible non plus, on a déjà les ingrédients en place, et les autres y sont bien arrivés.

  12. #52
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Citation Envoyé par bluestorm
    Il emploie les monades au niveau de la sémantique du langage de programmation, mais il y a déjà l'idée de la modularité (l'exemple 1, page 3 du deuxième article le montre bien).

    Les articles de Wadler qui reprennent ce travail (et qui l'ont popularisé chez les Haskelliens) mettent l'accent sur les fonctionnalités "impératives" apportées, mais gardent l'idée de la modularité (par exemple il présente aussi les monades de Continuation Passing Style, qui sont tout à fait différentes).
    C'est essentiellement pour cette raison que j'en parle comme je le fais. Je suis absolument d'accord sur le fait qu'il s'agit d'une façon élégante de faire de la modularité et qu'il s'agit là de leur vraie nature, car, en fait, la seule monade en Haskell exploitant l'aspect séquencement/strictness est la monade IO, les autres étant là pour introduire de la modularité. Tout ça, je le sais, et je suis d'accord avec toi.

    Citation Envoyé par bluestorm
    Par ailleurs, pour ce qui est de ton "OCaml doit mourrir", je ne suis pas de ton avis. Je fais le même constat que toi : la communauté Haskell est très vivante, la communauté OCaml peine à se constituer.

    Mais ça ne veut pas dire que les deux langages n'ont pas leur place : leurs différences les enrichissent, et OCaml a des possibiltés que Haskell n'a pas (contrairement à ce que disent certain qui voudraient nous faire croire que OCaml n'est qu'un brouillon de Haskell).
    En particulier il me paraît dangereux de tout miser sur l'évaluation paresseuse, et tout à fait profitable de pouvoir utiliser deux langages, l'un principalement paresseux et l'autre principalement strict.

    Je pense donc maintenant qu'il faut constituer une communauté OCaml, ou plutôt rendre celle qui existe actuellement plus visible. Ce n'est pas facile, mais ce n'est pas impossible non plus, on a déjà les ingrédients en place, et les autres y sont bien arrivés.
    Je voulais seulement dire qu'OCaml était en phase de quasi-végétation. Il lui faudrait un peu de sang neuf et, on est d'accord, une communauté qui ne se limite pas à Ulm - X - MP*, mais qui soit un peu plus ouverte et modeste.

    Dans le fond, je continue cependant de penser qu'OCaml, bien que très différent, est supérieur.
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  13. #53
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par InOCamlWeTrust Voir le message
    C'est des crétins, c'est tout.[...]
    Donc tous les théoriciens qui ont fait les fondements de l'informatique sont des crétins ? Church, Curry, Turing ? Les modèles de calcul ne sont pas théoriques selon toi ? Tu penses vraiment que le transistor a apparu sans qu'il n'y ait de théorie avant ? Est-ce qu'on aurait remplacé IOCWT par un gamin qui ne connait pas ce qu'est la science ?

  14. #54
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Tu déformes mes propos.

    Je n'ai jamais dit que la théorie ne servait à rien.

    J'ai, par contre, affirmé que la théorie sans pratique, elle, ne servait à rien. C'est pas la même chose.
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  15. #55
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    Citation Envoyé par InOCamlWeTrust Voir le message
    J'ai, par contre, affirmé que la théorie sans pratique, elle, ne servait à rien. C'est pas la même chose.
    Il n'a jamais été question de ça dans ce fil.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  16. #56
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par InOCamlWeTrust Voir le message
    Tu déformes mes propos.

    Je n'ai jamais dit que la théorie ne servait à rien.

    J'ai, par contre, affirmé que la théorie sans pratique, elle, ne servait à rien. C'est pas la même chose.
    Ok mais la pratique n'avance que peu ou pas sans aucune théorie.
    L'idéal c'est un équilibre, pas un excès. Yin et yang quoi.
    Et si j'ai mal compris, c'est peut être que tu t'es mal exprimé non ?
    Je pense que je ne suis pas le seul à l'avoir mal compris.

  17. #57
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    connaissant IOWT IRL, je pense savoir ce qu'il souhaitait dire, à savoir :
    • la théorie sans pratique n'est pas applicable à l'informatique ;
    • trop de personnes font des maths ou de la logique et non de l'informatique, ont un niveau quasi-nul en programmation (quelque soit le langage), et prétendent être chercheurs en informatique ;
    • en informatique, beaucoup d'avancées techniques ont été faites par ce que certains appeleraient de manière condescendante des bricoleurs ; mais cela souligne qu'une bonne intuition d'un problème et de l'huile de coude peut faire avancer bien plus qu'une centaine de papiers qui tournent autour d'un même problème sans réellement chercher à faire autre chose que d'en parler
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  18. #58
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Oui, c'est ça, mais je pensais aussi au domaine des mathématiques appliquées.
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  19. #59
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par gorgonite Voir le message
    [...][*] en informatique, beaucoup d'avancées techniques ont été faites par ce que certains appeleraient de manière condescendante des bricoleurs ; mais cela souligne qu'une bonne intuition d'un problème et de l'huile de coude peut faire avancer bien plus qu'une centaine de papiers qui tournent autour d'un même problème sans réellement chercher à faire autre chose que d'en parler [/list]

    Je suis relativement en accord avec les autres points (en soulignant quand même que dans AUCUN domaine la théorie sans la pratique ne sert à quoi que ce soit y compris en math).

    Par contre là... j'aimerais voir des réels exemples de ce qui a fait avancer vraiment l'informatique et qui vient d'un gars uniquement armé d'une bonne intuition sans aucun support théorique quelconque ? Des exemples ?

  20. #60
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 832
    Points : 1 104
    Points
    1 104
    Par défaut
    en soulignant quand même que dans AUCUN domaine la théorie sans la pratique ne sert à quoi que ce soit y compris en math.
    Je ne sais pas ce que tu appelles "théorie" et "pratique" en maths. Ça dépend sûrement du domaine (parce que "maths" est assez large) mais, en utilisant le sens courant de ces mots (pratique = concret, matériel, tangible; théorique = abstrait, virtuel, éloigné du monde réel), je ne suis pas d'accord, principalement parce qu'alors en maths, la plupart des choses sont théoriques (en tout cas du point de vue des matheux), et restent tout aussi amusantes et intéressantes.


    Par contre là... j'aimerais voir des réels exemples de ce qui a fait avancer vraiment l'informatique et qui vient d'un gars uniquement armé d'une bonne intuition sans aucun support théorique quelconque ? Des exemples ?
    Si on répond (avec une once d'ironie) "C++", tu dis quoi ? Ou surtout "le C" ?
    Tu pourrais répondre "oui mais ces langages ne sont pas innovants, ils n'ont pas apporté de concepts nouveaux" ou quelque chose du genre. Attention à ne pas avoir un point de vue biaisé : si tu évalues les "avancées" de l'informatique d'un point de vue de Computer Scientist, alors forcément seules les avancées "théoriques" vont avoir de la valeur à tes yeux. Je pense que ce serait un problème de non-relativisme. Si tu veux des avancées de l'informatique faites par des praticiens, alors il faut savoir évaluer ce qu'est une "avancéee" d'un point de vue pratique aussi.

    Dans cette optique, pense que le C, qui a permis la construction de multiples couches logicielles, est un bon exemple d'"avancée" "pratique". Ceci dit, le statut "uniquement pratique" de C et de Unix est à la rigueur contestable, puisqu'ils ont tout de même été créés dans un environnement "de recherche" (les laboratoires Bells), mais je pense (je ne suis pas un connaisseur par contre) qu'ils sont tout de même suffisamment "pratiques" (et surtout suffisamment peu "théorique", en regard de ce qu'on savait faire en théorie des langages de programmation à l'époque) pour remplir les critères. Sinon, on peut toujours choisir un autre grand projet, comme C++ (?!), ou Linux.

Discussions similaires

  1. Réponses: 6
    Dernier message: 05/05/2015, 15h48
  2. Functional Reactive Programming en Java
    Par CyaNnOrangehead dans le forum Langage
    Réponses: 54
    Dernier message: 03/11/2013, 00h24
  3. parser recursif programming haskell
    Par jjinkou2 dans le forum Haskell
    Réponses: 4
    Dernier message: 28/04/2011, 11h00

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