Temps de lecture

Le plugin temps de lecture calcule et affiche le temps de lecture d’un texte.

Afficher le temps de lecture d’un texte.

Le plugin temps de lecture nécessite le plugin querypath ainsi que le plugin saisies.

Prérequis pour automatiser l’affichage

Les squelettes HTML qui affichent la page d’un article doivent inclure un « content/article.html » comme par exemple #INCLURE{fond=content/article,id_article} dans une boucle article et avoir une class css .texte pour le div contenant le texte.

Si vous utilisez le plugin Zcore le plugin Temps de lecture intègre d’office la page « content/article » avec son div.texte ou sinon récupère le 1er répertoire de votre configuration personnelle des z_blocs de l’array $GLOBALS['z_blocs'] qui pourrait par exemple être main ou contenu.
En ajoutant le plugin compositions, vous pouvez affiner l’insertion du temps de lecture sur certaines pages d’articles, même si la composition d’un article est de type content/article-votre_composition.

Sinon, pour vous passer de ces prérequis, inscrivez le filtre directement dans votre squelette sur la balise #TEXTE (voir Méthode 2).

Deux méthodes possibles

Le plugin propose 2 méthodes pour afficher le temps de lecture :

- Méthode 1

Rien à faire : sauf à respecter les prérequis et activer le plugin qui insère automatiquement le bloc “temps de lecture” sur toutes les pages articles :

temps de lecture
  • vous pouvez configurer la class (par defaut div.texte) devant laquelle s’insère le bloc “temps de lecture” ;
  • et configurer les pages article ayant une composition pour ne pas y afficher le bloc “temps de lecture”.

- Méthode 2

Inscrivez le code d’exemple suivant dans le squelette de votre choix
[Temps de lecture estimé : (#TEXTE|temps_lecture_texte) mn]
dans ce cas pensez à décocher l’insertion automatique dans la configuration.
La fonction du filtre renvoie en chiffre le nombre de minutes pour lire un texte.

Surcharges possibles

Pour modifier le texte vous pouvez créer un fichier lang/temps_lecture_fr.php dans votre repertoire de plugin ou de squelettes et inscrire la nouvelle chaine en respectant le code @temps_lecture@ le code original en français se présente comme ci :

'temps_lecture_estimation' => 'Temps de lecture estimé : @temps_lecture@ mn',

et vous pourriez vouloir le modifier comme ça :

'temps_lecture_estimation' => '@temps_lecture@ minutes pour tout lire !',

Pour modifier le rendu de l’affichage, créez un fichier css/temps_lecture.css dans votre repertoire de plugin ou de squelettes.

Todo

Intégrer différents scripts js au choix dans la config tel le défilement de la page pour le temps de lecture.

Avertissement concernant le forum de cet article

Etant donné la discussion qui a sévit un temps sur ce forum concernant un caractère qui serait digne de la fin du monde, le prochain post concernant ce sujet sera soumis à la communauté pour faire cesser tout harcèlement. Le SAD (Service Après Don) n’est pas là pour servir de défouloir.

Discussion

9 discussions

  • 5

    Bonsoir
    Sous Spip 4.2.7, PHP 8.2.7, avec Temps de lecture 1.3.3

    Depuis peu : sans doute depuis la mise à jour vers la version 1.3.3 de temps de lecture, accompagnée de la mise à jour de Query Path, j’ai l’affichage d’un avertissement qui disparaît quand je désactive Temps de lecture.
    Cet avertissement s’affiche en page publique à la triple condition :
    1. Que je sois logué
    2. Que l’article contienne une image SVG incluse via la balise <emb>
    3. Que l’image contienne des données dans les titles : c’est une carte choroplèthe avec des données qui s’affichent au survol de la souris.

    1. Si je me délogue, l’avertissement disparaît.
    2. Si j’inclus l’image via la balise <doc>, l’avertissement disparaît (mais les titles ne sont plus accessibles).
    3. Si j’inclus l’image via la balise <emb>, mais que cette image n’a pas de title avec contenu, l’avertissement disparaît.

    L’avertissement dit : « Memory error, increase pcre.backtrack_limit in php.ini »

    Je confirme : « avant », je n’avais pas cet avertissement.

    Une idée ?
    Un exemple de svg pour faire un essai : https://47.snuipp.fr/IMG/svg/academies-carte_sco_2024.svg

    • Bonsoir,
      merci de ton message
      Oups, EDIT
      En désactivant querypath et temps de lecture le problème persiste-t-il ?

      -  C’est normal que certaines erreurs n’apparaissent pas en environnement de production, notamment si tu n’es pas logée, tu es simple internaute et ces signalisations ne vont pas trop t"intéresser :)

    • Helem, peux-tu essayer la Méthode 2 uniquement sur la balise #TEXTE et me dire si ça résout le souci ?

      Sinon, il faut croire que les inclusions font buguer le décompte des caractères, à approfondir !

      J’ai ouvert un ticket ici https://git.spip.net/spip-contrib-extensions/temps_lecture/issues/3

    • Merci de t’être intéressée à cette question.
      Je ne l’avais pas précisé, mais c’est bien par la « Méthode 2 » que j’affiche le temps de lecture.
      Je viens de modifier l’appel en ne laissant que la balise #TEXTE (en enlevant chapo, notes, post-scriptum) mais cela ne change rien : l’avertissement est toujours là.

      Mais...
      Il est probable que le pb vienne en premier lieu de mon fichier svg.
      Je viens de le passer à la moulinette de l’optimisation (en conservant bien les title) dans https://www.svgviewer.dev/. Le fichier perd la moitié de son poids, et ne provoque plus l’avertissement signalé précédemment.
      Je prendrai le temps d’une optimisation pas à pas de ce fichier pour chercher ce qui est précisément en jeu.
      Ce fichier est juste fabriqué depuis LibreOffice : c’est peut-être l’export LibreOffice qui est en cause.

      Merci.

    • Bonjour,
      merci de tes éclaircissements.
      Il n’empêche, je pense que le plugin ne devrait pas traiter les raccourcis SPIP comme une inclusion de documents img ou svg.
      D’ici à ce que je modifie le plugin, pour demander à SPIP de ne pas traiter le texte, tu peux ajouter simplement une astérisque, comme ceci

      [Temps de lecture estimé : (#TEXTE*|temps_lecture_texte) min]

      Je n’ai pas testé mais ça devrait passer pour tout type de SVG

    • Effectivement avec « texte étoilé » c’est OK.

    Répondre à ce message

  • Bonsoir
    Avec Spip 3.2.13 ou Spip 4.0.4 et Temps de lecture 1.2.5

    Pb particulier qui se produit sous double condition :
    1. Dans le squelette des articles, l’affichage du temps de lecture est fait ainsi :

    [Lecture (#TEXTE|temps_lecture_texte|plus{[(#NOTES|temps_lecture_texte)]}|plus{[(#CHAPO|temps_lecture_texte)]}|plus{[(#PS|temps_lecture_texte)]}) min ]

    2. Quand un article comporte un appel de note depuis le CHAPO.

    Alors, la note est comme « doublée » : bien qu’elle soit la première dans l’article, sa numérotation est « 2 ». Dans le bloc des notes, elle apparaît deux fois.

    Si, dans l’affichage du temps de lecture, j’enlève «|plus{[(#CHAPO|temps_lecture_texte)]}», l’affichage des notes n’est plus bugué.

    C’est curieux, non ?

    Répondre à ce message

  • 1

    Bonjour
    Juste pour signaler que ce plugin est compatible avec Spip 4.0.0 après avoir changé les bornes dans le fichier paquet.xml :

    - dans <paquet> : compatibilite="[3.2.4;4.0.*]"
    - et aussi : <necessite nom="saisies" compatibilite="[3.36.2;4.*.*]" />

    Répondre à ce message

  • 6
    Benoît Labourdette

    Excellente idée que ce plugin !
    Deux questions :
    1. Pour l’installation, il demande le plugin Querypath >2, mais je ne trouve ce plugin qu’en version 1.2. Donc, je n’ai pas réussi à installer « Temps de lecture ».
    2. Est-il possible d’obtenir le temps de lecture de #TEXTE + #PS ? Car parfois les PS peuvent être longs ! ;-)
    Merci beaucoup !

    • Bonjour,
      oui ces idées d’amélioration sont excellentes, je vais voir ce que je peux faire.
      En attendant de résoudre le souci de Querypath, voici le lieu où télécharger sa dernière version
      https://git.spip.net/spip-contrib-extensions/querypath

    • Pour compiler des temps de lecture, pour le moment, il faut utiliser la fonction |plus en filtre sur les balises

      [Temps de lecture estimé : (#TEXTE|temps_lecture_texte|plus{[(#PS|temps_lecture_texte)]}) mn]
    • Benoît Labourdette

      Mille mercis !!!

    • Pour l’affichage automatique, tu peux désormais configurer les champs à compiler (voir image) sinon ce sera uniquement le champ texte sur lequel sera calculé le temps de lecture.

    • Benoît Labourdette

      C’est super ! Et le plugin Querypath est maintenant directement disponible en version 2. Ca marche parfaitement pour moi.

    • Plugin simple et efficace.
      Pour info, j’ai intégré le code dans le squelette, et ça marche bien, alors même que j’avais oublié de décocher la case « Afficher automatiquement le temps de lecture » et que je n’ai pas de style « texte ».
      Y a-t’il un mécanisme qui prend le pas quand le squelette a un code (et qui ne serait pas indiqué dans cette page) ?
      Par ailleurs, à moins de 250 signes je n’ai rien qui apparaît alors que j’aurais attendu une minute.

      PS : et du coup, pour celleux qui préfèreraient indiquer minute-s en entier je propose ce petit bout de code qui fait affaire... ;)

      	[(#PLUGIN{TEMPS_LECTURE}|oui)
      	[(#SET {temps,[(#TEXTE|temps_lecture_texte)]})]
      	[Temps de lecture estim&eacute;&nbsp;:&nbsp; (#TEXTE|temps_lecture_texte) [(#GET{temps}|singulier_ou_pluriel{minute, minutes})]]
      	]

    Répondre à ce message

  • 1

    bonsoir
    ce plugin est très utile, mais je n’arrive pas à le faire fonctionner
    environnement SPIP 3.1.11 [24407] avec Sarka-SPIP Reloaded 4.5.10
    si j’active en automatique, il sort une erreur 404 et zcore ne trouve plus l’article
    si je l’ajoute dans le squelette, j’ai une erreur « filtre inconnu »...
     ???
    merci d’avance d’une piste

    meilleurs voeux spipien pour 2021

    Répondre à ce message

  • Bonjour,

    Une remarque concernant la méthode 2 : pour ne pas afficher les notes de bas de page en double, il faut écrire :

    [Temps de lecture estimé : (#TEXTE|temps_lecture_texte) minute[(#NOTES|?{'',''})]]

    Répondre à ce message

  • 1

    Bonjour,

    Ce plugin est bien utile, merci d’y avoir pensé.

    J’ai l’impression que le filtre ne renvoi plus rien et l’affichage du temps de lecture ne s’affiche plus avec SPIP 3.2.8 dans les articles.
    J’ai installé un environnement neuf 3.2.8 avec seulement ce plugin et les associés en local et ça ne s’affiche pas non plus.

    J’ai bien conscience que le plugin est en ’dev’ mais s’il y a effectivement un bug, qu’il ne s’agit pas d’une erreur de ma part, et qu’il n’a pas encore été remonté, c’est chose faite :)

    Encore merci ;)

    • Bonsoir,
      contente que ça puisse servir.
      Sur un SPIP 3.8 je ne reproduis pas ce problème.
      Est-ce que tu as une URL et quelle méthode a été appliquée ?
      ++
      touti

    Répondre à ce message

  • 12

    Très bien, mais il faut impérativement corriger le symbole de la minute, qui est « min » et non pas le « mn » indiqué sur cette page.

    Oui, la SNCF se trompe, ce n’est certes pas une raison pour l’imiter,

    Merci

    • Benoît Labourdette

      Tu es sûr ? J’ai cherché, justement. Le décret du 23 décembre 1975 aurait été modifié ? Peut-être, mais je ne trouve pas trace d’un décret ultérieur à ce sujet.
      https://www.legifrance.gouv.fr/jo_pdf.do?numJO=0&dateJO=19751223&pageDebut=13216&pageFin=&pageCourante=13222

    • Oui, ce décret confirme bien que min est le symbole de la minute. Par ailleurs on le lit aussi sur wikipedia, notamment, et dans tous les pays du Monde on emploie min.

      En fait il n’y a que la SNCF, Air France et les compagnies d’autoroutes françaises qui emploient ce symbole aberrant. Rien à faire pour changer cela, c’est ahurissant. Il y a aussi bon nombre de recettes de cuisine sur internet qui emploient le symbole erroné.

    • Benoît Labourdette

      Oui, tu as raison ! (j’avais compris à l’envers ton premier post !) C’est pourquoi dans mon usage, j’ai mis « min » et non « mn », en utilisant le plugin en mode « manuel » dans les squelettes :

      [Temps de lecture : (#TEXTE|temps_lecture_texte|plus{[(#PS|temps_lecture_texte)]}) min ]<i class="fas fa-clock"></i>

      PS : et puis le caractère Font Awesome pour afficher la petite montre.

    • Bon, alors nous sommes d’accord, c’est une bonne chose. Sur cette page, j’ai vu en plusieurs endroits écrit de travers, alors je m’inquiétais. Si le squelette par défaut marque bien « min », alors c’est parfait.

    • Ah, j’ai un doute, au sujet de l’auteur de ce plugin. Je crains que l’auteur soit « touti » et non pas Benoît, et qu’il ait bel et bien mis « mn » au lieu de « min » dans le plugin. Je voudrais bien qu’il accuse réception du message, et qu’il corrige son plugin, si nécessaire.

    • Benoît Labourdette

      En effet, je ne suis pas l’auteur du plugin, juste un utilisateur admiratif !

    • Oui, alors le problème n’est pas du tout résolu. SI l’auteur ne modifie pas son plugin au plus vite, alors une fois encore nous verrons cette erreur amplement distribuée, comme un virus. Franchement on n’a pas besoin de ça ! Au secours !

    • Bonjour Maniette,
      très contente que ce plugin vous plaise.
      La communauté SPIP a certaines règles d’usage qui lui sont chères, aussi
      dès que j’en ai le temps, je prendrais en considération votre remarque concernant l’écriture des minutes. J’en profite pour vous demander de bien vouloir utiliser l’écriture inclusive, ce qui permet de prendre en considération le fait qu’il y a des femmes qui font du développement.
      Salutations
      touti

    • Je ne comprends pas bien. Le symbole de la minute est min et pas autre chose. Il est donc nécessaire de corriger le bug sur cette page, pour éviter qu’il se propage, et c’est la raison pour laquelle j’ai mis un commentaire. Merci bien de votre attention.

      Pourquoi vous exprimez-vous au conditionnel ? (je « prendrais » ! ) Je ne comprend pas vraiment, le futur est ici mieux indiqué. Merci.

      Yves Maniette

    • Re Bonjour Maniette,
      ahlala je vais devoir mettre le point sur le i que vous me réclamez pourtant à corps et à crs en me harcelant sur ce forum pour que je le rajoute à mn
      je vous cite

      Ah, j’ai un doute, au sujet de l’auteur de ce plugin. Je crains que l’auteur soit « touti » et non pas Benoît, et qu’il ait bel et bien mis « mn » au lieu de « min » dans le plugin. Je voudrais bien qu’il accuse réception du message, et qu’il corrige son plugin, si nécessaire.

      Votre i n’est donc pas vraiment le même que le mien et mon I est de vous réclamer le fait de corriger votre écriture masculine par de l’inclusive.
      Salutations

    • Bonjour,

      Loin de moi l’idée de harceler qui que ce soit. Je rappelle simplement une règle. Merci de ne pas chercher midi à quatorze heures.

      https://www.bipm.org/utils/common/pdf/si_brochure_8_en.pdf

      Voir notamment page 122.

      Yves Maniette

    Répondre à ce message

  • 2

    @touti, en ce qui concerne l’écriture inclusive, c’est peut-être un bug de l’UI vu que la page https://contrib.spip.net/ ne lie de manière visible à aucun document qui suggère son utilisation et que les documents qui sont liés à partir de https://contrib.spip.net/ecrire/ ne font pas référence à cette préférence non plus.

    Il serait peut-être bien d’avoir des références visibles dès https://contrib.spip.net/ (beaucoup de personnes, quel que soit leur genre ne sont pas habituées aux différentes syntaxes existantes) et éventuellement un rappel par ex, justement juste à côté de « Ajouter un commentaire ».

    En ce qui concerne « min », effectivement, il est préférable de corriger dès que vous le pouvez. Merci d’avance !

    • Bonjour jchelary,
      nous ne sommes pas vraiment sur la même perspective mais je retiens votre bonne idée d’ajouter un rappel sur les forums bien que cela risque d’être peu lu.
      Car bien entendu il n’y a aucune obligation d’utiliser l’écriture inclusive par contre il y a nécessité à ne pas prendre les personnes qui font du développement pour exclusivement des hommes (en effaçant du coup les femmes) comme le suggère l’utilisation quasi systématique du masculin quand on s’adresse à un auteur ou une autrice sous pseudo.

      Ce n’est donc pas une question de loi mais de société et de responsabilité
      Bien à vous

      La seule référence est la charte SPIP
      https://www.spip.net/fr_article6431.html

    • NB
      Je vois que plusieurs personnes ce sont inscrites dernièrement sur le site uniquement pour me harceler sur un caractère qui ne leur convient pas.

      Je considère donc la discussion à ce sujet comme définitivement close.
      Les messages qui iraient à l’encontre de ma décision seront désormais refusés et les contrevenantes bloquées.

      Merci de cesser tout harcèlement.

    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