Accès Restreint Partiel

Voulez-vous masquer une partie du contenu de vos articles aux visiteurs de passage ? et réserver la totalité à certains de vos membres ? Voulez-vous remplacer le contenu occulté par un appel à l’action (pour devenir Membre, bla bla bla...) ?

Le plugin Accès Restreint Partiel permet d’afficher partiellement les articles faisant partie d’une zone à accès restreint. Il s’utilise en complément du plugin Accès Restreint.

Utilité et fonctionnalités du plugin

Ce plugin est utilisé en sur-couche du plugin Accès Restreint. Ce dernier permet de définir des zones à accès restreint et d’attribuer des droits d’accès aux visiteurs et rédacteurs. Sur ce dernier point cela ne change pas.

Alors quelles sont les différences ?
Avec le plugin Accès Restreint, tout le contenu est occulté. Et même plus, puisque les articles concernés ne sortent même plus des résultats des boucles, sauf si le visiteur possède les droits d’accès à la zone restreinte, bien évidemment.

Avec le plugin Accès Restreint Partiel, tous les articles sortent dans les résultats de la boucle, mais c’est le contenu affiché par la balise #TEXTE de l’article protégé qui sera partiellement occulté, en fonction des filtres que vous aurez sélectionnés et configurés.

Par exemple, il est possible d’afficher seulement N mots, un certain pourcentage de l’article, couper juste avant le Nième intertitre, rien du tout, etc.

Il est également possible de configurer ce qui doit être affiché avant et après un texte qui a subit un filtrage.

Pour voir ce que cela donne, voici un exemple avec un guide de construction partiellement occulté : https://cabane.bilp.fr/guide-constr...

I. Installation du plugin

Le plugin s’installe comme tout autre plugin. Cependant, le plugin Accès Restreint 3.x doit être préalablement installé. Les zone doivent aussi être définies.

Il faut ensuite passer à la configuration du plugin. Si vous omettez de le faire, tous les articles des zones restreintes seront listés mais le #TEXTE sera complètement occulté à l’affichage.

II. Définir les règles de filtrage

Les règles de filtrage indiquent comment on souhaite occulter le texte des articles.
Il est possible de configurer jusqu’à 8 règles de filtrage, à choisir parmi un choix de filtre.

On peut choisir la règle qui est appliquée par défaut. Ainsi on peut rapidement choisir une règle de filtrage pour l’ensemble du site, puis choisir une règle spécifique pour chaque zone, ou pour chaque article.

Pour chaque règle, on choisit un filtre et on indique les paramètres du filtre.
Le paramètre « Nombre de caractère minimum » n’est pas encore implémenté.

Dans l’exemple ci-dessous, la règle #2 consiste à filtrer 50% du texte :

Les filtres

Diminutif Description Paramètre xxx Remarque
arp_filtre_ncar Couper à xxx caractères Nombre de caractères à conserver dans l’article Les modéles, balises html, raccourcis typographiques, comptent pour 1 caractère
arp_filtre_pourcentage Ne conserver que xxx % de l’article Définit le % de caractères à afficher idem
arp_filtre_nintertitre Couper juste avant le xxx ième intertitre Exemple : si xxx=3, on affiche uniquement les 2 premiers intertitres avec leur texte Si xxx est supérieur au nombre d’intertitres présents dans l’article, alors tout l’article est affiché
arp_filtre_que_intertitre Ne laisser que les intertitres et remplacer le texte par xxx ATTENTION, pas encore implémenté
arp_filtre_tout Tout le texte est filtré (aucun affichage) non utilisé
arp_filtre_rien Rien n’est filtré, le texte est affiché tel que non utilisé Utile pour désactiver ponctuellement le filtrage partiel

III. Configurer chaque zone

Pour chaque zone, on peut indiquer la règle de filtrage à appliquer.

On peut également définir les textes AVANT et APRES : si le texte de l’article a subi un filtrage, il est possible d’insérer un bout de texte AVANT et APRES le texte de l’article.

On peut définir ces textes AVANT/APRES pour l’ensemble des zones par défaut. Mais on peut aussi le définir spécifiquement pour chaque zone. Dans ce cas, ce sont les textes spécifiques qui sont prioritaires sur les textes définis globalement.

Exemple de configuration d’une zone
On peut insérer des modèles et du HTML. Voir plus loin l’explication des modèles <liste_intertitre1> et <liste_doc1>

Les textes AVANT/APRES sont au standard typographique SPIP. On peut même ajouter des modèles, des balises HTML, etc.

Deux modèles pour donner envie

Voilà ce que cela donne

