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

C# Discussion :

télécharcher un fichier depuis C#


Sujet :

C#

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 21
    Points : 8
    Points
    8
    Par défaut télécharcher un fichier depuis C#
    Bonjour,
    Je me tourne vers vous car je progresse à tâtons dans la conception d'une petite appli, et là je me heurte à un domaine que je ne connais pas du tout : le web.
    Je souhaite télécharger un fichier .csv depuis une page web et pour cela j'ai écris le code suivant :
    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
     partial class BggLogin
        {
            static private string UserName;
            private string url = string.Format("https://boardgamegeek.com/geekcollection.php?action=exportcsv&subtype=boardgame&username={0}&exporttype=csv&all=0",UserName);
     
     
            public BggLogin(string usrNm)
            {
                UserName = usrNm;
            }
     
            private void Download()
            {
                WebClient webClient = new WebClient();
                webClient.DownloadFile(url, "test.csv");
            }
        }
    Lorsque j'ouvre le lien depuis un navigateur, celui-ci me propose bien de télécharger le fichier (après un temps d'attente toutefois) mais lorsque le code s'en charge il me retourne un fichier .csv sans rapport avec celui que je souhaite avoir.
    Je me doute qu'il s'agit d'une mauvaise utilisation de ma part, mais je débute et je n'y connais absolument rien en web, donc je me tourne vers vous avec l'espoir que vous pourrez m'aiguiller

    Merci.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique
    Inscrit en
    Décembre 2014
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 449
    Points : 991
    Points
    991
    Par défaut
    je connais pas du tout cette manière de faire, mais au cas ou je te dirais de vérifier si par hasard y'a pas un encodage à spécifier pour le transfert. Ca donne quoi au niveau des différences entre ce que tu envoies et ce que tu obtiens.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    Le fichier que j'attends est un .csv qui contient une liste de jeux avec leurs propriétés (nb de joueurs, durée, titre, etc...) et c'est bien ce que je reçois quand je colle l'adresse dans un navigateur, mais ce que je reçois à la place depuis mon code ressemble au code source d'une page web :
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    ...

    je ne vais pas coller tout le résultat mais voilà l'idée.

  4. #4
    Membre du Club

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 47
    Points : 68
    Points
    68
    Par défaut
    Si tu c'est toi qui mets les données en ligne pourquoi ne passerais-tu pas par une base de données?

    si c'est pas le cas deso j'ai pas exploré c# coté web.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    Techniquement c'est "moi" qui mets les données en lignes car le site en question est en lui même une base de donnée de jeux, et l'utilisateur créé sa liste de jeux à partir de la banque de données. L'idée en fait est de récupérer cette liste créée pour l'utiliser dans mon programme. ça fonctionne très bien quand je télécharge le .csv depuis le navigateur puis que je l'ouvre depuis mon programme, mais je voudrais essayer de me passer de cette étape pour faciliter l'utilisation, et aussi parce que pour l'instant mon programme tourne sous Windows mais que j'aimerais bien essayer de le faire tourner sous Android.

  6. #6
    Membre du Club

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 47
    Points : 68
    Points
    68
    Par défaut
    A ta place j'essaierai pas de telecharger le fichier mais juste voir le contenu et recuperer ce qui m'interesse en ecrivant des requetes. pour l'app mobile c'est une autre histoire et j'y connais rien

  7. #7
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 697
    Points
    10 697
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par Ganimas Voir le message
    Le fichier que j'attends est un .csv qui contient une liste de jeux avec leurs propriétés (nb de joueurs, durée, titre, etc...) et c'est bien ce que je reçois quand je colle l'adresse dans un navigateur, mais ce que je reçois à la place depuis mon code ressemble au code source d'une page web :
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    ...

    je ne vais pas coller tout le résultat mais voilà l'idée.
    Justement, ça pourrait être intéressant de voir exactement ce qu'il y a. S'agit-il d'une erreur 404 ? 403 ? D'un formulaire d'identification ? D'une redirection ? Plein de possibilités !
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    Et bien il semblerait qu'il s'agisse du code source de la page de téléchargement, enregistré en .csv.
    Il s'agit de cette page : https://boardgamegeek.com/geekcollec...type=csv&all=0
    dans le .csv je retrouve la même chose que quand j'affiche le code source de la page. :/

    Citation Envoyé par tardash Voir le message
    A ta place j'essaierai pas de telecharger le fichier mais juste voir le contenu et recuperer ce qui m'interesse en ecrivant des requetes. pour l'app mobile c'est une autre histoire et j'y connais rien
    Effectivement ça serait l'idéal, mais là je ne sais même pas par quel bout l'aborder ^^' j'ai commencé à apprendre C# il y a environ 3 semaines (au doigt mouillé) et il y a encore pas mal de choses que je ne connais pas! Je n'ai aucune formation dans ce domaine et du coup il y a des tonnes de choses que je découvre au fur et à mesure. Ce qui est très fun, mais du coup je peux bloquer rapidement aussi.

  9. #9
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 697
    Points
    10 697
    Billets dans le blog
    21
    Par défaut
    Pour ma part, quand je suis ton lien, je tombe sur une page, pas sur un fichier CSV. Donc rien d'anormal à ce que ton fichier CSV contienne le contenu de la page si tu utilises cet URL
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par François DORIN Voir le message
    Pour ma part, quand je suis ton lien, je tombe sur une page, pas sur un fichier CSV. Donc rien d'anormal à ce que ton fichier CSV contienne le contenu de la page si tu utilises cet URL
    Effectivement, la première fois qu'on clique sur le lien, on arrive sur une page de ce type:
    Nom : 1.PNG
