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

WinDev Discussion :

Lire les lignes d'un fichier .html [WD20]


Sujet :

WinDev

  1. #1
    Membre régulier
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Janvier 2014
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 160
    Points : 71
    Points
    71
    Par défaut Lire les lignes d'un fichier .html
    Bonjour ç tous,

    Je voudrais savoir par quoi je dois commencer afin de réaliser une petite app qui sert à extraire des données existent sur une table dans une page web .html.

    J'ai cherché un peu j'ai trouvé des trucs lié au XML et non pas au HTML.

    Plan :

    - Parcourir les lignes du fichier .html
    - Chercher la table et stocker les <TR> <TD> .. dans une table puis l'extraire dans un fichier XL.

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Commence par fchargetexte, ensuite il te faudra parcourir la chaîne et trouver les occurrences de la chaîne "<TR><TD>" avec chaineoccurence.

    Ca, ce sont les mots clés de base, ensuite, à toi de te creuser les méninges pour trouver le bon algorithme...
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  3. #3
    Membre régulier
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Janvier 2014
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Commence par fchargetexte, ensuite il te faudra parcourir la chaîne et trouver les occurrences de la chaîne "<TR><TD>" avec chaineoccurence.

    Ca, ce sont les mots clés de base, ensuite, à toi de te creuser les méninges pour trouver le bon algorithme...
    Jusqu'à maintenant j'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    FichierSélectionné est une chaîne
    FichierSélectionné = fSélecteur("C:\Répertoires", "Fichier.html", ...
    "Sélectionner un fichier", ...
    "Fichier HTML (*.html)" + TAB + "*.html" + RC + "Tous" + TAB + "*.*", "HTML")
    sUrl est une chaîne
     
    sUrl=fChargeTexte(FichierSélectionné)
     
    Info(sUrl)
    et ça affiche le code mais avec le problème des accents.

    Maintenant je vais mettre la condition SI ChaîneOccurrence(sUrl,"<table>Site",SansCasse)>0 ALORS

    Alors tu peux m'aider à trouver le bon algo ?
    Comment peux-je récupérer la ligne ou il a trouvé le " <table>Site "

  4. #4
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Une piste, car je n'ai pas le temps de trop gratter, j'ai oublié de te dire qu'il faut regarder avec position :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    pour i = 1 a chaineoccurence(...)
    pos = postion()...
    // pos contient la ième occurence de la chaine recherchée.
    fin
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  5. #5
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 393
    Points
    9 393
    Par défaut
    Je n'ai pas testé, mais ce code devrait être assez proche de ce qu'il te faut.

    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
     
    po est un entier 
    sep, chlig, ch00 est une chaine 
     
    sep = "<TR><TD>"   // ou peut-être   sep = "</table"  ?  
     
    sUrl=fChargeTexte(FichierSélectionné)
     
    ch00 = sUrl
    po = position(ch00, "<table>", SansCasse )
    tantque po > 0 
        ch00 = ch00[[ po a ]]
        chlig = extraitchaine( ch00,1, sep  ) 
        trace ( chlig ) 
        po = position(ch00, "<table>" , SansCasse )
    fin
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  6. #6
    Membre régulier
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Janvier 2014
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Une piste, car je n'ai pas le temps de trop gratter, j'ai oublié de te dire qu'il faut regarder avec position :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    pour i = 1 a chaineoccurence(...)
    pos = postion()...
    // pos contient la ième occurence de la chaine recherchée.
    fin
    Merci je vais essayer avec le code de #tbc92

  7. #7
    Invité
    Invité(e)
    Par défaut
    Le code HTML, c'est la même chose qu'un code XML, et la méthode proposée précédemment est fortement déconseillée, il faut procéder avec la notion de balise et non de texte, pour trouver votre bonheur, vous pouvez vous servir de la fonction XMLExtraitChaine

  8. #8
    Membre régulier
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Janvier 2014
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    Je n'ai pas testé, mais ce code devrait être assez proche de ce qu'il te faut.

    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
     
    po est un entier 
    sep, chlig, ch00 est une chaine 
     
    sep = "<TR><TD>"   // ou peut-être   sep = "</table"  ?  
     
    sUrl=fChargeTexte(FichierSélectionné)
     
    ch00 = sUrl
    po = position(ch00, "<table>", SansCasse )
    tantque po > 0 
        ch00 = ch00[[ po a ]]
        chlig = extraitchaine( ch00,1, sep  ) 
        trace ( chlig ) 
        po = position(ch00, "<table>" , SansCasse )
    fin
    Peux-tu m'expliquer la ligne ch00 = ch00[[ po a ]] !!

    Excuse moi mais ce que j'ai compris; ce code permet d'extraire une chaine entre pos et sep.

    comment peux-je préciser la balise que je veux puisque il existe plusieurs balises avec le même nom !

    Ce code ci-dessous je l'ai extrait manuellement pour vous montrer ce que je voulais dans la phase avant dernière :

    Code html : 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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     <tr class="fondAlterne main " id="tr2615805">
                <td class="x-small listingHeight" width="2%">3</td>
                <td colspan="2" title="OT dont le ND a été reçu dans les 30 jours (HERRAS TELECOM / HERRAS CUIVRE / DELEFOSSE Xavier, le 18/04/2017, relevé en PBC). 
    OT ré-injecté. (HERRAS TELECOM / HERRAS CUIVRE / MONNIER HERVE, le 03/05/2017, relevé en ETU, Cause(s) : Autre) 
    OT avec rendez-vous. 
    OT jumelé." align="center"><span class="rouge">30j</span> <span class="rouge">R(A)</span> <span class="orange">RDV</span> <span class="orange">JUM</span></td>
                <td align="center"><span class="badge fondTypeCLT noir">CLT</span></td>
                <td>&nbsp;</td>
                <td align="center">ME1</td>
                <td>10/05/17&nbsp;<span class="x-small">(18/04/17)</span></td>
                <td>18:00</td>
                <td align="center">HEL</td>
                <td align="center">R04&nbsp;/&nbsp;TEL</td>
                <td align="center">P</td>
                <td>0327598335</td>
                <td title="Contact*: 06 16 20 32 21">RLC CLIMBE...</td>
                <td>AMARCS EN B...</td>
                <td align="center" class="nowrap"><span title="Créé le : 03/05/17 12:37*
    Expire le : 03/05/17 13:20" class="vertFonce">LBE</span></td>
                <td align="center" class="nowrap"><span><span class="vertFonce" title="TC2 : 19/04/2017 10:24">TC2</span></span></td>
                <td>
                    <span class="badge fondEtatOTPreAffecte noir">Pré-affecté</span>
                </td>        
            </tr>
     
     
    		<tr class="fondAlterneBis main " id="tr2654502">
                <td class="x-small listingHeight" width="2%">4</td>
                <td colspan="2" title="OT relevé en litige (TH – Gardé suite besoin nacelle). 
    OT dont le ND a été reçu dans les 30 jours (SADE TELECOM / CLT LILLE SADE / SAUCEZ christophe, le 12/05/2017, relevé en FIA). 
    OT avec Garantie de Temps de Relève. 
    OT avec rendez-vous." align="center"><span class="rouge">L(TH)</span> <span class="rouge">30j</span> <span class="rouge">GTR</span> <span class="orange">RDV</span></td>
                <td align="center"><span class="badge fondTypeCLT noir">CLT</span></td>
                <td>FERNANDEZ M. </td>
                <td align="center">EP1</td>
                <td>29/05/17&nbsp;</td>
                <td>14:00</td>
                <td align="center">HEL</td>
                <td align="center">PCC&nbsp;/&nbsp;DGT</td>
                <td align="center">E</td>
                <td>0328729817</td>
                <td title="Contact*: 06 77 17 17 79">ARENDARD FAN...</td>
                <td>LILLE</td>
                <td align="center" class="nowrap"><span title="Créé le : 29/05/17 13:43*
    Expire le : 29/05/17 14:26" class="vertFonce">LED</span></td>
                <td align="center" class="nowrap"><span><span class="vertFonce" title="TC2 : 29/05/2017 14:36">TC2</span></span></td>
                <td>
                    <span class="badge fondEtatOTValideST noir">Validé&nbsp;ST</span>
                </td>         
            </tr>

    Alors j'ai deux balises qui se répètent dans le code :

    <tr class="fondAlterneBis main "
    et
    <tr class="fondAlterne main "

    Je dois extraire de <tr class="fondAlterneBis main " .. jusqu'à </tr> et de <tr class="fondAlterne main " .. </tr>


    et après je dois mettre les <td> dans une table : ME1 - (18/04/17) - 18:00 - HEL - R04&nbsp;/&nbsp;TEL - 0327598335 ....

    Je voudrais juste des idées.

  9. #9
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 947
    Points : 9 275
    Points
    9 275
    Par défaut
    hello,
    comme le disais Romulus on peut se servir des fonctions xml pour traiter un fichier html. D'ailleurs il y a une option dans XmlDocument qui permet de charger un fichier HTML (xdHTML).
    Cependant il peut y avoir des problèmes d'accent ou de caractères spéciaux.
    Voici un exemple qui à partir de ton bout de fichier HTML extrait le contenu des td en utilisant la fonction XMLExecutePath. Dans l'extraction il y a certaines lignes qui sont vides car il y a parfois des span dans tes td.
    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
    35
    36
    37
    38
    39
    40
    // Chargement du fichier HTML
    Mondoc est une chaîne
    Mondoc = fChargeTexte("F:\temp\html_table2.html")
    // Création du document
    XmlDocument("Exemple", Mondoc,xdHTML)
    SI ErreurDétectée = Vrai ALORS
    	Trace(ErreurInfo(errComplet))
    	Erreur("le fichier n'est pas au format  HTML")
    	RETOUR
    FIN
    // balayage du tr avec class = fondAlterne main
    b est un booléen
    Trace("fondAlterne main")
    RequêteXPATH est une chaîne = "//tr[@class=""fondAlterne main ""]/td"
    b = XMLExécuteXPath("Exemple", RequêteXPATH)
    // Est-ce une requête XPath de sélection ?
    SI XMLTrouve("Exemple")=Vrai ALORS
    	// Parcours de la sélection résultat
    	TANTQUE XMLTrouve("Exemple")=Vrai
    		Trace(XMLPosition("Exemple"), " : ",XMLDonnée("Exemple"))
    		XMLSuivant("Exemple")
    	FIN
    	// Parcours terminé, on termine la requête
    	XMLAnnuleRecherche("Exemple")
    FIN
    Trace("===============================================================")
    Trace("fondAlterneBis main ")
    // balayage du tr avec class = fondAlterneBis main 
    RequêteXPATH = "//tr[@class=""fondAlterneBis main ""]/td"
    b = XMLExécuteXPath("Exemple", RequêteXPATH)
    // Est-ce une requête XPath de sélection ?
    SI XMLTrouve("Exemple")=Vrai ALORS
    	// Parcours de la sélection résultat
    	TANTQUE XMLTrouve("Exemple")=Vrai
    		Trace(XMLPosition("Exemple"), " : ",XMLDonnée("Exemple"))
    		XMLSuivant("Exemple")
    	FIN
    	// Parcours terminé, on termine la requête
    	XMLAnnuleRecherche("Exemple")
    FIN
    et voici le résultat :
    Nom : ExtraireHTML.png
Affichages : 1281
Taille : 46,8 Ko

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  10. #10
    Membre régulier
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Janvier 2014
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    Mille mercii jurassic pork.

    Juste certains trucs que j'ai pas compris si possible de m'expliquer :


    - Le problème des accents est-t-il résolvable ?


    - "//tr[@class=""fondAlterne main ""]/td" : peux-tu m'expliquer la combinaison ? //tr[@ /td


    - si par exemple je veux extraire <td title="Contact : 06 14 20 98 28">MESSUWE DA...</td> le N° de contact !

    J'ai essayé de mettre "//t[@title=""Contact""]/td" mais ça fonctionne pas .

  11. #11
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Oui mais il faut être sûr que ton code html a des balises fermées partout, sinon pas de xml. Et malheureusement il est très fréquent de voir des balises non fermées dans les sites web développés un peu à la va que j'te pousse.

    Bon courage...
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  12. #12
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 947
    Points : 9 275
    Points
    9 275
    Par défaut
    hello,
    Citation Envoyé par elkhazak Voir le message

    - Le problème des accents est-t-il résolvable ?
    oui certainement en jouant avec les fonctions de conversions de chaîne. Tout dépend en quoi sont encodées tes données sources (UTF8 ?, ANSI ?) et ce que tu veux en faire (affichage ? , stockage en B.D ? etc).

    Citation Envoyé par elkhazak Voir le message
    - "//tr[@class=""fondAlterne main ""]/td" : peux-tu m'expliquer la combinaison ? //tr[@ /td
    Pour bien comprendre comment fonctionne le Xpath voir un tutoriel par exemple ici.

    Citation Envoyé par elkhazak Voir le message
    - si par exemple je veux extraire <td title="Contact : 06 14 20 98 28">MESSUWE DA...</td> le N° de contact !
    title est un attribut pour extraire la valeur de l'attribut title il faut par exemple utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XMLDonnée("Exemple","title")
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    title est un attribut pour extraire la valeur de l'attribut title il faut par exemple utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XMLDonnée("Exemple","title")
    J'étais prêt à parler de XMLAttribut mais je me suis rendu compte qu'il s'agissait d'un type de variable, et non d'une fonction wlangage

  14. #14
    Membre régulier
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Janvier 2014
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    hello,

    oui certainement en jouant avec les fonctions de conversions de chaîne. Tout dépend en quoi sont encodées tes données sources (UTF8 ?, ANSI ?) et ce que tu veux en faire (affichage ? , stockage en B.D ? etc).

    title est un attribut pour extraire la valeur de l'attribut title il faut par exemple utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XMLDonnée("Exemple","title")
    Ami calmant, J.P
    Merciii Merciii Merciiiiiiii

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Juin 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Juin 2017
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Pour solutionner ton problème d'accent si ta chaine est en UTF8 tu peux utiliser la syntaxe

    chainetexte=UTF8VersChaîne(chainetexte)

    de même pour enlever les balise html tu peux utiliser

    chainetexte=HTMLVersTexte (chainetexte)

  16. #16
    Membre régulier
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Janvier 2014
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 160
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par manu59173 Voir le message
    Pour solutionner ton problème d'accent si ta chaine est en UTF8 tu peux utiliser la syntaxe

    chainetexte=UTF8VersChaîne(chainetexte)

    de même pour enlever les balise html tu peux utiliser

    chainetexte=HTMLVersTexte (chainetexte)
    Merci j'ai déjà trouvé la solution !

    Si t'as une idée concernant les span entre td merci de m'informer !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/11/2015, 17h45
  2. Lire les lignes d'un fichier .txt en HTML
    Par Moustiik78 dans le forum Langage
    Réponses: 10
    Dernier message: 15/03/2014, 02h16
  3. Lire les lignes d'un fichier avec csh
    Par nicolas581 dans le forum Linux
    Réponses: 4
    Dernier message: 24/03/2010, 16h38
  4. [JACOB] Lire les lignes d'un fichier Word
    Par djools45 dans le forum Documents
    Réponses: 2
    Dernier message: 25/05/2007, 15h34
  5. Réponses: 12
    Dernier message: 18/06/2006, 19h42

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