Cet article décrit la gestion des rôles et droits dans Epicraft à partir de sa version 1.20.
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 :
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
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 :
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 :
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 |