Modification Capacité/Rôles - Moodle 2.2.9

Modification Capacité/Rôles - Moodle 2.2.9

par Jean-Pierre Labaïls,
Nombre de réponses : 3

Bonjour,

Je souhaite pour l'affichage de Ma Page Mon Moodle, masquer l'affichage d'un bloc en fonction du type d'utilisateur.

J'ai lu un certain nombre de post concernant le rôles/permissions comme celui-ci (http://docs.moodle.org/19/fr/Comment_les_permissions_sont_calcul%C3%A9es_%3F)    mais je nage complètement triste

Pour  mon exemple, je souhaite mettre en place un bloc html sur Ma Page Mon Moodle non visible pour les étudiants et visible pour le gestionnaire de cours.

J'ai tenté de mettre une dérogation en place pour ce bloc html (empêcher pour : Voir les blocs moodle/block:view dans le rôle étudiant), mais c'est sans effet.

Par contre si je fait ce paramétrage dans le rôle Utilisateur authentifié cela fonctionne.

Pouvez-vous me dire comme agir ?

Existe-t-il une hiérarchie  dans les rôles prédéfinis ?

Merci d'avance

Moyenne des évaluations  -
En réponse à Jean-Pierre Labaïls

Re: Modification Capacité/Rôles - Moodle 2.2.9

par Jérôme DEMIAUX,
Avatar Traducteurs

Bonjour,

Le calcul des permissions liées à un rôle dans un contexte précis entraîne effectivement quelque fois des céphalées sévères, mais pour le cas qui nous intéresse ce n'est pas important.

Existe-t-il une hiérarchie des rôles ? oui et non
Oui de par la notion d'héritage des capacités non définies, non de part le fait qu'une capacité d'un rôle supérieur ne supplante pas obligatoirement celles déjà acquises.

Un exemple simple avec moodle/user:editownprofile qui définit la capacité d'un utilisateur à modifier son profil. Si l'on étudie les différents rôles par ordre croissant tel qu'ordonnés initialement (Utilisateur authentifié, Etudiant, Enseignant NE, Enseignant, Responsable de cours, Manager), on s'aperçoit que seul l'utilisateur authentifié à ce pouvoir, le définir à d'autres niveaux est inutile et redondant, les possesseurs d'autres rôles étant toujours des "utilisateurs authentifiés".

La notion de contexte vient complexifier un peu la chose puisqu'un rôle s'applique à un environnement particulier (système, catégorie, cours, activité, bloc). Or Mon Moodle / Ma Page appartient au contexte système, elle ne fait pas partie d'un cours spécifique, le rôle avec lequel on va "arriver" dessus est normalement par défaut (pour une utilisation classique) le simple "utilisateur authentifié", c'est donc sur ce rôle qu'il faut appliquer des dérogations de permission si l'on veut afficher / masquer le bloc.

Mais attention cette modification affectera également toutes personnes ne possédant pas un rôle "système" autorisant cette capacité.
Par défaut le rôle "gestionnaire de cours" est autorisé à voir les blocs, aussi un utilisateur affublé de ce rôle dans le contexte système (et non pas catégorie) sera capable de visualiser le bloc.
Notons également que le réglage sur "Interdire" est toujours prioritaire sur tout autre statut, aussi choisir ce réglage pour "l'utilisateur authentifié" interdirait aussi au gestionnaire de cours la vision du bloc.

En résumé, attention au contexte d'application du rôle et aux poids des capacités.

Jérôme.

Moyenne des évaluations Utile (1)
En réponse à Jérôme DEMIAUX

Re: Modification Capacité/Rôles - Moodle 2.2.9

par Jean-Pierre Labaïls,

Merci Jérôme pour ta réponse

En effet tout mes utilisateurs sont par défaut des "utilisateurs authentifiés", j'ai donc attribuer un rôle Système aux "Gestionnaire de cours", et positionné une dérogation de droits "Empêcher" pour "Utilisateurs authentifiés".

Et cela fonctionne.

Donc dans le cas de "Ma Page Mon Moodle", il est nécessaire d'attribuer un rôle Système aux utilisateurs "Gestionnaire de cours" !?

Si je souhaite de la même manière masquer l'affichage de certaines catégories de cours, toujours en affichage Ma Page Mon Moodle, est ce que je dois appliquer le même procédé ?

 

 

PS : Jérôme, j'apprécie beaucoup tes réponses qui sont toujours très bien développées et pour un utilisateur débutant/moyen c'est très appréciable.

 

En réponse à Jean-Pierre Labaïls

Re: Modification Capacité/Rôles - Moodle 2.2.9

par Jérôme DEMIAUX,
Avatar Traducteurs

... Donc dans le cas de "Ma Page Mon Moodle", il est nécessaire d'attribuer un rôle Système aux utilisateurs "Gestionnaire de cours" !? ...

Ce n'est pas tout à fait ce que j'ai dit.
L'effet pervers d'attribuer un rôle au niveau système est que ce rôle reste collé à l'utilisateur quel que soit le contexte où il se trouve. Et dans le cas du rôle "Gestionnaire de cours", l'utilisateur pourrait se voir attribuer un rayon d'action bien trop important en lui permettant d'aller jouer dans des catégories et des cours qui ne le regarde pas.

Pour palier cet effet de bord, la solution consiste à créer un nouveau rôle "PeutVoirLesBlocs" dont toutes les capacités seraient paramétrées à "non définie" SAUF celle qui nous intéresse ici, moodle/block:view, réglée elle sur "Autoriser".

Après, c'est la structure de l'organisation et les stratégies qui détermineront où et à qui l'on donnera ce rôle.

  • Au niveau système, les personnes enrôlées pourront voir tous les blocs modifiés selon le processus décrit dans le message initial;
  • Dans le contexte Catégories, seulement dans les cours de cette catégorie (ce qui exclut MaPage);
  • Au niveau du bloc, elles ne pourront voir que ce bloc particulier et pas les autres ;
  • Au niveau Utilisateur, seul cet utilisateur pourra le voir quelque soit le contexte;
  • ...

Pour les catégories, c'est une autre histoire, déjà écrite récemment sur le forum. Reste plus qu'à en retrouver la trace. Le problème est différent et n'a pas trouvé de réponse, je crois.
Après une recherche négative, le mieux serait de reposer une question distincte (qu'on ne s'égare pas) en exposant bien le résultat escompté.