Aller au contenu principal

Imbrication et pipeline

Imbrication et sécurité

Les composants peuvent utiliser use d'autres composants. Le compositeur se résout récursivement jusqu'à 8 niveaux de profondeur, intégrant les données délimitées à chaque niveau.

  • Isolation des locataires — un use ne se résout que dans le même locataire.
  • Détection de cycles — le compositeur suit les poignées visitées et rejette les cycles (A → B → A).
  • Vérification des collisions — les noms metadata.name dupliqués dans la bibliothèque de composants échouent au chargement, jamais silencieusement au rendu.

Pipeline de composition

1. Charger le document
2. TemplateComposer résout chaque use (récursif, limité en profondeur) — fusionne la configuration,
intègre les données par utilisation, estampille les styles de section, assemble le contenu
3. TemplateDataResolver résout les jetons $data / $item restants avec les données de l'appelant
4. Les variables globales ($global.PAGE, …) et le moteur de rendu produisent le PDF / DOCX final

La composition s'exécute avant la passe de données globales, les composants peuvent donc porter des références $data qui se résolvent avec les données de l'appelant.