diff --git a/spec/regime_uniforme_circ.spec.ts b/spec/regime_uniforme_circ.spec.ts
index 93a964725b83cc68aed88e308b4c37b297cda8a3..0136d78bd1d23f17b30d3689c714821656752242 100644
--- a/spec/regime_uniforme_circ.spec.ts
+++ b/spec/regime_uniforme_circ.spec.ts
@@ -21,7 +21,7 @@ describe('Class RegimeUniforme / section circulaire :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnCirc(undefined, paramSect);
+            let sect = new cSnCirc(paramSect);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("D", 1e-8), 6.001);
@@ -37,7 +37,7 @@ describe('Class RegimeUniforme / section circulaire :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnCirc(undefined, paramSection);
+            let sect = new cSnCirc(paramSection);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Ks", 1e-8), 40.003);
@@ -53,7 +53,7 @@ describe('Class RegimeUniforme / section circulaire :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnCirc(undefined, paramSection);
+            let sect = new cSnCirc(paramSection);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("If"), 0.001);
@@ -68,7 +68,7 @@ describe('Class RegimeUniforme / section circulaire :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnCirc(undefined, paramSection);
+            let sect = new cSnCirc(paramSection);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Q"), 1.2);
@@ -83,7 +83,7 @@ describe('Class RegimeUniforme / section circulaire :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnCirc(undefined, paramSection);
+            let sect = new cSnCirc(paramSection);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Y"), 0.6613);
@@ -100,7 +100,7 @@ describe('Class RegimeUniforme / section circulaire :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnCirc(undefined, paramSect);
+            let sect = new cSnCirc(paramSect);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("D", 1e-8), 2);
@@ -116,7 +116,7 @@ describe('Class RegimeUniforme / section circulaire :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnCirc(undefined, paramSection);
+            let sect = new cSnCirc(paramSection);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Ks", 1e-8), 13.551);
@@ -132,7 +132,7 @@ describe('Class RegimeUniforme / section circulaire :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnCirc(undefined, paramSection);
+            let sect = new cSnCirc(paramSection);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("If"), 0.001);
@@ -147,7 +147,7 @@ describe('Class RegimeUniforme / section circulaire :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnCirc(undefined, paramSection);
+            let sect = new cSnCirc(paramSection);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Q"), 1.2);
@@ -162,7 +162,7 @@ describe('Class RegimeUniforme / section circulaire :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnCirc(undefined, paramSection);
+            let sect = new cSnCirc(paramSection);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Y"), 2);
diff --git a/spec/regime_uniforme_puissance.spec.ts b/spec/regime_uniforme_puissance.spec.ts
index 6790ce801ae596a8d9d63658323b8fd69c76a229..4f770d59cc1b7719bd66ad562c854ced6047a402 100644
--- a/spec/regime_uniforme_puissance.spec.ts
+++ b/spec/regime_uniforme_puissance.spec.ts
@@ -22,7 +22,7 @@ describe('Class RegimeUniforme / section puissance :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnPuiss(undefined, prms);
+            let sect = new cSnPuiss(prms);
             let ru = new RegimeUniforme(sect, false);
 
             check(ru.Calc("k"), 0.635);
@@ -38,7 +38,7 @@ describe('Class RegimeUniforme / section puissance :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnPuiss(undefined, prms);
+            let sect = new cSnPuiss(prms);
             let ru = new RegimeUniforme(sect, false);
 
             check(ru.Calc("LargeurBerge"), 3.473);
@@ -54,7 +54,7 @@ describe('Class RegimeUniforme / section puissance :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnPuiss(undefined, prms);
+            let sect = new cSnPuiss(prms);
             let ru = new RegimeUniforme(sect, false);
 
             check(ru.Calc("Ks", 1e-8), 33.774);
@@ -70,7 +70,7 @@ describe('Class RegimeUniforme / section puissance :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnPuiss(undefined, prms);
+            let sect = new cSnPuiss(prms);
             let ru = new RegimeUniforme(sect, false);
 
             check(ru.Calc("If", 0, 0.00001), 0.00071, 0.00001);
@@ -86,7 +86,7 @@ describe('Class RegimeUniforme / section puissance :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnPuiss(undefined, prms);
+            let sect = new cSnPuiss(prms);
             let ru = new RegimeUniforme(sect, false);
 
             check(ru.Calc("Q"), 1.421);
@@ -102,7 +102,7 @@ describe('Class RegimeUniforme / section puissance :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnPuiss(undefined, paramCnl);
+            let sect = new cSnPuiss(paramCnl);
             let ru = new RegimeUniforme(sect, false);
 
             check(ru.Calc("Y"), 0.742);
@@ -120,7 +120,7 @@ describe('Class RegimeUniforme / section puissance :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnPuiss(undefined, prms);
+            let sect = new cSnPuiss(prms);
             let ru = new RegimeUniforme(sect, false);
 
             let res: Result = ru.Calc("k");
@@ -138,7 +138,7 @@ describe('Class RegimeUniforme / section puissance :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnPuiss(undefined, prms);
+            let sect = new cSnPuiss(prms);
             let ru = new RegimeUniforme(sect, false);
 
             check(ru.Calc("k"), 0.933);
@@ -154,7 +154,7 @@ describe('Class RegimeUniforme / section puissance :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnPuiss(undefined, prms);
+            let sect = new cSnPuiss(prms);
             let ru = new RegimeUniforme(sect, false);
 
             check(ru.Calc("LargeurBerge"), 0.721);
@@ -170,7 +170,7 @@ describe('Class RegimeUniforme / section puissance :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnPuiss(undefined, prms);
+            let sect = new cSnPuiss(prms);
             let ru = new RegimeUniforme(sect, false);
 
             check(ru.Calc("Ks", 1e-8), 4.367);
@@ -186,7 +186,7 @@ describe('Class RegimeUniforme / section puissance :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnPuiss(undefined, prms);
+            let sect = new cSnPuiss(prms);
             let ru = new RegimeUniforme(sect);
             ru.dichoStartIntervalMaxSteps = 3;
 
@@ -205,7 +205,7 @@ describe('Class RegimeUniforme / section puissance :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnPuiss(undefined, prms);
+            let sect = new cSnPuiss(prms);
             let ru = new RegimeUniforme(sect);
             ru.dichoStartIntervalMaxSteps = 1;
 
@@ -224,7 +224,7 @@ describe('Class RegimeUniforme / section puissance :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnPuiss(undefined, prms);
+            let sect = new cSnPuiss(prms);
             let ru = new RegimeUniforme(sect, false);
 
             check(ru.Calc("If"), 0.001);
@@ -240,7 +240,7 @@ describe('Class RegimeUniforme / section puissance :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnPuiss(undefined, prms);
+            let sect = new cSnPuiss(prms);
             let ru = new RegimeUniforme(sect, false);
 
             check(ru.Calc("Q"), 10.993);
@@ -256,7 +256,7 @@ describe('Class RegimeUniforme / section puissance :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnPuiss(undefined, paramCnl);
+            let sect = new cSnPuiss(paramCnl);
             let ru = new RegimeUniforme(sect, false);
 
             check(ru.Calc("Y"), 0.742);
diff --git a/spec/regime_uniforme_rect.spec.ts b/spec/regime_uniforme_rect.spec.ts
index 3dd28219ec4234f1435f86ce213ef33575348042..1c7d9aad1b4808fd7078fd0f75fbd94909b82dc3 100644
--- a/spec/regime_uniforme_rect.spec.ts
+++ b/spec/regime_uniforme_rect.spec.ts
@@ -23,7 +23,7 @@ describe('Class RegimeUniforme / section rectangulaire :', () => {
                 precDist, // précision
                 1 // YB=hauteur de berge
             );
-            let sect = new cSnRectang(undefined, prms, false);
+            let sect = new cSnRectang(prms, false);
             let ru = new RegimeUniforme(sect, false);
 
             check(ru.Calc("LargeurBerge"), 2.5);
@@ -39,7 +39,7 @@ describe('Class RegimeUniforme / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Ks", 1e-8), 30.619);
@@ -55,7 +55,7 @@ describe('Class RegimeUniforme / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
             let ru = new RegimeUniforme(sect, false);
 
             // nom variable à calculer, valeur de Ks
@@ -72,7 +72,7 @@ describe('Class RegimeUniforme / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Q"), 1.568);
@@ -88,7 +88,7 @@ describe('Class RegimeUniforme / section rectangulaire :', () => {
                 1.2 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Q"), 0.731);
@@ -104,7 +104,7 @@ describe('Class RegimeUniforme / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
             let ru = new RegimeUniforme(sect);
 
             // nom variable à calculer, valeur de Ks
@@ -126,7 +126,7 @@ describe('Class RegimeUniforme / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms, false);
+            let sect = new cSnRectang(prms, false);
             let ru = new RegimeUniforme(sect, false);
 
             check(ru.Calc("LargeurBerge"), 2.5);
@@ -142,7 +142,7 @@ describe('Class RegimeUniforme / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Ks", 1e-8), 9.041);
@@ -158,7 +158,7 @@ describe('Class RegimeUniforme / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
             let ru = new RegimeUniforme(sect, false);
 
             // nom variable à calculer, valeur de Ks
@@ -175,7 +175,7 @@ describe('Class RegimeUniforme / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Q"), 5.31);
@@ -191,7 +191,7 @@ describe('Class RegimeUniforme / section rectangulaire :', () => {
                 1.2 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Q"), 1.624);
@@ -207,7 +207,7 @@ describe('Class RegimeUniforme / section rectangulaire :', () => {
                 0.1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
             let ru = new RegimeUniforme(sect);
 
             // nom variable à calculer, valeur de Ks
diff --git a/spec/regime_uniforme_trapeze.spec.ts b/spec/regime_uniforme_trapeze.spec.ts
index 9639e8ad7697eb6ad0847afac8b0805bf485a818..4a08d1de55b31a214de8113e8b1efb0e90df9575 100644
--- a/spec/regime_uniforme_trapeze.spec.ts
+++ b/spec/regime_uniforme_trapeze.spec.ts
@@ -23,7 +23,7 @@ describe('Class RegimeUniforme / section trapèze :', () => {
                 1 // YB= hauteur de berge
             );
 
-            let sect = new cSnTrapez(undefined, prms);
+            let sect = new cSnTrapez(prms);
 
             let ru = new RegimeUniforme(sect, false);
 
@@ -41,7 +41,7 @@ describe('Class RegimeUniforme / section trapèze :', () => {
                 1 // YB= hauteur de berge
             );
 
-            let sect = new cSnTrapez(undefined, prms);
+            let sect = new cSnTrapez(prms);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Fruit"), 0.56);
@@ -58,7 +58,7 @@ describe('Class RegimeUniforme / section trapèze :', () => {
                 1 // YB= hauteur de berge
             );
 
-            let sect = new cSnTrapez(undefined, prms);
+            let sect = new cSnTrapez(prms);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Ks", 1e-8), 24.14);
@@ -75,7 +75,7 @@ describe('Class RegimeUniforme / section trapèze :', () => {
                 1 // YB= hauteur de berge
             );
 
-            let sect = new cSnTrapez(undefined, prms);
+            let sect = new cSnTrapez(prms);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("If"), 0.001);
@@ -92,7 +92,7 @@ describe('Class RegimeUniforme / section trapèze :', () => {
                 1 // YB= hauteur de berge
             );
 
-            let sect = new cSnTrapez(undefined, prms);
+            let sect = new cSnTrapez(prms);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Q"), 1.2);
@@ -109,7 +109,7 @@ describe('Class RegimeUniforme / section trapèze :', () => {
                 1 // YB= hauteur de berge
             );
 
-            let sect = new cSnTrapez(undefined, prms);
+            let sect = new cSnTrapez(prms);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Y"), 0.587);
@@ -127,7 +127,7 @@ describe('Class RegimeUniforme / section trapèze :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnTrapez(undefined, prms);
+            let sect = new cSnTrapez(prms);
             let ru = new RegimeUniforme(sect, false);
 
             check(ru.Calc("LargeurFond", 0, precDist), 0.03);
@@ -144,7 +144,7 @@ describe('Class RegimeUniforme / section trapèze :', () => {
                 1 // YB= hauteur de berge
             );
 
-            let sect = new cSnTrapez(undefined, prms);
+            let sect = new cSnTrapez(prms);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Fruit"), 0.56);
@@ -160,7 +160,7 @@ describe('Class RegimeUniforme / section trapèze :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnTrapez(undefined, prms);
+            let sect = new cSnTrapez(prms);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Ks", 1e-8), 5.744);
@@ -176,7 +176,7 @@ describe('Class RegimeUniforme / section trapèze :', () => {
                 precDist, // précision
                 1 // YB= hauteur de berge
             );
-            let sect = new cSnTrapez(undefined, prms);
+            let sect = new cSnTrapez(prms);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("If"), 0.001);
@@ -193,7 +193,7 @@ describe('Class RegimeUniforme / section trapèze :', () => {
                 1 // YB= hauteur de berge
             );
 
-            let sect = new cSnTrapez(undefined, prms);
+            let sect = new cSnTrapez(prms);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Q"), 8.356);
@@ -210,7 +210,7 @@ describe('Class RegimeUniforme / section trapèze :', () => {
                 1 // YB= hauteur de berge
             );
 
-            let sect = new cSnTrapez(undefined, prms);
+            let sect = new cSnTrapez(prms);
             let ru = new RegimeUniforme(sect);
 
             check(ru.Calc("Y"), 0.587);
diff --git a/spec/remous_rect_euler_pentefaible.spec.ts b/spec/remous_rect_euler_pentefaible.spec.ts
index 9c568ac003964bb35cbc7e5416112366fb816efe..3745913465978576998d3946018f2818cac6a403 100644
--- a/spec/remous_rect_euler_pentefaible.spec.ts
+++ b/spec/remous_rect_euler_pentefaible.spec.ts
@@ -218,7 +218,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.5, // Yamont = tirant amont
                 1, // Yaval = tirant aval
@@ -227,8 +227,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.EulerExplicite
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -259,7 +258,7 @@ describe('Class Remous / section rectangulaire :', () => {
 
             expLog.add(new Message(MessageCode.ERROR_REMOUS_PAS_CALCUL_DEPUIS_AMONT));
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("faible pente, pas de ressaut, Yamont > Yc, Yc < Yaval < Yn", () => {
@@ -272,7 +271,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.5, // Yamont = tirant amont
                 0.7, // Yaval = tirant aval
@@ -281,8 +280,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.EulerExplicite
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -313,7 +311,7 @@ describe('Class Remous / section rectangulaire :', () => {
 
             expLog.add(new Message(MessageCode.ERROR_REMOUS_PAS_CALCUL_DEPUIS_AMONT));
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
     });
 });
diff --git a/spec/remous_rect_euler_penteforte.spec.ts b/spec/remous_rect_euler_penteforte.spec.ts
index f717600906120bab67f16020c62560cfa3003994..46d996370f1f76e9dd6b4525ca7ab3c4011e6c80 100644
--- a/spec/remous_rect_euler_penteforte.spec.ts
+++ b/spec/remous_rect_euler_penteforte.spec.ts
@@ -17,7 +17,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
                 6, // Yaval = tirant aval
@@ -26,8 +26,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.EulerExplicite
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -63,7 +62,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["x"] = 0;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("forte pente, ressaut après l'aval", () => {
@@ -77,7 +76,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
                 0.45, // Yaval = tirant aval
@@ -86,8 +85,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.EulerExplicite
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -129,7 +127,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["x"] = 100;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         // it("forte pente, ressaut (1 point) à l'intérieur du bief", () => {
@@ -209,7 +207,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
                 1, // Yaval = tirant aval
@@ -218,8 +216,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.EulerExplicite
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -256,7 +253,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["xmax"] = 3.75;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("forte pente, pas de ressaut, Yaval < Yc, Yamont < Yn", () => {
@@ -269,7 +266,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.1, // Yamont = tirant amont
                 0.3, // Yaval = tirant aval
@@ -278,8 +275,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.EulerExplicite
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -310,7 +306,7 @@ describe('Class Remous / section rectangulaire :', () => {
 
             expLog.add(new Message(MessageCode.ERROR_REMOUS_CALCUL_TORRENTIEL));
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("forte pente, pas de ressaut, Yaval < Yc, Yn < Yamont < Yc", () => {
@@ -323,7 +319,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.35, // Yamont = tirant amont
                 0.3, // Yaval = tirant aval
@@ -332,8 +328,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.EulerExplicite
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -364,7 +359,7 @@ describe('Class Remous / section rectangulaire :', () => {
 
             expLog.add(new Message(MessageCode.ERROR_REMOUS_CALCUL_TORRENTIEL));
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
     });
 });
diff --git a/spec/remous_rect_rk4_pentefaible.spec.ts b/spec/remous_rect_rk4_pentefaible.spec.ts
index e819a64d30aa3745d6f1c170613446bb466b85c3..52b6bbf3d9691c3f22f206a8c3f5d4a7e0140130 100644
--- a/spec/remous_rect_rk4_pentefaible.spec.ts
+++ b/spec/remous_rect_rk4_pentefaible.spec.ts
@@ -18,7 +18,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.3, // Yamont = tirant amont
                 0.41, // Yaval = tirant aval
@@ -27,8 +27,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.RungeKutta4
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -69,7 +68,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["x"] = 0;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("faible pente, ressaut (1 point) à l'intérieur du bief", () => {
@@ -82,7 +81,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
                 0.42, // Yaval = tirant aval
@@ -91,8 +90,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.RungeKutta4
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -133,7 +131,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["xmax"] = 5;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("faible pente, ressaut (plusieurs points) à l'intérieur du bief", () => {
@@ -146,7 +144,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.01, // Yamont = tirant amont
                 0.42, // Yaval = tirant aval
@@ -155,8 +153,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.RungeKutta4
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -193,7 +190,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["xmax"] = 1;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("faible pente, pas de ressaut, Yamont > Yc, Yaval > Yn", () => {
@@ -206,7 +203,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.5, // Yamont = tirant amont
                 1, // Yaval = tirant aval
@@ -215,8 +212,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.RungeKutta4
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -247,7 +243,7 @@ describe('Class Remous / section rectangulaire :', () => {
 
             expLog.add(new Message(MessageCode.ERROR_REMOUS_PAS_CALCUL_DEPUIS_AMONT));
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("faible pente, pas de ressaut, Yamont > Yc, Yc < Yaval < Yn", () => {
@@ -260,7 +256,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.5, // Yamont = tirant amont
                 0.7, // Yaval = tirant aval
@@ -269,8 +265,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.RungeKutta4
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -301,7 +296,7 @@ describe('Class Remous / section rectangulaire :', () => {
 
             expLog.add(new Message(MessageCode.ERROR_REMOUS_PAS_CALCUL_DEPUIS_AMONT));
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
     });
 });
diff --git a/spec/remous_rect_rk4_penteforte.spec.ts b/spec/remous_rect_rk4_penteforte.spec.ts
index bb96606609fad0776d88eced9917726983d85334..61109e1c62a8b231b15ac442ac537b67c595a8f3 100644
--- a/spec/remous_rect_rk4_penteforte.spec.ts
+++ b/spec/remous_rect_rk4_penteforte.spec.ts
@@ -17,7 +17,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
                 6, // Yaval = tirant aval
@@ -26,8 +26,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.RungeKutta4
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -63,7 +62,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["x"] = 0;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("forte pente, ressaut après l'aval", () => {
@@ -77,7 +76,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
                 0.45, // Yaval = tirant aval
@@ -86,8 +85,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.RungeKutta4
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -128,7 +126,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["x"] = 100;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("forte pente, ressaut (1 point) à l'intérieur du bief", () => {
@@ -141,7 +139,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
                 1, // Yaval = tirant aval
@@ -150,8 +148,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.RungeKutta4
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -192,7 +189,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["xmax"] = 90;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("forte pente, ressaut (plusieurs points) à l'intérieur du bief", () => {
@@ -205,7 +202,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
                 1, // Yaval = tirant aval
@@ -214,8 +211,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.RungeKutta4
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -252,7 +248,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["xmax"] = 3.75;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("forte pente, pas de ressaut, Yaval < Yc, Yamont < Yn", () => {
@@ -265,7 +261,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.1, // Yamont = tirant amont
                 0.3, // Yaval = tirant aval
@@ -274,8 +270,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.RungeKutta4
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -306,7 +301,7 @@ describe('Class Remous / section rectangulaire :', () => {
 
             expLog.add(new Message(MessageCode.ERROR_REMOUS_CALCUL_TORRENTIEL));
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("forte pente, pas de ressaut, Yaval < Yc, Yn < Yamont < Yc", () => {
@@ -319,7 +314,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.35, // Yamont = tirant amont
                 0.3, // Yaval = tirant aval
@@ -328,8 +323,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.RungeKutta4
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -360,7 +354,7 @@ describe('Class Remous / section rectangulaire :', () => {
 
             expLog.add(new Message(MessageCode.ERROR_REMOUS_CALCUL_TORRENTIEL));
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
     });
 });
diff --git a/spec/remous_rect_trapezes_pentefaible.spec.ts b/spec/remous_rect_trapezes_pentefaible.spec.ts
index e27b1fb5c642aebd2dea9d99ce17db730c4634f5..aeb0bc77bbd6f93ff2f9f91f2032140654ee1306 100644
--- a/spec/remous_rect_trapezes_pentefaible.spec.ts
+++ b/spec/remous_rect_trapezes_pentefaible.spec.ts
@@ -18,7 +18,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.3, // Yamont = tirant amont
                 0.403, // Yaval = tirant aval
@@ -27,8 +27,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.Trapezes
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -69,7 +68,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["x"] = 0;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("faible pente, ressaut (1 point) à l'intérieur du bief", () => {
@@ -82,7 +81,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
                 0.403, // Yaval = tirant aval
@@ -91,8 +90,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.Trapezes
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -133,7 +131,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["xmax"] = 5;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("faible pente, ressaut (plusieurs points) à l'intérieur du bief (1)", () => {
@@ -146,7 +144,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.01, // Yamont = tirant amont
                 0.403, // Yaval = tirant aval
@@ -155,8 +153,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.Trapezes
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -205,7 +202,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["xmax"] = 1;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("faible pente, ressaut (plusieurs points) à l'intérieur du bief (2)", () => {
@@ -218,7 +215,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.01, // Yamont = tirant amont
                 0.403, // Yaval = tirant aval
@@ -227,8 +224,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.Trapezes
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -265,7 +261,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["xmax"] = 0.9;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
     });
 
@@ -279,7 +275,7 @@ describe('Class Remous / section rectangulaire :', () => {
             1 // YB=hauteur de berge
         );
 
-        let sect = new cSnRectang(undefined, prms);
+        let sect = new cSnRectang(prms);
 
         let prem = new CourbeRemousParams(sect, 0.5, // Yamont = tirant amont
             1, // Yaval = tirant aval
@@ -288,8 +284,7 @@ describe('Class Remous / section rectangulaire :', () => {
             MethodeResolution.Trapezes
         );
 
-        let log = new cLog();
-        let rem = new CourbeRemous(prem, log);
+        let rem = new CourbeRemous(prem);
 
         let res = rem.calculRemous(undefined);
 
@@ -320,7 +315,7 @@ describe('Class Remous / section rectangulaire :', () => {
 
         expLog.add(new Message(MessageCode.ERROR_REMOUS_PAS_CALCUL_DEPUIS_AMONT));
 
-        compareLog(log, expLog);
+        compareLog(rem.log, expLog);
     });
 
     it("faible pente, pas de ressaut, Yamont > Yc, Yc < Yaval < Yn", () => {
@@ -333,7 +328,7 @@ describe('Class Remous / section rectangulaire :', () => {
             1 // YB=hauteur de berge
         );
 
-        let sect = new cSnRectang(undefined, prms);
+        let sect = new cSnRectang(prms);
 
         let prem = new CourbeRemousParams(sect, 0.5, // Yamont = tirant amont
             0.7, // Yaval = tirant aval
@@ -342,8 +337,7 @@ describe('Class Remous / section rectangulaire :', () => {
             MethodeResolution.Trapezes
         );
 
-        let log = new cLog();
-        let rem = new CourbeRemous(prem, log);
+        let rem = new CourbeRemous(prem);
 
         let res = rem.calculRemous(undefined);
 
@@ -374,6 +368,6 @@ describe('Class Remous / section rectangulaire :', () => {
 
         expLog.add(new Message(MessageCode.ERROR_REMOUS_PAS_CALCUL_DEPUIS_AMONT));
 
-        compareLog(log, expLog);
+        compareLog(rem.log, expLog);
     });
 });
diff --git a/spec/remous_rect_trapezes_penteforte.spec.ts b/spec/remous_rect_trapezes_penteforte.spec.ts
index 197fffaaa5c0b563d74a0b2c779dce3a4db72588..7695ae5ad89e8c8cd9522836e02797be1a0885b9 100644
--- a/spec/remous_rect_trapezes_penteforte.spec.ts
+++ b/spec/remous_rect_trapezes_penteforte.spec.ts
@@ -17,7 +17,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
                 6, // Yaval = tirant aval
@@ -26,8 +26,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.Trapezes
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -63,7 +62,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["x"] = 0;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("forte pente, ressaut après l'aval", () => {
@@ -77,7 +76,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
                 0.45, // Yaval = tirant aval
@@ -86,8 +85,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.Trapezes
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -129,7 +127,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["x"] = 100;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("forte pente, ressaut (1 point) à l'intérieur du bief", () => {
@@ -142,7 +140,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
                 1, // Yaval = tirant aval
@@ -151,8 +149,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.Trapezes
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -193,7 +190,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["xmax"] = 95;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("forte pente, ressaut (plusieurs points) à l'intérieur du bief", () => {
@@ -206,7 +203,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
                 1, // Yaval = tirant aval
@@ -215,8 +212,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.Trapezes
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -253,7 +249,7 @@ describe('Class Remous / section rectangulaire :', () => {
             m.extraVar["xmax"] = 3.75;
             expLog.add(m);
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("forte pente, pas de ressaut, Yaval < Yc, Yamont < Yn", () => {
@@ -266,7 +262,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.1, // Yamont = tirant amont
                 0.3, // Yaval = tirant aval
@@ -275,8 +271,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.Trapezes
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -307,7 +302,7 @@ describe('Class Remous / section rectangulaire :', () => {
 
             expLog.add(new Message(MessageCode.ERROR_REMOUS_CALCUL_TORRENTIEL));
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
 
         it("forte pente, pas de ressaut, Yaval < Yc, Yn < Yamont < Yc", () => {
@@ -320,7 +315,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnRectang(undefined, prms);
+            let sect = new cSnRectang(prms);
 
             let prem = new CourbeRemousParams(sect, 0.35, // Yamont = tirant amont
                 0.3, // Yaval = tirant aval
@@ -329,8 +324,7 @@ describe('Class Remous / section rectangulaire :', () => {
                 MethodeResolution.Trapezes
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -361,7 +355,7 @@ describe('Class Remous / section rectangulaire :', () => {
 
             expLog.add(new Message(MessageCode.ERROR_REMOUS_CALCUL_TORRENTIEL));
 
-            compareLog(log, expLog);
+            compareLog(rem.log, expLog);
         });
     });
 });
diff --git a/spec/remous_trapez.spec.ts b/spec/remous_trapez.spec.ts
index 975dc72683e82432bbf8ca24090f45db828a2e8c..68dd03c641362917f0042649078e8c31fb9c7640 100644
--- a/spec/remous_trapez.spec.ts
+++ b/spec/remous_trapez.spec.ts
@@ -18,7 +18,7 @@ describe('Class Remous / section trapèze :', () => {
                 1 // YB= hauteur de berge
             );
 
-            let sect = new cSnTrapez(undefined, prms);
+            let sect = new cSnTrapez(prms);
 
             let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
                 0.4, // Yaval = tirant aval
@@ -27,8 +27,7 @@ describe('Class Remous / section trapèze :', () => {
                 MethodeResolution.Trapezes
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous(undefined);
 
@@ -56,7 +55,7 @@ describe('Class Remous / section trapèze :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnTrapez(undefined, prms);
+            let sect = new cSnTrapez(prms);
 
             let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
                 0.4, // Yaval    = tirant aval
@@ -65,8 +64,7 @@ describe('Class Remous / section trapèze :', () => {
                 MethodeResolution.Trapezes
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous("Hs");
 
@@ -87,7 +85,7 @@ describe('Class Remous / section trapèze :', () => {
                 1 // YB=hauteur de berge
             );
 
-            let sect = new cSnTrapez(undefined, prms);
+            let sect = new cSnTrapez(prms);
 
             let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
                 1, // Yaval    = tirant aval
@@ -96,8 +94,7 @@ describe('Class Remous / section trapèze :', () => {
                 MethodeResolution.Trapezes
             );
 
-            let log = new cLog();
-            let rem = new CourbeRemous(prem, log);
+            let rem = new CourbeRemous(prem);
 
             let res = rem.calculRemous("Hs");
 
diff --git a/spec/section_param_circ_fluvial.spec.ts b/spec/section_param_circ_fluvial.spec.ts
index ba76e792e6c1b263bae46f5e24944f7768fe0197..a03a99faebb2399043f3c163d19583ceeb05da8b 100644
--- a/spec/section_param_circ_fluvial.spec.ts
+++ b/spec/section_param_circ_fluvial.spec.ts
@@ -17,7 +17,7 @@ function createSection(prec: number): cSnCirc {
         1 // YB= hauteur de berge
     );
 
-    return new cSnCirc(undefined, paramSection);
+    return new cSnCirc(paramSection);
 }
 
 function createSectionDebordement(prec: number): cSnCirc {
@@ -30,7 +30,7 @@ function createSectionDebordement(prec: number): cSnCirc {
         1 // YB= hauteur de berge
     );
 
-    return new cSnCirc(undefined, paramSection);
+    return new cSnCirc(paramSection);
 }
 
 function check(val1: number, val2: number) {
diff --git a/spec/section_param_circ_torrentiel.spec.ts b/spec/section_param_circ_torrentiel.spec.ts
index ebb27a9ebf503b9675a2a5e036cb406a71c881c4..3b26bd609934e20fed40af8064bde04951c823dc 100644
--- a/spec/section_param_circ_torrentiel.spec.ts
+++ b/spec/section_param_circ_torrentiel.spec.ts
@@ -17,7 +17,7 @@ function createSection(prec: number): cSnCirc {
         1 // YB= hauteur de berge
     );
 
-    return new cSnCirc(undefined, paramSection);
+    return new cSnCirc(paramSection);
 }
 
 function check(val1: number, val2: number) {
diff --git a/spec/section_param_puiss_fluvial.spec.ts b/spec/section_param_puiss_fluvial.spec.ts
index e4070f596001287d12481d0ffb62685d2f6f45ee..6adea424c71bf903e45eaee91784fa9bb646488c 100644
--- a/spec/section_param_puiss_fluvial.spec.ts
+++ b/spec/section_param_puiss_fluvial.spec.ts
@@ -18,7 +18,7 @@ function createSection(prec: number): cSnPuiss {
         1 // YB= hauteur de berge
     );
 
-    return new cSnPuiss(undefined, paramSection);
+    return new cSnPuiss(paramSection);
 }
 
 function createSectionDebordement(prec: number): cSnPuiss {
@@ -32,7 +32,7 @@ function createSectionDebordement(prec: number): cSnPuiss {
         1 // YB= hauteur de berge
     );
 
-    return new cSnPuiss(undefined, paramSection);
+    return new cSnPuiss(paramSection);
 }
 
 function check(val1: number, val2: number) {
diff --git a/spec/section_param_puiss_torrentiel.spec.ts b/spec/section_param_puiss_torrentiel.spec.ts
index 045271fab5b96d0b03b4cb0e513846a1567eba8c..e412bc1dcc32519a7f8bff06b1679244d6934470 100644
--- a/spec/section_param_puiss_torrentiel.spec.ts
+++ b/spec/section_param_puiss_torrentiel.spec.ts
@@ -18,7 +18,7 @@ function createSection(prec: number): cSnPuiss {
         1 // YB= hauteur de berge
     );
 
-    return new cSnPuiss(undefined, paramSection);
+    return new cSnPuiss(paramSection);
 }
 
 function check(val1: number, val2: number) {
diff --git a/spec/section_param_rect_conv_newton.spec.ts b/spec/section_param_rect_conv_newton.spec.ts
index d0c632e8450e911f4f0c7d6dd2fedf1de3eac244..83d7e90acfe6c7137cd76615c83efd4114bde1b0 100644
--- a/spec/section_param_rect_conv_newton.spec.ts
+++ b/spec/section_param_rect_conv_newton.spec.ts
@@ -3,7 +3,6 @@
 import { Result } from "../src/base";
 import { precDist, equalEpsilon } from "./nubtest";
 import { ParamsSectionRectang, cSnRectang } from "../src/section/section_rectang";
-import { cLog } from "../src/util/log";
 import { MessageCode } from "../src/util/message";
 
 let paramSection: ParamsSectionRectang;
@@ -24,7 +23,7 @@ describe('Section paramétrée rectangulaire : ', () => {
             1 // YB= hauteur de berge
         );
 
-        sect = new cSnRectang(new cLog(), paramSection);
+        sect = new cSnRectang(paramSection);
         sect.newtonMaxIter = 5;
     });
 
diff --git a/spec/section_param_rect_fluvial.spec.ts b/spec/section_param_rect_fluvial.spec.ts
index 38ebd5dd3ff7dd8146b8b9c43e8bede5d25ef933..be5be98ca25add9c50fe16c826a2f7a62c6a2c7b 100644
--- a/spec/section_param_rect_fluvial.spec.ts
+++ b/spec/section_param_rect_fluvial.spec.ts
@@ -17,7 +17,7 @@ function createSection(prec: number): cSnRectang {
         1 // YB= hauteur de berge
     );
 
-    return new cSnRectang(undefined, paramSection);
+    return new cSnRectang(paramSection);
 }
 
 function createSectionDebordement(prec: number): cSnRectang {
@@ -30,7 +30,7 @@ function createSectionDebordement(prec: number): cSnRectang {
         1 // YB= hauteur de berge
     );
 
-    return new cSnRectang(undefined, paramSection);
+    return new cSnRectang(paramSection);
 }
 
 function check(val1: number, val2: number) {
diff --git a/spec/section_param_rect_torrentiel.spec.ts b/spec/section_param_rect_torrentiel.spec.ts
index ddf25e29b7e248bbcb26dbc828add475812fdc24..456ea6207dc9df2d306ecfd3ab66356494d0b3de 100644
--- a/spec/section_param_rect_torrentiel.spec.ts
+++ b/spec/section_param_rect_torrentiel.spec.ts
@@ -22,7 +22,7 @@ describe('Section paramétrée rectangulaire : ', () => {
             1 // YB= hauteur de berge
         );
 
-        sect = new cSnRectang(undefined, paramSection);
+        sect = new cSnRectang(paramSection);
     });
 
     describe('torrentiel :', () => {
diff --git a/spec/section_param_trapez_fluvial.spec.ts b/spec/section_param_trapez_fluvial.spec.ts
index 13a1f1f5f69709df6b31f49739ae08519327f7cf..7443a4d372ed36b7d041cc8e82900695c85a621f 100644
--- a/spec/section_param_trapez_fluvial.spec.ts
+++ b/spec/section_param_trapez_fluvial.spec.ts
@@ -18,7 +18,7 @@ function createSection(prec: number): cSnTrapez {
         1 // YB= hauteur de berge
     );
 
-    return new cSnTrapez(undefined, paramSection);
+    return new cSnTrapez(paramSection);
 }
 
 function createSectionDebordement(prec: number): cSnTrapez {
@@ -32,7 +32,7 @@ function createSectionDebordement(prec: number): cSnTrapez {
         1 // YB= hauteur de berge
     );
 
-    return new cSnTrapez(undefined, paramSection);
+    return new cSnTrapez(paramSection);
 }
 
 function check(val1: number, val2: number) {
diff --git a/spec/section_param_trapez_torrentiel.spec.ts b/spec/section_param_trapez_torrentiel.spec.ts
index 13730e0b2945a85cdd2589e2bea633a4033a425f..7526c24db9037e7b157d2f0ef243d72b9177e488 100644
--- a/spec/section_param_trapez_torrentiel.spec.ts
+++ b/spec/section_param_trapez_torrentiel.spec.ts
@@ -23,7 +23,7 @@ describe('Section paramétrée trapèze :', () => {
             1 // YB= hauteur de berge
         );
 
-        sect = new cSnTrapez(undefined, paramCnl);
+        sect = new cSnTrapez(paramCnl);
     });
 
     describe('torrentiel :', () => {
diff --git a/src/parameters.ts b/src/parameters.ts
index 7406cd4f039c81f99f96d5fd0d7f4349e5216cb4..6ac00df8d2d92e77a4bba31d5ff2c13bf7ad0499 100644
--- a/src/parameters.ts
+++ b/src/parameters.ts
@@ -40,7 +40,7 @@ export class ComputeNodeParameters {
                 {
                     let cn = new ParamsSectionTrapez(undefined, undefined, undefined, undefined,
                         undefined, undefined, undefined, undefined, undefined, undefined);
-                    let n = new cSnTrapez(undefined, cn); // pour initialiser la calculabilité des paramètres
+                    let n = new cSnTrapez(cn); // pour initialiser la calculabilité des paramètres
                     return cn;
                 }
 
@@ -48,7 +48,7 @@ export class ComputeNodeParameters {
                 {
                     let cn = new ParamsSectionRectang(undefined, undefined, undefined, undefined,
                         undefined, undefined, undefined, undefined);
-                    let n = new cSnRectang(undefined, cn); // pour initialiser la calculabilité des paramètres
+                    let n = new cSnRectang(cn); // pour initialiser la calculabilité des paramètres
                     return cn;
                 }
 
@@ -56,7 +56,7 @@ export class ComputeNodeParameters {
                 {
                     let cn = new ParamsSectionCirc(undefined, undefined, undefined, undefined,
                         undefined, undefined, undefined, undefined, undefined);
-                    let n = new cSnCirc(undefined, cn); // pour initialiser la calculabilité des paramètres
+                    let n = new cSnCirc(cn); // pour initialiser la calculabilité des paramètres
                     return cn;
                 }
 
@@ -64,7 +64,7 @@ export class ComputeNodeParameters {
                 {
                     let cn = new ParamsSectionPuiss(undefined, undefined, undefined, undefined,
                         undefined, undefined, undefined, undefined, undefined, undefined);
-                    let n = new cSnPuiss(undefined, cn); // pour initialiser la calculabilité des paramètres
+                    let n = new cSnPuiss(cn); // pour initialiser la calculabilité des paramètres
                     return cn;
                 }
 
@@ -74,7 +74,7 @@ export class ComputeNodeParameters {
                         undefined, undefined, undefined, undefined, undefined,
                         ComputeNodeType.RegimeUniformeTrapeze,
                         ComputeNodeType.RegimeUniforme);
-                    let n = new cSnTrapez(undefined, cn);
+                    let n = new cSnTrapez(cn);
                     let ru = new RegimeUniforme(n); // pour initialiser la calculabilité des paramètres
                     return cn;
                 }
@@ -84,7 +84,7 @@ export class ComputeNodeParameters {
                     let cn = new ParamsSectionRectang(undefined, undefined, undefined,
                         undefined, undefined, undefined, undefined,
                         ComputeNodeType.RegimeUniforme);
-                    let n = new cSnRectang(undefined, cn);
+                    let n = new cSnRectang(cn);
                     let ru = new RegimeUniforme(n); // pour initialiser la calculabilité des paramètres
                     return cn;
                 }
@@ -95,7 +95,7 @@ export class ComputeNodeParameters {
                         undefined, undefined, undefined, undefined,
                         ComputeNodeType.RegimeUniformeCercle,
                         ComputeNodeType.RegimeUniforme);
-                    let n = new cSnCirc(undefined, cn);
+                    let n = new cSnCirc(cn);
                     let ru = new RegimeUniforme(n); // pour initialiser la calculabilité des paramètres
                     return cn;
                 }
@@ -106,7 +106,7 @@ export class ComputeNodeParameters {
                         undefined, undefined, undefined, undefined, undefined,
                         ComputeNodeType.RegimeUniformePuissance,
                         ComputeNodeType.RegimeUniforme);
-                    let n = new cSnPuiss(undefined, cn);
+                    let n = new cSnPuiss(cn);
                     let ru = new RegimeUniforme(n); // pour initialiser la calculabilité des paramètres
                     return cn;
                 }
@@ -117,9 +117,9 @@ export class ComputeNodeParameters {
                         0.001, 1,
                         ComputeNodeType.CourbeRemousCercle,
                         ComputeNodeType.CourbeRemous);
-                    let n = new cSnCirc(undefined, cn);
+                    let n = new cSnCirc(cn);
                     let crp = new CourbeRemousParams(n, undefined, undefined, undefined, undefined, undefined);
-                    let ru = new CourbeRemous(crp, undefined); // pour initialiser la calculabilité des paramètres
+                    let ru = new CourbeRemous(crp); // pour initialiser la calculabilité des paramètres
                     return crp
                 }
 
@@ -129,9 +129,9 @@ export class ComputeNodeParameters {
                         undefined, 0.001, 1,
                         ComputeNodeType.CourbeRemousPuissance,
                         ComputeNodeType.CourbeRemous);
-                    let n = new cSnPuiss(undefined, cn);
+                    let n = new cSnPuiss(cn);
                     let crp = new CourbeRemousParams(n, undefined, undefined, undefined, undefined, undefined);
-                    let ru = new CourbeRemous(crp, undefined); // pour initialiser la calculabilité des paramètres
+                    let ru = new CourbeRemous(crp); // pour initialiser la calculabilité des paramètres
                     return crp;
                 }
 
@@ -140,9 +140,9 @@ export class ComputeNodeParameters {
                     let cn = new ParamsSectionRectang(undefined, 1, undefined, 1, undefined,
                         0.001, 1,
                         ComputeNodeType.CourbeRemous);
-                    let n = new cSnRectang(undefined, cn);
+                    let n = new cSnRectang(cn);
                     let crp = new CourbeRemousParams(n, undefined, undefined, undefined, undefined, undefined);
-                    let ru = new CourbeRemous(crp, undefined); // pour initialiser la calculabilité des paramètres
+                    let ru = new CourbeRemous(crp); // pour initialiser la calculabilité des paramètres
                     return crp;
                 }
 
@@ -152,9 +152,9 @@ export class ComputeNodeParameters {
                         undefined, 0.001, 1,
                         ComputeNodeType.CourbeRemousTrapeze,
                         ComputeNodeType.CourbeRemous);
-                    let n = new cSnTrapez(undefined, cn);
+                    let n = new cSnTrapez(cn);
                     let crp = new CourbeRemousParams(n, undefined, undefined, undefined, undefined, undefined);
-                    let ru = new CourbeRemous(crp, undefined); // pour initialiser la calculabilité des paramètres
+                    let ru = new CourbeRemous(crp); // pour initialiser la calculabilité des paramètres
                     return crp;
                 }
 
diff --git a/src/remous.ts b/src/remous.ts
index 4eff52f5e6ea276da02dc67f04520feb2ebdd9c8..d0f7f081a14c83b08dffc42829cfbb9af41e2273 100644
--- a/src/remous.ts
+++ b/src/remous.ts
@@ -114,13 +114,17 @@ export class CourbeRemous extends Nub {
 	 */
 	private Dx: number;
 
-	constructor(crp: CourbeRemousParams, log: cLog) {
+	constructor(crp: CourbeRemousParams) {
 		super(crp, CourbeRemous.DBG);
-		this._log = log;
+		this._log = crp.Sn.log;
 		this.prmSect = crp.Sn.prms;
 		this.Sn.Calc("Yc");
 	}
 
+	public get log() {
+		return this._log;
+	}
+
 	private get Sn(): acSection {
 		return this.prms.Sn;
 	}
diff --git a/src/section/section_circulaire.ts b/src/section/section_circulaire.ts
index 585cbf5ec57e388778a2fef952b9badc7f122421..a9814d6d64abd5ad3a15f3dad804523791786223 100644
--- a/src/section/section_circulaire.ts
+++ b/src/section/section_circulaire.ts
@@ -30,8 +30,8 @@ export class ParamsSectionCirc extends ParamsSection {
 export class cSnCirc extends acSection {
         protected nbDessinPoints = 50;
 
-        constructor(oLog: cLog, prms: ParamsSectionCirc, dbg: boolean = false) {
-                super(oLog, prms, dbg);
+        constructor(prms: ParamsSectionCirc, dbg: boolean = false) {
+                super(prms, dbg);
                 // commenté car si D est la variable à déterminer, il peut valoir n'importe quoi... if (prms.YB.v > D) { prms.YB.v = D; } // On place la berge au sommet du cercle 
 
                 // if (this.prms.D.isDefined() && this.prms.YB.isDefined())
diff --git a/src/section/section_puissance.ts b/src/section/section_puissance.ts
index 9d734043444a5cc507509f1d5c6b2bb7218f8b7b..8105e14f5fe185e205e0ad743d768e62a6ce4e2c 100644
--- a/src/section/section_puissance.ts
+++ b/src/section/section_puissance.ts
@@ -1,6 +1,5 @@
 import { ComputeNodeType, ParamDefinition, ParamDomain, ParamDomainValue, ParamCalculability } from "../param";
 import { acSection, ParamsSection } from "./section_type";
-import { cLog } from "../util/log";
 
 /**
  * Paramètres de la section parabolique ou "puissance"
@@ -31,8 +30,8 @@ export class ParamsSectionPuiss extends ParamsSection {
 export class cSnPuiss extends acSection {
         protected nbDessinPoints = 50;
 
-        constructor(oLog: cLog, prms: ParamsSectionPuiss, dbg: boolean = false) {
-                super(oLog, prms, dbg);
+        constructor(prms: ParamsSectionPuiss, dbg: boolean = false) {
+                super(prms, dbg);
         }
 
         protected setParametersCalculability() {
diff --git a/src/section/section_rectang.ts b/src/section/section_rectang.ts
index 94e8194c45a6f48ccb07de6b4a0f1c8d513a2c8d..67299a61ad8b4aa6d34a3e7a5212fe3e488a99a0 100644
--- a/src/section/section_rectang.ts
+++ b/src/section/section_rectang.ts
@@ -15,8 +15,8 @@ export class ParamsSectionRectang extends ParamsSection {
  * Calculs de la section rectangulaire
  */
 export class cSnRectang extends acSection {
-        constructor(oLog: cLog, prms: ParamsSectionRectang, dbg: boolean = false) {
-                super(oLog, prms, dbg);
+        constructor(prms: ParamsSectionRectang, dbg: boolean = false) {
+                super(prms, dbg);
         }
 
         get prms(): ParamsSectionRectang {
diff --git a/src/section/section_trapez.ts b/src/section/section_trapez.ts
index cbe149dcdb42dfd8d855639cd801223580d671d3..4bf29e2ad2a460edbb987d954fefa481fa9f6da7 100644
--- a/src/section/section_trapez.ts
+++ b/src/section/section_trapez.ts
@@ -38,8 +38,8 @@ export class ParamsSectionTrapez extends ParamsSection {
  * Calculs de la section trapézoïdale
  */
 export class cSnTrapez extends acSection {
-        constructor(oLog: cLog, prms: ParamsSectionTrapez, dbg: boolean = false) {
-                super(oLog, prms, dbg);
+        constructor(prms: ParamsSectionTrapez, dbg: boolean = false) {
+                super(prms, dbg);
         }
 
         protected setParametersCalculability() {
diff --git a/src/section/section_type.ts b/src/section/section_type.ts
index 4cdf97dadd86088a819a768e2322596c96563052..5a6a944f57db7700d756031c07652654db30298b 100644
--- a/src/section/section_type.ts
+++ b/src/section/section_type.ts
@@ -158,9 +158,9 @@ export abstract class acSection extends ComputeNode {
          * Construction de la classe.
          * Calcul des hauteurs normale et critique
          */
-        constructor(oLog: cLog, prms: ParamsSection, dbg: boolean = false) {
+        constructor(prms: ParamsSection, dbg: boolean = false) {
                 super(prms, dbg);
-                this.oLog = oLog;
+                this.oLog = new cLog();
 
                 // this._v = oP.v;  // copie la référence au tableau
                 // this.prms.Y.v = 0;