diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index dd679776531c4cf0cd40287f96d078e460df5b95..e37c8cd0c14ab41f8f2f21b6291475c67fba2bb1 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -24,6 +24,7 @@ import { TopFormulaireElementIterator } from "../form-iterator/top-element-itera
 import { CalculatorResults } from "../../results/calculator-results";
 import { ServiceFactory } from "../../services/service-factory";
 import { PabTable } from "../elements/pab-table";
+import { PbSchema } from '../elements/pb-schema';
 
 /**
  * classe de base pour tous les formulaires
@@ -222,6 +223,13 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         this.kids.push(tab);
     }
 
+    private parse_pb_schema(json: {}) {
+        const sch: PbSchema = new PbSchema(this);
+        sch.parseConfig(json);
+        this.kids.push(sch);
+    }
+
+
     /**
      * 1ère passe d'analyse de la configuration
      */
@@ -279,6 +287,10 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
                     this.parse_pab_table(conf);
                     break;
 
+                case "pb_schema": // not generic at all
+                    this.parse_pb_schema(conf);
+                    break;
+
                 default:
                     throw new Error(`type d'objet de module de calcul ${type} non pris en charge`);
             }