Créer des groupes, limiter l’accès aux rubriques et aux articles...

Attention ! Cette contribution modifie des fichiers du noyau de SPIP !

Même si elle a été testée par plusieurs utilisateurs nous ne pouvons garantir qu’il n’y aura pas d’effets secondaires dommageables sur votre SPIP. Conservez toujours les fichiers d’origine pour pouvoir revenir au noyau originel.

De plus, elle n’est compatible qu’avec une version précise de SPIP et sera perdue à la prochaine mise à jour : vous devrez donc recommencer.

Restreindre l’accès aux rubriques, articles, brèves en utilisant des groupes d’auteurs.

Un des besoins fréquent lorsque l’on gère un site sous SPIP est de pouvoir restreindre l’accès à des rubriques afin qu’elles ne soient accessible qu’à certains utilisateurs. De façon complémentaire, pour permettre une gestion de ces accès restreints complète, simple et ergonomique, il s’avère indispensable que les utilisateurs « autorisés » soient gérés par groupes.

Cette contrib répond à ce besoin en offrant le maximum de possibilités tant dans la gestion des utilisateurs autorisés que dans les restrictions d’accès ou dans la création de squelettes.

Attention ! Cette version est compatible SPIP 1.8, pour la version en plugin compatible SPIP 1.9, voir cette contrib.

Les nouveautés de la version 0.7 sont signalées par un : [v0.7]

Cette contrib permet :

  • de créer des groupes d’auteurs : ces groupes peuvent êtres constitués d’utilisateurs, d’autres groupes (sous-groupes) ou de statuts (c’est à dire que tous les utilisateurs d’un statut donné appartiennent à ce groupe). Cette organisation génère elle-même d’autres contraintes techniques à gérer : ainsi il ne doit pas être possible d’inclure le groupe « pére » dans le groupe « fils » puisque celui-ci contient déja « fils » (sinon on risque la boucle infinie lors de la routine de contrôle d’accès).
  • de limiter l’accès à certaines rubriques « rubriques restreintes » aux groupes créés : cette limitation d’accès peut s’appliquer soit dans la partie publique ET dans la partie privée, soit à l’une ou l’autre de ces parties séparément.
  • d’offrir des outils pour la création de squelettes adaptés à l’utilisation de rubriques restreintes.

Les rubriques « à accès restreint » sont gérées automatiquement : dès qu’au moins un groupe est autorisé à accéder à une rubrique (on pourrait dire qu’il contrôle cette rubrique), cette dernière devient alors à « accès restreint » et elle est inaccessible pour les lecteurs n’appartenant pas à ce groupe. Inversement, si aucun groupe ne « contrôle » une rubrique, elle est accessible par tous les internautes.

Le fonctionnement du système de restriction d’accès est conçu de manière à ce que toutes les sous-rubriques d’une rubrique à accès restreint soient elles aussi restreintes (principe « d’héritage des restrictions »).

Un exemple de situation à gérer :

Pour mieux cerner le fonctionnement, voici le cahier des charges auquel cette contrib tente de répondre [1] :

-  un SPIP est installé sur le site d’un établissement scolaire (disons un lycée) pour permettre la publication de contenus élaborés par les profs et/ou les élèves.
-  Ce SPIP comprend une rubrique par discipline (Anglais, Lettres, SVT...), tous les profs d’une discipline sont administrateurs de la rubrique de leur discipline afin qu’il puissent gérer/modérer les publications des élèves dans celle-ci.
Tous les élèves sont rédacteurs dans ce SPIP, les parents peuvent avoir un compte visiteur [2].
-  On souhaite que les profs d’une discipline puissent, s’ils le veulent, créer des sous-rubriques à accès réservé selon leurs besoins. Par exemple une sous-rubrique « travail en cours » dans laquelle ils pourront mettre au point ensemble les sujets de leurs prochains devoirs ou les corrections de ceux-ci. Il semble évident qu’il ne faut PAS que les élèves (comptes auteurs) aient un accès à cette sous-rubrique que ce soit dans la partie publique ou la partie privée !
-  On veut également qu’il soit possible d’avoir des rubriques à accès réservé uniquement aux profs (comptes admins restreints) pour qu’ils puissent publier des infos qui ne concernent pas les élèves (documents administratif, comptes-rendus de réunions syndicales, préparation de projets pluridisciplinaires...).
-  Il doit également être possible d’avoir des rubriques dans lesquelles les profs peuvent préparer des documents (par exemple les comptes-rendus des conseils de classe) qui seront accessibles une fois publiés (donc accès non-restreint dans la partie publique) mais confidentiels tant qu’ils sont en mode « en cours de rédaction » ou « proposé à l’évaluation » (donc accès restreint dans la partie privée).
-  Il faudra aussi une rubrique dont l’accès est réservé à tous les utilisateurs inscrits dans l’établissement (profs = admins restreints + élèves = auteurs + parents = visiteurs) dans laquelle on mettra, par exemple, les emplois du temps qui ne seront donc pas visibles par les « extérieurs » à l’établissement.
-  Enfin, il doit également être possible de créer des rubriques réservées :
— aux élèves d’une classe (un groupe « classe »),
— à plusieurs élèves et quelques profs, par ex le groupe « club informatique »
— aux profs de 2 ou 3 disciplines (par ex« profs de sciences », cad les profs de SVT + Physique/Chimie + Maths). On obtient donc un groupe de groupes
— à tous les élèves d’une classe
— ...
-  Avec comme circonstance aggravante que les admins généraux doient pouvoir « s’inviter » dans n’importe quel groupe pour consulter le contenu des rubriques à accès réservé.

Toute ces situations sont testables sur le spip de démo suivant : http://www.aix-mrs.iufm.fr/formatio...
 : choisir un compte ELEVExx pour un compte auteur ou PROFyy pour un compte administrateur de rubrique.

Fonctionnement obtenu lorsque l’on intègre cette contrib :

  • pour les auteurs : pas de modification par rapport au fonctionnement « normal » de SPIP, toutes les rubriques restreintes (et les articles qu’elles contiennent) sont refusées à l’accès dans la partie publique comme dans la partie privée sauf s’ils sont membres d’un groupe autorisé (ou d’un sous-groupe d’un groupe autorisé, pas de limitation au nombre de sous-groupes imbriqués).
  • pour les administrateurs de rubriques admin restreint ») :
    propriétaire d’un groupe

    idem les auteurs SAUF pour les rubriques dont ils sont administrateurs. Pour ces rubriques, ils ont un accès dans la partie publique et la partie privée MEME s’ils n’appartiennent pas à un groupe autorisé à l’accès. Il paraissait en effet logique qu’un admin de rubrique ait forcément accès aux rubriques dont il à la gestion.
    Il peut également créer des groupes (ou utiliser des groupes existants) pour limiter l’accès aux rubriques qu’il administre et à leurs sous-rubriques. Il ne peut modifier que les groupes et sous-groupes qu’il a créé.

  • pour les administrateurs généraux admin général »), idem les auteurs mais ils peuvent accéder au gestionnaire de groupes pour modifier n’importe quel groupe et donc s’ajouter aux utilisateurs autorisés. Un admin général peut ainsi visiter/modérer une rubrique à accès restreint MAIS il deviendra alors visible dans la liste des utilisateurs autorisés, ce qui permet au « propriétaire » d’une rubrique restreinte (admin restreint) de savoir que l’admin général s’est « invité » dans sa rubrique.

Concernant l’intégration des statuts dans un groupe :

Statuts intégrés dans un groupe

l’idée est la suivante : TOUS les utilisateurs du statut sélectionné sont membres du groupe. Cela implique qu’ils ont donc TOUS accès aux rubriques réservés à ce groupe.

Par exemple si l’admin choisit de faire un groupe « tous les admins restreints » dans lequel il intègre le statut « Administrateurs » et qu’il donne l’accès à ce groupe pour la rubrique « le coin des admins », on aura comme résultat que tous les admins restreints du SPIP peuvent accéder à cette rubrique mais que ni les visiteurs ni les auteurs ne pourront la visiter. Mais si l’administrateur le souhaite, il peut également intégrer l’auteur Toto dans ce groupe afin de lui permettre d’accéder aussi à cette rubrique.

L’interface de gestion :

Interface d’administration


-  Pour rendre les chose plus faciles à apréhender (l’imbrication groupes/sous-groupe peut devenir complexe, les restrictions des rubriques multiples...), l’interface de gestion des groupes (accesgroupes_admin.php3) intègre :
— l’affichage de la liste des groupes et des rubriques qu’ils contrôlent
— l’arborescence des groupes/sous-groupes.

-  [v0.7] Chaque groupe peut être configuré pour permettre aux utilisateurs n’ayant pas le droit d’accès à une rubrique

Paramétrage : « autoriser les inscriptions »

d’envoyer un message au propriétaire du groupe demandant leur intégration dans celui-ci. Ce paramètre permet d’envoyer un formulaire de demande d’inscription dans le groupe lorsque l’utilisateur ne peut accéder à une rubrique. Ce message sera consultable dans la messagerie de l’interface privée, il comporte un lien direct vers l’interface de gestion du groupe concerné. Les auteurs en attente d’intégration sont listés dans cette interface et peuvent être intégrés ou rejetés en un clic.

Auteurs ayant demandé leur intégration en attente



-  [v0.7] Chaque rubrique à accès restreint peut être configurée pour que la restriction porte soit

Configuration de l’accès restreint pour une rubrique

sur la partie privée, soit sur la partie publique, soit sur les 2 (privé + public. Il est possible (pour un admin général) de configurer une restriction d’accès sur une sous-rubrique d’une rubrique elle-même déja restreinte. Néanmoins, le principe « d’héritage des restrictions » d’une rubrique sur ses sous-rubriques impose les règles suivantes :
— rubrique parent restreinte « privé + public » => sous-rubrique restreinte obligatoirement « privé + public »
— rubrique parent restreinte « privé » uniquement => sous-rubrique restreinte « privé » ou « privé + public »
— rubrique parent restreinte « public » uniquement => sous-rubrique restreinte « public » ou « privé + public »

-  Administrateurs restreints : les administrateurs de rubriques ne peuvent modifier QUE les groupes qu’ils ont eux-même créés (= propriétaires). Cela permet de rester cohérent avec le fonctionnement de l’administration des rubriques : ils ne peuvent interdire l’accès qu’a l’intérieur de leurs rubriques. Ils peuvent utiliser des groupes créés par d’autres admins mais ne peuvent les modifier.

Outils à disposition pour les squelettes : [v0.7]

Vous pouvez utiliser les « outils » suivants pour gérer l’affichage des rubriques/articles/brèves restreints dans vos squelettes :

-  [v0.7]Cette contrib fonctionne en définissant une boucle [*ACCESGROUPES*] pour gérer les parties à ne pas afficher dans la partie publique.

Syntaxe générale de cette boucle :

... ici le début de votre squelette : les parties visibles même si l'accès est interdit (en-tête, menu de navigation...)

<!-- A partir d'ici on vérifie les accès en fct des groupes -->
<BOUCLE_ca(ACCESGROUPES)></BOUCLE_ca>
     <INCLURE(page.php3){fond=accesgroupes_interdit} {delais=0} {id_rubrique}>
</B_ca>

... ici la partie de votre squelette qui doit être protégée : contenu de la rubrique, de l'article...

<!-- fin contrôle d'accès -->
<//B_ca>

... ici la fin de votre squelette : partie visible quelque soit l'accès (pied de page...)

Le fichier accesgroupe_interdit.html est donc affiché si l’accès est interdit pour l’internaute qui consulte la page. Il contient le formulaire de demande d’intégration au groupe qui contrôle la rubrique si celui-ci l’autorise. Vous pouvez « customiser » son affichage si nécessaire (partie située après la ligne « //envoi de la page accès interdit » )



-  [v0.7] le filtre * utilisable sur les #BALISEs des boucles ARTICLES, RUBRIQUES ou BREVES, il permet d’ajouter une icone (par défaut cadenas-24.gif) devant la balise si l’élément fait partie d’une rubrique à accès restreint.

Syntaxe de base de ce filtre (exemple sur une balise #TITRE, le paramètre #ID_RUBRIQUE est obligatoire !) :

[(#TITRE|accesgroupes_visualise{#ID_RUBRIQUE})]
Résultat du filtre « accesgroupes_visualise »

Si l’image (cadenas) utilisée ne vous plait pas, ce filtre vous offre la possibilité de choisir un autre fichier image (qui DOIT être placé dans /ecrire/img_pack) en passant le nom de ce fichier en second paramètre du filtre. Exemple pour utiliser le fichier croix-rouge.gif sur une balise #TITRE :

[(#TITRE|accesgroupes_visualise{#ID_RUBRIQUE, croix-rouge.gif})]

-  [v0.7] le critère de boucle [* accesgroupes_invisible *] : ce critère est applicable sur les boucles ARTICLES, RUBRIQUES ou BREVES et permet de rendre invisible les rubriques, articles et brèves auxquels le lecteur n’est pas autorisé. Cela permet d’éviter que les utilisateurs qui n’ont pas accès à un contenu sachent qu’il existe tout en laissant ces contenus visibles pour les utilisateurs autorisés. Ce critère est spécialement utile pour les boucles du menu des rubriques ou le plan du site.

Syntaxe : (exemple sur une boucle RUBRIQUES de plan.html) :

<BOUCLE_rubriques(RUBRIQUES) {id_parent} {par titre} {accesgroupes_invisible}>

Remarque : les rubriques contrôlées par des groupes autorisant les inscriptions par formulaire (paramètre « Autoriser les inscriptions » à OUI) resteront visibles !

Vous trouverez des exemples d’utilisation de ces 2 outils dans le fichier squelettes/plan.html du zip de cette contrib.

Ce que ne fait pas cette contrib

en plus du café... Etant en version beta, et nécessitant encore des tests sur d’autres SPIP, nous ne garantissons pas une sécurité à toute épreuve.
Mais pour l’instant, nous n’avons pas trouvé de faille... si ce n’est le cache de spip... : il est donc utile de vider le cache de votre SPIP si vous déclarez « à accès restreint » une rubrique contenant déja des articles.

Comment installer cette contrib :

Remarque : si vous disposez déja de la version 0.6, les instructions d’installation ci-dessous sont également valides, la mise à jour des tables de la base de données est intégré sous forme d’un « patch » qui sera lancé automatiquement lorsque vous consulterez ecrire/accesgroupes_admin.php3 pour la première fois. Vos groupes existants et les rubriques qu’ils contrôlent seront récupérés à l’identique.

Téléchargez l’archive .zip ci-dessous de la dernière version, décompressez la dans un coin de votre ordi. Vous obtiendrez une arborescence de dossiers correspondant à ceux de votre SPIP à partir desquels vous devrez faire les opérations suivantes.

1) Pour l’interface d’administration des groupes et rubriques restreintes :

Transférer :

a. accesgroupes_admin.php3 et inc_config_accesgroupes.php3 dans le répertoire ecrire/

b. accesgroupes_fr.php3 et accesgroupes_en.php3 dans le répertoire ecrire/lang/

c. les icônes de /img_pack dans /ecrire/img_pack

Cette contrib intègre un installateur automatique pour les 3 tables de la base de données : il suffit de se connecter sur ecrire/accesgroupes_admin.php3 et les tables sont créées si elles n’existaient pas. Leur nom est de la forme : prefixeSPIP_accesgroupes_xxx.

Vous pouvez accéder au gestionnaire de groupe et d’accès restreints en l’appelant depuis votre navigateur http://www.monsitespip.org/ecrire/accesgroupes_admin.php3 ou créer une annonce, un message et faire le lien dans le texte du message :

[ACCES GROUPES->accesgroupes_admin.php3]

Alternativement (si vous ne craignez pas de modifier les fichiers de l’espace privé de SPIP et que vous souhaitez disposer d’une icone dans la barre d’outils), vous pouvez ajouter la ligne suivante

icone_bandeau_principal (_T('accesgroupes:groupes'), "accesgroupes_admin.php3", "groupe-48.png", "groupes", $rubrique, "", "groupes", $sous_rubrique);

juste après

	icone_bandeau_principal (_T('icone_auteurs'), "auteurs.php3", "redacteurs-48.png", "auteurs", $rubrique, "", "redacteurs", $sous_rubrique);

dans le fichier ecrire/inc_presentation.php3 (aux alentours de la ligne 2074 pour une version 1.8.3)

2) Pour la protection des accès dans la partie publique

a. Ajouter dans le fichier ecrire/mes_options.php3, le contenu du fichier mes_options_accesgroupes.php3 (vous pouvez bien sûr également utiliser un include).
Si le fichier mes_options.php3, n’existe pas dans le répertoire ecrire/, renommez mes_options_accesgroupes.php3 en mes_options.php3 et transférez le dans /ecrire.

b. Ajouter la boucle suivante dans vos pages de squelette rubrique, article, breve au début de la zone à ne pas afficher (juste après <div class=« contenu » id=« principal »> pour le squelette par défaut) :

<BOUCLE_ca(ACCESGROUPES)></BOUCLE_ca>
	<INCLURE(page.php3){fond=accesgroupes_interdit} {delais=0} {id_rubrique}>
</B_ca>

et en fin de zone à protéger (si vous utilisez le squelette par défaut, pour article.html et breve.html juste avant <body> , pour rubrique.html juste avant <div> <body>) :

<//B_ca>

c. Ajoutez dans votre dossier de squelette le fichier /squelettes/accesgroupes_interdit.html.

Remarque : si vous utilisez un spip « dist » (sans modifications), vous trouverez dans le dossier /squelettes du zip les pages article.html, rubrique.html et breve.html du squelette par défaut de SPIP 1.8.3 modifiées pour intégrer cette contrib. Dans ce cas vous pouvez directement transférer le dossier /squelettes du .zip dans le répertoire racine de votre SPIP.

d. Ajoutez aux fichiers article.php3, breve.php3 et rubrique.php3 de la racine de votre SPIP la ligne de code suivant qui permet de créer un fichier de cache suivant l’id de l’internaute

if (isset($GLOBALS['auteur_session'])){ $contexte_inclus['auteur_session_id']=$GLOBALS['auteur_session']['login']; }

Remarque : procédez de même pour tous les fichiers xxx.php3 correspondants aux fichiers xxx.html de votre squelette dans lesquels vous utilisez soit la boucle ACCESGROUPES, soit le filtre |accesgroupes_visualise soit le critère accesgroupes_invisible

3) La sécurisation de l’espace privé

Cette sécurisation passe par l’ajout d’une routine de vérification dans les fichiers suivants du répertoire /ecrire :

  • naviguer.php3
  • rubriques_edit.php3
  • articles.php3
  • articles_edit.php3
  • breves_voir.php3
  • breves_edit.php3

Cette vérification nécessite 2 fragments de codes : voici l’exemple pour naviguer.php3

 
// DEBUT ACCESGROUPES : à placer après fin_grand_cadre();

$acces = verif_acces($id_rubrique, 'prive'); 
if ($acces == 1 || $acces == 2) { 
    debut_gauche(); 
    debut_boite_info(); 
    echo "<div align='center'>\n"; 
    echo "<font face='Verdana,Arial,Sans,sans-serif' size='1'><b>"._T('info_numero_article')."</b></font>\n"; 
    echo "<br><font face='Verdana,Arial,Sans,sans-serif' size='6'><b>$id_article</b></font>\n"; 
    echo "</div>\n"; 
    fin_boite_info(); 
    debut_droite(); 
    debut_cadre_relief($ze_logo); 
    echo "\n<table cellpadding=2 cellspacing=0 border=0 width='100%'>"; 
    echo "<tr width='100%'> <td width='100%' valign='top' colspan='2'>"; 
    gros_titre($titre); 
    echo "</td> </tr> <td>".http_img_pack("warning.gif",'', "width='48' height='48'", _T('info_administrer_rubrique')); 
    echo "</td><td>"._T('accesgroupes:bloque_article')."</td></tr>"; 
    echo "</table>\n"; 
    fin_cadre_relief(); 
} else { 

// FIN de la premiere partie d'ACCESGROUPES 
// ACCESGROUPES : à placer avant fin_page(); 
} 
// FIN ACCESGROUPES

Si vous utilisez un spip version 1.8.3, vous pouvez tranférer ces fichiers depuis le dossier /ecrire du zip dans le dossier /ecrire de votre site en écrasant les fichiers existants.

Donc, en résumé, si vous utilisez une version 1.8.3 sans modifications (squelette par défaut), vous pouvez simplement transférer l’ensemble des fichiers fournis dans le zip dans les répertoires correspondant de votre site, renommer ecrire/a_placer_dans_mes_options.php3 en ecrire/mes_options.php3 et ça devrait fonctionner !

Ce qu’il reste à faire

  • Compléter la traduction de accesgroupes_fr.php3 en anglais dans accesgroupes_en.php3 et créer d’autres fichiers de langue si vous avez besoin
  • une icône « groupe » moins crasseuse pour la barre d’outils générale (je suis pas graphiste moi !)
  • Passage en plugin pour la version 1.9 : on y travaille, ne vous impatientez pas...

Téléchargement de la contrib :

3

Les fichiers d’installation... v0.7

Version 0.7 : dernière version stable pour SPIP 1.83

3Archives :3

Les fichiers d’installation... v0.2
Les fichiers d’installation... v0.3
Les fichiers d’installation... v0.5
Les fichiers d’installation... v0.61

Notes

[1cahier des charge tout à fait complémentaire de celui de csv2spip, une autre contrib qui permet de créer et gérer les comptes utilisateurs en masse à partir de fichiers CSV

[2pour fixer les idées on aura donc quelque chose comme 1000 élèves rédacteurs, 80 profs admins restreints dans 15 rubriques disciplinaires plus 4 administrateurs généraux (toutes les rubriques) et un webmestre (le seul qui dispose de l’accès FTP au site)

Historique des versions :

  • V0.1 - 16 juillet 2005
    version initiale avec gestion multilingue
  • v0.2 - 02 août 2005
    maj pour compatibilité avec MySQL 3.23
    la table jpk_auteurs_groupes devient jpk_groupes_auteurs
    correction affichage des titres de rubriques typo()
  • v0.3 - 07 août 2005
    Ajout d’un bouton pour la suppression d’un groupe inactif
    Correction du test d’accès, utilisation du login au lieu de l’id_auteur
  • v0.4 - non diffusée
  • v0.5 - publiée avec un exemple de protection des articles dans l’espace /ecrire/
    Attention, les fichiers ont été renommés !!!
  • v0.61 - intégration des sous-groupes et des status comme membres possibles des groupes, installateur automatique des tables dans la base de donnée de spip, préfixage des tables jpk_, « explorateurs » de groupes dans l’interface de gestion.
  • v0.7 : version finalisée pour SPIP < 1.9 .
    Correction du bogue de la modification / suppression d’un groupe, possibilité de séparation privé / public, possibilité de demande d’inscription dans un groupe par formulaire. Passage en BOUCLE de la restriction de l’espace public + filtre + critère pour configurer les squelettes.

Discussion

36 discussions

  • Bonjour, j’ai spip 1.9.2b, (et mon squelette c’est sarkaspip) j’ai installé accès restreint par groupes (je l’avais déjà utilisé sur un autre site).
    Ca marchait à peu près bien, sauf que je ne pouvais pas afficher les articles qui étaient dans la rubrique concernée.
    Il y avait deux versions à télécharger (1.9.1 et 1.9.2) j’avais téléchargé les 2, et j’ai cru bon de supprimer celle qui me semblait la mauvaise (1.9.1), pour voir si je pouvais enfin avoir des articles à voir dans la rubrique que j’avais créé pour acces restreint.
    Ca ne marchait pas alors, j’ai supprimé carrément la rubrique et l’article qu’il y avait dedans, et j’ai désactivé la rubrique accès restreint par groupe.

    Maintenant je ne peux plus accéder du tout à mon site (ni public ni privé) j’ai ce message :
    Fatal error : Call to undefined function : accesgroupes_rubriques_accessibles_where() in /space/www/gl-ouv/2/4/2410021524167445/web/ouvaton.org/librepenseefrance.ouvaton.org/html/ecrire/public/composer.php(48) : eval()’d code on line 496

    Quelqu’un peut-il m’aider ? Ca urge, parce que mon site est bloqué maintenant (http:/:librepenseefrance.ouvaton.org)

    J’ai essayé d"enlever le plugins par FTP, mais ça ne donne rien. J’ai essayé de remettre le plugin, mais ça ne donne rien, et comme je ne peux plus accéder au site (partie privée, je ne peux pas l’activer ou le désactiver ...)

    Répondre à ce message

  • Bonjour,

    On m’a demandé de trouver une solution pour faire en sorte que certaines rubriques ne soient pas accessibles à tout le monde, comme par exemple demander la saisie d’un mot de passe lorsqu’on clique sur une rubrique (pas possible sous spip, du moins je ne crois pas) ou bien la solution proposée avec les groupes.

    J’ai ajouté les fichiers où il fallait, j’ai ajouté la jolie icone dans le menu de gestion pour gérer les groupes, et je rencontre plusieurs problèmes : (illustration)

    - la liste des auteurs est vide, je ne peux affilier personne à un groupe

    - le menu déorulant proposait 3 choix pour les statuts du groupes, j’ai choisi administrateur et celui ci n’apparait pas dans le récaputulatif et n’est plus disponible dans les choix du menu déroulant

    - lorsque je choisi de restreinde l’accès pour ce groupe sur certaines rubriques celles ci s’affichent ensuite en rouge dans le menu déroulant (pour public + privé) mais n’apparaissent pas dans le récapitulatif dans le cadre. De plus j’ai sélectionné des sous rubriques et la restriction a été appliqué également aux rubriques de niveau supérieur. Un message 1051 : unknown table « spip_rubriques » et affiché dans le cadre, c’est la raison ?

    Voilà, je ne suis pas encore aller toucher au squelette ou autres pour l’instant puisque je rencontre des problèmes dès cette étape.

    Je suis de plus obligé d’utiliser la contrib au lieu du plug in car là ou je bosse ils ne veulent pas passer au 1.9 vu tout ce qui a été fait pour arriver à un truc propre en 1.8. Si j’arrive à faire ce qu’ils me demandent assez vite, ce détail notamment, j’arriverai ptet à les motiver pour passer en 1.9, ca serait mieux quand même...

    Merci d’avance à celui qui arrivera à m’expliquer le pourquoi du comment...

    Répondre à ce message

  • 1

    Bonjour,

    J’ai voulu installer ce plugin sur mon site www.unapeda.fr

    Lorsque je clique sur un des choix du menu de gauche, j’ai l’erreur suivante

    Fatal error : Call to undefined function : accesgroupes_rubriques_accessibles_where() in /home/unapeda/unapeda.fr/ecrire/public/composer.php(48) : eval()’d code on line 3258

    J’ai enlevé le plugin après l’avoir simplement décoché.

    Mais j’ai toujours le message.

    Je ne trouve pas la fonction indiquée.

    Avez-vous une idée de la cause possible ?

    Merci de votre aide.

    • Suite à l’installation, ou désinstallation du plugin, pensez à vider le cache.

      la fonction accesgroupes_rubriques_accessibles_where() se trouve dans le fichier inc/accesgroupes_fonctions.php du répertoire du plugin.

    Répondre à ce message

  • 1

    Bonjour tout le monde

    Meilleurs voeux à tous !!! J’ai une question : que veut dire cette remarque :

    Remarque : procédez de même pour tous les fichiers xxx.php3 correspondants aux fichiers xxx.html de votre squelette dans lesquels vous utilisez soit la boucle ACCESGROUPES, soit le filtre |accesgroupes_visualise soit le critère accesgroupes_invisible

    Jene l’ai pas fait et je penses que c’est là d’où viennent mes pb maisje ne vois pas ce que je dois faire je suis surSPIP 1.8.3 avec un biospip 4.1 béta 2

    Merci beaucoup de votre aide

    Delphine

    • ça veux dire que pour tous les fichiers de squelette (article.html, breve.html, rubriques.html...) dans lesquels tu as mis la boucle ACCESGROUPES tu dois trouver un fichier xxx.php3 correspondant à la racine de ton site (ou dans ton dossier de squelette) à modifier.

      Mais franchement, si je puis me permettre de te donner un avis, passe à spip 1.9.1 + plugin acces_groupes : ça te simplifiera *vraiment* la vie ! (sans compter que n’ayant plus à ma disposition de spip 1.8.3 j’ai de plus en plus de mal à pouvoir assurer le SAD (Service Après Don) de cette contrib...

    Répondre à ce message

  • Bravo pour votre travail !

    Toutefois, j’ai un petit soucis dans mon sommaire :
    je suis obligé de cliquer sur « recalculer la page » pour que les rubriques masquées par {accesgroupes_invisible} apparaissent ou disparaissent selon que l’on soit connecté ou pas...

    J’ai pourtant bien rajouté

     // accesgroupe : un cache par utilisateur
    if (isset($GLOBALS['auteur_session'])){ $contexte_inclus['auteur_session_id']=$GLOBALS['auteur_session']['login']; }

    à tous les fichiers xxx.php correspondants aux fichiers xxx.html de mon squelette... j’ai même mis tout les $delais à 0 ; : rien à faire.

    Si quelqu’un aurai solutionné ce problème ou aurai, ne cerais-ce qu’une piste...

    Merci d’avance pour votre aide ;-)

    Répondre à ce message

  • 1

    J’ai un gros souci à l’activation du plugin dans mon spip 1.9.1

    Le serveur se met à ramer comme fou, seul moyen de revenir à la normale était d’enlever le plugin.

    Est-ce que quelqu’un peut m’aider, j’aurai vraiement besoin de la fonctionalité accès restreint par groupes

    Merci d’avance
    Christian

    • Encore une fois ça fait pas beaucoup d’infos pour déboguer... Alors d’abord essaye de désactiver les autres plugins de ton spip de façon à n’avoir plus que acces_groupes comme plugin actif : ça permettra au moins d’être certain que c’est lui qui fout le b***. Sinon il serait bon que tu donne les éventuels messages d’erreur de /ecrire/data/spip.log et /ecrire/data/mysql.log.

      PS : ce message n’est pas attaché au bon article de spip-contrib : tout ce qui concerne la version plugin (spip >= 1.9) devrait être attaché à cet article : http://www.spip-contrib.net/Le-plug...

    Répondre à ce message

  • 1

    Bonjour

    Je viens d’installer cette contrib sur mon site spip 1.8.3 (squelette biospip). La contrib fonctionnepour la rubrique que je voulais restreindre en partie publique mais j’ai des erreurs sur trois autres rubriques (non restreintes)quand je clique ilmet une erreur 500 InternalServer Error et j’ai aussi cette erreur

    Fatal error : rename(ecrire/data/spip.log,ecrire/data/spip.log.1) [function.rename] : No such file or directory in /mnt/129/sdc/7/8/landrondelphine/TestSpip/ecrire/inc_version.php3 on line 547

    Et il ya une rubrique que je peux afficher normalement

    L’adresse de mon site est http://landrondelphine.free.fr/TestSpip/

    donc la rubrique restreinte est Détente.
    Les rubriques Formation /compétences et divers ne s’affichent plus
    et sur la rubrique Mes expériences il ya pas de soucis.

    Est ce que vous pouvez m’aider car je trouve vraiment très intéressante cette contrib ?

    Je vous remercie pour votre aide

    Delphine

    • A priori tu as 2 problèmes distincts :

      • le « 500 internal server error » qui classiquement est lié à des problèmes de configuration du serveur apache (droits sur les fichiers php pas adaptés ou problèmes de syntaxe dans un .htaccess le plus fréquemment) : pour ce point, vu le type d’erreur, ça serait étonnant que le problème vienne de la contrib...
      • le « Fatal error : unlink(ecrire/data/spip.log.3) function.unlink : No such file or directory in /mnt/129/sdc/7/8/landrondelphine/TestSpip/ecrire/inc_version.php3 on line 544 » : cette erreur semble due à un problème de rotation des fichiers de log de spip . Plus précisément l’erreur dit que le script inc_version.php3 ne peut trouver le fichier ecrire/data/spip.log.3 pour le supprimer (unlink = effacer un fichier). De la même manière que pour le premier point, cette erreur ne me semble pas directement liée aux fichiers de la contrib...

      Pour résumer si ces problèmes sont apparus avec l’installation de la contrib je ne vois que 2 pistes :

      • essaie de re-télécharger les fichiers et de remplacer les existants (si par hasard il y avait eu un problème de corruption des fichiers lors du téléchargement ?)
      • vérifie les éventuels fichiers .htaccess présents dans ton répertoire spip ou dans les répertoires parents de celui-ci.

      Mais si tu veux vraiment régler le problème radicalement, tu passe ton site en spip 1.9.1 et tu installe la version plugin de cette contrib : http://www.spip-contrib.net/Le-plug...

    Répondre à ce message

  • Note importante concernant le code de la contrib :
    le fichier ACCESGROUPE.html comporte une petite erreur au debut :
    $id_rubrique = #ID_RUBRIQUE ; ce qui est en gras est interprété comme du commentaire
    il faut je croit ajouter des cote comme ceci : $id_rubrique = ’#ID_RUBRIQUE’ ;.
    Voila c’était juste pour prevenir que la version contrib (0.7) téléchargeable pour la spip 1.8 comporte une petite erreur.

    Répondre à ce message

  • Merci pour la réponse concernant login et mot de passe.
    J’ai un autre probleme sur cette contrib, lorsque le cache est vide ou que je suis en simple visiteur et que je cherche à atteindre une rubrique ou un article non restreint cela me retourne une page de type « impossible d’afficher la page », si vous avez déjà rencontré ce probleme merci de m’en faire part.

    Répondre à ce message

  • 1

    Bonjours j’ais installé cette contrib(v0.7) et je me demander où est ce que l’on gère les logins et mots de passe dans l’espace d’administration ?
    De plus j’aimerais pouvoir associer une table ’adhérent’ que j’ai créer dans la base de spip et la table des ’logins’ pour gérer les restrictions sur des rubriques, car en fait je voudrais créer un statut de visiteurs privilégié qui accedent à certains articles mais qui ne puisse pas atteindre l’espace SPIP de rédaction ou d’administration.
    Si quelqu’un peut m’aider concernant mes difficultés je l’en remercie d’avance.

    • Bonjours j’ais installé cette contrib(v0.7) et je me demander où est ce que l’on gère les logins et mots de passe dans l’espace d’administration ?

      Dans l’écran Auteurs.

    Répondre à ce message

  • Ce module est juste ce que je cherchais depuis pas mal de temps : je ne voulais pas que tout le monde puisse avoir accès à toutes les rubriques de mon site web.

    Bref, j’ai donc bloqué l’accès à une rubrique aux simples visiteurs non enregistrés. En bloquant les inscriptions automatiques, je peux gérer comme je le veux les accès aux différentes rubriques. Je désire ce mode de fonctionnement depuis la page sommaire.

    J’ai donc ajouté un lien dans mon fichier entête qui vérifie si le visiteur est enregistré ou non et je change le lien en connecter ou déconnecter selon la valeur de $auteur_session.

    <div id="identification">
    <?php if ($auteur_session) { ?>
    	<span class="login">Vous &ecirc;tes authentifi&eacute; en tant que <?php echo $auteur_session['nom']; ?>.</span>
    	<span class="deconnection"><a href='#URL_LOGOUT{#URL_PAGE{sommaire}}'>Se d&eacute;connecter</a></span>
    <?php } else { ?>
    	<span class="login">Vous n'&ecirc;tes pas encore authentifi&eacute;.</span>
    	<span class="deconnection"><a href='#URL_PAGE{identification_visiteurs}'>Se connecter</a></span>
    <?php } ?>
    </div>

    la page identification_visiteurs est une copie de login.html mais avec #LOGIN_PUBLIC en lieu et place de #LOGIN_PRIVE

    si je ne force pas le recalcul de la page, j’obtient la version du cache.

    Comment dois-je procéder pour que le cache change en fonction de l’id utilisateur ?

    Malgré ce léger souci, je félicite les contributeurs pour ce très bon plug-in.

    Répondre à ce message

  • 5

    question de débutant : (toutes mes excuses aux pros)
    j’ai essayé d’installer cette contrib sur un spip 1.8.3 avec un squelette eva 2.1 Dans ce squelette, il y a une page rubrique.html et rubrique_normale.html la page rubrique ne servant que de test pour en savoir la nature (même chose pour article) j’ai donc copié le bout de code dans ces fichiers. Je pense avoir fait le reste correctement (enfin j’espère). La seule chose que je n’ai pas faite c’est la partie où il est écrit "alternativement (si vous ne craignez pas de modifier les fichiers de l’espace privé de spip)
    Le résultat est que, après avoir créé des groupes et des accès limités, le site reste en accès public sur toutes les rubriques :’-(
    De plus il y avait dans le .zip des fichiers dont on ne parle pas dans le mode d’emploi je ne les ai donc pas installé, est-ce la cause de mon échec ?
    Bref, qui pourrait m’aider ? merci d’avance.

    • je n’utilise pas eva 2.1, peux-tu me transmettre par mail tes fichiers ?

    • avec plaisir :-)
      mais à quelle adresse ?
      et merci du coup de main !

    • Un énorme merci à notre coyote qui m’a dépanné mon eva ! et encore bravo pour le boulot

    • Bonjour
      J’utilise aussi eva 2.1 et spip 1.8.3 et j’ai aussi un site totalement accessible malgré cette lumineuse contrib... il semblerait qu’il existe une solution à mon probleme de transmission de l’id_rubrique
      (MySQL server version for the right syntax to use near ’LIMIT 1’ at line 1 - SELECT id_parent FROM eva.spip_rubriques WHERE id_rubrique = LIMIT 1 dans la fonction boucle_ACCESGROUPES)
      merci d’avance
      amicalement
      Equino

    • Bonjour,

      J’ai exactement le même souci... Ou est la solution, je ne la trouve pas.

      Merci.

    Répondre à ce message

  • 1

    J’utilise le squellette evaweb 2.2 (spip 1.8.3), j’ai installé cette contrib mais je rencontre des problèmes sur la partie publique.
    Je n’arrive pas à l’intégrer correctement .
    D’autre part je souhaiterais savoir si un visiteur (non inscrit) a la possibilité de demander l’intégration à un groupe par affichage du formulaire d’intégration proposé dans la contrib ?

    Merci pour votre aide

    • Pour ce qui est de l’intégration de cette contrib dans le squelette eva-web, il me semble que tu ferais mieux de t’adresser aux auteurs du squelette : ils seront plus au point que nous vu sa complexité...

      En revanche, pour ta 2e question c’est non : tant qu’il n’est pas identifié comme un membre de spip (donc inscrit comme visiteur via un forum par ex), un internaute n’a pas la possibilité de demander son intégration dans un groupe (et je vois pas comment ça serait possible !)

    Répondre à ce message

  • 7

    bonjour,

    jai voulu testé cette contrib alors que j’en utilisais une autre, mais celle ci me semblait meilleure, bref, j’installe les fichiers comme indiqués, mais meme problème qu’un autre utilisateur, ca me filtre rien du tout.

    voici le code

    (#TITRE

    (#DATE (#DATE <:par_auteur :> #NOM

    [(#INTRODUCTION|couper150)]
    (suite de l’article)


    (#TITRE


    - (#TITRE

    [(#INTRODUCTION|couper150)]
    (suite de l’article)


    /B_ca>

    sur rubrique.html

    javoue que là je comprends pas...

    • autant pr moi ca marche maintenant :)

    • oui non ca marche plus désolé :(

      je comprends pas trop, est ce que quelqu’un pourrait me depanner ?

    • apparement ca me fait planter apache ...
      pourtant l’acces est bien filtrer cette fois, mais ca rame infiniment
      si quelqu’un a le temps, jenverrai les fichiers

    • Pour vous aider, j’aimerais connaitre votre version de SPIP...
      cette contrib est pour SPIP 1.8.x, une version plugin pour SPIP 1.9 est en cours...
      vous pouvez me contacter par email...

    • c’est une version 1.8.3
      là jai reussi à passer le problème en bidouillant unn peu, je precise :

      le problème survenait quand je demandais des rubriques sans acces restreint, là apache s’emballait... du coup jai juste mis le
      « 


       »

      sur ma rubrique ’protégée’, rubrique11.html, les autres rubriques n’ont pas cette verification.

      bien sur , ce n’est qu’une facon de detourner mon problème.
      je vous envoie les fichiers si vous voulez

    • Message pour Coyotte

      J’ai testé la version bêta de ton plugin que tu m’avais envoyé au début de l’été avec la version 1.9 pas de problème mais avec la 1.9.1 j’ai un message d’erreur sur la création des tables JPK_xxx et de fait il n’y a plus de restriction à l’accès...

      Je peux faire une copie d’écran du message si nécessaire...

      Bon courage.

       ;-)

    • le plugin acces_groupes est maintenant finalisé (et opérationnel sur 1.9.1) : voir la contrib (en attente de validation) http://www.spip-contrib.net/ecrire/...

    Répondre à ce message

  • 9

    Premièrement, je dois dire « chapeau » à celui qui a réaliser cette contribution car elle correspond exactement à ce que je souhaitait mettre en place sur mon site.

    J’ai un seul petit soucis ou du moins deux :
    -  Le premier quand je veux modifier le champs DESCRIPTION d’un groupe déjà existant, cela me dit que je ne peux pas le faire car le groupe existe déjà.
    -  Le second, c’est que l’option de suppression d’un groupe a tendance à apparaitre aléatoirement.

    Je suis actuellement en SPIPS 1.8.3
    Merci de me dire si cela est normal.

    • de fait il y a un bogue sur la modification et la destruction des groupes existants mais la prochaine version corrige ce problème : patience, elle devrait bientôt sortir (avant qu’on attaque le passage en plugin pour la version 1.9)...

    • Je vous remercie pour cette info.

      Une autre petite question, je me souviens l’avoir déjà lu mais pas d’en avoir eu la réponse, peut-on appliquer le contrôle d’accès aux articles plutôt qu’aux rubriques.

      J’aimerais pouvoir donner limiter l’accès à certains articles dans un rubrique mais pas à d’autres.

      En effet, je suis en train de créer un site pour une organisation syndicale, et il me faut pouvoir limiter l’accès à certains articles en fonction d’un statut (externe, salarié, élu, syndiqué) afin de pouvoir respecter le devoir de discrétion auquel nous sommes tenus sans pour autant nuire à qualité de l’information diffusée auprès des salariés de notre entreprise.

      Je m’explique, j’ai par exemple une rubrique intitulée « Agenda ». Dans celle-ci, je met tous les évènements à venir (réunions de négociation, réunions des Institutions Représentatives du Personnel, Appel à manifestation, etc.). Certaines réunions, et notamment leur ordre du jour, ne comportent pas d’informations particulières qui puissent « nuire » à l’entreprise si la concurrence en à connaissance (Négociations Annuelles Obligatoires, Harmonisation de la politique véhicule, etc.), alors que d’autres peuvent être plus problématique et nous valoir un risque pénal important (Réunion de Comité d’Entreprise traitant d’un plan social ou d’un projet de réorganisation massive de l’entreprise). Mais il faut bien que ces deux informations apparaissent dans l’agenda afin que les visiteurs est une vision (même partiel car pas accès à l’article complet pour certain) de notre activité au sein de l’entreprise.

      Voilà donc ce qui m’impose d’avoir un contrôle au niveau des articles et non pas seulement des rubriques. Donc si vous avez développé ce type de contrôle je serais preneur.

      Je vous remercie par avance

    • Pour l’instant cette possibilité de limitation par article n’existe pas (rubriques uniquement). Etant donné que tu es le deuxième à demander cette fonctionnalité de restriction par éléments (articles, brèves, sites), on va voir ce qu’on pourra faire dans les prochaines versions. En tout cas ça ne sera de toute façon pas avant le passage en plug-in pour la 1.9... donc patience !

    • Ok, Mais en attendant, y aura-t-il une possibilité à l’aide d’un peu de code PHP de récupéré le nom du ou des groupes auquel appartient le visiteur.

      En effet, j’ai introduit un groupe de mots clefs dans mes articles appelé ACCES qui fixe les accès au dit article et qui l’affiche dans les différents résumés apparaissant dans les rubriques.

      Donc si j’avais la possibilité de récupéré le nom du groupe auquel appartient le visiteur, il me serait possible de vérifier l’acces en comparant le groupe avec le mot clé.

      Merci de ton aide.

    • Il me semble que ce que tu demande ne nécessite pas de PHP : à priori (si je comprend bien ton idée), il te suffit de créer un groupe (par exemple « toto ») dans lequel tu inclus le statut « visiteur » (3e bloc de l’interface de sélection des membres du groupe) : étant donné le fonctionnement de l’inclusion par le statut, tu es certain que les visiteurs sont tous membres du groupe « toto ».

    • Non cela ne marche pas car je veux limiter l’accès à ou plusieurs articles d’une rubrique sans limiter l’acces de la rubrique par elle meme.
      Ce que tu me proposes limiterait l’accès à la rubrique toute entière.
      Voilà pourquoi j’aimerai tester l’appartenance de mon visiteur à un groupe précis lui offrant le droit d’acces à cet article.

    • la version 0.7 est sortie qui corrige ce bogue et ajoute d’autres fonctionnalités

    • Re bonjour,
      Je n’ai pas encore trouvé exactement ce que je voulais mais bon il faut bien avancer tout de même.
      Je viens de créer un site (qui me sert de beta test pour mon site syndical) en SPIP 1.9.1.
      J’ai installé le plugins trouver sur SPIP-ZONE que j’ai installé sur mon site.
      Je peux définir la zone et y attribuer des auteurs mais quand je veux asigner des rubriques à cette zone, j’ai l’erreur suivante qui apparait : Fatal error : Call to undefined function : style_menu_rubriques() in /mnt/112/sdb/f/3/xebiaut/plugins/acces_restreint/inc/acces_restreint_gestion.php on line 62
      J’aimerai bien savoir comment remédier à cette erreur.
      J’utilise le plugins version 0.1
      Merci d’aavnce pour votre aide

    • tu dois confondre le plugin acces_restreint avec celui que nous réalisons à partir de cette contrib et qui s’appelle acces_groupes...

      Pour ton problème, il faut donc aux auteurs de l’article (en cours de rédaction) sur le plugin acces_restreint : http://www.spip-contrib.net/ecrire/...

    Répondre à ce message

  • Bonjour
    Et Bravo pour ce superbe travail
    Juste une petit question, ou peut-on télécharger la version 0.7 (spip 1.9)
    Merci

    Répondre à ce message

  • 4

    Bonjour,

    Cette contrib est tout simplement géniale. C’est exactement ce qu’il me fallait. Un grand bravo pour le travail accompli.

    Alors voila, j’ai installé cette contrib sans soucis sur un SPIP 1.8.3. Tout fonctionne comme « dans le livre ».
    Sauf le squelette recherche.html. Impossible de masquer les articles ou rubriques restreintes.
    Je me suis pourtant inspiré des squelettes fournis en exemple (jai aussi lu et relu les explications), mais rien n’y fait (j’ai aussi pensé à desactiver, puis vider systématiquement le cache à chaque modification).
    Le critère accesgroupes_invisible semble n’avoir aucun effet (essayé sur des boucles rubriques et articles), les rubriques et articles restreints apparaissent toujours dans le résultat de la recherche (bien sur, leur contenu reste masqué).

    Quelqu’un a-t-il installé cette contrib dans un squelette de recherche ?
    Fonctionne-t-elle correctement ?
    Si vous avez une exemple de boucle qui fonctionne je suis super intéressé, car je crois bien que j’ai épuisé mon stock d’idées sur ce type de boucles qui combinent l’utilisation des critères accesgroupes_invisible et recherche.

    • Effectivement, le squelette recherche n’a pas été (encore) traité dans cette contrib...
      mais est-ce réellement nécessaire ?
      La recherche permet de trouver des articles, rubriques correspondant à un mot, cette contrib permet d’empécher l’accès aux article protégés y compris ceux trouvés par une recherche....

    • C’est vrai que l’objectif premier de cette superbe contrib est de maîtriser l’accès aux rubriques et articles.
      Mais je dois dire ce que critère accesgroupes_invisible m’attire fortement.
      J’ai remarqué que ce filtre fait très bien son travail. En fait dans mon squelette recherche, il masque uniquement la rubrique qui a été définie comme restreinte. Ce sont les sous-rubriques qui lui sont associées qui ne sont pas masquées. Si Je « force » la restriction aux sous-rubriques, elle n’apparaissent plus dans les résultats de recherche.
      Peut-être que le squelette recherche sera traité dans une future version de cette contrib ?
      Je garde espoir.

      P.S. : Merci de m’avoir répondu, cela m’a rassuré. J’ai bien cru que mon niveau étais vraiment trop bas pour réussir à utiliser ce critère.

    • Bonjour,

      J’aurais plusieurs questions qui sont fortement complémentaires :
      -  ma première question concerne l’arborescence de spip. Ooù spip place t’il les rubriques , les sous rubriques, les articles... Quand je parcoure le serveur, je ne trouve nul part la rubrique=20 par exemple.
      -  cette compréhension met indispensable pour placer des fichiers htaccess sur des répertoires spécifiques. J’ai voulu utiliser la contrib de limitation de l’accès mais mon squelette est personnalisé et je ne peux pas copier le code comme indiqué (je n’ai pas la balise div class=« contenu » id="principal dans mes 3 fichiers) ou copier les fichiers joints.

      Merci pour l’aide que vous pourrez m’apporter.
      Cordialement, hleb

    • Réponses a tes questions :
      1) L’arborescence de spip est gérée dans la base mysql...
      2) Sur un squelette personnalisé, la zone a protéger doit être entre les codes présentés. Voir « Outils à disposition pour les squelettes : »

    Répondre à ce message

  • 1

    Comment définit-on un administrateur restreint ? Je ne vois ce statut nulle part. :-(

    • Cette question ne concerne pas directement cette contrib : en effet la définition des administrateurs restreints se fait via l’outil de gestion des auteurs.

      Procédure : dans l’interface « auteurs » choisir un utilisateur >> « modifier cet auteur » >> passer son statut à « administrateur » >> revenir sur la page « modifier cet auteur » >> en cliquant sur la petite flêche qui précède « Statut de cet auteur » on peut paramétrer quelles sont les rubriques qu’il à le droit d’administrer

    Répondre à ce message

  • 1

    Bonjour,

    Je recherche actuellement une fonctionnalité similaire, mais j’aimerai pouvoir extraire les groupes d’un annuaire ldap. Envisagez vous de proposer une telle extension à moyen terme ?

    Cordialement,

    • Pour l’instant nous n’avons pas envisagé l’utilisation d’un ldap pour la gestion des groupes. A priori ça pourra éventuellement faire l’objet d’un complément lorsque la version en plugin pour SPIP 1.9 sera sortie mais y’a rien de certain...

    Répondre à ce message

  • 1

    Bonjour,

    Je suis en train de mettre en place le site d’un collège sous spip 1.9.

    Votre contrib m’intéresse donc au plus haut point mais n’est pas encore opérationnelle pour 1.9.

    -  Avez-vous une estimation de la date de sortie du plugin 1.9 ? Si ce n’est pas trop loin (1 à 2 mois), il me suffira d’attendre.
    Si ça prend plus de temps :
    -  votre contrib est-elle adaptable sur 1.9 sans trop de difficulté ?
    -  vaut-il mieux chercher une autre solution en attendant ?

    Merci encore pour votre travail et d’avance pour votre réponse.

    Fabrice

    • Avez-vous une estimation de la date de sortie du plugin 1.9 ?

      à priori on va essayer de sortir la version plugin pour SPIP 1.9 courant septembre (mais ça reste sans garantie !)

    Répondre à ce message

  • Alors là, génialissime ! Il ne manquait plus que cette boucle « de protection » ! Bravo à Coyote et cy_altern pour l’une des plus importantes contrib’ pour SPIP.

    Cela fait un petit moment que je teste la version précédente de la contrib’ avec une version 1.8.3 de SPIP et il ne me manquait plus que cette boucle pour gérer mon « usine à gaz ».

    Encore merci à vous 2 !

    P.S. : bon courage pour une migration vers SPIP 1.9 ;-)

    Répondre à ce message

  • 3

    quid de l’évolution de cette contrib vers spip 1.9
    -  suppression des fichiers .php3

    • C’est en cours...

    • Cette contrib est super : bravo ! Je l’ai même testée avec la 1.9 en migrant ma 1.8.2 et ... ça marche sauf le module d’administration accegroupes_admin.php3 !

      J’attends donc impatiemment le plugin parce que le public Accès restreint actuel il est vraiment trop restreint dans ses fonctionnalités : s’il faut être loggé sur l’espace privé pour voir les rubriques protégées de l’espace public, quel intérêt ?

       ;-))

    • C’est en cours ... une estimation de la date peut-être ?
      Courant Juillet serait trop optimiste ?
      Merci et encore bravo.

    Répondre à ce message

  • 1

    Merci d’abord pour cette contrib vraiment pratique
    Je n’ai pas eu de problèmes à la mettre en place, mais il doit y avoir un truc qui m’échappe.
    J’utilise spip 1.8.3 pour gérer un site de département de la Fac, des profs, des lecteurs et des étudiants, à part moi tout le monde a le statut de rédacteur.
    Pour l’instant je ne vois pas beaucoup de différence entre un groupe prof (rédacteurs) par exemple à qui je donne le statut d’admin dans certains groupes, je m’explique, je voudrais qu’ils puissent publier, modifier des contenus dans les rubriques dédiées :
    Mais si je ne donne pas le statut admin spip, ils ne peuvent pas le faire.

    Est-ce que j’ai raté une marche ?

    Sinon j’ai traduit le fichier accesgroupes_de.php3 en allemand comme l’indique le suffixe, je le mettrai bien dispo si on me dit où.

    A part cela j’ai des problèmes plutôt cosmétiques, j’utilise des scelettes bones_kubrick un clone du fameux thème de wordpress, et j’ai beau déplacer le code du contrôle d’accès dans rubrique.html, je n’arrive pas à obtenir la page entière (voir sur le lien du site en cliquant sur la rubrique cours licence 1 par exemple), il n’y a que l’entête et ensuite le fond gris du thème.

    Dans article.html c’est pire, il n’y a que le fond gris et le tableau d’identification tout en haut. (cliquer sur rss articles et prendre le premier venu.

    Mais bon c’est un détail, car l’identification fonctionne quand même.

    Si quelqu’un a une piste, je suis preneur,

    merci

    Martin

    • la version 0.7 est sortie : elle utilise une BOUCLE à la place du php dans les squelettes : ça devrait permettre de résoudre ton problème

    Répondre à ce message

  • 2

    bonjour,
    une possibilité d’amélioration :
    l’utilisation de la variable id_groupe n’est pas judicieuse car il s’agit d’un critère réservé par spip pour l’utilisation de groupes de mots-cles.
    Cela pose des problèmes lorsqu’on veut faire une boucle sur les tables rajoutées pour trouver quels sont les auteurs d’un groupe restreint...
    j’ai pour ma part simplement changé le id_groupe par un id_grpacces (identifiant du groupe d’acces) et ça fonctionne super.
    Cela m’a permis d’avoir un groupe dedié dont je peux lister les membres :-)

    Répondre à ce message

  • 1

    Bonjour,
    Tout d’abord félicitation à l’auteur, cette contrib est vraiment très utile.
    Cependant, un écueil subsiste pour ma part.
    Utilisant BioSPIP 4.0 pour mon site, j’ai bien effectué toutes les modifications préconisées dans le tuto (sauf le paramétrage de l’accès au serveur ftp/mysql dans un des fichiers de config).
    En espérant que l’erreur que je rencontre ne provienne pas de mon oubli cité ci-dessus, voici son libellé exact : « Fatal error : Call to undefined function : verif_acces() ». Elle survient dans tous les fichiers php3 qui ont été modifié et qui l’appelle.
    C’est assez problématique car plus rien n’est possible (navigation, rédaction d’articles, création de rubriques - je n’utilise pas de brèves).
    La fonction est bien présente dans le fichier mes_options-jpk.php3 mais je n’arrive pas à m’expliquer pourquoi son appel ne se réalise pas correctement.

    Merci d’avance de vos réponses éclairées.

    Répondre à ce message

  • Bonjour,

    Je débute sur SPIP (et PHP) et je voudrais créer un site avec accès public restreint.
    Votre contrib semble très interessante, mais il y a apparemment un décalage avec la version 1.9.
    Pouvez-vous m’aider SVP ?

    Merci d’avance.

    Répondre à ce message

  • Superbe contrib.

    Nous sommes en train de repenser le site internet de l’orchestre UT5 et j’essaye de démontrer que SPIP est l’outill contemporain indispensable pour cela. La question des droits d’auteurs et d’éditeurs pour les oeuvres musicales nous empèche de diffuser à tous des enregistrements et des partitions non officiels ou provisoirs. La solution de gestion de groupes proposée ici semble totalement adaptée et apporte une issue extrèmement élégante au problème de l’utilisation restreinte de documents. Je l’ai dors et déjà adoptée pour mon site perso.Merci

    Je découvre le php en même temps que j’essaye d’utiliser SPIP. J’ai adopté une légère variante par rapport à la solution proposée ici. Plutot que d’afficher la balise de refus de connection pour les personnes non enregistrées, je redirige vers un article SPIP dédié. Cela permet une gestion plus souple et mieux controlée des messages d’erreur.

    Encore Bavo

    Répondre à ce message

  • 1

    bonjour et d’abord merci pour cette contrib et tout le travail apporté par elle...mais j’ai ce qui pour moi est un big problème. Sur les rubriques en acces limité mettre une réponse sur le forum n’envoie pas de mail à l’auteur. Cà marche pour un autre site que j’ai avec spip sur le même hébergeur, çà marche sur ce site avec les rubriques publics mais aucun mail ni forum ni en cliquant sur l’auteur avec l’accès limité...avez vous une explication et une solution à me proposer...

    • désolé pour le dérangement, un accent qui trainait dans l’adresse du test...
      Donc merci votre contrib est super, juste si les admin restreints pouvaient ajouter tout seul des auteurs ou des visiteurs dans leur groupe sans voir la page complète, ce serait super.

    Répondre à ce message

  • 1

    j’ai mis en place cette contrib sur mon site et cela marche parfaitement bien.
    C’est le site d’une asso (www.cemea-haute-normandie.org)
    qui gère beaucoup de membres répartis sur une région, avec plusieurs statuts différents et deux espaces(privé et public) sur le site.
    cette contrib m’a sauvé la vie.
    je n’ai aucun bug(pourtant j’ai multiplié les contribs : spip 1.8.3, spip-liste, forum spip...)
    ça change pour une fois quelqu’un qui n’a pas de problème.
    toutefois et c’est l’objet de mon message, j’aimerai savoir s’il serait possible avec cette contrib de gérer les admnistrateurs restreints.
    en effet sur le site j’ai besoins d’avoir des admninistrateurs ne s’occupant que d’une rubrique (pour la validation des articles) mais qui doivent pouvoir accéder en lecture à toute la partie privé(celle de site protégée par mot de passe)
    est-ce possible et comment ?

    • Je l’ai aussi mise en place sans problème majeur (petits problèmes cosmétiques, voir autre message),

      la repartition des groupes est bien lisible,

      par contre je preds sur un autre tableau : dans la rubrique autheurs de l’espace privé les rédacteurs ne voient plus que les admins et pas les autres rédacteurs,

      pour l’instant le statut d’admin n’apporte rien de plus pour la gestion d’une rubrique, ils n’ont même pas accès à l’espace groupe, à moins que je leur donne le statut admin spip (création d’un nouvel auteur), ce qui ne m’avance pas parcequ’à ce moment-là ils peuvent tout faire comme moi :-)

      Peut-être y-a-t-il une astuce, mais j’ai fait plusieurs tests sans trouver la solution.

    Répondre à ce message

  • J’attendais cette contrib depuis longtemps. Elle est super.

    Je souhaiterais néanmoins pouvoir interroger les tables _jpk avec des boucles spip.

    La déclaration classique des tables dans mes_fonctions ne donne pas grand chose.

    Avez-vous une suggestion ?


    // Déclaration des tables JPK

    include (’ecrire/inc_serialbase.php3’) ;
    global $tables_principales ;

    $spip_jpk_groupes_acces = array(
    « id_groupe » => « bigint(21) »,
    « id_rubrique » => « bigint(21) »
    ) ;

    $spip_jpk_groupes_acces_key = array(« PRIMARY KEY » => « id_rubrique ») ;

    $spip_jpk_groupes_auteurs = array(
    « id_groupe » => « bigint(21) NOT NULL »,
    « id_auteur » => « bigint(21) NOT NULL »
    ) ;

    $spip_jpk_groupes_auteurs_key = array(
    « KEY id_groupe » => « id_groupe »,
    « KEY id_auteur » => « id_auteur »
    ) ;

    $tables_principales[’spip_jpk_groupes_acces’] = array(’field’ => &$spip_jpk_groupes_acces, ’key’ => &$spip_jpk_groupes_acces_key) ;
    $tables_principales[’spip_jpk_groupes_auteurs’] = array(’field’ => &$spip_jpk_groupes_auteurs, ’key’ => &$spip_jpk_groupes_auteurs_key) ;

    Répondre à ce message

  • 2

    slt,
    J’ai un petit bémol a tout ca :-(

    il me semble avoir tout fais correctement, mais j’ai une erreur du type :

    Parse error : parse error, unexpected ’}’ in /var/www/sdc/a/5/arc.am/inc-public.php3(60) : eval()’d code on line 219

    Sachant que j’ai protegé la rubrique 10 (par exemple), que la 11 est une filliation, j’ai ca :

    Parse error : parse error, unexpected ’}’ in /var/www/sdc/a/5/arc.am/inc-public.php3(60) : eval()’d code on line 219

    la meme erreur ?

    et que je n’ai pas d’erreur pour l’article inclus dedans !

    Voilà donc si vous pouviez m’aider,...

    • je corrige j’ai ajouté 2 fois la meme erreur :

      Parse error : parse error, unexpected ’}’ in /var/www/sdc/a/5/arc.am/inc-public.php3(60) : eval()’d code on line 224

      ET j’ai ca aussi :

      Erreur(s) dans le squelette

      erreur d’exécution de la page

      pourtant ca marche pour toutes les autres rubriques non protégées

    • Bon ben c’est encore du bruit, dsl,

      c’est bien les utilisateur qui s’auto-corrige ;-)

      suivant la vielle formule, j’ai voulu trop bien faire et j’avais une rubrique-10.html qui trainait !!!

      Ca marche, perci pour tout super pluggin, qui va nous servir...

      Bon continuation a tous

    Répondre à ce message

  • 1

    J’ai installé cette contrib sur spip 1.8.3

    et quand je tente de créer une rubrique ou un article, j’ai le message d’erreur suivant :

    Warning : Missing argument 2 for verif_acces() in /home/sdornano/www/infotec/ecrire/mes_options.php3 on line 7

    Est-ce que j’ai manqué une étape ou il y a t une incompatibiité avec spip 1.8.3

    cordialement et malgré la pb merci pour cette contrib fort utile

    • Je me réponds à moi-même, l’erreur était pour moi (confusion entre mes options_php3 et mes_options-jpk.php3).

      Donc cela fonctionne sous spip 1.8.3.

      Mais il reste un point pas clair pour moi dans le code de contrôle à l’intérieur des squelettes articles, rubriques, ...
      dans le fichier d’aide on a :
      $acces==1 et $acces==2
      et dans le fichier d’explication $acces==« bloquer »

      Est-ce possible de clarifier les valeurs que peuvent prendre la variable $acces

      Merci

    Répondre à ce message

  • 2

    Tout cela m’a l’air très intéressant.

    Ce que je n’ai pas compris : comment se présente une rubrique à accès réservé dans l’espace public ? Saisie d’un user et mot de passe pour y accèder ?

    Sur la démo cela m’a échappé...

    • Plusieurs cas se présentent :

      L’utilisateur ne s’est pas authentifié :
      la contrib demande un login et mot de passe.

      L’utilisateur s’est authentifié ET il ne fait pas partie d’un groupe autorisé :
      Un message d’avertissement apparait à la place de la rubrique, breve ou article.

    • Je viens de tester en réel et voilà ce que j’ai observé :

      Un admin restreint non déclaré dans le groupe G1 a quand même accès à une rubrique restreinte au groupe G1. Est-ce normal ?

      Sinon c’est effectivement pas mal du tout cette contrib..
       ;-)

    Répondre à ce message

  • 2

    Bonjour à vous,

    Merci pour cette contrib qui marche parfaitement. Pour le site intranet de mon entreprise, je l’utilise pour limiter l’accès des rubriques dans l’espace privé selon le groupe d’utilisateurs auquel appartient un rédacteur. Par contre, je désirerais que le contenu de l’ensemble des rubriques de chacun des groupes (un groupe par service de l’entreprise) soit visible pour tous dans l’espace public. La restriction d’accès des rubriques dans l’espace privé n’ayant pour but que d’empêcher une erreur des rédacteurs comme la modification ou la publication d’articles dans la rubrique appartenant à un autre service.

    Comment faire pour ne restreindre les rubriques uniquement dans l’espace privé ? Existe t-il une simple modification faisable dans les nouveaux scripts ?

    Merci d’avance pour votre aide ;-)

    • Pour ne pas limiter les accès dans la partie publique, il suffit de ne pas modifier les squelettes « article », « rubrique » et « brève »...

    • Merci de ton aide,
      ça marche parfaitement !
      En fait j’avais déjà essayé cette modification mais je n’avais pas vidé le cache...

    Répondre à ce message

  • 1

    Bonjour,

    Merci et bravo pour cette superbe contrib. Envisagez-vous transformer celle-ci en plug-ins pour SPIP 1.9 ? Sinon sera-t-elle compatible avec cette version ?

    Pierre

    Répondre à ce message

  • depuis le temps que je l’attends celle la ... mais qu’est ce que vous faisiez ? failli etre en retard en plus ...

    alors je l’installe et je doute forcément ! les premiers jets c’est souvent pas terrible ... ô Surprise tout se passe bien, ô merveille ça marche, ô miracle c’est entièrement compatible avec spip liste !

    ET en plus c’est beau propre et soigné un travail d’orfevre a n’en pas douter.
    chapeau bas !!!!!!

    c’est le bonheur !
    c’est que du bon !

    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