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 :

Requete recherche avec caractère joker


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 121
    Points : 53
    Points
    53
    Par défaut Requete recherche avec caractère joker
    Bonjour à toutes et à tous,

    Forcement si j'écris pour vous solliciter c'est qu'il y a un truc que je ne fais pas correctement.

    Des valeurs que j'utilise contiennent des tirets "-" et quelques fois des underscore "_". Du genre "xxx-xx" ou "xxx-xx_xxxxx" ou "x" peut être alphanumérique.

    J'ai fait une fenêtre avec un champ de recherche et une table qui affiche les données. Pour alimenter la table, j'ai créé une requête :

    Code SQL : 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
    SELECT *
    FROM
    produit
    WHERE
    produit.IDproduit LIKE '%{Param_1}%'
    OR
    produit.produit_code LIKE '%{Param_1}%'
    OR
    produit.produit_ref_produit LIKE '%{Param_1}%'
    OR
    produit.produit_nom_produit LIKE '%{Param_1}%'
    OR
    produit.produit_ref_fournisseur LIKE '%{Param_1}%'
    OR
    produit.produit_designation_fournisseur LIKE '%{Param_1}%'
    OR
    produit.produit_code_barre LIKE '%{Param_1}%'
    OR
    produit.produit_ligne LIKE '%{Param_1}%'

    J'ai effectué différents tests et à chaque fois j'obtenais les bons résultats.

    Dans le champ "Recherche" de la fenêtre à chaque modification de, j'ai écrit
    Code windev : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sZoneRecherche = SAI_SansNom2
    // Pour utiliser "*" au lieu de "%"
    Remplace(sZoneRecherche,"*","%")
    Timer(Procedure_RechercheProduit,100,101)

    J'utilise la procédure
    Code windev : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    PROCÉDURE Procedure_RechercheProduit()
    FinTimer(101)
     
    HExécuteRequête(REQ_RechercheProduit, hRequêteDéfaut, sZoneRecherche)
     
    TableAffiche(TABLE_Produit, taDébut)

    Je saisie dans le champ recherche un début de code "123" (sans les guillemets) et aucun résultat s'affiche alors qu'avec la requête j'ai 480 résultats. Je complète "123-45" (sans les guillemets) toujours rien, alors qu'avec la requête 12 résultats.

    Si vous pouvez me dire ou est-ce que je me plante dans le code ou ce que j'oublie. Merci.

    Grégus

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 805
    Points : 5 253
    Points
    5 253
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    1-La requête a-t-elle été initialisée correctement
    2-A-t-elle terminé de s'exécuter avant le TableAffiche
    3-Que donnent les mouchards lors de l'exécuton pas à pas

    Dans le 2° cas il serait peut-être préférable d'utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    REQ_RechercheProduit.Param_1=sRecherche
    TableAffiche(TABLE_Produit,taRéExécuteRequête)
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Membre éclairé
    Avatar de Narwe
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2013
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 253
    Points : 668
    Points
    668
    Par défaut
    Code windev : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Pour utiliser "*" au lieu de "%"
    Remplace(sZoneRecherche,"*","%")

    Ne faut-il pas plutôt écrire ceci :
    Code windev : Sélectionner tout - Visualiser dans une fenêtre à part
    sZoneRecherche = Remplace(sZoneRecherche,"*","%")

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 121
    Points : 53
    Points
    53
    Par défaut
    Bonjour Voroltinquo et Narwe, bonjour à toutes et tous.

    D'abord, merci à tous les deux pour vos retours, ça fonctionne.

    @Narwe,
    Effectivement, un point d'arrêt et un F7, m'ont permis de constater que la valeur remplacée n'était pas renvoyé à la requête. Je n'avais pas fait attention à ce détail.

    Du coup, j'ai voulu améliorer la fonctionnalité. J'avais en tête de ne pas être obligé de saisir "*" dans la zone de texte. J'avais essayé avec chaîneconstruit, mais je n'arrivais pas à le faire correctement (pas certain que ce soit cette fonction d'ailleurs que j'aurais du utiliser). Parce que je voulais que le caractère joker soit au début et à la fin des caractères saisies pour que la recherche soit la plus complète possible. En lisant ce matin une autre discussion sur un autre sujet j'ai compris comment arriver à ce résultat. J'ai donc modifié le code comme suit:
    Code windev : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    sZoneRecherche = SAI_SansNom2
    //Concatène des jokers "*" avant et après la valeur saisie 
    sZoneRecherche = "*[%sZoneRecherche%]*"
     
    // Pour Remplacer caractère "*" par le joker windev "%"
    sZoneRecherche = Remplace(sZoneRecherche,"*","%")
     
    Timer(Procedure_RechercheProduit,110,101)


    @Voroltinquo
    Citation Envoyé par Voroltinquo Voir le message
    1-La requête a-t-elle été initialisée correctement
    Je crois, en pas à pas j'avais "HExécuteRequête valeur Vrai"

    2-A-t-elle terminé de s'exécuter avant le TableAffiche
    En revanche, je suis incapable de répondre. Est-ce que la solution pour avoir cette aurai été de mettre un Trace ou un Info avant TableAffiche, ou je pouvais avoir l'information autrement? Jusqu'à présent je mettais un Trace ou un Info à la fin d'une action pour voir si elle s’exécute, mais là j'ai oublié.

    Toujours est-il que j'avais remarqué dans les mouchards que pour l'expression "REQ_RechercheProduit" toutes les valeurs étaient à zéro alors que normalement ça ne devait pas.

    Dans les deux cas j'obtiens le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    HExécuteRequête(REQ_RechercheProduit, hRequêteDéfaut, sZoneRecherche)
    TableAffiche(TABLE_Produit, taDébut)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    REQ_RechercheProduit.Param_1=sZoneRecherche
    TableAffiche(TABLE_Produit,taRéExécuteRequête)
    Lequel il vaut mieux que j'utilise, j'ai compris la différence entre taDébut et taRéExécuteRequête, c'est pour avant TableAffiche, d'autant que je voudrais m'essayer à mettre cette procédure dans une procédure globale pour la réutiliser dans d'autre fenêtre?

    Merci encore à tous les deux.

    Avec mon respect

    Grégus

    N.B.: Je passerai en Résolu dans quelques jours s'il y avait des compléments de réponse.

  5. #5
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 805
    Points : 5 253
    Points
    5 253
    Billets dans le blog
    1
    Par défaut
    taRéExécuteRequête permet d'éviter l'utilisation de la propriété ExécutionTerminée sur la requête.
    Le contenu affiché correspond vraiment à la requête..
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 121
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    propriété ExécutionTerminée
    Après lecture de la doc, je trouve cette propriété intéressante, pour moi. Mais alors, puisque taRéExécuteRequête permet d'éviter l'utilisation de cette propriété, que faut-il que je fasse pour obtenir le résultat de l'exemple?

    J'ai creusé un peu, ma tête, et j'ai fait un essai avec un ToastAffiche plutôt qu'un Info, après TableAffiche. Est-ce que c'est une bonne idée ou il vaut mieux que je m'oriente vers autre chose?

  7. #7
    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
    Bonjour,

    Tout dépend de comment est lancée l'exécution de la requête. En règle générale, je préconise le info.
    L'utilisateur clique sur un bouton. Si le traitement est long, il a tendance à décrocher son regard de l'écran (va boire un café, raconter une blague à un collègue, passer un appel, ...), Lorsqu'il revient sur l'écran, l'info lui dira que le traitement est terminé. Dans le cas du toast, s'il ne reste pas rivé à l'écran, il ne saura pas que c'est fini.
    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

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 121
    Points : 53
    Points
    53
    Par défaut
    Bonjour frenchsting,

    Merci. Effectivement, Info est mieux que ToastAffiche, je viens de rater un Toast.

    J'imagine une autre possibilité avec une barre de progression. Je n'ai pas encore tout compris au code ni à la façon de le positionner. Mais j'y travaille. Je suis entrain de lire d'anciennes discussions pour essayer de comprendre. Cela peut-être une bonne alternative et en plus (lorsque j'aurai décortiqué comment faire) je pourrai avoir une indication du temps d'exécution.

  9. #9
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 805
    Points : 5 253
    Points
    5 253
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    TANT QUE PAS REQ_RechercheProduit.ExécutionTerminée     //On boucle jusqu'à la fin de la récupération des données par la requête
    //On peut Afficher une jauge Recherche en cours
    FIN
    TableAffiche(TableProduit)     //Le champ affiche les données donc la recherche est terminée
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  10. #10
    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
    Citation Envoyé par Gregus Voir le message
    Bonjour frenchsting,

    Merci. Effectivement, Info est mieux que ToastAffiche, je viens de rater un Toast.

    J'imagine une autre possibilité avec une barre de progression. Je n'ai pas encore tout compris au code ni à la façon de le positionner. Mais j'y travaille. Je suis entrain de lire d'anciennes discussions pour essayer de comprendre. Cela peut-être une bonne alternative et en plus (lorsque j'aurai décortiqué comment faire) je pourrai avoir une indication du temps d'exécution.
    Regarde ducôté de jauge(). Par contre, l'inconvénient, si le nombre d'enregistrement est important (> 50 000 enregistrements environ), c'est que l'affichage de la jauge ralentit le traitement.
    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

  11. #11
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 197
    Points : 12 772
    Points
    12 772
    Par défaut
    Dans ce cas une solution est de mettre un compteur dans la boucle, et de ne rafraichir l'affichage que tous les x itérations.
    Ou alors de "regarder l'heure" à chaque itération, de comparer avec la dernière heure enregistrée, et de ne mettre à jour l'affichage que toutes les x secondes.

    Ca permet de limiter l'impact de la mise à jour sur la durée du traitement.

    Tatayo.

  12. #12
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 121
    Points : 53
    Points
    53
    Par défaut
    Bonjour à tous les trois, à toutes et tous.

    J'ai fait un petit break, j'avais le cerveau qui surchauffait.

    Ça semble vachement plus simple quand tu regarde l'exemple livré WD, mais dans la réalité...

    Il y a cette notion du nombre d'enregistrement que j'avais découverte dans une réponse de frenchsting à une autre discussion : https://www.developpez.net/forums/d1...e/#post8507582

    Citation Envoyé par frenchsting Voir le message
    Tu dois mettre ton code ans l'affichage d'une ligne de ta table.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //Déclaration de variable dans le code de la fenêtre
    jg est un entier
    HExécuteRequête(REQ_POINTAGEPC,hRequêteDéfaut,SAI_Date6,SAI_Date7)
    HLitPremier(REQ_POINTAGEPC)
     
    jg = 0
    JAUGE_SansNom1..BorneMin = 0
    JAUGE_SansNom1..BorneMax = HNbEnr(REQ_POINTAGEPC)
     
    TableAffiche(TABLE_REQ_POINTAGEPC)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // Code Affichage d'une ligne de la table 
    jg++
    JAUGE_SansNom1..Valeur = jg
    A voir et adapter suivant ton cas : Inconvénient, cela ralentit l'affichage. Si ton nombre de lignes à afficher est important, il faudra songer à ne ré-afficher ta jauge que toutes les 10, 20, 50 lignes.
    Pour l'instant j'ai créé un LIB qui n'est pas visible à l'ouverture de la fenêtre, qui le devient en cliquant sur le bouton qui exécute l'action et reste sur dessus de la fenêtre tant que l'action est en court. Ça c'est le début.
    J'ai mis un petit texte "Recherche en cours..." et une jauge. J'ai lu ce week-end quelques anciennes discussions et je vais m'atteler maintenant à essayer de faire avancer cette jauge comme expliqué par ailleurs.

    Je n'en suis pas encore à la proposition
    Citation Envoyé par tatayo Voir le message
    Dans ce cas une solution est de mettre un compteur dans la boucle, et de ne rafraichir l'affichage que tous les x itérations.
    Ou alors de "regarder l'heure" à chaque itération, de comparer avec la dernière heure enregistrée, et de ne mettre à jour l'affichage que toutes les x secondes.

    Ca permet de limiter l'impact de la mise à jour sur la durée du traitement.

    Tatayo.
    mais la boucle sur x itérations à mon niveau me parait plus simple à mettre en œuvre.

    Je reviens vous dire ça.

    Merci à tous les trois.

    Grégus

  13. #13
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 805
    Points : 5 253
    Points
    5 253
    Billets dans le blog
    1
    Par défaut
    Le problème est qu'on n'obtient le nombre d'enregistrement que lorsque l'exécution est terminée.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  14. #14
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 121
    Points : 53
    Points
    53
    Par défaut
    Ah zut

    Réponse rapide sans réfléchir, je n'ai rien testé encore. J'essaye d'être logique.

    [CODE]
    JAUGE_SansNom1..BorneMax = HNbEnr(REQ_xxxx)
    Ne peut s'obtenir qu'une fois que la requête à tournée. Donc la jauge ne peut pas progresser dès le lancement de l'exécution de la requête.
    Si la requête est longue, très longue, pas de progression.
    C'est cela Voroltinquo?
    Est-ce que c'est comme ça tout le temps ou il y a un moyen d'y parvenir?

  15. #15
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 805
    Points : 5 253
    Points
    5 253
    Billets dans le blog
    1
    Par défaut
    C'est cela. Une solution est une jauge "infinie", avec une borne max à X qui repart à 0 quand la borne max est atteinte. Pour le pourcentage de progression, on repassera, mais souvent, qui s'en soucie.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  16. #16
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 121
    Points : 53
    Points
    53
    Par défaut
    Très souvent je ne vois pas les choses (en même temps je ne suis pas un professionnel) mais si l'on me met les yeux et le doigt dessus, j'essaye de réfléchir.

    Bon, je vais creuser tout cela et essayer d'y arriver. Il va peut-être me falloir un peu de temps. En tous les cas je pense que j'ai pas mal et de bons éléments pour construire un début.

    Je reviens vous dire.

  17. #17
    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
    Citation Envoyé par tatayo Voir le message
    Dans ce cas une solution est de mettre un compteur dans la boucle, et de ne rafraichir l'affichage que tous les x itérations.
    Ou alors de "regarder l'heure" à chaque itération, de comparer avec la dernière heure enregistrée, et de ne mettre à jour l'affichage que toutes les x secondes.

    Ca permet de limiter l'impact de la mise à jour sur la durée du traitement.

    Tatayo.
    Oui, c'est ce que je fais. J'en aurai parlé dans un deuxième temps.

    Je voulais juste préciser ceci à grégus, car c'est toujours déroutant de voir les performances s'effondrer simplement parce qu'on essaye d'améliorer l'expérience utilisateur.
    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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/01/2013, 08h36
  2. [KO] Google : recherche avec caractère spéciaux [KO]
    Par captain_mich dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 04/04/2012, 15h02
  3. [SP-2010] Problème recherche avec caractère souligné
    Par shyangel dans le forum SharePoint
    Réponses: 0
    Dernier message: 05/05/2011, 11h01
  4. requête avec caractère joker
    Par Daviloppeur dans le forum Requêtes
    Réponses: 3
    Dernier message: 18/02/2010, 11h08
  5. Faire une recherche avec caractère générique
    Par Fredncy dans le forum Excel
    Réponses: 4
    Dernier message: 30/07/2009, 10h00

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