Cet article décrit la gestion des rôles et droits dans Epicraft à partir de sa version 1.20.

Edit me

Les changements sur les rôles et droits entre les version 1.19 et 1.20 d’Epicraft

Changement n°1 : La simplification des rôles

On passe d’un système dans lequel il fallait mettre plusieurs rôles à une même personne à un système nettement plus simple :

Avant-après

Changement n°2 : La dangerosité des actions

Ce qu’il est possible de faire dans Epicraft a été catégorisé pour arriver à trois grands niveaux de dangerosité :

Niveaux de dangerosité Exemples non exhaustifs
Actions bénignes - Déplacer les pages dans les dossiers d’Epicraft
- Changer le libellé d’un champ
- Déplacer un champ
- Changer la description d’un bulk
Actions dangereuses - Supprimer un champ
- Changer le nom technique d’un champ
- Changer le varset d’une page
- Changer une condition d’affichage
- Editer le contenu d’un bulk
Actions critiques - Supprimer un projet
- Supprimer une page
- Changer le statut d’un projet (voir ci-dessous)

La liste exhaustive des actions par niveau de dangerosité est disponible ici pour ceux qui ont un accès à GitHub.

Changement n°3 : La cycle de vie des projets

Une nouvelle propriété fait son apparition sur les projets : leur statut

Cycle de vie des projets

Seuls les membres d’Epiconcept peuvent les changer et ils ont pour vocation de modéliser le cycle de vie du projet dans Epicraft :

Statuts de projets Descriptions
Ouvert - Le projet est en phase de conception.
- Les actions sont libres. Il n’y a pas de données à perdre.
Protégé - Le projet est en production mais certaines modifications doivent rester possibles.
- Seuls certains utilisateurs peuvent le modifier.
- Les actions autorisées dépendent du rôle de l’utilisateur.
Verrouillé - Le projet est en production et ne doit pas être modifié.
- On peut cependant parcourir le projet en lecture seule.

Par sécurité, les projets sont verrouillés par défaut.

Voici deux illustrations de cette notion :

Illustration des cycles de vie des projets

L’application de ces notions dans Epicraft

En associant les deux notions précédentes (dangerosité des actions et statut des projets), on arrive à une gestion fine des droits précisant par exemple que telle personne :

  • A le droit de tous faire sur les projets ouverts.
  • Est limité aux actions bénignes sur les projets protégés.
  • N’a pas le droit de modifier les projets verrouillés.

Voici alors ce que verra cet utilisateur sur un projet qui passerait d’un statut à l’autre :

Changement de statut

Ainsi, le responsable du projet maîtrise ce qui peut être modifié ou pas en changeant le statut du projet.

Les rôles créés pour la version 1.20 d’Epicraft

Les rôles

Les nouveaux rôles d’Epicraft repose sur ces principes.

Les voici :

Rôle Actions sur projet ouvert Actions sur projet protégé Actions sur projet verrouillé Autres droits
Level 0 - Lecture seule Lecture seule Lecture seule Lecture seule Aucun
Level 1 - Projets ouverts uniquement Dangereuse Lecture seule Lecture seule Aucun
Level 2 - Actions bénignes sur env protégés Dangereuse Bénignes Lecture seule - Publication sur environnement protégé
Level 3 - Projets ouverts et protégés Dangereuse Dangereuse Lecture seule - Publication sur environnement protégé
Level 4 - Equipe métier Epiconcept Critiques Critiques Critiques - Publication sur environnement protégé
- Debug
- Création de projet
Level 5 - Admin équipe métier Epiconcept Critiques Critiques Critiques - Publication sur environnement protégé
- Debug
- Création de projet
- Gestion des utilisateurs
- Gestion des groupes
Level 6 - Admin Framework Critiques Critiques Critiques - Publication sur environnement protégé
- Debug
- Création de projet
- Gestion des utilisateurs
- Gestion des groupes
- Gestion des rôles

Ce paramétrage pourra être ajusté par la suite.

Leur utilisation

Type d’utilisateur Rôle recommandé
Observateur Level 0
Utilisateur standard Level 1
Utilisateur expérimenté Level 2 ou 3
Membre d’Epiconcept formé Level 4 (ou 5 s’il doit gérer les comptes utilisateurs pour son équipe)
Membre de l’équipe Framework d’Epiconcept Level 6