@startuml hide empty methods class Usager #LightPink class Evaluateur #LightGray class Responsable #LightGray class Auteur #LightGray class Professionnel #LightGray class Statut #LightGray class Evaluation #LightGray { idEvaluation : Identifiant [1..1] typeEvaluation : Code [1..1] dateEvaluation : DateHeure [0..1] resultatEvaluation : [0..1] commentaireEvaluation : Texte [0..1] pieceJointeEvaluation : ObjetBinaire [0..*] } note right of Evaluation::resultat Le type du résultat est dépendant du type d'évaluation. end note class "DetailEvaluation" as DetailEvaluationN1 <> #LightGray { champsEvalue: Code [1..1] resultatChampsEvalue : [1..1] commentaire : Texte [0..1] } note right of DetailEvaluationN1::resultatChampsEvalue Le type du résultat du champ évalué est dépendant du champ évalué (Code, indicateur,...). end note class "DetailEvaluation" as DetailEvaluationN2 <> #LightGray { champsEvalue: Code [1..1] resultatChampsEvalue : [1..1] commentaire : Texte [0..1] } note right of DetailEvaluationN2::resultatChampsEvalue Le type du résultat du champ évalué est dépendant du champ évalué (Code, indicateur,...). end note Professionnel <|-- Evaluateur Professionnel <|-- Responsable Professionnel <|-- Auteur Evaluateur "0..1" -- "0..*" Evaluation Responsable "0..1" -- "0..*" Evaluation Auteur "0..1" -- "0..*" Evaluation Usager "1" -- "0..*" Evaluation Evaluation "1" -- "0..*" DetailEvaluationN1 DetailEvaluationN1 "1" -- "0..*" DetailEvaluationN2 Evaluation "1" -- "0..*" Statut @enduml