Occulter une partie du texte pour susciter la curiosité, c’est une chose. Mais dévoiler subtilement, c’est encore mieux.

Alors voici deux modèles à insérer dans les textes AVANT ou APRES.
-  <liste_intertitre> : liste tous les intertitres de l’article
-  <liste_doc> : liste tous les documents de l’article sous forme de mini-vignette non cliquables. Avec deux paramètres :

  • width : largeur de la vignette en px,
  • raz : nombre de vignette sur une seule ligne. Juste après la Nième(raz) vignette, un <br class='nettoyeur'> est inséré.

Définir des règles spécifiques à certains articles

Comme nous l’avons vu, on définit des règles de filtrage globalement pour tout le site, ou zone par zone.
Mais il est également possible d’agir localement au niveau d’un article. Par exemple, on peut choisir d’afficher 80% du texte pour tous les articles d’une zone donnée. Et pour un article précis de cette zone, on choisit de tout afficher.

Pour cela, il suffit de décider quelle règle à on souhaite affecter à un article, en lui attribuant un mot-clé de la forme arp_regle# ou # est le numéro de la règle.

Choisir précisément l’endroit de la coupe

Enfin, on peut être encore plus précis en choisissant l’endroit exact où on souhaite que le texte soit coupé. Il suffit d’insérer la balise <couper_ici> à l’endroit exact dans le texte.
Cette disposition est la plus prioritaire de toutes les règles.

Pour éviter de tourner en rond

Avant de crier à l’aide, je ne peux que vous encourager à lire la doc ci-dessus et à appliquer.
En particulier :
-  vous devez définir au moins règle, c’est-à-dire définir un filtrage.
-  vous devez définir au moins une zone en accès restreint.
-  vous devez indiquer quelle règle doit-être appliquée à cette zone, ou alors au moins déclarer la règle par défaut.

Discussion

