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

Python Discussion :

Générer un code barre


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 26
    Par défaut Générer un code barre
    Bonsoir à tous,
    Je suis en train de créer une application pour pouvoir générer un code barre mais j'ai le message d'erreur suivant: "
    SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
    Est-ce que quelqu'un peut me dire pourquoi j'ai cette erreur svp ?
    Merci.
    Images attachées Images attachées  

  2. #2
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut
    Bonjour,
    Le code est illisible , utilise la balise code pour le présenter et envoie le traceback complet.

    Remarque: Ta demande aurait plus sa place dans le forumBibliothèques tierces de python

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 753
    Par défaut
    Salut,

    Quand vous avez un message d'erreur, Python remonte en général aussi la ligne et l'instruction qui l'ont provoquée. Et ça aide au diagnostic puisqu'on sait où et quoi chercher.

    Par expérience, probable que cela vienne de la ligne 8: file = open('C:\Users\...') car le U après le \ indique que la suite doit être interprétée comme le début d'un point Unicode.

    Pour éviter çà, il faut doubler les \ ou préfixer la chaîne de caractères par un r - open(r'C:\Users\...') - ou utiliser des / à la place des \.

    Problème que l'on rencontre dès qu'on accède aux fichiers sur Windows (que ce soit pour générer des codes barres ou autres).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut
    @wiztricks: Tu as de bons yeux ou un grand écran.
    Perso quand j'ai dit que le code était illisible et que j'ai invité à utiliser la balise code, ce n'était pas pour le plaisir de remballer de PO

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 753
    Par défaut
    Citation Envoyé par Hominidé Voir le message
    @wiztricks: Tu as de bons yeux ou un grand écran.
    Ce dimanche, j'ai eu la patience d'ouvrir l'image dans une fenêtre à part pour la zoomer et imaginer ce qu'un débutant pouvait avoir inventé...

    Citation Envoyé par Hominidé Voir le message
    Perso quand j'ai dit que le code était illisible et que j'ai invité à utiliser la balise code, ce n'était pas pour le plaisir de remballer de PO
    On fait ce qu'on peut avec l'énergie qu'on a... et c'est vrai que le code est illisible sans un minimum d'effort. Mais ce qui est le plus gênant, c'est côté imprécision du message d'erreur et de son contexte... qui montre que notre débutant a sauté quelques étapes dans son apprentissage.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 837
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 837
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par wiztricks Voir le message
    Pour éviter çà, il faut doubler les \ ou préfixer la chaîne de caractères par un r - open(r'C:\Users\...') - ou utiliser des / à la place des \.
    Ou utiliser os.path.join() qui est fait pour générer des chemins et qui place le bon séparateur là où il faut

    Citation Envoyé par wiztricks Voir le message
    qui montre que notre débutant a sauté quelques étapes dans son apprentissage.
    Rien que le fait qu'il ne ferme pas son fichier (moi aussi j'ai un grand écran)...

    Citation Envoyé par Hominidé Voir le message
    Remarque: Ta demande aurait plus sa place dans le forumBibliothèques tierces de python
    Le pousse pas trop, il a déjà ouvert le même topic dans les forums Java et javascript. A croire qu'il veut faire ça dans tous les langages...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Hominidé Voir le message
    Bonjour,
    Le code est illisible
    Clic droit -> Ouvrir l'image dans un nouvel onglet
    Zoomer

    De rien !

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 26
    Par défaut
    Bonjour à tous,
    En effet, je suis un débutant dans l'ensembles des langages et je cherche à créer plusieurs programmes qui générent des Codes barres.
    Je vous mens pas que je n'ai pas trop compris ce qui est balise code ainsi que le fichier n'est pas fermé...
    Je met juste après une capture d'écran mais cette fois plus zoomer, l'erreur d'auparavant n'apparait plus mais le programme n'arrive pas à générer le code barre.
    Merci de votre aide.
    Images attachées Images attachées  

  9. #9
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 837
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 837
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par LeNarvalo Voir le message
    Clic droit -> Ouvrir l'image dans un nouvel onglet
    Zoomer
    Déjà mettre un code dans le forum ce n'est pas que pour le lire. C'est aussi pour pouvoir le copier si besoin afin de le tester. Et puis bon même sans ça ce n'est pas à nous d'aller faire des efforts pour arriver à lire ce qu'ont voulu écrire ceux qui demandent de l'aide.

    Citation Envoyé par pedro.ortega Voir le message
    Je vous mens pas que je n'ai pas trop compris ce qui est balise code
    En dehors du fait que c'est mentionné dans les règles, tu aurais pu aussi te promener dans le forum voir comment les autres font.

    Citation Envoyé par pedro.ortega Voir le message
    ainsi que le fichier n'est pas fermé...
    Ah effectivement, tu n'as vraiment rien lu sur les langages. Quand tu as fini de lire un livre, tu le refermes. Ben un fichier c'est pareil, tu le fermes => file.close().
    Et bon étant donné que le token "file" est un nom de type, c'est pas adéquat de l'utiliser comme nom de variable.

    Citation Envoyé par pedro.ortega Voir le message
    l'erreur d'auparavant n'apparait plus mais le programme n'arrive pas à générer le code barre.
    Mouais. Tu l'as appelée ta fonction ???
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  10. #10
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 26
    Par défaut
    J'ai effectué quelques changements dans le programme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    # coding: utf-8
     
    import barcode
    import random
    def barcode_generator():
        num= random.randrange(1,10000000)
        print(num)
        image=barcode.get_barcode_class('ean13')
        image_bar=image(u'{}'.format(num))
        codebarre=open('C:\\Users\Acer\Desktop\Saint Nicolas\Projet\codebarre.svg',"wb")
        image_bar.write(codebarre)
        return "Code barre generé avec succès"
        file.close()
    Mais pour l'instant je n'ai pas encore trouvé où put etre l'erreur.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par pedro.ortega Voir le message
    Mais pour l'instant je n'ai pas encore trouvé où put etre l'erreur.
    Il suffit de lire entièrement les réponses apportées :
    Par expérience, probable que cela vienne de la ligne 8: file = open('C:\Users\...') car le U après le \ indique que la suite doit être interprétée comme le début d'un point Unicode.
    Pour éviter çà, il faut doubler les \ ou préfixer la chaîne de caractères par un r - open(r'C:\Users\...') - ou utiliser des / à la place des \.
    @Sve@r

  12. #12
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 26
    Par défaut
    J'ai essayé de faire l'ensemble des changements que vous m'aviez conseillé mais malheureusement ça n'a rien changé

  13. #13
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 753
    Par défaut
    Citation Envoyé par pedro.ortega Voir le message
    Mais pour l'instant je n'ai pas encore trouvé où put etre l'erreur.
    Votre programme ne fait rien sinon définir une fonction qui n'est pas appelée.

    Citation Envoyé par pedro.ortega Voir le message
    En effet, je suis un débutant dans l'ensembles des langages et je cherche à créer plusieurs programmes qui générent des Codes barres.
    Il est préférable d'apprendre à programmer avec un seul langage, histoire d'avoir des repères sur ce que programmer veut dire. Puis d'utiliser (prudemment) ces repères pour programmer avec d'autres langages.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  14. #14
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2022
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2022
    Messages : 26
    Par défaut
    Du coup il faut que je rajoute execute à mon programme comme ci-dessus ?
    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
     
    # coding: utf-8
    from distutils.util import execute
    import barcode
    import random
    def barcode_generator():
        num= random.randrange(1,10000000)
        print(num)
        image=barcode.get_barcode_class('ean13')
        image_bar=image(u'{}'.format(num))
        codebarre=open('C:\\Users\Acer\Desktop\Saint Nicolas\Projet\codebarre.svg',"wb")
        image_bar.write(codebarre)
        return "Code barre generé avec succès"
    execute(barcode_generator)
    barcode_generator.close()

  15. #15
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 753
    Par défaut
    Citation Envoyé par pedro.ortega Voir le message
    Du coup il faut que je rajoute execute à mon programme comme ci-dessus ?
    Il faudrait surtout ouvrir un tuto. pour apprendre les bases plutôt que d'écrire un n'importe quoi récupéré je ne sais où que vous ne comprenez pas!
    Vous y trouverez des tas d'exercices moins passionnants que la génération de code barres certes mais indispensables pour apprendre à maîtriser ce que vous faites.

    Ici, pas besoin de fonction (et vous ne savez pas ce que c'est), le code suivant n'en utilise pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    # coding: utf-8
    import barcode
    import random
    num= random.randrange(1,10000000)
    print(num)
    image=barcode.get_barcode_class('ean13')
    image_bar=image(u'{}'.format(num))
    codebarre=open(r'C:\Users\Acer\Desktop\Saint Nicolas\Projet\codebarre.svg',"wb")
    image_bar.write(codebarre)
    print("Code barre generé avec succès")
    et ça fait pareil...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  16. #16
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 837
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 837
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par pedro.ortega Voir le message
    J'ai effectué quelques changements dans le programme:...
    Mouais. Effectivement tu fermes le fichier. Mais déjà le souci c'est que tu appelles file.close()sauf que tu as changé le nom de la variable "file" pour "codebarre" lors de l'ouverture. Moi j'avais écrit file.close() parce que dans ton code d'origine la variable se nommait "file". Si tu changes le nom de la variable lors de l'ouverture il faut essayer de suivre le fil de sa propre logique pour pouvoir alors reporter ce changement à la fermeture.
    Et surtout le fermer après le return, c'est à dire après que la fonction ait terminé son boulot, c'est... con.

    Citation Envoyé par pedro.ortega Voir le message
    Mais pour l'instant je n'ai pas encore trouvé où put etre l'erreur.
    Joli ce passé simple. C'est stylé.
    Mais t'as pas répondu à ma précédente question: as-tu appelé la fonction "barcode_generator" ??? Parce que si tu ne l'appelles pas, elle ne s'appellera pas toute seule.

    Accessoirement (je viens de le voir), je ne connais pas le module "barcode" mais je pense quand-même que l'instruction d'écriture ne doit pas être image_bar.write(codebarre) mais plutôt codebarre.write(image_bar) (ça me semble plus logique que ce soit le fichier qui écrive le codebarre plutôt que ce soit le codebarre qui écrive le fichier). C'est sûr tu eus donné (ouais, moi j'utilise le passé antérieur !!!) à tes variables des noms plus en adéquation avec leur but...

    Citation Envoyé par wiztricks Voir le message
    et ça fait pareil...
    Exact. D'ailleurs t'as même oublié toi aussi de fermer le fichier. Ptet devrais-tu lire le même tuto

    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  17. #17
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 753
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Exact. D'ailleurs t'as même oublié toi aussi de fermer le fichier. Ptet devrais-tu lire le même tuto
    C'est une bonne habitude à prendre mais dans ces petits exemples de code, je sais que Python le fait pour moi (avec un flush à la clef).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  18. #18
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut
    De ce que je comprends, le programme est censé générer un code barre aléatoire** correspondant à 13 digits.
    Il faut donc formater la string sur 13 digit.(donc ajouter des zéros si nécessaire)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    from barcode import EAN13
    import random
     
    num = random.randint(1,9999999999999)
    ean = EAN13(f'{num:013}')
    ean.save('bidonSVG')
    ** C'est pour quoi faire?

  19. #19
    Membre actif
    Homme Profil pro
    Animateur Numérique
    Inscrit en
    Février 2013
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Animateur Numérique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2013
    Messages : 143
    Par défaut
    Citation Envoyé par pedro.ortega Voir le message
    Bonjour à tous,
    En effet, je suis un débutant dans l'ensembles des langages et je cherche à créer plusieurs programmes qui générent des Codes barres.
    Je vous mens pas que je n'ai pas trop compris ce qui est balise code ainsi que le fichier n'est pas fermé...
    Je met juste après une capture d'écran mais cette fois plus zoomer, l'erreur d'auparavant n'apparait plus mais le programme n'arrive pas à générer le code barre.
    Merci de votre aide.
    Salut,
    Je ne vois pas à quoi te sert ce code, puisque qu'un code barre est un identifiant unique d'un article ou d'un produit...
    De plus tu utilises le format Européen (ean13), donc une longueur de 12 chiffres et non un chiffre compris en 1 et 100000000.

    Un code qui fonctionne mais bon... Sans réelle utilité

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import barcode
     
    def barcode_generator():
        num = "100000902922"
        image = barcode.get_barcode_class("ean13")
        image_bar = image(f"{num}")
     
        # Sauvegarde du fichier test.svg avec le chemin ci-dessous que tu devras remplacer
        image_bar.save('/Users/DIABLO76/Desktop/palette/test')
     
    barcode_generator()

  20. #20
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 923
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par Diablo76 Voir le message
    Je ne vois pas à quoi te sert ce code, puisque qu'un code barre est un identifiant unique d'un article ou d'un produit...
    Probablement pour générer des faux
    Citation Envoyé par Diablo76 Voir le message
    Un code qui fonctionne mais bon...
    Le mien fonctionnait aussi (même mieux^^)
    Citation Envoyé par Diablo76 Voir le message
    De plus tu utilises le format Européen (ean13), donc 12 chiffres et non un chiffre compris en 1 et 100000000.
    ça par contre c'était à préciser

Discussions similaires

  1. Générer des codes barre EAN-13
    Par nico62370 dans le forum VBA Access
    Réponses: 4
    Dernier message: 03/06/2014, 10h17
  2. [PHP 4] Générer un code barre 2d PDF417
    Par moumoune_11 dans le forum Langage
    Réponses: 4
    Dernier message: 11/03/2009, 19h43
  3. Réponses: 2
    Dernier message: 19/02/2008, 21h55
  4. Comment générer un code barre 2D ?
    Par topben dans le forum Composants VCL
    Réponses: 2
    Dernier message: 23/01/2008, 17h52
  5. [GD] Générer un code barre 128
    Par fast462 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 12/01/2008, 18h42

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