diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0ec9081d11b59bebe3eb3d1e120b1a894f2c98dc..367f5fa005bcf6001e83086def1efd5fa1bdfa39 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é]
 
+- Librairie de calculs : Ajout du champ DureeDeVie dans l'objet ImpactEquipementPhysique
 - Correction : Trace du calcul de l'utilisation d'un équipement physique : suppression de '/ 365'
 - Nettoyage : Suppression complète du calcul de l'impact du réseau à partir d'un équipement physique de type réseau (donc suppression des champs goTelecharge et nbJourUtiliseAn dans l'inventaire des équipements physiques). Désormais, l'impact du réseau se calcule grâce aux opérations non IT -> [Issue10](https://gitlab-forge.din.developpement-durable.gouv.fr/pub/numeco/m4g/numecoeval/-/issues/10)
 - Customisation des référentiels par organisation : les référentiels TypeItem, FacteurCaracterisation, CorrespondanceRefEquipement et Hypotheses peuvent être personnalisés par une organisation -> [Issue9](https://gitlab-forge.din.developpement-durable.gouv.fr/pub/numeco/m4g/numecoeval/-/issues/9)
diff --git a/docs/MoteurDeCalculG4IT_V1.1.adoc b/docs/MoteurDeCalculG4IT_V1.1.adoc
index 2d89935287f5c2d4dd1d7b0a3a93de2b91e2aabc..ee9534217e6312b54dd6dee6b46a4f3e963da2b2 100644
--- a/docs/MoteurDeCalculG4IT_V1.1.adoc
+++ b/docs/MoteurDeCalculG4IT_V1.1.adoc
@@ -12,6 +12,7 @@
 |majeur|22/02/2023|Intégrer des nouveaux impact au référentiel(déplacements collaborateurs, bâtiments) -> Création d'une nouvelle API facteurscaracterisation
 |majeur|02/05/2023|Charger et lancer un calcul sur les nouveaux impacts (réseau, déplacements, bâtiments, maintenance) -> import de nouveaux csv OperationNonIT puis création d'indicateurs associés
 |majeur|17/05/2023|Inclure dans l'évaluation d'impact des informations sur la qualité des données -> ajout d'un champ qualité à l'import puis transmission de la qualité jusqu'aux indicateurs en sortie
+|mineur|12/11/2024|Inclure dans le résultat du calcul d'impact la durée de vie retenue -> ajout d'un champ dureeDeVie aux indicateurs de sortie
 
 |===
 
@@ -604,6 +605,7 @@ Cette règle permet le calcul de l'impact moyen d'un équipement physique sur un
 |ind_ImpactEquipementPhysique.unite|sortie|l'unité présente dans le référentiel correspondant au critère en cours
 |ind_ImpactEquipementPhysique.consoElecMoyenne|sortie|la consommation électrique déterminée par la règle suivante
 |ind_ImpactEquipementPhysique.qualite|sortie|la qualité de la donnée d'inventaire
+|ind_ImpactEquipementPhysique.dureeDeVie|sortie|la durée de vie retenue d'un équipement physique en année
 
 |===
 
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 84ef4b302bbb160e83644c87d42be31f5ed5ef19..c7e4b02bededc17bb99c41a5aac17a8c1fcb7624 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
@@ -34,4 +34,5 @@ public class ImpactEquipementPhysique {
     Double quantite;
     String statutEquipementPhysique;
     String qualite;
+    Double dureeDeVie;
 }
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 eefa835665859654c22bd4bc92cb65da3e8e3690..499beb9a7fa598530fcbdcbb84ad3d0706889ff4 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
@@ -59,36 +59,48 @@ public class CalculImpactEquipementPhysiqueServiceImpl implements CalculImpactEq
         TraceCalculImpactEquipementPhysique traceCalculImpactEquipementPhysique;
         var quantite = demandeCalcul.getEquipementPhysique().getQuantite();
         double tauxUtilisationEqPhysique = getTauxUtilisationEqPhysique(demandeCalcul);
+        Double dureeDeVieRetenue = null;
+
         if ("UTILISATION".equals(demandeCalcul.getEtape().getCode())) {
             var consoElecAnMoyenne = getConsoElecAnMoyenne(demandeCalcul);
             var mixElectrique = getMixElectrique(demandeCalcul);
             valeurImpactUnitaire = quantite
                     * consoElecAnMoyenne.getValeur()
                     * mixElectrique.getValeur()
-                    * tauxUtilisationEqPhysique
-            ;
+                    * tauxUtilisationEqPhysique;
+
             consoElecMoyenne = consoElecAnMoyenne.getValeur();
             traceCalculImpactEquipementPhysique = TraceCalculImpactEquipementPhysiqueUtils.buildTracePremierScenario(quantite, consoElecAnMoyenne, mixElectrique, tauxUtilisationEqPhysique);
+
+            // duree de vie remontee sur l'impact, non necessaire pour les calculs en etape UTILISATION
+            try {
+                DureeDeVie dureeVie = dureeDeVieEquipementPhysiqueService.calculerDureeVie(demandeCalcul);
+                dureeDeVieRetenue = dureeVie == null ? null : dureeVie.getValeurRetenue();
+            } catch (CalculImpactException ignored) {
+            }
         } else {
             var refImpactEquipementOpt = getFacteurCaracterisation(demandeCalcul);
             if (refImpactEquipementOpt.isPresent()) {
                 ReferentielFacteurCaracterisation referentielImpactEquipement = refImpactEquipementOpt.get();
                 var valeurReferentiel = referentielImpactEquipement.getValeur();
                 valeurImpactUnitaire = quantite * valeurReferentiel * tauxUtilisationEqPhysique;
+
                 DureeDeVie dureeVie = dureeDeVieEquipementPhysiqueService.calculerDureeVie(demandeCalcul);
-                if (dureeVie != null && dureeVie.getValeurRetenue() != null && dureeVie.getValeurRetenue() > 0) {
-                    var valeurDureeVie = dureeVie.getValeurRetenue();
-                    valeurImpactUnitaire = valeurImpactUnitaire / valeurDureeVie;
-                    traceCalculImpactEquipementPhysique = TraceCalculImpactEquipementPhysiqueUtils.buildTraceSecondScenario(quantite, valeurReferentiel, referentielImpactEquipement.getSource(), dureeVie, tauxUtilisationEqPhysique);
+                dureeDeVieRetenue = dureeVie == null ? null : dureeVie.getValeurRetenue();
+
+                if (dureeDeVieRetenue != null && dureeDeVieRetenue > 0) {
+                    valeurImpactUnitaire = valeurImpactUnitaire / dureeDeVieRetenue;
                 } else {
                     throw new CalculImpactException(TypeErreurCalcul.ERREUR_FONCTIONNELLE.getCode(), "Durée de vie de l'équipement inconnue");
                 }
+                
+                traceCalculImpactEquipementPhysique = TraceCalculImpactEquipementPhysiqueUtils.buildTraceSecondScenario(quantite, valeurReferentiel, referentielImpactEquipement.getSource(), dureeVie, tauxUtilisationEqPhysique);
             } else {
                 throw new CalculImpactException(TypeErreurCalcul.ERREUR_FONCTIONNELLE.getCode(), "Référentiel Facteur Caracterisation inconnu");
             }
         }
 
-        var calcul = buildCalculImpactEquipementPhysique(demandeCalcul, valeurImpactUnitaire, consoElecMoyenne);
+        var calcul = buildCalculImpactEquipementPhysique(demandeCalcul, valeurImpactUnitaire, consoElecMoyenne, dureeDeVieRetenue);
         calcul.setTrace(TraceUtils.getTraceFromTraceur(traceCalculImpactEquipementPhysique));
         return calcul;
     }
@@ -109,7 +121,8 @@ public class CalculImpactEquipementPhysiqueServiceImpl implements CalculImpactEq
         return resultFromRefEquipementCible;
     }
 
-    private ImpactEquipementPhysique buildCalculImpactEquipementPhysique(DemandeCalculImpactEquipementPhysique demandeCalcul, Double valeurImpactUnitaire, Double consoElecMoyenne) {
+    private ImpactEquipementPhysique buildCalculImpactEquipementPhysique(DemandeCalculImpactEquipementPhysique demandeCalcul,
+                                                                         Double valeurImpactUnitaire, Double consoElecMoyenne, Double dureeDeVie) {
         return ImpactEquipementPhysique
                 .builder()
                 .nomEquipement(demandeCalcul.getEquipementPhysique().getNomEquipementPhysique())
@@ -131,6 +144,7 @@ public class CalculImpactEquipementPhysiqueServiceImpl implements CalculImpactEq
                 .nomEntite(demandeCalcul.getEquipementPhysique().getNomEntite())
                 .nomOrganisation(demandeCalcul.getEquipementPhysique().getNomOrganisation())
                 .qualite(demandeCalcul.getEquipementPhysique().getQualite())
+                .dureeDeVie(dureeDeVie)
                 .build();
     }
 
diff --git a/services/calculs/src/test/java/org/mte/numecoeval/calculs/domain/service/CalculImpactEquipementPhysiqueServiceTest.java b/services/calculs/src/test/java/org/mte/numecoeval/calculs/domain/service/CalculImpactEquipementPhysiqueServiceTest.java
index a638acf629eeec2bca20005464345edccb27b1a9..16273e0d6ed0c2a075f2fc9cd39446c7e3b9aae6 100644
--- a/services/calculs/src/test/java/org/mte/numecoeval/calculs/domain/service/CalculImpactEquipementPhysiqueServiceTest.java
+++ b/services/calculs/src/test/java/org/mte/numecoeval/calculs/domain/service/CalculImpactEquipementPhysiqueServiceTest.java
@@ -522,6 +522,7 @@ class CalculImpactEquipementPhysiqueServiceTest {
         assertEquals(28.4, actualImpactUnitaireLimited);
         verify(dureeDeVieEquipementPhysiqueService, times(1)).calculerDureeVie(demandeCalcul);
         assertNull(actual.getConsoElecMoyenne());
+        assertEquals(5.0d, actual.getDureeDeVie());
     }
 
     @Test