Drag

Statamic : utilisateurs, rôles et permissions (guide pratique)

Statamic : utilisateurs, rôles et permissions (partie 8)

Écrit par : Thibault Chazottes

Utilisateurs, rôles et permissions : pourquoi c’est indispensable

Comme sur toute application web, on commence souvent avec un seul compte admin : accès total au Control Panel, à toutes les pages, à toute la configuration.

Ça suffit en développement. En production, plusieurs cas se présentent :

  • votre client a peur de « tout casser » s’il clique au mauvais endroit ;
  • vous voulez un compte super-admin réservé au développeur, et un compte éditeur pour le client ;
  • le client emploie plusieurs personnes qui n’ont pas tous les mêmes droits ;
  • dans un SaaS multisite, chaque client ne doit voir et modifier que son site.

Statamic répond à tout ça avec un système de rôles, de permissions et de groupes — classique, mais très bien intégré au CMS.

Référence : Users — documentation Statamic.


Fonctionnalité Pro (comme le multisite)

La gestion avancée des utilisateurs — plusieurs comptes, rôles personnalisés, permissions fines — relève de Statamic Pro, au même titre que le multisite.

Sans Pro, vous disposez essentiellement d’un usage mono-utilisateur ou limité. Dès qu’il faut ouvrir le CP à des clients ou à une équipe, le passage Pro devient pertinent.


Les trois piliers : utilisateurs, rôles, groupes

Dans le Control Panel, vous retrouvez :

Utilisateurs

La liste de tous les comptes. Chaque utilisateur peut avoir un ou plusieurs rôles.

Rôles

Un rôle regroupe un ensemble de permissions : accès au dashboard, gestion des pages, des collections, des globals, des formulaires, des sites, de la configuration, etc.

La liste des permissions proposées est très complète : pour chaque ressource du CMS, on peut autoriser ou interdire la consultation, la création, la modification, la suppression, l’organisation, la publication…

Groupes

Un groupe permet d’associer plusieurs utilisateurs à un ensemble de rôles en une fois. Utile quand un client vous demande dix comptes avec les mêmes droits : plutôt que d’assigner manuellement les rôles à chaque user, vous créez un groupe et vous y rattachez les comptes.


Cas concret : SaaS multi-églises

Prenons l’exemple d’un produit que je développe : une plateforme permettant à des églises de gérer facilement leur site web. Plusieurs clients, plusieurs sites — un seul Statamic.

Besoin métier

  • un admin (moi, développeur) : accès total ;
  • un client par église : peut modifier son contenu, pas celui des autres ;
  • pas de création de nouvelles pages (règle produit) : seulement édition, organisation et publication ;
  • pas d’accès à la configuration multisite ni aux réglages sensibles ;
  • accès aux modules optionnels selon l’abonnement (annonces, sermons, etc.).

Rôle global « Église »

Je crée un rôle commun à tous les clients :

  • accès au dashboard (point de contrôle) ;
  • pas d’accès aux autres sites par défaut ;
  • pas d’accès aux collections (pour l’instant) ;
  • pages : modifier, organiser, publier, gérer le contenu — mais pas créer de nouvelles pages ;
  • globals : modifier les valeurs (saisie), pas configurer la structure ;
  • ressources : selon les besoins du produit.

Ce rôle pose le socle commun : tout client « Église » a le même niveau de base.

Rôle par site « Site Église 1 », « Site Église 2 »…

En complément, chaque utilisateur reçoit un rôle spécifique lié à son site dans le multisite :

  • l’utilisateur de l’église 2 a le rôle Église + le rôle Site Église 2 ;
  • il peut donc modifier les pages et le contenu autorisés par le rôle Église ;
  • et il ne voit le contenu que du site 2, grâce au rôle site dédié.

Pour les modules payants (annonces, sermons…), j’ajoute des permissions ou rôles supplémentaires selon l’offre souscrite.


Résultat côté Control Panel

Si je me connecte à la place d’un utilisateur client (fonction intégrée à Statamic), le menu latéral est fortement réduit :

  • gestion du contenu et des pages ;
  • modification des globals (informations de l’église) ;
  • rien d’autre : pas d’accès aux autres sites, pas de configuration, pas de zones sensibles.

C’est exactement l’expérience visée : le client édite son site sans risquer de toucher au reste de la plateforme.


Bonnes pratiques

Séparer développeur et client

Gardez un compte super-admin pour vous. Créez un compte éditeur pour le client avec uniquement les permissions nécessaires.

Composer les rôles

Un utilisateur peut cumuler plusieurs rôles : un rôle métier (Église) + un rôle périmètre (Site Église 2) + des rôles modules (Sermons). C’est flexible et lisible.

Tester avec « Se connecter en tant que »

Avant de livrer, connectez-vous en tant que chaque type d’utilisateur pour vérifier que le menu et les actions correspondent bien au cahier des charges.

Utiliser les groupes à l’échelle

Dès qu’un client a plusieurs comptes avec les mêmes droits, passez par un groupe plutôt que de répéter l’assignation rôle par rôle.


Lien avec le multisite

Les permissions Statamic s’articulent naturellement avec le multisite : restreindre l’accès par site est la brique qui manquait après l’épisode 7. Ensemble, multisite + rôles = base solide pour un CMS multi-tenant sous Laravel.


Vidéo : utilisateurs, rôles et permissions en pratique


FAQ rapide (SEO & technique)

La gestion multi-utilisateurs est-elle incluse dans Statamic gratuit ?
Non : les rôles et permissions avancés font partie de Statamic Pro.

Un utilisateur peut-il avoir plusieurs rôles ?
Oui. Les permissions se cumulent : pratique pour un rôle « métier » + un rôle « site » + des modules optionnels.

Comment limiter un client à un seul site en multisite ?
Créez un rôle avec accès restreint au site concerné ; combinez-le avec un rôle global qui définit ce qu’il peut faire (pages, globals, etc.).

À quoi servent les groupes ?
À assigner le même ensemble de rôles à plusieurs utilisateurs sans répéter la configuration.

Peut-on tester les droits sans créer de faux comptes ?
Oui : Statamic propose de se connecter en tant qu’utilisateur depuis le CP.


Conclusion

Utilisateurs, rôles et permissions Statamic, c’est le classique du web — mais pensé pour le CMS : permissions granulaires par ressource, cumul de rôles, groupes, et intégration native avec le multisite.

Pour un projet client simple, un compte éditeur restreint suffit souvent. Pour un SaaS ou une plateforme multi-sites, c’est une brique indispensable aux côtés de Statamic Pro.

Suite de la série : Statamic : formulaires de contact (création, affichage et soumissions).