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

Schéma Discussion :

Courses de lévriers [MCD]


Sujet :

Schéma

  1. #1
    Candidat au Club
    Homme Profil pro
    Geomaticien
    Inscrit en
    Juillet 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Geomaticien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Courses de lévriers
    Bonjour à tous,

    Je travail sur une base de données concernant des courses de lévrier. La partie qui me pose problème est la suivante : un lévrier est engagé dans une épreuve qui regroupe plusieurs lévriers. Au cours d'une épreuve est organisé plusieurs courses qui rassemblent chacune un à plusieurs lévrier. Chaque lévrier engagé participe donc à une ou plusieurs courses.

    Voilà ma proposition de MCD:

    [LEVRIER]----1,N----(ENGAGER)----1,N----[EPREUVE]----1,N----(ORGANISER)----1,1----[COURSE]
    |---------------1,N-----------------(PARTICIPER)--------------1,N-----------------|

    Ce qui me chagrine c'est la boucle ainsi formée. L'intérêt de boucler LEVRIER avec COURSE est que la table PARTICIPER obtenue portera les résultats de chaque lévrier pour chaque course (temps, classement ...). En revanche le risque est qu'un lévrier participe à une course organisée dans une épreuve pour laquelle il n'a pas été engagé. Je me demande donc s'il n'y a pas une modélisation alternative plus élégante.

    Qu'en pensez-vous ?

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 907
    Points
    30 907
    Billets dans le blog
    16
    Par défaut
    Bonjour domlysz,


    On va tâcher moyen de regarder ça...

    Je selle mon cheval et j'arrive au galop ^^
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  3. #3
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 907
    Points
    30 907
    Billets dans le blog
    16
    Par défaut
    Vous avez systématiquement des cardinalités 1,N, ce qui signifie, entre autres, que chaque lévrier a participé au moins à une épreuve. N’y a-t-il pas des lévriers qui n’ont pas encore participé à leur 1re course ? (voire même qui n'ont encore jamais été inscrits à une épreuve?)
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  4. #4
    Candidat au Club
    Homme Profil pro
    Geomaticien
    Inscrit en
    Juillet 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Geomaticien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci fsmrel pour cette réactivité je n'en attendais pas tant ^^

    Concernant les cardinalités, je ne renseigne un nouveau lévrier que s'il a été inscrit à au moins une épreuve. En revanche il est possible qu'un lévrier engagé soit déclaré absent ou inapte auquel cas il n'aura participé à aucune course de l'épreuve, il faut donc effectivement modifier un peu tout ça.

  5. #5
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 907
    Points
    30 907
    Billets dans le blog
    16
    Par défaut
    Le MCD devrait comporter une contrainte d’inclusion, symbolisant la contrainte :

    Un lévrier ne peut participer à une course que s’il est engagé dans une épreuve à laquelle appartient cette course.





    Cela dit, si on peut se contenter de dire :

    L’engagement d’un lévrier dans une épreuve est connu parce qu’il participera à telle course (non encore effectuée) de cette épreuve, l’association ENGAGEMENT devient inutile.

    Mais si l’on tient à ce que l’engagement soit connu, même sans participation du lévrier à une course, alors l’association doit être conservée.

    Dans ces conditions, si vous utilisez WinDesign qui permet de modéliser la contrainte d’inclusion, celui-ci devrait générer les triggers qui vont bien pour le niveau SQL. Mais on peut s’en sortir au niveau MLD, sans avoir ensuite à mettre des triggers en œuvre, en modélisant avec MySQL Workbench (gratuit) :

    On identifie COURSE relativement à EPREUVE, ce qui permet de propager l’attribut EpreuveId jusqu’à PARTICIPATION, table alors porteuse à la fois d’une clé étrangère référençant ENGAGEMENT et d’une clé étrangère référençant COURSE, clés étrangères contenant toutes deux l’attribut EpreuveId : dans ces conditions, un lévrier ne peut pas participer à une course sans avoir d’abord été engagé dans l’épreuve à laquelle appartient cette course :



    Je reste à l'écoute...

    Et n’oubliez pas de voter quand une réponse a pu vous aider...
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  6. #6
    Candidat au Club
    Homme Profil pro
    Geomaticien
    Inscrit en
    Juillet 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Geomaticien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup pour cette réponse très intéressante.

    J'ai encore quelques difficultés à bien appréhender le mécanisme mise en place dans le MLD. Voilà comment je le comprends : pour qu'un nouvel enregistrement dans la table PARTICIPATION soit valide il faut que le couple ( id_epreuve, id_levrier ) existe dans la table ENGAGEMENT, donc que le lévrier soit effectivement engagé pour cette épreuve. Il faut également que le couple ( id_course, id_epreuve ) existe dans la table COURSE ce qui permet de valider que la course appartient bien à l'épreuve pour laquelle le lévrier a été engagé puisque id_epreuve fait référence aux deux tables ENGAGEMENT et COURSE .

    En conséquence mon code SQL pour créer la table PARTICIPATION est celui-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE TABLE PARTICIPATION ( 
        id_levrier  INTEGER,
        id_epreuve     INTEGER,
        id_course     INTEGER,
        temps      INTEGER,
        classement INTEGER,
        PRIMARY KEY ( id_levrier, id_epreuve, id_course ),
        FOREIGN KEY ( id_epreuve, id_levrier ) REFERENCES engagement ( id_epreuve, id_levrier ),
        FOREIGN KEY ( id_course, id_epreuve ) REFERENCES course ( id_course, id_epreuve )
    );
    Néanmoins cela semble complètement verrouiller les insertions dans la table, j'ai le sentiment de mal interpréter le MLD.

  7. #7
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 907
    Points
    30 907
    Billets dans le blog
    16
    Par défaut
    Bonjour domlysz,


    Citation Envoyé par domlysz
    Néanmoins cela semble complètement verrouiller les insertions dans la table, j'ai le sentiment de mal interpréter le MLD.
    Qu’entendez-vous par « verrouiller » ?

    Selon le MLD, un lévrier — appelons-le Zaza — peut être engagé dans l’épreuve E1 (table ENGAGEMENT) sans pour autant avoir participé à une course quelconque faisant partie de cette épreuve : normalement, jusque-là tout va bien, on ne verrouille rien.

    Dès qu’on sait que Zaza va participer à la course 3 de cette épreuve, on peut procéder à l’ajout d’une ligne dans la table PARTICIPATION puisqu’on dispose du triplet qui va bien <"Zaza", "E1", "3">.

    Si incertitude il y a, cela vaut pour le temps réalisé par Zaza et son classement. En effet, si l’insertion du triplet est à effectuer avant même que la course n’ait eu lieu, en toute rigueur le diagramme devrait être le suivant (une participation fait l’objet de 0 à au plus 1 résultat, et un résultat est l’objet d’une et une seule participation) :



    A noter que si Zaza participe en principe à la course <"E1", "3"> et a déclaré forfait (ou n’ pas terminé), elle doit avoir un résultat et son classement et son temps peuvent par exemple valoir zéro.


    Concernant votre CREATE TABLE :

    Attention à l’ordre des attributs dans les clés étrangères de la table ENGAGEMENT : il doit être le même que celui de la clé (disons primaire) des tables référencées. Par ailleurs on utilise l’identification relative, c'est-à-dire que dans la paire <"E1", "3">, "3" identifie la 3e course de l’épreuve E1 et l’on peut donc aussi avoir la paire <"E7", "3"> pour identifier la 3e course de l’épreuve E7.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  8. #8
    Candidat au Club
    Homme Profil pro
    Geomaticien
    Inscrit en
    Juillet 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Geomaticien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci encore pour ces nouveaux éléments.

    J'ai homogénéiser l'ordre des champs mais rien ni fait.

    Voici un extrait de ma table ENGAGEMENT:

    # |id_levrier|id_epreuve
    ---+----------+----------
    1 |212 |1
    2 |234 |1
    3 |301 |1
    4 |214 |2

    et la table COURSE

    # |id_epreuve|id_course
    ---+----------+---------
    1 |1 |1
    2 |1 |2
    3 |1 |3
    4 |1 |4
    5 |2 |5
    6 |2 |6


    mais la requête suivante me retourne systématique foreign key mismatch - "participation" referencing "course"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO participation
    (id_levrier, id_epreuve, id_course)
    VALUES (212, 1, 1)
    Pourtant le lévrier 212 a bien participé à l'épreuve 1, et la course 1 est bien associé à l'épreuve 1.

  9. #9
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 907
    Points
    30 907
    Billets dans le blog
    16
    Par défaut
    Ça ne doit pas etre bien méchant...

    Faites-voir vos CREATE TABLE pour les tables ENGAGEMENT, COURSE et PARTICIPATION.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  10. #10
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 907
    Points
    30 907
    Billets dans le blog
    16
    Par défaut
    En regardant de plus près votre message, je constate la présence d'un attribut # pour les tables ENGAGEMENT et COURSE : n’ayant aucune valeur ajoutée (au contraire, présence par exemple d’index supplémentaires fort coûteux en mise à jour), ce genre d'attributs doit disparaître.

    Exemple : TABLE ENGAGEMENT
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE TABLE ENGAGEMENT 
    (
      LevrierId           INT                  NOT NULL,
      EpreuveId           INT                  NOT NULL,
      CONSTRAINT ENGAGEMENT_PK PRIMARY KEY (LevrierId, EpreuveId),
      CONSTRAINT ENGAGEMENT_LEVRIER_FK FOREIGN KEY (LevrierId)
        REFERENCES LEVRIER (LevrierId)
      CONSTRAINT ENGAGEMENT_EPREUVE_FK FOREIGN KEY (EpreuveId)
        REFERENCES EPREUVE (EpreuveId)
    ) ;
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  11. #11
    Candidat au Club
    Homme Profil pro
    Geomaticien
    Inscrit en
    Juillet 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Geomaticien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    L'attribut # n'existe pas dans les tables, c'est simplement un numéro de ligne afficher par le logiciel que j'utilise (Sqlitestudio) qui s'est répercuté lors du copier/coller.

    Voici mes CREATE TABLE, mais attention mes noms de table sont différents (oui je fais des cachotteries c'est mal !).

    La table "epreuve" se nomme en réalité "enc":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE enc ( 
        id_enc   INTEGER PRIMARY KEY,
        cyno     TEXT    NOT NULL,
        date     DATE    NOT NULL,
        type     TEXT,
        juge     TEXT,
        distance INTEGER 
    );
    La table "engagement" se nomme en réalité "enc_result" et l'attribut "id_levrier" correspond à "id_zoi"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE TABLE enc_result ( 
        id_zoi       INTEGER REFERENCES zoi ( id_zoi ),
        id_enc       INTEGER REFERENCES enc ( id_enc ),
        classe       TEXT,
        classement   INTEGER,
        qualificatif TEXT,
        attribution  TEXT,
        PRIMARY KEY ( id_zoi, id_enc ) 
    );
    La table "course" se nomme en réalité "enc_course":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE enc_course ( 
        id_enc    INTEGER REFERENCES enc ( id_enc ),
        id_course INTEGER PRIMARY KEY 
    );

    Enfin la table "participation" se nomme "enc_course_result":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CREATE TABLE enc_course_result ( 
        id_zoi     INTEGER,
        id_enc     INTEGER,
        id_course  INTEGER,
        temps      INTEGER,
        categorie  TEXT,
        classement INTEGER,
        PRIMARY KEY ( id_zoi, id_enc, id_course ),
        FOREIGN KEY ( id_zoi, id_enc ) REFERENCES enc_result ( id_zoi, id_enc ),
        FOREIGN KEY ( id_enc, id_course ) REFERENCES enc_course ( id_enc, id_course ) 
    );

  12. #12
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 907
    Points
    30 907
    Billets dans le blog
    16
    Par défaut
    Votre table enc_course_result a une clé étrangère {id_enc, id_course} qui fait référence à la clé primaire de la table enc_cours, ce qui suppose que celle-ci a pour clé primaire la paire {id_enc, id_course}, or ce n’est pas le cas, elle est seulement le singleton {id_course} :

    Il faut remplacer {id_course} par {id_enc, id_course}, au nom de l’identification relative qui permet de propager l’attribut id_enc de ce côté-ci, sachant qu’il est propagé de l’autre côté via la table enc_result.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  13. #13
    Candidat au Club
    Homme Profil pro
    Geomaticien
    Inscrit en
    Juillet 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Geomaticien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup, cette fois ça fonctionne parfaitement et c'est plus clair dans mon esprit !

  14. #14
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 002
    Points : 30 907
    Points
    30 907
    Billets dans le blog
    16
    Par défaut
    Bonjour domlysz,


    Tout est donc pour le mieux, aussi n'oubliez pas de marquer la discussion comme étant résolue.


    Bonne route !
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

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

Discussions similaires

  1. le logiciel course genie
    Par jeanfrancois dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 09/03/2006, 14h18
  2. Réponses: 1
    Dernier message: 21/11/2005, 18h22
  3. [FLASH MX2004] Course de bateaux
    Par Kalyptus dans le forum Flash
    Réponses: 9
    Dernier message: 31/05/2005, 19h26
  4. Réponses: 2
    Dernier message: 15/02/2005, 20h32

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