Joomla 1.6 : ACL, comment personnaliser la gestion des droits utilisateurs ?

L'arrivée de Joomla 1.6 nous permet de configurer nos groupes d'utilisateurs à notre guise, c'est clairement une bonne nouvelle et certains l'attendent depuis un moment.
D'un autre coté, cette nouvelle version nécessite une phase d'adaptation.


Voici donc un tutoriel pour comprendre le fonctionnement de la gestion des groupes et des permissions dans Joomla 1.6.
Cet article n'est pas nécessaire pour qui veut utiliser la gestion des droits de Joomla par défaut. Il a uniquement la vocation d'expliquer le fonctionnement de la gestion des droits utilisateurs pour ceux et celles qui souhaiteraient la personnaliser.

 

 


Comprendre la structure des permissions dans Joomla 1.6

Avec un minimun d'apprentissage du fonctionnement de Joomla, vous comprendrez que la gestion des utilisateurs de Joomla fonctionnent depuis toujours avec :
- des Utilisateurs
- des Groupes
- des Niveaux d'accès

Si l'association des utilisateurs aux groupes semble simple d'approche, la notion de niveaux d'accès peut paraitre plus complexe. Son paramétrage dans Joomla 1.6 vous demandera donc de bien comprendre sa philosophie.

D'un coté nous avons les utiisateurs et les groupes, d'un autre coté nous avons les fonctions et les contenus dans Joomla.
Les niveaux d'accès servent de pont entre ces 2 mondes : les personnes et les données.

 

Les niveaux d'accès sont définis par une liste de groupes et l'accès aux données sont définis par 1 et 1 seul niveau d'accès chacun.

 

 

Joomla 1.6 amene une 4eme notion qui n'etait pas visible (mais présente) dans les précédentes versions : les Permissions
Ces règles configurables amènent encore plus de flexibilité a la gestion des droits utilisateurs de Joomla.


Dans une architecture de droits d'accès Joomla, nous avons donc :


1- des Utilisateurs : les comptes des membres de votre site,


2- des Groupes : qui regroupent les utilisateurs par fonction (auteurs, gestionnaires, administrateurs ...). Un utilisateur peut désormais faire partie de plusieurs groupes !


3- des Niveaux d'accès
: qui definissent quel groupe a accès (public, enregistré, spécial) a quel contenu (articles, categories, modules ...)


4- des Permissions : qui accordent des actions (login, creation, suppression, configuration, publication ...) a des groupes d'utilisateurs.


5- des contenus : toutes les données de votre sites qui peuvent soumis à la gestion des droits de Joomla (articles, categories, modules ...)

 

 

Bien qualifier son organisation

"Des groupes et des niveaux d'accès pour les gouverner tous !"

L'utilisateur n'est qu'une notion accessoire dans la définition de votre organisation des droits. Au vu du schéma ci-dessus, on peut déterminer des règles importantes pour définir la meilleure organisation de droits pour votre projet :

Niveaux d'accès = Maitriser l'échelle de  confidentialité de ces données
- C'est un point important qui peut complexifier un projet si il n'est pas défini de manière adéquat. La granularité des niveaux d'accès doit être suffisamment fine pour couvrir tous les besoins d'affichages des données. Comprenez par la qu'il est important de définir en amont les besoins d'affichage et de confidentialité des données pour définir tous les cas de niveaux d'accès.

Groupe = métier, fonction (au sens propre)
- Les groupes doivent être pensé en se basant sur les fonctions de vos utilisateurs. En se basant sur leur affectation réelle dans la société (Direction Marketing, comptables, secrétaires ...) si cette organisation existe déjà. Pour des structures plus petites ou avec des profils multi-casquettes, il faudra alors définir clairement les grandes fonctions pour définir des groupes, même si certaines personnes se retrouvent dans de nombreux groupes, la flexibilité de votre projet en sera gagnante !

 

Des Permissions pour les acteurs de votre site

