diff --git a/CHANGELOG.md b/CHANGELOG.md
index ea92694a7e72c744800163af1971b2ee44a652ff..a185239d785e008b7a135ab428c2da566aa48c34 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,7 @@ Tous les changements de ce projet seront documentés dans ce document.
 
 ## [Non livré]
 - Pouvoir charger et lancer un calcul sur les opérations non IT -> [Issue3](https://gitlab-forge.din.developpement-durable.gouv.fr/pub/numeco/m4g/numecoeval/-/issues/3)
+- Pouvoir inclure dans l'évaluation d'impact des informations sur la qualité des données -> [Issue4](https://gitlab-forge.din.developpement-durable.gouv.fr/pub/numeco/m4g/numecoeval/-/issues/4)
 
 
 ## [1.3.0] - 2024-03-05
diff --git a/e2e/5_assert.sh b/e2e/5_assert.sh
index 87adfefbe9d1aa61fd11b1e8a6b8ab5c05cd19f1..03c217fb5b59c128fc3858c0a25e8371217e2748 100644
--- a/e2e/5_assert.sh
+++ b/e2e/5_assert.sh
@@ -15,11 +15,11 @@ export_table() {
 if [ -d actual ]; then rm -rf actual; fi
 mkdir actual
 
-export_table equipementPhysique conso_elec_moyenne,critere,etapeacv,impact_unitaire,nom_entite,nom_entite_discriminator,nom_equipement,nom_source_donnee,nom_source_donnee_discriminator,quantite,source,statut_equipement_physique,statut_indicateur,trace,type_equipement,unite,version_calcul
-export_table equipementVirtuel cluster,conso_elec_moyenne,critere,etapeacv,impact_unitaire,nom_entite,nom_entite_discriminator,nom_equipement,nom_equipement_virtuel,nom_source_donnee,nom_source_donnee_discriminator,source,statut_indicateur,trace,unite,version_calcul
-export_table application conso_elec_moyenne,critere,domaine,etapeacv,impact_unitaire,nom_application,nom_entite,nom_entite_discriminator,nom_equipement_physique,nom_equipement_virtuel,nom_source_donnee,nom_source_donnee_discriminator,source,sous_domaine,statut_indicateur,trace,type_environnement,unite,version_calcul
+export_table equipementPhysique conso_elec_moyenne,critere,etapeacv,impact_unitaire,nom_entite,nom_entite_discriminator,nom_equipement,nom_source_donnee,nom_source_donnee_discriminator,quantite,source,statut_equipement_physique,statut_indicateur,trace,type_equipement,unite,version_calcul,qualite
+export_table equipementVirtuel cluster,conso_elec_moyenne,critere,etapeacv,impact_unitaire,nom_entite,nom_entite_discriminator,nom_equipement,nom_equipement_virtuel,nom_source_donnee,nom_source_donnee_discriminator,source,statut_indicateur,trace,unite,version_calcul,qualite
+export_table application conso_elec_moyenne,critere,domaine,etapeacv,impact_unitaire,nom_application,nom_entite,nom_entite_discriminator,nom_equipement_physique,nom_equipement_virtuel,nom_source_donnee,nom_source_donnee_discriminator,source,sous_domaine,statut_indicateur,trace,type_environnement,unite,version_calcul,qualite
 export_table reseau etapeacv,critere,source,statut_indicateur,trace,version_calcul,impact_unitaire,unite,nom_entite,nom_equipement
-export_table operationNonIT conso_elec_moyenne,critere,etapeacv,impact_unitaire,nom_entite,nom_entite_discriminator,nom_item_non_it,nom_source_donnee,nom_source_donnee_discriminator,quantite,source,statut_indicateur,trace,type_item,unite,version_calcul
+export_table operationNonIT conso_elec_moyenne,critere,etapeacv,impact_unitaire,nom_entite,nom_entite_discriminator,nom_item_non_it,nom_source_donnee,nom_source_donnee_discriminator,quantite,source,statut_indicateur,trace,type_item,unite,version_calcul,qualite
 
 ALL_OK=true
 for file in $(ls actual/); do
diff --git a/e2e/input_template/Application.csv b/e2e/input_template/Application.csv
index f6d03dcd2a587361b88401bdd1d793cbcb72434c..ffc0f6105435ca31f22f2745b7c95a1b2219a135 100644
--- a/e2e/input_template/Application.csv
+++ b/e2e/input_template/Application.csv
@@ -1,2 +1,2 @@
-nomApplication;typeEnvironnement;nomEquipementVirtuel;nomSourceDonneeEquipementVirtuel;domaine;sousDomaine;nomEntite;nomEquipementPhysique;nomSourceDonnee
-application-;##TYPE_ENV##;virtual-eq-;;Domain 1;Sub Domain 1;MY ENTERPRISE;physical-eq-srv-;;
+nomApplication;typeEnvironnement;nomEquipementVirtuel;nomSourceDonneeEquipementVirtuel;domaine;sousDomaine;nomEntite;nomEquipementPhysique;nomSourceDonnee;qualite
+application-;##TYPE_ENV##;virtual-eq-;;Domain 1;Sub Domain 1;MY ENTERPRISE;physical-eq-srv-;;haute
diff --git a/e2e/input_template/DataCenter.csv b/e2e/input_template/DataCenter.csv
index 11043f092ce8a6b463cce0b868d2cc2038f9ce12..4a7e92589e6f8aae41f2a8904d6c6f02954169e6 100644
--- a/e2e/input_template/DataCenter.csv
+++ b/e2e/input_template/DataCenter.csv
@@ -1,8 +1,8 @@
-nomCourtDatacenter;nomLongDatacenter;pue;localisation;nomEntite;
-default;Default;1.75;France;;
-B1;B1;1.32;France;;
-F1;F1;1.43;France;;
-G1;G1;1.45;Spain;;
+nomCourtDatacenter;nomLongDatacenter;pue;localisation;nomEntite;qualite
+default;Default;1.75;France;;Haute
+B1;B1;1.32;France;;bAsse
+F1;F1;1.43;France;;Moyenne 
+G1;G1;1.45;Spain;;erreur
 X1;X1;1.42;Russia;;
 Y1;Y1;1.41;Germany;;
 Z2;Z2;1.75;France;;
diff --git a/e2e/input_template/EquipementPhysique_hors_serveur.csv b/e2e/input_template/EquipementPhysique_hors_serveur.csv
index f8963fae13cdaafa4a4d2a48944b3d071820a321..557e28ba237b87d2ffcce41538579cf83a3919da 100644
--- a/e2e/input_template/EquipementPhysique_hors_serveur.csv
+++ b/e2e/input_template/EquipementPhysique_hors_serveur.csv
@@ -1,101 +1,101 @@
-nomEquipementPhysique;modele;quantite;nomCourtDatacenter;dateAchat;dateRetrait;type;statut;paysDUtilisation;consoElecAnnuelle;utilisateur;nomSourceDonnee;nomEntite;nbCoeur;nbJourUtiliseAn;goTelecharge;modeUtilisation;tauxUtilisation
-physical-eq-001;P2719;1;;2021-03-30;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;COPE;
-physical-eq-002;P2719;2;;2021-03-30;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;BYOD;
-physical-eq-003;P2719;4;;2021-03-30;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;COB;
-physical-eq-004;HUB USB;10;;2023-04-01;2023-06-16;Consumable;Consumed;France;;;;MY ENTERPRISE;;365;;BYOD;0.1
-physical-eq-005;P2720DC;2;;2022-11-04;2023-06-16;Monitor;In stock;France;;;;MY ENTERPRISE;;365;;BYOD;12.1
-physical-eq-006;PIXEL 6;1;;2022-10-18;2023-06-16;Communication Device;Missing;France;;;;MY ENTERPRISE;;365;;;test
-physical-eq-007;UP2516D;1;;2022-07-31;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;0.9
-physical-eq-008;UP2516D;2;;2022-03-10;2023-06-16;Monitor;In stock;France;;;;MY ENTERPRISE;;365;;COPE;0.6
-physical-eq-009;Unknown;3;;2021-08-09;2023-06-16;IP Router;In use;France;;;;MY ENTERPRISE;;365;;COPE;0
-physical-eq-010;Unknown;3;;2021-08-09;2023-06-16;IP Router;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-011;HP 8440p;1;;2021-08-05;2023-06-16;Personal Computer;Missing;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-012;HP 8440p;1;;2023-04-27;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-013;HP 8470w;2;;2025-08-23;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-014;OPPO A72;1;;2023-08-07;2023-06-16;Communication Device;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-015;CROSSCALL;1;;2022-08-20;2023-06-16;Communication Device;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-016;CROSSCALL;11;;2022-05-20;2023-06-16;Communication Device;In stock;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-017;CROSSCALL;8;;2022-05-28;2023-06-16;Communication Device;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-018;HUAWEI P9;11;;2021-01-28;2023-06-16;Communication Device;In stock;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-019;HUAWEI P9;4;;2022-08-18;2023-06-16;Communication Device;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-020;HUAWEI P9;1;;2023-06-18;2023-06-16;Communication Device;Missing;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-021;HUAWEI P9;32;;2021-01-28;2023-06-16;Communication Device;Missing;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-022;HUAWEI P9;9;;2024-08-18;2023-06-16;Communication Device;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-023;PRO MP242;50;;2022-06-21;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-024;SAC A DOS;534;;2023-02-18;2023-06-16;Consumable;Consumed;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-025;SAC A DOS;1;;2023-02-18;2023-06-16;Consumable;Missing;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-026;SPIDER X1;2;;2022-10-17;2023-06-16;Communication Device;In stock;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-027;DELL 1909W;5;;2022-11-20;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-028;DELL 1909W;1;;2021-12-20;2023-06-16;Monitor;Missing;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-029;DELL 1909W;14;;2025-10-17;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-030;DELL 2412M;1;;2022-12-26;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-031;DELL 2717H;19;;2021-04-08;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-032;DELL 2717H;1;;2024-11-23;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-033;DELL E7440;5;;2023-03-19;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-034;DELL E7440;31;;2025-10-27;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-035;DELL E7440;11;;2022-04-24;2023-06-16;Personal Computer;Missing;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-036;DELL E7450;2;;2022-12-21;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-037;DELL E7450;14;;2025-10-31;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-038;DELL E7450;6;;2022-04-22;2023-06-16;Personal Computer;Missing;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-039;DELL E7470;33;;2023-02-11;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-040;DELL E7470;23;;2022-03-16;2023-06-16;Personal Computer;Missing;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-041;DELL E7470;9;;2022-03-16;2023-06-16;Personal Computer;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-042;DELL E7470;4;;2022-03-16;2023-06-16;Personal Computer;In stock;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-043;DELL E7470;325;;2024-09-01;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-044;DELL E7470;2;;2025-03-03;2023-06-16;Personal Computer;In stock;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-045;DELL E7480;349;;2022-12-11;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-046;DELL E7480;49;;2021-10-26;2023-06-16;Personal Computer;Missing;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-047;DELL E7480;18;;2021-09-25;2023-06-16;Personal Computer;In stock;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-048;DELL E7480;141;;2023-11-04;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-049;DELL E7480;70;;2021-09-30;2023-06-16;Personal Computer;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-050;DELL E7480;1;;2025-06-03;2023-06-16;Personal Computer;Missing;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-051;DELL E7490;248;;2022-03-21;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-052;DELL E7490;52;;2021-06-17;2023-06-16;Personal Computer;In stock;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-053;DELL E7490;421;;2021-06-01;2023-06-16;Personal Computer;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-054;DELL E7490;51;;2021-06-19;2023-06-16;Personal Computer;Missing;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-055;DELL E7490;6;;2024-04-20;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-056;DELL P1911;8;;2022-07-25;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-057;DELL P1911;6;;2025-01-04;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-058;DELL P1913;4;;2022-11-02;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-059;DELL P1913;2;;2024-04-12;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-060;HUAWEI P20;1;;2021-12-24;2023-06-16;Communication Device;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-061;LENOVO M73;13;;2024-01-25;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-062;LENOVO M73;13;;2022-01-25;2023-06-16;Personal Computer;In Use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-063;ANTIVOL MAC;1;;2023-01-14;2023-06-16;Consumable;Missing;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-064;ANTIVOL MAC;1;;2023-01-14;2023-06-16;Consumable;In stock;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-065;ANTIVOL MAC;10;;2023-01-14;2023-06-16;Consumable;Consumed;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-066;AOC U2879VF;10;;2022-11-27;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-067;DELL P2210T;1;;2022-12-29;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-068;DELL P2217H;286;;2021-03-13;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-069;DELL P2217H;1;;2021-03-13;2023-06-16;Monitor;Missing;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-070;DELL P2217H;5;;2022-01-14;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-071;DELL P2217H;6;;2021-03-13;2023-06-16;Monitor;In stock;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-072;DELL P2217H;3;;2023-10-15;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-073;DELL P2319H;1;;2022-12-19;2023-06-16;Monitor;In stock;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-074;DELL P2319H;49;;2022-12-19;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-075;DELL P2412H;1;;2022-03-25;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-076;DELL P2412H;1;;2025-06-01;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-077;DELL P2415Q;7;;2022-03-13;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-078;DELL P2415Q;1;;2022-03-13;2023-06-16;Monitor;In stock;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-079;DELL P2417H;371;;2021-03-18;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-080;DELL P2417H;7;;2022-07-16;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-081;DELL P2417H;4;;2024-07-02;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-082;DELL P2417H;5;;2021-03-18;2023-06-16;Monitor;In stock;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-083;DELL P2419H;11;;2021-09-01;2023-06-16;Monitor;In stock;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-084;DELL P2419H;11;;2022-10-18;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-085;DELL P2419H;847;;2021-09-01;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-086;DELL P2419H;1;;2021-09-01;2023-06-16;Monitor;Missing;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-087;DELL P2419H;32;;2024-05-15;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-088;DELL P2422H;7;;2023-04-23;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-089;DELL P2422H;2;;2023-09-30;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-090;DELL P2422H;588;;2022-09-25;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-091;DELL P2719H;1;;2022-04-04;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-092;DELL P2719H;43;;2021-07-29;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-093;DELL P2719H;2;;2021-07-29;2023-06-16;Monitor;In stock;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-094;DELL P2721Q;2;;2023-02-24;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-095;DELL S2216H;2;;2024-11-27;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-096;DELL S2216H;17;;2021-05-21;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-097;DELL S2216H;1;;2022-11-22;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-098;DELL S2240L;28;;2021-06-26;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-099;DELL S2240L;8;;2022-12-04;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
-physical-eq-100;DELL S2240L;4;;2024-12-09;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;
+nomEquipementPhysique;modele;quantite;nomCourtDatacenter;dateAchat;dateRetrait;type;statut;paysDUtilisation;consoElecAnnuelle;utilisateur;nomSourceDonnee;nomEntite;nbCoeur;nbJourUtiliseAn;goTelecharge;modeUtilisation;tauxUtilisation;qualite
+physical-eq-001;P2719;1;;2021-03-30;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;COPE;;Haute
+physical-eq-002;P2719;2;;2021-03-30;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;BYOD;;Basse
+physical-eq-003;P2719;4;;2021-03-30;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;COB;;Moyenne
+physical-eq-004;HUB USB;10;;2023-04-01;2023-06-16;Consumable;Consumed;France;;;;MY ENTERPRISE;;365;;BYOD;0.1;erreur
+physical-eq-005;P2720DC;2;;2022-11-04;2023-06-16;Monitor;In stock;France;;;;MY ENTERPRISE;;365;;BYOD;12.1;moyenne
+physical-eq-006;PIXEL 6;1;;2022-10-18;2023-06-16;Communication Device;Missing;France;;;;MY ENTERPRISE;;365;;;test;haute
+physical-eq-007;UP2516D;1;;2022-07-31;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;0.9;basse
+physical-eq-008;UP2516D;2;;2022-03-10;2023-06-16;Monitor;In stock;France;;;;MY ENTERPRISE;;365;;COPE;0.6;
+physical-eq-009;Unknown;3;;2021-08-09;2023-06-16;IP Router;In use;France;;;;MY ENTERPRISE;;365;;COPE;0;
+physical-eq-010;Unknown;3;;2021-08-09;2023-06-16;IP Router;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-011;HP 8440p;1;;2021-08-05;2023-06-16;Personal Computer;Missing;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-012;HP 8440p;1;;2023-04-27;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-013;HP 8470w;2;;2025-08-23;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-014;OPPO A72;1;;2023-08-07;2023-06-16;Communication Device;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-015;CROSSCALL;1;;2022-08-20;2023-06-16;Communication Device;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-016;CROSSCALL;11;;2022-05-20;2023-06-16;Communication Device;In stock;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-017;CROSSCALL;8;;2022-05-28;2023-06-16;Communication Device;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-018;HUAWEI P9;11;;2021-01-28;2023-06-16;Communication Device;In stock;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-019;HUAWEI P9;4;;2022-08-18;2023-06-16;Communication Device;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-020;HUAWEI P9;1;;2023-06-18;2023-06-16;Communication Device;Missing;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-021;HUAWEI P9;32;;2021-01-28;2023-06-16;Communication Device;Missing;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-022;HUAWEI P9;9;;2024-08-18;2023-06-16;Communication Device;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-023;PRO MP242;50;;2022-06-21;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-024;SAC A DOS;534;;2023-02-18;2023-06-16;Consumable;Consumed;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-025;SAC A DOS;1;;2023-02-18;2023-06-16;Consumable;Missing;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-026;SPIDER X1;2;;2022-10-17;2023-06-16;Communication Device;In stock;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-027;DELL 1909W;5;;2022-11-20;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-028;DELL 1909W;1;;2021-12-20;2023-06-16;Monitor;Missing;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-029;DELL 1909W;14;;2025-10-17;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-030;DELL 2412M;1;;2022-12-26;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-031;DELL 2717H;19;;2021-04-08;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-032;DELL 2717H;1;;2024-11-23;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-033;DELL E7440;5;;2023-03-19;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-034;DELL E7440;31;;2025-10-27;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-035;DELL E7440;11;;2022-04-24;2023-06-16;Personal Computer;Missing;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-036;DELL E7450;2;;2022-12-21;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-037;DELL E7450;14;;2025-10-31;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-038;DELL E7450;6;;2022-04-22;2023-06-16;Personal Computer;Missing;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-039;DELL E7470;33;;2023-02-11;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-040;DELL E7470;23;;2022-03-16;2023-06-16;Personal Computer;Missing;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-041;DELL E7470;9;;2022-03-16;2023-06-16;Personal Computer;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-042;DELL E7470;4;;2022-03-16;2023-06-16;Personal Computer;In stock;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-043;DELL E7470;325;;2024-09-01;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-044;DELL E7470;2;;2025-03-03;2023-06-16;Personal Computer;In stock;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-045;DELL E7480;349;;2022-12-11;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-046;DELL E7480;49;;2021-10-26;2023-06-16;Personal Computer;Missing;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-047;DELL E7480;18;;2021-09-25;2023-06-16;Personal Computer;In stock;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-048;DELL E7480;141;;2023-11-04;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-049;DELL E7480;70;;2021-09-30;2023-06-16;Personal Computer;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-050;DELL E7480;1;;2025-06-03;2023-06-16;Personal Computer;Missing;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-051;DELL E7490;248;;2022-03-21;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-052;DELL E7490;52;;2021-06-17;2023-06-16;Personal Computer;In stock;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-053;DELL E7490;421;;2021-06-01;2023-06-16;Personal Computer;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-054;DELL E7490;51;;2021-06-19;2023-06-16;Personal Computer;Missing;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-055;DELL E7490;6;;2024-04-20;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-056;DELL P1911;8;;2022-07-25;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-057;DELL P1911;6;;2025-01-04;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-058;DELL P1913;4;;2022-11-02;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-059;DELL P1913;2;;2024-04-12;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-060;HUAWEI P20;1;;2021-12-24;2023-06-16;Communication Device;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-061;LENOVO M73;13;;2024-01-25;2023-06-16;Personal Computer;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-062;LENOVO M73;13;;2022-01-25;2023-06-16;Personal Computer;In Use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-063;ANTIVOL MAC;1;;2023-01-14;2023-06-16;Consumable;Missing;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-064;ANTIVOL MAC;1;;2023-01-14;2023-06-16;Consumable;In stock;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-065;ANTIVOL MAC;10;;2023-01-14;2023-06-16;Consumable;Consumed;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-066;AOC U2879VF;10;;2022-11-27;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-067;DELL P2210T;1;;2022-12-29;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-068;DELL P2217H;286;;2021-03-13;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-069;DELL P2217H;1;;2021-03-13;2023-06-16;Monitor;Missing;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-070;DELL P2217H;5;;2022-01-14;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-071;DELL P2217H;6;;2021-03-13;2023-06-16;Monitor;In stock;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-072;DELL P2217H;3;;2023-10-15;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-073;DELL P2319H;1;;2022-12-19;2023-06-16;Monitor;In stock;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-074;DELL P2319H;49;;2022-12-19;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-075;DELL P2412H;1;;2022-03-25;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-076;DELL P2412H;1;;2025-06-01;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-077;DELL P2415Q;7;;2022-03-13;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-078;DELL P2415Q;1;;2022-03-13;2023-06-16;Monitor;In stock;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-079;DELL P2417H;371;;2021-03-18;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-080;DELL P2417H;7;;2022-07-16;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-081;DELL P2417H;4;;2024-07-02;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-082;DELL P2417H;5;;2021-03-18;2023-06-16;Monitor;In stock;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-083;DELL P2419H;11;;2021-09-01;2023-06-16;Monitor;In stock;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-084;DELL P2419H;11;;2022-10-18;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-085;DELL P2419H;847;;2021-09-01;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-086;DELL P2419H;1;;2021-09-01;2023-06-16;Monitor;Missing;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-087;DELL P2419H;32;;2024-05-15;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-088;DELL P2422H;7;;2023-04-23;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-089;DELL P2422H;2;;2023-09-30;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-090;DELL P2422H;588;;2022-09-25;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-091;DELL P2719H;1;;2022-04-04;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-092;DELL P2719H;43;;2021-07-29;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-093;DELL P2719H;2;;2021-07-29;2023-06-16;Monitor;In stock;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-094;DELL P2721Q;2;;2023-02-24;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-095;DELL S2216H;2;;2024-11-27;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-096;DELL S2216H;17;;2021-05-21;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-097;DELL S2216H;1;;2022-11-22;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-098;DELL S2240L;28;;2021-06-26;2023-06-16;Monitor;In use;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-099;DELL S2240L;8;;2022-12-04;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
+physical-eq-100;DELL S2240L;4;;2024-12-09;2023-06-16;Monitor;Retired;France;;;;MY ENTERPRISE;;365;;;;
diff --git a/e2e/input_template/EquipementPhysique_serveur.csv b/e2e/input_template/EquipementPhysique_serveur.csv
index 21333d8a4f0c061d0502056dd0543e8799190eb9..2c2e6f318e80468f2c2884c20ac00e36330c9af4 100644
--- a/e2e/input_template/EquipementPhysique_serveur.csv
+++ b/e2e/input_template/EquipementPhysique_serveur.csv
@@ -1,101 +1,101 @@
-nomEquipementPhysique;modele;quantite;nomCourtDatacenter;dateAchat;dateRetrait;type;statut;paysDUtilisation;consoElecAnnuelle;utilisateur;nomSourceDonnee;nomEntite;nbCoeur;nbJourUtiliseAn;goTelecharge;modeUtilisation;tauxUtilisation
-physical-eq-srv-001;blade-server--28;7;default;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-002;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;10;;
-physical-eq-srv-003;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;20;;
-physical-eq-srv-004;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;30;;
-physical-eq-srv-005;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;40;;
-physical-eq-srv-006;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;50;;
-physical-eq-srv-007;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-008;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-009;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-010;DATACENTER;2;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-011;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-012;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-013;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-014;DATACENTER;1;G1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-015;DATACENTER;1;G1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-016;DATACENTER;1;G1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-017;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-018;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-019;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-020;DATACENTER;8;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-021;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-022;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-023;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-024;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-025;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-026;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-027;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-028;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-029;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-030;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-031;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-032;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-033;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-034;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;
-physical-eq-srv-035;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-036;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-037;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-038;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-039;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-040;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-041;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-042;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-043;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-044;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-045;DATACENTER;26;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-046;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-047;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-048;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-049;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-050;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-051;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-052;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-053;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-054;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-055;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-056;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-057;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-058;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-059;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-060;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-061;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-062;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-063;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-064;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-065;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-066;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-067;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-068;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-069;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-070;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-071;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-072;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-073;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;
-physical-eq-srv-074;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-075;DATACENTER;122;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-076;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-077;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-078;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-079;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-080;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-081;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-082;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-083;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-084;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-085;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-086;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-087;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-088;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-089;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-090;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-091;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-092;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-093;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-094;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-095;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-096;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-097;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-098;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-099;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
-physical-eq-srv-100;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;
+nomEquipementPhysique;modele;quantite;nomCourtDatacenter;dateAchat;dateRetrait;type;statut;paysDUtilisation;consoElecAnnuelle;utilisateur;nomSourceDonnee;nomEntite;nbCoeur;nbJourUtiliseAn;goTelecharge;modeUtilisation;tauxUtilisation;qualite
+physical-eq-srv-001;blade-server--28;7;default;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;Haute
+physical-eq-srv-002;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;10;;;Basse
+physical-eq-srv-003;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;20;;;Moyenne
+physical-eq-srv-004;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;30;;;erreur
+physical-eq-srv-005;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;40;;;
+physical-eq-srv-006;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;50;;;
+physical-eq-srv-007;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-008;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-009;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-010;DATACENTER;2;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-011;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-012;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-013;DATACENTER;1;F1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-014;DATACENTER;1;G1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-015;DATACENTER;1;G1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-016;DATACENTER;1;G1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-017;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-018;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-019;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-020;DATACENTER;8;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-021;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-022;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-023;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-024;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-025;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-026;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-027;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-028;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-029;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-030;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-031;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-032;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-033;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-034;DATACENTER;1;X1;2016-06-17;2023-06-16;Server;In use;;;;;;;365;;;;
+physical-eq-srv-035;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-036;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-037;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-038;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-039;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-040;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-041;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-042;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-043;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-044;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-045;DATACENTER;26;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-046;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-047;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-048;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-049;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-050;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-051;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-052;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-053;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-054;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-055;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-056;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-057;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-058;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-059;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-060;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-061;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-062;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-063;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-064;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-065;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-066;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-067;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-068;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-069;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-070;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-071;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-072;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-073;DATACENTER;1;Y1;2016-06-17;2023-06-16;Server;In use;Germany;;;;;;365;;;;
+physical-eq-srv-074;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-075;DATACENTER;122;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-076;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-077;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-078;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-079;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-080;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-081;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-082;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-083;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-084;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-085;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-086;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-087;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-088;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-089;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-090;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-091;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-092;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-093;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-094;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-095;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-096;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-097;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-098;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-099;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
+physical-eq-srv-100;DATACENTER;1;Z2;2016-06-17;2023-06-16;Server;In use;France;;;;;;365;;;;
diff --git a/e2e/input_template/EquipementVirtuel.csv b/e2e/input_template/EquipementVirtuel.csv
index c6754843426419c199945428bddb65f052f3ee2a..f3ca683e9be8a798a2ce02cc844bdd68c1ed992e 100644
--- a/e2e/input_template/EquipementVirtuel.csv
+++ b/e2e/input_template/EquipementVirtuel.csv
@@ -1,2 +1,2 @@
-nomEquipementVirtuel;nomEquipementPhysique;nomSourceDonneeEquipementPhysique;cleRepartition;vCPU;cluster;consoElecAnnuelle;typeEqv;capaciteStockage;nomEntite;nomSourceDonnee
-virtual-eq-;physical-eq-srv-;;;##VCPU##;##TYPE_EQV##;;calcul;;;;
+nomEquipementVirtuel;nomEquipementPhysique;nomSourceDonneeEquipementPhysique;cleRepartition;vCPU;cluster;consoElecAnnuelle;typeEqv;capaciteStockage;nomEntite;nomSourceDonnee;qualite
+virtual-eq-;physical-eq-srv-;;;##VCPU##;##TYPE_EQV##;;calcul;;;;basse
diff --git a/e2e/input_template/OperationNonIT.csv b/e2e/input_template/OperationNonIT.csv
index ae3e4ec355e54531751d3d4d0d9e32d18bc60826..1cee0eb07142c07c99505b3fae6317475006ec3d 100644
--- a/e2e/input_template/OperationNonIT.csv
+++ b/e2e/input_template/OperationNonIT.csv
@@ -1,21 +1,21 @@
-nomItemNonIT;quantite;type;dureeDeVie;localisation;nomEntite;nomSourceDonnee;nomCourtDatacenter;description;consoElecAnnuelle
-reseau-fixe-1;100.0;Fixed Line FR ;;France;SSG;sourceTest;;description;
-reseau-fixe-2;20.0;Fixed Line EU;;Hungary;Entite;sourceTest2;;description;
-reseau-fixe-error;20.0;Fixed Line;;Hungary;Entite;sourceTest2;;description;
-reseau-mobile-1;445.0;Mobile Line;;France;EntiteTest;sourceTest3;;description;
-batiment-dsi-stMalo;1000.0;Batiment 1;45.0;France;EntiteTest;sourceTest4;;description;
-batiment-dsi-Rennes;1200.0;Batiment 1;;France;EntiteTest;sourceTest5;;description;
-batiment-dsi-Cesson;1060.0;Batiment 2;;France;EntiteTest;sourceTest6;;description;
-batiment-dc-stMalo;836.0;Batiment DC;25.0;France;EntiteTest;sourceTest7;fakeName;description;
-batiment-dc-Cesson;590.0;Batiment DC;;France;EntiteTest;sourceTest8;G1;description;
-maintenance-1;30.0;Maintenance 1;;France;EntiteTest;sourceTest9;;description;
-deplacement-velo;1230.0;Deplacement Velo;;France;EntiteTest;sourceTest10;;description;
-deplacement-trotinette;60.0;Deplacement Trotinette;;France;EntiteTest;sourceTest11;;description;
-deplacement-voiture-electrique;156.0;Deplacement Voiture Electrique;;France;EntiteTest;sourceTest12;;description;
-deplacement-voiture-hybride;3457.0;Deplacement Voiture Hybride;;France;EntiteTest;sourceTest13;;description;
-deplacement-voiture-essence;24678.0;Deplacement Voiture Essence;;France;EntiteTest;sourceTest14;;description;
-deplacement-voiture-diesel;2355.0;Deplacement Voiture Diesel;;France;EntiteTest;sourceTest15;;description;
-deplacement-avion;23000.0;Deplacement Avion;;France;EntiteTest;sourceTest16;;description;
-deplacement-train;27000.0;Deplacement Train;;France;EntiteTest;sourceTest17;;description;
-deplacement-bus-essence;352.0;Deplacement Bus Essence;;France;EntiteTest;sourceTest18;;description;
-deplacement-bus-electrique;352.0;Deplacement Bus Electrique;;France;EntiteTest;sourceTest18;;description;
+nomItemNonIT;quantite;type;dureeDeVie;localisation;nomEntite;nomSourceDonnee;nomCourtDatacenter;description;consoElecAnnuelle;qualite
+reseau-fixe-1;100.0;Fixed Line FR ;;France;SSG;sourceTest;;description;;moyenne 
+reseau-fixe-2;20.0;Fixed Line EU;;Hungary;Entite;sourceTest2;;description;;haUte
+reseau-fixe-error;20.0;Fixed Line;;Hungary;Entite;sourceTest2;;description;;
+reseau-mobile-1;445.0;Mobile Line;;France;EntiteTest;sourceTest3;;description;;erreur
+batiment-dsi-stMalo;1000.0;Batiment 1;45.0;France;EntiteTest;sourceTest4;;description;;HAUTE
+batiment-dsi-Rennes;1200.0;Batiment 1;;France;EntiteTest;sourceTest5;;description;;bas
+batiment-dsi-Cesson;1060.0;Batiment 2;;France;EntiteTest;sourceTest6;;description;;Basse
+batiment-dc-stMalo;836.0;Batiment DC;25.0;France;EntiteTest;sourceTest7;fakeName;description;;
+batiment-dc-Cesson;590.0;Batiment DC;;France;EntiteTest;sourceTest8;G1;description;;
+maintenance-1;30.0;Maintenance 1;;France;EntiteTest;sourceTest9;;description;;
+deplacement-velo;1230.0;Deplacement Velo;;France;EntiteTest;sourceTest10;;description;;
+deplacement-trotinette;60.0;Deplacement Trotinette;;France;EntiteTest;sourceTest11;;description;;
+deplacement-voiture-electrique;156.0;Deplacement Voiture Electrique;;France;EntiteTest;sourceTest12;;description;;
+deplacement-voiture-hybride;3457.0;Deplacement Voiture Hybride;;France;EntiteTest;sourceTest13;;description;;
+deplacement-voiture-essence;24678.0;Deplacement Voiture Essence;;France;EntiteTest;sourceTest14;;description;;
+deplacement-voiture-diesel;2355.0;Deplacement Voiture Diesel;;France;EntiteTest;sourceTest15;;description;;
+deplacement-avion;23000.0;Deplacement Avion;;France;EntiteTest;sourceTest16;;description;;
+deplacement-train;27000.0;Deplacement Train;;France;EntiteTest;sourceTest17;;description;;
+deplacement-bus-essence;352.0;Deplacement Bus Essence;;France;EntiteTest;sourceTest18;;description;;
+deplacement-bus-electrique;352.0;Deplacement Bus Electrique;;France;EntiteTest;sourceTest18;;description;;
diff --git a/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/controller/export/IndicateurController.java b/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/controller/export/IndicateurController.java
index e3338c81897cc42f2a03e3fa013405415ab9aaf8..e3a93ebb821c20752e70cf4c9e6ae379c94c28f5 100644
--- a/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/controller/export/IndicateurController.java
+++ b/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/controller/export/IndicateurController.java
@@ -170,14 +170,9 @@ public class IndicateurController {
             rows++;
             List<String> values = new ArrayList<>();
             for (int i = 1; i <= numCols; i++) {
-                try {
-                    var value = rs.getDouble(i);
-                    values.add(String.valueOf(value));
-                } catch (Exception e) {
-                    var value = rs.getString(i);
-                    if (value == null) value = "";
-                    values.add(value);
-                }
+                var value = rs.getString(i);
+                if (value == null) value = "";
+                values.add(value);
             }
             lines.add(String.join(",", values));
             if (rows >= MAX_ROWS) break;
diff --git a/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/ApplicationRepository.java b/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/ApplicationRepository.java
index 574d05764f732caf79ca66be68ded28b90c637d2..4e5220f547888b07e8efa3b399dcafa793b08d7e 100644
--- a/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/ApplicationRepository.java
+++ b/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/ApplicationRepository.java
@@ -53,6 +53,7 @@ public class ApplicationRepository {
                             .domaine(rs.getString("domaine"))
                             .sousDomaine(rs.getString("sous_domaine"))
                             .nomSourceDonnee(rs.getString("nom_source_donnee"))
+                            .qualite(rs.getString("qualite"))
                             .build());
                 }
             }
diff --git a/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/EquipementPhysiqueRepository.java b/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/EquipementPhysiqueRepository.java
index 11864627976fb6634c256a55dbb189a254781329..d29cb38093de47dce267cbf5a05c69ee7a6d45a7 100644
--- a/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/EquipementPhysiqueRepository.java
+++ b/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/EquipementPhysiqueRepository.java
@@ -35,7 +35,8 @@ public class EquipementPhysiqueRepository {
                           dc.localisation as dc_localisation,
                           dc.nom_long_datacenter as dc_nom_long_datacenter,
                           dc.pue as dc_pue,
-                          dc.nom_entite as dc_nom_entite
+                          dc.nom_entite as dc_nom_entite,
+                          dc.qualite as dc_qualite
                         FROM en_equipement_physique eqp
                         LEFT JOIN en_data_center dc ON dc.nom_lot = eqp.nom_lot and dc.nom_court_datacenter = eqp.nom_court_datacenter
                         WHERE eqp.id = ANY (?)
@@ -69,6 +70,7 @@ public class EquipementPhysiqueRepository {
                             .nomSourceDonnee(rs.getString("nom_source_donnee"))
                             .modeUtilisation(rs.getString("mode_utilisation"))
                             .tauxUtilisation(ResultSetUtils.getDouble(rs, "taux_utilisation"))
+                            .qualite(rs.getString("qualite"))
                             .dataCenter(
                                     DataCenterDTO.builder()
                                             .id(rs.getLong("dc_id"))
@@ -79,6 +81,7 @@ public class EquipementPhysiqueRepository {
                                             .nomEntite(rs.getString("dc_nom_entite"))
                                             .nomOrganisation(rs.getString("nom_organisation"))
                                             .dateLot(ResultSetUtils.getLocalDate(rs, "date_lot"))
+                                            .qualite(rs.getString("dc_qualite"))
                                             .build()
                             )
                             .build());
diff --git a/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/EquipementVirtuelRepository.java b/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/EquipementVirtuelRepository.java
index 574c2c8c595bca2261f9b89e9eca28cdd4251bfd..14c8c91d4af68f789da90f68f5d7a446a479a73d 100644
--- a/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/EquipementVirtuelRepository.java
+++ b/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/EquipementVirtuelRepository.java
@@ -54,6 +54,7 @@ public class EquipementVirtuelRepository {
                             .capaciteStockage(ResultSetUtils.getDouble(rs, "capacite_stockage"))
                             .cleRepartition(ResultSetUtils.getDouble(rs, "cle_repartition"))
                             .nomSourceDonnee(rs.getString("nom_source_donnee"))
+                            .qualite(rs.getString("qualite"))
                             .build());
                 }
             }
diff --git a/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/IndicateurRepository.java b/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/IndicateurRepository.java
index aa07000348378e9c0c1e6734ffb29e87d237f4e7..a2148ebc7194456c2f3ae69e64ef70c93a3e9d21 100644
--- a/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/IndicateurRepository.java
+++ b/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/IndicateurRepository.java
@@ -30,8 +30,8 @@ public class IndicateurRepository {
                            critere, nom_equipement, nom_entite, nom_entite_discriminator, source,
                            statut_indicateur, trace, version_calcul, conso_elec_moyenne,
                            impact_unitaire, quantite, type_equipement, unite,
-                           statut_equipement_physique, nom_lot, nom_source_donnee, nom_source_donnee_discriminator)
-                         VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?, ?, ?, ?)
+                           statut_equipement_physique, nom_lot, nom_source_donnee, nom_source_donnee_discriminator, qualite)
+                         VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?, ?, ?, ?, ?)
             """;
 
     private static final String INSERT_EQUIPEMENT_VIRTUEL_QUERY = """
