---
title: "Templates de widgets — Documentation Fonctionnelle"
module: widget
type: functional
status: active
updated: 2026-08-11
---

# Templates de widgets

> Configurations types de widgets, nommées et réutilisables, applicables sur un client depuis le Widget Manager.

---

## À quoi ça sert

Jusqu'ici, initialiser les widgets d'un client ne proposait qu'un seul point de départ : « Importer
les widgets par défaut », c'est-à-dire une configuration unique et générique qui ne correspond au
profil d'aucun client en particulier.

Les **templates** permettent de préparer à l'avance plusieurs configurations types nommées
(« Presta », « Portail Catho », « Portail Startup »…), puis de les appliquer en deux clics sur
autant de clients que souhaité.

---

## Règles d'accès

- Réservé aux **administrateurs ISI-App de profil 1** (entité ISI). Un utilisateur `isidsi` d'un
  autre profil accède toujours au Widget Manager mais **ne voit pas** l'onglet *Gestion templates*,
  et reçoit une erreur 403 s'il tente d'ouvrir l'URL directement.
- Le pilotage se fait depuis le Widget Manager (`/widgets-panel`), onglet **Gestion templates**.
  Seule l'action *Importer un template* vit dans l'onglet *Affichage clients* : c'est la seule qui
  dépende du client sélectionné.

---

## Comment ça marche

### Créer un template

La création se fait en **deux temps**.

**Étape 1 — Identité.** Depuis l'onglet **« Gestion templates »**, cliquer sur
**« Créer un template »**. Renseigner :

- le **nom** (obligatoire, unique parmi les templates existants — le nom d'un template supprimé
  redevient disponible) ;
- l'**icône** (facultative) — choisie dans la bibliothèque d'icônes de l'application, elle sert de
  repère visuel dans la liste des templates ;
- la **description** (facultative, 500 caractères max) — à quel profil de client ce template
  s'adresse, ce qu'il contient. Elle est reprise dans la liste des templates et rappelée au moment
  de l'appliquer sur un client, pour confirmer qu'on choisit le bon.

Valider avec **« Continuer vers les widgets »**. *Annuler* revient à la liste sans rien créer.

**Étape 2 — Composition.** Le formulaire d'identité **laisse la place** au contenu : ajouter les
widgets un à un, exactement comme sur la configuration d'un client (choix du widget, titre, largeur,
hauteur, options spécifiques…). Les widgets se réordonnent par **glisser-déposer** ; chacun peut être
modifié, masqué si vide ou retiré.

Le nom et la description restent rappelés en haut de page et se corrigent via le bouton
*Modifier* de ce rappel.

Un template ne porte que les widgets du **tableau de bord d'accueil** (`/home`), la seule page gérée
par le Widget Manager.

### Gérer les templates existants

L'onglet **« Gestion templates »** liste tous les templates dans un tableau à quatre colonnes —
**Nom** (précédé de son icône), **Description**, **Widgets** (nombre) et **Créé le** — offrant les mêmes outils que le catalogue de
widgets : **recherche** (sur le nom comme sur la description), **tri** sur chacune des trois
colonnes, **pagination** et **filtres enregistrables**. Une description trop longue est tronquée, son
texte complet s'affiche au survol.

Deux filtres sont disponibles :

- **Contenu** — isoler les templates encore vides, ou au contraire ceux qui sont alimentés ;
- **Créé entre** — restreindre à une plage de dates de création (bornes incluses).

Depuis chaque ligne, on peut :

- **Modifier** son contenu — bouton principal, qui ouvre la page dédiée ;
- **Voir un aperçu** de sa composition (menu ⋮) ;
- **Renommer** le template directement dans la ligne (menu ⋮) ;
- **Supprimer** le template (menu ⋮), après une demande de confirmation.

> ⚠️ **La suppression est définitive.** Le template et sa composition disparaissent réellement de
> la base — il n'y a pas de corbeille et rien à restaurer. En revanche, les clients sur lesquels le
> template a déjà été appliqué ne sont pas affectés : ils ont reçu une copie.
>
> Le nom redevient immédiatement réutilisable pour un nouveau template.

### Un client sans le module ne verra pas le widget

Certains widgets dépendent d'un **module** auquel le client doit être abonné : Projets, Tickets,
Contrats, Interventions, Parc informatique. Si le module est absent, le widget est **copié mais ne
s'affiche pas** sur le tableau de bord du client — sans carte vide ni message, les widgets suivants
prennent simplement sa place.

Ce n'est pas une perte : la configuration reste enregistrée, et le widget apparaîtra **tout seul** le
jour où le module sera activé. Rien à réappliquer.

Pour éviter la mauvaise surprise, la modale d'application **prévient avant de valider** : un
avertissement liste les widgets concernés et le module qui manque. Il n'apparaît que s'il y a
effectivement quelque chose à signaler.

> À savoir : un widget peut aussi être masqué pour **certains profils** d'utilisateurs
> (le tableau de bord Projets, par exemple). Cela ne dépend pas du client mais de chaque utilisateur,
> l'avertissement ne peut donc pas l'anticiper.

### Les droits de visibilité ne sont pas transférés

Les restrictions **Super Limite** (visibilité d'un widget réservée à certains groupes ou entités)
ne sont **pas** recopiées lors de l'application. Elles désignent des groupes propres à chaque
client : les transposer depuis un template n'aurait aucun sens et injecterait des identifiants
étrangers. Si le client a besoin de restrictions, elles doivent être redéfinies après application.

### Le sens est unique

Un template écrase un client, **jamais l'inverse**. Il n'existe aucun moyen de « remonter » la
configuration d'un client dans un template : pour faire évoluer un template, on l'édite depuis sa
page dédiée.

### Un template n'est pas un lien vivant

Appliquer un template réalise une **copie** à l'instant T. Modifier le template ensuite n'a aucun
effet sur les clients où il a déjà été appliqué — il faut le réappliquer. De même, supprimer un
template n'affecte pas les clients qui en ont hérité.

### L'ancien import reste disponible

Le bouton « Importer les widgets par défaut » n'a pas disparu : il continue de copier la
configuration `_id=99` historique, indépendamment des templates.

---

## Voir aussi

- Gestionnaire de widgets : `docs/widget/widget-manager.md`
- Catalogue des widgets disponibles : `docs/widget/widget-catalog.md`
- Documentation technique : `.claude/technical-docs/widget/widget-templates.md`