13 discussions

  • Petite erreur dans la doc qui s’avère pénalisante pour les utilisateurs :
    Le nom du mot clé ne doit pas être « arp_regle# » mais « arp_regle_# » (avec un underscore).

    Répondre à ce message

  • 9

    Bonjour Bruno avez vous prévu un portage sur spip 4.0 ?
    Ou alors Est ce que vous pensez que ce serait difficile à adapter, pour quelqun qui aurait des connaissance en php ?

    • Bonjour Pipol

      Mon emploi du temps m’interdit de travailler sur cette migration à courte échéance. Mais il est certain que je le ferai si un jour je décide de passer à SPIP 4, et si personne d’autre ne le fait avant.

      Je connais mal les spécificités de SPIP 4. Pour le passage à SPIP 3, il n’y avait eu que le paquet XML à modifier. Très facile. Pour SPIP 4, il faut regarder les changements éventuels sur les pipelines, sur les traitements des tables.

      Je vais demander à un de mes collaborateurs d’y jeter un oeil.

    • Merci pour la réponse :)
      Si seulement j’étais capable de faire des plugin SPIP je l’uarai fit avec plaisir. hélas c’est pas mon domaine ^^. En espérant que ce soit aussi simple que le passage à Spip 3

    • Bonjour Pipol

      J’ai testé sur SPIP 4 en modifiant le paquet.xml et ça fonctionne. Je pense que c’est assez simple qu’avec le passage à Spip 3

    • Top ca va me rendre un grand service ! pourriez vous partager le paquet.xml ? Ou modifier l’archive ?

    • En attendant de modifier l’archive, voici le contenu du fichier paquet.xml. La seule différence est cette ligne :

      compatibilite="[3.0.9;4.0.*]"

      <paquet
      	prefix="arp"
      	categorie="edition"
      	version="1.2.0"
      	etat="dev"
      	compatibilite="[3.0.9;4.0.*]"
      	logo="prive/themes/spip/images/arp-64.png"
      	documentation="https://contrib.spip.net/Acces-Restreint-Partiel"
      	schema="1.0.0"
      >
      	<!--
      		Paquet genere le 2014-08-01 15:50:11
      		(Vous pouvez bien entendu supprimer ces commentaires)
      	-->
      
      	<nom>Accès Restreint Partiel</nom>
      
      	<!-- cette balise peut etre presente plusieurs fois s'il y a plusieurs auteurs -->
      	<auteur lien='https://www.bilp.fr/Bruno'>Bruno Caillard</auteur>
      
      	<licence>GNU/GPL</licence>
      
      	<necessite nom="accesrestreint" compatibilite="[3.3.1;]" />
      <!--
      	<pipeline nom="post_boucle" inclure="arp_pipelines.php" />
      	<pipeline nom="pre_propre" inclure="arp_pipelines.php" />
      -->
      
      	<pipeline nom="declarer_tables_interfaces" inclure="arp_pipelines.php" />
      	<pipeline nom="pre_boucle" inclure="arp_pipelines.php" />
      	<pipeline nom="insert_head_css" inclure="arp_pipelines.php" />
      
      	<pipeline nom="autoriser" inclure="arp_autorisations.php" />
      
      
      </paquet>
    • J’ai testé, j’ai réussit à activer le plugin. cela semble marcher, Cependant cela créer quand même une ptite erreur dans l’admin. Apparemment il y a un souci dans arp_pipeline.
      L’erreur evoque :
      Warning : Parameter 1 to arp_pre_boucle() expected to be a reference, value given in /www/ecrire/inc/utils.php on line 228

      D’apèrs des conseil sur irc
      Il semblerait qu’il faille corriger la ligne 27 de arp_pipeline. et remplacer
      function arp_pre_boucle(&$boucle)
      par
      function arp_pre_boucle($boucle)

    • Merci pour votre retour. Effectivement, il faudrait un passage par valeur de l’argument. On intégrera la solution.

    • Bonjour pipol, c’est fait. Vous pouvez mettre à jour.

    Répondre à ce message

  • Christophe

    Bonjour,

    la balise <couper_ici> qui est insérée entre 2 lignes d’un tableau, fonctionne bien pour les non connectés, car le tableau est coupé, cependant pour les personnes identifiées, cette balise est remplacée dans le code par <couper_ici></couper_ici> et cela produit donc 2 tableaux distincts.

    Serait-il possible de trouver une solution à cela ?

    Répondre à ce message

  • Oupsss... merci de supprimer mon précédent message, je me suis trompé de page.
    Désolé

    Répondre à ce message

  • 1
    Christophe Noisette

    Salut à tous et à toutes
    merci pour ce plugin qui devrait répondre à mes besoins... mais... je n’arrive pas à l’installer.
    J’ai crée une zone qui correspond à une rubrique et dedans il y a trois articles.
    J’ai mis une régle pour cette zone... mais si je tape l’adresse j’ai l’erreur suivante

    Erreur 401
    L’accès à cette page est restreint. Identifiez vous pour y accéder

    Or ce message est pour moi un résidu du temps ou je n’avais qu’acces restreint.
    Là si je vais sur la rubrique en question, je devrais avoir les titres des articles et si je clique sur un article n’avoir que X% du texte...
    Je ne sais comment résoudre ce conflit entre Acces Restreint et Acces Restreint Partiel.
    Merci pour vos lumières et pistes...
    Bonne journée
    Cordialement
    Christophe

    • Christophe Noisette

      Bonjour
      j’ai donc réussi finalement à faire ce que je souhaitais... enfin presque.
      Sur ma page galerie privée, si je tape n’importe quel login / mdp enregistré, j’ai accès à toutes les galeries privées alors que j’ai fait des zones distinctes avec des auteurices distinctes. Je ne comprends pas. Avez vous déjà rencontré ce souci ?
      Bonne journée
      Cordialement
      Christophe Noisette
      https://lairederien.net

    Répondre à ce message

  • 4

    Bonjour meci pour ce plugin. Pouvez-vous le marquer 3.2 compatible svp. Merci

    • Tu l’as testé sur une 3.2 et ça fonctionne ?

    • IVAN DE PRINS

      Je veux bien le tester, mais je ne peux pas l’installer. Spip refuse. Comment fait-on ?

    • J’ailerais bien le tester, mais impossible d’ajouter un plugin qui n’est pas 2.2 compatible. Comment fait-on ?

    • Il suffit de télécharger le zip du plugin, le décompresser et aller dans la branche la plus récente s’il y en a plusieurs. Là, éditer le fichier paquet.xml et remplacer la balise max par 3.2.* sans toucher au reste. Sauvegarder, uploader sur votre site dans /plugins et aller dans l’interface de gestion des plugins pour l’activer maintenant qu’il est déclaré compatible.

    Répondre à ce message

  • 1

    Je voudrais laisser aux rédacteur d’une rubrique le choix de filtrer, ou non, leurs articles.
    J’ai donc :
    installé les plugins accès restreint et accès restreint partiel
    configuré une zone restreinte
    inclus ma rubrique dans la zone restreinte pour la vue publique
    défini la règle Règle #1 : arp_filtre_rien[] comme règle générale au site
    ajouté le mot clé technique « arp_regle1 » à l’article (puis je l’ai enlevé car cela ne semble pas nécessaire)
    ajouté

    <couper_ici>

    à un endroit du texte d’un article de la rubrique

    Cela ne semble pas fonctionner : tout s’affiche

    J’ai vidé le cache, testé avec un autre navigateur sans succès.

    Donc je ne dois pas appliquer la bonne méthode..

    Répondre à ce message

  • 6

    Bonjour. Je suis un utilisateur enthousiaste de ce plugin depuis plus de 2 ans. Il est la base de l’interface avec les lecteurs de mon site, enregistrés ou non, élément important.
    Merci à Bruno !
    J’espère qu’il y a toujours une dynamique de développement et en tout cas de mise à jour.
    J’utilise SPIP 3.0.22, et je souhaite pouvoir passer en SPIP 3.1 (et peut-être 3.2 bientôt...), y a-t-il un espoir d’avoir cette année une version compatible.
    Merci d’avance.

    Je me pose d’ailleurs la question de l’entête de SPIP-Contrib sur ce plugin ( plugin en phase de test), qui semble dire qu’il n’est pas très fiable, ce qui n’encourage pas à l’utiliser. A partir de quand cet entête est-il supprimé sur la présentation d’un plugin ?

    • Bonjour Régis

      De mon côté, je n’ai pas encore planifié la migration vers SPIP3.1. Cela se fera probablement, mais je ne peux pas te dire quand.

    • Bonjour,

      Si vous avez un site de test, modifier le nécessite spip pour avoir 3.1.* dans la compatibilité et tester.

    • J’ai aussi désesperement vraiment besoin de ce plugin, mais je suis sur spip 3.1.7, que doit je modifier exactement pour pouvoir le tester ? J’ai changé la ligne « compatibilite= »[3.0.9 ;3.0.*]" dans le fichier paquet.xml, mais il continue de me montrer qu’il est incompatible. Que dois je faire ? Quelqu’un l’aurait deja testé sur spip 3.1 pour nous dire les resultats ?

    • En mettant [3.0.9 ;3.1.*[ cela donne quoi ?

    • Merci Pierre pour votre réponse rapide. En mettant : 3.0.9 ;3.1.* le plugin est toujours impossible à activer dans mon spip 3.1.7

    • En mettant 3.0.9 ;3.1.* le plugin ne peut toujours pas être activé dans le gestionnaire des plugins de spip 3.1.7. Spip me dit qu’il est incompatible

    Répondre à ce message

  • Christian

    Bonjour,

    je trouve ce plugin très intéressant.
    Je compte l’utiliser son mon site mais sera t il compatible pour 3.1 ?

    Meilleurs voeux de bonheur pour 2016

    Répondre à ce message

  • 1

    Bonjour,

    Je voudrais utiliser ce plugin très utile sur un site de presse avec certains articles disponibles uniquement pour les abonnés. Je me demande donc : ce plugin continue-t-il d’être développé ?
    (Je vois qu’il n’y a aucune discussion ici depuis près d’un an…)

    Je suis en train de le tester sur une distribution vierge et je galère avec :

    <liste_doc>

    J’insiste, il n’y a rien d’autre d’installé que l’indispensable pour le test, c à d les plugins « accès restreint » et « saisies », avec 2 rubriques dont une définie en accès restreint avec 2 articles :
    -  l’un avec un pdf (d’abord en doc joint puis intégré dans le texte, d’abord sans vignette puis avec…)
    -  l’autre avec 2 images (une intégrée dans le texte et l’autre dans le porte-folio)

    Je n’arrive pas à afficher les vignettes des documents, ni en collant ce raccourci « liste_doc » qui appelle le modèle dans le champ « avant » ni dans le champs « après » de la règle en question. Règle que j’ai appliqué à l’ensemble en demandant de couper après 150 caractères.

    Qu’est-ce qui m’échappe ici ? Ça fait 4 heures que je me prends la tête bien qu’à priori rien ne vient interférer. Je me dis alors que je n’ai pas saisi quelque chose de basique ??? Je colle simplement liste_doc dans le champs « après » de la règle choisie et appliquée, qui elle fonctionne bien, avec mon texte « lire la suite… bla bla » qui est bien pris en compte.
    J’ai testé dans après, au cas où les 150 caractères posaient problème bien que j’ai supposé que c’était 2 choses différentes et non-contradictoire.

    Merci de m’aider à aller plus loin :-)
    Cordialement,
    Karen

    • Bonjour

      OUI ce plugin est toujours actif. En tous cas, il l’est sur mes sites pour lesquels je l’ai développé initialement.

      Essayer de remplacer

      <liste_doc> 

      par

      <liste_doc1>

    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