
Note : certaines de ces propositions sont en cours d’intégration dans la version SVN. Plus d’infos d’ici peu.
Afin de répondre à certains besoins personnels, j’ai apporté quelques modifications au plugin Accès Restreint de Cédric Morin.
La documentation du plugin d’origine est disponible sur Spip-Contrib.
Les modifications apportées sont les suivantes :
Les modifications ont été effectuées sur la version du 27 février 2007 du plugin Accès Restreint disponible sur sur Spip-Zone. Dans le code, toutes les modifications sont précédées du commentaire //JL ou //MODIF JL.
Il suffit de télécharger le fichier zip ci-dessous et de copier son contenu dans le répertoire plugins.
ATTENTION : le plugin modifié ne doit pas être activé en même temps que le plugin original, sinon il y aura conflit.
Le plugin modifié utilise les mêmes tables que le plugin original. Si vous passez du plugin original au plugin modifié, ou l’inverse, vous conserverez les noms et descriptions des différentes zones, les affectations des auteurs aux différentes zones. Par contre, vous devrez redéfinir les droits de toutes les zones.
Les droits sont définis séparément pour la partie publique et l’espace privé.
Les rubriques accessibles sont affichées sur fond coloré, les rubriques inaccessibles (car restreintes par d’autres zones) sont affichées en gris.
Héritage des droits
Dans l’exemple ci-dessus, en donnant accès au secteur Atelier de lecture, les sous-rubriques Archives internes au groupe et Travail en cours héritent des droits de la rubrique parente car elles ne sont pas restreintes directement dans une autre zone. La rubrique Règles éditoriales demeure inaccessible parce qu’une autre zone la restreint explicitement (dans le plugin original, malgré cette définition explicite par une autre zone, la sous-rubrique serait devenue accessible). Si l’on souhaite élargir la zone en cours à cette rubrique, il faut alors cocher directement la case de cette zone.
Si les modifications ont été affichées sur Spip-Contrib c’est entre autres pour en informer l’auteur. S’il pense que certaines des modifications doivent être intégrées dans son plugin, je les commiterai sur la zone.
Mais il me semble préférable d’en discuter au préalable avec lui plutôt que d’aller commiter directement sur son travail, dans la mesure où ça modifie certains aspects du plugin.
Vousd utilisez quelles versions de Spip ? Pour informations, les modifications présentées ici n’ont été testées qu’avec la version 1.9.1.
D’autre part, la version modifiée du plugin accès restreint ne doit surtout pas être activée en même temps que le plugin original.
Enfin, une fois les rubriques cochées pour la restriction sur le site public (ne pas cofondre avec l’espace privé), vous devez cliquer sur Enregistrer.
J’utilise SPIP 1.9.2a [8878] | BliP 2.4
Mon hébergeur est Hebergement-discount et je pense en effet que le problème est chez eux.
Une solution possible mais non testée consisterait à remplacer les JOIN par INNER JOIN dans inc/acces_restreint.php la commande JOIN n’étant pas acceptée par certains serveurs SQL. (Source de cette solution http://www.spip-contrib.net/Le-plug...).
Cela reste bien entenu à vérifier
Merci pour la solution, ca fonctionne parfaitement :
« ... il faut modifier le script acces_restreint_1_9/inc/acces_restreint.php en remplacant tous les JOIN par des INNER JOIN (3 occurences). ... »
Une erreur s’est gliséée dans mon message précédent.
Le plugin modifié n’a été testé qu’avec SPIP 1.9.2.
D’autre part, il semble que le plugin Accès Restreint fonctionne difficilement chez certains hébergeurs (voir le forum sur Spip-Contrib)
Bonjour Joseph
Votre plugin fonctionne très bien. mais j’aimerais que, si on n’est pas identifié et qu’on appelle une page réservée aux adhérents, on n’ait pas une page blanche, mais un message d’avertissement ou bien un retour vers le login. est-ce possible ?
Merci beaucoup
Elisabeth
ps : je n’arrive pas à charger spip contrib, il y avait peut-être la réponse.
La réponse se situe en effet sur Spip-Contrib.
Certains jours, le serveur de SPIP-Contrib rencontre quelques difficultés. Il faut donc être patient.
Cordialement
Re bonjour
Je suis allée voir là : http://www.spip-contrib.net/Gestion-propre-des-erreurs-404
puis là : http://www.spip-contrib.net/article664.html
Et dans les deux cas je ne comprends rien de rien !!! Le premier article parle de créer un squelette plan.html, et dit ensuite « on se retrouve avec deux fichiers, plan.html, et plan.php3 ». C’est quoi ce plan .php3 ? On l’obtient comment ? On le met où ? J’ai décroché là. En plus, je veux pas aller au plan, mais à une page de login.
Le deuxième article parle d’un fichier mes_fonctions.php3 ; c’est quoi, ça ? Faut le créer ? où ça ? Et après, il parle de fichiers -dist.html ? Quid est ? A quoi ça sert ? je n’ai pas eu besoin de ces trucs, jusqu’ici.
ça me désole ces tutos qui considèrent qu’on est déjà au niveau 2752 de spip !!!
je suis pas débile et j’apprends vite mais là j’ai décroché.
Y’a t-il un tuto compréhensible quelque part ?
si vous pouviez maider... désolée de vous embêter...
Elisabeth
Alors, vous avez lu a priori des anciennes contributions portant sur des versions de SPIP antérieures à la 1.9.
La page que je vous conseille de lire est celle portant sur le plugin Accès Restreint http://www.spip-contrib.net/Le-plug....
Techniquement parlant, si je prends le cas d’un article, votre squelette article doit posséder une boucle article_principal du type id_article> qui affiche son contenu si on a accès à l’article en question.
Ce que l’on va faire, c’est modifier l’affichage si cette boucle ne renvoie rien (le code avant /B_article_principal>.
Dans la partie à afficher si la boucle ne renvoie aucun résultat (soit pas d’article existant soit article non accessible), vous pouvez faire une boucle id_articletout_voir>
L’ajout du critère tout_voir supprime la restriction aux articles non restreints. Autrement dit, s’il s’agit d’un article restreint, cette boucle renverra bien un résultat. Dans ce cas, dans cette boucle, vous affichez #LOGIN_PUBLIC pour afficher un formulaire de connexion. Si jamais l’id_article ne correspond à rien, alors cette seconde boucle sera vide. Faites alors un affichage avant le /B_article_restreint> du type : « Il n’y a pas d’article à cette adresse ».
J’espère avoir été assez clair (je présuppose que vous connaissez la syntaxe des boucles).
Cordialement
Bon, après beaucoup de difficultés, j’y suis arrivée !!! En fait je n’utilise pas login_public puisque qu’il y a la noisette de connexion sur toutes mes pages.
Je me contente d’écrire :
{<BOUCLE_accesrestreint(ARTICLES){id_article}{tout_voir}>
<b>Désolé-e !<br>Vous ne pouvez accéder à cette page<br>si vous n'êtes pas identifié-e !!!!</b>
</BOUCLE_accesrestreint>}La phrase apparaît alors sur une page normale, avec en haut, la noisette de connexion.
MAIS ce que j’ai eu du mal à comprendre c’est ça ne marchait pas tant que cette boucle était à l’intérieur d’une autre boucle ! Il fallait donc qu’elles soit toute seule après toutes les autres boucles, il n’y a plus de tag fermant après et là ça marche bien. C’est cela qui n’était pas clair dans le tuto... (et puis donner le code complet !!!)
Par contre j’ai un petit calque qui affiche les autres articles de la rubrique ; là il apparait quand même, vide évidemment, mais avec le titre « dans la même rubrique ». Y’a moyen d’enlever ça si l’article est masqué ?
Enfin ce n’est pas bien grave, tant que le reste fonctionne !!!
Merci !! Le reste, maintenant, n’est que petites fioritures (normalement).
zab
Bonsoir Joseph !!
Encore moi.
J’ai deux questions :
1/ boucle acces restreint.
d’une part, avec ma boucle toute bête
<BOUCLE_accesrestreint(ARTICLES){id_article}{tout_voir}>
<b>Désolé-e !<br>Vous ne pouvez accéder à cette page<br>si vous n'êtes pas identifié-e !!!!</b>
</BOUCLE_accesrestreint>, il se passe ceci :
2/ Je n’ai pas eu de réponse sur le forum à propos du nouveau plugin acces restreint « de synthèse », ce n’était peut-être pas l’endroit, mais je suis toujours ennuyée par l’impossibilité de pouvoir choisir, ou que ce soit automatqiue, de transférer dans un dossier sécurisé les docs et images attachés à des articles en espace adhérents. Il y a un plugin qui sécurise le dossier IMG mais il le prend dans sa totalité ! J’aimerais un IMG et un IMG_private.
Bien à toi
Elisabeth
1/ Si tu la mets après tout autre boucle c’est normale qu’elle apparaisse y compris pour les personnes connectées. Dans ce cas là, tu peux tester si la personne est connectée avec un peu de php :
<?php if ($auteur_session) { ?>
texte si la personne est connectée
<?php } else {?>
texte si la personne n'est pas connectée
<?php } ?>
2/ Quand tu dis la mettre juste après la dernière balise, est-ce bien entre et /B_article_principal> ?
3/ La page sur la V2 consiste en une réflexion sur les évolutions de ce plugin mais pas directement sur sa codification pour le moment. Il faudra effectivement s’occuper de cette sécurité mais à moins que tu ne la codes toi même il te faudra être patiente.
Tu peux avoir éventuellement une solution temporaire avec le plugin DW2. Cependant, la restriction que propose ce plugin repose sur les statuts SPIP. Autrement dit, si tu n’as qu’un esapce adhérent sur ton site et que tous tes adhérents sont rédacteurs (et pas d’autres) ou tous visiteirs (mais pas d’autres visteurs) alors cela peut être une solution.
Pour plus de sécurité, tu peux créer un fichier .htaccess dans tes répertoires IMG/pdf, IMG/doc etc. qui empéchera l’accès direct à un document via son URL mais qui autorisera le script dw2_out à lire les documents. pour cela je te renvoie au SAD de ce plugin.
Cordialement
Bonjour,
« Pour plus de sécurité, tu peux créer un fichier .htaccess dans tes répertoires IMG/pdf, IMG/doc etc. qui empêchera l’accès direct à un document via son URL mais qui autorisera le script dw2_out à lire les documents. pour cela je te renvoie au SAD de ce plugin. »
Cette fonctionalité m’intéresse, mais je n’ai pas compris comment faire ? Il faut mettre un fichier .htaccess dans ces répertoires, mais avec quelles instructions ?
Merci d’avance, Fabien.
Je désirerai intégrer ce plugin qui est formidable mais ne pas mettre de mot de passe pour les différents utilisateurs du site public du site. juste un identifiant.
Comment puis-je ? j’ai l’impression que SPIP oblige l’emploi d’un mot de passe ....
En effet, le système d’identification de SPIP ne permet pas de créer un individu sans mot de passe. Le mot de passe est obligatoire.
Le plugin Accès Restreint utilisant l’identification de SPIP, il n’est donc pas possible de faire autrement.
Cordialement
Bonjour,
Juste pour signaler un bug ... Quand on veut créer plus de 10 zones en acces restreint .... le plugin n’affiche que 10 zones et propose un systeme de pagination pour voire les 10 autres zones .... sauf que le systeme de pagination ne fonctionne pas et le plugin ne propose que les 10 premieres zone en visuel !!!
Cordialement
Le bug est effectivement présent dans cette version modifiée du plugin et a été corrigé depuis dans le plugin original.
Je rappelle que cette version modifiée est un plugin de développement et n’est donc pas maintenu. Une partie des fonctionnalités de ce plugin de développement ont été intégrées dans le plugin officiel et d’autres fonctionnalités feront leur apparition dans accès restreint V2 en cours de développement (voir les discussions à ce sujet sur spip-contrib et sur la liste spip-zone).
Cordialement
Re-bonjour,
Une fois mes zones crées ... quand je séléctionne en cochant les cases qui vont bien mes rubriques et que je clique sur enregistrer .. les cases se décochent toutes et toutes mes séléctions sont perdues ... dans le plugin original je n ai pas ce comportement !!
Que se passe t il ?
Quelle version de SPIP utilisez-vous ? Est-ce à la création de la zone uniquement ou bien également quand vous modifiez une zone déjà crée ?
NB : je rappelle qu’il s’agit ici d’un plugin de développement non maintenu. Il doit donc être utilisé avec prudence. Un projet de plugin accès restreint V2 est actuellement en cours.
Cordialement
J utilise spip v 1.9.2 ... Le proble se produit non pas quand je crée une zone (la zone se crée sans probléme) mais une fois la zone crée , on me propose de cocher des rubriques à restreindre ... je coche donc les rubriques ... je clique sur enregistrer et là .. c’est le drame .. tout se décoche
?
Merci d’avance
Et puis quand je crée plus de 10 zones .. je ne peux que voir les 10 premiéres ..
ahhh personnellement je l’utilise sur un spip 1.9.2 sans aucun problème de ce coté là.
Pour le bug des zones, c du à un bug dans le code. Il est possible de le corriger très rapidement (mais pas très proprement) en ouvrant le fichier exec/acces_restreint.php.
Recherche le code ci-dessous :
if ($cpt) {
$result = spip_query("SELECT $select FROM $from$join$where$group$order LIMIT $deb_aff, $nb_aff");
et remplacer le par
if ($cpt) {
$result = spip_query("SELECT $select FROM $from$join$where$group$order");
Cela vous affichera l’ensemble des zones sans limiter aux 10 premières.
NB : ce n’est pas une modif propre car vous verrez toujours les liens de pagination alors qu’ils seront devenu inutiles.
Bonjour.
J’ai un gros probleme. J’ai installe le plugin et depuis ma partie publique ne fonctionne plus. Page blanche pour tous les articles et toutes les rubriques.
J’ai desinstalle le plugin et supprime le repertoire du plugin et meme les bases de donnees du plugin mais l’erreur persiste.
help help
merci
Comme indiqué, cette version était une proposition vis à vis du développement d’accès restreint. Elle n’a donc pas été mise à jour depuis.
Avez-vous essayé la version « officielle » du plugin accès restreint (disponible sur Spip-Contrib) ? Cette version est-elle plus rapide ?
par ailleurs, votre site est-il de très grande taille ?
Cordialement,
Salut,
J’ai bien créé le dossier plugins dans le dossier racine de spip (a cote des dossiers « ecrire », « dist », etc..) mais une fois dans mon espace privée dans la configuration du site je ne vois rien, je ne sais vraiment pas comment faire pour installer ce plugin.
Pour info j’utilise spip 1.9.2.
je vous serais reconnaissante, si vous me guider quand à l’installation.
Je m’excuse aussi pour demande une aide aussi simple et pour votre temps.
Merci d’avance pour votre aide.
Bon travail.
Bonjour, Merci pour ce plugin.
Merci pour un coup de main.
Philippe (http://www.golfdemachilly.com/spip/)
Si j’ai bien compris, vous avez un secteur Administrateur accessible uniquement aux admins que ce soit pour l’espace public ou privé. De plus, vous avez un secteur Membre accessible aux membres uniquement pour le coté publique. La question à se poser est de savoir qui a accès, coté privé, à ce secteur.
La subtilité de cette version modifiée c’est qu’en autorisant certain à avoir accès à un secteur, on supprime alors l’accès aux autres (je sais c’est un peu tordu).
Si vous autorisez vos administrateurs à accédez au secteur membres à la fois pour le public et le privé, mais que vous n’autorisez vos membres à ne visualiser ce secteur que pour le public, alors vos membres auront bien accès au secteur membre coté public, mais n’auront pas accès à ce secteur coté privé (ce secteur étant verouillé car on y a défini un accès pour un autre groupe).
En espérant ne pas avoir été trop confus...
Pour créer un nouvel utilisateur, vous devez créer un nouvel auteur (statut à votre choix) dans l’interface privée de SPIP. Pour ajouter un formulaire d’identification, vous devez modifier vos squelettes et utiliser la balise #LOGIN_PUBLIC.
Par ailleurs, je vous rappelle que cette version modifiée du plugin n’est pas maintenue. Elle est ici à des fins d’archivage concernant les discussions sur les évolutions de ce plugin.
Je vous renvoie donc au plugin officiel et sa documentation : http://www.spip-contrib.net/Le-plug....
Bien cordialement
Bonjour,
et d’abord merci pour ces modif. qui je l’espere me permettrons de sécuriser un espace rapidement.
alors mes petits soucis, j’ai l’impression qu’il on déjà eut une réponse. lorsque je coche les cases qui m’interesse pour restreindre un espace public ou privé, les croix disparessent à l’enregistrement. j’ai la derniere version de spip. et j’ai déjà tenté la modif sur exec/acces_restreint.php sans succès. que dire help, j’ai vraiment besoin de ce plugin qui a l’ai top !
Bonjour,
la version modifiée du plugin accès restreint proposée ici portait sur la version de SPIP disponible il y a plus d’un an. SPIP a subit plusieurs modifications depuis et cette version du plugin n’est probablement plus compatible.
Par ailleurs, il s’agit ici d’une version test de développement afin de faire avancer le débat sur ce plugin. Le plugin Accès restreint a depuis subi de nombreuses modifications et améliorations.
Je vous invite donc a utilisé la version officielle et stable de ce plugin disponible sur Spip-Contrib.
Si vous continuez à rencontrer des problèmes avec la dernière version de ce plugin, je vous invite alors à utiliser le forum de Spip-Contrib ou bien la liste des utilisateurs de SPIP où vous trouverez des réponses à vos questions.
Bien cordialement,