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

Une discussion

  • 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

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