Les permissions permettent de définir des actions réalisables ou pas par les acteurs de votre site (les utilisateurs succeptibles d'interagir avec le contenu (auteur ...))
Ces permissions sont personnalisables selon les types de données de Joomla (Articles, catégories, utilisateurs, modules, plugins, templates, composants ...)

- Connexion au site : est-ce que ce groupe est autorisé a se logguer sur le site frontend ?

- Connexion à l'administration : est-ce que ce groupe est autorisé a se logguer sur le site backend ?

- Superadministrer : ce groupe a -t-il le droit d'effectuer n'importe quelle action sur n'importe quell parties du site ? (attention : ne donner cette permission qu'aux groupes correspondant aux supers administrateurs !)

- Accéder : accès quasi complet au Backend (hormis le configuration Globale) ?

- Créer : est-ce que ce groupe est autorisé a créer des données ?

- Supprimer : est-ce que ce groupe est autorisé a supprimer des données ?

- Modifier : est-ce que ce groupe est autorisé a modifier des données ?

- Modifier le statut : est-ce que ce groupe est autorisé a modifier l'état d'une donnée (publié, inactif ...)

- Modifier ses éléments : est-ce que ce groupe est autorisé a modifier les données qu'il a lui même créé ?


Toutes ces permissions ne sont pas gérées par toutes les fonctions de Joomla, chaque fonction ou composant décidera des permissions qui lui sont nécessaires.

Chaque permission peut prendre 3 valeurs :

- Autorisé

- Non-autorisé

- Hérité

La notion d'héritage consiste a préciser que cette permission est automatiquement réglée selon celle du niveau de groupe inférieur

Par exemple : le groupe Administrateur peut hériter des permissions du Groupe Gestionnaire qui lui ait directement inférieur.

 

 

Et en pratique, ca donne quoi ?

Vous avez installé un Joomla 1.6 tout frais !
Voici une procédure pour configurer correctement la gestion des droits.

 

Etape 1 - Définition des groupes

Comme précisié plus haut, créer et organiser vos groupes selon les "fonctions" identifiées

Passer par le menu : Utilisateurs > Groupes

 

Etape 2 - Définition des Niveaux d'accès

Opération similaire, créer la liste des Niveaux d'Accès et attribuer leur les groupes correspondants.

Passer par le menu : Utilisateurs > Niveaux d'accès

Pour chaque Niveaux, sélectionnez les groupes concernés.

 

Etape 3 - Configuration des permissions par défaut

Dans le menu : Site > Configuration, cliquez sur "Permissions"

Définissez les permissions par défaut pour la totalité des fonctionnalités de votre site.

 

Etape 4 - Redéfinition des permissions par défaut au niveau des données

Si besoin, vous pouvez personnaliser les Permissions dans certains composant qui le proposent.

Accédez aux permissions via le bouton [Paramètres] des composants qui le proposent :

- articles, categories, modules, plugins, templates , composants additionnels (ceux qui le proposeront)

 

Etape 5 - Définition des niveaux d'accès et des permissions spécifiquement pour chaque données

Au final, réglez les niveaux d'accès et les permissions pour chaque donnée :

- articles, categories, modules, composants additionnels (ceux qui le proposeront)

 

Par exemple : les contacts de Joomla sont constitués de Catégories et de Fiches de contacts :

- les catégories de contacts proposent le paramétrage des niveaux d'accès. Les fiches contacts le proposent aussi

Cette règle permettra de définir quel groupe a ccès a cette donnée.

 

- par contre, les permissions permettent de controler les acces aux catégories, pas aux contacts.

Ces règles reprennent les permissions par défaut et vous permettent dé définir pour chaque action, les spécificités a apporter sur ce type de donnée.

 

Ces 5 étapes terminées, votre organisation de droits d'accès est en place !

 

Systrio est un pôle d'experts en solutions internet
Une équipe de spécialistes Joomla! à votre écoute pour votre projet web.

Technologies

XHTML / CSS
Photoshop
Framework Joomla
eCommerce
Paiement sécurisé
Webservices
Google Maps API
Adobe Flex
Google Android

Nos services

Intégration Joomla
Intégration boutique eCommerce
Intégration MarketPlace
Intégration site communautaire
Design Web
Développement Joomla
Formations Joomla!

Mentions légales Systrio 2012