Affichages : 301
Taille : 166,0 Ko

    Mais après quelques secondes, si on rafraichit, normalement on obtient une page de téléchargement:
    Nom : 2.PNG
Affichages : 294
Taille : 60,4 Ko

    En fait, de ce que j'en comprends, le fichier n'existe pas nécessairement dès le départ, mais la première visite de l'url permet de lancer un export, et dès qu'il est prêt, l'url pointe vers le fichier .csv.

    Au final, comme le disait tardash, ce qui m'intéresse n'est pas tant le .csv en lui même, mais le fait de pouvoir récupérer la liste des jeux qu'il contient pour l'importer dans mon appli. Le .csv est la seule manière que j'ai trouvé pour le faire jusqu'ici mais si il y a une meilleure option je suis preneur!
    J'ai pensé par exemple au fait de "lire" la page avec tous les jeux ( https://boardgamegeek.com/collection...boardgame&ff=1 par exemple) puis pour chaque rangée du tableau de récupérer le titre et l'id du jeu, pour aller ensuite visiter la page du jeu (l'url étant composée du titre et de l'id) où se trouvent les informations qui m'intéressent et les récupérer, mais je ne sais pas si c'est possible?

  11. #11
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 697
    Points
    10 697
    Billets dans le blog
    21
    Par défaut
    Ta page dois rediriger vers la bonne URL, c'est cette URL qu'il faut alors utiliser pour un téléchargement direct
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    J'ai essayé de récupérer l'url en cliquant sur "copier l'adresse d'origine du téléchargement"

    Nom : 3.png
