Chacun son rôle

Le cahier des charges du site d’une école de 25 classes, dont la réalisation a été confiée à ABSOLUTE Web, comprend la mise en place d’un blog et d’une page « Cahier de texte » par classe.

Pour les blogs, ce sera en réalité le blog du site WordPress pour lequel une catégorie sera créée au nom de chaque classe (CE1VERT, CM1ROUGE, etc.). Inutile donc de se lancer dans du WordPress Multisites pour un tel projet.

Restait à gérer l’administration du site ! En effet, celle-ci n’est pas centralisée et chaque professeur des écoles doit pouvoir mettre à jour le blog et le cahier de texte de sa classe.

Bien évidement il ne doit pas pouvoir :

  • Mettre à jour le blog et le cahier de texte d’une autre classe
  • Modifier les autres pages du site, l’agenda, etc.
  • D’une manière générale, accéder à l’administration du site (extensions, thèmes, etc.).

Je connaissais l’extension Role Scoper depuis plusieurs années pour avoir suivi de loin son utilisation dans un ancien projet. J’ai tout de même rapidement tester divers autres extensions, sans être enthousiasmé par les fonctionnalités.

En réalité, Role Scoper répondait parfaitement à mon besoin, en voici la description sur le Repository WordPress :

Role Scoper est une solution complète de contrôle d’accès, vous donnant le contrôle des permissions de lecture et d’édition d’un véritable CMS. Attribuez des restrictions et des rôles à des pages spécifiques, des articles ou des catégories.

Cool, des restrictions et des permissions pour les pages de cahier de texte et pour les catégories du blog !

Un prise en main pas très conviviale…

Au premier abord Role Scoper est assez compliqué d’utilisation. A cela s’ajoute une identité visuelle dépassée et une traduction française partielle…

En réalité l’extension n’est pas si compliquée que cela à utiliser une fois que l’on en comprend le fonctionnement.

Si je veux :

  • Restreindre l’accès d’une page ou d’une catégorie à un ou plusieurs auteurs

Je dois :

  • Restreindre l’accès de cette page ou de cette catégorie à tous les auteurs
  • Autoriser l’accès de cette page ou de cette catégorie aux auteurs de mon choix

Concrètement dans mon cas de figure

Pour le site de l’école, la première étape a été de créer les 25 pages de cahier de texte, les 25 catégories du blog ainsi que les 27 comptes auteur des professeurs des écoles (2 des classes ont 2 professeurs). Le groupe Auteur de WordPress est le plus adapté à ce projet. En l’occurrence les permissions vont être assignées par utilisateur et non par groupe. Role Scoper permet la création de groupes, que vous peuplerez d’utilisateurs, les permissions pourront alors être assignées pour le groupe, pratique.

Interdire l’édition à tous le monde

Le plug-in Role Scoper ajoute deux menus dans le back office de WordPress, le premier, « Restrictions », comme son nom l’indique, permet de restreindre l’accès aux catégories, menus de navigation, catégories de liens, articles et pages.

Vous pourrez restreindre la lecture d’une page, la contribution dans une catégorie du blog ou l’édition d’une page par exemple.

Dans le cas de l’école, je restreins la contribution et l’édition de toutes les pages du site (le groupe Admin n’est bien évidement pas sujet à cette restriction).

Il est possible de définir des restrictions pour les futures pages, pour une, plusieurs ou toutes les pages existantes. La restriction peut se limiter à la page sélectionnée, aux pages enfants ou aux deux.

Ici il n’est pas question d’utilisateurs ou de groupes d’utilisateurs (Admin, Editeur, Auteur, Contributeur, Abonné).

Une page a un accès restreint ou non, il en va de même pour les catégories du blog. La restriction des articles n’est pas nécessaire dans notre cas, en effet le simple fait d’autoriser l’accès à une catégorie du blog permet de n’éditer que les articles de cette catégorie. Les articles des autres catégories ne seront même pas visible sur le compte de l’auteur.

Maintenant que les accès aux pages et aux catégories de blog sont restreintes, il est temps de distribuer les accès aux différents utilisateurs.


C’est dans le second menu, « Rôles », que cela se passe.

On y retrouve les mêmes types de contenu que pour le menu « Restrictions », à savoir les catégories du blog, les menus de navigation, les catégories de liens, les articles et les pages.


Dans la section Pages, nous pouvons assigner un accès pour les pages sélectionnées, ses pages enfants ou les deux. Il est également possible de choisir la suppression d’un accès.

Se présente ensuite la liste des utilisateurs, dans mon cas les professeurs des écoles du groupe auteur. Un filtre, bien utile, permet lorsque l’on commence à avoir pas mal de comptes utilisateurs, d’en trouver un en saisissant les premières lettres.

Je coche le ou les professeurs auxquels je souhaite donner un accès. L’accès peut être donné à tout un groupe (WP ou personnalisé) mais je n’utilise pas cette possibilité car mes accès sont au niveau utilisateur.

Intéressant, l’accès peut être limité dans le temps, par exemple pour un abonnement ou une période gratuite, permettre la lecture de certaines pages du site.

Dernière étape, sélectionner le rôle pour la page à laquelle nous souhaitons donner l’accès. Dans le cas de l’école, le professeur doit pouvoir éditer la page cahier de texte de sa classe, j’ai donc sélectionné « Edition d’une page ».

Donner un accès personnalisé à une page et une catégorie du blog à 27 professeurs est assez fastidieux, mais au final le cahier des charges sera respecté grâce à Role Scoper.

Lorsqu’un professeur va s’identifier sur WordPress, il ne pourra ajouter des articles que dans la catégorie de sa classe et il ne pourra éditer que la page du cahier de texte, également de sa classe.