Le plugin « Autorité »

Ce plugin permet de configurer des « autorisations » différentes de celles par défaut.

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.

L’interface de configuration
Avec le message d’erreur idoine :)

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);

Notes

[1Les autres fichiers sont les icones, les chaînes de langue et le pipeline qui permet d’ajouter un onglet dans la page de configuration.

Discussion

132 discussions

  • Bonjour,

    Super ce Plugin, il permet vraiment plus de liberté pour la personnalisation des droits et sa facilité d’utilisation.

    J’avais essayé de comprendre un peu le fonctionnement de l’API mais c’est pas évident, il n’est pas vraiment documenté. Je suis persuadé que ça viendra, c’est encore un peu tôt j’imagine.

    Du coup, en attendant, auriez vous une solution pour permettre à un admin restreint de créer des auteurs ?

    Par avance merci.

    Répondre à ce message

  • 3

    Bonjour ! Ce plugin a l’air génial mais je n’arrive pas a la faire fonctionner ... Je galère depuis une heure ca commence a me prendre un peu la tete !!!! Bon, j’ai :
    autorité 0.8
    cfg 1.0.2
    squelettes perso basé sur alternatives ...
    Je suis chez ovh et comme marqué ci dessous j’ai mis le .htacess avec les modifs qui vont bien

    Merci d’avance de m’aider ! je galère et c’est pas fini je pense .

    • Mais quelle version de SPIP utilises-tu ?

    • 1.9.1 ... Ca peut etre ca le bug ?

    • Je viens de voir dans le descriptif ... desole ... je le ferai plus promis ;) ... Faudrait que j’aprenne a lire ....
      Merci quand meme pour la réponse !
      Je suis parti pour la mise a jour moi ....

    Répondre à ce message

  • 2

    La modification des articles par les auteurs ne fonctionne pas.
    Ma config :
    Spip 1.9.2b
    Autorite 0.8
    Cfg 1.0.2
    Crayon 0.6

    Les auteur ne peuvent pas modifier leurs article, seul l’admin peut le faire.

    Une idée ??

    • La révision 12879 des crayons devrait corriger ce souci. Merci !

    • En effet, après quelques essais, le soucis semble avoir disparu après vidage du cache.

      Merci, et bravo pour une telle réactivité .

    Répondre à ce message

  • 4
    Mathilde

    Salut,

    top ce pluggin !

    Bon,alors je ne sais pas si c’est un rapport de bug, ou une mauvaise installation de ma part :

    -  lorsque je veux pouvoir modifier les droits de modifications des forums et que je valide, c’est la valeur par défaut (personne) qui revient et la modif est pas prise en compte
    -  par contre, lorsque je modifie les droits pour les pétitions, ça fonctionne, mais ça applique la même valeur (soit admins ou webmestre) également pour les forums.
    A partir de là, je peux modifier mes forums (pour les pétitions, je sais pas, j’ai pas testé). Mais comme à la base, j’aimerai que les auteurs des forums puissent modifier leurs posts, et que « pétitions » ne le propose pas, le bidouillage ne fonctionne pas jusqu’au bout ...

    Une question, lorsque ce souci sera réglé : Quand les auteurs de forums peuvent modifier leur post, le webmestre y a-t-il accès également ? ça pourrait être un apport intéressant, pour que les auteurs puissent maîtriser leurs écrits et que le webmestre puisse néanmoins intervenir en cas d’abus.

    Spip 1.9.3 SVN [chargé hier]
    Autorité 0.8 [12540]
    CFG 1.0.2 [12396]
    Les Crayons 0.6 [11656]

    Merci !

    • Tu as raison pour le bug, c’est corrigé à la révision 12875

      Pour la question sur les droits « en cascade », en effet ce n’est pas clair : dans le code actuel, si l’on choisit « auteur », les admins sont autorisés aussi. Je ne sais pas si c’est souhaitable / à passer en option. Et de toutes façons il faudra le documenter.

    • Mathilde

      Cool, merci

      Alors, suite :

      j’ai testé sous les 4 statuts (webmestre, admin, redac, visiteur) :
      -  j’ai posté des forums en étant enregistrée sous ces 4 statuts
      -  j’ai tenté les modifs (à nouveau en étant enregistré sous ces 4 statuts)

      -  ça marche impec quand les droits sont attribué au webmestre ou aux admins
      -  par contre, les redacs et visiteurs ne toujours peuvent pas modifier les forums dont ils sont les auteurs.

    • Hé, cette fois c’était un manque du côté des crayons. La révision 12879 devrait corriger ce souci.

    • Mathilde

      Génial, c’est tout bon !

      Et en plus, ça résoud un autre problème que je rencontrais : la possibilité pour les auteurs de modifier leurs données de formulaires...

      Merci merci, vive Spip, les plugins, les développeurs, la vie !

    Répondre à ce message

  • 4

    J’ai un petit souci lorsque je veux autoriser les auteurs à éditer leur message dans les forums, le plugin n’autorise que le webmestre que dois-je faire ?

    • Chez moi ça fonctionne, le menu comporte tous les choix (personne, webmestre, administrateurs, auteur du message pendant 30 minutes ou ad vitam) ; utilises-tu bien les versions SVN de SPIP et du plugin ?

    • J’ai la version SPIP 1.9.2a [8878] et le plugin de ce même article, ich verstehe nicht...

    • Il faut une version de développement de SPIP, actuellement 1.9.3 SVN.

    • Dommage qu’il faille obligatoirement la version snv :(

    Répondre à ce message

  • 5

    Super, ce plugin, mais un truc que je pige pas quand même :

    Je suis webmestre et donc auteur 1. je configure le plugin pour être le seul à toucher à la config, la sauvegarde, etc...
    je crée un autre admin
    Cet autre admin a accès à la page configuration du plugin autorité et peut tout faire...

    Il y a un truc qui m’échappe, là !!???

    • Ce n’est pas normal, en effet ; quelle version de SPIP ?

    • C’est la 1.9.2a, pas la svn. Ca vient de là ?

    • C’est probable !

    • Quant à moi qui suis sous 1.9.2b je rencontre le même problème.

      En effet en haut de la page du plugin autorité j’ai un texte qui m’indique ce qui suit :

      Attention les choix suivants peuvent ne pas fonctionner avec votre version de SPIP :

      -  auteur modere forum
      -  auteur modere petition
      -  auteur modifie email
      -  redacteur voit stats
      -  redacteur modifie mots
      -  configurer
      -  effacer la base
      -  interdire la creation de rubriques
      -  faire des sauvegardes

      Quelle version faut-il avoir ?

      Par avance merci
      Ubu

    • Il faut la 1.9.3 (branche SVN, elle n’est pas encore publiée). Sans cela il n’y a que très peu d’options qui marchent (le plugin a servi à « pousser » le développement du core).

    Répondre à ce message

  • 3

    Dans un sous-dossier, une version spip 192a et 193 9157 avec les dernière version des trois plugins autorité, cfg, crayon :

    La page /?exec=cfg&cfg=autorite indique seulement : « erreur manque parametre externe ».

    spip-log indique :

    May 04 15:47:06 ... calcul (0.03s) [../plugins/autorite/fonds/cfg_autorite] _cfg_='?exec=cfg&cfg=autorite&vue=autorite&cfg_id=&base_url=
    http://.../ecrire/&lang=fr&arg=cfg0.0.0-autorite-autorite&hash=48dc5185956195069592a4746e9672a5', fond='fonds/cfg_autorite', lang='fr', date='2007-05-04 15:47:06', date_redac='2007-05-04 15:47:06' (6729 octets)

    Une idée ?

    • Utilises-tu une version imbécile 4.4.x de php ?

      Essaye la nouvelle version de cfg, éventuellement ça marchera partiellement mais tu risque d’avoir une colonne gauche « blanche »

    • Oui la version php est bien 444 made in OVH et aucune mise à jour ne permet de faire fonctionner le plugin : la config n’est même pas mémorisée.

      Y a t il une solution ?

    • Stéphane

      Apparemment OVH propose de forcer l’interprêtation des fichiers php en php5 par une modification du .htaccess : http://guides.ovh.net/ConfigPhp.

      Est-ce que tu as tenté cette solution et est-ce que cela résoud la compatibilité avec le greffon « Autorité » ? Merci pour le retour d’info.

    Répondre à ce message

  • 1

    Au vue des fonctionnalités c’est LE plugin que j’attendais.Merci.

    Le seul truc c’est que malgré tout ma bonne volonté, je n’arrive pas à le faire fonctionner.
    Je suis sous :

    -  Easyphp 1.8.0.1
    -  SPIP 1.9.3 dev.
    -  Le dernier Cfg

    J’ai activé les plug-in, vider le cache.

    En se connectant en tant que rédacteur, où est ce que le bouton permettant de modifier l’article est censé apparaître ?

    • Il apparaît dans l’espace privé ; mais aussi sur le site public au niveau des éventuels « crayons » de la page : voir la contribution ad hoc Les-Crayons (cela demande de modifier un peu les squelettes).

    Répondre à ce message

  • 2

    Mon principal problème actuellement est que les admin’ restreints ne peuvent pas créer leurs propres mots-clés, est-ce qu’il serait possible d’ajouter cette possibilité ?

    • La version 0.2 du plugin permet de le faire ; elle ne marche que si tu prends SPIP dans la branche de dev en version [9152] ou supérieure.

      Enjoy !

    • Merci pour la réponse !

    Répondre à ce message

  • 1

    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

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom