Follow us on Twitter
Blog News ACL Joomla : niveaux d'accès


ACL Joomla : niveaux d'accès

joomla-acl

Avant de commencer à cliquer sur des boutons, vous devez préparer une stratégie ACL pour implémenter ce site web.

Commencez par décrire le problème que vous essayez de résoudre :

Pour le site de l'école que je suis en train de développer :

  • Le grand public peut visiter le site et consulter presque tout le contenu. Cependant, il y a des contenus cachés réservés aux étudiants et aux professeurs.
  • Un professeur peut voir le contenu spécifique aux professeurs, la totalité du contenu pour étudiants et le contenu public.
  • Les étudiants ne peuvent voir que le contenu pour étudiants (et non le contenu pour professeurs) et le contenu public.

 

Remarquez que nous n'avons parlé que du contenu affiché. Nous n'avons rien dit sur la modification, la création, la suppression, ou la gestion de contenu. Cela met en évidence un problème de lecture — ou une interrogation sur les niveaux d'accès.

Nous avons donc décrit ici trois groupes : le public, les étudiants et les professeurs. Le groupe Public existe déjà, mais nous devrons créer les groupes d'étudiants et de professeurs. Tous ces utilisateurs ne font que se connecter au site web pour voir plus de contenu ; la seule autorisation que nous avons donc besoin d'accorder à ce groupe est la capacité à se connecter au frontal du site web. Les professeurs et les étudiants sont avant tout des utilisateurs enregistrés.

Nous devons alors créer notre contenu de telle sorte que les professeurs puissent voir à la fois le contenu pour étudiants et pour professeurs, tandis que les étudiants ne voient que le contenu pour étudiants.

Notre approche de ce problème sera la suivante :

  1. Créer nos groupes, appelés "étudiants" et "professeurs".
  2. Accorder les autorisations de base à nos groupes. Dans notre cas, il s'agit de       l'autorisation de connexion au site.
  3. Créer nos utilisateurs et les affecter aux groupes. Pour notre exemple, je vais en créer un qui s'appelle "étudiant" et un autre qui s'appelle "professeur", mais dans la vie réelle, vous pouvez avoir à créer de nombreux comptes.
  4. Créer un niveau d'accès pour les étudiants, et un autre pour les professeurs.
  5. Créer des catégories pour les étudiants et les professeurs, et leur attribuer les niveaux       d'accès corrects.
  6. Créer des articles pour les étudiants et les professeurs, et leur attribuer les niveaux       d'accès corrects.
  7. Créer des éléments de menu pour les étudiants et les professeurs, et leur attribuer       les niveaux d'accès corrects.
  8. Tester nos connexions pour voir si elles fonctionnent correctement.

1. Créer nos groupes

Pour créer un groupe, connectez-vous à l'administration du site Joomla.

Depuis le menu principal allez à Utilisateurs - Ajouter nouveau groupe. Cet écran s'affichera.

joomla-acl-group

  1. Pour Titre du groupe, entrez Groupe Professeurs.
  2. Pour Groupe parent, choisissez Public.
  3. Cliquez sur le bouton Enregistrer & Nouveau, en haut à droite, pour enregistrer le       groupe Professeurs et créer un nouveau groupe.
  4. Pour Titre du groupe, entrez Groupe Étudiants.
  5. Pour Groupe parent, choisissez Public.
  6. Cliquez sur Enregistrer & Fermer pour enregistrer notre groupe Étudiants et revenir à       la Gestion des utilisateurs : écran Groupes utilisateurs.

Pourquoi ai-je fait des groupes distincts pour Étudiants et Professeurs, avec Public pour parent ? Quand vous commencez à imbriquer des groupes d'utilisateurs, en particulier quand vous débutez avec ACL, les droits deviennent rapidement compliqués. En faisant de vos groupes des fils de Public, vous contrôlez les droits directement, plutôt qu'à travers d'héritages d'autres groupes, et c'est plus facile à comprendre pour la plupart des utilisateurs.