@@ -39,8 +39,8 @@ public class IndicateurRepository {
                     (date_calcul, date_lot, date_lot_discriminator, nom_organisation, nom_organisation_discriminator,
                       etapeacv, critere, nom_equipement, nom_equipement_virtuel, nom_entite, nom_entite_discriminator, 
                       source, statut_indicateur, trace, version_calcul, impact_unitaire, unite, conso_elec_moyenne, 
-                      cluster, nom_lot, nom_source_donnee, nom_source_donnee_discriminator )
-                    VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+                      cluster, nom_lot, nom_source_donnee, nom_source_donnee_discriminator, qualite )
+                    VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?)
             """;
 
     private static final String INSERT_APPLICATION_QUERY = """
@@ -49,8 +49,8 @@ public class IndicateurRepository {
                      nom_organisation_discriminator, nom_application, type_environnement, nom_equipement_physique,
                      nom_equipement_virtuel, nom_entite, nom_entite_discriminator, source, statut_indicateur, trace,
                      version_calcul, domaine, sous_domaine, impact_unitaire, unite, conso_elec_moyenne, nom_lot,
-                     nom_source_donnee, nom_source_donnee_discriminator)
-                VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+                     nom_source_donnee, nom_source_donnee_discriminator, qualite)
+                VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?)
             """;
 
     private static final String INSERT_OPERATION_NON_IT_QUERY = """
