@startuml skinparam { BackgroundColor LightYellow ArrowColor Black Shadowing false BorderColor Black } package "Modèle de Données" { entity "Athlète" as athlete { + ID_Athlète : int -- Nom : string Prénom : string Email : string Sexe Taille : Float Poids : Float Mot_de_passe : string // Profil_public : text DateNaissance:Date // Objectifs : text } entity "Coach" as coach { + ID_Athlète : int (PK, FK) -- // Attributs spécifiques au Coach si nécessaire } entity "SourceDonnée" as source { + ID_Source : int -- Type : string (enum) Modèle : string Précision : enum Date_d'achat : date Date_dernière_utilisation : date } entity "Activité" as activity { + ID_Activité : int -- Type : string Date : date Heure_de_début : time Heure_de_fin : time Effort_Ressenti: int Variabilité : float Variance : float Ecart-type : float Moyenne : float Maximum : int Minimum : int Temperature_moyenne: float // visibilité } entity "FréquenceCardiaque" as fc { + ID_FC : int -- Altitude : float Temps : time Température: float BPM : int logitude:float latidute: float } entity "Statistique" as stats { + ID_Statistique : int -- Distance_totale : float Poids: float Temps_total : time FC_moyenne : int FC_max : int Calories_brûlées : float Records_personnels : string } entity "Entraînement" as training { + ID_Entrainement : int -- Date : date Description : text // Exercices : text Feedback : text } entity "Notification" as notification { + ID_Notification : int -- Message : text Date : date Statut : enum Type : string Urgence : enum } entity "Événement" as event { + ID_Événement : int -- Nom : string Description : text Date : date Lieu : string } athlete <|-- coach : Spécialisation athlete --o{ source : Utilise athlete --o{ activity : Effectue source --o{ activity : Fournit activity --o{ fc : Contient athlete }o--o{ athlete : Est ami avec athlete --o{ stats : A des coach --o{ training : Attribue athlete --o{ training : Reçoit athlete --o{ notification : Reçoit athlete --o{ event : Participe à coach --o{ event : Organise } @enduml