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 !

    J’ai un léger soucis depuis je ne sais pas combien de temps (je viens juste de m’en rendre compte), le plugin Autorité une fois activé prive du moyen de créer des admins restreints… Cette option disparaît complètement de la page de gestion de l’auteur.

    Là où ça se corse, c’est qu’en essayant sur un autre site, je n’ai pas ce problème. J’ai désactivé tous les autres plugins, j’ai testé dans tous les sens, pas moyen de trouver la différence entre les deux.

    Est-ce que quelqu’un a déjà eu ce soucis ? Bon c’est facile à contourner, il faut juste désactiver le plugin le temps de créer un admin restreint, mais c’est un peu laborieux.

    Répondre à ce message

  • 1

    Je constate une interaction entre les plugins autorité et acces restreint.

    Avec la version modifiée récente : http://trac.rezo.net/trac/spip/changeset/15961

    Lorsque l’on spécifie que le webmestre peut modifier la configuration du site et que l’on se connecte en administrateur complet, le bouton configuration est absent. Normal.

    Si le plugin Accés restreint est installé, l’interface privée intégre un sous-bouton de configuration qui va se placer dans configuration
    Le bouton secondaire qui apparait est fonctionnel, mais le bouton principal dont il dépend est désactivé et affiche un carré gris clignotant et un message d’erreur en cas de clic.

    Ce n’est pas bloquant, mais simplement disgracieux. N’y aurait-il pas une petit modif permettant de retrouver le bouton configuration si un sous-menu peut exister.

    • Non, pas sous SPIP 2.1 (en tous cas, pas facilement) ; en revanche ce problème ne devrait pas figurer dans la prochaine version de SPIP, dont le bandeau a été reprogrammé.

    Répondre à ce message

  • 1

    Bonjours, je suis nouveau dans SPIP.

    Je me demande si il est possible d’interdire la supression d’une rubrique par l’administrateur qui en a la charge ?
    (parce-qu’on peut restreindre les droits d’un admin a une rubrique, mais si il la supprime... on est obligé de la re-créer ...)

    > peut-etre que la fonction existe déja ?
    > peut-etre qu’on peu rajouter la fonction au pluggin « Autorié » ?

    Je propose à ceux qui s’y connaissent de proposer des pistes (tuto, bouts de codes, marche a suivre) pour mettre en place cette fonction.

    Merci beaucoup ! tchao

    • A mon sens c’est une suggestion à faire sur la liste spip-dev, car ça paraît logique et nécessaire au niveau du « core » qu’on ne puisse supprimer une rubrique que si on a le droit de modifier sa rubrique parente.

    Répondre à ce message

  • 3

    Sous SPIP 2.0 avec plugin autorité
    quand je consulte, dans la partie privée, la liste des auteurs la
    mention entre parenthèse si l’auteur est administrateur restreint
    apparait.
    Tous les auteurs du site que je prépare étant appelés à n’être admin que
    de leur partie, il auront tous ce statut. L’information est du coup un
    peu inutile.

    Par contre, il me serait précieux que l’intitulé de la rubrique (dont
    l’auteur s’occupe) apparaisse dans la liste, permettant de savoir d’un
    coup d’oeil qui-fait-quoi.

    Cela vous semble t’il simple à réaliser ?

    • Bonne suggestion, à proposer pour SPIP lui-même (le plugin Autorité ne s’occupe que de la gestion des droits, et pas de l’affichage dans l’espace privé).

    • Merci fil de ta réponse rapide.
      Je suis bien prêt à essayer, mais mon niveau ne me permet pas de savoir quels fichiers modifier ?
      Vers où regarderais-tu pour aménager la gestion des droits dans le sens indiqué ?

    • le fichier ecrire/exec/auteurs.php, ou sur la liste spip-dev

    Répondre à ce message

  • 1

    J’utilise le plugin notament pour permettre aux auteurs de mettre à jour leurs articles.

    Lorsque un auteur retouche à son article, il faut que je retourne valider l’article, sinon il disparait de la publication. Cela ne m’arrange pas du tout !

    C’est le fonctionnement normnal du plugin ou un bug chez moi ?

    SPIP 2.1.1 [15871] installation mutualisée pour plusieurs sites

    Autorite Version : 0.9.7 [38617]

    Répondre à ce message

  • Petarel

    Bonjour et merci pour ce plugin qui est vraiment vital pour mon site !

    J’ai cependant un pb dans la configuration...
    Dans la configuration, à « qui peut effectuer les sauvegardes ? », je sélectionne « tous les administrateurs y compris restreints », j’enregistre.... et ça réaffiche « administrateurs complets »... Absolument impossible de faire enregistrer « administrateurs restreints ».

    Je suis sous SPIP 2.0.10, avec SARKA 3.0.3, et j’ai installé la dernière version du plugin « autorité » (Revision : 38617 du 6 juin 2010) mais j’ai le même pb avec la version du mois de mars.

    Merci beaucoup si vous pouvez m’orienter, je galère !

    Répondre à ce message

  • 2
    Pascale

    Bonjour,
    Je ne comprends pas très bien le fonctionnement. Je souhaite « cantonner » des groupes d’auteurs à certaines rubriques : ils ne doivent pouvoir écrire que dans une rubrique et ses sous-rubrique (et si possible ne pas voir les articles en cours de préparation dans les autres espaces mais ce n’est pas principal).
    J’ai donc choisi « Administrateurs et rédacteurs » pour le paramètre « Quels types d’auteurs peut-on associer à des rubriques ? »
    Puis j’ai créé un rédacteur restreint à une rubrique donnée. Au test, ce rédacteur peut proposer une article dans n’importe quelle rubrique du site.

    Est-ce un problème de paramétrage ou de compréhension ?
    Le plugin est associé à spip 2.1

    Merci

    • Pour ce genre de besoin il faudrait plutôt s’orienter vers le plugin « accès restreint » qui permet de restreindre des zones de l’espace publique et/ou de l’espace privé.

    • christophe degoy

      Bonjour,

      je rencontre le même type de problème

      J’ai besoin de configurer des administrateurs restreints, pour modération d’une rubrique du site (un forum avec spipBB) pour qu’ils puissent avec le plug-ins Les Crayons et Autorité pouvoir modifier le contenu d’un message/titre du forum.

      J’ao donc créé des admins restreints à la rubrique e, question. Mais lorsque sous Autorité je configure le choix dans « Administrateurs restreints ? les administrateurs associés à des rubriques ont : », j’ai deux possibilité : « les mêmes droits que tous les administrateurs » ou « des droits limités à ces rubriques »

      En utilisant le choix « des droits limités à ces rubriques » je ne peux effectivement pas créer/modifier les articles d’autres rubriques. Mais avec ce choix, je ne peux pas non plus éditer/supprimer un message sur le message du forum lié aux articles de la rubrique restreinte. En cliquant sur supprimer spipBB me ferme en fait le sujet sans l’effacer.

      En revanche si je sélectionne « les mêmes droits que tous les administrateurs » , je peux donc effacer un message d’un forum, en éditer le titre/contenu/signature de l’auteur. MAIS même en étant restreint à la rubrique du forum, je peux modifier ou effacer le contenu de toutes les autres rubriques du site.

      Je ne sais pas s’il s’agit d’un bug du plugin Autorité, mais ça revient à faire des administrateurs restreints de véritables administrateurs, ce qui n’est pas le but de l’option admin restreint lors de la création d’un auteur avec spip.

    Répondre à ce message

  • 2
    tiguerrier

    Bonjour la communauté,

    Je suis bien embêté, ce plugin ne fonctionne pas chez moi.

    En tant qu’admin, je reçois une notification lorsque un rédacteur veut publier un nouvel article mais PAS LORSQU’IL VEUT MODIFIER SON ARTICLE ! ce qui était quand même le but. -> obligé de le passer en admin restreint sur sa rubrique. Mais là, il peut faire ce qu’il veut comme modifs dans son article sans que je sois alerté.
    Brrrr.
    Quelqu’un a-t-il déjà eu ce bug ? (même aprés cache vidé, plugin réinstallé etc.)

    Je suis sous spip 2.0.10 14698
    Fonction php ()mail autorisée chez mon hébergeur.

    J’ai les dernières versions des plugins cfg, bonux, formulaire de contact avancé, facteur, notifications et tout marche à merveille, sauf Autorité.

    Merci pour vos avis.

    • Ce que tu suggères n’a jamais fait partie des spécifications du plugin Autorité (ni même du plugin Notifications), il n’est donc pas étonnant que ça « ne marche pas ». On peut l’ajouter, bien entendu.

    • tiguerrier

      Ah bon, autant pour moi !

      Je pensais que cela « allait de soi » puisque aprés modifs, le rédacteur doit re-proposer l’article à l’évaluation... Et que dans ce cas là, spip prévoit que l’admin reçoive une notification...

      Mais j’ai dû pêcher par trop d’enthousiasme...

      Donc, avec ce plug-in par ailleurs très fonctionnel, on peut autoriser un rédacteur à modifier son article mais celui-ci devra attendre que l’admin se connecte au site un jour ou l’autre pour en avoir connaissance ?

      DAmned, on aura parfois le temps de tuer un âne à coup de figues comme on dit par chez nous.

      Ah si seulement j’étais codeur php... En plus de designer...

      Bon courage et merci aux développeurs qui se pencheraient sur cette question d’alerte aprés modifs et qui rendrait ce plugin indispensable pour qui doit gérer beaucoup de rédacteurs.

    Répondre à ce message

  • Oui, c’est surement un prbleme de caractères comme ça....
    Mais comment je les vois ?
    Et dans quel format sauver sinon ?
    Merci
    Agnes

    Répondre à ce message

  • 1

    Bonjour
    Je suis sous SPIP 2.0, comme indiqué dans cette page, j’ai intégré un bete code dans mon fichier config/mes_options.php (qui n’existait pas)

    <?php
    define ('_ID_WEBMESTRES', '7:3');
    ?>

    Sur mon serveur Easyphp local ca fonctionnait bien, mais chez 1and1, ca me crée une incapacité de me loguer dans l’espace privé :

    problème de cookie
    _ Pour vous identifier de façon sûre sur ce site, vous devez accepter les cookies.
    Veuillez régler votre navigateur pour qu’il les accepte (au moins pour ce site).

    Si je vide le tmp/cache et que je supprime mes_options.php, ca remarche....
    Bizarre ?

    • Il faut que tu vérifies que le fichier mes_options.php ne contient pas en début ou fin de page d’espaces, ou sauts de ligne, ou caractères « BOM » — ce sont des caractères invisibles à l’oeil nu que ton éditeur de texte ajoute parfois si tu sauves le fichier en utf8.

    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