@@ -59,8 +59,8 @@ public class IndicateurRepository {
                            critere, nom_item_non_it, nom_entite, nom_entite_discriminator, source,
                            statut_indicateur, trace, version_calcul, conso_elec_moyenne,
                            impact_unitaire, quantite, type_item, unite,
-                           nom_lot, nom_source_donnee, nom_source_donnee_discriminator)
-                VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ,? ,?)
+                           nom_lot, nom_source_donnee, nom_source_donnee_discriminator,qualite)
+                VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ,? ,?,?)
             """;
     private static final String INSERT_MESSAGERIE_QUERY = """
             INSERT INTO ind_indicateur_impact_messagerie
@@ -122,6 +122,7 @@ public class IndicateurRepository {
                     ps.setString(21, indicateur.getNomLot());
                     ps.setString(22, indicateur.getNomSourceDonnee());
                     ps.setString(23, StringUtils.defaultString(indicateur.getNomSourceDonnee()));
+                    ps.setString(24, indicateur.getQualite());
                     ps.addBatch();
                 }
 
@@ -151,6 +152,7 @@ public class IndicateurRepository {
                     ps.setString(20, indicateur.getNomLot());
                     ps.setString(21, indicateur.getNomSourceDonnee());
                     ps.setString(22, StringUtils.defaultString(indicateur.getNomSourceDonnee()));
+                    ps.setString(23, indicateur.getQualite());
                     ps.addBatch();
                 }
 
@@ -184,6 +186,7 @@ public class IndicateurRepository {
                     ps.setString(23, indicateur.getNomLot());
                     ps.setString(24, indicateur.getNomSourceDonnee());
                     ps.setString(25, StringUtils.defaultString(indicateur.getNomSourceDonnee()));
+                    ps.setString(26, indicateur.getQualite());
                     ps.addBatch();
                 }
 
@@ -261,6 +264,7 @@ public class IndicateurRepository {
                     ps.setString(20, indicateur.getNomLot());
                     ps.setString(21, indicateur.getNomSourceDonnee());
                     ps.setString(22, StringUtils.defaultString(indicateur.getNomSourceDonnee()));
+                    ps.setString(23, indicateur.getQualite());
                     ps.addBatch();
                 }
 
diff --git a/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/OperationNonITRepository.java b/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/OperationNonITRepository.java
index a267c358571d7739fe72f09264be379fc16b9d64..dfda5caf864dc87742b1d2fed280c7138a9445c5 100644
--- a/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/OperationNonITRepository.java
+++ b/services/api-event-calculs/src/main/java/org/mte/numecoeval/calculs/infrastructure/repository/OperationNonITRepository.java
@@ -51,6 +51,7 @@ public class OperationNonITRepository {
                             .nomCourtDatacenter(rs.getString(COLUMN_NAME_NOM_COURT_DATACENTER))
                             .description(rs.getString("description"))
                             .consoElecAnnuelle(ResultSetUtils.getDouble(rs, "conso_elec_annuelle"))
+                            .qualite(rs.getString("qualite"))
                             .build());
                 }
             }
diff --git a/services/api-event-calculs/src/main/resources/schema.sql b/services/api-event-calculs/src/main/resources/schema.sql
index 24e2e71fcf2d0fc376fb1e0ebfe653c1199e2d54..e388cfc18ffbc6c386d6f354c14a713548e68e95 100644
--- a/services/api-event-calculs/src/main/resources/schema.sql
+++ b/services/api-event-calculs/src/main/resources/schema.sql
@@ -1,25 +1,26 @@
 -- Creation des tables indicateurs
 CREATE TABLE IF NOT EXISTS ind_indicateur_impact_equipement_physique
 (
-    date_calcul                timestamp    NULL,
-    date_lot                   date         NULL,
-    nom_lot                    varchar(255) NULL,
-    etapeacv                   varchar(255) NULL,
-    critere                    varchar(255) NULL,
-    "source"                   varchar(255) NULL,
-    statut_indicateur          varchar(255) NULL,
-    trace                      text         NULL,
-    version_calcul             varchar(255) NULL,
-    conso_elec_moyenne         float8       NULL,
-    impact_unitaire            float8       NULL,
-    quantite                   int4         NULL,
-    statut_equipement_physique varchar(255) NULL,
-    type_equipement            varchar(255) NULL,
-    unite                      varchar(255) NULL,
-    nom_entite                 varchar(255) NULL,
-    nom_organisation           varchar(255) NULL,
-    nom_source_donnee          varchar(255) NULL,
-    nom_equipement             varchar(255) NULL
+    date_calcul                  timestamp        NULL,
+    date_lot                     date             NULL,
+    nom_lot                      varchar(255)     NULL,
+    etapeacv                     varchar(255)     NULL,
+    critere                      varchar(255)     NULL,
+    "source"                     varchar(255)     NULL,
+    statut_indicateur            varchar(255)     NULL,
+    trace                        text             NULL,
+    version_calcul               varchar(255)     NULL,
+    conso_elec_moyenne           float8           NULL,
+    impact_unitaire              float8           NULL,
+    quantite                     int4             NULL,
+    statut_equipement_physique   varchar(255)     NULL,
+    type_equipement              varchar(255)     NULL,
+    unite                        varchar(255)     NULL,
+    nom_entite                   varchar(255)     NULL,
+    nom_organisation             varchar(255)     NULL,
+    nom_source_donnee            varchar(255)     NULL,
+    nom_equipement               varchar(255)     NULL,
+    qualite                      varchar(255)     NULL
 );
 
 CREATE TABLE IF NOT EXISTS ind_indicateur_impact_equipement_virtuel
@@ -41,54 +42,57 @@ CREATE TABLE IF NOT EXISTS ind_indicateur_impact_equipement_virtuel
     impact_unitaire        float8       NULL,
     unite                  varchar(255) NULL,
     conso_elec_moyenne     float8       NULL,
-    "cluster"              varchar(255) NULL
+    "cluster"              varchar(255) NULL,
+    qualite                varchar(255) NULL
 );
 
 CREATE TABLE IF NOT EXISTS ind_indicateur_impact_application
 (
-    date_calcul               timestamp    NULL,
-    date_lot                  date         NULL,
-    nom_lot                   varchar(255) NULL,
-    etapeacv                  varchar(255) NULL,
-    critere                   varchar(255) NULL,
-    nom_organisation          varchar(255) NULL,
-    nom_source_donnee         varchar(255) NULL,
-    nom_application           varchar(255) NULL,
-    type_environnement        varchar(255) NULL,
-    nom_equipement_physique   varchar(255) NULL,
-    nom_equipement_virtuel    varchar(255) NULL,
-    nom_entite                varchar(255) NULL,
-    "source"                  varchar(255) NULL,
-    statut_indicateur         varchar(255) NULL,
-    trace                     text         NULL,
-    version_calcul            varchar(255) NULL,
-    domaine                   varchar(255) NULL,
-    sous_domaine              varchar(255) NULL,
-    impact_unitaire           float8       NULL,
-    unite                     varchar(255) NULL,
-    conso_elec_moyenne        float8       NULL
+    date_calcul               timestamp        NULL,
+    date_lot                  date             NULL,
+    nom_lot                   varchar(255)     NULL,
+    etapeacv                  varchar(255)     NULL,
+    critere                   varchar(255)     NULL,
+    nom_organisation          varchar(255)     NULL,
+    nom_source_donnee         varchar(255)     NULL,
+    nom_application           varchar(255)     NULL,
+    type_environnement        varchar(255)     NULL,
+    nom_equipement_physique   varchar(255)     NULL,
+    nom_equipement_virtuel    varchar(255)     NULL,
+    nom_entite                varchar(255)     NULL,
+    "source"                  varchar(255)     NULL,
+    statut_indicateur         varchar(255)     NULL,
+    trace                     text             NULL,
+    version_calcul            varchar(255)     NULL,
+    domaine                   varchar(255)     NULL,
+    sous_domaine              varchar(255)     NULL,
+    impact_unitaire           float8           NULL,
+    unite                     varchar(255)     NULL,
+    conso_elec_moyenne        float8           NULL,
+    qualite                   varchar(255)     NULL
 );
 
 CREATE TABLE IF NOT EXISTS ind_indicateur_impact_operation_non_it
 (
-    date_calcul                timestamp    NULL,
-    date_lot                   date         NULL,
-    nom_lot                    varchar(255) NULL,
-    etapeacv                   varchar(255) NULL,
-    critere                    varchar(255) NULL,
-    "source"                   varchar(255) NULL,
-    statut_indicateur          varchar(255) NULL,
-    trace                      text         NULL,
-    version_calcul             varchar(255) NULL,
-    conso_elec_moyenne         float8       NULL,
-    impact_unitaire            float8       NULL,
-    quantite                   int4         NULL,
-    type_item            varchar(255) NULL,
-    unite                      varchar(255) NULL,
-    nom_entite                 varchar(255) NULL,
-    nom_organisation           varchar(255) NULL,
-    nom_source_donnee          varchar(255) NULL,
-    nom_item_non_it             varchar(255) NULL
+    date_calcul                timestamp         NULL,
+    date_lot                   date              NULL,
+    nom_lot                    varchar(255)      NULL,
+    etapeacv                   varchar(255)      NULL,
+    critere                    varchar(255)      NULL,
+    "source"                   varchar(255)      NULL,
+    statut_indicateur          varchar(255)      NULL,
+    trace                      text              NULL,
+    version_calcul             varchar(255)      NULL,
+    conso_elec_moyenne         float8            NULL,
+    impact_unitaire            float8            NULL,
+    quantite                   int4              NULL,
+    type_item                  varchar(255)      NULL,
+    unite                      varchar(255)      NULL,
+    nom_entite                 varchar(255)      NULL,
+    nom_organisation           varchar(255)      NULL,
+    nom_source_donnee          varchar(255)      NULL,
+    nom_item_non_it            varchar(255)      NULL,
+    qualite                    varchar(255)      NULL
 );
 
 CREATE TABLE IF NOT EXISTS ind_indicateur_impact_messagerie
@@ -113,23 +117,28 @@ CREATE TABLE IF NOT EXISTS ind_indicateur_impact_messagerie
 
 CREATE TABLE IF NOT EXISTS ind_indicateur_impact_reseau
 (
-    date_calcul          timestamp    NULL,
-    date_lot             date         NULL,
-    nom_lot              varchar(255) NULL,
-    etapeacv             varchar(255) NULL,
-    critere              varchar(255) NULL,
-    "source"             varchar(255) NULL,
-    statut_indicateur    varchar(255) NULL,
-    trace                text         NULL,
-    version_calcul       varchar(255) NULL,
-    impact_unitaire      float8       NULL,
-    unite                varchar(255) NULL,
-    nom_entite           varchar(255) NULL,
-    nom_organisation     varchar(255) NULL,
-    nom_source_donnee    varchar(255) NULL,
-    nom_equipement       varchar(255) NULL
+    date_calcul          timestamp          NULL,
+    date_lot             date               NULL,
+    nom_lot              varchar(255)       NULL,
+    etapeacv             varchar(255)       NULL,
+    critere              varchar(255)       NULL,
+    "source"             varchar(255)       NULL,
+    statut_indicateur    varchar(255)       NULL,
+    trace                text               NULL,
+    version_calcul       varchar(255)       NULL,
+    impact_unitaire      float8             NULL,
+    unite                varchar(255)       NULL,
+    nom_entite           varchar(255)       NULL,
+    nom_organisation     varchar(255)       NULL,
+    nom_source_donnee    varchar(255)       NULL,
+    nom_equipement       varchar(255)       NULL
 );
 
+ALTER TABLE IF EXISTS ind_indicateur_impact_equipement_physique ADD COLUMN IF NOT EXISTS qualite varchar(255)  NULL DEFAULT '';
+ALTER TABLE IF EXISTS ind_indicateur_impact_application ADD COLUMN IF NOT EXISTS qualite varchar(255)  NULL DEFAULT '';
+ALTER TABLE IF EXISTS ind_indicateur_impact_equipement_virtuel ADD COLUMN IF NOT EXISTS qualite varchar(255)  NULL DEFAULT '';
+ALTER TABLE IF EXISTS ind_indicateur_impact_operation_non_it ADD COLUMN IF NOT EXISTS qualite varchar(255)  NULL DEFAULT '';
+
 CREATE INDEX IF NOT EXISTS idx_ind_eq_p__nom_lot_nom_equipement   ON ind_indicateur_impact_equipement_physique (nom_lot, nom_equipement);
 CREATE INDEX IF NOT EXISTS idx_ind_eq_v__nom_lot_nom_equipement   ON ind_indicateur_impact_equipement_virtuel (nom_lot, nom_equipement);
 CREATE INDEX IF NOT EXISTS idx_ind_app__nom_lot_nom_equipement    ON ind_indicateur_impact_application (nom_lot, nom_equipement_physique);
diff --git a/services/api-event-calculs/src/test/java/org/mte/numecoeval/calculs/infrastructure/service/calcul/EnrichissementEquipementPhysiqueServiceTest.java b/services/api-event-calculs/src/test/java/org/mte/numecoeval/calculs/infrastructure/service/calcul/EnrichissementEquipementPhysiqueServiceTest.java
index 791717ec07073bbad79d85554b15bb65589cf64d..579474dced27d915e198073f3a63d76d6876f241 100644
--- a/services/api-event-calculs/src/test/java/org/mte/numecoeval/calculs/infrastructure/service/calcul/EnrichissementEquipementPhysiqueServiceTest.java
+++ b/services/api-event-calculs/src/test/java/org/mte/numecoeval/calculs/infrastructure/service/calcul/EnrichissementEquipementPhysiqueServiceTest.java
@@ -70,7 +70,8 @@ class EnrichissementEquipementPhysiqueServiceTest {
                 "localisation": "France",
                 "dateLot": "2023-10-26",
                 "nomOrganisation": "org"
-              }
+              },
+              "qualite":"HAUTE"
             }
             """, EquipementPhysiqueDTO.class);
 
@@ -144,6 +145,7 @@ class EnrichissementEquipementPhysiqueServiceTest {
         Assertions.assertEquals(1, actual.getMixElectriques().size());
         Assertions.assertEquals("FR", actual.getMixElectriques().get(0).getPays());
         Assertions.assertEquals(1.1, actual.getImpactsEquipement().get(0).getValeur());
+        Assertions.assertEquals("HAUTE", actual.getEquipementPhysique().getQualite());
     }
 
 
@@ -171,5 +173,6 @@ class EnrichissementEquipementPhysiqueServiceTest {
         Assertions.assertEquals(1, actual.getMixElectriques().size());
         Assertions.assertEquals("FR", actual.getMixElectriques().get(0).getPays());
         Assertions.assertEquals(2.2, actual.getImpactsEquipement().get(0).getValeur());
+        Assertions.assertEquals("HAUTE", actual.getEquipementPhysique().getQualite());
     }
 }
diff --git a/services/api-event-calculs/src/test/java/org/mte/numecoeval/calculs/infrastructure/service/calcul/EnrichissementOperationNonITServiceTest.java b/services/api-event-calculs/src/test/java/org/mte/numecoeval/calculs/infrastructure/service/calcul/EnrichissementOperationNonITServiceTest.java
index 393ff04c53cdf15d790d74e4ec07171b39a8b1fe..55f4b3872c65d3f641c321655226f2d4f9c13aa0 100644
--- a/services/api-event-calculs/src/test/java/org/mte/numecoeval/calculs/infrastructure/service/calcul/EnrichissementOperationNonITServiceTest.java
+++ b/services/api-event-calculs/src/test/java/org/mte/numecoeval/calculs/infrastructure/service/calcul/EnrichissementOperationNonITServiceTest.java
@@ -55,7 +55,8 @@ class EnrichissementOperationNonITServiceTest {
               "consoElecAnnuelle": null,
               "nomLot": "lot1",
               "dateLot": "2024-04-24",
-              "nomOrganisation": "org"
+              "nomOrganisation": "org",
+              "qualite":"BASSE"
             }
             """, OperationNonITDTO.class);
 
@@ -146,5 +147,7 @@ class EnrichissementOperationNonITServiceTest {
 
         Assertions.assertEquals("France", actual.getFacteurCaracterisations().get(1).getLocalisation());
         Assertions.assertEquals(0.0813225, actual.getFacteurCaracterisations().get(1).getValeur());
+        Assertions.assertEquals("BASSE", actual.getOperationNonIT().getQualite());
+
     }
 }
diff --git a/services/api-event-donneesentrees/src/main/java/org/mte/numecoeval/donneesentrees/infrastructure/config/EquipementPhysiqueIntegrationConfig.java b/services/api-event-donneesentrees/src/main/java/org/mte/numecoeval/donneesentrees/infrastructure/config/EquipementPhysiqueIntegrationConfig.java
index f826d65e94c96e7119ab6ec8ca17aeff44da38fd..392f44f6d7dcd24f0f814b2d11e53e07a3881332 100644
--- a/services/api-event-donneesentrees/src/main/java/org/mte/numecoeval/donneesentrees/infrastructure/config/EquipementPhysiqueIntegrationConfig.java
+++ b/services/api-event-donneesentrees/src/main/java/org/mte/numecoeval/donneesentrees/infrastructure/config/EquipementPhysiqueIntegrationConfig.java
@@ -97,7 +97,8 @@ public class EquipementPhysiqueIntegrationConfig {
                           dc.localisation as dc_localisation,
                           dc.nom_long_datacenter as dc_nom_long_datacenter,
                           dc.pue as dc_pue,
-                          dc.nom_entite as dc_nom_entite
+                          dc.nom_entite as dc_nom_entite,
+                          dc.qualite as dc_qualite
                         FROM en_equipement_physique eqp
                         LEFT JOIN en_data_center dc ON dc.nom_lot = eqp.nom_lot and dc.nom_court_datacenter = eqp.nom_court_datacenter
                         WHERE eqp.statut_traitement = 'A_INGERER'
@@ -130,6 +131,7 @@ public class EquipementPhysiqueIntegrationConfig {
                         .utilisateur(rs.getString("utilisateur"))
                         .nomCourtDatacenter(rs.getString(COLUMN_NAME_NOM_COURT_DATACENTER))
                         .nomSourceDonnee(rs.getString("nom_source_donnee"))
+                        .qualite(rs.getString("qualite"))
                         .dataCenter(
                                 DataCenterDTO.builder()
                                         .id(rs.getLong("dc_id"))
@@ -140,6 +142,7 @@ public class EquipementPhysiqueIntegrationConfig {
                                         .nomEntite(rs.getString("dc_nom_entite"))
                                         .nomOrganisation(rs.getString("nom_organisation"))
                                         .dateLot(ResultSetUtils.getLocalDate(rs, "date_lot"))
+                                        .qualite(rs.getString("dc_qualite"))
                                         .build()
                         )
                         .build()
diff --git a/services/api-event-donneesentrees/src/main/java/org/mte/numecoeval/donneesentrees/infrastructure/config/OperationNonITIntegrationConfig.java b/services/api-event-donneesentrees/src/main/java/org/mte/numecoeval/donneesentrees/infrastructure/config/OperationNonITIntegrationConfig.java
index a27c7c0ff59f61b7dfe429db80e5571422d92704..bde9876c3bf09b8026d4ee23fadd8395a4500c38 100644
--- a/services/api-event-donneesentrees/src/main/java/org/mte/numecoeval/donneesentrees/infrastructure/config/OperationNonITIntegrationConfig.java
+++ b/services/api-event-donneesentrees/src/main/java/org/mte/numecoeval/donneesentrees/infrastructure/config/OperationNonITIntegrationConfig.java
@@ -113,6 +113,7 @@ public class OperationNonITIntegrationConfig {
                         .nomCourtDatacenter(rs.getString(COLUMN_NAME_NOM_COURT_DATACENTER))
                         .description(rs.getString("description"))
                         .consoElecAnnuelle(ResultSetUtils.getDouble(rs, "conso_elec_annuelle"))
+                        .qualite(rs.getString("qualite"))
                         .build()
         );
         return adapter;
diff --git a/services/api-event-donneesentrees/src/test/resources/sql/equipment_physique.sql b/services/api-event-donneesentrees/src/test/resources/sql/equipment_physique.sql
index 4d532f98f7ad3b40923028332393225f3bec6522..b100c694c5c9ea1d0d242a329c6f6abb2637412e 100644
--- a/services/api-event-donneesentrees/src/test/resources/sql/equipment_physique.sql
+++ b/services/api-event-donneesentrees/src/test/resources/sql/equipment_physique.sql
@@ -7,8 +7,8 @@ INSERT INTO en_equipement_physique (id, date_creation, nom_lot, date_lot, nom_or
                                     date_achat, date_retrait, duree_vie_defaut, go_telecharge, modele, nb_coeur, mode_utilisation, taux_utilisation,
                                     nb_jour_utilise_an, nom_court_datacenter, nom_entite,
                                     nom_equipement_physique, pays_utilisation, quantite, serveur, statut, "type",
-                                    utilisateur, statut_traitement, date_update, nom_source_donnee)
+                                    utilisateur, statut_traitement, date_update, nom_source_donnee, qualite)
 VALUES (376826, '2023-03-23 15:53:51.179031', 'ENTITE|2022-01-01', '2022-01-01', 'ENTITE', NULL, '2022-01-01', NULL, 8.0, 0.0,
         'computer monitor-01-55', '','BYOD',0.4, 365.0, '', 'ENTITE', '2023-03-09-Ecran-105', 'France', 13.0, false, 'actif', 'Ecran',
-        '', 'EN_ATTENTE', NULL, 'SOURCE_A');
+        '', 'EN_ATTENTE', NULL, 'SOURCE_A','HAUTE');
 
diff --git a/services/api-event-donneesentrees/src/test/resources/sql/operation_non_it.sql b/services/api-event-donneesentrees/src/test/resources/sql/operation_non_it.sql
index 4960722a823f3bd71d2bd4a7de321f94322c65a1..f4da7a7a90271594a651651ed1b30e0115151154 100644
--- a/services/api-event-donneesentrees/src/test/resources/sql/operation_non_it.sql
+++ b/services/api-event-donneesentrees/src/test/resources/sql/operation_non_it.sql
@@ -1,4 +1,4 @@
 INSERT INTO en_operation_non_it (id, date_creation, nom_lot, date_lot, nom_organisation,nom_item_non_it, quantite, type,
-duree_de_vie, localisation, nom_entite,nom_source_donnee,nom_court_datacenter,description,conso_elec_annuelle,statut_traitement,date_update)
+duree_de_vie, localisation, nom_entite,nom_source_donnee,nom_court_datacenter,description,conso_elec_annuelle,statut_traitement,date_update,qualite)
 VALUES (11002, '2023-03-23 15:53:37.073851', 'nomlot', '2022-01-01', 'nomOrga', 'nomitem', 32, 'type', 31,
-        'Localisation', 'Entite', 'Source','nomCourtDatacenter','description',100,'EN_ATTENTE',NULL);
+        'Localisation', 'Entite', 'Source','nomCourtDatacenter','description',100,'EN_ATTENTE',NULL,'HAUTE');
diff --git a/services/api-event-donneesentrees/src/test/resources/sql/schema.sql b/services/api-event-donneesentrees/src/test/resources/sql/schema.sql
index 1460b631ad3380f75989e5887036a184020f18f1..27d5cb5e969c94baafac6f9ad0277622b8a928b7 100644
--- a/services/api-event-donneesentrees/src/test/resources/sql/schema.sql
+++ b/services/api-event-donneesentrees/src/test/resources/sql/schema.sql
@@ -28,6 +28,7 @@ CREATE TABLE IF NOT EXISTS en_data_center
     nom_entite           varchar(255) NULL,
     nom_long_datacenter  varchar(255) NULL,
     pue                  float8       NULL,
+    qualite              varchar(255) NULL,
     CONSTRAINT en_data_center_pkey PRIMARY KEY (id)
 );
 
@@ -59,6 +60,7 @@ CREATE TABLE IF NOT EXISTS en_equipement_physique
     taux_utilisation          float8       NULL,
     "type"                    varchar(255) NULL,
     utilisateur               varchar(255) NULL,
+    qualite                   varchar(255) NULL,
     CONSTRAINT en_equipement_physique_pkey PRIMARY KEY (id)
 );
 
@@ -75,46 +77,49 @@ CREATE TABLE IF NOT EXISTS en_equipement_virtuel
     nom_equipement_physique varchar(255) NULL,
     nom_equipement_virtuel  varchar(255) NULL,
     vcpu                    int4         NULL,
