@startuml class Annonce { Description: string Type: {Achat/Vente/Echange} Date d'ajout: date Prix: integer } class Echange { Date: date } class "Jeu Vidéo" { Nom: string Date de sortie: date Note: integer [moyenne des "Evaluation"] } class "Console de Jeu" { Nom: string Modèle: string Date de sortie: date } class Utilisateur { Nom: string Prénom: string Pseudonyme: string Solde: integer [Langue: string] [Date d'inscription: date] [Jeu vidéo favori] [...] } class Administrateur { modérationUtilisateurs() modérationPublications() } class Message { Contenu: string Date: date } class Transaction { Date: date Méthode de paiement: {CB, PayPal, Solde} Montant: integer } class Evaluation { Note: int Commentaire: string Date: date } Administrateur --|> Utilisateur Administrateur "1..n" -- "0..n" Utilisateur: modère Utilisateur "1..1" -- "0..n" Annonce: publie Annonce "0..n" -- "1..n" "Jeu Vidéo": relative à Annonce "0..n" -- "1..n" "Console de Jeu": relative à Annonce "1..1" -- "0..1" Transaction: relative à Annonce "1..1" -- "0..1" Echange: relative à Utilisateur "1..1" -- "0..n" Message: envoie Utilisateur "1..n" -- "0..n" Message: reçoit Utilisateur "1..1" -- "0..n" Transaction: paie Utilisateur "1..1" -- "0..n" Transaction: est payé Utilisateur "2..2" -- "0..n" Echange: effectue "Console de Jeu" "1..n" -- "0..n" "Jeu Vidéo": relative à Evaluation "0..n" -- "1..1" "Jeu Vidéo": relative à Evaluation "0..n" -- "1..1" "Console de Jeu": relative à Evaluation "0..n" -- "1..1" Utilisateur: publie @enduml