
ClassDiagram [frame=true framecolor=steelblue label="Class Diagram"] {
  
  class parieur {
  parieur_ID: int
  aprieur_Nom: string
  Solde: float
  capital_jetons: int
  placerUnPari(): void
}
class sport {
  sport_Nom: string
  getNom(): string
}
 class football {
}
 class miTemps {
  numéro_mitemps: int
}

class basket {
  
}
  class quartTemps {
  numéro_quarttemps: int 
}

class tennis {
  
}
  class sets {
  numéro_set: int
  }

class courseDeChevaux {
 
}
 class DataSource {
  misesàjourData(): Data
}
  

sport <-g- football
sport <-g- basket
sport <-g- tennis
sport <-g- courseDeChevaux


class Participant {
  participant_ID: int
  aprticipant_Nom: string
  PArticipant_Type: string
  getID(): int
  getNom(): string
  getType(): string
}
  class DataSource {
 
}
  class Bookmaker {
  crediterParieur(pari: Pari): void
}
  class pari {
  // attributs spécifiques au pari simple
  pari_ID: int
  Parieur: Parieur
  Événement: événement
  TypePari: string
  RésultatParié: string
  Montant: float
  Cote: float
   
}

class pariSimple {
  // attributs spécifiques au pari simple
   Issue: string
   HeureLimite: datetime
  PointsAvanceÉquipe1: int
  PointsAvanceÉquipe2: int
}

class pariAvancé {
  // attributs spécifiques au pari avancé
  Type: string
  Intervalle: string
  
}
  class Événement {
  event_ID: int
  evennt_Nom: string
  Date: date
  Sport: string
  Numéro_période: int 
  Score: string
  getID(): int
  getNom(): string
  getDate(): date
}
  pari <-g- pariSimple
pari <-g- pariAvancé

  
  
Événement "1" -- "1" sport;
Participant "0..*" -- "1" Événement;
 miTemps "2" -c-> "1" football;
  sets "2..5" -c-> "1" tennis;
  quartTemps "4" -c-> "1" basket;
  DataSource -- Événement: Mise_à_jour_des_données;
  Événement "0..*" -- "0..*" pariSimple;
Événement "0..*" -- "0..*" pariAvancé;
  parieur "1" -- "0..*" pari;
  Bookmaker "1" -- "0..*" pari;

  }
