diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index 390718dcd6c94fe67c1efa92400c9b13a1958617..f996ae7dee6b78659c54bc1659d049be594e2f84 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -51,6 +51,16 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         this._paramService = ServiceFactory.instance.paramService;
     }
 
+    // surcharge de FormulaireNode::get:uid()
+    // l'UID d'un formulaire est l'UID de son Nub !
+    public get uid() {
+        if (this._currentNub) {
+            return this._currentNub.uid;
+        } else {
+            throw new Error("Aucun Nub associé au formulaire !");
+        }
+    }
+
     public get calculatorType(): CalculatorType {
         const props = this._currentNub === undefined ? this.defaultProperties : (this._currentNub.properties as Props).props;
         return props["calcType"];
@@ -81,8 +91,8 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         return this._props;
     }
 
-    public initNub(props?: {}) {
-        this._currentNub = this.createNub(props === undefined ? this.defaultProperties : props);
+    public initNub(props?: Props) {
+        this._currentNub = this.createNub(props === undefined ? new Props(this.defaultProperties) : props);
     }
 
     public get currentNub(): Nub {
@@ -99,9 +109,9 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         this._currentNub = n;
     }
 
-    protected createNub(params: Props | {}): Nub {
-        const props = params instanceof Props ? params : new Props(params);
-        return this._paramService.createNub(props);
+    protected createNub(p: Props): Nub {
+        console.log("FormDefinition - createNub", p);
+        return this._paramService.createNub(p);
     }
 
     protected replaceCurrentNub(params: Props) {
@@ -164,6 +174,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
     private parse_fieldset(json: {}) {
         const fs = this.createFieldset(this, json);
         fs.parseConfig(json);
+        console.log(".FormDefinition: parse_fieldset " + fs.id + " >> afterParseFieldset");
         this.afterParseFieldset(fs);
     }
 
@@ -454,19 +465,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         return new TopFormulaireElementIterator(this);
     }
 
-    /**
-     * sérialisation en JSON
-     */
-    public JSONserialise(): {} {
-        const res = {};
-        res["id"] = this.calculatorName;
-        res["uid"] = this.uid;
-        res["props"] = (this._currentNub.properties as Props).props;
-        res["elements"] = this.serialiseKids();
-        return { "form": res };
-    }
-
-    private deserialiseFieldset(elements: {}): FieldSet {
+   /*  private deserialiseFieldset(elements: {}): FieldSet {
         const res: FieldSet = this.getFormulaireNodeById(elements["id"]) as FieldSet;
         res.deserialiseJSON(elements);
         return res;
@@ -498,9 +497,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         }
     }
 
-    /**
-     * désérialisation depuis JSON
-     */
     public deserialiseJSON(elements: {}) {
         // tslint:disable-next-line:forin
         for (const k in elements) {
@@ -523,7 +519,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
                     throw new Error(`session file : invalid key '${k}' in form object`);
             }
         }
-    }
+    } */
 
     /**
      * MAJ des liens entre paramètres lors de la désérialisation JSON
@@ -548,6 +544,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
       * @param uidMap table de correspondance uid dans le fichier de conf <-> uid en mémoire
       */
     public updateParamsLinks(json: {}, uidMap: {}[]) {
+        console.log("++ UPDATE PARAMS LINKS (form definition) ++");
         for (const ks in json) {
             switch (ks) {
                 case "elements":