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

Requêtes MySQL Discussion :

CONCAT un prefixe défini à un ID (Primary & auto increment)


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 28
    Points : 22
    Points
    22
    Par défaut CONCAT un prefixe défini à un ID (Primary & auto increment)
    Bonjour à tous,

    je suis actuellement en stage dans une entreprise qui me demande de créer un système de devis en ligne. C'est une entreprise de location, chaque machine et chaque client a son ID (clé primaire) et on me demande de faire en sorte qu'il y ait un préfixe devant chaque ID, du genre CLI0001 pour les clients et MAC0001 pour les machines.

    Comment faire pour qu'à chaque inscription d'un membre sur une page PHP (INSERT INTO clients), l'id s'auto incrémente ET s'octroie un préfixe ? Vu que id_client est ma clé primaire, elle est unique et ne peut pas avoir deux valeurs, donc je ne suis obligé de la mettre en auto increment, sauf que ça ne fonctionne pas avec les champs de type CHAR -_-... Je ne peux pas mettre en INT vu qu'il y a un préfixe (que je ne sais pas implémenter).

    Je suis bien au courant de la commande CONCAT mais comment faire que le suffixe ( [...]001 par exemple) soit en auto increment?

    Je suis en première année donc soyez indulgent :p

    Merci d'avance !

  2. #2
    Expert éminent Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 598
    Points : 7 450
    Points
    7 450
    Par défaut
    Surtout laisse bien tes clés primaires en tant que INT en auto-incrément malheureux!!!!!!

    Les SGBD sont souvent plus à l'aise pour manipuler des nombres plutôt que des chaînes pour tes clés primaires et puis comme tu dis, de toutes les façons les clés sont uniques donc tu ne peux pas avoir par exemple CLI0001 ET MAC0001 dans ta base.

    Donc ce que tu peux faire c'est de rajouter une colonne à ta table (par exemple 'type') qui te dira si tu est dans le cas CLI ou MAC et tu assemble le tout côté PHP uniquement. (voire même avec une vue si tu es un peu feignant ou que ce n'est pas toi qui va gérer la partie cliente).

    Dans le pire des cas tu crées une colonne (avec un indexe unique) de plus à ta table pour y mettre ton identifiant complet mais garde ta clé primaire numérique!
    Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
     
    int main(int argc, char **argv) {
     
        printf("So long, and thanks for the fish, Dennis...\n");
        return 0;
    }

  3. #3
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Je pense qu'il faudrait se poser la question de l’intérêt d'un tel préfixe.
    Si c'est pour être affiché dans un document, une simple concaténation suffit lors de la mise en page.
    Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)

  4. #4
    Expert éminent Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 598
    Points : 7 450
    Points
    7 450
    Par défaut
    Après pour l'affichage tu peux même faire ta manipulation directement en SQL. Par exemple select concat('CLI', lpad(45, 4, 0)); te retournera CLI0045. (tu peux aussi utiliser une syntaxe en CASE .. WHEN si tu te bases sur une colonne pour connaître le type de préfixe).
    Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
     
    int main(int argc, char **argv) {
     
        printf("So long, and thanks for the fish, Dennis...\n");
        return 0;
    }

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Tout d'abord merci de m'avoir répondu. Pour le CONCAT et LPAD, j'y avais pensé et je l'ai présenté à ma chef de projet qui a tout refusé... "Ça complique les traitements"... Je suis un peu perdu, car elle voudrait que je fasse une "auto increment" maison, du genre je fais un SUBSTR des chiffres dans les chaines de tous les ID clients, CLI0001 par exemple (donc 1), un SELECT MAX() pour avoir le plus grand (donc le dernier client inscrit), et une incrémentation pour obtenir un nouvel ID pour un nouveau client...
    Si ça complique pas le traitement ça...

    EDIT : Je cite ce qu'elle vient de me dire "Ce sont deux variables qui se déduisent l'une de l'autre dans une même table, cela ne se fait pas en terme de programmation."

  6. #6
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 025
    Points : 23 738
    Points
    23 738
    Par défaut
    C'est ça ! Et l'ID maison est généré par un trigger, histoire d'éviter les erreurs potentielles de cohérence...
    Encore une qui a parfaitement compris le fonctionnement d'un SGBD...
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  7. #7
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Je vois que votre chef de projet ne connait pas l'utilité d'une clé primaire dans une table. Celle-ci a un but technique et non esthétique.
    Rajouter un préfixe (donc constante) à une donnée optimisée, c'est vraiment se compliquer la vie dans le futur (requêtes plus complexes car vous aurez à manipuler des chaines de caractères et surtout bien moins optimisées). Vous aurez aussi donc à modifier la structure de votre table, peut-être même des triggers ou des procédures associées, du code client appelant, bref une petite étude d'impact.
    Rajouter un préfixe à votre clé primaire, revient à rajouter une colonne dans votre table client qui ne contiendrait que la valeur 'CLI' pour chaque ligne de votre table et tout cela pour vous informer que votre valeur est issue de la table ... client (pas du tout redondant et très utile !!!)

    Si malgré tout vous n'arrivez pas à faire comprendre cette subtilité à votre chef de projet (qui a l'air de maitriser tous les fondamentaux de la programmation), alors vous pourrez peut-être vous rabattre sur la gestion des triggers afin de générer votre clé primaire (perte de performances bien sûr), et avoir près de vous votre bible sur les chaines de caractères sous MySQL...

    Bon courage
    Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Yanika_bzh Voir le message
    Rajouter un préfixe a votre clé primaire, revient a rajouter une colonne dans votre table client qui ne contiendrait que la valeur 'CLI' pour chaque ligne de votre table et tout cela pour vous informer que votre valeur est issue de la table ... client (pas du tout redondant et très utile !!!)
    C'est exactement ce que je lui ai proposé, c'était le seul moyen que j'ai trouvé d'arriver à ses fins. Et comme je l'ai dis plus haut, elle a tout refusé car en effet, c'est redondant et inutile.

    Étant seulement en première année, je n'ai pas encore eu de cours sur les triggers.

    Si vous connaissez de bons tutos, je suis preneur...

    C'est mon premier stage en informatique et je suis vraiment très déçu.

  9. #9
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 025
    Points : 23 738
    Points
    23 738
    Par défaut
    Citation Envoyé par gogetenk Voir le message
    C'est mon premier stage en informatique et je suis vraiment très déçu.
    Ça fait partie de l'apprentissage...

    Pour les triggers, commence par jeter un œil dans la documentation de MySQL. C'est un bon point de départ.
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  10. #10
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Et conseillez à votre Chef de projet de venir faire un tour de temps en temps sur ce forum
    Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    J'ai finalement presque réussi en créant une vue max_id qui SUBSTR la valeur MAX() du champ id_client. Cela me donne par exemple le chiffre 3 pour l'id CLI00000003

    Je récupère cette valeur avec PHP au moment de l'inscription, ensuite j'en incrémente la valeur et je le CONCAT "CLI" lors de la requete SQL INSERT INTO clients.

    Cependant, le chef de projet veux absolument que l'id fasse 11 charactères. Le champ est bien spécifié ainsi, sauf que avec mon script j'obtiens "CLI3", je pourrais remplir avec des zéros entre CLI et 3 avec RPAD, mais lorsque lorsque le nombre de clients aura dépassé 10, j'aurais un soucis avec le CHAR(11)...

    Comment pourrais-je faire pour "remplir" de zéros sans prédéfinir un nombre ?

    Désolé si ce n'est pas très clair...

  12. #12
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 025
    Points : 23 738
    Points
    23 738
    Par défaut
    Citation Envoyé par gogetenk Voir le message
    Je récupère cette valeur avec PHP au moment de l'inscription, ensuite j'en incrémente la valeur et je le CONCAT "CLI" lors de la requete SQL INSERT INTO clients.
    Là, tu risques un sérieux problème... Si deux inscriptions se font à peu près en même temps, la dernière valeur récupérée sera alors la même, l'incrémentation aussi et du coup le code sera le même...
    A lire : http://mysql.developpez.com/faq/?pag..._INCREMENT_max
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  13. #13
    Expert éminent Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 598
    Points : 7 450
    Points
    7 450
    Par défaut
    Citation Envoyé par Yanika_bzh Voir le message
    Et conseillez à votre Chef de projet de venir faire un tour de temps en temps sur ce forum
    Oui, ou bien de changer de métier et de se cantonner à la gestion de projet pure
    Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
     
    int main(int argc, char **argv) {
     
        printf("So long, and thanks for the fish, Dennis...\n");
        return 0;
    }

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par ced Voir le message
    Là, tu risques un sérieux problème... Si deux inscriptions se font à peu près en même temps, la dernière valeur récupérée sera alors la même, l'incrémentation aussi et du coup le code sera le même...
    A lire : http://mysql.developpez.com/faq/?pag..._INCREMENT_max
    Merci beaucoup pour cette FAQ que j'ai montrée au chef de projet.
    Elle m'a dit que ce n'avait aucun rapport avec ma base de donnée, que celle-ci se verrouillait automatiquement lorsque plusieurs personnes l'utilisent (??) et que il fallait que j'arrête d'essayer de combler mon manque de technique par des propositions inutiles...

    Donc si quelqu'un connait une fonction qui permettrais de remplir le champ de zeros entre le préfixe et l'id ... Ce serait sympa...

  15. #15
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 025
    Points : 23 738
    Points
    23 738
    Par défaut
    Citation Envoyé par gogetenk Voir le message
    Elle m'a dit que ce n'avait aucun rapport avec ma base de donnée, que celle-ci se verrouillait automatiquement lorsque plusieurs personnes l'utilisent (??)
    C'est faux !
    Tout d'abord, ce n'est pas la base de données qui se verrouille.
    Ensuite, la méthode de verrouillage dépend du moteur selon lequel la table est définie. Si c'est InnoDB, le verrouillage s'effectue ligne par ligne, et donc le problème de doublons cité plus haut a toutes les chances de se produire...
    Si c'est MyISAM, là, le verrouillage s'effectue au niveau de la table, au moment de l'insertion. Il faudra alors éventuellement gérer l'erreur renvoyée par MySQL si la clé existe déjà.

    Un petit tour dans la doc de MySQL pour s'en convaincre : http://dev.mysql.com/doc/refman/5.0/...l-locking.html
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  16. #16
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Quand il y aura des violations de contrainte d'unicité et des deadlocks lors des inserts dans cette table, vous penserez à nous .

    Et pour compléter ce que dit Ced qui m'a devancé, les comportements de verrouillage changent selon le niveau d'isolation des transactions. Vous devriez rencontrer une violation d'unicité si le niveau d'isolation est repeatable read et des deadlocks s'il est serializable.

    Mais bon la base se verrouille toute seule donc pas de souci

  17. #17
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Citation Envoyé par gogetenk Voir le message
    Merci beaucoup pour cette FAQ que j'ai montrée au chef de projet.
    Elle m'a dit que ce n'avait aucun rapport avec ma base de donnée, que celle-ci se verrouillait automatiquement lorsque plusieurs personnes l'utilisent (??) et que il fallait que j'arrête d'essayer de combler mon manque de technique par des propositions inutiles...

    Donc si quelqu'un connait une fonction qui permettrais de remplir le champ de zeros entre le préfixe et l'id ... Ce serait sympa...
    Votre chef de projet, non seulement d'exposer ses lacunes techniques (cela peut arriver mais dans ce cas on accepte la critique) a en plus la parfaite attitude de vous motiver et de titiller votre esprit critique dans la recherche de solutions...

    En tout cas, comme le dit ced, si 2 personnes font un SELECT de votre ID avant que celui-ci n'ait été incrémenté, un doublon sera automatique lors de l'insertion par la deuxième personne.
    Vous pourrez le tester en mettant un point d’arrêt avant votre incrémentation et lançant 2 clients pour faire votre cas...

    Il vous faudra utiliser la clause FOR UPDATE lors de votre select, afin de ne pas permettre la lecture simultanée de votre ligne. Cependant, vous allez mettre en attente les futures lectures tant que cette dernière n'aura pas été "committée" ...
    C'est le cas que je vous avais décrit, vous avez un modèle qui ne nécessite pas d’être modifié, mais le fait de vouloir le faire, vous entraine dans une série de développements qui risque de vous coûter cher dans la maitrise du processus global.


    Bon courage

    Ps : question subsidiaire, c'est un(e) chef de projet d'une SSII ??
    Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Je vous remercie à tous pour votre aide, cependant je pense qu'on dépasse mon niveau de débutant là :s

    Je ne vais pas essayer de donner mon avis une seconde fois, l'appréciation est une importante partie de ma notation pour ce stage. La réussite du projet sur le long terme n'en est pas une.

    Et encore merci pour votre aide.

    Cordialement

  19. #19
    Expert éminent Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 598
    Points : 7 450
    Points
    7 450
    Par défaut
    Citation Envoyé par gogetenk Voir le message
    Je vous remercie à tous pour votre aide, cependant je pense qu'on dépasse mon niveau de débutant là :s

    Je ne vais pas essayer de donner mon avis une seconde fois, l'appréciation est une importante partie de ma notation pour ce stage. La réussite du projet sur le long terme n'en est pas une.

    Et encore merci pour votre aide.

    Cordialement
    Ne te laisse pas impressionner pour autant, j'ai l'impression que ta chef est encore plus débutante que toi vu toutes les #$@! qu'elle te débite...

    Après bon, c'est vrai que pour un stage il faut éviter de se la mettre à dos, mais par pitié retiens bien sa façon de faire comme une chose à ne jamais reproduire par la suite!!!
    Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
     
    int main(int argc, char **argv) {
     
        printf("So long, and thanks for the fish, Dennis...\n");
        return 0;
    }

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Merci encore pour votre aide, je viens vous annoncer que j'ai démissionné... Cette ... femme... m'a poussé à bout, et je suis parti sur le champ. Elle s'occupera de ses clés auto-incrémentées toute seule. J'ai déjà trouvé un stage en Douanes en tant que webdesigner.
    Je vous remercie encore pour votre soutien ^^

Discussions similaires

  1. [MySQL] Exporter les tables avec un prefix défini
    Par Invité dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 29/01/2011, 16h04
  2. PRIMARY KEY auto incrémental en SQLserver
    Par azstar dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 30/10/2010, 22h49
  3. Réponses: 1
    Dernier message: 16/10/2009, 11h02
  4. Réponses: 4
    Dernier message: 05/06/2002, 14h35

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