Dans cet exemple, il n'aurait pas été moins compliqué de faire de ces groupes des fils du groupe Enregistré. Si vous choisissez de le faire, cela marche. Cependant, lorsque vous travaillerez sur des exemples plus compliqués avec ACL, gardez en mémoire que définir des groupes d'utilisateurs en fils de Public permet d'éliminer de la complexité et peut être utile pour les débutants.

2. Accorder les autorisations de base

Allez à Site - Configuration globale, onglet Autorisations. Pour les groupes Étudiants et Professeurs, définissez l'autorisation Connexion au site à Permise. Laissez tous les autres paramètres à Hérités. Rappelez-vous que ces groupes héritent des droits du groupe Public, aussi, par défaut, les Étudiants et les Professeurs ne sont pas autorisés à faire n'importe quoi.

3. Créer des utilisateurs, les affecter à des groupes

Maintenant que nos groupes sont créés, nous avons besoin de créer quelques utilisateurs pour les peupler.

Pour cela, allez à Utilisateurs - Ajouter nouvel utilisateur, et vous verrez l'écran suivant :

joomla-acl-user

  • Nom : entrez le nom complet de l'utilisateur, ici Mlle Jones.
  • Identification : entrez un nom d'utilisateur pour cette personne : professeur.
  • Mot de passe et Confirmer le mot de passe : saisissez le même mot de passe deux fois.
  • Adresse électronique : entrez l'adresse électronique de l'utilisateur. (Si vous ne faites pas cela pour un utilisateur réel, utilisez Cette adresse email est protégée contre les robots des spammeurs, vous devez activer Javascript pour la voir. ).

Ignorez les autres champs sur cette page, et faites défiler jusqu'à Groupes affectés. Remarquez que, par défaut, Enregistré est coché.

Choisissez "Professeurs" dans la liste. Mlle Jones, le professeur, est maintenant affectée à la fois aux groupes Enregistré et Professeurs.

Cliquez sur "Enregistrer & Nouveau", et recommencez pour une connexion d'étudiant. Le nom de l'étudiant est David Smith et son identification est david.

Utilisez Cette adresse email est protégée contre les robots des spammeurs, vous devez activer Javascript pour la voir. si vous avez besoin d'une autre adresse électronique. Affectez David aux groupes Étudiants et Enregistré. Choisissez Enregistrer et Fermer quand vous aurez fini.

Pourquoi avons-nous affecté ces utilisateurs au groupe d'utilisateurs Enregistré et aux autres groupes ? Parfois vous voudrez qu'une information associée à une connexion soit visible pour tous ceux qui se connectent, plutôt que pour un groupe déterminé d'utilisateurs. En affectant vos utilisateurs au groupe Enregistré en plus d'un groupe spécifique, vous pouvez (par exemple) afficher un menu utilisateur à toute personne qui se connecte, mais non les éléments de menu spécifiques à des groupes spécifiques. Cela nous aidera également quand nous déciderons de personnaliser une page de connexion.

4. Créer les niveaux d'accès

Nous avons nos utilisateurs, des autorisations de base, et des groupes d'utilisateurs, tout est en place ; c'est le moment de créer deux niveaux d'accès, l'un pour les étudiants, l'autre pour les professeurs.

Allez à Utilisateurs - Ajouter nouveau niveau d'accès, et vous verrez cet écran :

joomla-acl-level-acces

Pour Titre du niveau, entrez niveau d'accès Professeurs. Puis cochez les cases à côté du groupe Professeurs. Cela permettra aux seuls professeurs de voir le contenu du groupe Professeurs.

Cliquez sur Enregistrer & Nouveau, entrez niveau d'accès Étudiants pour le titre du niveau, et cochez les cases groupe Étudiants et groupe Professeurs. Cela signifie que professeurs et étudiants peuvent voir ce contenu. Cliquez sur Enregistrer & Fermer pour quitter cet écran.

