cipr : plugin « Prévisualisation étendue »

Ce plugin « cipr : Prévisualisation étendue » permet de naviguer sur le site en prévisualisation, entre articles et rubriques, sur la page d’accueil, etc.

Ce plugin de prévisualisation étendue permet de :
-  naviguer en prévisualisation entre articles et rubriques, sur la page d’accueil, etc.
-  prévisualiser une rubrique avec ses articles publiés et ses articles non publiés ;
-  prévisualiser les articles qui ont le statut « en cours de rédaction » (SPIP permet de prévisualiser uniquement les articles qui ont le statut « proposé à l’évaluation »). A noter que si l’auteur est restreint à certaines rubriques, il ne pourra pas prévisualiser les articles « en cours de rédaction » des autres rubriques ;
-  diminuer le temps de traitement des pages en prévisualisation et réduire le nombre de requêtes SQL nécessaires.

Techniquement, ce plugin utilise un cookie (pour propager le mode prévisualisation), un marqueur de cache et une fonction dans la clause where des requêtes. Cette approche permet de laisser la page dans le cache de premier niveau de SPIP, et d’éviter ainsi de recompiler le squelette à chaque fois.

Ce plugin peut s’utiliser avec n’importe quel squelette.

Compatibilité

CIPR version 2.4 est compatible avec SPIP 2.1, SPIP 3.0, 3.1, 3.2, 4.0, 4.1.
CIPR version 2.4 est compatible avec PHP 5 et PHP 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1.

Il ne surcharge aucune fonction et utilise uniquement des pipelines. Il ne présente donc pas d’incompatibilité particulière vis-à-vis d’autres plugins.

Installation

Le plugin « Prévisualisation étendue » s’installe comme tous les plugins, cf. http://www.spip.net/fr_article3396.html

Lors de la désinstallation du plugin, il convient de vider le cache de SPIP. Un message l’indiquera en cas d’oubli.

Paramétrage

Le plugin ne nécessite pas de paramétrage.

Toutefois, dans la configuration de SPIP, il convient de s’assurer que la prévisualisation est autorisée aux administrateurs voire aux rédacteurs.

Illustration

Pour entrer dans le mode « prévisualisation », il suffit de cliquer sur le bouton [Prévisualiser] dans la page de saisie d’un article.

On obtient par exemple l’écran suivant en prévisualisant l’article puis en cliquant sur sa rubrique :

On peut alors cliquer sur la page d’accueil tout en restant en mode prévisualisation.

Pour sortir du mode prévisualisation :

-  soit on entre dans l’espace privé ;

-  soit on ferme le navigateur ;

-  soit on clique sur la croix rouge à droite du logo de prévisualisation :

La version du 27/03/2018 apporte la compatibilité avec SPIP 3.2 et la compatibilité (sous SPIP 3.2) avec PHP 7.0 et 7.1.

La version du 22/06/2021 apporte la compatibilité avec PHP 7.2, 7.3 et 7.4.

La version 2.4 du 15/06/2022 apporte la compatibilité avec PHP 8.0 et 8.1, ainsi que la compatibilité avec SPIP 4.1

Discussion

