---
title: "Placeholders (variables dynamiques de l'éditeur riche)"
module: wiki
type: functional
status: active
updated: 2026-07-20
---

# Placeholders (variables dynamiques de l'éditeur riche)

> Insérer des variables `{{…}}` dans un contenu rédigé à l'éditeur riche, remplacées
> automatiquement par la donnée réelle au moment de l'affichage.

## Description

Dans l'éditeur riche (onglet **Insertion → Variables**, bouton `{{}}`), l'utilisateur peut
insérer un **placeholder** : un jeton qui pointe vers une donnée de l'application (nom d'une
entité, email d'un utilisateur, matériel, application, adresse, question du référentiel…).

Le jeton est **stocké tel quel** dans le contenu. À chaque **affichage**, il est remplacé par la
**valeur courante** de la donnée. Exemple : `{{ENTITY:42[lbname]}}` s'affiche « Clinique du Parc »,
et suit automatiquement un éventuel renommage de l'entité.

## Familles disponibles

| Famille | Contenu | Exemple de syntaxe |
|---------|---------|--------------------|
| `ENTITY` | Entités / clients | `{{ENTITY:42[lbname]}}` |
| `USER` | Utilisateurs | `{{USER:12[email]}}` |
| `ADDR` | Adresses | `{{ADDR:42[txaddr]}}` |
| `APP` | Applications (DSI) | `{{APP:42[lbapp]}}` |
| `HW` | Matériels (DSI) | `{{HW:42[lbhw]}}` |
| `CORE` | Référentiel / questions | `{{CORE:23[current]}}` |

Chaque famille expose une liste de champs (nom, email, téléphone…). La modale d'insertion guide
le choix : **famille → champ → enregistrement**.

## Où les placeholders sont résolus

La résolution est **live** (à l'affichage, jamais figée) et active partout où un contenu de
l'éditeur riche est présenté à un lecteur : fiche d'un schéma, actualités et événements du portail,
wikis et livrets, réponses de tickets, messagerie, suivis CRM, widgets de texte du portail…

Un contenu **sans** placeholder n'est jamais modifié.

## Contenu propre vs contenu partagé

- **Contenu propre** (rédigé et lu dans la même structure) : les placeholders sont résolus sur les
  données de la structure du lecteur.
- **Contenu partagé** (un schéma / wiki / actualité partagé à un partenaire) : les placeholders sont
  résolus sur les données de la structure **auteur**. Un partenaire voit donc la valeur voulue par
  l'auteur, sans risque d'afficher par erreur une donnée d'une autre structure.

## Valeur introuvable

Si un placeholder pointe vers une donnée supprimée, inaccessible ou d'une autre structure, il est
remplacé à l'affichage par **`[Donnée non résolue]`** (jamais le jeton brut).

## Limites connues

La résolution n'est pas encore branchée sur :

- les écrans rendus par le moteur de formulaire **legacy** (`/mod` via hooks) ;
- les **colonnes de tableaux** rendues côté navigateur (DataTables) ;
- l'**export Word / PDF** interne de l'éditeur ;
- les **emails**.

Dans ces contextes, un placeholder reste affiché sous sa forme brute.

## Documentation technique

Voir `.claude/technical-docs/wiki/placeholders.md` (architecture du moteur, primitif d'affichage,
resolvers, points de branchement).