+    qualite                 varchar(255) NULL,
     CONSTRAINT en_equipement_virtuel_pkey PRIMARY KEY (id)
 );
 
 CREATE TABLE IF NOT EXISTS en_application
 (
-    id                      int8         NOT NULL,
-    date_creation           timestamp    NULL,
-    date_lot                date         NULL,
-    nom_lot                 varchar(255) NULL,
-    nom_organisation        varchar(255) NULL,
-    nom_source_donnee       varchar(255) NULL,
-    domaine                 varchar(255) NULL,
-    nom_application         varchar(255) NULL,
-    nom_entite              varchar(255) NULL,
-    nom_equipement_virtuel  varchar(255) NULL,
-    nom_equipement_physique varchar(255) NULL,
-    sous_domaine            varchar(255) NULL,
-    type_environnement      varchar(255) NULL,
+    id                      int8                 NOT NULL,
+    date_creation           timestamp            NULL,
+    date_lot                date                 NULL,
+    nom_lot                 varchar(255)         NULL,
+    nom_organisation        varchar(255)         NULL,
+    nom_source_donnee       varchar(255)         NULL,
+    domaine                 varchar(255)         NULL,
+    nom_application         varchar(255)         NULL,
+    nom_entite              varchar(255)         NULL,
+    nom_equipement_virtuel  varchar(255)         NULL,
+    nom_equipement_physique varchar(255)         NULL,
+    sous_domaine            varchar(255)         NULL,
+    type_environnement      varchar(255)         NULL,
+    qualite                 varchar(255)         NULL,
     CONSTRAINT en_application_pkey PRIMARY KEY (id)
 );
 
 CREATE TABLE IF NOT EXISTS en_operation_non_it
 (
-    id                      int8         NOT NULL,
-    date_creation           timestamp    NULL,
-    date_update          timestamp    NULL,
-    date_lot                date         NULL,
-    nom_lot                 varchar(255) NULL,
-    nom_organisation        varchar(255) NULL,
-    nom_source_donnee       varchar(255) NULL,
-    nom_item_non_it         varchar(255) NULL,
-    quantite                float8       NULL,
-    type                    varchar(255) NULL,
-    duree_de_vie            float8       NULL,
-    localisation            varchar(255) NULL,
-    nom_entite              varchar(255) NULL,
-    nom_court_datacenter    varchar(255) NULL,
-    description             varchar(255) NULL,
-    conso_elec_annuelle       float8       NULL,
-    statut_traitement       varchar(255) NULL,
+    id                            int8              NOT NULL,
+    date_creation                 timestamp         NULL,
+    date_update                   timestamp         NULL,
+    date_lot                      date              NULL,
+    nom_lot                       varchar(255)      NULL,
+    nom_organisation              varchar(255)      NULL,
+    nom_source_donnee             varchar(255)      NULL,
+    nom_item_non_it               varchar(255)      NULL,
+    quantite                      float8            NULL,
+    type                          varchar(255)      NULL,
+    duree_de_vie                  float8            NULL,
+    localisation                  varchar(255)      NULL,
+    nom_entite                    varchar(255)      NULL,
+    nom_court_datacenter          varchar(255)      NULL,
+    description                   varchar(255)      NULL,
+    conso_elec_annuelle           float8            NULL,
+    statut_traitement             varchar(255)      NULL,
+    qualite                       varchar(255)      NULL,
     CONSTRAINT en_operation_non_it_pkey PRIMARY KEY (id)
 );
 
@@ -157,3 +162,9 @@ ALTER TABLE IF EXISTS en_equipement_physique ADD COLUMN IF NOT EXISTS statut_tra
 ALTER TABLE IF EXISTS en_equipement_virtuel ADD COLUMN IF NOT EXISTS statut_traitement varchar(255);
 ALTER TABLE IF EXISTS en_application ADD COLUMN IF NOT EXISTS statut_traitement varchar(255);
 ALTER TABLE IF EXISTS en_messagerie ADD COLUMN IF NOT EXISTS statut_traitement varchar(255);
+
+ALTER TABLE IF EXISTS en_equipement_physique ADD COLUMN IF NOT EXISTS qualite varchar(255);
+ALTER TABLE IF EXISTS en_application ADD COLUMN IF NOT EXISTS qualite varchar(255);
+ALTER TABLE IF EXISTS en_operation_non_it ADD COLUMN IF NOT EXISTS qualite varchar(255);
+ALTER TABLE IF EXISTS en_equipement_virtuel ADD COLUMN IF NOT EXISTS qualite varchar(255);
+ALTER TABLE IF EXISTS en_data_center ADD COLUMN IF NOT EXISTS qualite varchar(255);
\ No newline at end of file
diff --git a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/Application.java b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/Application.java
index cc7bb1c31c5eab2406a7590da3a467275cd4af73..fed992c5d539ed37445957048bb32a92d34d97eb 100644
--- a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/Application.java
+++ b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/Application.java
@@ -22,4 +22,5 @@ public class Application extends AbstractEntree {
     String sousDomaine;
     String nomEntite;
     String nomEquipementPhysique;
+    String qualite;
 }
diff --git a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/DataCenter.java b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/DataCenter.java
index cc5a9929178546d03ed5d350bf50e87d505ded73..a533289ddfb49a9cf471a716f69ddd9d14c8e487 100644
--- a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/DataCenter.java
+++ b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/DataCenter.java
@@ -20,5 +20,5 @@ public class DataCenter extends AbstractEntree {
     Double pue;
     String localisation;
     String nomEntite;
-
+    String qualite;
 }
diff --git a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/EquipementPhysique.java b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/EquipementPhysique.java
index cab21accd9f24190b11765b2b48c839f6798f9f2..a596d24fcf043399757b782b99fb1077e4be018f 100644
--- a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/EquipementPhysique.java
+++ b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/EquipementPhysique.java
@@ -34,4 +34,5 @@ public class EquipementPhysique extends AbstractEntree {
     Double quantite;
     String modeUtilisation;
     Double tauxUtilisation;
+    String qualite;
 }
diff --git a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/EquipementVirtuel.java b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/EquipementVirtuel.java
index e93006d002a0d5c1f7cd6c6ca1d95a24cfef98ff..05adcde9d75afd98e8d0a99f32a5d39d90d14693 100644
--- a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/EquipementVirtuel.java
+++ b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/EquipementVirtuel.java
@@ -24,4 +24,5 @@ public class EquipementVirtuel extends AbstractEntree {
     String typeEqv;
     Double capaciteStockage;
     Double cleRepartition;
+    String qualite;
 }
diff --git a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/OperationNonIT.java b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/OperationNonIT.java
index 60c1ab2d98337d3e03c2014fcf80f7f6e044a138..aaf89e264c444cb92fe2edb811a104c9381afc02 100644
--- a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/OperationNonIT.java
+++ b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/model/OperationNonIT.java
@@ -23,4 +23,5 @@ public class OperationNonIT extends AbstractEntree {
     String nomCourtDatacenter;
     String description;
     Double consoElecAnnuelle;
+    String qualite;
 }
diff --git a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/ports/input/impl/ImportDonneesEntreePortImpl.java b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/ports/input/impl/ImportDonneesEntreePortImpl.java
index 7e0510ef34600c5f673251601acefd1c40522181..ef9066ef7e5877092c62660817f8621919b2ec94 100644
--- a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/ports/input/impl/ImportDonneesEntreePortImpl.java
+++ b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/domain/ports/input/impl/ImportDonneesEntreePortImpl.java
@@ -16,7 +16,6 @@ import org.mte.numecoeval.expositiondonneesentrees.referentiels.generated.api.mo
 import org.mte.numecoeval.expositiondonneesentrees.referentiels.generated.api.model.TypeItemDTO;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.FileNotFoundException;
@@ -54,10 +53,6 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
 
     final Map<String, String> errorMessages;
 
-    @Value("#{'${constraints.mode-utilisation}'.split(',')}")
-    private List<String> modeUtilisationList;
-
-
     @Override
     public ResultatImport importCsv(String nomOrganisation, String nomLot, String dateLot,
                                     MultipartFile csvDataCenter,
@@ -140,22 +135,33 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
                 } else {
                     String localisation = CSVHelper.safeString(csvRecord, "localisation");
                     String nomLongDataCenter = CSVHelper.safeString(csvRecord, "nomLongDatacenter");
+                    String nomCourtDataCenter = CSVHelper.safeString(csvRecord, "nomCourtDatacenter");
+
+                    String qualite = CSVHelper.safeString(csvRecord, "qualite");
+                    if (qualite != null) qualite = qualite.toUpperCase();
+
+                    String checkQualite = errorManagementService.checkQualiteDonnees(qualite, "Le datacenter", nomCourtDataCenter);
+                    if (checkQualite != null) {
+                        qualite = null;
+                        rapportImport.getAvertissements().add(checkQualite);
+                    }
+
                     var dataCenter = DataCenter.builder()
                             .statutTraitement(STATUT_TRAITEMENT_EN_ATTENTE)
                             .nomLot(nomLot)
                             .dateLot(dateLot)
                             .nomOrganisation(nomOrganisation)
-                            .nomCourtDatacenter(CSVHelper.safeString(csvRecord, "nomCourtDatacenter"))
+                            .nomCourtDatacenter(nomCourtDataCenter)
                             .nomLongDatacenter(nomLongDataCenter)
                             .pue(CSVHelper.safeDouble(csvRecord, "pue"))
                             .localisation(localisation)
                             .nomEntite(CSVHelper.safeString(csvRecord, HEADER_NOM_ENTITE))
                             .nomSourceDonnee(CSVHelper.safeString(csvRecord, HEADER_NOM_SOURCE_DONNEE))
+                            .qualite(qualite)
                             .build();
 
                     domainModels.add(dataCenter);
                     rapportImport.getErreurs().addAll(errorManagementService.checkDataCenter(dataCenter));
-
                 }
             });
 
@@ -177,7 +183,6 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
         }
 
         rapportImport.setNbrLignesImportees(domainModels.size());
-
         return Pair.of(rapportImport, domainModels);
     }
 
@@ -216,6 +221,16 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
                     Float goTelecharge = goTelechargeStr == null ? null : NumberUtils.toFloat(goTelechargeStr);
                     var tauxUtilisationStr = CSVHelper.safeString(csvRecord, "tauxUtilisation");
                     Double tauxUtilisation = NumberUtils.isCreatable(tauxUtilisationStr) ? NumberUtils.toDouble(tauxUtilisationStr) : null;
+                    String nomEquipementPhysique = CSVHelper.safeString(csvRecord, LABEL_NOM_EQUIPEMENT_PHYSIQUE, "equipement");
+
+                    String qualite = CSVHelper.safeString(csvRecord, "qualite");
+                    if (qualite != null) qualite = qualite.toUpperCase();
+
+                    String checkQualite = errorManagementService.checkQualiteDonnees(qualite, "L'équipement physique", nomEquipementPhysique);
+                    if (checkQualite != null) {
+                        qualite = null;
+                        avertissements.add(checkQualite);
+                    }
 
                     EquipementPhysique equipementToAdd = EquipementPhysique.builder()
                             .statutTraitement(STATUT_TRAITEMENT_EN_ATTENTE)
@@ -225,7 +240,7 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
                             .modele(CSVHelper.safeString(csvRecord, "modele", "refEquipement"))
                             .type(csvRecord.get("type"))
                             .quantite(CSVHelper.safeDouble(csvRecord, "quantite"))
-                            .nomEquipementPhysique(CSVHelper.safeString(csvRecord, LABEL_NOM_EQUIPEMENT_PHYSIQUE, "equipement"))
+                            .nomEquipementPhysique(nomEquipementPhysique)
                             .statut(CSVHelper.safeString(csvRecord, "statut"))
                             .paysDUtilisation(CSVHelper.safeString(csvRecord, "paysDUtilisation"))
                             .utilisateur(CSVHelper.safeString(csvRecord, "utilisateur"))
@@ -241,6 +256,7 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
                             .serveur(refTypeEquipementOpt.get().isServeur())
                             .nomEntite(CSVHelper.safeString(csvRecord, HEADER_NOM_ENTITE))
                             .nomSourceDonnee(CSVHelper.safeString(csvRecord, HEADER_NOM_SOURCE_DONNEE))
+                            .qualite(qualite)
                             .build();
 
                     var erreurs = errorManagementService.checkEquipementPhysique(equipementToAdd, refTypeEquipementOpt.get().getRefEquipementParDefaut());
@@ -270,7 +286,6 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
 
         rapportImport.setNbrLignesImportees(domainModels.size());
         rapportImport.setAvertissements(avertissements.stream().toList());
-
         return Pair.of(rapportImport, domainModels);
     }
 
@@ -296,12 +311,22 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
                 if (!isRecordOK) {
                     rapportImport.getErreurs().add(errorMessages.get(LIGNE_INCONSISTENTE).formatted(csvEquipementVirtuel.getOriginalFilename(), csvRecord.getRecordNumber() + 1));
                 } else {
+                    String nomEquipementVirtuel = CSVHelper.safeString(csvRecord, LABEL_NOM_EQUIPEMENT_VIRTUEL, LABEL_NOM_VM);
+                    String qualite = CSVHelper.safeString(csvRecord, "qualite");
+                    if (qualite != null) qualite = qualite.toUpperCase();
+
+                    String checkQualite = errorManagementService.checkQualiteDonnees(qualite, "L'équipement virtuel", nomEquipementVirtuel);
+                    if (checkQualite != null) {
+                        qualite = null;
+                        rapportImport.getAvertissements().add(checkQualite);
+                    }
+
                     EquipementVirtuel equipementVirtuel = EquipementVirtuel.builder()
                             .statutTraitement(STATUT_TRAITEMENT_EN_ATTENTE)
                             .nomLot(nomLot)
                             .dateLot(dateLot)
                             .nomOrganisation(nomOrganisation)
-                            .nomEquipementVirtuel(CSVHelper.safeString(csvRecord, LABEL_NOM_EQUIPEMENT_VIRTUEL, LABEL_NOM_VM))
+                            .nomEquipementVirtuel(nomEquipementVirtuel)
                             .nomEquipementPhysique(CSVHelper.safeString(csvRecord, LABEL_NOM_EQUIPEMENT_PHYSIQUE))
                             .nomSourceDonneeEquipementPhysique(CSVHelper.safeString(csvRecord, "nomSourceDonneeEquipementPhysique"))
                             .vCPU(CSVHelper.safeInteger(csvRecord, "vCPU"))
@@ -312,6 +337,7 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
                             .cleRepartition(CSVHelper.safeDouble(csvRecord, "cleRepartition"))
                             .nomEntite(CSVHelper.safeString(csvRecord, HEADER_NOM_ENTITE))
                             .nomSourceDonnee(CSVHelper.safeString(csvRecord, HEADER_NOM_SOURCE_DONNEE))
+                            .qualite(qualite)
                             .build();
 
                     domainModels.add(equipementVirtuel);
@@ -336,7 +362,6 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
         }
 
         rapportImport.setNbrLignesImportees(domainModels.size());
-
         return Pair.of(rapportImport, domainModels);
 
     }
@@ -363,12 +388,21 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
                 if (!isRecordOK) {
                     rapportImport.getErreurs().add(errorMessages.get(LIGNE_INCONSISTENTE).formatted(csvApplication.getOriginalFilename(), csvRecord.getRecordNumber() + 1));
                 } else {
+                    String nomApplication = CSVHelper.safeString(csvRecord, "nomApplication");
+                    String qualite = CSVHelper.safeString(csvRecord, "qualite");
+                    if (qualite != null) qualite = qualite.toUpperCase();
+
+                    String checkQualite = errorManagementService.checkQualiteDonnees(qualite, "L'application", nomApplication);
+                    if (checkQualite != null) {
+                        qualite = null;
+                        rapportImport.getAvertissements().add(checkQualite);
+                    }
                     Application application = Application.builder()
                             .statutTraitement(STATUT_TRAITEMENT_EN_ATTENTE)
                             .nomLot(nomLot)
                             .dateLot(dateLot)
                             .nomOrganisation(nomOrganisation)
-                            .nomApplication(CSVHelper.safeString(csvRecord, "nomApplication"))
+                            .nomApplication(nomApplication)
                             .typeEnvironnement(CSVHelper.safeString(csvRecord, "typeEnvironnement"))
                             .nomEquipementVirtuel(CSVHelper.safeString(csvRecord, LABEL_NOM_EQUIPEMENT_VIRTUEL, LABEL_NOM_VM))
                             .nomSourceDonneeEquipementVirtuel(CSVHelper.safeString(csvRecord, "nomSourceDonneeEquipementVirtuel"))
@@ -377,6 +411,7 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
                             .nomEntite(CSVHelper.safeString(csvRecord, HEADER_NOM_ENTITE))
                             .nomEquipementPhysique(CSVHelper.safeString(csvRecord, LABEL_NOM_EQUIPEMENT_PHYSIQUE))
                             .nomSourceDonnee(CSVHelper.safeString(csvRecord, HEADER_NOM_SOURCE_DONNEE))
+                            .qualite(qualite)
                             .build();
 
                     domainModels.add(application);
@@ -401,7 +436,6 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
         }
 
         rapportImport.setNbrLignesImportees(domainModels.size());
-
         return Pair.of(rapportImport, domainModels);
     }
 
