man:man_tpl

Utilisation de modèles

L'utilisation de modèles permet de standardiser l'aspect de pages répétitives (risques, scénarios, mesures, événements, actions, etc) et de factoriser des requêtes ou des blocs de texte pour éviter de devoir modifier chacune de ces pages répétitives lorsqu'une requête évolue.

Deux mécanismes sont utilisés:

  • Des modèles chargés lors de la création de la page, qui est ensuite modifiable et ne garde pas de lien au modèle: extensions AddNewPage et NewPageTemplate
  • Des modèles évalués dynamiquement à chaque fois que la page est rechargée: extensions Templatery et StrataTemplatery

Les modèles se trouvent dans la catégorie scrapbook.

Ils sont invoqués depuis la page où sont listées toutes les pages répétitives d'un type donné, au travers d'une requête telle que: {{NEWPAGE>smsi:#scrapbook:risque}}

Cette requête aura pour effet de créer un champ de saisie tel que:

Vous n'avez pas les droits pour ajouter une page

Une fois le nom de la page saisi, la page est créée et ouverte avec le contenu du modèle.

Il est fréquent qu'un modèle contienne une zone de définition de données Strata. Pour éviter que le modèle lui-même ne soit inclus dans les requêtes portant sur les pages, il contient en première ligne une directive ~~NODATA~~ qui empêche la prise en compte de ses données. Cette ligne doit être supprimée de l'instance nouvellement créée.

Les modèles se trouvent dans la catégorie template.

Trois mécanismes sont utilisés:

  • L'insertion simple du contenu du modèle
  • La création de modèles portant le nom d'un type de page, comme doc. En ce cas, lorsqu'un bloc de données pour ce type est rencontré, il est présenté conformément au modèle.
  • La définition de modèles utilisés explicitement dans la présentation des résultats d'une requête Strata.

Lors de la création d'un nouveau risque depuis smsi:liste des risques, la page est prépeuplée avec le modèle scrapbook:risque.

Elle commence par une requête {{template>risk_tpl#header}}, ce qui inclut le contenu du modèle header dans la page template:risk_tpl

~~NODATA~~
<template header>
<data doc>
TypeDoc: STRUCT
Processus: RISK
</data>
<view ?grav ?vc ?cr ?t>
template {
 risk_tpl#header1
}
[[]] Gravité: ?grav
[[]] Vc: ?vc
[[]] ClasseRisque: ?cr
[[]] Traitement: ?t
</view>
</template>

Ce modèle mobilise lui-même les deux autres mécanismes.

Comme il existe un modèle associé au type doc, le bloc:

<data doc>
TypeDoc: STRUCT
Processus: RISK
</data>

est soumis au modèle template:doc

<template>
//Ce document de type @@TypeDoc[enum:::param:doc#DocType]@@  s'applique au processus @@Processus[enum:::param:doc#Proc]@@//
</template>

et présenté comme:

Ce document de type Procédure s'applique au processus Fonctionnement SMSI\

Par ailleurs, la requête qui récupère les caractéristiques principales du risque (gravité, vraisemblance, classe de risque et décision de traitement) utilise la directive view qui référence un modèle explicite, situé dans la même page risk_tpl.

<view ?grav ?vc ?cr ?t>
template {
 risk_tpl#header1
}
[[]] Gravité: ?grav
[[]] Vc: ?vc
[[]] ClasseRisque: ?cr
[[]] Traitement: ?t
</view>

Ce modèle explicite header1 met en forme les résultats dans un tableau.

<template header1>
| Gravité       | @@grav[enum:::param:risk#Gravité]@@       |
| Vraisemblance | @@vc[enum:::param:risk#Vraisemblance]@@   |
| Classe        | @@cr@@                                    |
| Traitement    | @@t[enum:::param:risk#Trisk]@@            |
</template>

Donnant un résultat tel que:

Gravité Critique
Vraisemblance Probable
Classe Prioritaire
Traitement Réduire
  • man/man_tpl.txt
  • Dernière modification : 2026/10/21 13:54
  • de cardynal