Gérer les utilisateurs, les rôles, les permissions et le workflow
Note: Return to tutorial view.
Gestion des utilisateurs et groupes
Administration des utilisateurs et groupes
En tant qu'administrateur, il est possible en cliquant sur "Configuration du site" d'accéder à un outil de gestion des utilisateurs et des groupes d'utilisateurs dénommé "Administration des utilisateurs et groupes". L'ajout d'utilisateurs et si nécessaire de groupes d'utilisateurs est la première étape dans la définition de la sécurité du site, étape nécessaire pour définir quel utilisateur pourra accéder aux différentes parties du site.
Ajouter un utilisateur
Voici l'interface d'administration des utilisateurs et groupes de Plone.
- un onglet "Utilisateurs" permettant d'accéder à la gestion des utilisateurs
- un onglet "Groupes" permettant d'accéder à la gestion des groupes
- un bouton "Ajouter" permettant d'ajouter un utilisateur (ou un groupe sous l'onglet "Groupes")
- une zone de recherche permettant de rechercher un utilisateur (ou un groupe sous l'onglet "Groupes") ou d'afficher tous les utilisateurs
Il est à noter que la notion de "Groupes" est optionnelle, en effet, un utilisateur ne doit pas obligatoirement faire partie d'un groupe... Les "Groupes" permettent simplement de regrouper des utilisateurs qui auront les mêmes droits.
En cliquant sur le bouton "Ajouter".... un formulaire d'ajout d'utilisateur apparaît...
Le formulaire présenté ci-dessous est le formulaire enrichi grâce au produit CPDescriptive.
Le formulaire standard de Plone ne contient pas autant de zones.
Avant de commencer à ajouter des utilisateurs, l'administrateur peut définir la "Politique des mots de passe" dans les "Paramètres du site" afin de définir si l'utilisateur pourra directement introduire son mot de passe dans le formulaire d'inscription ou s'il devra le choisir après réception d'un e-mail.
La zone "Mot de passe" apparaît uniquement si l'option "Laisser les membres choisir leur mot de passe initial" a été sélectionnée dans les "Paramètres du site".
Lorsqu'un utilisateur a été ajouté, il est possible de le voir en le recherchant dans les utilisateurs existants ou en affichant tous les utilisateurs inscrits. Si on souhaite lier l'utilisateur à un groupe d'utilisateurs il faudra dans un premier temps créer ce groupe, et dans un deuxième temps lier l'utilisateur voulu au groupe.
Gestion des groupes
En cliquant sur l'onglet "Groupes", un administrateur aura la possibilité d'ajouter un nouveau groupe d'utilisateurs en cliquant sur le bouton "Ajouter un nouveau groupe". Un groupe permet de rassembler plusieurs utilisateur. On peut par exemple créer un groupe par service d'une commune et y ajouter les différents utilisateurs du service.
Pour ajouter un utilisateur dans un groupe, il suffit de cliquer sur le groupe souhaité et d'utiliser le formulaire de recherche d'utilisateur qui apparaît. Après avoir trouvé le bon utilisateur et l'avoir sélectionné, il suffit de cliquer sur "Ajouter les groupes et utilisateurs sélectionnés pour ce groupe". Notez qu'un groupe peut contenir d'autres groupes...
Définition des rôles par utilisateur
Notion de rôle
Dans Plone, une permission (permission de "Voir", permission de "Modifier", ...) n'est pas donnée directement à un utilisateur mais à un rôle. Un rôle est une qualité octroyée à un utilisateur. Concrètement, les rôles par défaut dans Plone sont les suivants :
- Anonyme : qualité d'un utilisateur qui visite le site mais qui n'est pas connecté (par exemple, un citoyen qui visite le site)
- Membre : qualité d'un utilisateur connecté au site (par exemple, un agent communal)
- Modérateur : qualité d'un utilisateur qui peut modérer le contenu du site, c'est à dire publier un contenu proposé par un membre
- Propriétaire : qualité d'un utilisateur qui possède un élément du site (un dossier, un document, une image, ...). Lorsqu'un utilisateur crée un élement, il en devient automatiquement propriétaire
- Administrateur : qualité d'un utilisateur qui peut configurer le site et accéder à toutes ses rubriques et fonctionnalités
Donner un rôle à un utilisateur
Certains rôles sont automatiquement donné à un utilisateur. Dès qu'un utilisateur est connecté, il reçoit le rôle de Membre. En outre, il sera également Propriétaire des éléments qu'il créera. Une personne qui visite le site sans être connectée a le rôle Anonyme. L'administrateur peut choisir quels rôles additionnels il donnera à un utilisateur sur un élément du site (un document, un dossier et son contenu, tout le site).
Octroi d'un rôle global additionnel
Si on souhaite donner un rôle global à un utilisateur ou à un groupe d'utilisateur, il faudra passer par la "Configuration du site" et choisir "Administration des utilisteurs et des groupes".
Après avoir trouvé l'utilisateur voulu (retrouvez la marche à suivre pour trouver un utilisateur sur "Gestion des utilisateurs et groupes") il suffit de lui donner un des rôles sélectionnable. Par défaut, deux rôles peuvent être donnés de manière globale sur le site :
- Modérateur : l'utilisateur a alors la possibilité de modérer le contenu du site entier
- Administrateur : l'utilisateur est alors administrateur du site
Certains produits peuvent ajouter des rôles globaux à la configuration du site comme ci-dessus, les rôles "WorkTSManager" et "PopulationTSManager" ont été ajoutés par le produit TeleServices.
Si on souhaite qu'un utilisateur puisse modifier le contenu entier du site sans avoir le rôle Administrateur pour autant, il faudra passer par l'octroi d'un rôle local "Propriétaire" au plus haut niveau de l'arborescence du site (voir ci-dessous).
Octroi d'un rôle local
Le rôle local permet d'attribuer un rôle non pas sur le site entier mais sur une partie seulement.
Ce point est détaillé dans le "How-to" suivant : Comment donner la possibilité à un ou plusieurs utilisateurs de modifier une partie du site
Définition des permissions
Les principales permissions définies dans Plone et utilisées dans les workflows sont les suivantes :
- permission de voir un élément ("View")
- permission de modifier un élément ("Modify portal content")
- permission de supprimer un élément ("Delete objects")
- permission d'ajouter un élément dans une zone du site ("Add portal content")
- permission de publier un élément (de le rendre visible par tous) ("Review portal content")
- ...
Il NE FAUT PAS gérer les permissions directement sur un élément du site (en passant par exemple par la ZMi et en utilisant l'onglet "Security") mais il faut utiliser les états du workflow pour ce faire.
En fait, un workflow permet d'octoyer des permissions à des rôles dans un état particulier. Par exemple, la permission de "Voir" est donnée au rôle "Anonyme" lorsqu'un élément est dans l'état "publié" mais pas dans l'état "privé".
Il faudra toujours utiliser les workflows pour gérer la sécurité sur les éléments du site. C'est à çà que sert le workflow. Si le workflow par défaut de Plone n'est pas satisfaisant, il est tout à fait possible de le modifier ou d'en créer un nouveau tout à fait adapté à une situation précise.
Gestion du workflow
Si on se base sur le workflow documentaire par défaut de Plone, on a une succession d'états (privé, brouillon, en attente, publié, ...) qui s'enchaîne grâce à des transitions (rendre visible, soumettre, publier, ...).
Par défaut, le workflow est géré sur chaque élément par une liste déroulante en haut à droite où l'état courant est affiché. En cliquant sur cet état, une liste des transitions disponibles est alors affichée.
Notion d'état
| Propriétaire peut "Voir" | Propriétaire, Membre, Anonyme peuvent "Voir" |
| Propriétaire peut "Modifier" | Propriétaire peut "Modifier" |
| Propriétaire peut "Supprimer" | Propriétaire peut "Supprimer" |
On voit donc par exemple avec ces quelques permissions données aux différents rôles dans ces 2 états différents que le Propriétaire de l'élément (le créateur donc) va pouvoir Voir/Modifier/Supprimer l'élément dans ces 2 états du workflow mais que l'Anonyme (un visiteur du site non connecté) ne pourra que "Voir" l'élément à condition que celui-ci soit dans l'état "publié"...
Notion de transition
Une transition est ce qui permet de faire passer un élément d'un état vers un autre : par exemple la transition "rendre visible" qui fait passer un élément de l'état "privé" vers l'état "brouillon"
Une transition peut notamment :
- être protégée de sorte qu'on puisse restreindre les utilisateurs qui pourront l'effectuer
- qui peut "publier", qui peut "soumettre", ...
- déclencher des actions
- envoyer un e-mail lorsque la transition "publier" est déclenchée, ...