@@ -412,7 +446,6 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
         rapportImport.setFichier(csvOperationNonIT.getOriginalFilename());
         rapportImport.setType("operation_non_it");
         List<TypeItemDTO> typesItem = referentielServicePort.getAllTypesItem();
-        Set<String> avertissements = new HashSet<>();
 
         try (Reader reader = new InputStreamReader(csvOperationNonIT.getInputStream())) {
             Iterable<CSVRecord> records = CSVFormat.DEFAULT.builder()
@@ -435,6 +468,16 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
                 } else if (refTypeItemOpt.isEmpty()) {
                     rapportImport.getErreurs().add(errorMessages.get("TYPE_ITEM_INCONNU").formatted(csvRecord.get("type"), nomItem));
                 } else {
+
+                    String qualite = CSVHelper.safeString(csvRecord, "qualite");
+                    if (qualite != null) qualite = qualite.toUpperCase();
+
+                    String checkQualite = errorManagementService.checkQualiteDonnees(qualite, "L'item", nomItem);
+                    if (checkQualite != null) {
+                        qualite = null;
+                        rapportImport.getAvertissements().add(checkQualite);
+                    }
+
                     OperationNonIT operationToAdd = OperationNonIT.builder()
                             .statutTraitement(STATUT_TRAITEMENT_EN_ATTENTE)
                             .nomLot(nomLot)
@@ -450,12 +493,13 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
                             .nomCourtDatacenter(CSVHelper.safeString(csvRecord, "nomCourtDatacenter", "refDatacenter"))
                             .description(CSVHelper.safeString(csvRecord, "description"))
                             .consoElecAnnuelle(CSVHelper.safeDouble(csvRecord, "consoElecAnnuelle"))
+                            .qualite(qualite)
                             .build();
 
                     var erreurs = errorManagementService.checkOperationNonIT(operationToAdd, refTypeItemOpt.get().getRefItemParDefaut());
 
                     rapportImport.getErreurs().addAll(erreurs.getKey());
-                    avertissements.addAll(erreurs.getValue());
+                    rapportImport.getAvertissements().addAll(erreurs.getValue());
 
                     domainModels.add(operationToAdd);
                 }
@@ -477,7 +521,6 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
             );
         }
         rapportImport.setNbrLignesImportees(domainModels.size());
-        rapportImport.setAvertissements(avertissements.stream().toList());
         return Pair.of(rapportImport, domainModels);
     }
 
@@ -536,7 +579,6 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
         }
 
         rapportImport.setNbrLignesImportees(domainModels.size());
-
         return Pair.of(rapportImport, domainModels);
     }
 
@@ -593,7 +635,6 @@ public class ImportDonneesEntreePortImpl implements ImportDonneesEntreePort {
         }
 
         rapportImport.setNbrLignesImportees(domainModels.size());
-
         return Pair.of(rapportImport, domainModels);
     }
 }
diff --git a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/config/ApplicationPortConfig.java b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/config/ApplicationPortConfig.java
index 3a321cd0444f88efa35f3e02e7727722b01f4a21..33a0df3c8f727603d81f4c95379adbe5f7002dd0 100644
--- a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/config/ApplicationPortConfig.java
+++ b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/config/ApplicationPortConfig.java
@@ -10,8 +10,6 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 
-import java.util.List;
-
 @Configuration
 @AllArgsConstructor
 @ComponentScan(basePackages = "org.mte.numecoeval.expositiondonneesentrees.infrastructure.adapters")
@@ -21,10 +19,9 @@ public class ApplicationPortConfig {
     private ErrorManagementService errorManagementService;
     private DefaultValueService defaultValueService;
     private MessageProperties messageProperties;
-    private List<String> modeUtilisationList;
 
     @Bean
     public ImportDonneesEntreePort importDonneesEntreePort() {
-        return new ImportDonneesEntreePortImpl(referentielServicePort, errorManagementService, defaultValueService, messageProperties.getMessages(), modeUtilisationList);
+        return new ImportDonneesEntreePortImpl(referentielServicePort, errorManagementService, defaultValueService, messageProperties.getMessages());
     }
 }
diff --git a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/ApplicationEntity.java b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/ApplicationEntity.java
index 687361b3c041c3da7f590e3d99599084f0d47dd2..c492326eef0a1f7ddae5aaa968633b750d236fb6 100644
--- a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/ApplicationEntity.java
+++ b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/ApplicationEntity.java
@@ -1,17 +1,7 @@
 package org.mte.numecoeval.expositiondonneesentrees.infrastructure.jpa.entity;
 
-import jakarta.persistence.Column;
-import jakarta.persistence.Entity;
-import jakarta.persistence.GeneratedValue;
-import jakarta.persistence.GenerationType;
-import jakarta.persistence.Id;
-import jakarta.persistence.SequenceGenerator;
-import jakarta.persistence.Table;
-import lombok.AllArgsConstructor;
-import lombok.EqualsAndHashCode;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
+import jakarta.persistence.*;
+import lombok.*;
 import lombok.experimental.SuperBuilder;
 
 /**
@@ -25,50 +15,56 @@ import lombok.experimental.SuperBuilder;
 @EqualsAndHashCode
 @Table(name = "EN_APPLICATION")
 @Entity
-public class ApplicationEntity extends AbstractEntreeEntity{
-   @Id
-   @GeneratedValue(generator = "SEQ_EN_APPLICATION", strategy = GenerationType.SEQUENCE)
-   @SequenceGenerator(name = "SEQ_EN_APPLICATION", sequenceName="SEQ_EN_APPLICATION",allocationSize=1000)
-   @Column(nullable = false)
-   private Long id;
+public class ApplicationEntity extends AbstractEntreeEntity {
+    @Id
+    @GeneratedValue(generator = "SEQ_EN_APPLICATION", strategy = GenerationType.SEQUENCE)
+    @SequenceGenerator(name = "SEQ_EN_APPLICATION", sequenceName = "SEQ_EN_APPLICATION", allocationSize = 1000)
+    @Column(nullable = false)
+    private Long id;
 
-   /**
-    * Nom de l'application
-    */
-   private String nomApplication;
+    /**
+     * Nom de l'application
+     */
+    private String nomApplication;
 
-   /**
-    * Type d'environnement de l'instance de l'application
-    */
-   private String typeEnvironnement;
+    /**
+     * Type d'environnement de l'instance de l'application
+     */
+    private String typeEnvironnement;
 
-   /**
-    * Référence de l'équipement virtuel rattaché
-    */
-   private String nomEquipementVirtuel;
+    /**
+     * Référence de l'équipement virtuel rattaché
+     */
+    private String nomEquipementVirtuel;
 
-   /**
-    * Référence de l'équipement physique rattaché
-    */
-   private String nomEquipementPhysique;
+    /**
+     * Référence de l'équipement physique rattaché
+     */
+    private String nomEquipementPhysique;
 
-   /**
-    * Nom de la source de données pour l'équipement physique rattaché
-    */
-   private String nomSourceDonneeEquipementVirtuel;
+    /**
+     * Nom de la source de données pour l'équipement physique rattaché
+     */
+    private String nomSourceDonneeEquipementVirtuel;
 
-   /**
-    * Domaine ou catégorie principale de l'application
-    */
-   private String domaine;
+    /**
+     * Domaine ou catégorie principale de l'application
+     */
+    private String domaine;
 
-   /**
-    * Domaine ou catégorie secondaire de l'application
-    */
-   private String sousDomaine;
+    /**
+     * Domaine ou catégorie secondaire de l'application
+     */
+    private String sousDomaine;
+
+    /**
+     * Nom de l'entité rattachée à l'application
+     */
+    private String nomEntite;
+    
+    /**
+     * Qualité de la donnée collectée
+     */
+    private String qualite;
 
-   /**
-    * Nom de l'entité rattachée à l'application
-    */
-   private String nomEntite;
 }
diff --git a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/DataCenterEntity.java b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/DataCenterEntity.java
index 6f9a6f4b8c6d4d2bbe6420bcad1de36d24fe5d84..c354056ac21f5b64582766a33b45f35ed5974385 100644
--- a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/DataCenterEntity.java
+++ b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/DataCenterEntity.java
@@ -1,12 +1,6 @@
 package org.mte.numecoeval.expositiondonneesentrees.infrastructure.jpa.entity;
 
-import jakarta.persistence.Column;
-import jakarta.persistence.Entity;
-import jakarta.persistence.GeneratedValue;
-import jakarta.persistence.GenerationType;
-import jakarta.persistence.Id;
-import jakarta.persistence.SequenceGenerator;
-import jakarta.persistence.Table;
+import jakarta.persistence.*;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.NoArgsConstructor;
@@ -24,7 +18,7 @@ public class DataCenterEntity extends AbstractEntreeEntity {
 
     @Id
     @GeneratedValue(generator = "SEQ_EN_DATA_CENTER", strategy = GenerationType.SEQUENCE)
-    @SequenceGenerator(name = "SEQ_EN_DATA_CENTER", sequenceName="SEQ_EN_DATA_CENTER",allocationSize=1000)
+    @SequenceGenerator(name = "SEQ_EN_DATA_CENTER", sequenceName = "SEQ_EN_DATA_CENTER", allocationSize = 1000)
     @Column(nullable = false)
     protected Long id;
 
@@ -33,6 +27,6 @@ public class DataCenterEntity extends AbstractEntreeEntity {
     private Double pue;
     private String localisation;
     private String nomEntite;
-
+    private String qualite;
 
 }
diff --git a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/EquipementPhysiqueEntity.java b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/EquipementPhysiqueEntity.java
index 75cd3f41f5ae926f32741753975805881da072f4..addeb447fc0906fcc250fa7927ca9048d5338371 100644
--- a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/EquipementPhysiqueEntity.java
+++ b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/EquipementPhysiqueEntity.java
@@ -49,4 +49,6 @@ public class EquipementPhysiqueEntity extends AbstractEntreeEntity {
     private Double quantite;
     private String modeUtilisation;
     private Double tauxUtilisation;
+    private String qualite;
+
 }
diff --git a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/EquipementVirtuelEntity.java b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/EquipementVirtuelEntity.java
index 3fb7ec065b1e355e278a0af92e21aebfa1a01991..77a29ffc0729d77746849bf989aa86788584e1a6 100644
--- a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/EquipementVirtuelEntity.java
+++ b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/EquipementVirtuelEntity.java
@@ -30,4 +30,6 @@ public class EquipementVirtuelEntity extends AbstractEntreeEntity {
     private String typeEqv;
     private Double capaciteStockage;
     private Double cleRepartition;
+    private String qualite;
+
 }
diff --git a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/OperationNonITEntity.java b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/OperationNonITEntity.java
index 07915c7b101c7f8940cc63ae556ba7d01d5383b9..4fee9d7d8d779657e0a4416aeeb4a23b7d8ae1a0 100644
--- a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/OperationNonITEntity.java
+++ b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/jpa/entity/OperationNonITEntity.java
@@ -32,5 +32,6 @@ public class OperationNonITEntity extends AbstractEntreeEntity {
     private String nomCourtDatacenter;
     private String description;
     private Double consoElecAnnuelle;
+    private String qualite;
 
 }
diff --git a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/service/ErrorManagementService.java b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/service/ErrorManagementService.java
index 89a8ee0ae9ab602a396aafb56bcc1b45a75e8610..4d499bb487af8c5ee1e8cb2e6f5dd90e6fdd86c1 100644
--- a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/service/ErrorManagementService.java
+++ b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/service/ErrorManagementService.java
@@ -9,10 +9,12 @@ import org.mte.numecoeval.expositiondonneesentrees.domain.model.OperationNonIT;
 import org.mte.numecoeval.expositiondonneesentrees.domain.ports.output.ReferentielServicePort;
 import org.mte.numecoeval.expositiondonneesentrees.infrastructure.config.MessageProperties;
 import org.mte.numecoeval.expositiondonneesentrees.referentiels.generated.api.model.CorrespondanceRefEquipementDTO;
+import org.mte.numecoeval.expositiondonneesentrees.utils.Constants;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
 
 
@@ -27,6 +29,22 @@ public class ErrorManagementService {
     @Value("#{'${constraints.mode-utilisation}'.split(',')}")
     private List<String> modeUtilisationList;
 
+    /**
+     * Vérifie si la qualité de la donnée d'un item d'un inventaire fait partie de cette enum (BASSE, MOYENNE, HAUTE)
+     * si ce n'est pas le cas, on lance un avertissement
+     * la valeur qualite est déjà en majuscule
+     *
+     * @param qualite la qualité  en majuscule
+     * @param type    le type d'item
+     * @param nom     le nom de l'équipement
+     * @return l'avertissement associé ou null
+     */
+    public String checkQualiteDonnees(String qualite, String type, String nom) {
+        if (qualite == null) return null;
+        if (Constants.QUALITES_DONNEES.contains(qualite)) return null;
+        return messageProperties.getMessages().get("QUALITE_INVALIDE").formatted(type, nom, qualite);
+    }
+
     /**
      * Vérifie si la localisation du datacenter existe dans la table ref_MixElec.pays
      *
@@ -97,13 +115,13 @@ public class ErrorManagementService {
 
             erreurs.add(messageProperties.getMessages().get("EQUIPEMENT_DATE_INCOHERENTE").formatted(equipementPhysique.getNomEquipementPhysique()));
         }
-        //CA 4.1
-        //L'ajout d'un équipement dont le mode d'utilisation est autre que COPE, BYOD ou null
+        // CA 4.1
+        // L'ajout d'un équipement dont le mode d'utilisation est autre que COPE, BYOD ou null
         if (equipementPhysique.getModeUtilisation() != null && !modeUtilisationList.contains(equipementPhysique.getModeUtilisation())) {
             avertissements.add(messageProperties.getMessages().get("EQUIPEMENT_MODE_UTILISATION_INCONNU").formatted(equipementPhysique.getModeUtilisation()));
         }
-        //CA 5.1
-        //L'ajout d'un équipement dont le taux d'utilisation n'est pas compris entre 0 et 1
+        // CA 5.1
+        // L'ajout d'un équipement dont le taux d'utilisation n'est pas compris entre 0 et 1
         Double taux = equipementPhysique.getTauxUtilisation();
         if (taux != null && (taux < 0 || taux > 1)) {
             avertissements.add(messageProperties.getMessages().get("EQUIPEMENT_TAUX_UTILISATION_INVALIDE").formatted(taux));
@@ -121,7 +139,7 @@ public class ErrorManagementService {
      */
     public Pair<List<String>, List<String>> checkOperationNonIT(OperationNonIT operationNonIT, String type) {
         var erreurs = new ArrayList<String>();
-        var avertissements = new ArrayList<String>();
+        var avertissements = new HashSet<String>();
         // L'ajout d'une operation non it dont le type n'est pas renseigné sort une erreur
         if (StringUtils.isBlank(type)) {
             erreurs.add(messageProperties.getMessages().get("ITEM_CORRESPONDANCE_INCONNUE").formatted(operationNonIT.getNomItemNonIT(), operationNonIT.getType()));
@@ -138,7 +156,7 @@ public class ErrorManagementService {
                 }
             }
         }
-        return Pair.of(erreurs, avertissements);
+        return Pair.of(erreurs, avertissements.stream().toList());
     }
 
 }
diff --git a/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/utils/Constants.java b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/utils/Constants.java
new file mode 100644
index 0000000000000000000000000000000000000000..ca102130363923e1592bff37a46cec6353df60e5
--- /dev/null
+++ b/services/api-expositiondonneesentrees/src/main/java/org/mte/numecoeval/expositiondonneesentrees/utils/Constants.java
@@ -0,0 +1,8 @@
+package org.mte.numecoeval.expositiondonneesentrees.utils;
+
+import java.util.List;
+
+public class Constants {
+    public static final List<String> QUALITES_DONNEES = List.of("BASSE", "MOYENNE", "HAUTE");
+
+}
diff --git a/services/api-expositiondonneesentrees/src/main/resources/application.yaml b/services/api-expositiondonneesentrees/src/main/resources/application.yaml
index 2f720681d87caf943159c0352299b0189f16b01b..5bb0c2c18276f3e23ff25c21cbbca68a827640d1 100644
--- a/services/api-expositiondonneesentrees/src/main/resources/application.yaml
+++ b/services/api-expositiondonneesentrees/src/main/resources/application.yaml
@@ -90,5 +90,6 @@ messages:
   EQUIPEMENT_VIRTUEL_INCONNU: "L'équipement virtuel %s n'est supporté par aucun équipement physique"
   APPLICATION_AVEC_EQUIPEMENT_PHYSIQUE_INCONNU: "L'application %s n'est supporté par aucun équipement physique"
   APPLICATION_AVEC_EQUIPEMENT_VIRTUEL_INCONNU: "L'application %s n'est supporté par aucun équipement virtuel"