Pourquoi n'avons-nous pas assigné le groupe Enregistré au niveau d'accès Professeurs ou Étudiants ? Si le groupe Enregistré avait été assigné à un niveau d'accès Professeurs ou Étudiants, chaque membre de ce groupe Enregistré aurait vu les informations pour les professeurs et/ou les étudiants. Les niveaux d'accès sont fondamentaux pour définir qui voit quel contenu. Réfléchissez soigneusement sur les groupes qui doivent être incorporés à chaque niveau d'accès.

Pourquoi n'avons-nous pas inclus les Super utilisateurs dans les niveaux d'accès Professeurs ou Étudiants ? Si les Super utilisateurs ne sont pas inclus dans ces niveaux d'accès, quand ils se connectent au frontal du site, ils ne peuvent pas voir les contenus pour professeurs ou pour étudiants. Ils peuvent cependant voir ce contenu et le modifier à partir de l'administration de Joomla. S'il est important que les Super utilisateurs puissent voir ces contenus pour professeurs et étudiants, assurez-vous de les assigner aux niveaux d'accès Professeurs et Étudiants.

5. Créer des catégories

Sur ce site web, j'ai créé une catégorie de contenu visible uniquement par les professeurs (avec Contenu - Ajouter nouvelle catégorie) :

joomla-acl-categories

En créant cette catégorie, assurez-vous de positionner le menu déroulant Accès (qui est le niveau d'accès) sur le niveau d'accès Professeurs.

J'ai aussi créé une catégorie pour les étudiants. Elle est définie de la même façon, mais le titre est Catégorie Étudiants et l'accès est niveau d'accès Étudiants.

Pourquoi avoir créé des catégories spécifiques pour le contenu professeur et étudiant ? Vous pouvez créer un contenu n'importe où dans Joomla, puis attribuer le niveau d'accès article par article. La plupart des articles seront assignés au niveau d'accès Public, mais vous pouvez faire des exceptions pour les niveaux Enregistré, Professeurs, ou Étudiants, suivant le cas.

Cependant, le regroupement de vos articles dans une catégorie spécifique définit plus clairement l'audience visée pour ce contenu et le niveau d'accès. Rappelez-vous que vous pourrez toujours créer des sous-catégories dans la catégorie Professeurs, si vous avez trop de contenus à gérer dans une seule catégorie.

Une fois que vous avez défini le niveau d'accès pour une catégorie, ce niveau d'accès est hérité par tous les articles de cette catégorie, même si vous laissez le niveau d'accès défini à Public.

6. Créer des articles

Ensuite je définis un article pour les Professeurs, dans la catégorie Professeurs. Pour créer un article, allez à Contenu - Ajouter nouvel article.

joomla-acl-article

Les champs que j'ai remplis étaient :

  • Titre : Cet article est pour les Professeurs
  • Catégorie : Catégorie Professeurs
  • État : Publié
  • Accès : Niveau d'accès Professeurs
  • Texte de l'article: entrez un texte quelconque.

Cliquez sur Enregistrer & Nouveau, puis recommencez pour les étudiants :

  • Titre : Cet article est pour les Étudiants
  • Catégorie : Catégorie Professeurs
  • État : Publié
  • Accès : Niveau d'accès Étudiants
  • Texte de l'article: entrez un texte quelconque.

Choisissez Enregistrer et Fermer quand vous avez fini.

Je n'ai créé qu'un article pour chaque groupe, mais j'aurais pu en créer autant que je voulais.

Si les articles héritent du niveau d'accès de la catégorie, pourquoi définir aussi le niveau d'accès pour chaque article ? De mon point de vue, c'est de l'auto documentation. Strictement parlant, vous pourriez laisser le niveau d'accès défini à Public (l'option par défaut), et l'article ne serait encore visible que par les membres des niveaux Professeurs ou Étudiants. Cependant, en définissant le niveau d'accès au niveau de chaque article, je suis sûr que, lorsque je reviendrai sur ce site des mois après pour résoudre un problème pour un client, je ne perdrai pas mon temps à retrouver le niveau d'accès hérité par un article donné - il sera déjà étiqueté avec cette information.