10 discussions

  • 10

    Est-ce que tu pourrais mettre ce plugin ainsi que les autres que tu as fait sur la Zone (et dans archives.txt) afin qu’ils soient installables via SVP et la liste des plugins en dépôt ?

    Où si tu ne peux pas le faire, est-ce que tu vois une objection à ce que ça soit fait ?

    • Ces plugins ne sont volontairement pas sur la zone et ne doivent pas l’être.

    • Bonjour,

      Pour quelle raison ?

      De mon côté, j’aurais besoin qu’ils soient sur la Zone pour pouvoir les installer via SVN (et éventuellement, comme ça arrive avec beaucoup de plugins que j’utilise, apporter une amélioration ou une autre, entre autre au niveau validité W3C).

      Par ailleurs, chaque dossier peut avoir un fichier _REGLE_DE_COMMIT (cf https://zone.spip.net/trac/spip-zone/browser/spip-zone/_REGLES_DE_COMMIT) qui sert précisément à régler les cas particuliers de contributions.

    • Toute modification d’un plugin est susceptible d’impacter sa fiabilité, sa sécurité, ses performances, etc.

      Les plugins Giseh (le plugin CIPR en fait partie) ont fait l’objet :
      -  d’une batterie de tests pour s’assurer de leur fiabilité,
      -  de tests d’intrusion (pour l’aspect sécurité),
      -  de tests de charge (pour l’aspect performance),
      -  etc.

      C’est pour ces raisons que les plugins Giseh ne sont volontairement pas sur la zone et ne doivent pas l’être.

      Remarque : S’il y a un problème relatif au W3C ou autre, il convient de le signaler.

    • Bonjour,

      Merci pour cette réponse.

      Je comprends les impératifs sécurité/performance/fiabilité.
      Et je trouve super de venir partager ici tous ces plugins, avec leur documentations !

      Mais le choix de ne les distribuer qu’en .zip empêche leur installation par recherche dans SVP et prive du mécanisme d’installation automatique par des plugins.
      En conséquence, ça me freine dans l’envie de les utiliser parce que ça implique de surveiller chaque plugin individuellement pour savoir s’il a eu une mise à jour (au lieu d’être prévenu par SVP).

      J’aurais une suggestion/solution : mettre tous tes plugins sur GitHub ou autre forge fournissant un accès externe en lecture SVN (où tu serais le seul commiteur) et utiliser le mécanisme des externals de la zone : https://zone.spip.net/trac/spip-zone/browser/spip-zone/archivelist_externals.txt

      Comme ça, tes plugins seraient sur la Zone en lecture seule.
      Et ils seraient disponibles via SVP (https://plugins.spip.net/spip.php?page=depots indique : https://files.spip.net/externals/archives_externals.xml)

      PS : je donnais l’exemple de conformité W3C parce que c’est du vécu avec des plugins installables par SVP/SVN. En pratique, je ne regarde un plugin dans l’idée de l’utiliser de manière régulière que s’il est sur la Zone.

    • Si je peux me permettre, je pense que la solution de RealET serait vraiment la meilleure. Cela te permettra de continuer avec tes règles de fonctionnement tout en permettant une meilleur intégration dans l’écosystème/le déploiement de SPIP.

      En plus avec cela, tu pourrais aussi profiter de la possibilité de gens de faire des pull request tout en restant maitre de la version officielle du plugin.

    • J’y vais aussi de mon +1 pour la mise en ligne sur un dépôt (github/gitlab ou autre).

      Ça me semble vraiment important pour le reste des contributeurs.trices : même si le dépôt est modéré, ça permet de suivre les évolutions du code, faire des mises à jour facilement, proposer des corrections, etc. Il y a déjà des plugins hébergés ailleurs qui n’acceptent des contributions qu’en PR, et ça ne pose aucun problème.

      Et comme le soulignent les autres, une fois référencé dans les externals ça permet aux utilisateurs.trices de les découvrir et les installer plus facilement.

    • Je pense que les fonctionnalités du plugin CIPR devraient figurer dans SPIP.

    • Je suis d’accord avec ça, mais c’est peut-être un peu hors sujet, non ?

      Si ce n’est que si ce plugins (et les autres) étaient sur GitHub pour suivre les devs et en external sur la Zone pour les distribuer, leur visibilité serait déjà bien plus grande.

    • Une demande d’évolution de SPIP a d’ailleurs été déposée sur ce sujet en 2015 : https://core.spip.net/issues/3586

    • Peut-être que la licence CC-NC est imcompatible avec une intégration dans SPIP ?

    Répondre à ce message

  • Et tant qu’on y est :

    • impossible d’installer tes plugins via SVP par une recherche (il faut utiliser l’URL du zip)
    • et donc, impossible de faire un plugin qui <necessite> un des tiens et qui puisse s’installer automatiquement avec SVP

    Ça prive donc plein de monde de les utiliser plus.

    Répondre à ce message

  • 1

    Sous SPIP 3.0, la prévisualisation d’un article en cours de rédaction n’est possible que par les auteurs de l’article.
    Sous SPIP 2.1, la prévisualisation d’un article en cours de
    rédaction était possible, même en n’étant pas auteur de l’article.

    Répondre à ce message

  • 3

    Bonjour

    Je suis en SPIP 3.022

    Le bouton Prévisualiser n’apparaît pas pour les articles en cours de rédaction.
    Et il semble y avoir une incompatibilité d’affichage (css ?) avec la barre étendu en partie publique.

    • Bonjour,
      A l’adresse suivante https://core.spip.net/issues/2013#note-31, on peut lire que concernant SPIP 3 :
      1/ les rédacteurs peuvent maintenant prévisualiser leurs articles en cours de rédaction
      2/ les articles en cours de rédaction ne sont pas visible par les autres auteurs, y compris les admins, y compris dans l’espace privé. C’est un choix historique de SPIP pour permettre à chaque auteur de se sentir libre d’entamer une rédaction sans contrainte et sans avoir à se dire « attention il y a peut-être quelqu’un qui me lit ».

    • 2/ Pourtant sur mes sites, un admin peut voir les articles en cours de rédaction et même visualiser dans l’espace privé.

    • Le présent forum est consacré au plugin CIPR et non pas à SPIP 3.0.

    Répondre à ce message

  • 1

    Pour mémoire et pour faire suite à mon message d’avant-hier, je n’ai pas réussi à résoudre le problème d’incompatibilité avec le plugin CIPR.

    Par contre, j’ai trouvé un correctif (https://core.spip.net/projects/spip/repository/revisions/21539) qui permet de remédier à l’absence de prévisualisation en mode « en cours de rédaction » (pour les administrateurs et/ou les rédacteurs).

    Cordialement,
    GV.

    • Bonjour

      Merci pour le lien. Mais je ne vois pas ce qu’il faut faire. Faut-il introduire un «  ! » avec le « in_array » ?

      J’ai résolu le problème en ajoutant « return true » juste après
      if (in_array($opt[$champ].« /auteur »,$previsu))

    Répondre à ce message

  • 3

    Bonjour,
    Je n’arrive pas à faire fonctionner CIPR car il est classé comme plugin incompatible.
    Je suis sous SPIP 3.0.17 avec Sarka-Spip
    Cordialement

    • Bonjour,
      J’utilise CIPR version 2.0.0 sous SPIP 3.0.22 sans problème. Par ailleurs, SPIP 3.0.22 ne le considère pas comme incompatible.
      Quelle est la version de CIPR utilisée avec Sarka-Spip ?

    • Bonjour,
      J’utilise la version qui est en ligne ici sur contrib.spip.net (cipr_150721.zip), à savoir la version 2.0.0.
      Merci pour votre réponse.

    • J’ai fixé (dans le fichier paquet.xml) la compatibilité avec SPIP 3.0 au minimum à la version 3.0.19. En effet, la version 3.0.19 de SPIP comprend un correctif important concernant la prévisualisation :

      r21539 | (mar. 09 sept. 2014) | Fix #2013 : le filtrage /auteur du statut de previsu introduit par r21500 n'etait pas pris en compte dans autoriser_previsualiser_dist() ce qui ne rendait plus visible le lien de prévisu sur les articles en cours de rédaction.

      C’est pour cela que le plugin est classé comme incompatible par SPIP 3.0.17.

      Je recommande d’utiliser la dernière version de SPIP 3.0 (actuellement SPIP 3.0.22). C’est d’ailleurs important en termes de sécurité.

    Répondre à ce message

  • 4

    J’ai un problème avec ce plugin et les fichiers XML :

    Même en ayant déclaré que le squelette était de type XML

    [(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})]

    Il ajoute à la fin du fichier du HTML qui le rend illisible ensuite

    <div class="spip-previsu"><img src='prive/images/naviguer-site.png'
    alt="Pr&eacute;visualisation"  />&nbsp;<span style='text-transform: uppercase;'>Pr&eacute;visualisation</span><a href="/spip.php?page=mon_squelette&cipreview=non" style="text-decoration:none;"><img alt="Retour" src="prive/images/supprimer.gif" style="border:none;"></div>
    • Bonjour,

      Merci de m’indiquer si la nouvelle version (cipr_110922.zip), que je viens de déposer, règle ce problème.

    • Bonjour et merci pour la rapidité !

      En revanche, cela ne fonctionne pas mieux, j’ai toujours le code HTML à la suite de mon XML... Pour info, je suis sur un SPIP 2.0.15

    • Si je comprends bien, la demande ne porte pas sur la compatibilité XML du code ajouté par la prévisualisation, mais sur la suppression de ce code dans le cas d’un fichier XML.
      Je viens de déposer une nouvelle version (cipr_110922b.zip), qui n’ajoute pas le code si le contenu de la page commence par "<?xml ".

    • Merci ça marche nickel désormais :)

    Répondre à ce message

  • 2

    [spip 2.1.2] La petite croix rouge n’apparaît pas sur la vignette « PRÉVISUALISATION ».
    Je note aussi que, sans même le plugin, elle n’apparaît pas non plus dans le cas d’un article publié. Quelque chose a changé ? ou est-ce une mauvaise utilisation de ma part ?

    • Equipement

      Je n’arrive pas à reproduire le problème (en utilisant la même version de SPIP : 2.1.2). A noter que la croix rouge apparaît uniquement si le plugin « Prévisualisation étendue » est activé.

    • Le problème se manisfeste si l’image du bandeau haut du site n’est pas en arrière plan.

      Pour les boutons d’administration (« Recalculer cette page », « Espace privé », ...) SPIP utilise dans sa feuille de style spip_admin.css, pour la classe « spip-admin-float », l’attribut « z-index:100 » afin d’éviter qu’ils passent derrière l’image de bandeau haut.

      En revanche, dans sa feuille de style spip_admin.css, pour la classe « spip-previsu », SPIP n’utilise pas l’attribut « z-index ». Aussi, le bouton de prévisualisation s’affiche derrière le bandeau.

      Le problème provient donc de la feuille de style spip_admin.css de SPIP.

      La nouvelle version 1.2 du plugin CIPR, jointe au présent article, contourne ce problème.

    Répondre à ce message

  • 9

    re Bonjour et merci.

    Je suis sous SPIP 2.1.1.

    Cdlt,

    cb79

    • Equipement

      Le plugin fonctionne très bien sur des sites sous SPIP 2.1.1.

      Le message d’erreur apparaît-il en essayant de configurer le plugin avec CFG ?

    • Le message apparait quand je clique sur les petits outils dans la liste des plugins.

      Le plugin n’apparait pas dans CFG.

      Etrange, non ?

    • Une image par moment vaut mieux qu’une explication (cf PJ)

    • Equipement

      De quels « petits outils » s’agit-il ?

      Sur un SPIP 2.1.1 standard je n’ai pas d’outils dans la liste des plugins (même en activant cfg version 1.12.5).

      Le plugin ne nécessite pas de paramétrage, aussi il est normal qu’il n’apparaisse pas dans CFG.

    • Nos réponses se sont croisées (voir PJ).

      Comment puis-je voir si l’outil est bien installé ?

    • Equipement

      Ces petits outils sont visiblement ceux du plugin CFG. Le message d’erreur est donc généré par le plugin CFG (dont la version utilisée ne tient visiblement pas compte du fait qu’un plugin peut ne pas être configurable).

      Pour vérifier que le plugin CIPR fonctionne, il y a plusieurs méthodes.

      Une première méthode simple consiste à se placer, dans l’espace privé, sur une rubrique publiée et de vérifier si deux boutons « Voir en ligne » et « Prévisualiser » s’affichent.

    • J’ai effectivement ces 2 boutons, pas fait gaffe et ca m’avait pas sauté aux yeux.

      Par contre, la preview ne tient pas compte de l’habillage du site.

      Normal ? Comment y remédier ?

      Cdlt,

      Cédric

    • Equipement

      La prévisualisation tient compte de l’habillage du site. Le problème doit provenir d’une autre cause.

    • Merci grandement pour ces précisions.

      Je vais chercher et reviens vers la communauté si je trouve le pourquoi du comment.

      Bonne fin de journée et bon week end mérité ;)

      Cordialement,

      cb79

    Répondre à ce message

  • 1

    Bonjour,

    J’ai un souci avec l’install de ce plugin. Spip le reconnait bien mais quand je veux le configurer, Spip me met : « Fichier configurer_cipr introuvable ». Y a un truc particulier à faire ?
    En FTP, j’ai eu quelques erreurs comme :
    Directory /applis/apache2/htdocs/spip/plugins/auto/cipr_100922/cipr/base : no such file or directory

    C’est connu ou bien ca vient de chez moi ?

    Cdlt,

    cb79

    • Equipement

      Bonjour,

      Comme cela est indiqué dans le présent article, le plugin ne nécessite pas de paramétrage.
      Il n’y a donc pas de fichier de configuration (configurer_cipr).

      Cordialement

    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.

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

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