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é
132 discussions
Bonjour,
Il me semble qu’il y a une petite coquille dans la configuration de ce plugin via CFG, pour permettre aux rédacteurs de consulter les stats.
Dans Configuration >> CFG >> Autorité >> Réglage des autorisations >> Droits des auteurs >> Rédacteur voit stats. Soit le fichier plugins/autorite/fonds/cfg_autorite.html ; ligne 158 :
Cela ne correspond pas au fichier plugins/autorite/inc/autoriser.php (à partir de la ligne 349).
Cela fonctionne en remplaçant par :
Merci pour le correctif Vivien, intégré en http://zone.spip.org/trac/spip-zone...
Répondre à ce message
Bonjour,
Je suis en SPIP 192d, plugins CFG 1.10.3 et autorité 0.9.2.
Je suis administrateur « total » du site avec l’ID 59, j’ai mis dans config/mes_options.php les lignes suivantes
j’ai vidé le cache, supprimé le cookie de connexion et rien ne se passe, j’ai toujours
Accès refusé
Seuls les webmestres du site sont autorisés à modifier ces paramètres.
Pour en savoir plus, voir la documentation.
Que se passe-t-il docteur ?
J’ai même vidé /tmp, mais ça ne fait rien de plus... :-(
J’ai réussi à faire fonctionner le plugin en modifiant le fichier
/inc/autoriser.php
ce qui n’est pas très pérenne. Peut-être un problème de droits ? Pourtantconfig/mes_options.php
est en lecture...Mystère !
Répondre à ce message
Bonjour
Nouveau venu dans le monde merveilleux de SPIP, je cherche une solution pour que chaque rédacteur est accès à une ou plusieurs rubriques que le webmestre aura défini.
Par exemple, dans le cas d’un site multi associatif,
le rédacteur du club de foot peut proposer un article dans la rubrique FOOT mais je ne veux pas qu’il puisse proposer un article dans la rubrique BIBLIOTHEQUE.
Je pensais que AUTORITE pouvait m’aider mais d’après mes tests, un auteur à qui j’ai restreint l’accès à FOOT peut quand même rédiger un article dans BIBLIOTHEQUE.
Est-ce normal ?
Suis-je passé à coté de quelque chose.
PS : Je précise que je n’utilise pas de « crayons ». Les modifications se font via l’espace privé (./mon_site/ecrire/).
Bonjour,
Je suis dans le même cas de figure, aussi suis-je très intéressé par la ou les réponses qui pourront être apportées à cette question.
Merci aux contributeurs
A++++++
C’est le plugin « acces_restreint » qui permet de cacher les rubriques en partie public et/ou privé.
Merci pour ce retour d’infos vraiment très rapide.
C’est sympa.
Bonne journée
A+++
Il n’est pas nécessaire d’utiliser Autorité pour ce que tu veux faire. Il suffit d’utiliser la fonction « administrateur restreint » de SPIP. Lorsque tu crée un auteur depuis le compte super-administrateur tu le nome administrateur puis tu restreint sa capacité d’administration à une rubrique en particulier.
Bonne config et à bientôt.
Répondre à ce message
bonsoir,
ce plugin m’intéresse au plus au point mais lorsque j’active celui-ci, j’ai ça qui s’affiche à la place de la barre d’icône du haut (partie privée bien sûr) :
Warning : in_array() [function.in-array] : Wrong datatype for second argument in /home/villages/public_html/ecrire/public/composer.php(48) : eval()’d code on line 45
comprenez vous ce qui peut se passer ? je suis sous spip 1.9.2 alternatives.
merci de votre aide !
Jacques
Bonjour,
J’ai le même message. J’avais commencé à récupérer le zip de CFG sur la page : http://www.spip-contrib.net/Coder-un-plugin-simple-avec-cfg#forum397353
en bas : « cfg en zip »
et cela ne marchait pas du tout, avec 6 fois le message :
/ !\ Fichier absent : ../plugins/cfg/cfg_pipeline.php .
Comme c’était apparemment une version très récente 4 juillet 08, j’ai pris une version de CFG trouvée à deux endroits différents, qui marche beaucoup mieux (possibilité de renseigner les champs de l’interface des plugins autorité et crayon), mais j’ai ce message d’avertissement (Wrong datatype for second argument in... même ligne 45) de nombreuses fois.
La partie du code de composer.php concernée est apparemment :
Mais je ne vois pas très bien où se trouve le pb.
je suis sous spip 1.9.2d, et je n’ai que ces plugins.
Je suis repassé à tout hasard aux urls « spip.php ?article3 » (j’étais en propres QS, étant chez Free.fr) mais sans succès.
Help ! merci
Merci d’indiquer systématiquement les versions des plugins.
Si vous avez mis à jour soit CFG, soit Autorité, il faut mettre les deux à jour. Si l’erreur apparait avec CFG (>=1.9.x) et autorité (0.9.2) à jour, alors c’est qu’il y a un problème.
Ce problème apparait (de mémoire) avec CFG >= 1.9 et les autres plugins non mis à jour.
Pour info, j’ai supprimé un petit hack de CFG, qui était utilisé par certains plugins dont autorité, que j’ai alors mis à jour.
Répondre à ce message
Bonjour,
J’ai pourtant coché la case permettant l’auteur de modifier son adresse mail. Pour une personne de statut rédacteur. Ce n’est pas possible.
Pouvez-vous m’aider s’il vous plaît ?
Merci d’avance
Répondre à ce message
Puisque tu fais un appel aux propositions dans ton article, il y a une fonctionnalité qui m’intéresserait, c’est qu’un rédacteur puisse remettre « en cours de rédaction » un article qu’il a « proposé à l’évaluation », voire qui a été publié, mais tout en continuant à lui refuser le droit de publication.
En effet, il n’y a qu’une fois qu’on est sorti du mode « rédaction » que l’on peut visualiser en ligne et c’est parfois là qu’on se rend compte d’une erreur, d’un manque ou d’un souci quelconque. Même en prévisualisant avec la barre typo enrichie, on peut louper des choses.
Et c’est vrai que, comme on l’a proposé dans un autre message, je trouverais bien également qu’un administrateur restreint puisse créer un nouvel auteur, au moins avec le statut de rédacteur. Si même on pouvait restreindre à ce choix unique, ce serait pour moi l’idéal.
Répondre à ce message
Bonjour,
Après avoir installé le plugin « autorité », les auteurs auxquels j’ai donné les droits de modifier leurs articles ne peuvent plus les modifier avec fckeditor. La fenêtre de fckeditor s’ouvre mais le contenu de l’article n’y apparait pas : la fenêtre de fckeditor contient uniquement le menu des boutons relatifs à la mise en forme et un espace blanc où devrait s’afficher le texte déjà présent dans l’article. Il en est de même pour les administrateurs.
Les deux plugins sont-ils incompatibles ?
Répondre à ce message
Tu demandes des suggestions, en voici une :
permettre de paramétrer plus finement les droits des administrateurs restreints ;
par exemple, la création d’auteurs.
Répondre à ce message
Bonjour
merci pour ce plugin essentiel
Néanmoins j’ai un souci.
Quand je vais dans la config du plugins dans cfg j’obtiens le message d’erreur « Impossible de lire fonds/cfg_autorite.html ».
J’ai bien vidé le cache comme demandé mais ça ne marche pas.
Répondre à ce message
Je souhaiterai juste signaler que la ligne 145 dans autoriser.php semblerait comporter une erreur. En neffet quand je remplace sql_count par spip_num_rows cela fonctionne beaucoup mieux...
Ta version n’est pas à jour car, sauf erreur de ma part, on a bien sql_count() depuis la révision 17210
euh justement là est mon problème en mettant à la ligne 145 sql_count() ça ne fonctionne pas !
Par contre en mettant spip_num_rows() là ça fonctionne... je ne sais pas pourquoi mais c’est ainsi^^
Ah !! Alors c’est ta version de SPIP qui n’est pas à jour
la version 1.9.2.c [10268] n’est pas suffisante ? (tout en sachant que le plugin marche à merveille juste en modifiant cette ligne^^)
Bon Noël !
Je confirme les propos de jamesNicolas, dans un SPIP 1.9.2c [10268], la fonction sql_count n’est pas définie (pas de trace dans son code), donc Autorité (dans ses dernières version) ne fonctionne plus...
Sa modif le rend fonctionnel.
En effet il manquait la clé de compatibilité pour cette fonction, ça devrait être réglé en http://zone.spip.org/trac/spip-zone...
Merci beaucoup !
Il y aurait aussi un autre problème. Un rédacteur en passant par les crayons n’arrive pas à modifier le texte car la page est rechargée en SPIP 1.9.3 dev [11061]. Faut-il une version plus élevée de dev ou est-ce autre chose ?
Je souhaiterais aussi savoir quelque chose... à côté des brèves il est marqué qu’un rédacteur peut la modifier, or il tombe sur une page interdite en essayant de la modifier. Est-ce normal qu’il voit un bouton lui permettant de modifier la brève ? Serait-il possible de lui donner les autorisations pour qu’il puisse modifier une brève déjà publiée ?
S’il faut que je m’explique plus clairement, dites le moi ou écrivez moi sur mon mail.
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 : |