7. Créer des éléments de menu

Arrive ensuite le menu. Dans le Menu principal (Menus - Menu principal), nous ajouterons deux liens, l'un pour les professeurs, et l'autre pour les étudiants.

Pour créer ces liens, je suis allé à Nouveau (coin supérieur droit), j'ai choisi Liste de catégorie pour le type d'élément de menu, et j'ai saisi les autres informations comme ci-dessous :

joomla-acl-lien-menu

  • Titre : Information Professeurs
  • Type d'élément de menu : cliquez sur Sélectionner, puis Liste de catégorie
  • État : Publié
  • Accès : Niveau d'accès Professeurs
  • Choisir une Catégorie : Catégorie Professeurs

Cliquez sur Enregistrer & Nouveau, puis recommencez pour les étudiants :

  • Titre : Information Étudiants
  • Type d'élément de menu : cliquez sur Sélectionner, puis Liste de catégorie
  • État : Publié
  • Accès : Niveau d'accès Étudiants
  • Choisir une Catégorie : Catégorie Étudiants

Cliquez sur Enregistrer et Fermer quand vous avez fini.

Pourquoi avez-vous choisi Liste de catégorie ? Toutes les informations sur la catégorie peuvent ainsi être visualisées sur une page. Vous auriez pu définir ce lien comme un blog de catégorie, un article unique, ou tout autre type de lien.

Pourquoi avoir défini un niveau d'accès pour le menu ? Ne l'hérite-t-il pas de l'article ? Pour les éléments de menu, le niveau d'accès est indépendant du contenu vers lequel ils pointent. En d'autres termes, vous pourriez avoir un article avec un niveau d'accès Professeurs, mais laisser l'élément de menu au niveau d'accès Public. Si vous faites cela, et si le module qui affiche le menu est également au niveau d'accès Public, le lien sera visible pour tout visiteur du site. En cliquant sur ce lien, un visiteur, qui n'a pas les droits pour voir le contenu pointé par le lien, verra un message lui expliquant qu'il n'a pas accès à cet emplacement.

Cela pourrait être le comportement que vous recherchez pour un site sur lequel vous vendez des abonnements pour des informations (achetez notre abonnement et vous verrez l'information correspondant à cet article !). Mais si vous cherchez à frustrer le moins possible vos utilisateurs, c'est une bonne idée de définir le niveau d'accès de l'élément de menu en correspondance avec celui du contenu auquel il donne accès.

8. Tester nos connexions

Tout est finalement configuré sur notre site pour avoir des contenus différents pour les étudiants et les professeurs.

Allez sur le frontal du site web. Entrez votre information de connexion dans le champ Connexion.

Entrez l'identifiant et le mot de passe pour le professeur, Mlle Jones. Souvenez-vous que l'identifiant est professeur et le mot de passe est ce que vous aviez saisi.

Si tout est correct, vous devez voir deux liens dans le menu principal, l'un pour "Information Professeurs" et l'autre pour "Information Étudiants".

Revenez à la page de connexion pour cliquer sur le bouton Déconnexion. Recommencez maintenant avec David Smith, l'étudiant, avec l'identifiant david et le mot de passe que vous lui aviez donné.

Si tout est correct, vous devez voir un lien dans le menu principal pour "Information Étudiants".

Conclusion

Si vous avez suivi la totalité de cet exemple, cela vous a pris sans doute environ 15 minutes.

Avez-vous trouvé horrible cet essai de connexion ? Moi, oui. Aussi, dans mon article suivant, je vous montrerai comment personnaliser l'écran de connexion pour tous les groupes d'utilisateurs, à partir de ce même exemple.

Traduction de l'article original: Joomla ACL: Access Levels


0 Commentaire

Ajouter un commentaire


    • >:o
    • :-[
    • :'(
    • :-(
    • :-D
    • :-*
    • :-)
    • :P
    • :\
    • 8-)
    • ;-)

     

    Formulaire identification