Guide Drupal 6 - Épisode 5 : régler les droits d'accès et finaliser un site Drupal

Évidemment, ce que je vais dire ici est à adapter à votre projet. La première chose à faire, dont je ne vais pas traiter dans cet article, est de définir la politique d'accès de votre site : quels types d'utilisateurs vont s'y connecter ? quels devront être leurs pouvoirs sur le site ? etc.

Comprendre la gestion utilisateurs

Les droits d'accès dans Drupal sont extrêmement nombreux et complexes. Vous apprendrez à les comprendre en pratiquant. En outre, il existe un certain nombre de modules qui permettent d'ajouter des fonctionnalités de contrôle d'accès (voir le billet de la série consacré aux meilleurs modules Drupal). Je vais me contenter ici de quelques remarques et conseils issus de ma pratique. La règle fondamentale de sécurité sur une application web consiste à n'accorder aux utilisateurs que les droits nécessaires pour les tâches et les actions qui sont définies pour eux dans votre politique d'accès. Mieux vaut donc créer un grand nombre de rôles spécifiques et différents -- en augmentant la division des tâches -- plutôt que d'avoir un ou deux rôles génériques. Ainsi, vous attribuerez à une même personne plusieurs rôles différents afin de pouvoir ajouter ou retirer telle permission aisément à telle ou telle personne. Avant de définir les droits d'accès, il est préférable d'avoir défini tous les types de contenus, sinon vous devrez tout refaire. Un rôle correspond aux actions qu'un utilisateur à qui on a attribué ce rôle peut réaliser. C'est-à-dire qu'un rôle définit un ensemble de règles auxquelles vont obéir tous les utilisateurs de ce rôle. Voici quelques explications sur la manière de les régler :

  1. Gestion des utilisateurs > Rôles : permet de créer, modifier et supprimer les rôles. On peut créer autant de rôles que l'on veut, et surtout leur donner le nom que l'on veut. À noter : les 2 rôles par défaut de Drupal --  dont les "opérations" ne sont pas modifiables -- sont : utilisateur anonyme (auquel on peut donner un nom par défaut dans Configuration du site > Informations et auquel il est quand même possible d'attribuer plein de droits d'accès, par exemple un wiki ouvert où n'importe qui, sans se loguer, peut modifier le contenu) et utilisateur identifié, qui n'a que quelques droits supplémentaires mais auquel il est également possible d'attribuer d'autres droits (ce qui n'a pas grand intérêt). D'abord, il faut donc définir les "rôles"  dont vous avez besoin (exemple : administrateur, rédacteur, emmerdeur, blagueur, etc.) : l'avantage sur d'autres CMS c'est que vous pouvez créer vos propres rôles, en choisissant leur nom et leur nombre
  2. Gestion des utilisateurs > Droits d'accès : tableau récapitulatif des droits par rôle. Le droit d'accès minimal généralement attribué à l'utilisateur anonyme est "accéder au contenu". Après on fait comme on veut. Attention, comme certains droits dépendent de modules spécifiques, il faut donc toujours venir vérifier les droits après ajout ou suppression de modules. Par défaut, lorsqu'on installe un module aucun droit n'est accordé pour ce module. Exemple important : il faut pouvoir permettre à un utilisateur de blog de supprimer ses propres billets, sans pouvoir intervenir sur ceux des autres. Pour des contrôles d'accès d'une grande finesse, il existe des modules permettant d'aller encore plus loin, par exemple contrôler l'accès à un noeud en fonction de termes qui lui sont associés, ou réserver certaines pages précises à certains rôles, etc. Il est également possible de créer des groupes  séparés chacun ayant sa propre liste de membres.
  3. Gestion des utilisateurs > Utilisateurs : création et gestion des utilisateurs. Permet concrètement de gérer les identités et informations personnelles.
  4. Gestion des utilisateurs > Paramètres des utilisateurs : permet de définir des options importantes comme le fait de ne pas autoriser la création de nouveaux comptes utilisateurs, la personnalisation des formulaires automatiques envoyés à l'utilisateur (avec la liste des variables utilisables !), l'activation de l'avatar utilisateur, la signature, etc.
  5. Construction du site > Thèmes > onglet Configurer : contrôler les pages sur lesquelles s'affichent les portraits des utilisateurs ! Important car on ne se doute pas toujours que ça se trouve ici !
  6. Gestion des utilisateurs > Règles d'accès : permet d'autoriser ou refuser l'accès au site à des noms d'utilisateurs, adresses e-mail, hôte (domaines ou IP). Pour pouvoir combiner avantageusement ces règles, une règle Autoriser prend toujours le dessus sur une règle Refuser.

Règle : procéder par escalade, i.e. ajouter seulement à un rôle les droits d'accès que le rôle inférieur n'a pas, pour qu'il n'y ait aucun doublon de droits d'accès dans plusieurs rôles. Et ainsi, pour chaque utilisateur, combiner les rôles différents selon les privilèges qu'on veut lui donner. L'avantage immense est de ne pas avoir à assigner une permission individuellement à un utilisateur donné. D'où l'intérêt d'avoir un panel large et confortable de rôles. Attention : tout nouveau rôle hérite des droits de l'utilisateur identifié (inutile donc, de les recocher).

Faire attention à certains droits d'accès importants

Même si elle est très complète, la présentation des droits d'accès, dans Drupal, est encore un peu brute et mériterait d'être repensée. C'est pourquoi il est important de porter attention à quelques droits d'accès clef :

  • administrer les noeuds : ce droit permet d'autoriser un rôle utilisateur à gérer les informations de publication (auteur, date), les options de publication (publié ou non, promu en page d'accueil) et surtout de supprimer un node (article, page, etc.) ; en outre, si ce droit est attribué, la gestion de tous les types de contenu est rendue accessible alors que s'il est désactivé, on peut limiter un rôle utilisateur à la gestion d'un seul ou plusieurs types de contenus déterminés, ce qui est très pratique ;
  • accéder aux pages d'administration : ce droit doit être activé pour attribuer à un rôle utilisateur l'accès à certaines pages d'administration, y compris si c'est seulement l'accès à 1 seule rubrique de l'administration, par exemple les "Rapports" (journal, statistiques...), ou la "Gestion des utilisateurs " (ce qui peut être dangereux si vous n'avez pas installé le module Protect Critical Users). Combiné au module "Menu per role", c'est très pratique.
  • access all views : si ce droit est accordé, alors les droits d'accès définis dans chaque Vue sont supplantés ; en cas de Vues devant apparaître seulement à certains rôles, il vaut donc mieux ne pas cocher ce droit et définir la politique d'accès au cas par cas dans chaque vue concernée
  • administrer les menus : ce droit est nécessaire pour disposer des "Paramètres de menu" dans l'interface d'édition d'un node ; cela donne aussi le droit d'administrer les menus via Construction du site > Menus (ce qui peut être partiellement empêché avec le module menu per role)

Une fois définis les rôles et les permissions/droits d'accès de chacun, vous devez tester l'accès de chaque type d'utilisateur en créant des comptes de test. Sinon, gare aux mauvaises surprises !

Effectuer les derniers réglages

Avant la mise en production de votre site, quelques opérations essentielles ne doivent pas être oubliées :

  • Gestion du Contenu > Backup and Migrate : à condition d'avoir installé le module "Backup and Migrate", vous pouvez depuis cette page paramétrer des sauvegardes automatiques de la base de données du site, mais aussi la télécharger le dernier état de la base, la restaurer, etc.
  • Configuration du site > Rapports d’erreur : permet configurer les URLs des pages 404 (page non trouvée) et 403 (page accès refusé pour les utilisateurs non autorisés à visualiser un contenu) ; je vous conseille vivement d'installer et activer le module "404blocks", qui conservera la mise en page de votre thème sur les pages 404 et 403.
  • Configuration du site > Date et heure : vérifier que tout est correct dans le format des dates (important pour un site en français), surtout si vous avez installé le module Date ou Date API, qui modifie les réglages de base du système que vous pourriez avoir fait au départ ;
  • Configuration du site > Performance : permet d'activer le cache de Drupal et de régler sa durée, ce qui est capital avant la mise en production ; il est fortement recommandé d'activer aussi le cache des blocks,  de compresser les CSS, de vider le cache une première fois, etc.
  • Configuration du site > Informations : c'est ici désormais que l'on peut programmer la durée des tâches cron (ce qui suppose l'installation et l'activation du module Poormanscron cité plus haut). Le cron est un script qui permet aux modules d'exécuter régulièrement des tâches nécessaires (par exemple, Aggregator doit régulièrement mettre à jour ses flux), en déclenchant l'exécution des tâches planifiées pour chaque module concerné. Il est recommandé de programmer l'exécution du cron toutes les heures.
  • N'oubliez pas de tester dans votre site dans les principaux navigateurs (Firefox, Safari, Opera, Chrome, IE7, IE8...) et sous différents systèmes d'exploitation (Windows, Mac OS, Linux...).
  • Prévoir une stratégie de sauvegarde du site, notamment tout le répertoire /sites + la base de données MySQL
  • Pensez à installer une solution de statistiques, comme Piwik, grâce au module du même nom pour Drupal.
  • Vous pouvez aussi définir des Actions et Déclencheurs permettant de rendre automatique une foule de processus : par exemple, lorsqu'un utilisateur s'abonne à une newsletter, on peut déclencher un envoi de courriel, ou bien quand un utilisateur se connecte au site, on peut le re-diriger vers une page choisie, etc.

Commentaires

What's up to every one, since I am in fact eager
of reading this weblog's post to be updated daily.
It contains nice data.

Bonjour,
Comment autoriser l'accès à certains onglets du menu et pas à d'autre à un utilisateur?
merci

Günstige Preise für Windows Product key,Windows 7 key kaufen in Deutschland,Windows 8.1 Key,60% Rabatt.In unserer Website können Sie alle Arten von Windows 7, Office 2007, Office 2013 Lizenzschlüssel zum Beispiel Windows 7 kaufen, Office Professional 2010 günstige Preise kaufen, um sicherzustellen, dass alle Aktivierungsschlüssel sind authentisch, offizielle Unterstützung für Online-Updates.

After I originally left a comment I seem to have clicked the -Notify
me when new comments are added- checkbox and now every time a comment is
added I get 4 emails with the same comment. Is there
a way you can remove me from that service? Cheers!

Look at the north west london college uk, Mark Create Wallace This one’s one more instant, a minimum of in case you’re any fan with the literary article.
Just about the most excellent essayists of them all, Wallace shoves the limits from the kind,
individuals tolerance, regarding his or her own brain in addition to
pops up having a classic variety of writing upon many techniques
from John Updike to be able to, well, Guide Drupal 6 - Épisode 5
: régler les droits d'accès et finaliser un site Drupal | LEKTUM.
You’ll giggle aloud prior to an individual think again about
your entire living. After which it replicate.
Versus Interpretation, Ann phd business programs part time: : That collection, southlake carroll high
school graduates x2012 very first, can be a dazzling feat regarding intellectualism.
Your ex essays dissect not merely skill though the means most of us consider art,
imploring us to expose the sumptuous surface associated with skill devoid of mucking about within it.
Furthermore, it provides the great Paperwork on Camp out, one among my all-time favorites.

Though the iOS Simulator in Mac OS X is one of the difficult platform to be used, I think if you use it in the right way. You can work without encountering any issues. Mac book is the most stylish note book i have ever come across.
http://www.businesswebdevs.com

Impressive piece, I loved the two way radio ear plugs part

Hello, important suggestion and an exciting article post,
it is going to be exciting if this is still the state of
affairs in a few years time

Great critique, I liked the communication devices visually impaired part

Hello, great recommendation and an exciting article
post, it will be interesting if this is still the case in a few months time

I searched for this title and discovered this, great read

Thank you for the auspicious writeup. It in fact was a amusement account it.
Look advanced to more added agreeable from you!
However, how can we communicate?

They even had to stay together as a family. David Cameron said
Thomas Cook had fallen behind rivals in its package holidays
internet offering. Drivers package holidays could enjoy the special kids' menu pasta,
chips, nuggets, pizza etc they'd got used to.

Ajouter un commentaire