← Toute la documentation

Statistiques de lisibilité

Indique la difficulté de lecture d’un texte : le score Flesch Reading Ease, le niveau scolaire Flesch–Kincaid, un temps de lecture estimé, et les nombres de mots, de phrases et de syllabes sur lesquels ils reposent. Tout est calculé dans le navigateur ; aucun service ni aucune clé n’est nécessaire.

La boîte de dialogue Readability statistics au-dessus de l’éditeur, qui affiche Flesch Reading Ease 80.4 Easy (6th grade), Flesch-Kincaid Grade 5.3, Reading time 42 sec, Words 130, Sentences 10, Avg words per sentence 13, Avg syllables per word 1.34, Characters 605
La boîte de dialogue pour un article de 130 mots composé de phrases courtes et simples.

L’activer

La fonctionnalité correspond au plugin readabilitystats.js (également inclus dans plugins/all_plugins.js). Elle est active dès qu’il est chargé. La boîte de dialogue s’ouvre avec la commande readability ; il n’y a pas de bouton de barre d’outils : appelez donc la commande depuis votre propre bouton, ou laissez les utilisateurs taper "/readability" dans le menu "/" lorsque le plugin de commandes slash est chargé.

<link rel="stylesheet" href="/richtexteditor/rte_theme_default.css">
<script src="/richtexteditor/rte.js"></script>
<script src="/richtexteditor/plugins/readabilitystats.js"></script>

<div id="editor"><p>The station opened in 1911 and served the valley for sixty years.</p></div>
<button type="button" onclick="editor.execCommand('readability')">Readability</button>
<script>
var editor = new RichTextEditor("#editor", {
    readabilityWordsPerMinute: 200
});
</script>

Options

OptionValeur par défautCe qu’elle fait
readabilityStatstruefalse désactive le plugin : ni commande ni méthodes.
readabilityWordsPerMinute200Vitesse de lecture utilisée pour l’estimation du temps de lecture.

Depuis un script

editor.getReadabilityStats() mesure le document courant ; transmettez une chaîne pour mesurer celle-ci à la place. Pour l’article de l’image, la méthode a renvoyé :

{
  words: 130, sentences: 10, syllables: 174, characters: 605,
  avgWordsPerSentence: 13, avgSyllablesPerWord: 1.34,
  fleschReadingEase: 80.4, fleschKincaidGrade: 5.3,
  readingTimeMinutes: 0.7, readingTimeText: "39 sec",
  easeLabel: "Easy (6th grade)"
}

Utilisez-la pour afficher un score à côté de l’éditeur ou pour avertir avant la publication ; rien n’est modifié dans le document. editor.countSyllables(word) renvoie l’estimation du nombre de syllabes d’un mot.

Comment les chiffres sont calculés

  • Les mots correspondent au texte découpé sur les espaces. Les phrases sont des passages qui se terminent par ., ! ou ? ; un texte sans aucun de ces signes compte pour une phrase. Les caractères excluent les espaces.
  • Reading Ease = 206.835 − 1.015 × (mots par phrase) − 84.6 × (syllabes par mot). Grade = 0.39 × (mots par phrase) + 11.8 × (syllabes par mot) − 15.59, jamais en dessous de 0.
  • Le libellé suit les tranches de Flesch habituelles : 90 et plus "Very easy (5th grade)", 80 "Easy (6th grade)", 70 "Fairly easy (7th grade)", 60 "Standard (8–9th grade)", 50 "Fairly difficult (10–12th grade)", 30 "Difficult (college)", en dessous de 30 "Very difficult (college graduate)".

À savoir

  • Les formules et le compteur de syllabes sont prévus pour l’anglais. Le compteur ne regarde que les lettres a–z : pour les autres langues, et pour les mots accentués, les scores ont peu de sens.
  • Les syllabes sont estimées à partir des groupes de voyelles : certains mots sont donc décalés d’une unité (il compte 4 syllabes pour « timetables »).
  • Un titre ou un élément de liste sans point final est compté comme faisant partie de la phrase suivante. L’article de l’image comporte un titre et dix phrases, et le résultat est 10.
  • La boîte de dialogue arrondit le temps au dixième de minute avant de le convertir en secondes : il peut donc différer de readingTimeText — 42 sec dans la boîte de dialogue et "39 sec" avec la méthode pour le même texte.
  • Les libellés de la boîte de dialogue proviennent de clés de langue (text_readabilitytitle, text_rd_ease, text_rd_grade et les autres clés text_rd_*). Les valeurs easeLabel et readingTimeText renvoyées par la méthode sont toujours en anglais.

Voir aussi : démo du nombre de mots, démo d’aide à la rédaction, execCommand.