Affichages : 292
Taille : 24,1 Ko

    mais j'obtiens la même url que précédemment :/

  13. #13
    Membre du Club

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 47
    Points : 68
    Points
    68
    Par défaut
    essaie de creuser ton idée, j'espère que ça aboutira.

    pour les langages sql, le problème est que si tu ne connais pas de langage sql il va falloir apprendre et faut-il aussi que sa soit réellement une base de donnée. parce que si c'est une base de donnée ton site ne jouent aucun rôle la-dedans, ce sera juste entre c# et ta base de donnée. bref je te conseille de faire une chose a la fois sinon tu vas te perdre et d'explorer ton idée de téléchargement.

    courage

  14. #14
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 697
    Points
    10 697
    Billets dans le blog
    21
    Par défaut
    Si c'est la même URL, c'est que ta page traite différemment la première requête de la seconde. Dans le premier cas, elle retourne du code HTML, dans l'autre, le fichier CSV.

    Mais dans ce cas, il faudrait voir le code de la page qui gère le traitement de la requête.
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    @tardash tu as sûrement raison, je vais éviter de m'éparpiller...

    @François DORIN désolé pour la question mais... comment puis-je voir ce code? ^^'

  16. #16
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 697
    Points
    10 697
    Billets dans le blog
    21
    Par défaut
    Pardon, j'avais mal lu la discussion, les données sont à toi, mais le site ne l'est pas. Là c'est problématique...
    Pour contourner, tu peux essayer de lancer 2x le téléchargement. La première fois j'ai eu la page, la seconde le CSV. Cela marchera peut être.
    Sinon, je n'ai pas trop d'idée...
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    Effectivement c'est peut être une solution envisageable. Le seul soucis étant que le temps d'export a l'air de varier d'un utilisateur à l'autre (il est possible de télécharger la liste de jeux de n'importe quel utilisateur du site), il faudrait donc trouver un moyen de vérifier la seconde fois que le fichier téléchargé est bien le bon. Je vais essayer de réfléchir à ça ^^
    Merci.

  18. #18
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    Du nouveau dans ma quête !
    Le site dont j'essaie d'exporter des données dispose apparemment d'une API (un API?):
    https://boardgamegeek.com/wiki/page/BGG_XML_API2
    de ce que j'en comprends, je cherche à exporter une collection, donc je dois envoyer créer une url du type:
    "https://www.boardgamegeek.com/xmlapi2/collection?username=[USERNAME]&[+les différents paramètres]"
    Jusqu'ici j'ai bien compris?
    Mais apparemment je dois faire en sorte que tant que le "code de la réponse" soit 200 au lieu de 202, mon code continue de réessayer.
    "Note that you should check the response status code... if it's 202 (vs. 200) then it indicates BGG has queued your request and you need to keep retrying (hopefully w/some delay between tries) until the status is not 202. More info at Export collections has been updated (XMLAPI developers read this)"
    Problème, je ne sais pas ce dont il s'agit ^^'
    Quelqu'un pourrait m'éclairer à ce sujet?

  19. #19
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    "Note that you should check the response status code... if it's 202 (vs. 200) then it indicates BGG has queued your request and you need to keep retrying (hopefully w/some delay between tries) until the status is not 202. More info at Export collections has been updated (XMLAPI developers read this)"
    La réponse se situe dans l'énoncé :

    Il faut créer une boucle du type :

    tant que le statusCode=202 alors on exécute la 1ère requête..... sinon on sort de la boucle et on exécute la 2nde requête.

    IMPORTANT : Il faut qu'entre chaque requête tu ajoutes une sorte de tempo sinon le site va croire que tu tentes de Flooder et s'il est bien fait il risque dans un 1er temps de blacklister ton @IP !

    A+

  20. #20
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    La réponse se situe dans l'énoncé :

    Il faut créer une boucle du type :

    tant que le statusCode=202 alors on exécute la 1ère requête..... sinon on sort de la boucle et on exécute la 2nde requête.
    Oui effectivement j'avais bien en tête la logique, mais ma question portait sur la nature de ce fameux code ^^' (je n'y connais vraiment rien en web...) après m'être renseigné j'ai fini par comprendre qu'il s'agit d'un code de réponse http et j'ai cherché un moyen de l'obtenir, mais ce que j'ai essayé ne semble pas fonctionner :
    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
    27
    28
    29
    30
    31
    32
    33
    34
     
    private void SyncWithBgg()
            {
                try
                {
     
                    HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
                    HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
                    if ((int)response.StatusCode == 202)//en attente sur le serveur, on patiente et on réessaye
                    {
                        waiting = true; //Booléen qui sert de double critère, 
                                        //mis à faux si l'utilisateur annule 
                        //(permet de sortir de la boucle while)
     
                        while ((int)response.StatusCode == 202 && waiting)
                        {
                            this.messageTb.Text = "connexion à BGG, cela peut prendre quelques minutes...";
                            System.Threading.Thread.Sleep(2000);
                            webRequest.GetResponse(); //pas sûr que ce soit la bonne manière de faire ça...?
                        }
                    }
                    else if((int)response.StatusCode == 200)
                    {
                        this.messageTb.Text = "trouvé!";
                        //ok, on synchronise! mais comment...?
                    }
     
                }
                catch(WebException we)
                {
                    this.messageTb.Text = we.ToString();
                }
            }
        }
    Les quelques essais que j'ai fait ne semblent pas fonctionner car le code passe directement au "else if" sans effectuer de premier passage, de plus j'ai essayé avec un nom d'utilisateur erroné et ça passe quand même :/ une idée de ce que j'ai fait de travers?

Discussions similaires

  1. Télécharger un fichier depuis internet
    Par NotANumber dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 18/11/2005, 20h44
  2. download de fichier depuis un serveur web
    Par minusette dans le forum Modules
    Réponses: 9
    Dernier message: 14/10/2005, 09h10
  3. Comment extraire un fichier depuis un CD avec secteurs illisibles ?
    Par Millenod dans le forum API, COM et SDKs
    Réponses: 13
    Dernier message: 22/01/2005, 12h09
  4. Réponses: 3
    Dernier message: 29/10/2004, 13h54

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