Introduction
D’aucuns trouvent le modèle d’autorisations de SPIP trop rigide (voir « psychorigide ») : par exemple, seuls les rédacteurs en qui l’on a confiance (et qu’on a donc promu « administrateurs ») sont autorisés à modifier les articles déjà publiés.
Depuis sa version 1.9.2, SPIP propose toutefois une API (interface de programmation) qui centralise tous les contrôles d’autorisations diverses et variées.
Le plugin « Autorité » est le premier à exploiter cette API pour proposer d’autres modes de fonctionnement hiérarchique. Il utilise (et nécessite) le plugin CFG, ce qui fait que son code reste relativement simple, en tous cas sans superflu.
Fonctionnalités
Dans sa version 0.9, le plugin « Autorité » propose les possibilités suivantes :
Rôle de webmestre
Ce rôle est indispensable pour modifier la configuration du plugin. Le webmestre est, par défaut, l’administrateur
id_auteur=1
du site.Les webmestres ainsi définis ont également le privilège de ne plus être obligés de passer par FTP pour valider les opérations sensibles du site, comme la mise à jour de la base de données ou la restauration d’un dump.
On peut changer la liste des webmestres en allant éditer le fichier
config/mes_options.php
(à créer le cas échéant), pour y indiquer l’id_auteur
des auteurs qui auront les autorisations de webmestre. Par exemple, si les webmestres sont les administrateurs 2, 4 et 11 :<?php define ('_ID_WEBMESTRES', '2:4:11'); ?>
Droits des auteurs et visiteurs
- Auteur modifie article : chaque rédacteur (ou visiteur si l’on utilise un plugin tiers type Openpublishing) peut modifier les articles dont il est l’auteur (uniquement via les crayons pour les visiteurs) ;
- Auteur modère forum : chaque rédacteur peut modérer le forum des articles dont il est l’auteur ;
- Auteur modère pétition : chaque rédacteur peut modérer la pétition des articles dont il est l’auteur.
À noter : le premier de ces choix valide obligatoirement les deux suivants.
Droits des rédacteurs
- Rédacteur modifie email : chaque rédacteur peut modifier son email sur sa fiche d’informations personnelles ;
- Mots-clés : qui peut créer et éditer les mots-clés (administrateurs restreints, rédacteurs...) ;
- Rédacteur voit stats : les rédacteurs peuvent visualiser les statistiques.
Crayons
- Editer les forums : par défaut, personne n’est autorisé à modifier les forums ; ce réglage permet de laisser le webmestre (ou les administrateurs) éditer les forums. Mais aussi, si on le souhaite, les auteurs des messages de forum eux-mêmes (à condition qu’ils soient identifiés). Une option (très expérimentale) permet de ne laisser cette dernière autorisation que pour une durée d’une heure ;
- Editer les signatures : par défaut, personne n’est autorisé à modifier les signatures de pétition. Ce réglage permet d’ouvrir ce droit au webmestre ou aux administrateurs.
Attention : pour ces deux réglages, SPIP n’offre pas d’interface de modification ; il faut utiliser Crayons (ou développer un plugin spécifique).
Espace wiki
Après avoir choisi dans le menu un secteur que l’on veut traiter comme un wiki (c’est-à-dire éditable par tous depuis l’espace public — à condition d’avoir une interface, par exemple les crayons), on indique si l’on souhaite ouvrir le wiki :
- aux rédacteurs du site ;
- aux visiteurs enregistrés ;
- à tous les visiteurs du site.
Configuration du site :
- interdire la configuration du site aux administrateurs non-« webmestres » ;
- autoriser les sauvegardes pour les administrateurs restreints / ou les interdire pour tous ;
- interdire de supprimer les données de la base (s’ajoute à l’authentification FTP) ;
- interdire la création de nouvelles rubriques à la racine, ou en sous-rubriques.
Configuration des auteurs :
- À la création d’un auteur, quel est son statut par défaut ?
- Quels types d’auteurs peut-on associer à des rubriques ?
- Ignorer la notion d’administrateur restreint
D’autres réglages peuvent s’ajouter à ces idées... N’hésitez pas à faire des propositions et à participer au développement.
Installation & configuration
C’est « plug and play ». Une fois les deux plugins « Autorité » et « CFG » activés, on se rend sur la page ecrire/?exec=cfg&cfg=autorite
pour modifier les réglages (si l’on n’indique aucun réglage, les autorisations standards de SPIP s’appliquent).
Ensuite, roule le navire, après un éventuel vidage du cache les nouvelles autorisations sont en place.
Compatibilité
La quasi-totalité des réglages ne sont opérationnels qu’avec les versions récentes de SPIP (version 2.x ou 3.x) ; seul le réglage auteur modifie article est compatible avec SPIP 1.9.2a. Il faut également une version de CFG supérieure ou égale à 1.0.2.
Structure du code (si vous souhaitez participer au développement)
Le plugin est développé sur SPIP zone.
Ce plugin comporte quatre fichiers principaux [1] :
- plugin.xml
décrit le plugin ;
- inc/autoriser.php
étend le système d’autorisations et définit les fonctions nécessaires lorsque les autorisations sont différentes des autorisations par défaut ;
- fonds/cfg_autorite.html
définit l’interface de configuration, sous forme d’un simple squelette (ceci grâce au plugin CFG) ;
- fonds/cfg_autorite_fonctions.php
établit la liste des webmestres pour affichage dans le panneau de configuration (Cf. copie d’écran ci-dessous).
Dans inc/autoriser.php
on fait bien attention à coder très proprement les fonctions, de manière à toujours pouvoir les redéfinir « de l’extérieur » (dans mes_options.php
par exemple) ; le cas échéant, un message adapté signale les conflits dans le panneau de configuration.
Il est recommandé, lors des tests, d’utiliser plusieurs navigateurs connectés sous des profils d’utilisation différents ; et d’activer le debug des autorisations en inscrivant dans mes_options.php
la ligne :
define ('_DEBUG_AUTORISER', true);
Discussions par date d’activité
133 discussions
J’ai installé le plugins autorité + CFG sur un spip 192 avec un squelette minigrispip.
Quand je veux aller sur le plugin autorité j’obtiens le message suivant :
« erreur manque paramètre externe »
Quelqu’un peut-il éclairer ma lanterne ? A quel moment ai-je raté une marche ?
Ca semblait lié à une bizarrerie de certaines versions de php ; la révision [11898] de CFG devrait corriger ce bug.
Répondre à ce message
Bonjour Fil,
Avec un SPIP 1.9.2a je donne aux rédacteurs l’autorisation de modifier leurs articles. Quand un rédacteur veut modifier la date de rédaction ancienne ou la date de publication lorsqu’il a été publié, s’affiche un message « Accès interdit » et « dater ». Si on actualise la page, SPIP affiche la date (il l’a donc pris en compte)...
Stanislas
Exact. C’est une incohérence dans SPIP, corrigée par la révision [9153]. Il y en a sûrement beaucoup d’autres, puisque l’API inc/autoriser n’a poas encore été appliquée partout (ce plugin est une excellente façon de les détecter).
Répondre à ce message
Bonjour,
Je n’arrive pas à faire fonctionner le plugin avec :
- spip 1.9.2a
- crayon 0.4.0
- cfg 1.0.0
- autorite 0.1
J’ai autoriser les auteurs à modifier leurs articles, et j’ai mis toutes les rubriques du site en mode wiki, et pourtant en se loggant en rédacteur, le crayon n’apparait jamais alors qu’en se loggant en admin le crayon fonctionne (le cache à bien été vidé pourtant)
Ces version sont-elles bonne ??
A priori auteur modifie article devrait marcher en 1.9.2a ; cela dit je n’ai pas testé et ne compte pas le faire : je développe sur la SVN de SPIP et je ne cherche pas à assurer la compatibilité avec la version stable — on n’en est encore qu’à la version 0.2 :)
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |