diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 66d453fb42d309cd14bc7454f57f59511d4ccc06..6e6a75c4739532899f3e9701f611bf08f3eb536b 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -221,8 +221,11 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
   private doSaveForm(calcList: any[]) {
     console.log("---");
     for (const c of calcList)
-      if (c.selected)
+      if (c.selected) {
         console.log(c.title);
+        const form: FormulaireDefinition = this.formulaireService.getFormulaireFromId(c.uid);
+        console.log(JSON.stringify(form.JSONserialise()));
+      }
   }
 
   private closeCalculator(form: FormulaireDefinition) {
diff --git a/src/app/formulaire/formulaire-node.ts b/src/app/formulaire/formulaire-node.ts
index 814d47c88f0734d4a1940a527ba12d81ece7b1f7..8493c7255f2e46692a6e08fa98319079ebeb4100 100644
--- a/src/app/formulaire/formulaire-node.ts
+++ b/src/app/formulaire/formulaire-node.ts
@@ -143,4 +143,18 @@ export abstract class FormulaireNode implements IObservable {
     notifyObservers(data: any, sender?: any) {
         this._observable.notifyObservers(data, sender);
     }
+
+    protected toJSON(): any {
+        return {};
+    }
+
+    /**
+     * sérialisation en JSON
+     */
+    public JSONserialise(): any {
+        let res = this.toJSON();
+        for (const k of this._kids)
+            res[k.id] = k.JSONserialise();
+        return res;
+    }
 }