diff --git a/src/base.ts b/src/base.ts
index 95f88b73cec1aa1c9a65082e35b2e22592df4ff9..7ab2bd593ae09221a212033076f395370f355f3a 100644
--- a/src/base.ts
+++ b/src/base.ts
@@ -1,10 +1,17 @@
 /**
  * Gestion des messages de debogage dans la console
- * @note Etendre cette classe pour toutes les classes à debugguer
+ * @note Implémenter cette interface pour toutes les classes à debugguer
  * Dans le constructeur, utiliser super(true) pour debugger la classe, super(false) sinon.
  */
+
+export interface IDebug {
+    debug(s: any): void;
+
+    readonly DBG: boolean;
+}
+
 // tslint:disable-next-line:max-classes-per-file
-export abstract class Debug {
+export class Debug {
     /**
      * @param _DBG Flag de débuggage
      */
diff --git a/src/compute-node.ts b/src/compute-node.ts
index 212b28943f4cf0d7debccbdd5658ce3d1b6a6e05..0eb7661c7bbeb5f3001e9094bb6acf56f3068fda 100644
--- a/src/compute-node.ts
+++ b/src/compute-node.ts
@@ -1,7 +1,8 @@
-import { Debug } from "./base";
+import { Debug, IDebug } from "./base";
 import { ParamsEquation, IParamDefinitionIterator } from "./param/params-equation";
 import { ParamDefinition } from "./param/param-definition";
 import { ParamValueMode } from "./param/param-values";
+import { JalhydObject } from "./jalhyd_object";
 
 /**
  * type de calculette
@@ -31,11 +32,14 @@ export enum ComputeNodeType {
  * noeud de calcul
  */
 // tslint:disable-next-line:max-classes-per-file
-export abstract class ComputeNode extends Debug {
+export abstract class ComputeNode extends JalhydObject implements IDebug {
     protected _prms: ParamsEquation;
 
+    private _debug: Debug;
+
     constructor(prms: ParamsEquation, dbg: boolean = false) {
-        super(dbg);
+        super();
+        this._debug = new Debug(dbg);
         this._prms = prms;
         if (!this._prms.calculabilityDefined) {
             this._prms.resetParametersCalculability();
@@ -67,4 +71,14 @@ export abstract class ComputeNode extends Debug {
     }
 
     protected abstract setParametersCalculability(): void;
+
+    // interface IDebug
+
+    debug(s: any) {
+        this._debug.debug(s);
+    }
+
+    public get DBG(): boolean {
+        return this._debug.DBG;
+    }
 }
diff --git a/src/session_nub.ts b/src/session_nub.ts
index 55dd6d18bc38c27adc4a496186694fcca3eda9a9..faf6c1226d92132ca8e86dece9df74e0b3860e01 100644
--- a/src/session_nub.ts
+++ b/src/session_nub.ts
@@ -60,6 +60,14 @@ export class SessionNub {
         return this._nub;
     }
 
+    public get uid(): number {
+        return this._nub.uid;
+    }
+
+    public get properties() {
+        return this._props;
+    }
+
     public hasProperties(p: Props | {}): boolean {
         return this._props.hasProperties(p);
     }