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 :

'ascii' codec can't encode character


Sujet :

Python

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 42
    Par défaut 'ascii' codec can't encode character
    Bonjour

    Je souhaite télécharger des pdf à partir d'une liste de liens que je lis dans un fichier.
    J'y arrive sauf que certains ont des accents et j'ai l'erreur:
    UnicodeEncodeError: 'ascii' codec can't encode character

    J'ai essayé avec codecs, io ou en précisant UTF-8 mais cela ne marche pas...

    Voici mon code:
    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
    import urllib.request
    import time
     
    def Read_File(name): 
        with open("pdf_list.txt",'r') as filin:
            for ligne in filin:
                if name in ligne:
                    return (ligne[(ligne.rfind('[')):(ligne.rfind(']'))+1])
     
    pdf_links= eval(Read_File("pdf_list"))
     
    for url_file in pdf_links:
    	print(url_file)
    	name_file ='file.pdf'
    	urllib.request.urlretrieve(url_file,name_file)
    	time.sleep(1)
    Merci

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    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 762
    Par défaut
    Salut,

    Citation Envoyé par DantonLuc Voir le message
    J'y arrive sauf que certains ont des accents et j'ai l'erreur:
    UnicodeEncodeError: 'ascii' codec can't encode character

    J'ai essayé avec codecs, io ou en précisant UTF-8 mais cela ne marche pas..
    Si vous n'essayez pas avec l'encoding qui va bien, en prendre un au hasard ne va pas toujours marcher. A vous de savoir quel encoding a été utilisé pour le fichier.

    note: les PDF sont codés en ASCII et la bibliothèque qui lit le fichier devrait savoir fabriquer les caractères non-ASCII qui vont bien à partir des informations qu'il contient. A partir de là, on récupère un string Unicode qu'on pourra écrire avec l'encoding qu'on veut dans un fichier texte.

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

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 42
    Par défaut
    Merci pour votre réponse.

    je ne sais pas comment trouver l'encoding de mon fichier qui contient les liens.

    J'ai trouvé les liens avec beautifulSoup et j'ai crée une liste avec.

    Je l'ai enregistré comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    with open('pdf_list.txt','w') as f:
        f.write('pdf_list=')
        f.write(str(pdf_list_ss))

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Avez-vous moyen de regénérer le fichier pdf_list.txt ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    with open('pdf_list.txt','w', encoding='utf-8') as f:
        f.write('pdf_list=')
        f.write(str(pdf_list_ss))

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 42
    Par défaut
    Oui je viens de le faire en ajoutant l'encoding='utf-8'

    Mais j'ai toujours la même erreur lorsque j'essaye de les télécharger.
    Ca marche sauf si l'url a un accent dans son url, du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    https://www.site.en question/nomdufichieravecun_é_dansletitre.pdf

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    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 762
    Par défaut
    Citation Envoyé par DantonLuc Voir le message
    Ca marche sauf si l'url a un accent dans son url, du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    https://www.site.en question/nomdufichieravecun_é_dansletitre.pdf
    Ca serait bien de montrer le message d'erreur complet et le code qui va avec: une URL avec des accents doit être aussi encodée (mais pas UTF-8). Du coup ce que vous montrez n'a pas trop de sens.

    Par ailleurs, décrire un problème se fait avec un minimum de termes techniques qui s'acquièrent avec de la formation. Sinon, vous racontez des trucs que personne ne comprend.

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

  7. #7
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 42
    Par défaut
    voila le code
    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
    import urllib.request
    import time
     
    def Read_File(name): 
        with open("pdf_list.txt",'r') as filin:
            for ligne in filin:
                if name in ligne:
                    return (ligne[(ligne.rfind('[')):(ligne.rfind(']'))+1])
     
    pdf_links= eval(Read_File("pdf_list"))
     
    for url_file in pdf_links:
    	print(url_file)
    	name_file ='file.pdf'
    	urllib.request.urlretrieve(url_file,name_file)
    	time.sleep(1)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Traceback (most recent call last):
      File "/Users/JC/Desktop/Python Proxy/read_file.py", line 15, in <module>
        urllib.request.urlretrieve(url_file,name_file)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 239, in urlretrieve
        with contextlib.closing(urlopen(url, data)) as fp:
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 214, in urlopen
        return opener.open(url, data, timeout)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 517, in open
        response = self._open(req, data)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 534, in _open
        result = self._call_chain(self.handle_open, protocol, protocol +
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 494, in _call_chain
        result = func(*args)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1385, in https_open
        return self.do_open(http.client.HTTPSConnection, req,
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1342, in do_open
        h.request(req.get_method(), req.selector, req.data, headers,
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1255, in request
        self._send_request(method, url, body, headers, encode_chunked)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1266, in _send_request
        self.putrequest(method, url, **skips)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1104, in putrequest
        self._output(self._encode_request(request))
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1184, in _encode_request
        return request.encode('ascii')
    UnicodeEncodeError: 'ascii' codec can't encode character '\u0301' in position 57: ordinal not in range(128)

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    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 762
    Par défaut
    Si l'URL contient des caractères non-ASCII, il faut déjà l'encoder avec url.parse.quote.

    Et accessoirement comprendre comment est construite une URL pour ne pas appliquer cette fonction aveuglément.

    Ce qui donnerait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> from urllib.parse import quote
    >>> quote('nomdufichieravecun_é_dansletitre.pdf')
    'nomdufichieravecun_%C3%A9_dansletitre.pdf'
    >>>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 42
    Par défaut
    Merci pour ton aide.
    Drôlement compliqué la gestion des accents...

    Voici mon code final si ca peut aider d'autres personnes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    import urllib.request
    import time
    import ssl
    from urllib.parse import quote 
    from urllib.parse import urlparse
     
    def Read_File(name): 
        with open("pdf_list.txt",'r') as filin:
            for ligne in filin:
                if name in ligne:
                    return (ligne[(ligne.rfind('[')):(ligne.rfind(']'))+1])
     
    #ouverture du fichier txt
    pdf_links= eval(Read_File("pdf_list"))
     
    for url_file in pdf_links:
    	o = urlparse(url_file) 
    	url_syntax = o.scheme+'://'+o.netloc 
    	path = quote(o.path) #on passe la fin de l'url en quote pour le probleme des accents 
    	name_file ='file.pdf'
    	urllib.request.urlretrieve(url_syntax+path,name_file) #on télécharge le pdf
    	time.sleep(1)

  10. #10
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    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 762
    Par défaut
    Salut,

    Citation Envoyé par DantonLuc Voir le message
    Drôlement compliqué la gestion des accents...
    C'est pas compliqué, il faut juste qu'une URL puisse être interprétée sans ambiguïté partout dans le monde. Donc on fait un standard... et on s'applique à le respecter (comme on le fait pour le code de la route).

    C'est la raison pour laquelle, il n'est pas très futé de coder sans s'être formé sur le domaine avec lequel on travaille...

    Citation Envoyé par DantonLuc Voir le message
    Voici mon code final si ca peut aider d'autres personnes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ...
     
    #ouverture du fichier txt
    pdf_links= eval(Read_File("pdf_list"))
     
    ...
    A quoi sert ce "eval"? Vous n'avez pas appris à utiliser une fonction?


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

  11. #11
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 42
    Par défaut
    S'il faut attendre d'être expert pour commencer à coder... Je fais cela pour le plaisir. J'apprends, je me trompe et c'est comme cela que j'avance. Si je vous écoutais je ferais plus rien.

    Le "eval" permet de passer de str à list. Je n'arrivais pas à utiliser les fichiers ou sont stockés mes pdf. On m'a proposé cela comme solution.
    Qu'est ce qui vous gêne la dedans?

  12. #12
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Vous auriez pu également faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    handle = open('pdf_list')
    pdf_links = handle.readlines()


    ou zencore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    with open('pdf_list') as handle:
        for line in handle:
            pdf_links.append(line.strip())
    Ici au moins, ça retire les \n

  13. #13
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 42
    Par défaut
    Pas sûr de bien comprendre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    with open("pdf_list.txt",'r') as filin:
            pdf_links = filin.readlines()
     
    print(pdf_links)
    print(type(pdf_links))
    for link in pdf_links:
        print(link)
    Mon fichier "pdf_list.txt" est de ce type:
    pdf_list=['lien1','lien2']

    si je fais comme conseillé, à la sortie du readlines(), cela m'affiche:
    ['pdf_list=['lien1','lien2']']
    qui est une liste mais de 1 élément

    Et si je fais une boucle for dessus pour le parcourir, cela donne:
    pdf_list=['lien1','lien2']

    Alors que moi je souhaite récupérer le lien1, puis le lien2 etc...
    Peut être que ma façon de créer le fichier "pdf_links.txt" n'est pas bonne, mais le "eval" dans mon cas me permet d'avoir ce que je veux.

  14. #14
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Ok, je comprends mieux l'usage du eval du coup

    J'ai tellement l'habitude de traiter des fichiers en entrée de programmes qui ont (dans le cas ici) un nom de fichier par ligne.

  15. #15
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    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 762
    Par défaut
    Citation Envoyé par DantonLuc Voir le message
    Peut être que ma façon de créer le fichier "pdf_links.txt" n'est pas bonne, mais le "eval" dans mon cas me permet d'avoir ce que je veux.
    On fait de l'informatique! Ce qui suppose mettre en forme les données pour y récupérer facilement les informations qu'elles contiennent.

    Si votre fichier contenait un lien par ligne:
    au lieu depdf_list=['lien1','lien2']
    il serait bien plus facile de récupérer la liste des liens.

    Après bien sûr on peut toujours bricoler en se rattrapant avec ce qu'on veut pour que çà marche le plus rapidement possible sans trop se poser de questions... mais difficile d'aller demander de l'aide dans un forum de developpeurs où vous êtes supposé avoir un peu appris à programmer avant de poster.

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

  16. #16
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 42
    Par défaut
    Oui je comprends bien mais cela ne s'adapte pas à mon cas. Ce que je poste est simplifié.
    Je veux bien votre avis sur ma problématique.

    Je souhaite utiliser diverses infos d'un fichier: user, link, comment_user etc... C'est un fichier que je dois pouvoir lire, moi, sans problème.
    Je ne veux pas avoir un fichier par infos justement pour pouvoir les lire facilement sans avoir à ouvrir plein de fichiers.

    Actuellement mon fichier est de la forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    users= ['toto', 'tata', 'titi']
    links =['lien1','lien2']
    comment_toto=['blabla','boilll','fgfge']
    comment_tata=['blagfgbla','bhdhlll','fhjjhje','fegegege']
    comment_titi=['bgfgflabla','boifglll','fgfgfgfe','dfghdg']
    Une info par ligne me parait de la folie...
    Comment feriez-vous pour organiser cela dans mon cas? Sachant que j'ai plus de 13 users, jusqu'à 5 links et des comments/user qui peuvent aller jusqu'à 20...

  17. #17
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Citation Envoyé par DantonLuc Voir le message
    Oui je comprends bien mais cela ne s'adapte pas à mon cas. Ce que je poste est simplifié.
    Je veux bien votre avis sur ma problématique.
    Pourquoi ne pas exposer le problème réel dès le départ au lieu d'une version simplifiée ?

    Votre fichier d'entrée n'est pas pratique du tout. Vous avez les users en tant que variables potentielles et leurs commentaires avec le nom du user écrit en dur.

    Si demain le user toto n'est plus dans le fichier, quoi faire de la ligne comment_toto ?

    A quels users sont rattachées les valeurs links ?

    Une solution comme une autre serait de proposer une version comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    USER|toto|blabla, boilll, fgfge
    USER|tata|..., ..., ...
    USER|titi|..., ..., ...
    LINKS|lien1, lien2
    Vous splittez chaque ligne lue en fonction du séparateur employé (ici le pipe |). Vous avez le premier élément en 1ère position définissant le type de contenu. Dans le cas des USERs, le second mentionne le user concerné et la suite, les commentaires.

  18. #18
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 42
    Par défaut
    A la base j'ai posté pour un problème d'encodage avec des accents dans l'URL
    J'ai donc simplifié mon programme a juste cette partie. Je n'avais pas envie de perdre les lecteurs, ni qu'on me dise autre chose sur mon code.
    Maintenant ca tourne parfaitement même si les URL ont des accents.
    Et mon fichier "source" tient sur une page et est presque "facile" à lire.

    Je comprends mieux comment j'aurais pu structurer suivant votre exemple. Merci

  19. #19
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    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 762
    Par défaut
    Salut,

    Citation Envoyé par DantonLuc Voir le message
    Une info par ligne me parait de la folie...
    Comment feriez-vous pour organiser cela dans mon cas? Sachant que j'ai plus de 13 users, jusqu'à 5 links et des comments/user qui peuvent aller jusqu'à 20...
    Ce sont des informations structurées qui se mettent sous la forme d'une composition de listes et de dictionnaire. JSON est un des formats qui permet de "sérialiser" tout çà facilement.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 27/04/2014, 23h43
  2. Réponses: 10
    Dernier message: 26/01/2013, 16h25
  3. UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9'
    Par slaima15 dans le forum Général Python
    Réponses: 4
    Dernier message: 06/06/2011, 23h18
  4. UnicodeEncodeError: 'ascii' codec can't encode character
    Par WebTotoche dans le forum Général Python
    Réponses: 5
    Dernier message: 06/04/2011, 08h58
  5. 'ascii' codec can't decode byte
    Par Bibicmoi dans le forum Général Python
    Réponses: 5
    Dernier message: 28/08/2007, 23h15

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