+  QUALITE_INVALIDE: "%s '%s' possède une valeur de qualité invalide renseignée. La valeur '%s' est ignorée car elle n'est pas l'une de ces valeurs: BASSE, MOYENNE, HAUTE"
 constraints:
   mode-utilisation: "BYOD,COPE"
diff --git a/services/api-expositiondonneesentrees/src/main/resources/schema.sql b/services/api-expositiondonneesentrees/src/main/resources/schema.sql
index da79c386cfcbe137f198b8dae6a199cc3172d032..0e8d5631d1ce429a8db1c9dad7f27d9819cc5baf 100644
--- a/services/api-expositiondonneesentrees/src/main/resources/schema.sql
+++ b/services/api-expositiondonneesentrees/src/main/resources/schema.sql
@@ -16,18 +16,19 @@ CREATE TABLE IF NOT EXISTS en_donnees_entrees
 
 CREATE TABLE IF NOT EXISTS en_data_center
 (
-    id                   int8         NOT NULL,
-    date_creation        timestamp    NULL,
-    date_update          timestamp    NULL,
-    date_lot             date         NULL,
-    nom_lot              varchar(255) NULL,
-    nom_organisation     varchar(255) NULL,
-    nom_source_donnee    varchar(255) NULL,
-    localisation         varchar(255) NULL,
-    nom_court_datacenter varchar(255) NULL,
-    nom_entite           varchar(255) NULL,
-    nom_long_datacenter  varchar(255) NULL,
-    pue                  float8       NULL,
+    id                   int8                NOT NULL,
+    date_creation        timestamp           NULL,
+    date_update          timestamp           NULL,
+    date_lot             date                NULL,
+    nom_lot              varchar(255)        NULL,
+    nom_organisation     varchar(255)        NULL,
+    nom_source_donnee    varchar(255)        NULL,
+    localisation         varchar(255)        NULL,
+    nom_court_datacenter varchar(255)        NULL,
+    nom_entite           varchar(255)        NULL,
+    nom_long_datacenter  varchar(255)        NULL,
+    pue                  float8              NULL,
+    qualite              varchar(255)        NULL,
     CONSTRAINT en_data_center_pkey PRIMARY KEY (id)
 );
 
@@ -59,6 +60,7 @@ CREATE TABLE IF NOT EXISTS en_equipement_physique
     utilisateur               varchar(255) NULL,
     mode_utilisation          varchar(255) NULL,
     taux_utilisation          float8       NULL,
+    qualite                   varchar(255)        NULL,
     CONSTRAINT en_equipement_physique_pkey PRIMARY KEY (id)
 );
 
@@ -75,24 +77,26 @@ CREATE TABLE IF NOT EXISTS en_equipement_virtuel
     nom_equipement_physique varchar(255) NULL,
     nom_equipement_virtuel  varchar(255) NULL,
     vcpu                    int4         NULL,
+    qualite                 varchar(255)        NULL,
     CONSTRAINT en_equipement_virtuel_pkey PRIMARY KEY (id)
 );
 
 CREATE TABLE IF NOT EXISTS en_application
 (
-    id                      int8         NOT NULL,
-    date_creation           timestamp    NULL,
-    date_lot                date         NULL,
-    nom_lot                 varchar(255) NULL,
-    nom_organisation        varchar(255) NULL,
-    nom_source_donnee       varchar(255) NULL,
-    domaine                 varchar(255) NULL,
-    nom_application         varchar(255) NULL,
-    nom_entite              varchar(255) NULL,
-    nom_equipement_virtuel  varchar(255) NULL,
-    nom_equipement_physique varchar(255) NULL,
-    sous_domaine            varchar(255) NULL,
-    type_environnement      varchar(255) NULL,
+    id                      int8              NOT NULL,
+    date_creation           timestamp         NULL,
+    date_lot                date              NULL,
+    nom_lot                 varchar(255)      NULL,
+    nom_organisation        varchar(255)      NULL,
+    nom_source_donnee       varchar(255)      NULL,
+    domaine                 varchar(255)      NULL,
+    nom_application         varchar(255)      NULL,
+    nom_entite              varchar(255)      NULL,
+    nom_equipement_virtuel  varchar(255)      NULL,
+    nom_equipement_physique varchar(255)      NULL,
+    sous_domaine            varchar(255)      NULL,
+    type_environnement      varchar(255)      NULL,
+    qualite                 varchar(255)      NULL,
     CONSTRAINT en_application_pkey PRIMARY KEY (id)
 );
 
@@ -116,6 +120,7 @@ CREATE TABLE IF NOT EXISTS en_operation_non_it
     description                varchar(255)     NULL,
     conso_elec_annuelle        float8           NULL,
     statut_traitement          varchar(255)     NULL,
+    qualite                    varchar(255)     NULL,
     CONSTRAINT en_operation_non_it_pkey PRIMARY KEY (id)
 );
 
diff --git a/services/api-expositiondonneesentrees/src/main/resources/static/openapi.yaml b/services/api-expositiondonneesentrees/src/main/resources/static/openapi.yaml
index e7627b35cac88cf4ebac50d0567f425c5d4f44f3..afe64246a55d958f241ed2c981d6d6002ceeb03f 100644
--- a/services/api-expositiondonneesentrees/src/main/resources/static/openapi.yaml
+++ b/services/api-expositiondonneesentrees/src/main/resources/static/openapi.yaml
@@ -176,15 +176,15 @@ paths:
         
         Les colonnes facultatives sont notées entre parenthèses, toutes les autres sont obligatoires !  <br/>
         
-        Le Header du CSV des data centers est : nomCourtDatacenter;nomLongDatacenter;pue;localisation;(nomEntite).  <br/> 
+        Le Header du CSV des data centers est : nomCourtDatacenter;nomLongDatacenter;pue;localisation;(nomEntite);(qualite).  <br/> 
         
-        Le Header du CSV des équipements physiques est : nomEquipementPhysique,modele;quantite;nomCourtDatacenter;dateAchat;dateRetrait;type;statut;paysDUtilisation;consoElecAnnuelle;utilisateur;(nomSourceDonnee);(nomEntite);nbCoeur;nbJourUtiliseAn;goTelecharge;(modeUtilisation);(tauxUtilisation).  <br/>
+        Le Header du CSV des équipements physiques est : nomEquipementPhysique,modele;quantite;nomCourtDatacenter;dateAchat;dateRetrait;type;statut;paysDUtilisation;consoElecAnnuelle;utilisateur;(nomSourceDonnee);(nomEntite);nbCoeur;nbJourUtiliseAn;goTelecharge;(modeUtilisation);(tauxUtilisation);(qualite).  <br/>
         
-        Le Header du CSV des équipements virtuels est : nomEquipementVirtuel;nomEquipementPhysique;(nomSourceDonneeEquipementPhysique);(cleRepartition);vCPU;cluster;(consoElecAnnuelle);(typeEqv);(capaciteStockage);(nomEntite).  <br/>
+        Le Header du CSV des équipements virtuels est : nomEquipementVirtuel;nomEquipementPhysique;(nomSourceDonneeEquipementPhysique);(cleRepartition);vCPU;cluster;(consoElecAnnuelle);(typeEqv);(capaciteStockage);(nomEntite);(qualite).  <br/>
         
-        Le Header du CSV des application est : nomApplication;typeEnvironnement;(nomEquipementVirtuel);(nomSourceEquipementVirtuel);domaine;sousDomaine;(nomEntite);nomEquipementPhysique;(nomSourceDonnee).  <br/>
+        Le Header du CSV des application est : nomApplication;typeEnvironnement;(nomEquipementVirtuel);(nomSourceEquipementVirtuel);domaine;sousDomaine;(nomEntite);nomEquipementPhysique;(nomSourceDonnee);(qualite).  <br/>
         
-        Le Header du CSV des opérations non IT est : nomItemNonIT;quantite;type;dureeDeVie;localisation;(nomEntite);(nomSourceDonnee);nomCourtDatacenter;description;consoElecAnnuelle.  <br/>
+        Le Header du CSV des opérations non IT est : nomItemNonIT;quantite;type;dureeDeVie;localisation;(nomEntite);(nomSourceDonnee);nomCourtDatacenter;description;consoElecAnnuelle;(qualite).  <br/>
 
         Le Header du CSV de la messagerie est : nombreMailEmis;nombreMailEmisXDestinataires;volumeTotalMailEmis;MoisAnnee;(nomEntite).  <br/>
         
@@ -422,6 +422,9 @@ components:
         nomSourceDonnee:
           description: "Nom de la source de la donnée"
           type: string
+        qualite:
+          description: "Qualite de la donnée collectée (BASSE, MOYENNE ou HAUTE)"
+          type: string
     EquipementPhysiqueRest:
       description: Représentation d'un équipement physique dans NumEcoEval
       properties:
@@ -485,6 +488,9 @@ components:
           description: ""
           items:
             $ref: "#/components/schemas/EquipementVirtuelRest"
+        qualite:
+          description: "Qualite de la donnée collectée (BASSE, MOYENNE ou HAUTE)"
+          type: string
     EquipementVirtuelRest:
       description: Représentation d'un équipement virtuel dans NumEcoEval
       properties:
@@ -534,6 +540,9 @@ components:
             Consommation électrique annuelle de l'équipement virtuel.
           type: number
           format: double
+        qualite:
+          description: "Qualite de la donnée collectée (BASSE, MOYENNE ou HAUTE)"
+          type: string
     ApplicationRest:
       description: Représentation d'une application dans NumEcoEval
       properties:
@@ -561,6 +570,9 @@ components:
         nomSourceDonneeEquipementVirtuel:
           description: "Nom de la source de la donnée pour l'équipement virtuel"
           type: string
+        qualite:
+          description: "Qualite de la donnée collectée (BASSE, MOYENNE ou HAUTE)"
+          type: string
     OperationNonITRest:
       description: Représentation d'une opération non IT dans NumEcoEval
       properties:
@@ -595,6 +607,9 @@ components:
           description: ""
           type: number
           format: double
+        qualite:
+          description: "Qualite de la donnée collectée (BASSE, MOYENNE ou HAUTE)"
+          type: string
     MessagerieRest:
       description: Représentation d'éléments de messagerie dans NumEcoEval
       properties:
diff --git a/services/api-expositiondonneesentrees/src/test/java/org/mte/numecoeval/expositiondonneesentrees/domain/port/input/ImportDonneesEntreePortImplTest.java b/services/api-expositiondonneesentrees/src/test/java/org/mte/numecoeval/expositiondonneesentrees/domain/port/input/ImportDonneesEntreePortImplTest.java
index 1bad50adcee65618aa3c4c16b942aa47f359709a..d76085c3c6210d223353a2dd59718e7d798a036e 100644
--- a/services/api-expositiondonneesentrees/src/test/java/org/mte/numecoeval/expositiondonneesentrees/domain/port/input/ImportDonneesEntreePortImplTest.java
+++ b/services/api-expositiondonneesentrees/src/test/java/org/mte/numecoeval/expositiondonneesentrees/domain/port/input/ImportDonneesEntreePortImplTest.java
@@ -34,12 +34,10 @@ class ImportDonneesEntreePortImplTest {
     ErrorManagementService errorManagementService;
     DefaultValueService defaultValueService;
 
-    private List<String> modeUtilisationList;
-
     @BeforeEach
     public void init() {
         MockitoAnnotations.openMocks(this);
-        importDonneesEntreePort = new ImportDonneesEntreePortImpl(referentielServicePort, errorManagementService, defaultValueService, errorMessages, modeUtilisationList);
+        importDonneesEntreePort = new ImportDonneesEntreePortImpl(referentielServicePort, errorManagementService, defaultValueService, errorMessages);
     }
 
     @Test
diff --git a/services/api-expositiondonneesentrees/src/test/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/service/ErrorManagementServiceTest.java b/services/api-expositiondonneesentrees/src/test/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/service/ErrorManagementServiceTest.java
index dc59827e83bebc6889ddb898e62d72a87c00874b..0a12a87ffabfa2819eef4b8a0cce7cb2f31f87b9 100644
--- a/services/api-expositiondonneesentrees/src/test/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/service/ErrorManagementServiceTest.java
+++ b/services/api-expositiondonneesentrees/src/test/java/org/mte/numecoeval/expositiondonneesentrees/infrastructure/service/ErrorManagementServiceTest.java
@@ -164,4 +164,23 @@ public class ErrorManagementServiceTest {
         Pair<List<String>, List<String>> actual = errorManagementService.checkOperationNonIT(eq1, eq1.getType());
         Assertions.assertEquals(0, actual.getKey().size());
     }
+
+    @Test
+    void importDataCenter_with_QualiteGoodValue_shouldWork() {
+        Assertions.assertNull(errorManagementService.checkQualiteDonnees("BASSE", "L'équipement physique", "eq1"));
+    }
+
+    @Test
+    void importDataCenter_with_QualiteNull_shouldNotReportWarning() {
+        Assertions.assertNull(errorManagementService.checkQualiteDonnees(null, "L'équipement physique", "eq1"));
+    }
+
+    @Test
+    void importDataCenter_with_QualiteWrongValue_shouldReturnReportWith1Warning() {
+        Assertions.assertEquals(
+                "L'équipement physique 'eq1' possède une valeur de qualité invalide renseignée. La valeur 'SUPER BASSE' est ignorée car elle n'est pas l'une de ces valeurs: BASSE, MOYENNE, HAUTE",
+                errorManagementService.checkQualiteDonnees("SUPER BASSE", "L'équipement physique", "eq1")
+        );
+    }
+
 }
diff --git a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/Application.java b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/Application.java
index 74624e548f6092dbd2615fd7ed336ac4cb175bea..dfb8e8642afe314e9a2340736b14e441cea8abd3 100644
--- a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/Application.java
+++ b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/Application.java
@@ -8,17 +8,18 @@ import java.time.LocalDate;
 @Data
 @Builder
 public class Application {
-   private String nomApplication;
-   private String typeEnvironnement;
-   private String nomEquipementVirtuel;
-   private String nomSourceDonneeEquipementVirtuel;
+    private String nomApplication;
+    private String typeEnvironnement;
+    private String nomEquipementVirtuel;
+    private String nomSourceDonneeEquipementVirtuel;
 
-   private String nomEquipementPhysique;
-   private String domaine;
-   private String sousDomaine;
-   private String nomLot;
-   private LocalDate dateLot;
-   private String nomOrganisation;
-   private String nomEntite;
-   private String nomSourceDonnee;
+    private String nomEquipementPhysique;
+    private String domaine;
+    private String sousDomaine;
+    private String nomLot;
+    private LocalDate dateLot;
+    private String nomOrganisation;
+    private String nomEntite;
+    private String nomSourceDonnee;
+    private String qualite;
 }
diff --git a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/DataCenter.java b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/DataCenter.java
index 482552781c5a0a9406fa9c3b32a38fd4d3ea3635..ace69d69f980d0d989f06c57a9bdac8f0bf48984 100644
--- a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/DataCenter.java
+++ b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/DataCenter.java
@@ -9,13 +9,14 @@ import java.time.LocalDate;
 @Builder
 public class DataCenter {
 
-   private String nomCourtDatacenter;
-   private String nomLongDatacenter;
-   private Double pue;
-   private String localisation;
-   private String nomLot;
-   private LocalDate dateLot;
-   private String nomOrganisation;
-   private String nomEntite;
-   private String nomSourceDonnee;
+    private String nomCourtDatacenter;
+    private String nomLongDatacenter;
+    private Double pue;
+    private String localisation;
+    private String nomLot;
+    private LocalDate dateLot;
+    private String nomOrganisation;
+    private String nomEntite;
+    private String nomSourceDonnee;
+    private String qualite;
 }
diff --git a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/EquipementPhysique.java b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/EquipementPhysique.java
index 5a054b521bdca26b1c432d0791ffb02230c6d67c..d3fa26e68a6fdc6d00b519e905355b45e04570f1 100644
--- a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/EquipementPhysique.java
+++ b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/EquipementPhysique.java
@@ -36,4 +36,5 @@ public class EquipementPhysique {
     private Integer nbTotalVCPU;
     private String modeUtilisation;
     private Double tauxUtilisation;
+    private String qualite;
 }
