@startuml

'les hypotheses generique regroupe les hypothèses permettant le calcul de certains indicateurs
class ref_Hypothese{
*String clé
String valeur
String source
}

'liste des types d'équipements autorisés et de leur durée de vie par défaut
class ref_TypeEquipement{
*String type
'le booléen "serveur" permet de distinguer les équipements inclus dans le calcul de l'impact d'un serveur applicatif à l'utilisation
boolean serveur
'le commentaire permet notamment de détailler les catégories équipements contenues dans un même type
String commentaire
Double dureeVieDefaut
' la référence de l'équipement par defaut doit exister dans la table ref_ImpactEquipement.refEquipement
String refEquipementParDefaut
String source
}

'Impact environnementaux de référence
class ref_ImpactEquipement {
'identifiant de l'équipement
* String refEquipement
* String etape
* String critere
'description de l'équipement
String description
'le type doit correspondre à celui présent dans ref_TypeEquipement
String type
Double consoElecMoyenne
Double valeur
String source
}

class ref_CorrespondanceRefEqP {
'modèle d'équipement de l'organisation, la valeur du champ doit exister dans en_EqP.modele
* String modeleEquipementSource
'Equipement de référence, la valeur du champ doit exister dans ref_ImpactEquipement.refEquipement
String refEquipementCible
}

' Critère d'impact
Class ref_Critere {
*String nomCritere
String unité
String description
}

' étapes du cycle de vie des équipements pris en compte dans les calculs
class ref_EtapeACV {
* String code
String libelle
String description
}

class ref_MixElec {
*String pays
*String critere
String raccourcisAnglais
Double valeur
String unité
String source
}

'Impact environnementaux du réseau
class ref_ImpactReseau{
* String refReseau
* String etape
* String critere
Double consoElecMoyenne
Double valeur
String source
}

'Impact environnemental Messagerie
class ref_ImpactMessagerie{
'L'équation d'impact est une fonction affine de la forme a * x + b
'Cette constante correspond à "a" dans la fonction affine
Double constanteCoefficientDirecteur
'Cette constante correspond à "b" dans la fonction affine
Double constanteOrdonneeOrigine
'Critère associé à l'impact
String critere
String source
}

ref_EtapeACV "1" --- "0-*" ref_ImpactEquipement : dépend de >
ref_Critere "1" --- "0-*" ref_ImpactEquipement : dépend de >
ref_Critere "1" --- "0-*" ref_MixElec : dépend de >
ref_Critere "1" --- "0-*" ref_ImpactReseau : dépend de >
ref_Critere "1" --- "0-*" ref_ImpactMessagerie : dépend de >
ref_EtapeACV "1" --- "0-*" ref_ImpactReseau : dépend de >

@enduml
