Dans ce chapitre, nous souhaitons donner le droit à un groupe d’utilisateurs, que nous appellerons “client”, d’accéder au backend du site. Disons que vous souhaitez donner à ce groupe des accès très basiques au backend de Joomla!
ACL Joomla! Configuration des ACL en back-end Ce dernier chapitre est une traduction de l’article Joomla ACL: Configuring back-end ACL écrit par Jen Kramer.
Dans ce chapitre, nous souhaitons donner le droit à un groupe d’utilisateurs, que nous appellerons “client”, d’accéder au backend du site. Disons que vous souhaitez donner à ce groupe des accès très basiques au backend de Joomla! :
Possibilité de créer, éditer, publier/dé-publier les articles d’une ou plusieurs catégories (ou même de toutes).
Possibilité de créer, éditer, publier/dé-publier les éléments de menu.
Possibilité d’accéder à certains composants basiques comme le composant liens web.
Pour suivre ce tutoriel, je vous conseille d’utiliser 2 navigateurs différents, un avec lequel vous serez connecté en temps que Super Utilisateur, et un autre avec lequel vous serez connecté avec le compte client. En faisant cela, vous n’aurez pas besoin de vous déconnecter/reconnecter à chaque fois.
L’approche générale de configuration sera la suivante :
1. Créer un nouveau groupe d’utilisateurs, lui assigner les autorisations de base, et créer un compte utilisateur pour le client.
2. Assigner le(s) niveau(x) d’accès approprié(s).
3. Assigner les droits pour que le client puisse accéder au gestionnaire d’articles, gestionnaire de menu, et liens web.
Création d’un nouveau groupe d’utilisateurs, attribution des droits de base, création d’un utilisateur
Création d’un nouveau groupe d’utilisateurs
Pour créer un groupe d’utilisateurs, rendez-vous dans Utilisateurs > Groupes > Nouveau. Vous pouvez par exemple nommer ce groupe “Groupe d’Utilisateurs Client”. Faites en un parent du groupe Public.
Attribution des droits de base à un groupe
Pour attribuer des droits à votre nouveau groupe, rendez-vous dans Site > Configuration > Onglet Droits .Dans l’onglet de votre nouveau groupe, réglez l’accès à l’administration sur “Autorisé”. Laissez les autres paramètres comme cela pour l’instant.
Création d’un nouvel utilisateur
Pour créer un nouvel utilisateur, rendez-vous dans Utilisateurs > Gestion des utilisateurs > Nouveau. Remplissez tous les champs nécessaires, et attribuez votre nouvel utilisateur au Groupe d’Utilisateurs Client que vous venez de créer. A ce stade, si vous vous connectez à l’administration de votre site (à l’aide de votre deuxième navigateur) sur le compte que vous venez de créer, vous devriez avoir cet écran :
Cela est normal, mais pas très utile. Continuons.
Assignation des niveaux d’accès
Pour l’instant, avec votre compte client, vous pouvez vous connecter à l’administration, accéder au frontend du site et vous déconnecter.
Une chose que nous n’avons pas encore configuré, est un niveau d’accès pour le backend du site. Pour rappel, les niveaux d’accès contrôlent qui voit quoi, incluant modules, contenu, et ainsi de suite. Les menus sont des modules, également dans le backend de Joomla!. Ils sont des modules administrateurs, et ces modules administrateurs sont assignés au niveau d’accès Spécial. Votre utilisateur Client aura également besoin d’avoir le niveau d’accès Spécial assigné à son groupe d’utilisateurs, le Groupe d’Utilisateurs Client.
Retournez donc dans votre administration avec le navigateur Super Utilisateur :Rendez-vous dans Utilisateurs > Niveaux d’accès > Accès Spécial , puis attribuez le Niveau d’accès Spécial au Groupe d’Utilisateurs Client. Ensuite enregistrez.
Sur votre navigateur Client, déconnectez-vous, puis reconnectez-vous. (Parce que le niveau d’accès change, vous devez vous déconnecter puis vous reconnecter afin de changer l’interface d’administration).En temps que client, vous devriez désormais avoir quelque chose ressemblant à cela :
Désormais, avec votre compte client, vous pouvez :
Vous connecter à l’administration, accéder au frontend du site et vous déconnecter.
Éditer votre propre profil, modifier votre identifiant et votre mot de passe.
Voir les liens d’aide, tous ceux qui sont sur les pages accessibles au public.
Voir une liste des 5 articles les plus populaires, et les 5 derniers articles ajoutés via le module de droite.
Ce n’est toujours pas très utile, mais au moins, ce n’est plus absolument rien ! Notre prochaine étape est de donner au client la permission de créer, éditer, et changer l’état des articles. Assignation des droits : Articles
Le client doit être capable d’accéder au gestionnaire d’articles du backend de Joomla!. La première étape est de donner au client l’accès à ce gestionnaire d’article comme une option dans le menu. Une fois que cette option est visible, nous pouvons alors nous focaliser sur l’assignation de droits plus spécifiques.
Faire apparaître le Gestionnaire d’Articles dans le backend du client
Pour faire apparaître le Gestionnaire d’Articles comme une option dans le menu, rendez-vous dans Contenu > Gestionnaire d’Articles > Paramètres , choisissez l’onglet droits et réglez “Accéder à l’administration” sur Autorisé pour le Groupe d’Utilisateurs Client. Cliquez sur enregistrer.
Vous pourriez être curieux à propos de l’option de configurer. C’est la permission qui vous autorise à accéder à la boite de dialogue des paramètres. En général, vous souhaiterez que seul le super utilisateur ait accès à ça.
Maintenant, allez sur le navigateur web du client, rafraichissez votre écran, et vous devriez voir le Gestionnaire d’Articles et le Gestionnaire de Catégories apparaître comme icône dans le panneau d’administration ainsi que comme élément de menu.
Malheureusement, il n’est PAS possible de séparer les permissions pour le Gestionnaire d’Articles et le Gestionnaire de Catégories pour le moment. C’est une faiblesse majeure dans les ACL de Joomla!.
Si vous regardez le Gestionnaire d’Articles en tant que client, vous devriez pouvoir voir la liste complète des articles (si vous avez installé les données d’exemples). Cependant, vous ne pouvez pas les éditer, et vous ne pouvez pas non plus modifier leurs états. Il n’y a pas de bouton pour créer un nouvel article (en haut à droite), il y a seulement l’icône d’aide.
Edition de tous les articles vs édition des catégories d’articles
La prochaine étape est de donner la permission au client d’éditer et de changer l’état des articles. Voulez-vous donner au client la possibilité de modifier tous les articles, ou souhaitez-vous seulement lui donner ce droit seulement pour certaines catégories, ou avez-vous besoin de donner cette permission article par article ?La réponse est toujours ça dépend ! Quand vous configurez la structure de catégories de votre site, je recommande cela :
Gardez les ACL à l’esprit quand vous paramétrez les catégories de contenu. Si vous devez interdire à votre client l’accès à certaines pages du site, vous devez classer ces pages dans la même catégorie, même si leur contenu est très différent. Cela rendra l’ACL plus simple à configurer.
Également, si le client a seulement besoin d’éditer certains articles, cela serait plus logique de les classer dans la même catégorie.
Changer les droits dans un système article-par-article devrait être utilisé que pour les cas les plus rares. Il est difficile d’expliquer au client qu’il doit configurer les droits lors de la création de nouveaux articles. Réglez les droits au niveau de la catégorie, et le client n’aura jamais besoin de les toucher lors de la création de nouveaux articles.
Pour chaque scénario, voici comment vous devez procéder :
Le client doit éditer tous les articles
Si le client doit éditer tous les articles, configurez les droits comme cela :
Dans Contenu > Gestionnaire d’Articles > Paramètres > Droits , pour le Groupe d’Utilisateurs Client, réglez Créer, Modifier, Modifier le Statut, et Modifier ses éléments sur Autorisé. En général, je ne donne pas la permission au client de supprimer le contenu, ce qui lui donnerait la possibilité de vider la corbeille. Il peut dé-publier ou mettre à la corbeille avec la permission Modifier le Statut.
Le client peut éditer les articles d’une ou plusieurs catégories
Si le client doit seulement éditer les articles d’une ou d’un petit nombre de catégories, configurez chaque catégorie comme cela :
Vous devez autoriser l’Accès à l’Interface d’Administration dans Contenu > Gestionnaire d’Articles > Paramètres > Permissions.
Dans Contenu > Gestionnaire de Catégories , cliquez sur le nom de la catégorie d’articles que le client doit pouvoir éditer. En bas du panneau de configuration, pour chaque catégorie, vous retrouvez les droits. Réglez ces droits pour autoriser Créer, Modifier et Modifier ses éléments.
Répétez ce procédé pour chaque catégorie d’articles dans laquelle le client doit avoir accès.
Le client doit avoir accès à une base article-par-article
Vous pouvez également éditer les articles individuellement en tant que super utilisateur, scroller vers le bas de l’écran et régler les droits client ici. Cela doit être utilisé seulement dans de rares circonstances . Configurer les permissions au niveau des catégories est une meilleure approche en perspective de la maintenance.
J’ai autorisé mon client à créer, modifier, et modifier le statut de tous les articles du site. Le panneau de contrôle, pour le compte client, ressemble à cela :
Assigner les droits : Gestionnaire de médias
En tant que client, si vous éditez un article, une des taches que vous aurez certainement besoin d’accomplir, est la possibilité d’ajouter une image à l’article.
Les droits sont actuellement affectés comme cela : le client peut voir les articles, les éditer en cliquant sur le titre, obtenir le formulaire d’édition de l’article, puis cliquer sur le bouton Image situé sous la fenêtre de texte de l’article. La fenêtre du Gestionnaire de Média :
Notez que le client peut naviguer et sélectionner n’importe quelle image déjà présente dans le Gestionnaire de Médias, mais il n’a pas l’interface permettant de charger une nouvelle image sur le site. Cela vient du fait que le Gestionnaire de Médias est un composant séparé du Gestionnaire d’Articles, et qu’il possède donc son propre réglage de droits. Le Gestionnaire de Médias n’apparait pas dans la structure du menu backend de Joomla! lorsque vous êtes connecté avec le compte client.
Pour changer cela, retournez sur votre navigateur super utilisateur, rendez-vous dans Contenu > Gestionnaire de Médias > Paramètres > Droits, réglez Accès à l’administration et Créer sur Autoriser.
Assigner les Droits : Menu
A partir de maintenant, vous devez avoir une idée de ce qui va suivre. Si le client a besoin de lier un article à un menu, il a besoin d’accéder au Gestionnaire de Menu dans le backend de Joomla!.
En tant que super utilisateur, allez dans Menus > Gestionnaire de Menu > Paramètres > Droits, et pour le Groupe d’Utilisateurs Client, réglez Accès à l’administration, Créer, Modifier et Modifier l’état sur Autorisé.
Malheureusement, vous n’êtes pas en mesure d’autoriser le client à ajouter des éléments de menu enfants à un certain menu parent, ou de l’autoriser à ne créer que certains types d’éléments de menu. Ce serait une bonne addition aux ACL de Joomla!.
Assigner les droits : Composant Liens Web
Voici à quoi ressemble le backend de mon client désormais :
Désormais, je veux donner au client l’accès aux Liens Web mais pas aux autres composants de Joomla!. Heureusement, cela est facile à faire, et vous avez certainement compris comment faire.
En tant que super utilisateur, allez dans Composant > Liens Web > Paramètres > Droits, et pour le groupe d’Utilisateurs Client, réglez Accès à l’administration, Créer, Modifier, Modifier le Statut sur Autorisé.
Vous pouvez répéter ce procédé pour tous les composants Joomla! auxquels le client doit avoir accès.
Notes : certaines extensions tierces n’ont pas entièrement intégré le système ACL de Joomla!. Si le système ACL est important pour votre site, assurez-vous de choisir des composants qui ont parfaitement intégré ce système.