diff --git a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/EquipementVirtuel.java b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/EquipementVirtuel.java
index dad80c1a27a19dee0a200abb12bcc5a9fd59e191..6b9efa6f17b5545edba18923cb6f98ed2aebe6e9 100644
--- a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/EquipementVirtuel.java
+++ b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/EquipementVirtuel.java
@@ -9,19 +9,20 @@ import java.time.LocalDate;
 @Data
 @Builder
 public class EquipementVirtuel {
-   private Long id;
-   private String nomEquipementVirtuel;
-   private String nomEquipementPhysique;
-   private String nomSourceDonneeEquipementPhysique;
-   private Integer vCPU;
-   private String cluster;
-   private String nomLot;
-   private LocalDate dateLot;
-   private String nomOrganisation;
-   private String nomEntite;
-   private String nomSourceDonnee;
-   private Double consoElecAnnuelle;
-   private String typeEqv;
-   private Double capaciteStockage;
-   private Double cleRepartition;
+    private Long id;
+    private String nomEquipementVirtuel;
+    private String nomEquipementPhysique;
+    private String nomSourceDonneeEquipementPhysique;
+    private Integer vCPU;
+    private String cluster;
+    private String nomLot;
+    private LocalDate dateLot;
+    private String nomOrganisation;
+    private String nomEntite;
+    private String nomSourceDonnee;
+    private Double consoElecAnnuelle;
+    private String typeEqv;
+    private Double capaciteStockage;
+    private Double cleRepartition;
+    private String qualite;
 }
diff --git a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/OperationNonIT.java b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/OperationNonIT.java
index c20ed65c7c4c5adcb535138cf08d90aea5eef32b..0c9f54e286ea5ea6195d38456cd65f3a6c178039 100644
--- a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/OperationNonIT.java
+++ b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/entree/OperationNonIT.java
@@ -24,5 +24,5 @@ public class OperationNonIT {
     private String nomOrganisation;
     private String nomSourceDonnee;
     private String statut;
-
+    private String qualite;
 }
diff --git a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactApplication.java b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactApplication.java
index 7f6152589735ee740aaa8a4f1ac8b6553d07e843..37eac6078b8cf227d7c9a181909eb2843170576b 100644
--- a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactApplication.java
+++ b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactApplication.java
@@ -35,4 +35,5 @@ public class ImpactApplication {
     Double impactUnitaire;
     Double consoElecMoyenne;
     Long idEntree;
+    String qualite;
 }
diff --git a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactEquipementPhysique.java b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactEquipementPhysique.java
index 610d6bd2d194b01d38e7934594fe697e6ec85d4c..84ef4b302bbb160e83644c87d42be31f5ed5ef19 100644
--- a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactEquipementPhysique.java
+++ b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactEquipementPhysique.java
@@ -33,4 +33,5 @@ public class ImpactEquipementPhysique {
     Double consoElecMoyenne;
     Double quantite;
     String statutEquipementPhysique;
+    String qualite;
 }
diff --git a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactEquipementVirtuel.java b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactEquipementVirtuel.java
index 03965dc478515c30813ab101e9290b0b2468bf3a..9eae4a74f522245d9f40005c7a033d02d61521c8 100644
--- a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactEquipementVirtuel.java
+++ b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactEquipementVirtuel.java
@@ -32,4 +32,5 @@ public class ImpactEquipementVirtuel {
     Double impactUnitaire;
     Double consoElecMoyenne;
     Long idEntree;
+    String qualite;
 }
diff --git a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactOperationNonIT.java b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactOperationNonIT.java
index deb3ee080d5b21ec3de3e1d69172114f7c974fe5..2177daec37b6cb004e8f68b69948520edcd714de 100644
--- a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactOperationNonIT.java
+++ b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactOperationNonIT.java
@@ -32,4 +32,5 @@ public class ImpactOperationNonIT {
     Double impactUnitaire;
     Double consoElecMoyenne;
     Double quantite;
+    String qualite;
 }
diff --git a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactReseau.java b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactReseau.java
index b439f953b01e5a569351531bc6e7202cb3086687..5922d030f5783bf42d2bc7c660618dd22b30f922 100644
--- a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactReseau.java
+++ b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/data/indicateurs/ImpactReseau.java
@@ -31,5 +31,4 @@ public class ImpactReseau {
     String unite;
     Double impactUnitaire;
     String reference;
-
 }
diff --git a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/port/input/service/impl/CalculImpactApplicationServiceImpl.java b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/port/input/service/impl/CalculImpactApplicationServiceImpl.java
index a73c527175f2acc7f1cd6b5822c43de61718fef4..f4da1f2fb91c9f4a79baf1d9889a2d54219be870 100644
--- a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/port/input/service/impl/CalculImpactApplicationServiceImpl.java
+++ b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/port/input/service/impl/CalculImpactApplicationServiceImpl.java
@@ -72,6 +72,7 @@ public class CalculImpactApplicationServiceImpl implements CalculImpactApplicati
                 .sousDomaine(demandeCalcul.getApplication().getSousDomaine())
                 .impactUnitaire(null)
                 .consoElecMoyenne(null)
+                .qualite(demandeCalcul.getApplication().getQualite())
                 .build();
     }
 
@@ -117,6 +118,7 @@ public class CalculImpactApplicationServiceImpl implements CalculImpactApplicati
                 .trace(TraceUtils.getTraceFromTraceur(TraceCalculImpactApplicationUtils.buildTrace(demandeCalcul)))
                 .impactUnitaire(resultCalcul.valeurImpact)
                 .consoElecMoyenne(resultCalcul.consoElecMoyenne)
+                .qualite(demandeCalcul.getApplication().getQualite())
                 .build();
     }
 
diff --git a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/port/input/service/impl/CalculImpactEquipementPhysiqueServiceImpl.java b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/port/input/service/impl/CalculImpactEquipementPhysiqueServiceImpl.java
index 91a7cd60107013f636467f53afe8246575e197d0..5c0d96c4f7df6fca946656bd6608bd997847b125 100644
--- a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/port/input/service/impl/CalculImpactEquipementPhysiqueServiceImpl.java
+++ b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/port/input/service/impl/CalculImpactEquipementPhysiqueServiceImpl.java
@@ -132,6 +132,7 @@ public class CalculImpactEquipementPhysiqueServiceImpl implements CalculImpactEq
                 .dateLot(demandeCalcul.getEquipementPhysique().getDateLot())
                 .nomEntite(demandeCalcul.getEquipementPhysique().getNomEntite())
                 .nomOrganisation(demandeCalcul.getEquipementPhysique().getNomOrganisation())
+                .qualite(demandeCalcul.getEquipementPhysique().getQualite())
                 .build();
     }
 
@@ -156,6 +157,7 @@ public class CalculImpactEquipementPhysiqueServiceImpl implements CalculImpactEq
                 .dateLot(demandeCalcul.getEquipementPhysique().getDateLot())
                 .nomEntite(demandeCalcul.getEquipementPhysique().getNomEntite())
                 .nomOrganisation(demandeCalcul.getEquipementPhysique().getNomOrganisation())
+                .qualite(demandeCalcul.getEquipementPhysique().getQualite())
                 .trace(TraceUtils.getTraceFromTraceur(TraceCalculImpactEquipementPhysiqueUtils.buildTraceErreur(exception)))
                 .build();
     }
diff --git a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/port/input/service/impl/CalculImpactEquipementVirtuelServiceImpl.java b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/port/input/service/impl/CalculImpactEquipementVirtuelServiceImpl.java
index f06f606d3deeb693e776401e1300f7bfd34b136c..06915a5d95828483f6611dd77320e8d251b52af0 100644
--- a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/port/input/service/impl/CalculImpactEquipementVirtuelServiceImpl.java
+++ b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/port/input/service/impl/CalculImpactEquipementVirtuelServiceImpl.java
@@ -86,6 +86,7 @@ public class CalculImpactEquipementVirtuelServiceImpl implements CalculImpactEqu
                 .impactUnitaire(result.valeurImpactUnitaire())
                 .consoElecMoyenne(result.consoElecMoyenne())
                 .idEntree(demandeCalcul.getEquipementVirtuel().getId())
+                .qualite(demandeCalcul.getEquipementVirtuel().getQualite())
                 .build();
     }
 
@@ -109,6 +110,7 @@ public class CalculImpactEquipementVirtuelServiceImpl implements CalculImpactEqu
                 .impactUnitaire(null)
                 .consoElecMoyenne(null)
                 .idEntree(demandeCalcul.getEquipementVirtuel().getId())
+                .qualite(demandeCalcul.getEquipementVirtuel().getQualite())
                 .build();
     }
 
diff --git a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/port/input/service/impl/CalculImpactOperationNonITServiceImpl.java b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/port/input/service/impl/CalculImpactOperationNonITServiceImpl.java
index 2b4449e2971761ba968900d4aaf68e0f8f0835a7..c7e4414b4ebf3ad34212cbcba2a1cad41978b2be 100644
--- a/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/port/input/service/impl/CalculImpactOperationNonITServiceImpl.java
+++ b/services/calculs/src/main/java/org/mte/numecoeval/calculs/domain/port/input/service/impl/CalculImpactOperationNonITServiceImpl.java
@@ -193,6 +193,7 @@ public class CalculImpactOperationNonITServiceImpl implements CalculImpactOperat
                 .dateLot(demandeCalcul.getOperationNonIT().getDateLot())
                 .nomEntite(demandeCalcul.getOperationNonIT().getNomEntite())
                 .nomOrganisation(demandeCalcul.getOperationNonIT().getNomOrganisation())
+                .qualite(demandeCalcul.getOperationNonIT().getQualite())
                 .build();
         if (traceCalculImpactOperationNonIT.getConsoElecAnMoyenne() != null) {
             result.setConsoElecMoyenne(traceCalculImpactOperationNonIT.getConsoElecAnMoyenne().getValeur());
@@ -221,6 +222,7 @@ public class CalculImpactOperationNonITServiceImpl implements CalculImpactOperat
                 .nomEntite(demandeCalcul.getOperationNonIT().getNomEntite())
                 .nomOrganisation(demandeCalcul.getOperationNonIT().getNomOrganisation())
                 .trace(TraceUtils.getTraceFromTraceur(TraceCalculImpactOperationNonITUtils.buildTraceErreur(exception)))
+                .qualite(demandeCalcul.getOperationNonIT().getQualite())
                 .build();
     }
 
diff --git a/services/common/src/main/resources/static/api-event-calculs-async-openapi.yaml b/services/common/src/main/resources/static/api-event-calculs-async-openapi.yaml
index c5c6fe06d77dc68ef443f8457454cc116c7e00cb..80d49ce7a0db6dbb5af899b5d28d8b5f7079dabd 100644
--- a/services/common/src/main/resources/static/api-event-calculs-async-openapi.yaml
+++ b/services/common/src/main/resources/static/api-event-calculs-async-openapi.yaml
@@ -296,6 +296,9 @@ components:
           type: number
           format: double
           default: 1.0
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
         consoElecAnnuelle:
           description: ""
           type: number
@@ -324,6 +327,9 @@ components:
         localisation:
           description: ""
           type: string
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     EquipementVirtuelRest:
       description: Représentation d'un équipement virtuel dans NumEcoEval
       properties:
@@ -359,6 +365,9 @@ components:
             Consommation électrique annuelle de l'équipement virtuel.
           type: number
           format: double
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     ApplicationRest:
       description: Représentation d'une application dans NumEcoEval
       properties:
@@ -380,6 +389,9 @@ components:
         sousDomaine:
           description: ""
           type: string
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     OperationNonITRest:
       description: Représentation d'opérations non IT dans NumEcoEval
       properties:
@@ -416,6 +428,9 @@ components:
           description: ""
           type: number
           format: double
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     MessagerieRest:
       description: Représentation d'éléments de messagerie dans NumEcoEval
       properties:
@@ -649,6 +664,9 @@ components:
           format: int32
         statutEquipementPhysique:
           type: string
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     IndicateurImpactReseauRest:
       type: object
       properties:
@@ -680,6 +698,9 @@ components:
         impactUnitaire:
           type: number
           format: double
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     IndicateurImpactEquipementVirtuelRest:
       description: Indicateur d'impact écologique d'un équipement virtuel
       type: object
@@ -723,6 +744,9 @@ components:
         consoElecMoyenne:
           type: number
           format: double
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     IndicateurImpactApplicationRest:
       description: Impact d'application
       properties:
@@ -771,6 +795,9 @@ components:
         consoElecMoyenne:
           type: number
           format: double
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     IndicateurImpactOperationNonITRest:
       type: object
       properties:
@@ -814,6 +841,9 @@ components:
           format: int32
         statutItem:
           type: string
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     IndicateurImpactMessagerieRest:
       description: Indicateur d'impact de messagerie
       properties:
diff --git a/services/common/src/main/resources/static/api-event-calculs-openapi.yaml b/services/common/src/main/resources/static/api-event-calculs-openapi.yaml
index 05125bcc30281d7396000431e4eb1b45f324b9b9..b066c967a066392ce1acbdd531ebf3e72e96a33f 100644
--- a/services/common/src/main/resources/static/api-event-calculs-openapi.yaml
+++ b/services/common/src/main/resources/static/api-event-calculs-openapi.yaml
@@ -264,6 +264,9 @@ components:
         nbTotalVCPU:
           description: "Nombre total de VCPU (correspond à la somme des vCPU définis dans les équipements virtuels) ou null si un des équipements virtuels n'a pas de vCPU - Utilisé dans les traitements"
           type: integer
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
         dataCenter:
           $ref: "#/components/schemas/DataCenterRest"
     DataCenterRest:
@@ -282,6 +285,9 @@ components:
         localisation:
           description: ""
           type: string
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     EquipementVirtuelRest:
       description: Représentation d'un équipement virtuel dans NumEcoEval
       properties:
@@ -317,6 +323,9 @@ components:
             Consommation électrique annuelle de l'équipement virtuel.
           type: number
           format: double
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     ApplicationRest:
       description: Représentation d'une application dans NumEcoEval
       properties:
@@ -338,6 +347,9 @@ components:
         sousDomaine:
           description: ""
           type: string
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     MessagerieRest:
       description: Représentation d'éléments de messagerie dans NumEcoEval
       properties:
@@ -520,6 +532,9 @@ components:
           format: int32
         statutEquipementPhysique:
           type: string
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     IndicateurImpactReseauRest:
       type: object
       properties:
@@ -551,6 +566,9 @@ components:
         impactUnitaire:
           type: number
           format: double
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     IndicateurImpactEquipementVirtuelRest:
       description: Indicateur d'impact écologique d'un équipement virtuel
       type: object
@@ -594,6 +612,9 @@ components:
         consoElecMoyenne:
           type: number
           format: double
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     IndicateurImpactApplicationRest:
       description: Impact d'application
       properties:
@@ -642,6 +663,9 @@ components:
         consoElecMoyenne:
           type: number
           format: double
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     IndicateurImpactMessagerieRest:
       description: Indicateur d'impact de messagerie
       properties:
diff --git a/services/common/src/main/resources/static/asyncapi_equipement_physique.yaml b/services/common/src/main/resources/static/asyncapi_equipement_physique.yaml
index 704d8b3ce986bce1220326578b1380361962a736..ce45ab1f78d73b61ff79462667c9365a05afc788 100644
--- a/services/common/src/main/resources/static/asyncapi_equipement_physique.yaml
+++ b/services/common/src/main/resources/static/asyncapi_equipement_physique.yaml
@@ -154,6 +154,9 @@ components:
         nomSourceDonnee:
           description: "Nom de la source de la donnée"
           type: string
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
         nomLot:
           description: "Nom du lot rattaché"
           type: string
@@ -215,6 +218,9 @@ components:
         nomOrganisation:
           description: ""
           type: string
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     CorrespondanceRefEquipementDTO:
       type: object
       properties:
diff --git a/services/common/src/main/resources/static/asyncapi_operation_non_it.yaml b/services/common/src/main/resources/static/asyncapi_operation_non_it.yaml
index 594eb70c3ed1f427420df364f8c449ac614c8aa6..bd130605387eb82d27bcb0fddd40dfb376701178 100644
--- a/services/common/src/main/resources/static/asyncapi_operation_non_it.yaml
+++ b/services/common/src/main/resources/static/asyncapi_operation_non_it.yaml
@@ -120,6 +120,9 @@ components:
         nomOrganisation:
           description: ""
           type: string
+        qualite:
+          description: "Qualité de la donnée"
+          type: string
     TypeItemDTO:
       type: object
       properties: